(57)【要約】【課題】  データ量を増やすことなく、鍵やハンマ等の位置情報として記述可能なストローク変位の範囲を拡張する。【解決手段】  鍵１３０あるいはハンマ１４２について、その移動状態を連続的に検出し、その検出出力に基づく位置情報を含む演奏情報を得る。位置情報は、レスト位置からエンド位置の範囲内での位置を前記第１の分解能で記述し、レスト位置若しくはエンド位置として規定された位置を越えたストローク位置（動作範囲外）を該第１の分解能よりも粗い第２の分解能で記述する。これにより、該動作範囲外のデータとして記述可能な範囲を、データ量を増やすことなく拡張することができる。【選択図】  図６
2005157287.tif 000002
【特許請求の範囲】
【請求項１】
演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手段と、
前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものを生成する演奏情報生成手段と
を備えることを特徴とする演奏情報生成装置。
【請求項２】
演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手段と、
前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものを生成する演奏情報生成手段と、
前記演奏情報生成手段により生成された演奏情報を記憶する記憶手段と
を備えることを特徴とする演奏情報記憶装置。
【請求項３】
操作者による演奏操作に応じて変位する移動部材と、
前記移動部材の移動状態を連続的に検出する検出手段と、
前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものを生成する演奏情報生成手段と
を含むことを特徴とする鍵盤楽器。
【請求項４】
前記移動状態を示すデータは、前記移動部材の移動状態を所定の記述分解能で表現した基本情報と、該基本情報の下位に従属し、前記所定の記述分解能に満たない前記移動状態の端数部分を細かい分解能で表現する拡張情報とから構成され、該拡張情報として、対応する前記基本情報から見て正方向の状態を表現した第１種の拡張情報、若しくは、該対応する基本情報から見て負方向の状態を表現した第２種の拡張情報の何れか一方を有することを特徴とする請求項１乃至３の何れかに記載の演奏情報生成装置又は演奏情報記録装置又は鍵盤楽器。
【請求項５】
演奏情報を生成するためにコンピュータによって実行されるプログラムであって、
演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手順と、
前記検出手順における検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものを生成する演奏情報生成手順と
を含むことを特徴とするプログラム。
【請求項６】
演奏情報を記録するためにコンピュータによって実行されるプログラムであって、
演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手順と、
前記検出手順における検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものを生成する演奏情報生成手順と、
前記演奏情報生成手順において生成された演奏情報を記憶する手順と
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばアコースティックピアノ等の鍵盤楽器における鍵やハンマ等の発音動作に連動する移動部材の、位置情報等の移動状態に関する情報を演奏情報として生成する装置、及び、該演奏情報を記録する装置に関する。
【背景技術】
【０００２】
演奏者によって行われた鍵盤楽器の演奏操作を表す演奏情報を生成或は記録する装置として、従来から、例えば下記特許文献１、特許文献２あるいは特許文献３に開示された装置等、種々の装置が知られるている。従来から知られるこの種の装置において、演奏情報は、例えば、ノートオン・ノートオフ情報、ピッチ情報やベロシティ情報などのパラメータを規定してなるＭＩＤＩ規格のフォーマットで生成、記録することが可能であった。
【特許文献１】特開昭５３‐１１２７１６号公報
【特許文献２】特開昭５８‐１５９２７９号公報
【特許文献３】特開昭５９‐８２６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また、例えば、アコースティックピアノのような鍵盤楽器等において、演奏者による演奏操作を表す情報として、鍵等の演奏操作子やあるいは、その他発音操作に連動する部材の位置情報（軌道情報）を生成、記録する装置が知られている。こうした軌道情報は、鍵等の移動部材のレスト位置（ハンマ、鍵、あるいはペダル等の移動部材がピアノに外力を加えない状態にある位置）からエンド位置（ハンマ、鍵、またはペダルあるいはペダル等の移動部材がストロークエンド状態にある位置）までのストローク位置の情報を生成、記録するものであった。
これら鍵やハンマ、ダンパ等の移動部材は、実際には、機械的なずれや撓み等によって、レスト位置からエンド位置の範囲を越えて変位しうる。鍵やハンマ、ダンパ等の移動部材の位置情報は、ピアノ調整時の内部測定情報としての用途や、無人演奏ピアノ等における再生用データとしての用途がある。そのため、鍵やハンマ等の移動部材の連続的な位置情報は、それをそのまま、すなわちレスト位置からエンド位置の範囲外のストローク変位をも含めて記録、再生したいという要望があった。しかしながら従来の装置では、そのような範囲外のストロークを表現した演奏情報を生成、記録することはできなかった。あるいは、従来の技術は、演奏情報によってそのような表現を行う意図乃至発想を有さなかった。
【０００４】
この発明は、鍵盤楽器において、鍵やハンマ等、発音動作に連動する移動部材における、例えば位置情報のような移動状態に関する情報を高精度且つ効率的に生成及び記録することを目的とするもので、詳しくは、情報として記述可能な前記移動部材のストローク変位の範囲を、データを効率的に利用しつつ、拡張することにある。
【課題を解決するための手段】
【０００５】
この発明は、演奏情報生成装置、演奏情報記録装置及び鍵盤楽器において、操作者による演奏操作に応じて変位する移動部材について、その移動状態を連続的に検出し、その検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報として、前記移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述されたものが生成されることを特徴とする。
【発明の効果】
【０００６】
これによれば、演奏情報に含まれる移動部材の移動状態を示すデータは、前記移動部材の所定の動作範囲内での状態を示すものが第１の分解能で記述され、前記移動部材の前記所定の動作範囲外での状態を示すデータが前記第１の分解能よりも粗い第２の分解能で記述される。例えば、移動状態を示すデータとして鍵やハンマ等の移動部材の位置情報を記述する際、レスト位置からエンド位置の範囲内での位置を前記第１の分解能で記述し、レスト位置若しくはエンド位置として規定された位置を越えたストローク位置を該第１の分解能よりも粗い第２の分解能で記述する。前記所定の動作範囲（レスト位置−エンド位置）外での状態を示すデータ（位置情報）を比較的粗い第２の分解能で記述することにより、当該動作範囲外のデータとして記述可能な移動部材の動作範囲を拡張することができる。従って、この発明によれば、データ量を格別に増加させることなく、より拡大された動作範囲での移動部材の移動状態を示すデータを得ることができる。よって、この発明によれば、鍵、ハンマ等のレスト位置からエンド位置の範囲外のストロークを表現した演奏情報を生成、記録することができる。
【発明を実施するための最良の形態】
【０００７】
以下添付図面を参照して、この発明の実施例について説明する。この実施例においては、演奏情報として、ピアノの鍵の位置情報とハンマの位置情報とを生成及び記録する例について説明するが、位置情報の生成及び記録対象となる部材はこれに限定されない。
【実施例１】
【０００８】
まず、この実施例に係る鍵盤楽器の機械的構成例について図１を参照して説明する。図１に示すように、鍵盤楽器（ピアノ）１００には、棚板１１０が具備されており、棚板１１０の上面には、紙面垂直方向に延在するよう筬中１２０が配置される。筬中１２０上面には複数のバランスピン１２５が立設されており、８８個の鍵１３０の各々は、各バランスピン１２５に対して貫通された状態で、筬中１２０上面に並設される。これらの各鍵１３０には、各々が担当する音高を示す「２１」〜「１０８」までのノート番号が割り当てられている。また、各鍵１３０は、バランスピン１２５に貫通された位置を、およその支点として揺動可能に保持されており、演奏者（操作者）によって鍵１３０の一端（前方近傍）が押下されることで、揺動する。演奏者は鍵１３０を押下げることによって演奏操作（押鍵）を行う。各鍵１３０の後方近傍には、対応する鍵１３０の揺動に応じて駆動されるアクション機構１４０が夫々設けられている。各アクション機構１４０は、対応する鍵の運動をハンマによる打弦運動に変換する装置であって、対応する鍵１３０に応じて「２１」〜「１０８」までのノート番号が割り当てられた８８個のハンマ１４２を含む。各ハンマ１４２は、演奏者による対応する鍵の押鍵操作に連動して、対応する弦１７０を打撃する。ハンマ１４２によって弦１７０が打撃されると、弦振動が生じ、その振動が、駒（図示しない）を介して響板（図示しない）に伝達することで、楽音が発生する。
【０００９】
図２は、鍵１３０及びその周辺機構を抽出して示す側面図であり、図３は、ハンマ１４２及びその周辺機構を抽出して示す側面図である。図２に示すように、鍵１３０は、非押鍵時（外力を加えない状態）では、図において実線で示すようなレスト位置に位置される。鍵１３０は、演奏者による押鍵操作によって一端（前方近傍）を押下げられることで、バランスピン１２５を凡その動作支点として揺動し、該レスト位置から鍵の揺動ストロークのエンド位置まで変位しうる。図２中の２点鎖線位置は、前記エンド位置まで押下げられた鍵１３０が占めるストローク位置を示す。当該実施例において、鍵１３０はレスト位置を基準にして約１０ｍｍのストローク幅で変位されるものとする。押鍵操作が解除されると、鍵１３０はレスト位置へ復帰する。なお、鍵１３０の前記ストロークの長さ（約１０ｍｍ）は、鍵の先端位置を基準に規定されたものとする。
【００１０】
図３において、ハンマ１４２は、ハンマウッド１４１を介してハンマシャンク１４３に保持されている。ハンマシャンク１４３は、ハンマフレンジ１４６においてピン１４４を支点として回動可能に取り付けされる。ハンマ１４２を保持するハンマシャンク１４３は、鍵１３０が非押鍵（外力を加えない状態）のときには、図において実線で示すようなレスト位置に位置される。演奏者による押鍵操作が行われると、これに連動して、ピン１４４を中心に反時計方向に回転し、ハンマ１４２は対応する弦１７０を打撃する。図３において２点鎖線位置は、ハンマ１４２が打撃すべき弦１７０に当接する位置を示し、この位置をハンマ１４２のストロークのエンド位置とする。当該実施例において、ハンマ１４２はレスト位置を基準にして約４８ｍｍのストローク幅で変位されるものとする。なおハンマ１４２のストロークの長さ（約４８ｍｍ）も、その先端位置を基準に規定されたものとする。
【００１１】
ところで、鍵１３０及びハンマ１４２は、厳密にレスト位置‐エンド位置間においてのみ変位するのではなく、実際には、機械的なズレや撓み、部材のへたばり等が要因となって、レスト位置及びエンド位置として規定した位置を超えて若干余分にストローク変位しうるものである。この発明に従えば、そのようなレスト位置及びエンド位置を超えたストローク位置も、鍵１３０及びハンマ１４２の位置情報として表現できることが後述の説明から明らかになるだろう。
【００１２】
当該鍵盤楽器１００において、複数の鍵１３０に夫々対応して、当該鍵のストローク位置を検出するためのキーセンサ３１０が具備されており、また、複数のハンマ１４２に夫々対応して、当該ハンマのストローク位置を検出するためのハンマセンサ４１０が具備されている。キーセンサ３１０及びハンマセンサ４１０は、一例として、受光素子と発光素子を含む光学式のセンサで構成される。光学式のセンサは、周知のように、発光素子が被検出部材に向けて光を照射し、受光素子にて該被検出部材からの反射光を受光し、その受光量に応じてセンサから該被検出部材までの距離を検出出力として得るものである。
【００１３】
図２に示すように、鍵１３０の上方にはキーセンサ３１０を支持するための支持部材３００が設けられている。各鍵１３０の上面には被検出部材１３５が配置されており、キーセンサ３１０は支持部材３００上において該被検出部材１３５に対向する位置に配置される。押鍵に伴う鍵１３０の揺動ストロークに応じて、キーセンサ３１０と被検出部材１３５の相互距離が変化するので、キーセンサ３１０は、前記距離を検出することによって、鍵１３０のストローク位置を連続的に検出することができる。なお、キーセンサ３１０は、受光素子の受光量に応じて被検出部材１３５までの距離を、例えば０．００１ｍｍ単位で検出できるものとする。また、キーセンサ３１０は、通常のキーストローク（レスト位置からエンド位置までのストローク量）に対して、レスト位置側とエンド位置側の夫々で、キーストロークの１／３の量だけ、該キーストロークの範囲を超えて位置検出可能である。
【００１４】
図３に示すように、ハンマシャンク１４３の上方には、ハンマセンサ４１０を支持するための支持部材４００が設けられている。各ハンマシャンク１４３の上面には被検出部材１４５が配置されており、ハンマセンサ４１０は支持部材４００上において該被検出部材１４５に対向する位置に配置される。ハンマ１４２のストローク変位（ハンマシャンク１４３の回転変位）に応じて、ハンマセンサ４１０と被検出部材１４５の相互距離が変化するので、ハンマセンサ４１０は、前記距離を検出することによって、ハンマ１４２のストローク位置を連続的に検出することができる。なお、ハンマセンサ４１０も、キーセンサと同様に受光素子の受光量に応じて被検出部材１３５までの距離を、例えば０．００１ｍｍ単位で検出できるものとする。また、ハンマセンサ４１０は、通常のハンマストローク（レスト位置からエンド位置までのストローク量）に対して、レスト位置側とエンド位置側の夫々で、ハンマストロークの１／３の量だけ、該ハンマストロークの範囲を超えて位置検出可能である。
【００１５】
なお、上記では鍵１３０とハンマ１４２に夫々センサを具備するものとしたが、これらに限らず、例えばダンパ等、その他の発音動作に連動する何れの移動部材においてもセンサを具備し、位置検出できるよう構成しうる。
【００１６】
図４は、当該鍵盤楽器１００の電気的ハードウェア構成を示すブロック図である。当該図において、鍵盤楽器１００は、ＣＰＵ２００、ＲＡＭ２１０、ＲＯＭ２２０、操作部２３０、タイマ２４０、記憶装置２６０及びＡ／Ｄ変換器２５０ａ、２５０ｂを含み、各装置間がバスＢを介して接続される。Ａ／Ｄ変換器２５０ａには、複数（８８鍵）の鍵に夫々対応して設けられたキーセンサ３１０が接続され、Ａ／Ｄ変換器２５０ｂには、複数のハンマに夫々対応して設けられたハンマセンサ４１０が接続される。
【００１７】
ＣＰＵ２００は、ＲＯＭ２２０或いはＲＡＭ２１０等メモリ内の各種プログラムを実行して全体的な動作を制御する。この各種プログラムとして、この発明に係る演奏情報生成処理及び演奏情報記録処理を実行するためのプログラムが含まれる。操作部２３０は、各種入力操作を行うためのスイッチ群等で構成され、操作者は演奏情報生成処理及び演奏情報記録処理の開始や終了の指示を行うことができる。タイマ２４０は各種時間を計時する。
【００１８】
各キーセンサ３１０は、対応する各鍵１３０の位置を検出し、該検出した各鍵１３０の位置を示すアナログ信号をＡ／Ｄ変換器２５０ａに出力する。Ａ／Ｄ変換器２５０ａは、各キーセンサ３１０から入力されるアナログ信号をディジタル信号に変換して、各鍵１３０の位置を示すディジタル信号をＣＰＵ２００に対して供給する。ここでは、センサ３１０から出力されアナログ信号が十分な分解能を持つビット長（例えば１２ビット）のバイナリ信号に変換されるものとする。また、各ハンマセンサ４１０は、対応する各ハンマ１４２の位置を検出し、該検出した各ハンマ１４２の位置を示すアナログ信号をＡ／Ｄ変換器２５０ｂに入力する。Ａ／Ｄ変換器２５０ｂは、各ハンマセンサ４１０から供給されたアナログ信号をディジタル信号に変換して、ＣＰＵ２００に対して各ハンマ１４２の位置を示すディジタル信号を供給する。ここでは、センサ４１０から出力されアナログ信号が十分な分解能を持つビット長（例えば１２ビット）のバイナリ信号に変換されるものとする。
【００１９】
ＣＰＵ２００は、Ａ／Ｄ変換器２５０ａ、２５０ｂから供給されるディジタル信号に基づくキー乃至ハンマの位置情報を生成し、これとタイマ２４０が計時する時間情報とを用いて、各鍵１３０及び各ハンマ１４２の位置情報を時系列的に配列した演奏情報を生成する。この位置情報は、演奏者の発音動作によって発生された各鍵１３０あるいは各ハンマ１４２の連続的な運動の軌道（ストローク変位）を、ＭＩＤＩ規格に従うメッセージとして表現するものである。
【００２０】
記憶装置２６０は、上記生成した演奏情報を格納・記憶するものであり、例えばハードディスク装置等の書き換え可能な適宜の記憶媒体で構成して差し支えない。また、記憶装置２６０として、フロッピーディスク（登録商標）又はフレキシブルディスク（登録商標）、コンパクトディスク（ＣＤ‐ＲＯＭ、ＣＤ‐ＲＡＭ）、光磁気ディスク（ＭＯ）、ＺＩＰディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、半導体メモリ等、適宜の形態の着脱可能な外部記憶媒体を利用してもよい。
【００２１】
記憶装置２６０において生成した演奏情報を記録するためのサンプリング周期は、記憶装置２６０側で任意に選択できるものとしてよい。なお、本実施例においては、前記演奏情報の生成・記録のためのサンプリング周期は任意の値で固定されるものとする。また、記憶装置２６０において、全ての鍵１３０及び／又はハンマ１４２についての該演奏情報を記録するのみならず、ユーザが該演奏情報のうち記録すべきノート番号を任意に選択できるようにし、該選択されたノート番号に対応する鍵及び／又はハンマについてのみ記録できるようにしてもよい。
【００２２】
記憶装置２６０において記録される演奏情報は、例えばＳＭＦ（スタンダードＭＩＤＩファイル）形式のフォーマットに従って記録されたシーケンシャルなデータである。この発明に係る鍵やハンマ等の移動部材の位置情報を、ＭＩＤＩメッセージとして生成、記録することは、例えば、データの通信や編集等において有利である。演奏情報は、例えば楽曲別の曲データファイルとして、該記憶装置２６０に記憶されるもので、当該楽曲の演奏データ群（ノートオン・ノートオフ情報、ピッチ情報やベロシティ情報などのイベントメッセージ群）として、この実施例に係る位置情報を表すイベントメッセージが含まれる。図５において、この実施例に係る位置情報を表すイベントメッセージのフォーマット例を示す。
【００２３】
図５に示すように、この実施例において、位置情報を表すＭＩＤＩメッセージは、位置情報の基本となる「位置データ」と、前記基本となる位置データに対して更に詳細な情報を付加する「拡張データ」との２種のバイトメッセージから構成されるもので、両者を組み合わせて、或る時点（サンプリング時刻）における１つの位置情報の表現となる。すなわち、「位置データ」は、或るサンプル時刻におけるレスト位置からエンド位置の範囲での鍵若しくはハンマのストローク位置を相対的に粗い精度で大まかに特定し、これに対応する「拡張データ」は、同サンプル時刻における鍵若しくはハンマのストローク位置を、前記「位置データ」によって大まかに特定されたストローク位置をより細分化した値、つまり、より細かい精度（分解能）で表現する。
この実施例によれば、「拡張データ」は、鍵１３０、ハンマ１４２の正味のストローク範囲（レスト位置からエンド位置までの範囲）を外側に越えたストローク位置を表現するために、データ記述上の「マージン」を有し、これにより、鍵１３０及びハンマ１４２のレスト位置及びエンド位置を超えたストローク位置を位置情報として記述することを実現する。なお、この明細書において、用語「マージン」は、レスト位置からエンド位置までの範囲を外側に越えた移動部材のストローク位置を表現する情報の意味で使用される。「マージン」確保のための具体的な構成については後述する。また、詳しくは後述するように、当該位置情報は、「位置データ」がとるデータの数値範囲に応じて、そのデータが鍵の位置を表現しているのか、あるいは、ハンマの位置を表現しているのかが区別されるようになっている。
【００２４】
「位置データ」は、８ビットデータを１バイト単位とするデータ要素から構成され、３バイトの組み合わせが１つのバイトメッセージを構成している。第１バイトにおいて、上位４ビットは、当該データが表現するメッセージ種類を特定する識別子となるコード「１０１０」からなる。図示の便宜上「ｎｎｎｎ」で示した下位４ビットは、ＭＩＤＩチャンネル番号を特定するコード情報からなる。なお、当該第１バイトの先頭ビットが「１」であることは、当該バイトがステータスバイトであることを示す。
【００２５】
位置データの第２バイトは、ノート番号を特定するためのノート番号指定部となる「０ｋｋｋｋｋｋｋ」からなる。具体的には、当該第２バイトの先頭ビットが「０」であることは、当該バイトがデータバイトであることを表現し、図示の便宜上「ｋｋｋｋｋｋｋ」で示した下位７ビットは、各鍵１３０あるいは各ハンマ１４２に割り当てられた「２１」〜「１０８」までのノート番号を示すコード「００１０１０１（１０進表記における「２１」）」〜「１１０１１００（１０進表記における「１０８」）」の何れかの値からなる。ここで示されるノート番号によって、当該位置データがノート番号「２１」〜「１０８」のうちの何れの鍵若しくはハンマに対応しているのかを特定する。また、ここで示すノート番号は、前記記憶装置２６０においてユーザが任意に選択したノート番号に対応するデータのみ記録する場合等に、参照される。
【００２６】
位置データの第３バイトには、キーセンサ３１０若しくはハンマセンサ４１０からの検出出力に基づき生成される鍵１３０若しくはハンマ１４２のストローク位置を表す情報が割り当てられ、この情報は「０ｘｘｘｘｘｘｘ」によって表現される。先頭ビットの「０」は、前記と同様に当該第３バイトがデータバイトであることを示し、図示の便宜上「ｘｘｘｘｘｘｘ」で示した下位７ビットは具体的なストローク位置の値を表すデータ部分である。
なお、この下位７ビット「ｘｘｘｘｘｘｘ」がとる値は、鍵のストローク位置記述用に割り当てられた数値範囲と、ハンマのストローク位置記述用割り当てられた数値範囲とに分割して使用される。このため、この実施例に係るデータフォーマットによれば、鍵の位置データ表現用の割り当てフォーマットとハンマの位置データ表現用の割り当てフォーマットとを別々に設定することなく、共通のメッセージ形式で、鍵１３０の位置情報或はハンマ１４２の位置情報とを表現できる。このことはＭＩＤＩメッセージの割り当てフォーマットの有効活用という点で好ましく、また、複数の部材（この場合は鍵とハンマ）の位置情報を纏めて処理できるので、データ編集に際して有利である。なお、具体的な数値範囲の区分例については後述する。
【００２７】
「拡張データ」は、前述の位置データを基本として、対応する（すなわち基本とすべき）位置データによって表現された値に対して、より詳細な記述分解能で表現した情報を付加するものであって、８ビットデータを１バイト単位とするデータ要素が３バイト組み合わされることで１つのバイトメッセージを構成している。拡張データが表現するデータ内容は、対応する基本情報によって規定される。従って、この実施例では、拡張データは、対応する位置データが表現する値に対してより細かいストローク位置のデータを付加するものであるが、例えば、対応する基本情報が速度を表す情報であれば、それに従属する拡張情報は速度データを表す。
この拡張データの第１バイトにおいて、上位４ビットはコード「１０１０」からなり、図示の便宜上「ｎｎｎｎ」で示した下位４ビットは、ＭＩＤＩチャンネル番号を特定するコード情報からなる。ここで「ｎｎｎｎ」で表現されたＭＩＤＩチャンネル番号は、対応する位置データが有するチャンネル番号のコード情報と同一でなければならない。また、第２バイトはコード「０００１００００」からなる。この第１バイト及び第２バイトにより当該バイトメッセージが汎用拡張バイトであることが定義される。
【００２８】
第３バイトには、対応する位置データが表す鍵若しくはハンマの位置データの値をより高分解能で表現した情報が割り当てられている。この情報は「０ｙｙｙｙｙｙｙ」によって表現される。先頭ビットの「０」は、前記と同様に当該第３バイトがデータバイトであることを示し、図示の便宜上「ｙｙｙｙｙｙｙ」で示した下位７ビットは、具体的なストローク位置の値を表すデータ部分である。詳しくは後述するように、当該拡張データによる位置表現は、対応する（基本の）位置データによって特定されたストローク位置がレスト位置−エンド位置範囲内である場合は相対的に細かい精度（分解能）の「第１の分解能」によってなされ、一方、レスト位置若しくはエンド位置である場合は該「第１の分解能」よりも相対的に精度（分解能）の粗い「第２の分解能」によってなされる。このように、２種の分解能を用いることで上記データ記述上の「マージン」の確保が実現される。
【００２９】
なお、拡張データは、基本となる位置データの下位に位置付けされるものであり、記憶装置２６０における記録にあたって、記録媒体上では、対応する位置データの直後のアドレスに書き込み、また、伝送上では、対応する位置データと拡張データとの間に他のメッセージを挟まず、且つ、最小時間間隔で送られるものとする。これにより、対応する位置データとの対応付け不備や、記録ミス、伝送ミス、および読み込みミス等の影響を可及的回避している。
【００３０】
図５において、位置データの右側に付記した［Ａｎ  ｋｋ  ｘｘ］は、上記位置データを１６進数的に簡略表記したものである。「Ａｎ」は第１バイト「１０１０ｎｎｎｎ」であって、“ｎ”の値によってＭＩＤＩチャンネルを示す。「ｋｋ」は第２バイト「０ｋｋｋｋｋｋｋ」であって、“ｋｋ”の値によってノート番号を示す。「ｘｘ」は第３バイト「０ｘｘｘｘｘｘｘ」であって、“ｘｘ”の値によって具体的なデータの数値を示す。また、［Ｂｎ  １０  ｙｙ］は、上記拡張データの１６進数的な簡略表記であって、「Ｂｎ」が第１バイト「１０１１ｎｎｎｎ」、「１０」が第２バイト「０００１００００」を夫々示し、「ｙｙ」は第３バイト「０ｙｙｙｙｙｙｙ」であって、“ｙｙ”の値によって具体的なデータの数値を示す。以下の説明において、特に断りの無い場合は、この簡略表記を用いる。
【００３１】
図６（ａ）は、ハンマ１４２の動作状況（軌道）の一例を示すグラフであり、（ｂ）鍵１３０の動作状況（軌道）の一例を示すグラフである。図６を参照して、この実施例に係る位置情報による鍵１３０とハンマ１４２のストローク位置の表現例について具体的説明する。図６（ａ）、（ｂ）において、縦軸にストローク位置をとり、横軸は時間軸を示す。当該グラフの右側には、位置データの第３バイト「ｘｘ」の値及び拡張データの第３バイト「ｙｙ」の値と、鍵１３０、ハンマ１４２のストローク位置との対応関係を夫々示す。また、図７は、ハンマ及び鍵のストローク位置と、位置データの値「ｘｘ」と拡張データの値「ｙｙ」との対応関係の一例を示す表である。以下、図６及び図７を参照してこの実施例に係る位置情報によるデータの記述について詳細に説明する。なお、以下の説明において、「ｘｘ」及び「ｙｙ」の下位７ビットに示される値は、便宜上、１６進数表記するものとする。なお、両第３バイト「ｘｘ」及び「ｙｙ」は、一般的なＭＩＤＩデータと同様に、１２８段階の分解能を持つもので、データ値としては値「００ｈ」〜「７Ｆｈ」（１０進表記で０〜１２７）をとりうるものとする（末尾に示された“ｈ”は１６進数表記であることを示す）。また、図７は、以下に説明する、ハンマ及び鍵のストローク位置と、位置データの値「ｘｘ」と拡張データの値「ｙｙ」との対応関係の一例を示す表である。以下、図６及び図７を参照してこの実施例に係る位置情報によるデータの記述について詳細に説明する。
【００３２】
図６（ａ）において、ハンマ１４２は、該レスト位置を基準（０ｍｍ）として約４８ｍｍのストローク幅で変位する。位置データの第３バイト「ｘｘ（２進表記で０ｘｘｘｘｘｘｘ）」は、１ディジットを１ｍｍ単位として、値「４０ｈ」から値「７０ｈ」を用いてハンマ１４２のレスト位置からエンド位置の間のストローク位置を表現するものである。すなわち、値「４０ｈ」から「７０ｈ」までがハンマ１４２のストローク位置を表現するための数値範囲として割り当てられている。
【００３３】
ハンマ１４２の位置を示す位置データの値「ｘｘ」の最小値「４０ｈ」（１０進表記で「６４」）は、レスト位置（ストローク量０ｍｍの位置）を表現する。また、最大値「７０ｈ」（１０進表記で「１１２」）は、エンド位置（レスト位置からストローク量４８ｍｍの位置）を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「４１ｈ」〜値「６Ｆｈ」によって１ミリ単位でリニアに表現する。ここで「リニアに表現」とは、データの値１ディジットが１ミリに相当する値で線形的に比例していることである。例えば、或るハンマ１４２が長さ４０ｍｍストロークした状態を表現するには、［Ａｎ  ｋｋ  ６８］と表現する。
【００３４】
これに対して、ハンマ１４２の位置を示す拡張データの第３バイト「ｙｙ」の下位７ビットに示される値は、対応する位置データの値が１ディジット（１ｍｍ単位）で表現しきれない微細な位置を記述する。これにより、対応する位置データの値を更に正方向又は負方向の夫々について細分化して表現する。詳しくは後述するように、当該拡張データの第３バイト「ｙｙ」は「００ｈ」〜「７Ｆｈ」の１２８段階の値をとることから、「００ｈ」を対応する位置データ［Ａｎ  ｋｋ  ｘｘ］から±０ｍｍの位置（基準値）の表現として、該基準値（００ｈ）から＋「３Ｆｈ」の数値範囲によって、該基準値（０ｍｍ）からの相対的な位置を正方向の変化分で表現し、また、該基準値（００ｈ）から−「４０ｈ」の数値範囲によって、該基準値（０ｍｍ）からの相対的な位置を負方向の変化分で表現する。
拡張データの値「ｙｙ」は、対応する位置データの値がレスト位置‐エンド位置の範囲内（位置データの値「４１ｈ」〜値「６Ｆｈ」の範囲）のストローク位置を表現している場合、１ディジットを１／６４ｍｍ単位とする「第１の分解能」でハンマのストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データが１ｍｍ単位で特定されたストローク位置の値に対して、そこから更に１／６４ｍｍ単位で表現されたストローク位置の値を付加する。
一方、対応する位置データの値がレスト位置若しくはエンド位置（位置データの値「４０ｈ」若しくは値「７０ｈ」）を表現している場合、値「ｙｙ」は、１ディジットを１／４ｍｍ単位とする「第２の分解能」でハンマのストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データによって、レスト位置（ストローク量０ｍｍの位置）若しくはエンド位置（レスト位置からストローク量４８ｍｍの位置）として表現された値に対して、そこから更に１／４ｍｍ単位で表現されたストローク位置の値を付加する。このような「第２の分解能」によれば、１ディジットあたりの位置記述単位が、「第１分解能」の記述単位１／６４ｍｍよりも粗い１／４ｍｍであることによって、限定されたビット数で表現可能なストローク範囲を拡張することができる。
【００３５】
拡張データによる具体的なハンマ位置記述態様の一例について説明する。先ず「第１の分解能」で記述される値「ｙｙ」は、対応する位置データの値から±０ｍｍの位置を中心の基準位置として「００ｈ」で表現する。この値「ｙｙ」によって記述可能な最小位置は、基準位置から負方向の６４段階目すなわち±０ｍｍから−６４／６４ｍｍ（−１ｍｍ）の位置であって、これは値「４０ｈ」（１０進表記で６４）に相当する。また、この値「ｙｙ」によって記述可能な最大位置は、基準位置から正方向の６３段階目すなわち±０ｍｍから＋６３／６４ｍｍ（＋０．９８４３７５ｍｍ）の位置であって、これは値「３Ｆｈ」（１０進表記で６３）に相当する。従って、或る拡張データが「第１の分解能」で記述可能なストローク幅は、約±１ｍｍとされる。位置データの値と拡張データの値とを組み合わせて表現されるハンマのストローク位置は、「ｘｘ＋ｙｙ／６４ｍｍ」（但し、ここでｘｘ及びｙｙは、データ値が表現する物理量）である。
【００３６】
一方、「第２の分解能」で記述される値「ｙｙ」（すなわち対応する値ｘｘが「４０ｈ」又は「７０ｈ」の場合）は、対応する位置データの値から０ｍｍの位置を中心の基準位置として「００ｈ」で表現する。この値「ｙｙ」によって記述可能な最小位置は、基準位置から負方向の６４段階目すなわち±０ｍｍから−１６ｍｍ（―６４／４ｍｍ）の位置であって、これは値「４０ｈ」（１０進表記で６４）に相当する。また、この値「ｙｙ」によって記述される最大位置は、基準位置から正方向の６３段階目すなわち±０ｍｍから＋１５．７５ｍｍ（＋６３／４ｍｍ）の位置であって、値「３Ｆｈ」（１０進表記で６３）に相当する。従って、或る拡張データが「第２の分解能」で記述可能なストローク幅は、約±１６ｍｍとされる。位置データの値と拡張データの値とを組み合わせて表現されるハンマのストローク位置は、「ｘｘ＋ｙｙ／４ｍｍ」（但し、ここで値ｘｘ及び値ｙｙは、データ値が表現する物理量）である。これによれば、当該拡張データは、ハンマ１４２のストローク位置として、レスト位置若しくはエンド位置を外側に越えた「マージン」を夫々約１６ｍｍの範囲で記述できる。従って、ハンマ１４２のレスト位置若しくはエンド位置を越えたストローク変位（マージン）を当該拡張データによって十全に表現できることになる。
【００３７】
例えば、或るハンマ１４２のストローク位置の長さ４０．５ｍｍの記述は、位置データ［Ａｎ  ｋｋ  ６８］によってストローク長さ４０ｍｍを表現し、これに＋０．５ｍｍ（＋３２／６４ｍｍ）の表現たる拡張データ［Ｂｎ  １０  ２０］を付加することでなされる。なお、同じストローク位置（４０．５ｍｍ）は、例えば［Ａｎ  ｋｋ  ６９］（位置データによる４１ｍｍの表現）と、−０．５ｍｍの表現たる［Ｂｎ  １０  ６０］とによっても記述できる。
また、エンド位置を外側に越えたストローク位置の表現の一例として、或るハンマ１４２のストローク位置の長さ５６ｍｍは、ストローク位置４８ｍｍを表現する位置データ［Ａｎ  ｋｋ  ７０］と、＋８ｍｍ（＋３２／４ｍｍ）の表現たる拡張データ［Ｂｎ  １０  ２０］とによって記述される。レスト位置を外側に越えた位置表現例としては、或るハンマ１４２のストローク長さ−０．２５ｍｍは、ストローク位置０ｍｍを表現する位置データ［Ａｎ  ｋｋ  ４０］と、−０．２５ｍｍ（−１／４ｍｍ）の表現たる拡張データ［Ｂｎ  １０  ７Ｆ］とによって記述される。
【００３８】
次に、この実施例に係る位置情報による鍵１３０のストローク位置の表現の一例について具体的説明する。図６（ｂ）に示すように、鍵１３０は、レスト位置からエンド位置まで約１０ｍｍのストローク幅で変位する。位置データの第３バイト「ｘｘ」は、１ディジットあたり０．２２５ｍｍ単位で、値「０１ｈ」から値「３０ｈ」を用いて鍵１３０のレスト位置からエンド位置の間でのストローク位置を表現する。
【００３９】
鍵１３０のストローク位置を表現する位置データの値「ｘｘ」の最小値「０１ｈ」は、基準となるレスト位置（ストローク量０ｍｍの位置）より内側の０．２２５ｍｍのストローク位置を表現する。また、最大値「３０ｈ」は、前記値「０１ｈ」から起算して０．２２５ｍｍ＊４８の位置、すなわちエンド位置（レスト位置からストローク量１０ｍｍの位置）より外側の１０．８ｍｍのストローク位置を表現する（なお、本明細書において、“＊”は乗算を示す）。そして、レスト位置‐エンド位置間での鍵のストローク位置を値「０２ｈ」〜値「２Ｆｈ」によって０．２２５ミリ単位でリニアに表現する。
【００４０】
鍵１３０のストローク位置を表現する拡張データの第３バイト「ｙｙ」の値は、前述したハンマ１４２のストローク位置を記述する場合と同様に、対応する位置データの値がレスト側の最小位置（ｘｘの最小値「０１ｈ」）若しくはエンド側の最大位置（ｘｘの最大値「３０ｈ」）を表現している場合に、データ値１ディジットあたりの位置記述単位が比較的粗い「第２の分解能」で鍵１３０のストローク位置を記述することで、表現可能なストローク範囲を拡張し、データ記述上の「マージン」を確保する。「第２の分解能」の一例として、値「ｙｙ」は１ディジットを０．２２５／４ｍｍ単位で鍵のストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データｘｘの値「０１ｈ」若しくは値「３０ｈ」によって表現されたストローク位置に対して、更に、正方向或は負方向について、０．２２５／４ｍｍ単位で表現したストローク位置の値を付加する。
【００４１】
対応する位置データの値が値「０２ｈ」〜値「２Ｆｈ」の範囲のストローク位置を表現している場合、鍵１３０の拡張データの値「ｙｙ」は、例えば、１ディジットを０．２２５／６４ｍｍ単位とする「第１の分解能」でストローク位置を記述する。この場合、拡張データは、対応する位置データが０．２２５ｍｍ単位で特定されたストローク位置の値に対して、そこから更に、正方向或は負方向について０．２２５／６４ｍｍ単位で表現されたストローク位置の値を付加する。
【００４２】
鍵１３０のストローク位置を表現する拡張データの具体的な記述態様は、前述したハンマ１４２におけるデータ記述態様と概ね同様である。すなわち、「第１の分解能」で記述される値「ｙｙ」（すなわち対応する値ｘｘが「０２ｈ」〜「２Ｆｈ」の場合）は、１ディジットを０．２２５／６４ｍｍ単位で鍵のストローク位置を記述するので、対応する位置データの値から±０ｍｍの位置を基準位置（ｙｙ＝００ｈ）とし、該基準位置（±０ｍｍ）から−０．２２５ｍｍ（―６４＊０．２２５／６４ｍｍ）の位置（ｙｙ＝４０ｈ）を最小位置として、また、該基準位置（±０ｍｍ）から＋０．２２１４８４３７５ｍｍ（＋６３＊０．２２５／６４ｍｍ）の位置（ｙｙ＝３Ｆｈ）を最大位置として表現できる。よって、或る拡張データが「第１の分解能」で記述可能なストローク幅は、約±０．２２５ｍｍとされる。位置データの値と拡張データの値とを組み合わせて表現される鍵のストローク位置は、「０．２２５＊（ｘｘ＋ｙｙ／６４）ｍｍ」（但し、ここでｘｘ及びｙｙは、データ値が表現する物理量）である。
【００４３】
一方、「第２の分解能」で記述される値「ｙｙ」（すなわち対応する値ｘｘが「０１ｈ」又は「３０ｈ」の場合）は、１ディジットを０．２２５／４ｍｍ単位で鍵のストローク位置を記述するので、対応する位置データの値から±０ｍｍの基準位置（ｙｙ＝００ｈ）から、−３．６ｍｍ（―６４＊０．２２５／４ｍｍ）の位置を最小位置（ｙｙ＝４０ｈ）とし、また、該基準位置から＋３．５４３７５ｍｍ（＋６３＊０．２２５／４ｍｍ）の位置を最大位置（ｙｙ＝３Ｆｈ）として表現する。従って、或る拡張データが「第２の分解能」で記述可能なストローク幅は、約±３．６ｍｍである。位置データの値と拡張データの値とを組み合わせて表現される鍵のストローク位置は、「０．２２５＊（ｘｘ＋ｙｙ／４）ｍｍ」（但し、ここで値ｘｘ及び値ｙｙは、データ値が表現する物理量）である。これによれば、当該拡張データは、鍵１３０のストローク位置として、レスト位置若しくはエンド位置を外側に越えた「マージン」を夫々約３．６ｍｍの範囲で記述できることになる。従って、鍵１３０のレスト位置若しくはエンド位置を越えたストローク変位（マージン）を当該拡張データによって十全に表現できることになる。
【００４４】
例えば、或る鍵１３０のストローク位置の長さ０ｍｍの記述は、位置データ［Ａｎ  ｋｋ  ０１］によってストローク長さ０．２２５ｍｍを表現し、これに−０．２２５ｍｍ（−４＊０．２２５／４ｍｍ）の表現たる第２分解能の拡張データ［Ｂｎ  １０  ７Ｃ］を付加することでなされる。また、エンド位置を外側に越えたストローク位置の表現の一例として、或る鍵１３０のストローク位置の長さ１０．１２５ｍｍは、ストローク位置１０．１２５ｍｍを表現する位置データ［Ａｎ  ｋｋ  ２Ｄ］と、±０ｍｍの表現たる拡張データ［Ｂｎ  １０  ００］によって記述される。レスト位置を外側に越えた位置表現例としては、或る鍵１３０のストローク長さ−０．０２５ｍｍは、ストローク位置０．２２５ｍｍを表現する位置データ［Ａｎ  ｋｋ  ０１］と、−０．２５ｍｍ（−１／４ｍｍ）の表現たる拡張データ［Ｂｎ  １０  ７Ｆ］とによって記述される。
【００４５】
なお、上述の実施例において、図７に示した鍵及びハンマのストローク位置と具体的なデータ値の対応関係や、１ディジットあたりの記述単位等は、一例であって、これに限定されない。
【００４６】
上述の実施例では、位置データ［Ａｎ  ｋｋ  ｘｘ］に付加的な情報を与える拡張データ［Ｂｎ  １０  ｙｙ］が、レスト位置若しくはエンド位置付近を表現する際に、データ値１ディジットあたりの位置記述単位の比較的粗い「第２の分解能」によって鍵１３０又はハンマ１４２のストローク位置を記述することで、表現可能なストローク範囲を拡張し、データ記述上の「マージン」を確保する例について説明した。以下に述べるのは「マージン」記述の変形例であって、１つのバイトメッセージたる位置データ［Ａｎ  ｋｋ  ｘｘ］のみによって、該データ記述上の「マージン」を確保する例について説明する。
【００４７】
図８は当該変形例における鍵１３０のストローク範囲と位置データの値「ｘｘ」の記述例との対応関係を示す図である。この場合、位置データ［Ａｎ  ｋｋ  ｘｘ］は、例えば鍵１３０のストローク位置のみを記述データとして使用される。第３バイトの値ｘｘは、値「００ｈ」〜「７Ｆｈ」（１０進表記で０〜１２７）をとりうる。この１２８段階の値「ｘｘ」を、鍵１３０の正味のストローク範囲（レスト位置０ｍｍからエンド位置１０ｍｍまでの範囲）、レスト位置の外側での拡張範囲、及び、エンド位置の外側での拡張範囲をそれぞれ表現すべく３つの数値範囲に区分する。図示の例において、「ｘｘ」の値「１０ｈ」〜「６Ｆｈ」を正味のストローク範囲に割り当てることで９６段階の分解能で、１０ｍｍの幅のストローク範囲を表現するものとすれば、１ディジットあたり約０．０１ｍｍ単位で当該範囲における鍵１３０のストローク位置を記述できる。
【００４８】
「ｘｘ」の値「００ｈ」〜「０Ｆｈ」をレスト位置の外側での拡張範囲（マージン）の位置データ記述に割り当てると、１ディジットあたりの位置記述単位を約０．１６ｍｍ単位とすることで、約２．５ｍｍの幅でレスト位置（ストローク量０ｍｍの位置）から外側のマージンを記述できる。また、「ｘｘ」の値「７０ｈ」〜「７Ｆｈ」をエンド位置の外側での拡張範囲（マージン）の位置データ記述に割り当てると、１ディジットあたりの位置記述単位を約０．１６ｍｍ単位とすることで、約２．５ｍｍの幅でエンド位置（レスト位置からストローク量１０ｍｍの位置）から外側のマージンを記述できる。
従って、上記のようなデータ記述構成によっても、記述可能なストローク位置の範囲をレスト位置若しくはエンド位置の外側へ拡張することができる。なお、  このように、１つのバイトメッセージたる位置データ［Ａｎ  ｋｋ  ｘｘ］のみによって、該データ記述上の「マージン」を確保することは、ハンマ１４２やその他移動部材に対しても適用可能である。
【実施例２】
【００４９】
上記図６及び図７を参照して説明した実施例においては、拡張データ［Ｂｎ  １０  ｙｙ］の第３バイト「ｙｙ」の値（ｙｙ＝００ｈ〜７Ｆｈ）による位置表現は、図９（ａ）に示す通りであった：すなわち、第３バイトの値「ｙｙ＝００ｈ」を、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］から±０ｍｍの位置（基準値）の表現として、該基準値（００ｈ）から＋「３Ｆｈ」の数値範囲によって、移動部材（ハンマや鍵）の該基準値（±０ｍｍ）からの相対的な位置を正方向の変化分で表現し、また、該基準値（００ｈ）から−「４０ｈ」の数値範囲によって、移動部材（ハンマや鍵）の該基準値（±０ｍｍ）からの相対的な位置を負方向の変化分で表現した。
以下に述べる第２実施例は拡張データによる位置表現の別の実施例であって、これによれば、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表すストローク位置からの相対的な位置を正方向で表現する場合と、負方向で表現する場合とで、夫々異なる種類の拡張データを使用する。図９（ｂ）は当該第２実施例に係る位置表現の概略を示す概念図である。
【００５０】
図９（ｂ）に示すように、当該第２実施例によれば、拡張データ［Ｂｎ  １０  ｙｙ］を、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表すストローク位置からの相対的な位置を正方向で表現するバイトメッセージ（第１種の拡張情報）として定義し、拡張データ［Ｂｎ  １１  ｙｙ］を、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表すストローク位置からの相対的な位置を負方向で表現するバイトメッセージ（第２種の拡張情報）として定義する。拡張データ［Ｂｎ  １０  ｙｙ］は、第１バイト「Ｂｎ」及び第２バイト「１０」により当該バイトメッセージが正方向の位置表現を行うための拡張バイトメッセージであることが識別される。また、拡張データ［Ｂｎ  １１  ｙｙ］の第２バイトは、コード「０００１０００１」（１６進表記では「１１ｈ」）からなり、第１バイト「Ｂｎ」及び第２バイト「１１」により当該バイトメッセージが負方向の位置表現を行うための拡張バイトメッセージであることが識別される。
【００５１】
拡張データ［Ｂｎ  １０  ｙｙ］及び拡張データ［Ｂｎ  １１  ｙｙ］の第３バイトの値「ｙｙ」は、「００ｈ」〜「７Ｆｈ」（１０進表記で０〜１２７）をとる。従って、拡張データ［Ｂｎ  １０  ｙｙ］による正方向の位置表現並びに拡張データ［Ｂｎ  １１  ｙｙ］による負方向の位置表現を、夫々、１２８段階の分解能で行うことができる。よって、図９（ｂ）に示す当該第２実施例によれば、図９（ａ）に示す位置表現の方法よりも、より細かい分解能で位置を記述できるようになり、データの精度を向上させることができる。以下、図１０及び図１１を参照して、この第２実施例に係る拡張データによる具体的な位置記述の一例について説明する。図１０（ａ）は、ハンマ１４２の軌道の一例、また、（ｂ）は鍵１３０の軌道の一例を夫々示すグラフである。図１０（ａ）、（ｂ）において、縦軸はハンマ及び鍵のストローク位置、横軸は時間軸を夫々示しており、両グラフの右側には、位置データ［Ａｎ  ｋｋ  ｘｘ］の第３バイト「ｘｘ」の値及び拡張データ［Ｂｎ  １０  ｙｙ］乃至拡張データ［Ｂｎ  １１  ｙｙ］の第３バイト「ｙｙ」の値と、ハンマ及び鍵のストローク位置の対応関係を示す。また、図１１は、図１０に示すハンマ及び鍵のストローク位置と、位置データの値「ｘｘ」と拡張データの値「ｙｙ」との対応関係を示す表である。
【００５２】
ハンマ１４２は、前述の通り、レスト位置（ストローク量０ｍｍの位置）からエンド位置（レスト位置からストローク量４８ｍｍの位置）の間を約４８ｍｍのストローク幅で変位するものと想定されている。位置データ［Ａｎ  ｋｋ  ｘｘ］には、第３バイト「ｘｘ」の値「４０ｈ」〜値「７０ｈ」がハンマ１４２のレスト位置からエンド位置の間のストローク位置を表現する数値範囲として割り当てられており、これは、１ディジットを１ｍｍ単位として、ハンマ１４２のストローク位置を表現する（図１０（ａ）及び図１１参照）。すなわち、値「ｘｘ」＝「４０ｈ」がハンマ１４２のレスト位置を表現し、また、値「ｘｘ」＝「７０ｈ」が、ハンマ１４２のエンド位置を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「４１ｈ」〜値「６Ｆｈ」によって１ミリ単位でリニアに表現する。これは、前記図６及び図７を参照して説明した位置表現方法と同様である。
【００５３】
ハンマ１４２の位置データ［Ａｎ  ｋｋ  ｘｘ］に対応する拡張データ［Ｂｎ  １０  ｙｙ］乃至拡張データ［Ｂｎ  １１  ｙｙ］の値「ｙｙ＝００ｈ〜７Ｆｈ」は、対応する位置データの値「ｘｘ」がレスト位置‐エンド位置の範囲内（値「４１ｈ」〜値「６Ｆｈ」の範囲）である場合、１ディジットを１／１２８ｍｍ単位とする「第１の分解能」でハンマのストローク位置を詳細に表現する。一方、対応する位置データの値がレスト位置若しくはエンド位置（位置データの値「４０ｈ」若しくは値「７０ｈ」）を表現している場合、拡張データ［Ｂｎ  １０  ｙｙ］乃至拡張データ［Ｂｎ  １１  ｙｙ］の値「ｙｙ＝００ｈ〜７Ｆｈ」は、１ディジットを１／８ｍｍ単位とする「第２の分解能」でハンマのストローク位置を表現することで、データ記述上のマージン（ハンマ１４２の正味のストローク範囲外の位置表現）を確保する。このように、正方向での位置表現及び負方向での位置表現に夫々別のアサイン［Ｂｎ  １０  ｙｙ］及び［Ｂｎ  １１  ｙｙ］を使用することで、第１の分解能及び第２の分解能の双方とも、より細かい精度でのデータ記述が可能となる。
【００５４】
拡張データ［Ｂｎ  １０  ｙｙ］及び拡張データ［Ｂｎ  １１  ｙｙ］によるハンマ位置の記述能力の具体的な一例について、図１１を参照して述べる。
先ず、第１の分解能（１ディジット＝１／１２８ｍｍ）の場合、正方向での相対位置を表す拡張データ［Ｂｎ  １０  ｙｙ］では、対応する位置データが表す位置から＋０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置から＋１２７／１２８ｍｍ＝＋０．９９２１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １０  ｙｙ］は、第１の分解能（１ディジット＝１／１２８ｍｍ）の場合、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表す位置から正方向に最大０．９９２１８７５ｍｍの範囲のハンマ位置を、１／１２８ｍｍ単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ［Ｂｎ  １１  ｙｙ］では、対応する位置データが表す位置から―０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置から−１２７／１２８ｍｍ＝−０．９９２１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １１  ｙｙ］は、第１の分解能（１ディジット＝１／１２８ｍｍ）の場合、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表す位置から負方向に最小−０．９９２１８７５ｍｍの範囲のハンマ位置を、１／１２８ｍｍ単位の精度で表現することができる。
【００５５】
第２の分解能（１ディジット＝１／８ｍｍ）の場合、正方向での相対位置を表す拡張データ［Ｂｎ  １０  ｙｙ］では、対応する位置データが表す位置（ｘｘ＝４０ｈ又は７０ｈ）から＋０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置（ｘｘ＝４０ｈ又は７０ｈ）から＋１２７／８ｍｍ＝＋１５．８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １０  ｙｙ］は、第２の分解能（１ディジット＝１／８ｍｍ）により、ハンマ１４２のレスト位置又はエンド位置（ｘｘ＝４０ｈ又は７０ｈ）から正方向に最大＋１５．８７５ｍｍの範囲のハンマ位置を、データ記述マージンとして、１／８ｍｍ単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ［Ｂｎ  １１  ｙｙ］では、対応する位置データが表す位置（ｘｘ＝４０ｈ又は７０ｈ）から―０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置（ｘｘ＝４０ｈ又は７０ｈ）から−１２７／８ｍｍ＝−１５．８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １１  ｙｙ］は、第２の分解能（１ディジット＝１／８ｍｍ）により、ハンマ１４２のレスト位置又はエンド位置（ｘｘ＝４０ｈ又は７０ｈ）から負方向に最小−１５．８７５ｍｍの範囲のハンマ位置を、データ記述マージンとして、１／８ｍｍ単位の精度で表現することができる。
【００５６】
また、図１０（ｂ）に示すように、鍵１３０は、レスト位置（ストローク量０ｍｍの位置）からエンド位置（レスト位置からストローク量１０ｍｍの位置）の間を約１０ｍｍのストローク幅で変位するものと想定されている。位置データ［Ａｎ  ｋｋ  ｘｘ］には、第３バイト「ｘｘ」の値「００ｈ」〜値「３０ｈ」が鍵１３０のレスト位置からエンド位置の間のストローク位置を表現する数値範囲として割り当てられており、これは、１ディジットを０．２２５ｍｍ単位として、鍵１３０のストローク位置を表現する（図１０（ｂ）及び図１１参照）。すなわち、値「ｘｘ」＝「００ｈ」が鍵１３０のレスト位置（ストローク量０ｍｍ）を表現し、また、値「ｘｘ」＝「３０ｈ」が、鍵１３０のエンド位置より外側の１０．８ｍｍのストローク位置を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「００ｈ」〜値「３０ｈ」によって０．２２５ミリ単位でリニアに表現する。
【００５７】
鍵１３０の位置データ［Ａｎ  ｋｋ  ｘｘ］に対応する拡張データ［Ｂｎ  １０  ｙｙ］乃至拡張データ［Ｂｎ  １１  ｙｙ］の値「ｙｙ＝００ｈ〜７Ｆｈ」は、対応する位置データの値「ｘｘ」がレスト位置‐エンド位置の範囲内（値「０１ｈ」〜値「２Ｆｈ」の範囲）である場合、１ディジットを０．２２５／１２８ｍｍ単位とする「第１の分解能」で鍵のストローク位置を詳細に表現する。一方、対応する位置データの値がレスト位置若しくはエンド側の最大位置（位置データの値「００ｈ」若しくは値「３０ｈ」）を表現している場合、拡張データ［Ｂｎ  １０  ｙｙ］乃至拡張データ［Ｂｎ  １１  ｙｙ］の値「ｙｙ＝００ｈ〜７Ｆｈ」は、１ディジットを０．２２５／８ｍｍ単位とする「第２の分解能」で鍵のストローク位置を表現することで、データ記述上のマージン（鍵１３０の正味のストローク範囲外の位置表現）を確保する。かくして、ハンマの場合と同様に、正方向での位置表現及び負方向での位置表現に夫々別のアサイン［Ｂｎ  １０  ｙｙ］及び［Ｂｎ  １１  ｙｙ］を使用することで、第１の分解能及び第２の分解能の双方とも、より細かい精度でのデータ記述が可能となる。
【００５８】
拡張データ［Ｂｎ  １０  ｙｙ］及び拡張データ［Ｂｎ  １１  ｙｙ］による鍵位置の記述能力の具体的な一例について、図１１を参照して述べる。
先ず、第１の分解能（１ディジット＝０．２２５／１２８ｍｍ）の場合、正方向での相対位置を表す拡張データ［Ｂｎ  １０  ｙｙ］では、対応する位置データが表す位置から＋０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置から＋１２７＊０．２２５／１２８ｍｍ＝＋０．２２３２４２１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １０  ｙｙ］は、第１の分解能（１ディジット＝０．２２５／１２８ｍｍ）の場合、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表す位置から正方向に最大０．２２３２４２１８７５ｍｍの範囲の鍵位置を、０．２２５／１２８ｍｍ単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ［Ｂｎ  １１  ｙｙ］では、対応する位置データが表す位置から―０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置から−１２７＊０．２２５／１２８ｍｍ＝−０．２２３２４２１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １１  ｙｙ］は、第１の分解能（１ディジット＝０．２２５／１２８ｍｍ）の場合、対応する位置データ［Ａｎ  ｋｋ  ｘｘ］が表す位置から負方向に最小−０．２２３２４２１８７５ｍｍの範囲の鍵位置を、１／１２８ｍｍ単位の精度で表現することができる。
【００５９】
第２の分解能（１ディジット＝０・２２５／８ｍｍ）の場合、正方向での相対位置を表す拡張データ［Ｂｎ  １０  ｙｙ］では、対応する位置データが表す位置（ｘｘ＝００ｈ又は３０ｈ）から＋０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置（ｘｘ＝００ｈ又は３０ｈ）から＋１２７＊０．２２５／８ｍｍ＝＋３．５７１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １０  ｙｙ］は、第２の分解能（１ディジット＝０．２２５／８ｍｍ）により、鍵１３０のレスト位置又はエンド側の最大位置（ｘｘ＝００ｈ又は３０ｈ）から正方向に最大＋３．５７１８７５ｍｍの範囲の鍵位置を、データ記述マージンとして、０．２２５／８ｍｍ単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ［Ｂｎ  １１  ｙｙ］では、対応する位置データが表す位置（ｘｘ＝００ｈ又は３０ｈ）から―０ｍｍの位置を「ｙｙ」＝「００ｈ」で表現でき、また、対応する位置データが表す位置（ｘｘ＝００ｈ又は３０ｈ）から−１２７＊０．２２５／８ｍｍ＝−３．５７１８７５ｍｍの位置を「ｙｙ」＝「７Ｆｈ」により表現できる。従って、拡張データ［Ｂｎ  １１  ｙｙ］は、第２の分解能（１ディジット＝０．２２５／８ｍｍ）により、鍵１３０のレスト位置又はエンド位置（ｘｘ＝００ｈ又は３０ｈ）から負方向に最小−３．５７１８７５ｍｍの範囲の鍵位置を、データ記述マージンとして、１／８ｍｍ単位の精度で表現することができる。
【００６０】
図１２は、当該第２実施例に係る拡張データ［Ｂｎ  １０  ｙｙ］及び拡張データ［Ｂｎ  １１  ｙｙ］の運用例を説明するための概念図である。この運用例では、負方向の拡張データ［Ｂｎ  １１  ｙｙ］は、基本的には、レスト位置（ストローク量０ｍｍの位置）よりも小さい位置の表現にのみ使用し、レスト位置以上の位置表現には正方向の拡張データ［Ｂｎ  １０  ｙｙ］を使用するものとする。すなわち、位置データ［Ａｎ  ｋｋ  ００］又は［Ａｎ  ｋｋ  ４０］で大まかにレスト位置（ストローク量０ｍｍ）と表現されたデータに、負方向の拡張データ［Ｂｎ  １１  ｙｙ］で細かい分解能の負の値を付加することで、レスト位置を下側に越えた鍵又はハンマの位置を表現する。また、位置データ［Ａｎ  ｋｋ  ３０］又は［Ａｎ  ｋｋ  ７０］で大まかにエンド位置（レスト位置からのストローク量１０．８ｍｍ又は４８ｍｍ）と表現されたデータに、正方向の拡張データ［Ｂｎ  １０  ｙｙ］で細かい分解能の正の値を付加することで、エンド位置を上側に越えた鍵又はハンマの位置を表現する。
一方、それ以外の部分（つまり、鍵又はハンマの正味のストローク範囲内）は、位置データ［Ａｎ  ｋｋ  ｘｘ］により大まかなストローク位置を表現し、これに正方向の拡張データ［Ｂｎ  １０  ｙｙ］による細かい分解能の正の値を付加することで、鍵又はハンマのストローク位置を詳細に表現する。例えば、ハンマのストローク位置の位置データ［Ａｎ  ｋｋ  ５０］と位置データ［Ａｎ  ｋｋ  ５１］の間の微小なストローク位置は、［Ａｎ  ｋｋ  ５０］に正方向の拡張データ［Ｂｎ  １０  ｙｙ］を付加することで表現できる。
【００６１】
なお、拡張データ［Ｂｎ  １０  ｙｙ］及び拡張データ［Ｂｎ  １１  ｙｙ］の運用方法は、上述のようにレスト位置以下の部分を負方向の拡張データ［Ｂｎ  １１  ｙｙ］で表現し、それ以外を正方向の拡張データ［Ｂｎ  １０  ｙｙ］で表現するというように、両者を使い分ける方法に限らず、正方向又は負方向の拡張データのどちらで位置表現できるかを選択できてもよい。例えば、ハンマのストローク位置の位置データ［Ａｎ  ｋｋ  ５０］と或る正方向の拡張データ［Ｂｎ  １０  ｙｙ］で表現された位置は、位置データ［Ａｎ  ｋｋ  ５１］と或る負方向の拡張データ［Ｂｎ  １１  ｙｙ］でも表現しうる。
また、上記図１２の運用例では、鍵又はハンマの正味のストローク範囲内（レスト―エンド間）の位置表現にも拡張データを使用する例を示したが、拡張データの使用は、レスト位置を下側に越えた位置及びエンド位置を上側に越えた位置の表現、即ち、マージンの表現にのみ限られていてもよい。具体的には、鍵のレスト側マージンの表現［Ａｎ  ｋｋ  ００］［Ｂｎ  １１  ｙｙ］と、鍵のエンド側マージンの表現［Ａｎ  ｋｋ  ３０］［Ｂｎ  １０  ｙｙ］、並びに、ハンマのレスト側マージンの表現［Ａｎ  ｋｋ  ４０］［Ｂｎ  １１  ｙｙ］と、ハンマのエンド側マージンの表現［Ａｎ  ｋｋ  ７０］［Ｂｎ  １０  ｙｙ］にのみ適用されてもよい。
【００６２】
また、図１０、図１１に示した例においては、正方向の拡張データ［Ｂｎ  １０  ｙｙ］と負方向の拡張データ［Ｂｎ  １１  ｙｙ］の位置記述分解能（１ディジットあたりの記述単位）や、位置記述範囲は同じものとしたが、これに限らず、記述分解能や位置記述範囲を正方向の拡張データと負方向の拡張データとで違えるように設定してもよい。
【００６３】
なお、上述の例では、鍵１３０及びハンマ１４２について位置情報を生成、記録する例について説明したが、これに限らず、例えばダンパ、ペダル類等その他の発音動作に連動する移動部材に対しても適用可能である。また、拡大記述可能な範囲の量や、１ディジットあたりの分解能も、上述の例に限定されず、適宜適切な大きさに設定して差し支えない。また、図示の例では、アコースティックピアノとしてグランドピアノの構成例を示したが、この発明は、これに限らずアップライトピアノにおける演奏情報の記述にも適用可能である。
【００６４】
また、上述の例では、位置情報についてデータ記述上の「マージン」を確保する例について説明したが、この発明に係る粗密２種類の記述分解能を用いてデータとして記述可能な範囲を拡張する（マージンを確保する）という技術思想は、位置情報のみならず、速度情報あるいは加速度情報の記述においても適用可能である。
【００６５】
また、上述の例では、サンプリング周期は任意の値で固定されるものとしたが、位置データの値「ｘｘ」が正味のストローク範囲（レスト位置−エンド位置内）を記述すべき場合、比較的細かい第１のサンプリング周期（例えば１ｍｓ）でサンプリングし、これに対して、位置データの値「ｘｘ」が、レスト位置若しくはエンド位置又はそれらの外側の「マージン」を記述すべき場合、前記第１のサンプリング周期よりも粗い第２のサンプリング周期（例えば１００ｍｓ）でサンプリングすることで、データ記述範囲を拡張するようにしてもよい。
【００６６】
また、上述の例では、鍵１３０に対応して具わるセンサ３１０、及び、ハンマ１４２に対応して具わるセンサ４１０の出力に基づき、ＣＰＵ２００が実行する演奏情報生成処理によって、本発明に係る位置情報、すなわち、鍵或はハンマのレスト位置‐エンド位置範囲内の位置を第１の分解能で記述し、範囲外（マージン）の位置を第２の分解能で記述したものを生成するものとしたが、これに限らず、例えばエンコーダの特性として、移動部材の所定の動作範囲内での移動状態を示すデータが第１の分解能で出力され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第１の分解能よりも粗い第２の分解能で出力されるよう構成してもよい。また、データの形式も、上述したような位置情報と拡張情報という２つのデータの組み合わせからなる形式でなくとも、この発明の実施は可能であり、１つの位置情報のみからなるデータで移動部材の移動状態を表現してもよい。また、１つの位置情報に対して複数の拡張情報（例えば、分解能がより細分化された複数の拡張情報など）が多段式に従属するデータ構成も可能である。
また、この発明は、上述したように、鍵盤楽器にこの発明に係る演奏情報を生成、記録する装置を具備する構成のみならず、鍵盤楽器とは別体の外部装置として構成し、実施してもよいい。また、この発明は装置の発明として構成し、実施することができるのみならず、上記演奏情報を生成、記録するためにコンピュータまたはＤＳＰ等のプロセッサが実行するプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。すなわち、前記プログラムを実行するコンピュータを鍵盤楽器に外部接続して、この発明を実施することもできる。
【図面の簡単な説明】
【００６７】
【図１】この発明の一実施例に係る鍵盤楽器の機械的構成を示す側面断面図。
【図２】図１に示す鍵１３０及びその周辺構成を抽出して示す側面断面図。
【図３】図１に示すハンマ１４２及びその周辺構成を抽出して示す側面断面図。
【図４】同実施例に係る鍵盤楽器の電気的ハードウェア構成例を示すブロック図。
【図５】同実施例に係る位置情報を表すイベントメッセージのフォーマット例を示す図。
【図６】（ａ）はハンマの動作軌道を、また、（ｂ）は鍵の動作軌道を夫々示すグラフであって、ハンマ及び鍵のストローク位置と、位置データの第３バイトの値「ｘｘ」及び拡張データの第３バイト「ｙｙ」の値との対応関係を示す図。
【図７】ハンマ及び鍵のストローク位置と、位置データの値「ｘｘ」と拡張データの値「ｙｙ」との対応関係の一例を示す表。
【図８】１つのバイトメッセージのみによってデータ記述上の「マージン」を表現する例について説明する図であって、鍵のストローク範囲と位置データの値「ｘｘ」の記述例との対応関係を示す図。
【図９】この発明の第２実施例の概略を説明するための図であって、（ａ）は上記図６〜図７に示す拡張データによる位置表現の概念図、（ｂ）は該第２実施例に係る拡張データによる位置表現の概念図。
【図１０】前記第２実施例におけるハンマ及び鍵のストローク位置と位置データの第３バイトの値「ｘｘ」及び拡張データの第３バイト「ｙｙ」の値の対応関係を示す図であって、（ａ）はハンマの動作軌道を、また、（ｂ）は鍵の動作軌道を示す。
【図１１】前記第２実施例におけるハンマ及び鍵のストローク位置と位置データの値「ｘｘ」と拡張データの値「ｙｙ」との対応関係の一例を示す表。
【図１２】前記第２実施例に係る拡張データの運用例を説明するための概念図。
【符号の説明】
【００６８】
１００  鍵盤楽器、１１０  棚板、１２０  筬中、１３０  鍵、１３５，１４５  被検出部材、１４０  アクション機構、１４２  ハンマ、１７０  弦、２００  ＣＰＵ、２１０  ＲＡＭ、２２０  ＲＯＭ、２３０  操作部、２４０  タイマ、２５０ａ，２５０ｂ  Ａ／Ｄ変換器、２６０  記憶装置、３１０  キーセンサ、４１０  ハンマセンサ
【図１】
2005157287.tif 000003
【図２】
2005157287.tif 000004
【図３】
2005157287.tif 000005
【図４】
2005157287.tif 000006
【図５】
2005157287.tif 000007
【図６】
2005157287.tif 000008
【図７】
2005157287.tif 000009
【図８】
2005157287.tif 000010
【図９】
2005157287.tif 000011
【図１０】
2005157287.tif 000012
【図１１】
2005157287.tif 000013
【図１２】
2005157287.tif 000014