(57)【要約】 【課題】  自動演奏ピアノにおいて、センサの出力特性の経時変化によらずに正確な物理量を出力する。【解決手段】  自動演奏ピアノは、ハンマ２の動きを検出する光学式センサ２６を有し、センサ２６はハンマ２の動きに応じた出力電圧（検出信号）をＣＰＵ２０を含む信号処理モジュールに出力する。また、ＣＰＵ２０は少なくとも２通りの光量（ゲイン調整特性：例えば明るい光量と暗い光量）でそれぞれ発光調整したセンサ２６を用いて、ハンマ２のレスト位置及びエンド位置での検出信号を取得し、こうして取得した４つの検出信号に基づきセンサ２６の出力特性におけるオフセット値を算出する処理を行う。算出したオフセット値はＲＯＭ２１、ＲＡＭ２２等のメモリに記憶される。自動演奏ピアノの通常動作中には、前記算出されたオフセット値によってセンサ２６から出力される検出信号を修正することにより、ハンマ２の変位を表す物理量を出力する。【選択図】  図２
2006084686.tif 000002
【特許請求の範囲】
【請求項１】
操作者の操作に応じて変位する変位部材と、
前記変位部材の変位に応じた検出信号を出力する検出手段であって、ゲインの調整が可能なものと、
少なくとも２通りのゲイン調整特性でそれぞれゲイン調整した前記検出手段を用いて、前記変位部材の少なくとも所定の２箇所以上の変位位置についての検出信号を夫々取得し、こうして取得した複数の検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するオフセット値算出手段と、
前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、前記変位部材の変位を表す物理量を出力する物理量出力手段と
を具える物理量検出装置。
【請求項２】
操作者の操作に応じて変位する変位部材と、
前記変位部材の変位に応じた検出信号を出力する検出手段であって、ゲインの調整が可能なものと、
少なくとも２通りのゲイン調整特性でそれぞれゲイン調整した前記検出手段を用いて、前記変位部材の少なくとも所定の２箇所以上の変位位置についての検出信号を夫々取得し、こうして取得した複数の検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するオフセット値算出手段と、
前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより前記変位部材の変位を表す物理量を出力する物理量出力手段と
を備える鍵盤楽器。
【請求項３】
操作者の操作に応じて変位する変位部材の変位を表す物理量を検出する方法であって、
所定のゲイン調整特性でゲイン調整した検出手段を用いて、変位部材の変位に応じた検出信号を、少なくとも所定の２箇所以上の変位位置について出力するステップと、
前記所定のゲイン調整特性とは異なるゲイン調整特性でゲイン調整された検出手段を用いて、変位部材の変位に応じた検出信号を前記所定の２箇所以上の変位位置について出力するステップと、
前記出力された各検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するステップと、
前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、該変位部材の変位を表す物理量を出力するステップと
を含む方法。
【請求項４】
操作者の操作に応じて変位する変位部材の変位を表す物理量を検出する処理をコンピュータに実行させるプログラムであって、
所定のゲイン調整特性でゲイン調整した検出手段を用いて、変位部材の変位に応じた検出信号を、少なくとも所定の２箇所以上の変位位置について出力するステップと、
前記所定のゲイン調整特性とは異なるゲイン調整特性でゲイン調整された検出手段を用いて、変位部材の変位に応じた検出信号を前記所定の２箇所以上の変位位置について出力するステップと、
前記出力された各検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するステップと、
前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、該変位部材の変位を表す物理量を出力するステップと
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、操作者の操作に応じた可動部材の変位を物理量として検出する物理量検出装置、物理量検出方法、物理量検出プログラムであって、特に、ピアノのハンマや鍵など、演奏操作に応じて変位する演奏操作子の変位の物理量検出に好適なものに関し、また、該物理量検出を行う装置、方法又はプログラムを備えた鍵盤楽器に関する。
【背景技術】
【０００２】
従来より、自動演奏ピアノ等の鍵盤楽器においては、鍵やハンマ等の動きをセンサで検知し、検出結果を演奏データとして記録したり、電子音源に供給して楽音を電子的に発生することが行われている。この種の鍵盤楽器において、ハンマの動作を連続量で検出するハンマセンサを設けて、より正確な打弦タイミングおよび打弦速度を取得できるようにしたものが知られている。下記特許文献１には、ハンマセンサを有する鍵盤楽器の一例として、ハンマシャンクの変位を連続量で検出するハンマセンサを設け、鍵操作時に該ハンマセンサからハンマ運動に関する物理量（位置、速度或いは加速度）を連続量で検出し、その検出結果を用いて、ピアノ演奏に関る種々の情報を取得する装置が開示されている。該情報は、例えば下記（１）〜（９）等である。すなわち：（１）ハンマの動作開始タイミング、（２）打弦タイミング、（３）打弦直前のハンマ速度、（４）押鍵タイミング、（５）バックチェックタイミング、（６）バックチェックが外れたタイミング、（７）バックチェックが外れた後のハンマ速度、（８）ダンパ復帰タイミング、（９）ハンマ動作終了タイミング、（１０）離鍵タイミングなどである。
【特許文献１】特開２００１−１７５２６２号公報
【０００３】
上記特許文献１に代表される従来の装置構成によると、前記ピアノ演奏に関る種々の情報を生成するに際して、制御系は、ハンマ動作の開始や打弦動作の有無の判定等のハンマ動作の判定処理により、ハンマの動作状態を判断している。そのハンマ動作状態の判断は、ハンマセンサの出力と所定の閾値を比較することによって行われていた。すなわち、センサの出力と所定の閾値を比較することで、センサ出力とハンマの動作位置の対応付けを行い、ハンマの動作位置からハンマ動作状態を判断するのである。また、上記特許文献１に代表される装置においては、ハンマの運動を連続量で検出するセンサの方式としては、光学式センサを適用することが多い。光学式センサは、例えばＬＥＤから成る発光部とフォトダイオードから成る受光部を備え、受光部で受けた光量に応じた検出信号（電圧値）を出力するものである。ところで、この種の光学式センサでは、例えば、使用中に光量が低下してしまうなど、センサの入出力特性に経時的変化が生じるという性質がある。しかしながら、従来の技術では、そのようなセンサの入出力特性の経時変化（例えば、光量の低下など）に対する対応が不十分であったので、センサ出力とハンマの動作位置の対応付けが正確に行えなくなってしまい、制御系がハンマの物理量（例えば位置情報）を正確に検知できなくなってしまうという不都合があった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述の点に鑑みてなされたもので、経時的変化等によってセンサの入出力特性が変わってしまったとしても、正確な物理量の検出が行えるようにした物理量検出装置、物理量検出方法、物理量検出プログラム及び鍵盤楽器を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、操作者の操作に応じて変位する変位部材と、前記変位部材の変位に応じた検出信号を出力する検出手段であって、ゲインの調整が可能なものと、少なくとも２通りのゲイン調整特性でそれぞれゲイン調整した前記検出手段を用いて、前記変位部材の少なくとも所定の２箇所以上の変位位置についての検出信号を夫々取得し、こうして取得した複数の検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するオフセット値算出手段と、前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、前記変位部材の変位を表す物理量を出力する物理量出力手段とを具える物理量検出装置である。
【０００６】
また、この発明は、操作者の操作に応じて変位する変位部材と、前記変位部材の変位に応じた検出信号を出力する検出手段であって、ゲインの調整が可能なものと、少なくとも２通りのゲイン調整特性でそれぞれゲイン調整した前記検出手段を用いて、前記変位部材の少なくとも所定の２箇所以上の変位位置についての検出信号を夫々取得し、こうして取得した複数の検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するオフセット値算出手段と、前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、前記変位部材の変位を表す物理量を出力する物理量出力手段とを具える鍵盤楽器である。
【０００７】
また、この発明は、操作者の操作に応じて直接又は間接的に変位する変位部材の変位を表す物理量を検出する方法であって、所定のゲイン調整特性でゲイン調整した検出手段を用いて、変位部材の変位に応じた検出信号を、少なくとも所定の２箇所以上の変位位置について出力するステップと、前記所定のゲイン調整特性とは異なるゲイン調整特性でゲイン調整された検出手段を用いて、変位部材の変位に応じた検出信号を前記所定の２箇所以上の変位位置について出力するステップと、前記出力された各検出信号に基づき前記検出手段の出力特性におけるオフセット値を算出するステップと、前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、該変位部材の変位を表す物理量を出力するステップとを含む方法、或いは、前記方法をコンピュータに実行させるプログラムとして構成することも可能である。
【発明の効果】
【０００８】
これによれば、オフセット値算出手段により、少なくとも２通りのゲイン調整特性でそれぞれゲイン調整した前記検出手段を用いて、前記変位部材の少なくとも所定の２箇所以上の変位位置についての検出信号を取得し、該取得した複数の検出信号に基づき前記検出手段の出力のオフセット値を算出し、物理量出力手段は、前記算出されたオフセット値によって、前記検出手段から出力する検出信号を修正することにより、前記変位部材の変位を表す物理量を出力するので、検出手段の出力特性のオフセットを補正した物理量を出力でき、経時的変化等によってセンサの入出力特性が変わってしまったとしても、正確な物理量の検出が行えるようになるという優れた効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下添付図面を参照して、この発明の一実施例について説明する。
図１は、この発明の一実施例に係る自動演奏ピアノの構成例を説明するための図であって、機械的な発音機構の要部を抽出して示すと共に、電気的制御系の機能ブロックを示している。図１に示すように、自動演奏ピアノは、機械的な発音機構として、鍵１と、該鍵１に連動して回動ストロークするハンマ２と、該鍵１の運動をハンマ２に伝達するためのアクション機構３と、該ハンマ２によって打撃される弦４と、電気的制御に基づき鍵１を駆動する電磁ソレノイド５と、弦４の振動を止めるためのダンパ６とを含む。これらの構成は、一般的な自動演奏ピアノと同様である。なお、後述するように、この実施例においては、電磁ソレノイド５の駆動をサーボ制御する構成が適用されており、ソレノイド５にはプランジャ動作を検出するフィードバックセンサが具備されるものとする。
また、この自動演奏ピアノには、通常のアコースティックピアノと同様にバックチェック７が設けられており、このバックチェック７は打弦時の反動によるハンマ２の暴れを防止するための部材である。この自動演奏ピアノは、上記のほかにも、通常のアコースティックピアノと同様な各種構成要素を具備するが、それらの説明及び図示は省略する。ハンマ２は、アクション機構３に対して、ハンマシャンク２ａを介して動作支点２ｂを中心にして回動自在に連結されており、対応する鍵１が非押鍵（外力を加えない状態）の時には、図１に示すようなレスト位置（ストローク量０ｍｍの位置）にある。そして、対応する鍵１の変位（上下揺動）に連動して、基本的には該レスト位置から所定のエンド位置の間で回動ストロークする。この実施例において、ハンマ２のエンド位置は、ハンマ２が該レスト位置から４８ｍｍ変位した位置とする。
【００１０】
図１において、符号２６は、ハンマ２の変位に応じた検出信号を連続量で検出するセンサである。センサ２６は、例えば、ハンマ２の連続的な位置情報を出力可能な光学式の位置センサを適用してよい。ハンマ２の連続位置を検出に好適な光学式センサの構成例について簡単に説明すると、光学式センサは、例えば、ＬＥＤと光ファイバで繋がる発光側センサヘッドとフォトダイオードと光ファイバで繋がる受光側センサヘッドとを有し、該ＬＥＤの光が発光側センサヘッドから照射されて、フォトダイオードと光ファイバで繋がる受光側センサヘッドにおいて受光され、フォトダイオードによって受光量に応じた出力電圧を取り出すことができる。該受光側センサヘッドにおいて受光する光量が、ハンマ２の変位に対応して変化するよう構成することで、該ハンマ２のストローク位置に応じた出力電圧を当該センサの検出信号として得ることができる。なお、この実施例において、光学式センサ２６は、ＬＥＤの発光量の調整（センサ２６のゲインの調整）が可能なものとする。
【００１１】
当該センサ２６から出力される電圧値（アナログ信号）は、図示を省略したＯＰアンプ、ＡＤ変換器を介して、次に述べる信号処理部２７に、ディジタル信号として出力される。以下、この明細書中では、ディジタル信号に変換されたセンサ出力信号を「ＡＤ値（アナログ／ディジタル変換値）」と略称する。ＡＤ値は、センサ２６の出力（すなわちハンマ位置の測定値）を、例えば「０〜１０２３」の範囲の数値によって表現するデータである。
なお、当該自動演奏ピアノに備わる全てのハンマ（８８個）に対して、夫々独立したセンサ２６（ＬＥＤとフォトダイオード）を配設するとコストが高くなってしまう。この点について、１２個のＬＥＤと８個のフォトダイオードとを用いて、８８個のハンマの夫々の動きを個別にセンシング可能なセンサマトリクスを構成する技術が本出願人により提案されており（特開平９−５４５８４号公報を参照）、この実施例に係るセンサ２６は該センサマトリックスにより構成されるものとする。これに限らず、ＬＥＤとフォトダイオードからなるセンサ２６を当該自動演奏ピアノに備わる全てのハンマに個別に配設する構成であってもよい。
【００１２】
図１に示す電気的制御系の機能ブロックについて説明する。信号処理部２７は、センサ２６の出力に基づき演奏データを生成する処理（演奏の録音処理）を担うモジュールである。また、再生前処理部１０、モーションコントローラ１１及びサーボコントローラ１２は演奏データの再生処理を担うモジュールに相当する。この実施例において、これら各モジュールにおいて実施される信号処理は、コンピュータが実行するソフトウェアプログラムによって実現されるものとする。図２は、当該自動演奏ピアノの電気的ハードウェア構成を示すブロック図である。当該自動演奏ピアノは、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２及び記憶装置２３を含み、各装置間がデータ及びアドレスバス２０Ｂを介して接続される。センサ２６の出力はＡＤ変換器を含むインターフェース（Ｉ/Ｏ）２４を介して所定のサンプリング周期で制御系に取り込まれる。ＣＰＵ２０は、当該自動演奏ピアノの全体的な動作を制御するとともに、演奏データの再生や録音等の各種信号処理を実行する。ＣＰＵ２０が実行する各種処理の制御プログラムは、例えばＲＯＭ２１内に記憶されていてよい。また、ＲＯＭ２１或いはＲＡＭ２２等の適宜のメモリには、各種信号処理の実行中に発生した各種データや各種パラメータや、該各種信号処理において参照する各種テーブル等が記憶される。また、記憶装置２３は、ハードディスク、フレキシブルディスク又はフロッピー（登録商標）ディスク、コンパクトディスク（ＣＤ‐ＲＯＭ）、光磁気ディスク（ＭＯ）、ＺＩＰディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、半導体メモリ等、適宜の記録媒体で構成されてよい。
【００１３】
図１に戻ると、信号処理部２７は、所定のサンプリング周期でセンサ２６の出力を取り込む。信号処理部２７内に示す算出部２８及び処理部３０は、信号処理部２７にて実行する信号処理の機能を概念的に抽出して表すものである。算出部２８は、センサ２６から出力されたＡＤ値（ハンマ２の動作位置を表すデータ）に基づき、打弦タイミングや打弦速度等、演奏に関る種々の情報を算出するモジュールである。処理部３０は、前記算出部２８で生成した種々の情報に基づき、ＭＩＤＩ形式等の適宜のデータフォーマットの演奏データを生成するモジュールである。前記演奏データは、基本的には、ノートナンバーとベロシティデータを含んで構成されるノートオン／オフデータである。生成された演奏データは記憶装置２３に記録しうる。また、生成された演奏データを、図示しない入出力インターフェースを介して図示しない外部機器に供給したり、或いは、図示しない通信ネットワークを介して該ネットワーク上の他の装置にリアルタイムで供給したりしてもよい。
また、この実施例では、信号処理部２７は、上記の演奏の録音処理のほかに、センサ２６から出力されたＡＤ値に基づき、後述するオフセット値の算出処理等を行う。
【００１４】
再生前処理部１０は、図示しない適宜の記録媒体や、リアルタイム通信装置等から供給される演奏データに基づいて、鍵１の動作の軌道を指示する軌道データを生成するとともに、該軌道データを用いて鍵の原速度指示値（ｔ，Ｖｒ）を生成する。なお、原速度指示値（ｔ，Ｖｒ）において、「ｔ」は時間データであり、Ｖｒが時間データｔに対応する原速度指示値である。モーションコントローラ１１は該原速度指示値（ｔ，Ｖｒ）に基づいて、前記起動データを実現するためにソレノイド５に対して与えるべき速度目標値Ｖｒを生成してサーボコントローラ１２に出力する。サーボコントローラ１２は、前記速度指示値Ｖｒとソレノイド５から帰還入力されるフィードバック速度信号Ｖｙに基づく励磁電流（例えばＰＷＭ発生器２５によって発生されるＰＷＭ形式の電流信号）によってソレノイド５を駆動させることで、該ソレノイド５の駆動をサーボ制御する。
また、上記のようにソレノイド５の駆動により鍵１の打鍵動作を制御して、機械的に楽音を発生させることのみならず、音源装置やスピーカ等から構成される電子楽音発生部１３を利用して電子的に楽音を発生させることもできる。すなわち、再生前処理部１０は、記録媒体やリアルタイム通信装置等から供給される演奏データを電子楽音発生部１３に供給し、電子楽音発生部１３では該供給された演奏データに基づき電子的に楽音を発生することで、該演奏データに応じた演奏音を電子的に発音させることができる。なお、電子楽音発生部１３によって電子的に自動演奏を行う際の演奏データのデータ形式や、音源方式等は従来から知られるどのようなものを適用してもよい。
【００１５】
上記構成からなる自動演奏ピアノにおける演奏の記録処理（演奏データの生成処理）と再生処理の動作手順の概略について簡単に説明する。操作者は、例えばコントローラに備わる録音指示スイッチの操作等によって演奏の記録処理の開始を指示できる。信号処理部２７では、センサ２６からの検出結果に基づいて、打弦速度や打弦時刻等、に関する各種情報を求め、前記各種情報に基づきピアノ演奏の演奏内容を表す演奏データを生成する。生成した演奏データは図示しない適宜の記録媒体に記録したり、図示しない外部機器に出力してよい。
また、操作者は例えばコントローラに備わる再生スイッチの操作等により演奏データの再生処理の開始を指示できる。再生前処理部１０は、時々刻々供給される演奏データに基づき鍵１の動作の軌道を指示する軌道データを生成するとともに、該軌道データを用いて鍵の原速度指示値（ｔ，Ｖｒ）を生成する。モーションコントローラ１１では、該原速度指示値（ｔ，Ｖｒ）に基づき、ソレノイド５に対して与えるべき速度目標値Ｖｒが生成される。サーボコントローラ１２では、速度指示値Ｖｒとソレノイド５から帰還入力されるフィードバック速度信号Ｖｙに基づきソレノイド５を駆動するための励磁電流を発生し、該ソレノイド５は該励磁電流によって駆動される。これにより、前記演奏データに応じた軌道（ストローク動作）に従い鍵１が打鍵駆動されて、ハンマ２が打弦運動することで、演奏データに応じたピアノ演奏が行われる。また、再生前処理部１０は再生すべき演奏データに基づき電子楽音発生部１３を制御して、電子楽音発生部１３において演奏データに応じた楽音を電子的に発生することも可能である。
【００１６】
上述の通り光学式センサによって構成したハンマセンサ２６は、ハンマの動作位置に応じて、受光側センサヘッド（フォトダイオード）にて受光する光量が変化し、該フォトダイオードは該受光した光量に応じた電圧値を出力するものであり、信号処理部２７では供給されたＡＤ値（数値）をハンマの実際の動作位置に対応付ける必要がある。
ＡＤ値とハンマの動作位置とを対応付ける方法として、例えば特開２０００−１５５５７９号公報に記載されているような「キャリブレーション比」を利用する方法が知られている。キャリブレーション比は、レスト位置のＡＤ値に対するエンド位置のＡＤ値を表現した比であって、例えば工場出荷時等に、レスト位置のＡＤ値とエンド位置のＡＤ値を実測し、該実測されたした両ＡＤ値に基づき算出される。キャリブレーション比の算出は８８個の各ハンマ毎に行われる。算出された各ハンマ毎のキャリブレーション比は例えばフラッシュメモリ（ＲＯＭ２１）等の不揮発性メモリ内に記録される。キャリブレーション比はレスト位置に相当するＡＤ値とエンド位置に相当するＡＤ値の関係を比で表したものであるから、当該ハンマについてレスト位置（非動作状態）でのＡＤ値を実測すれば、そのＡＤ値と当該ハンマのキャリブレーション比から、エンド位置に相当するＡＤ値や、或いは、その他任意の地点に相当するＡＤ値を推定できることになる。このように、信号処理部２７では、キャリブレーション比を用いてエンド位置に相当するＡＤ値や、或いは、その他任意の地点に相当するＡＤ値を推定することで、供給されたＡＤ値をハンマの動作位置に対応付けて認識することができる。
【００１７】
ところで、従来の技術の問題点として、光学式センサの入出力特性の変化（例えば、光量の低下など）に対する対応の不十分という問題を先に挙げた。図３は、ＡＤ値とハンマの動作位置の関係の一例を示すグラフであり、センサの入出力特性が異なる３通りの例を示している。図において、縦軸にＡＤ値をとり、横軸にハンマ位置をとると共に、ハンマのストロークのレスト位置を「Ｒ」、また、そのエンド位置を「Ｅ」で示す。図３において、直線Ａにより、ハンマの変位に応じたセンサ出力（ＡＤ値）の真値の出力特性を表現するものとする。真値は、ハンマ変位とセンサ出力の特性（ＡＤ値）が比例関係にある或る理想的な測定値として想定した値である。
センサ２６（ＯＰアンプやＡＤ変換器をも含む検出信号の出力系）にオフセットがある場合、ハンマの変位に応じたセンサ出力（ＡＤ値）の測定値の出力特性は、例えば図４に示す点線Ｂのようである。図から明らかなように、点線Ｂの出力特性には特性Ａに対してオフセット分だけズレが生じている。この場合において、センサ２６のＬＥＤの発光量が弱くなった場合の、ハンマの変位に応じたセンサ出力（ＡＤ値）の測定値の出力特性は、例えば図４に示す一点鎖線Ｃのようになる。
【００１８】
図４は、図３に示すＡ〜Ｃの各出力特性ごとのレスト位置Ｒ及びエンド位置ＥにおけるＡＤ値の測定値の一例を示す表である。図４から明らかなように、各特性におけるレスト位置ＲのＡＤ値に対するエンド位置ＥのＡＤ値の比率は一様ではない。すなわち、センサ２６（ＯＰアンプやＡＤ変換器をも含む検出信号の出力系）にオフセットがある場合（特性Ｂ及びＣの場合）、ハンマの動作位置に対する測定値（ＡＤ値）の出力特性が、真値Ａの出力特性と異なってしまう。このため、制御系（信号処理部２７）が、レスト位置で測定したＡＤ値からキャリブレーション比を用いてエンド位置に相当するＡＤ値や、或いは、その他任意の地点に相当するＡＤ値を推定したとしても、ハンマの動作位置の正しい推定ができなくなってしまうことになる。
【００１９】
この発明に係る実施例によれば、上記の点について、測定値（ＡＤ値）に出力特性の誤差を相殺するためのパラメータたる「オフセット値ｘ」を加算してＡＤ値の補正を行うことで、センサの出力特性の変化の影響を受けない、正確なＡＤ値を信号処理部２７に供給して、ハンマの動作位置を正しく認識することができるようになる点に特徴がある。図４（ａ）に表れている通り、オフセット値ｘはセンサ２６のＬＥＤの光量０（すなわち入力０）に対する出力の差分として表れる値である。オフセット値ｘがプラスに出る場合は、光量０の時、オフセットに相当する幾らかの値がＡＤ値として出力されており、オフセット値ｘがマイナスに出る場合は、光量が幾らか出ていても、ＡＤ値の値が出力されない（０のまま）である。図３に示す特性Ｂ，Ｃは後者の一例に該当する。
【００２０】
図５は前記オフセット値ｘを求める手順の一例を示すフローチャートである。フローチャートを参照して、オフセット値ｘを求める手順の一例について説明する。
当該処理は、例えばコントローラに備わるオフセット値ｘ設定指示のスイッチ操作によって起動してよい（ステップＳ１）。ステップＳ２において、処理対象となる鍵を示すキーナンバＫｎを０にリセットし、ステップＳ２において該キーナンバＫｎを１つインクリメントする。すなわち、当該処理の１巡目では、キーナンバＫｎ＝１の鍵に対して以下に述べる処理を実行し、当該ステップＳ３に処理が戻ってくる毎に処理対象となる鍵のキーナンバＫｎがインクリメントされることで、当該処理を８８鍵の各鍵に順次実行する。
【００２１】
ステップＳ４では、センサ２６のＬＥＤを所定の明るい光量で発光せしめ、該所定の明るい光量によって、ハンマ２がレスト位置Ｒ１にあるときのＡＤ値ｒ１を測定する。測定したＡＤ値ｒ１は適宜の記憶メディア（ＲＡＭ等）にバッファする。ここで、この実施例に係るセンサ２６は、上述の通り発光側センサヘッド（ＬＥＤ）のゲイン調整可能なタイプの光学式センサであるからＬＥＤの発光量の調整が可能である。前記所定の明るい光量は、例えばＬＥＤが発光可能な光量で一番明るい発光量である。ステップＳ５では、自動演奏の再生制御系（図１に示す再生前処理部１０、モーションコントローラ１１及びサーボコントローラ１２）の制御により、所定の速度で鍵１を駆動して、ハンマ２を動かす。前記所定の速度は、適宜の中庸な速度でありさえすればよい。そして、ステップＳ６では、該駆動されたハンマ２のエンド位置ＥでのＡＤ値ｅ１を、前記所定の明るい光量で測定し、該測定したＡＤ値ｅ１をバッファする。どの時点でのＡＤ値をエンド位置のものとして採用するかは、周知の適宜の方法によって判断されてよいが、例えば、ＡＤ値の大きさが最小値にある（つまり、ハンマの動作軌道の頂点に対応する）ものを採用することができる。このように、ステップＳ４〜Ｓ６では、所定の明るい光量で、ハンマ２のレスト位置及びエンド位置でのＡＤ値の測定値ｒ１，ｅ１を得る。ここで、測定した所定の明るい光量で測定したＡＤ値は、前述図３の点線Ｂの特性に対応している。
【００２２】
ステップＳ７では、センサ２６のＬＥＤを所定の暗い光量で発光せしめ、該所定の暗いい光量によって、ハンマ２がレスト位置Ｒ１にあるときのＡＤ値ｒ２を測定し、該測定したＡＤ値ｒ２をバッファする。前記所定の暗い光量は、例えばＬＥＤが発光可能な光量で一番暗い光量である。そして、ステップＳ８において、前記所定の速度で鍵１を駆動して、ハンマ２を動かし、ステップＳ９では、該駆動されたハンマ２のエンド位置ＥでのＡＤ値ｅ２を、前記所定の暗い光量で測定して、該測定したＡＤ値ｅ２をバッファする。このように、ステップＳ７〜Ｓ９では、所定の暗い光量で、ハンマ２のレスト位置及びエンド位置でのＡＤ値の測定値ｒ２，ｅ２を得る。ここで、測定した所定の暗い光量で測定したＡＤ値は、前述図３の一点鎖線Ｃの特性に対応している。
【００２３】
ステップＳ１０において、前記ステップＳ４、Ｓ５、Ｓ６及びＳ９で測定した４つのＡＤ値ｒ１，ｅ１，ｒ２及びｅ２から下記の（式１）によりオフセット値ｘを算出する。
（式１）  ｘ＝（ｒ２ｅ１−ｒ１ｅ２）／（ｒ１−ｒ２＋ｅ２−ｅ１）
そして、算出したオフセット値ｘを例えばフラッシュメモリ（ＲＯＭ２１）やＲＡＭ２２等の適宜のメモリに書き込み（ステップＳ１１）、上述の処理を全８８鍵について個別に行う（ステップＳ１２）。かくして、各鍵毎のオフセット値ｘを求めることができる。
【００２４】
例えば、図４に示す数値を一例として説明すると、所定明るい光量で測定したレスト位置でのＡＤ値ｒ１＝７６０及びそのエンド位置でのＡＤ値ｅ１＝３６０であり、所定暗い光量で測定したレスト位置でのＡＤ値ｒ２＝６０及びそのエンド位置でのＡＤ値ｅ２＝１０とされている。これらの値を上記(式１）に代入すると、オフセット値ｘ＝４０が算出される。図４の例では真値（オフセットの存在しない状態の出力）がレスト位置でのＡＤ値＝８００及びそのエンド位置でのＡＤ値＝４００と想定されており、このことはキャリブレーション比（レスト位置のＡＤ値に対するエンド位置のＡＤ値の比）が５０％であることを意味する。
上記算出されたオフセット値ｘ＝４０を上記測定された４つのＡＤ値ｒ１，ｅ１，ｒ２及びｅ２にそれぞれ加算すれば、所定明るい光量で測定した場合及び所定の暗い光量で測定した場合いずれにおいても、レスト位置でのＡＤ値に対するエンド位置のＡＤ値の比は５０％になる。従って、測定値（ＡＤ値）にオフセット値ｘを加算してＡＤ値の補正を行うことで、センサ２６（ＯＰアンプやＡＤ変換器をも含む検出信号の出力系）にオフセットがある場合であっても、センサの出力特性の変化の影響を受けずに、キャリブレーション比を利用したハンマ動作位置の推定を適切に行えるようになる。
【００２５】
なお、図５の処理において、オフセット値ｘの算出に利用した４つのＡＤ値ｒ１，ｅ１，ｒ２及びｅ２は、オフセット値ｘを求めた後は不要となるので、その記録をクリアーしてよい。また、図５に示すオフセット値を求める処理は、実際には、当該自動演奏ピアノの工場での組み付け時や、メンテナンス時等において動作するものである。
【００２６】
次に、この実施例に係る自動演奏ピアノにおいて、センサ２６のセンサ出力に基づきハンマ２の動きを表す情報を生成して、該生成した情報が表すハンマ２の動作状態の変化から演奏情報を生成するために、信号処理部２７において実行する各種の処理について説明する。
【００２７】
電源投入時、信号処理部２７は、センサ２６から供給されるＡＤ値とハンマ２の実際の動作位置とを対応付けるための「参照位置のパラメータ（参照値）」を設定する処理を行う。すなわち、所定の複数地点のハンマ動作位置が参照位置として予め設定されており、該参照位置を表すＡＤ値の値（数値）を参照値として記憶する。この実施例において、前記参照位置としては、例えば、ハンマ２のレスト位置（ストローク量０ｍｍの位置）、エンド位置（レスト位置からのストローク量４８ｍｍ）、第１参照位置Ｍ１（前記エンド位置から８ｍｍ下がった位置）及び第２参照位置Ｍ２（前記エンド位置から０．５ｍｍ下がった位置）の４点が設定されるものとする。なお、第１参照位置Ｍ１と第２参照位置Ｍ２は、エンド位置に対する相対的な位置として規定されるものである。
【００２８】
図６は、当該自動演奏ピアノにおいて、上記４点の参照位置に対応する各参照値を設定する処理の一例を示す。この処理は、８８個の各ハンマについて行うものであるが、ここでは或る１つのハンマ２についての処理のみ説明して、他を代表するものとする。
図６において、先ず、当該自動演奏ピアノにおいて電源が投入されると、センサ２６によってハンマ２の現在位置をセンシングして、該センサ２６から出力されるＡＤ値を信号処理部２７に取り込む（ステップＳ１３）。このとき、前記図５の処理で算出したオフセット値ｘをメモリ（ＲＯＭ２１或いはＲＡＭ２２等）から読み出し、該読み出したオフセット値ｘをＡＤ値に加算して、センサ２６の出力特性のオフセットを修正する。すなわち、信号処理部２７には、オフセット値ｘを加算したＡＤ値が取り込まれる。電源投入直後には、鍵１は非押鍵状態にある、つまりハンマ２はレスト位置に位置しているものと想定できるので、ここで取り込んだＡＤ値は、当該ハンマ２のレスト位置に相当するデータとして参照される参照値「レスト値ｒ」としてＲＡＭ等適宜のメモリ内に記憶される。
【００２９】
上記４点の各参照位置（レスト位置、エンド位置、第１参照位置Ｍ１及び第２参照位置Ｍ２）のうち、レスト位置での参照値（レスト値ｒ）のみがセンサ２６によって実測され、他の参照位置での各参照値は、該実測したレスト値ｒに基づき前記キャリブレーション比を用いて求めることができる。
すなわち、ステップＳ１４では、前記キャリブレーション比を用いて、前記ステップＳ１で取り込んだレスト値ｒに基づきハンマ２のエンド位置に相当するデータとして参照される参照値「エンド値ｅ」を算出し、該算出したエンド値ｅを前記ＲＡＭ等適宜のメモリ内に記憶する。また、ステップＳ１５では、キャリブレーション比を用いてハンマ２の第１参照位置Ｍ１及び第２参照位置Ｍ２に相当するデータとして参照される参照値「第１参照値ｍ１」及び「第２参照値ｍ２」を算出し、該算出した第１参照値ｍ１及び第２参照値ｍ２を該ＲＡＭ等適宜のメモリ内に記憶する。前記第１参照値ｍ１及び第２参照値ｍ２は、後述する当該ハンマの速度の算出処理や、打弦有無判定処理等に際して参照される。
【００３０】
なお、鍵１をはじめとしてその他の可動部材についても同様に、電源投入時に、センサ出力から参照位置パラメータを設定しうる（ステップＳ１６）。
【００３１】
図７は、信号処理部２７において実行されるハンマ速度を求めるルーチンの一例を示すフローチャートである。このルーチンは、例えば、演奏者による演奏操作時の演奏の記録処理（演奏データの生成処理）等において、当該自動演奏ピアノの通常の動作中の主要なルーチンの１つとして実行される。この処理は、８８個の各ハンマについて行うものであるが、ここでは或る１つのハンマ２についての処理のみ説明し、他を代表するものとする。図示の通り、このルーチンはステップＳ２０〜Ｓ２７の処理を所定の起動周期に従ってループするようになっている。
【００３２】
ステップＳ２０において、信号処理部２７では、センサ２６から出力されるＡＤ値を当該ルーチンの１回の起動機会毎に取り込み、ステップＳ２１では、前記図５の処理で算出したオフセット値ｘをメモリ（ＲＯＭ２１或いはＲＡＭ２２等）から読み出し、該読み出したオフセット値ｘをＡＤ値に加算して、センサ２６の出力特性のオフセットを修正し、オフセットの修正を施したＡＤ値（以下単に「ＡＤ値」という）を、その時刻情報ＴＩＭＥと共にＲＡＭ等適宜のメモリ内に格納する。ここで、信号処理部２７は、ある時点から過去２０回分のサンプリング時点で取り込んだＡＤ値及びその時刻情報ＴＩＭＥからなるデータセットを格納しておき、これら２０個のデータセットから図８（ａ）に示すようなデータテーブルＴＡＢＬＥ１を作成する。テーブルＴＡＢＬＥ１には、図示の通り、過去２０回分のサンプリング点で取り込んだＡＤ値とその時刻情報のデータセットが順次記述されており、信号処理部２７では、テーブルＴＡＢＬＥ１により、所定時間内における時間的推移に応じたハンマの連続的な動作位置の情報を把握することができる。
【００３３】
ステップＳ２２では、取り込んだＡＤ値からハンマ動作（つまり鍵操作）の有無の判定を行う。ハンマ動作の有無判定は、例えば、前述のレスト値ｒを参照して、取り込まれたＡＤ値が非押鍵状態（レスト位置）から変位しているか否かによって判定できる。ハンマ動作（鍵操作）がなければ（ステップＳ２２のｎｏ）、処理は当該ルーチンの先頭に戻る。
【００３４】
一方、ハンマ動作（鍵操作）があれば（ステップＳ２２のｙｅｓ）、ステップＳ２３において、現時点で取り込まれたＡＤ値が第２参照値ｍ２を越えたかどうか、つまり、ハンマ２のストローク位置が第２の参照位置Ｍ２よりも上方に変位したかどうかを判定する。第２参照位置Ｍ２は、前述の通りエンド位置から０．５ｍｍ下がった位置である。これは、ハンマ２が打弦する位置(エンド位置）の直前の位置であから、この参照位置Ｍ２をハンマ２が超えれば、打弦が行われる（エンド位置に達する）であろうと推断することができる。よって、この第２参照位置Ｍ２は、打弦有無推定用の位置として定められており、第２参照値ｍ２は、打弦有無推定用の閾値として参照される。このようにセンサ２６から出力されるＡＤ値と閾値に基づき打弦有無の推定を行うことは、ハンマ動作判断のハンマ実動作に対するリアルタイム性、すなわち、迅速な動作判断といった点で有利である。この実施例においては、詳しくは後述するような判断構成によってキャリブレーション比の補正を行うことで、ステップＳ２３の打弦有無推定をより正確に行うことができるようになることが後段から明らかになる。
そして、ステップＳ２４では、前記ステップＳ２３での判断（現時点で取り込んだＡＤ値が参照値ｍ２を越えたかどうか？）に応じて、第１の打弦ステートｓｔ１の設定を行う。第１の打弦ステートｓｔ１は、ＡＤ値と参照値ｍ２による打弦有無推定の推定結果に応じて、「推定打弦」の有無の状態を識別する２状態のステートである。ＡＤ値が参照値ｍ２を越えていれば、第１の打弦ステートｓｔ１が「推定打弦有り」状態に設定される。なお、通常（すなわち、ステップＳ１２での参照値ｍ２越えが否の状態）では、第１の打弦ステートｓｔ１は非打弦（推定打弦無し）に設定されている。
【００３５】
ステップＳ２５では、図８（ａ）のテーブルＴＡＢＬＥ１を参照して、２０点のサンプリング時点のうちから、或る時点からみて過去５点前のサンプリング時点においてハンマ２の動作向きが反転したかどうかを調べる。ハンマ２の動作が反転した時点は、テーブルＴＡＢＬＥ１に基づきＡＤ値の増減変化の状態から特定できる。すなわち、当該ハンマ２がレスト値にあるときのＡＤ値の数値が最大値で表現され、エンド位置のＡＤ値を最小値で表現されるとすると、ハンマの一回のストローク変位では、基本的には、センサ２６から出力されるＡＤ値は、最大値から漸減変化して、ハンマ軌道の頂点（エンド位置相当）にて、最小値になり、そこからレスト位置に至るまで漸増変化する。すなわち、ＡＤ値の変動が減少から増加に転じた時点において、ハンマ移動のピーク（打弦点）に相当するものと考えることができ、その時点を、ハンマ２の動作が反転した時点と特定できる。
【００３６】
信号処理部２７は、当該ルーチンの起動機会毎に、テーブルＴＡＢＬＥ１を参照して、最新のサンプリング時点からみて過去５点前のサンプリング時点前後でのＡＤ値変動を調べておりハンマ２の動作が反転する時点を探している。そして、そのハンマ２の動作向きが反転した時点が特定されると、そこをハンマ移動のピーク（つまり打弦点）に相当する基準時点として、該基準時点から前後５点のサンプリング時点でのデータセットを抽出し、図８（ｂ）に示すようなデータテーブルＴＡＢＬＥ２を作成するのである。ここで、前記基準時点は、テーブルＴＡＢＬＥ１内の或るサンプリング時点（例えば最新のサンプリング時点）からみて過去５点前のサンプリング時点に相当するものであるから、テーブルＴＡＢＬＥ２は、該或るサンプリング時点から過去１１点のサンプリング時点におけるデータセットから構成される。
【００３７】
図８（ｂ）に示すように、テーブルＴＡＢＬＥ２には、前記１１点のサンプリング時点でのデータセット（「ＡＤ（−５）、ｔ（−５）」〜「ＡＤ（５）、ｔ（５）」）と、各時点での速度情報（「ｖ（−４）」〜「ｖ（５）」）及び加速度情報（「ａ（−４）」〜「ａ（４）」）が記述される。すなわち、ハンマ２の移動のピーク（打弦点）に相当する基準時点（ＡＤ（０），ｔ（０））と、この基準時点に対して時間的に前後５回分のサンプリング時点でにおける各データセットについて、夫々速度情報と加速度情報を求めている。各時点での速度情報は、例えば直線近似により、任意の２点間のデータ（例えば、あるサンプリング時点でのデータセットとその１つ前のサンプリング時点でのデータセット）の差分に基づき算出することができる。また、算出した速度情報を微分演算することで、加速度情報を求めることができる。なお、速度情報及び加速度情報の算出の具体的な方法については、上述の例に限らず、従来から知られるいかなる方法を適用しても差し支えない。なお、速度情報の算出は、任意の２点間のデータの差分に基づき比較的簡単に求まるので、テーブルＴＡＢＬＥ２の作成に先立って、例えば前述のステップＳ２０において当該テーブルＴＡＢＬＥ１を作成する際に算出しておいてもよい。テーブルＴＡＢＬＥ１を作成する際に各時点での速度情報を算出しておけば、ステップＳ２５でのハンマ２の動作反転の判別に速度情報を利用することも可能である。
【００３８】
さて、ステップＳ２５において、ハンマ２の動作向きの反転があれば（ステップＳ２５のｙｅｓ）、ステップＳ２６において、図９を参照して後述するサブルーチン「打弦判定処理」を実行する。一方、ハンマ２の動作向きの反転がなければ（ステップＳ２５のｎｏ）、先頭のステップＳ２０に戻り上述した処理を繰り返す。
そして、ステップＳ２７では、前記第１の打弦ステートｓｔ１及び後述する「打弦判定処理」において設定する第１の打弦ステートｓｔ２に基づき、ノート・オン／オフ（発音指示）信号の生成処理等、その他処理を行う。ノート・オン／オフ信号は、キーナンバ及びベロシティデータ（打弦速度）を含む演奏データであって、例えばＭＩＤＩ形式等のデータフォーマットで構成されてよい。
【００３９】
次に、図９に示すフローチャートを参照して「打弦判定処理」の手順の一例について説明する。先ず、ステップＳ３０において、前記図８（ｂ）に示すテーブルＴＡＢＬＥ２を参照して、ハンマ２によって実際に打弦が行われたかどうかの判定を行う。この打弦判定においては、該テーブルＴＡＢＬＥ２における基準時点（ＡＤ（０），ｔ（０））から、ハンマ２が弦に近接動作する際（打弦前）の速度情報及び加速度情報と、ハンマ２が弦から離間動作する際（打弦後）の速度情報及び加速度情報と、次に述べる判定条件に照合して、ハンマ２によって実際に打弦がなされたかどうかを事後的に判定する。
【００４０】
ステップＳ３０における打弦判定の条件は以下の通りである。
（１）確実に打弦したと判定する条件：基準時点（ＡＤ（０），ｔ（０））での速度情報ｖ（０）、及び、基準時点の直前の時点（ＡＤ（−１），ｔ（−１））での速度情報ｖ（−１）、及び、基準時点よりも２サンプリング時点前先行した時点（ＡＤ（−２），ｔ（−２））での速度情報ｖ（−２）を調べ、速度情報ｖ（０）、ｖ（−１）及びｖ（−２）の中に、所定速度（例えば０.３ｍ／ｓ）以上のものがあるかどうかを調べる。これにより、弦４に対して近接するハンマ２の打弦直前の運動状態の時間的推移を調べ、ハンマ２が打弦を行うのに十分な所定速度（例えば０.３ｍ／ｓ）で運動していたのであれば、確実に打弦有りと判断することができる。
（２）打弦した可能性が高いと判定する条件：基準時点（ＡＤ（０），ｔ（０））での加速度情報の絶対値ａ（０）、並びに、該基準時点の前後３回分のサンプリング時点（「ＡＤ（−３），ｔ（−３）」〜「ＡＤ（３），ｔ（３）」）での各加速度情報の絶対値ａ（−３）〜絶対値ａ（３）を調べることで、打弦直前に弦４に対して接近するハンマ２の運動状態と、打弦後に弦４に対して離間するハンマ２の運動状態とを調べる。ここで、基準時点での加速度情報の絶対値ａ（０）が各加速度情報の絶対値ａ（−３）〜絶対値ａ（３）の中で最大であれば、当該ハンマ２の運動によって打弦が行われた可能性が高いと判断できる。
（３）非打弦の可能性が高いと判定する条件：前記（２）の判定条件に適合しないこと、つまり、各加速度情報の絶対値ａ（−３）〜絶対値ａ（３）の中に基準時点での加速度情報の絶対値ａ（０）よりも大きい値があること、及び／又は、複数の速度情報から得られる２次曲線に適合させる２次曲線適合法によって求めた基準時点における速度情報ｖ（０）が「０」に近い値である場合は、当該ハンマ２の運動によっては、打弦が行われなかった可能性が高いと判断できる。
【００４１】
ステップＳ３１では、前記ステップＳ３０での判定結果に応じて、当該ハンマ２の動作状態（打弦有無）を表す第２の打弦ステートｓｔ２を設定する。第２の打弦ステートｓｔ２は、単純に打弦有り（前記条件（１）又は（２）に適う場合）か、打弦無し（前期条件（３）の場合）を表現するものであってよい。勿論前記条件（１）〜（３）の夫々に応じて、（１）確実に打弦、（２）打弦の可能性大及び（３）非打弦の可能性大、の３状態を表現してもよい。
【００４２】
ステップＳ３２では、前記図７のステップＳ２４で設定した第１の打弦ステートｓｔ１と、前記第２の打弦ステートｓｔ２とを比較して、双方が示す状態（打弦有無）が一致するかどうかを調べる。不一致であった場合（ステップＳ３２のｙｅｓ）、処理をステップＳ３３に進めて、次に述べるサブルーチン「補正処理」を行う。一方、第１のステートｓｔ１と第２のステートｓｔ２が一致していれば（ステップＳ３２のｎｏ）、打弦判定ルーチンを抜けて、前記図７のハンマ速度を求めるルーチンに戻る。
【００４３】
図１０を参照して補正処理の手順の一例について説明する。
ステップＳ４０において、両打弦ステートｓｔ１、ｓｔ２の不一致が、以下に述べるいずれのケースに相当するかを判別し、各ケースに応じた補正処理を行う。
（ケース１）打弦ステートｓｔ１では非打弦と推定しながらも、打弦ステートｓｔ２では打弦有りの判定がなされた場合：打弦ステートｓｔ１では非打弦と推定しながらも、実際には打弦動作が行われているので、打弦ステートｓｔ１の根拠となる参照位置パラメータとして設定された参照エンド値ｅが実際のエンド位置よりも高く想定されてしまっていると考えられる。このケース１の場合は、ステップＳ４１において、テーブルＴＡＢＬＥ２にて基準時点として設定された時点でのＡＤ値「ＡＤ（０）」を新規エンド値ｅとして設定して、この新規エンド値ｅと現在のレスト値ｒとの比を求めることで、当該ハンマ２のキャリブレーション比を更新する。キャリブレーション比を更新したら、新規キャリブレーション比から各種パラメータ（参照位置パラメータなど）を再算出する。
（ケース２）打弦ステートｓｔ１では打弦と推定しながらも、打弦ステートｓｔ２では打弦無しの判定がなされた場合：打弦ステートｓｔ１では打弦と推定しているものの、実際には打弦動作は行われていないので、参照位置パラメータとして設定された参照エンド値ｅが実際のエンド位置よりも低く想定されてしまっていると考えられる。このケース２の場合は、ステップＳ４２において、テーブルＴＡＢＬＥ２にて基準時点として設定された時点でのＡＤ値「ＡＤ（０）」に対して、所定数値加算した値を新規エンド値ｅとして設定して、この新規エンド値ｅと現在のレスト値ｒとの比を求めることで、当該ハンマ２のキャリブレーション比を更新する。キャリブレーション比を更新したら、新規キャリブレーション比から推定打弦位置に相当する閾値（第２の参照位置Ｍ２の参照値ｍ２）等の各種パラメータを再算出する。そして、当該補正処理のルーチンを抜けて、図７のハンマ速度を求めるルーチンに戻る。
【００４４】
上述の補正処理によってセンサ２６から出力されたＡＤ値を基にキャリブレーション比を適切な値に補正することで、新規キャリブレーション比に基づき、打弦推定を行う閾値（第２の参照値ｍ２）を、より適切な値に設定し直すことができる。従って、例えば経時変化によりアクションメカニズムの相対位置が変動し、キャリブレーション比が変わってしまった場合にも、キャリブレーション比をリアルタイムで補正することができる。よって、図７のステップＳ２３における打弦推定をより正確に行えるようになり、リアルタイムでの打弦有無判断がより正確に行える。
【００４５】
なお、上記実施例では、補正処理においてキャリブレーション比を補正する処理例について説明したが、これに限らず、参照位置パラメータとして設定されたレスト値ｒやエンド値ｅを補正するように処理してもよい。さらに、センサからの出力値に修正をかけるようにしてもよい。
【００４６】
また、上記実施例において、図９の打弦有無の判定要素として用いる情報は、上述したハンマ２の速度情報と加速度情報に限定されず、ハンマによる打弦運動に関する物理情報であればどのような情報であっても利用しうる。例えば、適宜のセンサによって打弦時の弦４の振動を検出するよう構成して、その振動情報を利用してもよいし、或いは、打弦時の弦４の振動を直接検出するのではなく、該振動によって発生する振動音を適宜のピックアップで検知できるよう構成してもよい。
【００４７】
以上説明したとおり、この実施例によれば、図５に示す処理によりオフセット値ｘを求め、ハンマ２の動作の実際の測定値（ＡＤ値）に該オフセット値ｘを加えたものを、ハンマ２の検出位置とすることで、センサ２６の出力特性の経時的変化による光量の低下など、経時変化によらず、正確なハンマの動作位置の検出が行えるようになる、という優れた効果を奏する。
【００４８】
なお、上述の図５のステップＳ４、Ｓ６或いはステップＳ７、Ｓ９においては、オフセット値ｘを算出するための測定値のサンプル位置として、レスト位置及びエンド位置でのＡＤ値を測定する例を示したが、サンプル位置として適用可能なストローク位置は、再現性のあるストローク位置でさえあればよく、上記に限定されない。また、上記の例では、レスト位置及びエンド位置でのＡＤ値を２種の光量で測定することで、オフセット値ｘを算出するために４点の測定値のサンプルを使用する例を示したが、サンプルとして使用する測定値の数は、４点に限定されない。例えば、サンプル点数を多く取り算出精度を上げるようにしてもよい。また、上述の例では、ＡＤ値の出力特性が直線によって表現される例を示したが、サンプル点数を必要な数とることができれば、ＡＤ値の出力特性が二次曲線によって表現される場合でも、本実施例を適用可能である。
【００４９】
また、上記の実施例では、図５のオフセット値を求める処理や、図７のハンマ速度を求めるルーチンなどの種々の信号処理（つまり信号処理部２７の動作）が、コンピュータが実行するソフトウェアプログラムによって構成及び実施されるものとしたが、これに限らず、信号処理部２７を構成する各モジュールが担う各種演算処理を実行する専用のハードウェア的信号処理装置を具備し、該各モジュールの各種機能をハードウェア装置として構成及び実現することも可能である。
【００５０】
また、上述の実施例では、センサ２６の一例として、ハンマ２の動作位置を連続量で検出する光学式センサを例として説明したが、この発明はセンサの出力特性が経時変化するものであれば、センサの方式は光学式に限定されない。また、検出する物理量は、位置情報に限らず、速度や加速度等、その他の物理量であってもよい。例えば、速度検出可能なＭＭセンサ等に本発明を適用することができる。
また、上述の実施例では、ハンマ２の動作検出を一例に説明したが、これ限らず、鍵１やその他適宜の変位部材に対して、その動きを検出するセンサを備え、鍵１やダンパ、シャンク等、その他の変位部材の動作検出に本発明を適用するよう構成して差し支えない。
【００５１】
また、上記実施例では、自動演奏ピアノとして、自動演奏機能及び演奏操作記録機能を有するアコースティックピアノについて説明したが、ここでアコースティックピアノは、グランドピアノ或いはアップライトピアノの何れであっても差し支えない。また、この発明は、自動演奏ピアノに限らず、消音ピアノにも適用することもできる。また、アコースティックピアノに限らず、電子ピアノ等のその他楽器の操作子の物理量の検出に適用可能である。
【図面の簡単な説明】
【００５２】
【図１】この発明の一実施例に係る自動演奏ピアノの全体構成を示す図。
【図２】同実施例に係る自動演奏ピアノの電気的ハードウェア構成を示すブロック図。
【図３】同実施例においてＡＤ値とハンマの動作位置の関係の一例を示すグラフ。
【図４】図３に示す各出力特性毎にレスト位置及びエンド位置の数値例を示す表。
【図５】同実施例に係るオフセット値を求める処理の一例を示すフロー。
【図６】同実施例に係る自動演奏ピアノにおいて電源投入時に実行される処理例を示すフロー。
【図７】同実施例に係る自動演奏ピアノにおけるハンマ速度を求めるルーチンの一例を示すフロー。
【図８】（ａ）ハンマ動作の時間的推移を表すデータテーブルＴＡＢＬＥ１の一例を示す図であり、（ｂ）は、（ａ）のテーブルＴＡＢＬＥ１に基づき作成される打弦直前のハンマの運動状態の時間的推移を表すデータテーブルＴＡＢＬＥ２の一例を示す図。
【図９】同実施例に係る打弦判定処理の一例を示すフローチャート。
【図１０】同実施例に係る補正処理の一例を示すフローチャート。
【符号の説明】
【００５３】
１  鍵、２  ハンマ、３  アクションメカニズム、４  弦、５  電磁ソレノイド、６  ダンパ、７  バックチェック、１０  再生前処理部、１１  モーションコントローラ、１２  サーボコントローラ、１３  電子楽音発生部、２０  ＣＰＵ、２１  ＲＯＭ、２２  ＲＡＭ、２３  記憶装置、２４  Ｉ／Ｏ、２５  ＰＷＭ発生器、２６  センサ、２７  信号処理部、２８  算出部、３０  処理部
【図１】
2006084686.tif 000003
【図２】
2006084686.tif 000004
【図３】
2006084686.tif 000005
【図４】
2006084686.tif 000006
【図５】
2006084686.tif 000007
【図６】
2006084686.tif 000008
【図７】
2006084686.tif 000009
【図８】
2006084686.tif 000010
【図９】
2006084686.tif 000011
【図１０】
2006084686.tif 000012