(57)【特許請求の範囲】
【請求項１】
鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換装置であって、
前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
【請求項２】
請求項１記載の鍵盤楽器のセンサデータ変換装置において、前記データ変換手段は、前記鍵あるいは前記ペダルの予め定めた所定位置における前記センサデータをＸとし、前記変換センサデータのビット数をＢ１とし、前記センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは自然数）とした場合に、前記センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは０≦Ｚ＜ｎを満たす整数）
を満たす場合に、前記センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを前記変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
【請求項３】
請求項１記載の鍵盤楽器のセンサデータ変換装置において、前記データ変換手段は、前記鍵あるいは前記ペダルの所定位置における前記センサデータをＸとし、前記変換センサデータのビット数をＢ１とし、前記センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは２以上の自然数）とした場合に、前記センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは１≦Ｚ＜ｎを満たす整数）
を満たす場合に、前記センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを前記変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
【請求項４】
請求項２または請求項３記載の鍵盤楽器のセンサデータ変換装置において、
前記ビットシフト手段は、前記各鍵あるいは前記各ペダル毎に前記Ｚの値に対応するランクデータを記憶するランクデータ記憶手段と、
いずれかの前記鍵あるいはいずれかの前記ペダルの動作時に前記ランクデータを読み出し、前記ビットシフト処理におけるビットシフト量を制御するシフト制御手段と、
を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
【請求項５】
請求項２ないし請求項４のいずれかに記載の鍵盤楽器のセンサデータ変換装置において、
前記所定位置をレスト位置とすることを特徴とする鍵盤楽器のセンサデータ変換装置。
【請求項６】
鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換方法であって、
前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換工程を備えたことを特徴とする鍵盤楽器のセンサデータ変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、鍵盤楽器のセンサデータ変換装置およびセンサデータ変換方法に係り、特に自動演奏を行うことが可能な鍵盤楽器において、鍵あるいはペダルの動作状態を検出するためのキーセンサあるいはペダルセンサの出力する検出信号あるいはこの検出信号に対応する検出データ（センサデータ）を変換するための鍵盤楽器のセンサデータ変換装置およびセンサデータ変換方法に関する。
【０００２】
【従来の技術】
ピアノの演奏においては、演奏者が鍵を押下すると、これに連動してダンパが弦から離れるとともにハンマが回転し、打弦が行われる。また、離鍵が行われるとダンパが弦に接して消音が行われる。このように楽音は、押鍵→打弦→離鍵→消音という一連の動作によって発生されるのが通常である。
このため、自動演奏を行う自動ピアノにおいては、上記一連の動作に基づいて演奏情報を生成して記録し、再生時には読み出された演奏情報に基づいて鍵あるいはペダルの動作を制御することが行われる。
この場合の鍵あるいはペダルの制御においては、演奏情報に基づいて、一方においてアクチュエータであるソレノイドを励磁して鍵を駆動し、これに応じてハンマが回転して打弦を行ない、他方においてソレノイドを励磁してペダルを駆動し、伸音（サスティニング）、弱音（ソフテヌート）あるいは消音（ミューティング）が行われることとなる。
【０００３】
ところで、このような自動ピアノにおいては、演奏記録時に押鍵すると打弦を行う通常の演奏と、押鍵しても打弦を行わない消音演奏とを行うことができる消音自動ピアノが知られている。
この消音自動ピアノは、押鍵により回動したハンマが弦に当たる手前でハンマアッセンブリのそれ以上の回動を阻止する機構を備えている。このような消音機構を使用する消音演奏では、打弦音を発生しない代わりに鍵等の動作をセンサで検知し、押鍵に対応した音高および強弱を持った楽音を電子的に発生することができるようになっている。
従来の消音自動ピアノにおいては、例えば、光センサなどのセンサを各鍵の下側に配置し、このセンサで鍵の下面に取り付けたシャッタの動作のタイミングおよび動作速度を検出するキーセンサ方式が採用されている。
例えば、特開平９−５４５８４号公報には、鍵の位置を連続的に検出する連続キーセンサを用いた自動ピアノの技術が開示されている。
【０００４】
【発明が解決しようとする課題】
上記特開平９−５４５８４号公報においては、連続キーセンサの出力信号をＡ／Ｄ変換するＡ／Ｄ変換器の出力ビット長が固定であるため、連続キーセンサの出力信号レベルが出力ビット長に対して大きすぎる場合には、飽和してしまうという不具合が生じる。逆に連続キーセンサの出力信号レベルが出力ビット長に対して小さすぎる場合には、実効的なデータのダイナミックレンジが減少してしまうという不具合が生じる。これに対処すべく、出力ビット長を長くすると、後段のデータ処理系におけるＲＡＭ容量が増大してしまうという新たな問題点が生じる。また、後段のプロセッサの処理可能ビット長は、通常２nであるので、出力ビット長を長くした場合、処理可能ビット長が一気に少なくとも倍になってしまうという問題点が生じる。
【０００５】
これらに対し、工場出荷時にキーセンサの特性をＡ／Ｄ変換器の出力ビット長に応じて最適化するようにしてダイナミックレンジを確保するという方法も考えられるが、経時変化、経年変化に対処できないこととなる。
そこで、本発明の第１の目的は、後段のデータ処理系のＲＡＭ容量を増大させることなく、処理系で使用するビット長に対して適切なダイナミックレンジを有するセンサデータあるいはセンサ出力信号を得ることが可能な鍵盤楽器のセンサデータ変換装置、センサデータ変換方法、センサ信号変換装置及びセンサ信号変換方法を提供することにある。
また、本発明の第２の目的は、経時変化、経年変化に対処することが可能な鍵盤楽器のセンサデータ変換装置、センサデータ変換方法、センサ信号変換装置及びセンサ信号変換方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、請求項１記載の構成は、鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換装置であって、前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換手段を備えたことを特徴としている。
【０００７】
請求項２記載の構成は、請求項１記載の構成において、前記データ変換手段は、前記鍵あるいは前記ペダルの予め定めた所定位置における前記センサデータをＸとし、前記変換センサデータのビット数をＢ１とし、前記センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは自然数）とした場合に、前記センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは０≦Ｚ＜ｎを満たす整数）
を満たす場合に、前記センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを前記変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴としている。
【０００８】
請求項３記載の構成は、請求項１記載の構成において、前記データ変換手段は、前記鍵あるいは前記ペダルの所定位置における前記センサデータをＸとし、前記変換センサデータのビット数をＢ１とし、前記センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは２以上の自然数）とした場合に、前記センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは−１≦Ｚ＜ｎを満たす整数）
を満たす場合に、前記センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを前記変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴としている。
【０００９】
請求項４記載の構成は、請求項２または請求項３記載の構成において、前記ビットシフト手段は、前記各鍵あるいは前記各ペダル毎に前記Ｚの値に対応するランクデータを記憶するランクデータ記憶手段と、いずれかの前記鍵あるいはいずれかの前記ペダルの動作時に前記ランクデータを読み出し、前記ビットシフト処理におけるビットシフト量を制御するシフト制御手段と、を備えたことを特徴としている。
【００１０】
請求項５記載の構成は、請求項２ないし請求項４のいずれかに記載の構成において、前記所定位置をレスト位置とすることを特徴としている。
【００１１】
請求項６記載の構成は、鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換方法であって、前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換工程を備えたことを特徴としている。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施形態について説明する。
［１］  実施形態
［１．１］  実施形態の全体構成
図１に実施形態の自動ピアノの要部の概要構成図を示す。
自動ピアノは、鍵１の運動をハンマ２に伝達するアクションメカニズム３と、ハンマ２によって打弦される弦４と、鍵１を駆動するソレノイド５と、弦４の振動を止めるためのダンパ６と、を備えて構成されている。
また自動ピアノは、記録メディアあるいはリアルタイム通信装置から供給される演奏データに基づいて、鍵の軌道データを生成するとともに軌道データを用いて鍵の原速度指示値（ｔ，Ｖr）を生成する再生前処理部１０と、供給された原速度指示値（ｔ，Ｖr）に基づいて、各時刻における鍵１の位置に対応した速度指示値Ｖrを生成し出力するモーションコントローラ１１と、速度指示値Ｖrに応じた励磁電流をソレノイド５に供給するとともに、ソレノイド５から供給されるフィードバック信号としての出力速度Ｖｙと速度指示値Ｖrを比較し、両者が一致するようにサーボ制御を行うサーボコントローラ１２と、を備えて構成されている。
【００１３】
さらに自動ピアノは、キーセンサを構成するセンサボックス２５と、キーセンサを構成し鍵１の下面に取り付けられた板状のシャッタ２６と、アクションメカニズム３に取り付けられたハンマシャッタ２７と、打弦速度を計測するためのセンサＳＥと、センサＳＥの出力信号に基づいてハンマシャッタ２７の移動速度を計測することにより、ハンマ２の速度、すなわち打弦速度（発音速度）を計測し、また、ハンマシャッタ２７がセンサＳＥを通過開始時刻を打弦時刻（発音時刻）として検出する演奏記録部３０と、を備えて構成されている。
【００１４】
［１．２］  制御系
図２に本実施形態の制御系の概要構成ブロック図を示す。
制御系は、制御系全体を制御するＣＰＵ２０１と、制御用プログラム、制御用データなどが格納されたＲＯＭ２０２と、各種データを一時的に格納するためのＲＡＭ２０３と、種々の制御用スイッチが設けられたパネルスイッチ部２０４と、図示しないアクチュエータを駆動し、ハンマ２が弦４に当接しない消音演奏モードとするアクチュエータ駆動回路２０８と、ＣＰＵ２０１から供給されるキー番号（＝キーコード）、ベロシティ（押鍵の強さに対応したデータ）、キーオン信号、キーオフ信号等の演奏制御データに基づいて楽音信号を生成し、スピーカＳＰあるいはヘッドホンＨＨに供給する音源回路２１０と、を備えて構成されている。
【００１５】
さらに制御系は、検出光を射出するＬＥＤ２２４を駆動するためのＬＥＤドライバ２２０と、ＬＥＤ２２４が射出した検出光が光ファイバを介して入力され、後述の受光側センサヘッド２２２に対して射出する発光側センサヘッド２２１と、検出光を受光して光ファイバを介して出力する受光側センサヘッド２２２と、受光側センサヘッド２２２の出力した検出信号の光電変換を行って検出信号として出力するフォトダイオード２２５と、検出信号のＡ／Ｄ変換を行って検出データとして出力するＡ／Ｄ変換回路２２３と、フレキシブルディスク２５１に対して演奏情報の書込／読み出しを行うフレキシブルディスクドライバ２５０と、ＲＡＭ２０３に一時的に格納された演奏情報に基づいて、ソレノイド駆動信号を生成し、ソレノイド５のソレノイドピン５Ｐを駆動してハンマ２を駆動して自動演奏を行うためのサーボコントローラ１２と、を備えて構成されている。
この場合において、発光側センサヘッド２２１、受光側センサヘッド２２２、ＬＥＤ２２４、フォトダイオード２２５及びシャッタ２６は、キーセンサを構成している。
【００１６】
［１．３］
図３に本実施形態のキーセンサの構成を示す概要構成図を示す。
図３において、光ファイバを介してＬＥＤ２２４から検出光が供給され、シャッタ２６の位置を検出すべく直径約５［ｍｍ］程度の検出光を射出する発光側センサヘッド２２１と、発光側センサヘッド２２１が射出した検出光を受光し、光ファイバを介してフォトダイオード２２５へ送出する受光側センサヘッド２２２と、を備えて構成されている。
受光側センサヘッド２２２により検出光は、フォトダイオード２２５へ送出され、フォトダイオード２２５によりその光量に応じた出力信号Ｓａに変換される。
この場合において、発光側センサヘッド２２１から射出される検出光は、シャッタ２６の検出光光路中への挿入状態に応じて遮蔽され、受光側センサヘッド２２２の受光量は、シャッタ２６の位置、すなわち、鍵１の位置に応じて変化することとなる。
【００１７】
従って、フォトダイオード２２５の出力信号Ｓａは、鍵１の位置に対応するアナログ量を有する信号となる。
例えば、出力信号Ｓａの変化は、鍵１を押鍵しない状態における位置（＝レスト位置）から鍵１を押鍵して、当接する位置まで押し込んだ状態における位置（＝エンド位置）との間で、図４に示すようにほぼ直線状態で表される。
このレスト位置とエンド位置との間には、センサの出力信号を参照するための検出位置に相当する後述する第１参照位置Ｋ１〜第４参照位置Ｋ４が設定される。
【００１８】
［１．４］  実施形態の動作
［１．４．１］  処理ルーチン
まず、実施形態の動作を行うための各種処理ルーチンについて説明する。
図５に処理ルーチン相互の関係を示すタイミングチャートを示す。
本実施形態の処理ルーチンは、大別すると、メインルーチン、Ａ／Ｄ割込ルーチン及びタイマ割込ルーチンがある。
メインルーチンは、発音制御における主な処理を行うルーチンであり、大半の処理は本メインルーチンにより行われることとなる。
Ａ／Ｄ割込ルーチンは、フォトダイオード２２５の出力信号を４個の鍵単位で読み込む処理を行う。このＡ／Ｄ割込ルーチンは、本実施形態ではおよそ４０［μｓｅｃ］毎に起動されるように設定されている。
タイマ割込ルーチンは、時間計測に用いられるタイマ値を更新するタイマ更新処理やカウント値を減算する処理などを行う。このタイマ割込ルーチンは、本実施形態では１００［μｓｅｃ］毎に起動されるように設定されている。
この場合において、Ａ／Ｄ割込ルーチンとタイマ割込ルーチンとが競合する場合には、タイマ割込ルーチンが優先的に起動されることとなる。これは、タイマ割込ルーチンが一定周期で起動されないとタイマの値に誤差が生じ、他の制御が乱れてしまうからである。
なお、図５においては各処理ルーチンの動作タイミングを模式的に示すものであり、実際の処理時間についての割合を正確に表しているものではない。
【００１９】
［１．４．２］  Ａ／Ｄ割込処理
ここで、Ａ／Ｄ割込処理について、図６を参照して説明する。この場合において、Ａ／Ｄ変換器２２３の出力データビット長は１０ビットであるものとし、ＣＰＵ２０１における処理データビット長は８ビットであるものとする。
Ａ／Ｄ変換器２２３は、ＣＰＵ２０１と並行して動作しており、４個の鍵に対応するキーセンサの出力信号のＡ／Ｄ変換が終了するとＡ／Ｄ割込要求を発生する。この場合において、上記４個の鍵は常に１組（１チャンネル）として取り扱われ、各チャンネルには、０〜２３のチャンネル番号（８８鍵の場合）が割り当てられているものとする。
これによりＣＰＵ２０１は、Ａ／Ｄ割込処理ルーチンに対応するＡ／Ｄ割込処理を開始する。
【００２０】
まず、ＣＰＵ２０１は、Ａ／Ｄ割込要求が入力されると、Ａ／Ｄ変換器２２３に対し、Ａ／Ｄ変換処理を停止させるためのＡ／Ｄストップ要求を出力し、これと並行して、次のチャンネルの４個の鍵に対応するキーセンサのＬＥＤ２２４を点灯させる（ステップＳ１）。
続いてＣＰＵ２０１は、Ａ／Ｄストップ要求を出力したチャンネルに対応する４個の鍵番号に対応するＲＡＭ２０３に予め格納しておいた鍵−ランク（rank）テーブルのランクデータを参照する。このランクデータの算出方法については後に詳述する。
そして、ＣＰＵ２０１各鍵のランクデータに基づいてＡ／Ｄ変換器２２３の出力データを構成するデータビット（上述の例の場合、１０ビット）のうち、いずれのデータビットを処理に用いるかを決定する。
より具体的には、図７に示すように、鍵−ランクテーブルが格納されているものとする。
【００２１】
この場合に、自動ピアノを構成する全８８鍵のうち、第８５鍵、第８６鍵、第８７鍵及び第８８鍵に対応する出力データの処理を行おうとする場合、ＣＰＵ２０１は、第８５鍵については、ランクデータ＝２であるので、図８（ｃ）に示すように、Ａ／Ｄ変換器２２３の出力データのうち、第２ビット〜第９ビットを８ビットの処理データビットとして扱うように決定する。
また、ＣＰＵ２０１は、第８６鍵については、ランクデータ＝０であるので、図８（ａ）に示すように、ＡＤ変換器２２３の出力データのうち、第０ビット〜第７ビットを８ビットの処理データビットとして扱うように決定する。
さらに、ＣＰＵ２０１は、第８７鍵については、ランクデータ＝１であるので、図８（ｂ）に示すように、ＡＤ変換器２２３の出力データのうち、第１ビット〜第８ビットを８ビットの処理データビットとして扱うように決定する。
同様にして、ＣＰＵ２０１は、第８８鍵についても、ランクデータ＝１であるので、図８（ｂ）に示すように、Ａ／Ｄ変換器２２３の出力データのうち、第１ビット〜第８ビットを８ビットの処理データビットとして扱うように決定する。
【００２２】
そして、ＣＰＵ２０１は、処理データビットとして決定したＡ／Ｄ変換器２２３の出力データの一部を正規のＡ／Ｄ変換結果データとして対応するタイマ値（＝各チャンネルの検出時刻に相当）とともに、ＲＡＭ２０３に転送し、ＲＡＭ２０３の所定領域に書き込むこととなる（ステップＳ２）。
次にＣＰＵ２０１は、検出対象のチャンネル番号を１インクリメントし（ただし、チャンネル番号＝２３の場合には、チャンネル番号＝０にリセットする）、Ａ／Ｄ変換器２２３におけるＡ／Ｄ変換処理を再開させるべく、Ａ／Ｄスタート要求をＡ／Ｄ変換器２２３に出力して（ステップＳ３）、Ａ／Ｄ割込処理を終了する。
【００２３】
［１．４．３］  メイン処理
次に本実施形態のメイン処理について説明する。
図９にメインルーチンの処理内容を示すフローチャートを示す。
まず、ＣＰＵ２０１は、電源が投入されると、レジスタ及びＲＡＭの初期化並びに割り込み設定を行う初期化処理を行う（ステップＳ１１）。
そして、各鍵（例えば、８８鍵の自動ピアノの場合、第１鍵〜第８８鍵）のレスト位置におけるＡ／Ｄ変換器２２３の出力データを取得する。
そして、各鍵に対応するＡ／Ｄ変換器２２３の出力データの値をＸとした場合に、
Ｘ＜２５６（＝２8）
である場合には、ランクデータ＝０として、ＲＡＭ２０３の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、ＡＤ変換器２２３の出力データのうち、第０ビット〜第７ビットの８ビットをＡＤ変換器２２３の処理対象出力データとし、この処理対象出力データに基づいて参照位置データＫ１〜Ｋ４を算出し、得られた処理対象出力データ及び参照位置データＫ１〜Ｋ４をＲＡＭ２０３に格納する（ステップＳ１２）。
【００２４】
同様にして、
２５６≦Ｘ＜５１２（＝２9）
である場合には、ランクデータ＝１として、ＲＡＭ２０３の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、ＡＤ変換器２２３の出力データのうち、第１ビット〜第８ビットの８ビットをＡＤ変換器２２３の処理対象出力データとし、この処理対象出力データに基づいて参照位置データＫ１〜Ｋ４を算出し、得られた処理対象出力データ及び参照位置データＫ１〜Ｋ４をＲＡＭ２０３に格納する（ステップＳ１２）。
【００２５】
同様に、
５１２≦Ｘ
である場合には、ランクデータ＝２として、ＲＡＭ２０３の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、ＡＤ変換器２２３の出力データのうち、第２ビット〜第９ビットの８ビットをＡＤ変換器２２３の処理対象出力データとし、この処理対象出力データに基づいて参照位置データＫ１〜Ｋ４を算出し、得られた処理対象出力データ及び参照位置データＫ１〜Ｋ４をＲＡＭ２０３に格納する（ステップＳ１２）。
そして、全鍵（上述の例の場合、全８８鍵）のレスト位置における処理対象出力データ及び参照位置データＫ１〜Ｋ４の格納が終了すると、処理対象の鍵（キー）の番号（初期値は８７で第８８鍵に相当）を格納している処理対象鍵レジスタの値に１を加える（ただし、鍵の番号＝８７の場合は、０とする）（ステップＳ１３）。
次に処理対象鍵レジスタの値に対応する鍵についてＡ／Ｄ割込処理において取得され、ＲＡＭ２０３の所定領域に書き込まれたＡ／Ｄ変換結果データ及び対応するタイマ値（＝各チャンネルの検出時刻に相当）を読込む（ステップＳ１４）。
【００２６】
次にＣＰＵ２０１は、予めＲＡＭ２０３に格納しておいた鍵（キー）の状態をＲＡＭ２０３から取得する（ステップＳ１５）。
ここで、鍵（キー）の状態について説明する。
鍵の状態としては、鍵がレスト位置と参照位置Ｋ１（図４参照）との間にある場合のＵＰＰＥＲ状態、鍵が参照位置Ｋ１を越え、参照位置Ｋ２に至らない位置にあるＴＯＵＣＨ−Ａ状態、鍵が参照位置Ｋ２を越え、参照位置Ｋ３に至らない位置にあるＣＯＵＮＴ−ＤＯＷＮ−０状態、鍵が参照位置Ｋ３を越え、参照位置Ｋ４に至らない位置にあるＣＯＵＮＴ−ＤＯＷＮ−１状態、鍵が参照位置Ｋ４を越えた位置にあるＣＯＵＮＴ−ＤＯＷＮ−２状態、押鍵速度が速く鍵位置のサンプリング間隔において、複数の参照位置を通過した状態にあるＣＯＵＮＴ−ＤＯＷＮ−３状態、発音がなされた状態であるＳＯＵＮＤ状態、離鍵状態にある鍵が参照位置Ｋ２を通過した状態にあるＨＯＬＤ状態、ＨＯＬＤ状態となった鍵がレスト位置に戻ることなく、再び押し下げられて参照位置Ｋ２を越えた状態であるＴＯＵＣＨ−Ｂ状態及びＴＯＵＣＨ−Ｂ状態となった鍵がその状態を予め定めた所定時間以上維持した状態であるＴＩＭＥ−ＯＶＥＲ状態がある。
【００２７】
次にＣＰＵ２０１は、鍵の状態がＵＰＰＥＲ状態であるか否かを判別し（ステップＳ１６）、鍵の状態がＵＰＰＥＲ状態である場合には（ステップＳ１６；Ｙｅｓ）、ＵＰＰＥＲ状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＵＰＰＥＲ状態に書き換え後（ステップＳ２２）、処理を再びステップＳ１３に移行する。
ステップＳ１６の判別において、鍵の状態がＵＰＰＥＲ状態ではない場合には（ステップＳ１６；Ｎｏ）、ＣＯＵＮＴ−ＤＯＷＮ−０状態、ＣＯＵＮＴ−ＤＯＷＮ−１状態、ＣＯＵＮＴ−ＤＯＷＮ−２状態あるいはＣＯＵＮＴ−ＤＯＷＮ−３状態のいずれかにあるか否かを判別し（ステップＳ１７）、鍵の状態がＣＯＵＮＴ−ＤＯＷＮ−０状態、ＣＯＵＮＴ−ＤＯＷＮ−１状態、ＣＯＵＮＴ−ＤＯＷＮ−２状態あるいはＣＯＵＮＴ−ＤＯＷＮ−３状態のいずれかにある場合には（ステップＳ１７；Ｙｅｓ）、ＣＯＵＮＴ−ＤＯＷＮ−０状態、ＣＯＵＮＴ−ＤＯＷＮ−１状態、ＣＯＵＮＴ−ＤＯＷＮ−２状態及びＣＯＵＮＴ−ＤＯＷＮ−３状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＣＯＵＮＴ−ＤＯＷＮ−０状態、ＣＯＵＮＴ−ＤＯＷＮ−１状態、ＣＯＵＮＴ−ＤＯＷＮ−２状態あるいはＣＯＵＮＴ−ＤＯＷＮ−３状態のうち、対応する状態に書き換え後（ステップＳ２３）、処理を再びステップＳ１３に移行する。
【００２８】
ステップＳ１７の判別において、鍵の状態がＣＯＵＮＴ−ＤＯＷＮ−０状態、ＣＯＵＮＴ−ＤＯＷＮ−１状態、ＣＯＵＮＴ−ＤＯＷＮ−２状態あるいはＣＯＵＮＴ−ＤＯＷＮ−３状態のいずれでもない場合には（ステップＳ１７；Ｎｏ）、鍵の状態がＴＯＵＣＨ−Ａ状態であるか否かを判別し（ステップＳ１８）、鍵の状態がＴＯＵＣＨ−Ａ状態である場合には（ステップＳ１８；Ｙｅｓ）、ＴＯＵＣＨ−Ａ状態に対応する発音制御処理ルーチンを実行後（ステップＳ２４）、処理を再びステップＳ１３に移行する。
ステップＳ１８の判別において、鍵の状態がＴＯＵＣＨ−Ａ状態ではない場合には（ステップＳ１８；Ｎｏ）、鍵の状態がＳＯＵＮＤ状態であるか否かを判別し（ステップＳ１９）、鍵の状態がＳＯＵＮＤ状態である場合には（ステップＳ１９；Ｙｅｓ）、ＳＯＵＮＤ状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＳＯＵＮＤ状態に書き換え後（ステップＳ２５）、処理を再びステップＳ１３に移行する。
ステップＳ１９の判別において、鍵の状態がＳＯＵＮＤ状態ではない場合には（ステップＳ１９；Ｎｏ）、鍵の状態がＨＯＬＤ状態であるか否かを判別し（ステップＳ２０）、鍵の状態がＨＯＬＤ状態である場合には（ステップＳ２０；Ｙｅｓ）、ＨＯＬＤ状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＨＯＬＤ状態に書き換え後（ステップＳ２６）、処理を再びステップＳ１３に移行する。
【００２９】
ステップＳ２０の判別において、鍵の状態がＨＯＬＤ状態ではない場合には（ステップＳ２０；Ｎｏ）、鍵の状態がＴＩＭＥ−ＯＶＥＲ状態であるか否かを判別し（ステップＳ２１）、鍵の状態がＴＩＭＥ−ＯＶＥＲ状態である場合には（ステップＳ２１；Ｙｅｓ）、ＴＩＭＥ−ＯＶＥＲ状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＴＩＭＥ−ＯＶＥＲ状態に書き換え後（ステップＳ２７）、処理を再びステップＳ１３に移行する。
ステップＳ２１の判別において、鍵の状態がＴＩＭＥ−ＯＶＥＲ状態ではない場合には（ステップＳ２１；Ｎｏ）、ＴＯＵＣＨ−Ｂ状態であると考えられるので、ＴＯＵＣＨ−Ｂ状態に対応する発音制御処理ルーチンを実行し、ＲＡＭ２０３の鍵の状態をＴＯＵＣＨ−Ｂ状態に書き換え後（ステップＳ２８）、処理を再びステップＳ１３に移行する。
［１．５］  実施形態の効果
以上の説明のように、本実施形態によれば、処理系（ＣＰＵ、ＲＡＭ等）の処理ビット数及び記憶容量を増加させることなく、Ａ／Ｄ変換器の出力データに基づいて適切なダイナミックレンジを有する処理データを得ることができ、精度の高い測定を行うことができる。
さらにＡ／Ｄ変換器の出力データの処理を動的に変化させることができるので、出力ビット長のみを長くし、各鍵毎に出力ビット中の使用すべきビット域（第何ビット目から第何ビット目まで）を自動ピアノの製造時に選択し、処理対象データのビット長を固定としておく方法と異なり、経時変化、経年変化に容易に対処することができる。
【００３０】
［２］  実施形態の変形例
［２．１］  第１変形例
上記説明においては、Ａ／Ｄ変換器の出力ビット長が１０ビットの場合について説明したが、より一般的には、予め定めた所定位置におけるＡ／Ｄ変換器の出力データであるセンサデータをＸとし、ＣＰＵで処理可能なデータである変換センサデータのビット数をＢ１とし、センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは自然数）とした場合に、センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは０≦Ｚ＜ｎを満たす整数）
を満たす場合に、センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うように構成すればよい。
【００３１】
［２．２］  第２変形例
上記説明においては、Ａ／Ｄ変換器の出力ビット長が１０ビットの場合について説明したが、第１変形例と同様に、予め定めた所定位置におけるＡ／Ｄ変換器の出力データであるセンサデータをＸとし、ＣＰＵで処理可能なデータである変換センサデータのビット数をＢ１とし、センサデータのビット数をＢ２（Ｂ２＝Ｂ１＋ｎ；ｎは２以上の自然数）とした場合に、センサデータＸが、
２(Z+B1)≦Ｘ＜２(Z+B1+1)  （ただし、Ｚは１≦Ｚ＜ｎを満たす整数）
を満たす場合に、センサデータのデータビットのうち、第（Ｚ＋１）ビット〜第（Ｂ１＋Ｚ）ビットのデータビットを変換センサデータの第０ビット〜第（Ｂ１−１）ビットのデータビットとするビットシフト処理を行うように構成することも可能である。
【００３２】
［２．３］  第３変形例
上記説明においては、ランクに応じて、Ａ／Ｄ変換器の出力データを構成するデータビットのうち、用いるデータビット位置をシフトするように構成していたが、例えば、ランクデータ＝０の場合には、上位ビット側に２ビットシフトし、ランクデータ＝１の場合には、上位ビット側に１ビットシフトし、常に第２ビット〜第９ビットをＣＰＵ側で用いるようにしても同様の効果が得られる。
同様に、ランクデータ＝０の場合には、上位ビット側に１ビットシフトし、ランクデータ＝２の場合には、下位ビット側に１ビットシフトし、常に第１ビット〜第８ビットをＣＰＵ側で用いるようにしてもよい。
【００３３】
［２．４］  第４変形例
上記説明においては、鍵の場合のセンサデータ変換処理についてのみ説明したが、ペダルであっても同様に適用することが可能である。
［２．５］  第５変形例
上記説明においては、所定位置をレスト位置として、ランクデータを設定していたが、Ａ／Ｄ割込処理毎にランクデータをリアルタイムで設定するように構成することも可能である。
［２．６］  第６変形例
上記説明においては、ランクデータを実際の稼働時に設定していたが、経時変化が小さく、個体差の小さなセンサを用いることができれば、予めランクデータを固定的に定めておくことも可能である。
［２．７］  第７変形例
以上の説明においては、自動ピアノについて説明したが、他の鍵盤楽器についても本発明の適用が可能である。
【００３４】
【発明の効果】
本発明によれば、鍵あるいは前記ペダルの動作状態において出力されるセンサの検出信号の信号レベル範囲に基づいて、変換センサデータのデータ範囲が予め定めた所定データ範囲となるようにデータ変換を行い、あるいは、センサの検出信号の信号レベル範囲を検出し、変換センサ信号の信号レベル範囲が予め定めた所定信号レベル範囲となるように検出信号の増幅率を変化させて増幅することにより変換センサ信号を生成し、出力するので、後段のデータ処理系の記憶容量を増大させることなく、処理系で使用するビット長に対して適切なダイナミックレンジを有するセンサデータあるいはセンサ出力信号を得ることが可能となる。
また、データ変換の方法あるいは増幅率の変更は動的に行えるので、経時変化、経年変化に容易に対処することができる。
【図面の簡単な説明】
【図１】  実施形態の自動ピアノの要部の概要構成図である。
【図２】  実施形態の自動ピアノの制御系の概要構成を示すブロック図である。
【図３】  キーセンサの構成を説明する図である。
【図４】  キーストロークと参照位置との関係説明図である。
【図５】  実施形態の各処理のタイミングチャートである。
【図６】  Ａ／Ｄ割込処理の処理フローチャートである。
【図７】  ランクデータの格納状態説明図である。
【図８】  ランクデータと実際に使用するデータビットとの関係を説明する図である。
【図９】  メインルーチンの処理フローチャートである。
【符号の説明】
１…鍵、２…ハンマ、３…アクションメカニズム（ハンマアクション）、４…弦、５…ソレノイド、５Ｐ…ソレノイドピン、６…ダンパー（止音機構）、１０…再生前処理部、１１…モーションコントローラ、１２…サーボコントローラ、２５…センサボックス、２６…シャッタ、２７…ハンマシャッタ、３０…演奏記録部、３１…記録後処理部、２０１…ＣＰＵ、２０２…ＲＡＭ、２０３…ＲＯＭ、２０４…パネルスイッチ部、２０８…アクチュエータ駆動回路、２１０…音源回路、２２０…ＬＥＤドライバ、２２１…発光側センサヘッド、２２２…受光側センサヘッド、２２３…Ａ／Ｄ変換回路、２２４…ＬＥＤ、２２５…フォトダイオード、２５０…フレキシブルディスクドライバ、２５１…フレキシブルディスク。
【図１】
0004110691.tif 000002
【図２】
0004110691.tif 000003
【図３】
0004110691.tif 000004
【図４】
0004110691.tif 000005
【図５】
0004110691.tif 000006
【図６】
0004110691.tif 000007
【図７】
0004110691.tif 000008
【図８】
0004110691.tif 000009
【図９】
0004110691.tif 000010