JP4033206B2 - 自動ピアノ - Google Patents

自動ピアノ Download PDF

Info

Publication number
JP4033206B2
JP4033206B2 JP2005278466A JP2005278466A JP4033206B2 JP 4033206 B2 JP4033206 B2 JP 4033206B2 JP 2005278466 A JP2005278466 A JP 2005278466A JP 2005278466 A JP2005278466 A JP 2005278466A JP 4033206 B2 JP4033206 B2 JP 4033206B2
Authority
JP
Japan
Prior art keywords
key
event
note
time
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005278466A
Other languages
English (en)
Other versions
JP2006053580A (ja
Inventor
祐二 藤原
隆 玉木
保彦 大場
太郎 川端
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2005278466A priority Critical patent/JP4033206B2/ja
Publication of JP2006053580A publication Critical patent/JP2006053580A/ja
Application granted granted Critical
Publication of JP4033206B2 publication Critical patent/JP4033206B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、演奏情報を拡張してより自然な演奏を行うのに好適な自動ピアノに関する。
自動ピアノにあっては、演奏者が鍵を押下すると、これに連動してダンパが弦から離れるとともにハンマが回転し、打弦が行われる。また、離鍵が行われるとダンパが弦に接して消音が行われる。このように楽音は、押鍵→打弦→離鍵→消音という一連の動作によって発生されるのが通常である。このため、記録時には上記各動作に基づいて演奏情報を生成して記録し、再生時には読み出された演奏情報に基づいて鍵の動作を制御することが行われる。この場合の鍵の制御においては、演奏情報に基づいて、ソレノイドを励磁して鍵を駆動し、これに応じてハンマが回転して打弦を行なう。
ところで、電子楽器の分野においては、演奏情報をデジタル信号として伝達するためのインターフェースとしてMIDI(Musical Instrument Digital Interface)が知られている。MIDIメッセージは、8ビットを1バイト単位とするシリアルデータで表され、メッセージの種類を指示するステータスとデータから構成される。このステータスには、鍵盤を押すことを示すノートオンと鍵盤を離すことを示すノートオフがある。
上述した自動ピアノの演奏情報は、このMIDI規格に準拠するものが多い。この場合、ピアノのある動作はイベントと称される1つのMIDIメッセージで表され、複数のイベントによって演奏情報が構成される。そして、押鍵→打弦→離鍵→消音という一連の動作は、ハンマーが弦を打つことを指示する打弦イベント(ノートオンに対応)と、ダンパーが弦に接することを指示する離鍵イベント(ノートオフに対応)とによって表されることが多かった。
また、一つのイベントは、図13に示すように、1バイトのステータスと、これに続く2バイトのデータから構成される。データの各先頭ビットはステータスとの区別するため「0」が書き込まれる。そして、ステータスに続く1バイトには、音階を指示するノート番号が書き込まれ、最後の1バイトには鍵の速度を指示する情報が書き込まれる。このため、鍵の速度は7ビットで表される。
ところで、ピアノの演奏においては、いわゆるハーフストロークと言われる奏法がなされることがあり、この場合には、完全に押鍵される(鍵をエンド位置間で押し切る)前に離鍵が開始されたり、あるいは、離鍵の途中から次の押鍵操作に入る。
しかしながら、従来の自動ピアノにおいては、押鍵や離鍵が途中までしか行われないハーフストロークの再現については、何等考慮されていなかったため、上述した打弦イベントと離鍵イベントのみでハーフストロークを十分に再現することは困難である。また押鍵操作に特開平7−175472号に記載されているような多岐にわたる変化をもたらすことも困難である。そこで、新たに付加情報を加えてハーフストロークに代表される変化系奏法に対応することが考えられる。
ここで、付加情報を識別するためのステータスを単にノートオン/オフ以外のステータスに設定すると、MIDIメッセージとしての互換性が失われる。例えば、付加情報のステータスを「A0」で表すと、一般の電子楽器ではポリフォニック・キー・プレッシャーであると解釈されてしまう。
また、従来の自動ピアノでは、MIDI規格に準拠したノートオン/オフに対応する打弦情報と離鍵情報は各々7ビットで表されていたが、実際のピアノ演奏では、ピアニシモからフォルテシモといったように鍵の速度が大きく変化する。このため鍵の速度を1バイトでは表現しきれないことがある。この場合、鍵の速度情報を拡張するため、拡張された情報を単にノートオン/オフ以外のステータスに設定すると、付加情報と同様の問題が生じる。
本発明は、上述した事情に鑑みてなされたものであり、互換性を維持しつつ、高度な演奏を行うことができる演奏情報を生成する自動ピアノを提供することを目的とする。
上記課題を解決するため、請求項1に記載の発明にあっては、鍵の押下が検出されたとき、押鍵であることを示す識別子、および、その押鍵速度を示す情報を1つのデータとするとともに、さらに、ノート番号の指定であることを示す識別子、および、該押下された鍵のノート番号を指定する情報からなるデータを付与して、これら2つのデータを、当該押鍵イベントの内容を示す情報として生成し、かつ、前記押鍵であることを示す識別子および前記ノート番号の指定であることを示す識別子として、MIDI規格において互いに異なる汎用操作子を用いる押鍵イベント情報生成手段と、前記鍵の押下に伴うハンマの打弦が検出されたとき、前記MIDI規格においてノートオンを指示する識別子と、当該ノートオンに係るノート番号と、当該ハンマの打弦速度を示す情報とを1つのデータで構成して、当該データをノートオンの内容を示す情報として生成するノートオン情報生成手段と、前記鍵の開放が検出されたとき、前記MIDI規格においてノートオフを指示する識別子と、当該ノートオフに係るノート番号と、当該開放に伴う止音機構の速度を示す情報とを1つのデータで構成して、当該データをノートオフの内容を示す情報として生成するノートオフ生成手段と、前記押鍵イベント情報生成手段、前記ノートオン情報生成手段および前記ノートオフ生成手段により生成されるとともに、それらのイベントの順番で供給された情報に基づいて鍵を駆動する再生系であって、前記押鍵であることを示す識別子および前記ノートオンを指示する識別子の供給を受けたとき、当該押鍵であることを示す識別子を含む押鍵イベントの内容を示す情報に含まれる押鍵速度を示す情報と押鍵時刻データと、当該ノートオンを指示する識別子を含むノートオンの内容を示す情報に含まれる打弦速度を示す情報と打弦時刻データとに基づいて、押鍵軌道を作成し、作成した押鍵軌道に基づいて鍵を駆動する再生系とを有することを特徴とする。
本発明に係わる自動ピアノで記録された演奏情報をMIDI規格に準拠した電子楽器で演奏してもノートオンイベントとノートオフイベントとの時間間隔は変化しない。この意味において、本発明に係る自動ピアノに、MIDI規格に準拠した電子楽器と互換性を持たせることが可能となる。
<1.実施形態の構成>
<1−1.全体構成>
以下、図面を参照してこの発明の実施形態の構成について説明する。図1はこの発明の一実施形態のブロック図である。
図1において、1は鍵であり、3は鍵1の運動をハンマ2に伝達するアクションである。4は、ハンマ2によって打弦される弦であり、5は鍵1を駆動するソレノイドである。この場合、ソレノイド5のプランジャが突出すると、鍵1がバランスピンPを中心に回動し、演奏者側に下がり(以下、この状態を押鍵状態という)、また、これに連動してアクション機構3が作動し、ダンパー6が弦4から離れるとともに、ハンマ2が回動して打弦する。一方、演奏者が弾く場合は、指で鍵1を押下することにより、上述と同様の作用が生じて打弦が行われる。
また、図において、SE1,SE2は、打弦速度を計測するためのセンサであり、演奏記録部30は、ハンマ2がこれらのセンサSE1,SE2の間を通過する時間を計測することにより、ハンマ2の速度、すなわち打弦速度(発音速度)を計測し、また、ハンマ2がセンサSE1を通過する時刻を打弦時刻(発音時刻)として検出する。
次に、26は鍵1の下面に取り付けられた板状のシャッタである。25は、上下方向に所定距離隔て設けられている2組のフォトセンサSF2,SF3によって構成されるキーセンサであり、鍵1が押下され始めると、まず上方のフォトセンサSF2が遮光され、次いで、下方のフォトセンサSF3が遮光される。離鍵の際には、下方のフォトセンサSF3が受光状態となり、次いで、上方のフォトセンサSF2が受光状態になる。
キーセンサ25の出力信号は、演奏記録部30に供給される。押鍵時にあっては、演奏記録部30は、上方のフォトセンサSF2が遮光状態になってから下方のフォトセンサSF3が遮光状態となるまでの時間を測定し、ここから押鍵速度Vkを検出する。また、演奏記録部30は下方のフォトセンサSF2が遮光状態となった時刻を押鍵時刻tkとして検出する。
一方、離鍵時にあっては、演奏記録部30は、下方のフォトセンサSF3が受光状態になってから上方のフォトセンサSF2が受光状態となるまでの時間を測定し、ここから離鍵速度VkNを検出する。また、演奏記録部30は上方のフォトセンサSF1が受光状態となった時刻を離鍵時刻tkNとして検出する。
記録後処理部31においては、演奏記録部30から供給される各種情報に対して、正規化処理を施し、所定のデータ形式に変換した後に、外部の記録媒体に演奏情報として供給する。ここで正規化処理とは、ピアノの個体差を吸収するための処理である。すなわち、打弦時刻・打弦速度、押鍵時刻・押鍵速度、離鍵時刻・離鍵速度等は、各ピアノにおけるセンサの位置や、構造上の違い、あるいは機械的誤差によって固有の傾向を持つため、標準となるピアノを想定し、そのピアノにおける打弦時刻・打弦速度等に変換するための処理である。
10は再生前処理部であり、記録メディアあるいはリアルタイム通信装置から供給される演奏データに基づいて、鍵の軌道データを作成するとともに軌道データを用いて鍵の位置データ(t,X)を作成する回路である。再生前処理部10で作成された位置データ(t,X)は、モーションコントローラ11に供給される。モーションコントローラ11は、供給された位置データ(t,X)に基づいて、各時刻における鍵1の位置に対応した位置制御データ(X)を作成し、サーボコントローラ12に供給する。
サーボコントローラ12は、位置制御データ(X)に応じた励磁電流をソレノイド5に供給するとともに、ソレノイド5から供給されるフィードバック信号と制御データ(X)を比較し、両者が一致するようにサーボ制御を行う。
<1−2.演奏情報>
次に、記録後処理部31において生成される演奏情報について説明する。演奏情報のデータ形式を図2から図4までに示す。演奏データは、押鍵、打弦または離鍵等の各動作を単位として生成され、この1単位をイベントと称する。
楽曲の演奏データは、イベントを組合せることによって表されるが、再生時に鍵軌道を再現するためにはイベントの発生時刻(以下、イベント時刻と称する)を特定する必要がある。このため、楽曲の演奏データは、イベント間にそれらの時間差を示すインターバルと呼ばれるデータを介挿して構成される。
(1)打弦イベントフレーム
打弦イベントは、ハンマ2がセンサSE1を通過した際に生成される。また、打弦イベントのイベント時刻は、ハンマ2がセンサSE1を通過する打弦時刻とする。
打弦イベントフレームのデータ形式を、図2に示す。図示するように打弦イベントフレームは、打弦イベントとこれに付随する拡張バイトからなる。打弦イベントにおいて、第1バイトはステータスを示しており、そのデータ値「90」が、当該イベントが打弦イベントであることを示している。また、第2バイトと第3バイトの上位1ビットには、「0」を書き込む。これにより、ステータスとデータが区別される。第2バイトの「kkkkkkk」はノート番号を7ビットで示しており、これによって音階が指定される。また、第3バイトの「vvvvvvv」は打弦速度の上位7ビットを示している。なお、従来の自動ピアノにおいても打弦イベントは、同様に生成される。
次に、拡張バイトにおいて、第1バイトと第2バイトはステータスであって、そのデータ値「B0 10」が、拡張バイトであることを示している。そして、第3バイトの「www」または「wwwwwww」は、打弦速度の下位3ビットまたは下位7ビットを示している。ここで、拡張バイトのステータス「B0 10」はMIDI規格において汎用操作子として定義されている。汎用操作子は、MIDI規格においてMIDIメッセージの形式を有するが、情報の指示する内容が定義されていないものをいう。このため、一般の電子楽器では汎用操作子を無視するようになっている。
ところで、従来の自動ピアノにおいては、ノートオン、ノートオフに対応するイベントを用いて演奏情報を構成していたので、汎用操作子で定義されるステータスのイベントが入力されても無視するようになっている。したがって、拡張バイトが付加された打弦イベントフレームを従来の自動ピアノで再生すると、拡張バイトは無視され、上記した打弦イベントに基づいて鍵が駆動される。この場合、打弦イベントのデータは、打弦速度の上位7ビットを表しているので、従来の自動ピアノで記録された演奏情報と同様の精度で鍵を駆動することができる。一方、拡張バイトが付加された打弦イベントフレームを本実施形態の自動ピアノで再生すると、拡張バイトのステータスが検知され、これに続くデータが拡張されたデータとして取り込まれる。これにより、打弦時の鍵の速度を精度良く再現することが可能となる。
(2)押鍵イベントフレーム
押鍵イベントは、鍵1が押し下げられ、上方のフォトセンサSF2が遮光され、次いで、下方のフォトセンサSF3が遮光された際に生成される。また、押鍵イベントのイベント時刻は、鍵1が下方のフォトセンサSF3を通過した押鍵時刻tkとする。
押鍵イベントのデータ形式を、図3に示す。押鍵インベントフレームの先頭には、ノート番号指定子を書き込む。ノート番号指定子において、第1バイトと第2バイトはステータスであって、そのデータ値「B0 50」が、ノート番号指定子であることを示している。そして、第3バイトの下位7ビットに書き込む「kkkkkkk」によってノート番号が指定される。ここで、ノート番号指定子のステータス「B0 50」はMIDI規格において汎用操作子として定義されている。なお、ノート番号指定子は省略することができる。この場合、再生系はその時点で定まっているノート番号を適用する。例えば、上述した打弦イベントが、「90 kk vv」であって、押鍵イベントがこれに続く場合にその押鍵イベントフレームでノート番号指定子が省略されると、ノート番号は打弦イベントのノート番号「kk」で定まり、押鍵イベントフレームにおいてもその状態が継続する。
次に、ノート番号指定子に続いて押鍵イベントを書き込む。押鍵イベントにおいて、第1バイトと第2バイトはステータスであって、そのデータ値「B0 51」が、押鍵イベントであることを示している。そして、第3バイトの下位7ビットに書き込む「vvvvvvv」によって押鍵速度の上位7ビットが指定される。なお、押鍵イベントのステータス「B0 51」はMIDI規格において汎用操作子として定義されている。
次に、押鍵イベントに続いて拡張バイトを書き込む。この拡張バイトは、打弦イベントフレームの場合と同様に、第1バイトと第2バイトはステータスであって、そのデータ値「B0 10」が、拡張バイトであることを示している。そして、第3バイトの「www」は、押鍵速度の下位3ビットを示している。
この押鍵イベントフレームによって、押鍵速度を再生することができるので、後述するように鍵の軌道を正確に再現してハーフストローク等の演奏を可能にすることができる。
(3)離鍵イベントフレーム
離鍵イベントは、鍵1が戻され、下方のフォトセンサSF3が受光状態となり、次いで、上方のフォトセンサSF2が受光状態となった際に生成される。また、離鍵イベントのイベント時刻は、鍵1が上方のフォトセンサSF2を通過する離鍵時刻tkNとする。
離鍵イベントフレームのデータ形式を、図4に示す。図示するように離鍵イベントフレームは、離鍵イベントとこれに付随する拡張バイトからなる。離鍵イベントにおいて、第1バイトはステータスを示しており、そのデータ値「8,0」が、当該イベントが離鍵イベントであることを示している。また、第2バイトと第3バイトの上位1ビットには、「0」を書き込む。これにより、ステータスとデータが区別される。第2バイトの「kkkkkkk」はノート番号を7ビットで示しており、これによって音階が指定される。また、第3バイトの「vvvvvvv」は離鍵速度の上位7ビットを示している。なお、従来の自動ピアノにおいても離鍵イベントは、同様に生成される。
次に、拡張バイトにおいて、第1バイトと第2バイトはステータスであって、そのデータ値「B0 10」が、拡張バイトであることを示している。そして、第3バイトの「www」は、打弦速度の下位3ビットまたは下位7ビットを示している。なお、拡張バイトのステータス「B0 10」はMIDI規格において汎用操作子として定義されている。
(4)イベントフレームの順序
1つの鍵に対応する押離鍵動作において、上述したイベントフレームは、押鍵イベントフレーム→打弦イベントフレーム→離鍵イベントフレームの順で生成されることが大半であるが、実際の演奏では、打弦イベントフレーム→押鍵イベントフレーム→離鍵イベントフレーム、押鍵イベントフレーム→離鍵イベントフレーム→打弦イベントフレームの順で生成されることもある。また、各イベントフレーム間には、タイムインターバルが介挿される。すなわち、記録媒体上ではタイムインターバルを含めて、連続したアドレスに書き込み、伝送上では各フレーム間をインターバルを表す時間間隔で送信するものである。
これにより、従来の自動ピアノにない押鍵イベントフレームを、打弦イベントの手前もしくは、打弦イベントフレームの後等に書き込むようにしても、従来の自動ピアノとの互換性を確保できる。
押鍵イベントフレームは、そのステータスがMIDI規格の汎用操作子で定義されているため、従来の自動ピアノでは無視される。ここで、押鍵イベントフレーム→打弦イベントフレーム→離鍵イベントフレームの順でフレームを生成したとすると、従来の自動ピアノでは打弦イベントフレーム→離鍵イベントフレームが連続する。また、打弦イベントフレーム→押鍵イベントフレーム→離鍵イベントフレームの順でフレームを生成した場合も同様である。このようにいずれの場合も従来のイベントと同様に再生するので、従来の自動ピアノとの互換性を確実に行うことが可能となる。
(5)拡張バイトの順序
上述したように各イベントフレームにおいて拡張バイトを使用する場合には、拡張が必要とされるイベントの直後に拡張バイトを付加するが、これは以下の理由による。
再生系においては、拡張バイトで指定される下位ビットと通常イベントで指定される上位ビットを併せて速度データを検出し、これに基づいて鍵軌道の再生処理を行う。しかし、両者が時間的に離れていると、速度データを得るまでの所要時間が長くなるので、鍵軌道の再生処理を短時間で行う必要がある。そこで、イベントの直後に拡張バイトを付加することにより、速度データを短時間で得て鍵軌道の再生処理に時間的な余裕を持たせている。さらには両者間に他のイベントが介挿すると、拡張バイトが拡張対象とするイベントの特定を誤ることになるので、通常イベントの直後に拡張バイトを付加することでこれを防止する。
<1−3.軌道作成の原理>
次に、再生前処理部10における軌道作成の原理について説明する。
(1)リファレンスポイント
鍵1を押し下げる速度に応じてハンマ2の打弦速度が決まるが、鍵1の速度は初め遅くて次第に早くなる場合や、その逆の場合もあり、さらには、ほとんど一定の速さで押される場合もある。この場合、鍵1のレスト位置からエンド位置に至るまでの速度と、ハンマ2の打弦速度とがどのような関係になっているのかが重要である。なぜならば、その関係を考察せず、打弦強度データに応じて鍵速度(初期速度など)を制御しても、記録時の打弦速度を再生することはできないからである。
実験によれば、鍵1のある位置における速度とハンマ2の打弦速度とが極めて良い対応を示すことが判った。この位置は、ピアノの個体差にもよるが、概ねレスト位置から9.0mm〜9.5mm程度押し下げた位置であった。したがって、鍵1がこの位置に達するときの速度を、打弦強度データに応じて制御すれば、記録時の打弦速度を忠実に再現することができる。なお、以下においては、上述の所定位置をリファレンスポイントXrという。
(2)リファレンス速度
次に、上述のようにして求めたリファレンスポイントXrにおいて、どのような鍵速度にすれば、打弦速度を忠実に再現することができるかを設定する必要がある。なお、以下においては、リファレンスポイントXrにおける鍵速度をリファレンス速度Vrという。
ここで、図5はリファレンスポイントXrを9.5mmに設定したときの鍵速度と打弦速度の関係を示す図である。図中、白点は鍵をエンド位置まで押し切る単打奏法を行った場合の結果を示し、黒点は鍵をエンド位置まで押し切らずに連打する連打奏法を行った場合の結果を示している。また、C1は1次最小自乗法近似による直線、C2は6次最小自乗法による曲線を示している。
図5から明らかなように、リファレンス速度Vrは、直線C1あるいは曲線C2のいずれによっても近似できる。したがって、近似性のよい関数を適宜選択すれば、この関数を用いて任意の打弦強度データ(記録時の打弦速度情報)からリファレンス速度Vrを決定することができる。
この実施例においては、計算が簡単で誤差の少ない1次関数近似を採用している。したがって、リファレンス速度Vrは、次式によって求められる。
Figure 0004033206
数1において、VHは打弦速度(打弦強度データ)であり、αおよびβは定数である。定数αおよびβは、ピアノの機種等に応じ実験等によって決定する。なお、αおよびβは、同一ピアノであっても、リファレンスポイントXrをどこにするかによって変動する。
(3)リファレンス時間差
さて、この例にあっては、演奏情報に含まれる打弦時刻データは、タイムインターバルとして、相対時刻で記録されているが、再生側自動ピアノにおいてタイムインターバルを読みとって積算処理することにより、再生時の各音の打弦絶対時刻が求められる。そこで、このようにして求めた打弦絶対時刻において正確に打弦を行わせるには、鍵が何時リファレンスポイントXrを通過すればよいかを求める必要がある。
ここで、鍵1がリファレンスポイントXrを通過する時刻(以下、リファレンス時刻trという)と打弦時刻(正確には、ハンマが打弦位置直前にあるセンサSE1を通過した時刻)との時間差をリファレンス時間差Trと定義し、これと打弦速度との関係を実験により求めたものが図6である。図6において、白点は単打奏法による結果、黒点は連打奏法による結果を示している。そして、図6を縮尺2倍にしたものが図7であり、縮尺4倍にしたものが図8である。これらの図から判るように、リファレンス時間差Trと打弦速度との関係は、双曲線により極めて良好に近似される。すなわち、このリファレンス時間差Trは、打弦速度VHを分母にする1変数式で近似することができ、次式によって算出される。
Figure 0004033206
なお、数2における定数γおよびδは、ピアノの機種等に応じ実験等によって決定する。また、γおよびδは、同一ピアノであっても、リファレンスポイントXrをどこにするかによって変動する。これは、数1におけるα、βの場合と同様である。
さて、数2によって、リファレンス時間差Trが求まれば、再生側の打弦絶対時刻からリファレンス時間差Trを減算することによって、リファレンス時刻trが求められ、結局、上述した(1)、(2)、(3)の処理により、リファレンスポイントXr、リファレンス速度Vr、およびリファレンス時刻trが求められる。したがって、リファレンス時刻trにリファレンスポイントXrに達し、かつ、その時の速度がリファレンス速度Vrとなるように鍵1を駆動すれば、記録時の打弦状態を忠実に再現することができる。
なお、鍵1がリファレンスポイントXrに達したときに打弦が行われるのであれば、リファレンス時間差Trを求める処理は不要になる。
(4)押鍵時の軌道データ作成
図9は、鍵の押鍵軌道を示す図であり、レスト位置X0から等速運動をしてエンド位置Xeに至っている。ここで、鍵の初速度をV0、鍵の位置をX、鍵の駆動開始時点からの時間をtとすれば、鍵の軌道は、
Figure 0004033206
と表される。また、鍵がリファレンスポイントXrに達する時刻をtr’とすると、
Figure 0004033206
なる式が成り立つから、この数4から時刻tr’を求めることができる。したがって、押鍵を開始する絶対時刻(以下、押鍵開始時刻という)t0は、次式によって求めることができる。
Figure 0004033206
なお、リファレンス時刻trは、前述のように、打弦時刻からリファレンス時間差Trを減算することによって求める。
上記数5によって押鍵開始時刻t0を求め、この時刻から、数3で示される軌道に従って鍵1を駆動すれば、鍵1は、リファレンス時刻trにおいて正確にリファレンスポイントXrに達し、しかも、その時の速度は、打弦強度データに対応したレファレンス速度Vrとなる。
なお、鍵の挙動については、直線軌道(等速運動)を想定しているから、リファレンス速度Vrと初速度V0は等しい。そして、リファレンス速度Vrは、前述の数1によって求められるから、結局、数5で求めた押鍵開始時刻t0から一定速度vrで鍵を駆動するように制御(速度制御)することができる。
(5)離鍵時の軌道データ作成
次に、離鍵時の軌道データ作成について説明する。まず、鍵の位置をXN、離鍵初速度をV0N(<0)、離鍵開始時点からの時間をtN、エンド位置をXeとすれば、離鍵時の鍵軌道は、次式で表される。
Figure 0004033206

ここで、図10は数6で示される軌道を示す図である。
さて、前述のように、演奏記録部30(図1参照)は、キーセンサ25内の下方のフォトセンサSF3が受光状態になってから上方のフォトセンサSF2が受光状態になるまでの時間を測定して離鍵速度VkNを検出し、また、上方のフォトセンサが受光状態になった時刻を離鍵時刻tkNとして検出する。この場合、離鍵時刻tkNにおけるダンパー6は、弦4に接して音の減衰を開始する状態なっている(そのような状態になるようフォトセンサの位置が調整されている)。そして、このようにして検出された離鍵速度VkNおよび離鍵時刻tkNは、それぞれ演奏情報を構成するデータとして記録され、再生時に読み出される。
ここで、ダンパー6が弦4に接するときの鍵の位置を離鍵リファレンスポイントXrNと定義すれば、鍵1が離鍵リファレンスポイントXrNに達したときに、離鍵状態になったということができる。したがって、鍵1が離鍵リファレンスポイントXrNに達する時刻(以下、離鍵リファレンス時刻trNという)と、演奏情報中の離鍵時刻tkNとが一致するように鍵位置を制御すれば、正確な離鍵タイミング制御を行うことができる。
また、ダンパー6が弦4に接する速さは、音の減衰状態に影響を与えるから、これを忠実に再現することが望ましい。この速さは、離鍵速度VkNに対応するから、結局、離鍵リファレンスポイントXrNにおける鍵速度(以下、離鍵リファレンス速度VrNという)を正確に離鍵速度VkNに一致させれば、音の減衰状態が正確に再現される。
ここで、鍵の駆動が開始される時刻を基準(=0)にして、鍵が離鍵リファレンスポイントXrNに達する時刻をtrN’とすると、
Figure 0004033206
(ただし、直線軌道だからV0N=VrN=VkN)
なる関係が成り立ち、この数7より時刻trN’を求めることができる。したがって、次式によって離鍵開始時刻t0Nを求めることができる。
Figure 0004033206
この数8によって離鍵開始時刻t0Nを求め、この時刻から、数6で示される軌道に従って鍵を駆動すれば、鍵は離鍵時刻tkNにおいて離鍵リファレンスポイントXrNに達し、記録時の離鍵状態を忠実に再現することができる。
なお、時刻t0から速度V0N(=VkN:離鍵速度)で鍵駆動するように制御(速度制御)しても上記と同様の結果を得ることができる。
(6)押鍵スローダウン・離鍵スローアップ軌道データ作成
(a)トランジット位置
上述のようにして作成される押鍵軌道および離鍵軌道は直線状をなす等速軌道であり、以下、これらをそれぞれ押鍵等速軌道、離鍵等速軌道と称する。ここで、押鍵から離鍵へ移る演奏がハーフストロークで行われた場合には、押鍵等速軌道と離鍵等速軌道は、図11(A)に示すように、エンド位置Xeに至る手前で交差する。この自動ピアノでは、押鍵の際には、レスト位置X0から所定位置XTまでは押鍵等速軌道に基づいて鍵1を制御し、所定位置XTとエンド位置Xeの間の範囲では、2次曲線の軌道(以下、押鍵スローダウン軌道と称する)に基づいて鍵1を制御する。また、離鍵の際には、所定位置XTからレスト位置X0までは離鍵等速軌道に基づいて鍵1を制御し、所定位置XTとエンド位置Xeの範囲では、2次曲線の軌道(以下、離鍵スローアップ軌道と称する)に基づいて鍵1を制御する。なお、以下の説明においては、「所定位置」をトランジット位置と称する。また、押鍵等速軌道がトランジット位置XTに達する時刻を押鍵中間時刻(tPT)、離鍵等速軌道がトランジット位置XTから開始する時刻を離鍵中間時刻(tNT)と称する。
ここで、トランジット位置XTは、鍵1に自然な動作を与えるべく適宜設定されるが、押鍵等速軌道が短すぎると、打鍵速度の再現性を不安定にする。よって、押鍵から離鍵へ移る演奏の場合には、トランジット位置XTは、レスト位置X0とエンド位置Xeの中間よりもエンド位置Xe寄りにする。
(b)等速時交差時刻tcの計算
図11(A)に示すように、押鍵等速軌道および離鍵等速軌道どうしが交差する位置(以下、等速時交差位置と称する)をXcとし、等速時交差位置Xcに達する時刻(以下、等速時交差時刻と称する)をtcとすると、この交差時刻tcは、押鍵等速軌道および離鍵等速軌道の軌道データから計算により求めることができる。そこで、等速時交差時刻tcに鍵の速度が0となるように、押鍵スローダウン軌道および離鍵スローアップ軌道を設定すれば、図11(B)に示すように、押鍵スローダウン軌道においては、押鍵中間時刻tPTから等速時交差時刻tcまでの間に、鍵の速度VがV0から0まで変化するような軌道を設定すればよい。また、離鍵スローアップ軌道においては、等速時交差時刻tcから離鍵中間時刻tNTまでの間に、鍵の速度Vが0からV0N(<0)まで変化するような軌道を設定すればよい。そこで、まず、等速時交差時刻tcを以下のようにして求める。
押鍵開始時刻t0から等速時交差時刻tcまでの時間をa、等速時交差時刻tcから離鍵等速軌道が終了する時刻t4までの時間をbとすると、下記式が成立する。
Figure 0004033206
Figure 0004033206
また、数9および数10により、下記式が成立する。
Figure 0004033206
次に、等速時交差時刻tcは、押鍵開始時刻t0に時間aを加算すれば良いから下記式によって算出される。
Figure 0004033206
ここで、数12におけるt4は、離鍵等速軌道がレスト位置X0に達する時刻であって、数8によって算出したt0Nを用いて次式により算出される。
Figure 0004033206
(c)押鍵スローダウン軌道データの作成
次に、押鍵スローダウン軌道における押鍵加速度aPを下記式によって求める。
Figure 0004033206
ただし、数14におけるtPTは次式により算出される。
Figure 0004033206
また、押鍵スローダウン軌道における押鍵速度Vは数14で求められるaP(<0)を用いて下記数16によって求めることができ、押鍵スローダウン軌道は、下記数17によって表すことができる。ただし、式中tは、押鍵スローダウン軌道および離鍵スローアップ軌道における絶対時刻である。
Figure 0004033206
Figure 0004033206
ただし、P1,Q1,R1は定数であり、これらは、数17と数17をtで微分した式に図11(A)に示すtの特定値を代入することにより求めることができる。すなわち、数17は、時刻tPTで傾きがV0、等速時交差時刻tcで傾きが0となる2次関数であり、時刻tPTにおける値がXTであるから、これらの値を上記式に代入すればよい。
(d)離鍵スローアップ軌道データの作成
次に、離鍵スローアップ軌道における離鍵加速度aN(<0)を以下のようにして求める。
Figure 0004033206
ここで、数18におけるtNTは次式により算出される。
Figure 0004033206
また、離鍵スローアップ軌道における離鍵速度Vは下記数20によって求めることができ、離鍵スローアップ軌道は下記数21によって表すことができる。ただし、aN<0である。
Figure 0004033206
Figure 0004033206
ただし、P2,Q2,R2は定数であり、これらは、数21と数21をtで微分した式に図11(A)に示すtの特定値を代入することにより求めることができる。すなわち、数21は、時刻tNTで傾きがV0N、速度等速時交差時刻tcで傾きが0となる2次関数であり、時刻tNTにおける値がXTであるから、これらの値を上記式に代入すればよい。この場合において、数21の最大値は数17の最大値と等しくなり、よって、これら2つの式で表される2次曲線は等速時交差時刻tcに交差する。
このように、上述した押鍵・離鍵時の軌道データ作成と押鍵スローダウン・離鍵スローダウン軌道データ作成によって、鍵1の軌道を再生することができる。
<2.実施形態の動作>
<2−1.記録動作>
始めに、記録動作について説明する。まず、演奏者によって演奏が行われると、演奏記録部30がセンサSE1,SE2の出力信号に基づいて打弦速度VHおよび打弦時刻を検出するとともに、キーセンサ25を構成するフォトセンサSF2,SF3の出力信号に基づいて押鍵時刻Vkおよび押鍵時刻tk、打弦速度VHおよび打弦時刻を検出する。これらの情報は、記録後処理部31において正規化処理された後に、演奏情報としてフロッピー(登録商標)ディスク等の記録媒体に記録される。
<2−2.再生動作>
次に、再生動作について図面を参照しつつ説明する。図12は、本実施形態に係わる自動ピアノの再生動作を示すフローチャートである。
<2−2−1.本実施形態に係わる自動ピアノで記録された演奏情報を本実施形態に係わる自動ピアノで再生する場合>
まず、本実施形態に係わる自動ピアノで記録された演奏情報を本実施形態に係わる自動ピアノで再生する場合を想定する。図12において、再生前処理部10は、記録媒体から演奏情報を読み出すか、あるいは、外部から供給される演奏情報を受信する(ステップS1)。次に、演奏情報のステータスを検知する(ステップS2)。具体的には、予めステータスのデータ値をテーブルに格納しておき、演奏情報が供給されると、テーブルからデータ値を読み出して演奏情報のデータ値と比較を行い、一致するものを検索する。例えば、演奏情報が、図3に示すように「B0 51 vv」であれば、ステータスは押鍵イベントを指示すると検知される。
この後、再生前処理部10は、ステータスに続くデータを解釈する(ステップS3)。上記した例では、ステータス「B0 50」に続く第3バイトの「vv」が押鍵速度であると解釈される。なお、押鍵イベントフレームにあっては、上述したように押鍵イベントの直前にノート番号指定子が設けられるので、これにより押鍵イベントのノート番号が検知される。
次に、再生前処理部10は、拡張バイトが付加されているいるか否かを判定する(ステップS4)。拡張バイトのステータスは、上述したように「B0 10」であり、各イベントは3バイト単位で構成されるので、ステップS2において検知されたステータスを含めて4バイト目が「B0」で5バイト目が「10」であるか否かを判定する。
例えば、演奏情報が図3に示す「B0 51 vv」「B0 10 wr」であるとすれば、ステップS4の判定結果はYESとなり、ステップS5に進んで、拡張バイトを考慮して鍵の速度が検知される。この例では、押鍵イベントに対して拡張バイトが付加されているので、押鍵速度は押鍵イベントの第3バイトに書き込まれたvv(7ビット)と拡張バイトの第3バイトに書き込まれたw(3ビット)を併せた10ビットであると検知される。
一方、ステップS2において検知されたステータスを含めて4バイト目が「B0」でかつ5バイト目が「10」でない場合には、ステップS4の判定結果はNOとなり、ステップS6に直接進む。この場合には、拡張の対象となるデータが存在しないが、拡張バイトが付加されている場合を通常と考えて7ビットの速度データを10ビットのデータとして取り扱う。具体的には、下位3ビットに「0」を付加して10ビットの速度データを生成する。これにより、拡張バイトが付加されない場合であっても、後段の処理を10ビットに統一することができる。
次に、ステップS6では、数3に示す押鍵軌道の軌道データを作成する。押鍵軌道は、レスト位置X0からエンド位置Xeに至る軌道であり、この軌道データは、押鍵イベント中の押鍵時刻データおよび押鍵速度データ、打弦イベント中の打弦時刻データおよび打弦速度データに基づいて作成される。この後、ステップS7に進んで、数6に示す離鍵等速軌道の軌道データを作成する。この軌道データは、離鍵イベント中の離鍵時刻データおよび離鍵速度データに基づいて作成される。
次に、ステップS8へ進んで押鍵スローダウン軌道と離鍵スローアップ軌道を作成するための交差処理を行う。まず、2つの軌道の等速時交差時刻tcを数12を用いて計算する。押鍵スローダウン軌道および離鍵スローアップ軌道における加速度aP,aNを数14および数18を用いて計算する。そして、求めた加速度aP,aNを用いて、数15および数19に示す押鍵スローダウン軌道と離鍵スローアップ軌道の軌道データを作成する。なお、押鍵等速軌道と離鍵等速軌道とが交差しないのであれば、ステップS8の処理は省略できる。
次に、ステップS9へ進み、モーションコントローラ11に供給する位置データ(t,X)を作成する。この位置データ(t,X)は、時刻tと、時刻tに対応する鍵の位置Xからなる。ここで、時刻tは、押鍵開始時刻t0から離鍵が終了する時刻t4までを一定のピッチで刻んだ時刻である。あるいは、押鍵スローダウン軌道と離鍵スローアップ軌道における時刻tのピッチを短くし、押鍵等速軌道および離鍵等速軌道における時刻tのピッチを長くすることもできる。このようにして時刻tのピッチを設定することにより、押鍵等速軌道および離鍵等速軌道における位置データ(t,X)の計算を簡略化し、かつ、押鍵スローダウン軌道と離鍵スローアップ軌道における鍵1の動作を正確かつ滑らかにすることができる。
また、鍵の位置Xは、前述の方法によって求めた各軌道データに各時刻tを代入して求める。すなわち、押鍵開始時刻t0から押鍵中間時刻tPTまでは、時刻tを数3に代入して押鍵等速軌道における鍵1の位置Xを求め、押鍵中間時刻tPTから等速時交差時刻tcまでは、時刻tを数17に代入して押鍵スローダウン軌道における鍵の位置Xを求める。また、等速時交差時刻tcから離鍵中間時刻tNTまでは、時刻tを数21に代入して離鍵スローアップ軌道における鍵の位置Xを求め、離鍵中間時刻tNTから時刻t4までは、時刻tを数6に代入して離鍵等速軌道における鍵の位置Xを求める。そして、こうして作成した位置データ(t,X)を、再生前処理部10に設けたメモリの所定のアドレスから時刻tの順番に格納する。こうしてメモリの所定のアドレスから時刻tの順番に位置データ(t,X)を格納することにより、押鍵開始から離鍵終了までの鍵の位置Xを時刻t毎に求めたシーケンシャルデータ列を作成する。
ところで、楽曲の演奏データは、上述したように打弦,押鍵,離鍵の各イベントフレーム間に、各イベントフレーム間の発生時間差を示すインターバルデータが介挿されて記録媒体に記憶される。そして、楽曲を再生する場合には、イベントフレームと次のインターバルデータをセットで読み出し、読み出したインターバルデータが示す時間が経過すると、次のイベントフレームとインターバルデータをセットで読み出し、以下この処理を繰り返す。
ここで、自動ピアノでは、ソレノイドに給電を開始してから実際にハンマが打弦して発音されるまでに時間がかかる。そのため、打弦イベントフレームが記録媒体から読み出されたタイミングに対して実際の発音が遅れることになる。また、ソレノイドに給電を開始してから実際にハンマが打弦して発音されるまでの時間は指示される打弦速度によって異なるため、打弦イベントフレームが記録媒体から読み出された時点にソレノイドの給電を開始すると、打弦イベントの発生時間の間隔が各打弦イベントの指示する打弦速度に応じて変化してしまう。また、離鍵に関しても同様の問題がある。
そこで、自動ピアノの再生時には、各イベントフレームが読み出されたタイミングから所定時間(例えば、500msec)後に各イベントフレームで指示された動作(打弦,離鍵)が行われるように、各イベントを一律に遅延させる。具体的には、打弦,離鍵イベントフレームが読み出された時点で、前述した軌道計算を行い、打弦タイミング,離鍵タイミング(打弦,離鍵イベントフレームが読み出された時点から500msec後のタイミング)のどれだけ前から鍵を動かし始めればいかを求め、このタイミングで鍵を動かし始めるようにする。
この点について、図14を参照して説明する。ここで、図14(a)に示すタイミングで打弦イベントフレームと離鍵イベントフレームが読み出されたとする。まず、打弦イベントにあっては、図14(b)に示すように打弦タイミングに対して、リファレンス時間Trと時間tr’との和だけ先行して鍵の駆動を開始すればよい。そこで、打弦イベントフレームが読み出された時点から「500msec−(Tr’+tr’)」だけ経過したタイミングにおいて鍵を動かし始め、打弦イベントフレームが読み出された時点から500msec経過後に実際の打弦を行うようにしている。
一方、離鍵イベントは、消音の開始を指示するものであって、自動ピアノではダンパ6を弦4に接触させることを意味する。離鍵イベントの場合には、図14(c)に示すように離鍵タイミングに対して、時間trN’だけ先行して鍵の駆動を開始すればよい。そこで、離鍵イベントフレームが読み出された時点から「500msec−trN’」だけ経過したタイミングにおいて鍵を動かし始める。これにより、離鍵イベントフレームが読み出された時点から500msecだけ後方のタイミングにおいてダンパ6が弦4に接触して実際の消音が行われる。なお、電子楽器で演奏を再生する場合には、自動ピアノのような遅延の必要はないので、打弦イベントフレームが記録媒体から読み出された時点において楽音信号の合成を開始するとともに、離鍵イベントフレームが記録媒体から読み出された時点において楽音信号の消音を開始する。
以上説明したように、この実施形態にあっては、押鍵イベントを用いて演奏情報を表したので、押鍵スローダウン軌道と離鍵スローアップ軌道を正確かつ滑らかに再現することが可能となる。また、拡張バイトを用いたので記録する速度のダイナミックレンジを拡大することができる。これにより、例えば、ピアニシモからフォルテといったように鍵の速度が大幅に変化する場合であっても、正確に再現することが可能になり、自動演奏において微妙なニュアンスを再現することが可能となる。
<2−2−2.従来の自動ピアノで記録された演奏情報を本実施形態に係わる自動ピアノで再生する場合>
従来の自動ピアノでは、演奏情報として上述した打弦イベントと離鍵イベントが使用されており、押鍵イベントは使用されていない。したがって、従来の自動ピアノで記録された演奏情報が本実施形態に係わる自動ピアノに供給されると、再生前処理部10は、演奏情報を取得して(ステップS1,図12参照)、演奏情報のステータスを検知する(ステップS2)。
この場合、打鍵動作に関するステータスは打弦イベントを指示する「90」、または離鍵イベントを指示する「80」に限られる。このため、ステータスの解釈結果は打弦イベントまたは離鍵イベントのいずれかになる。また、拡張バイトは従来の自動ピアノでは用いられていないので、ステップS4の判定結果はNOとなり、ステップS6に進んで、一打鍵中に打弦イベント、押鍵イベントおよび離鍵イベントが一組として含まれるか否かを判定する。押鍵イベントは使用されないから、押鍵等速軌道の軌道データを打弦イベント中の打弦時刻データおよび打弦速度データに基づいて作成する。この後、ステップS7に進んで、数6に示す離鍵等速軌道の軌道データを作成する。この軌道データは、離鍵イベント中の離鍵時刻データおよび離鍵速度データに基づいて作成される。
次に、ステップS8へ進んで押鍵イベントに基づいて交差処理を行う。この後、ステップS7で生成された軌道データに基づいて、再生前処理部10は、モーションコントローラ11に供給する位置データ(t,X)を作成し、その内部に設けられたメモリの所定のアドレスから時刻tの順番に格納する。こうして、押鍵開始から離鍵終了までの鍵の位置Xを時刻t毎に求めたシーケンシャルデータ列を作成する。
このように本実施形態においては、打弦イベントと離鍵イベントのステータスを従来の自動ピアノで用いられているものと同じものを使用したので、従来の自動ピアノで記録された演奏情報を再生することができる。この場合、従来の自動ピアノで生成された打弦イベントまたは離鍵イベント中の速度データは、1バイト(7ビット)で表されるが、本実施形態の自動ピアノでは、これを速度データの上位7ビットとして扱えるように、拡張バイトに下位ビットを書き込むこととしたので、従来の自動ピアノと同様の精度で鍵の速度を再現することができる。すなわち、本実施形態の自動ピアノは、従来の自動ピアノで記録された演奏情報を何ら損なうことなく再生できるという互換性を備えている。
<2−2−3.本実施形態に係わる自動ピアノで記録された演奏情報を従来の自動ピアノで再生する場合>
本実施形態の自動ピアノでは、打弦イベントや離鍵イベントの他、押鍵インベントや拡張バイトを付加して演奏情報を生成する。ここで、押鍵イベントや拡張バイトを識別するためのステータスは、従来の自動ピアノで使用されていないものが用いられる。一方、従来の自動ピアノでは、未定義のステータスが入力された場合、これを無視するようにエラー処理が行われる。したがって、本実施形態の自動ピアノで記録された演奏情報を従来の自動ピアノで再生すると、押鍵イベントや拡張バイトが無視される。また、打弦イベントや離鍵イベントのステータスは従来の自動ピアノで使用されるステータスと同じものを用いたので、これらのイベントについては再生される。
例えば、演奏情報が、打弦イベントフレーム「90 kk vv,B0 10 wr」、押鍵イベントフレーム「B0 50 kk,B0 51 vv」、離鍵イベントフレーム「80 kk vv」で構成されており、この演奏情報を従来の自動ピアノで再生したとする。この場合、従来の自動ピアノではステータス「90」,「80」は認識することができるが、ステータス「B0 50」と「B0 51」は認識することができない。このため、打弦イベントフレームの拡張バイト「B0 10 wr」と押鍵イベントフレームは無視され、打弦イベント「90 kkvv」と離鍵イベント「80 kk vv」に基づいて軌道データが生成される。ここで、打弦イベントフレームのvvは打弦速度の上位7ビットを表しており、また、「wr」は下位3ビットを表している。したがって、打弦速度の下位3ビットは無視されることとなるが、従来の自動ピアノは元々7ビットに対応するようになっているので、下位3ビットを無視したとしても鍵速度の精度が劣化するわけではなく、予定されている最大限の精度で鍵の動作を再現することができる。すなわち、本実施形態の自動ピアノで記録された演奏情報を従来の自動ピアノで再生すると、従来の自動ピアノで予定されている性能を最大限発揮させることができる。この意味において、本実施形態の自動ピアノは、従来の自動ピアノと互換性を有する。
また、本実施形態に係わる自動ピアノで記録された演奏情報を従来の自動ピアノで再生する場合には、前述したように、押鍵イベントが無視されるが、その前後のインターバルデータは無視されない。
例えば、演奏データが、「打弦イベントフレーム」、「インターバルデータ1」、「押鍵イベントフレーム」、「インターバルデータ2」、「離鍵イベントフレーム」、「インターバルデータ3」…の順で記憶されているとする。この演奏データを再生する場合、「打弦イベントフレーム」,「インターバルデータ1」がセットで読み出された後に、インターバルデータ1で指示される時間が経過すると、「押鍵イベントフレーム」,「インターバルデータ2」がセットで読み出される。このとき、押鍵イベントは無視されるが、「インターバルデータ2」は無視されない。したがって、「押鍵イベントフレーム」,「インターバルデータ2」が読み出された後にインターバルデータ2で指示される時間が経過すると、「離鍵イベントフレーム」,「インターバルデータ3」がセットで読み出されることになる。
これにより、本実施形態に係わる自動ピアノで記録された演奏情報を従来の自動ピアノで再生する場合には、押鍵イベントが無視されるが、打弦イベントと離鍵イベントとの時間間隔は変化しない。
<2−2−4.本実施形態に係わる自動ピアノで記録された演奏情報をMIDI規格に準拠した電子楽器で再生した場合>
本実施形態の自動ピアノにおいては、打弦イベントのステータスとして「90」を用いるが、これはMIDI規格におけるノートオンのステータスに対応する。また、離鍵イベントのステータス「80」はMIDI規格におけるノートオフのステータスに対応する。一方、押鍵イベントのステータス「B0 51」や拡張バイトのステータス「B0 10」はMIDI規格において汎用操作子として定義されているものが選択されている。このため、当該演奏情報が入力される他の電子楽器が、汎用操作子を用いて特殊な動作を行わないものであれば、押鍵イベントや拡張バイトが無視され、当該演奏情報を再生することができる。
ところで、MIDI規格に準拠した電子楽器では、汎用操作子としてのステータスを用いないのが一般である。また、本実施形態の自動ピアノで使用する汎用操作子は、MIDI規格で定義されている汎用操作子の一部に過ぎない。したがって、本実施形態で記録された演奏情報をMIDI規格に準拠した殆どの電子楽器で再生することができる。この意味において、本実施形態の自動ピアノは、MIDI規格に準拠した電子楽器と互換性を有する。
また、本実施形態に係わる自動ピアノで記録された演奏情報を従来の自動ピアノで再生する場合と同様に、押鍵イベントが無視されるが、インターバルデータは無視されない。したがって、本実施形態に係わる自動ピアノで記録された演奏情報をMIDI規格に準拠した電子楽器で演奏しても打弦イベントと離鍵イベントとの時間間隔は変化しない。この意味において、本実施形態の自動ピアノは、MIDI規格に準拠した電子楽器と互換性を有する。
<3.変形例>
本発明は上述した実施形態に限定されるものでなく、例えば以下のように種々の変形が可能である。
(1)上記実施形態において、打弦イベントは、ハンマが弦を打弦したことを示すイベントであるから、発音がなされたことを示す情報でもある。したがって、発音がなされたことを示す発音情報は、ハンマが弦を打弦したことによっても検出される。また、離鍵イベントは、鍵がエンド側からレスト側に戻る際に生成されるイベントであるから、ダンパーが弦に接触することによって止音がなされたことを示す情報でもある。したがって、止音がなされたことを示す止音情報は、鍵がエンド側からレスト側に戻ることによっても検出される。なお、止音がなされたか否かは、鍵の動作を検出する他、ダンパーの位置を検出することによって判定しても良い。
(2)上記実施形態において、鍵の動作に係わるイベントとして、打弦イベント、押鍵イベント、離鍵イベントを一例として説明したが、本発明はこれに限定されるものではなく、各種の変化系奏法を再現するための変則イベントを付加してもよい。例えば、押鍵がなされ、上方のフォトセンサSF2が遮光状態となったことが検出された後、下方のフォトセンサSF3が受光状態のまま離鍵が開始され、上方のフォトセンサSF2が受光状態となる場合がある。この場合には、鍵が2つのフォトセンサを通過しないので押鍵イベントが生成されない。そこで、押鍵イベントが欠落したことを明確するため、押鍵欠落イベントを生成してもよい。この場合には、鍵が下方のフォトセンサSF3を通過しなかったことが分かるので、レスト位置付近で連打を行う上連打奏法を再現することができる。
このような、変化系奏法に対応するために新たなイベントを付加する場合には、上述した押鍵イベントの場合と同様に、新たにイベントを示すステータスをMIDI規格において汎用操作子として定義されているものを用いればよい。これにより、従来の自動ピアノやMIDI規格に準拠した電子楽器と互換性を保つことができ、しかも高度な演奏を再現することができる。
(3)上記実施形態においては、説明の簡略化のため詳述されていないが、インターバルを除くイベントの演奏データには、当該イベントが発生した鍵を示すキーコードKCが付加されるものである。したがって、記録動作においては、キーコードKCが付加された各イベントがインターバルとともに記録される。また、再生動作においては、このキーコードKCが示す鍵が推定された軌道で駆動されることになる。
この発明の実施形態の構成を示すブロック図である。 同実施形態に係わる打弦イベントフレームのデータ列を示す図である。 同実施形態に係わる押鍵イベントフレームのデータ列を示す図である。 同実施形態に係わる離鍵イベントフレームのデータ列を示す図である。 同実施形態に係わるリファレンスポイントを9.5mmに設定したときの鍵速度と打弦速度の関係を示す図である。 同実施形態に係わるリファレンス時間差Trと打弦速度との関係を示す図である。 図6を縮尺2倍にした図である。 図6を縮尺4倍にした図である。 同実施形態に係わる鍵の押鍵軌道を示す図である。 同実施形態に係わる数6で示される軌道を示す図である。 (A)は押鍵の後に発生した離鍵の軌道が交差する場合を示す図であり、(B)は鍵の速度の変化を示す図である。 本実施形態に係わる自動ピアノの再生動作を示すフローチャートである。 MIDIメッセージを示す図である。 同実施形態に係わる打弦,離鍵イベントフレームの読み出し時点と打弦,離鍵タイミングとの関係を示すタイミングチャートである。
符号の説明
1…鍵、2…ハンマ、3…アクション機構(ハンマアクション)、4…弦、6…ダンパー(止音機構)、10…再生前処理部、11…モーションコントローラ、25…キーセンサ、30…演奏記録部(発音情報生成手段、打弦情報生成手段、押鍵情報生成手段、止音情報生成手段、離鍵情報生成手段、演奏情報生成手段、データ分割手段)。

Claims (2)

  1. 鍵の押下が検出されたとき、押鍵であることを示す識別子、および、その押鍵速度を示す情報を1つのデータとするとともに、さらに、ノート番号の指定であることを示す識別子、および、該押下された鍵のノート番号を指定する情報からなるデータを付与して、これら2つのデータを、当該押鍵イベントの内容を示す情報として生成し、かつ、前記押鍵であることを示す識別子および前記ノート番号の指定であることを示す識別子として、MIDI規格において互いに異なる汎用操作子を用いる押鍵イベント情報生成手段と、
    前記鍵の押下に伴うハンマの打弦が検出されたとき、前記MIDI規格においてノートオンを指示する識別子と、当該ノートオンに係るノート番号と、当該ハンマの打弦速度を示す情報とを1つのデータで構成して、当該データをノートオンの内容を示す情報として生成するノートオン情報生成手段と、
    前記鍵の開放が検出されたとき、前記MIDI規格においてノートオフを指示する識別子と、当該ノートオフに係るノート番号と、当該開放に伴う止音機構の速度を示す情報とを1つのデータで構成して、当該データをノートオフの内容を示す情報として生成するノートオフ生成手段と、
    前記押鍵イベント情報生成手段、前記ノートオン情報生成手段および前記ノートオフ生成手段により生成されるとともに、それらのイベントの順番で供給された情報に基づいて鍵を駆動する再生系であって、前記押鍵であることを示す識別子および前記ノートオンを指示する識別子の供給を受けたとき、当該押鍵であることを示す識別子を含む押鍵イベントの内容を示す情報に含まれる押鍵速度を示す情報と押鍵時刻データと、当該ノートオンを指示する識別子を含むノートオンの内容を示す情報に含まれる打弦速度を示す情報と打弦時刻データとに基づいて、押鍵軌道を作成し、作成した押鍵軌道に基づいて鍵を駆動する再生系と
    を有することを特徴とする自動ピアノ。
  2. 前記再生系は、
    前記押鍵イベントの内容を示す情報に、ノート番号の指定であることを示す識別子、および、該押下された鍵のノート番号を指定する情報が省略されていたとき、その時点で定まっているノート番号を、当該押鍵イベントにおけるノート番号として適用する
    ことを特徴とする請求項1に記載の自動ピアノ。
JP2005278466A 2005-09-26 2005-09-26 自動ピアノ Expired - Fee Related JP4033206B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005278466A JP4033206B2 (ja) 2005-09-26 2005-09-26 自動ピアノ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005278466A JP4033206B2 (ja) 2005-09-26 2005-09-26 自動ピアノ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP04122697A Division JP3758277B2 (ja) 1997-02-25 1997-02-25 自動ピアノ

Publications (2)

Publication Number Publication Date
JP2006053580A JP2006053580A (ja) 2006-02-23
JP4033206B2 true JP4033206B2 (ja) 2008-01-16

Family

ID=36031043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005278466A Expired - Fee Related JP4033206B2 (ja) 2005-09-26 2005-09-26 自動ピアノ

Country Status (1)

Country Link
JP (1) JP4033206B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028615B (zh) * 2019-11-29 2022-01-07 尤剑 智能化乐器演奏教学方法、系统及存储介质

Also Published As

Publication number Publication date
JP2006053580A (ja) 2006-02-23

Similar Documents

Publication Publication Date Title
JP3900712B2 (ja) 鍵盤楽器のセンサ較正装置及びセンサ較正方法
JP4501725B2 (ja) 鍵盤楽器
JP3627322B2 (ja) 自動ピアノ
JP4479554B2 (ja) 鍵盤楽器
JP3890649B2 (ja) 自動ピアノの演奏データ変換装置
JP5028849B2 (ja) 鍵盤楽器のペダルのハーフポイント特定方法及び装置
JP4687474B2 (ja) 鍵盤楽器
JP3551507B2 (ja) 自動演奏ピアノ
US20070289435A1 (en) Electronic musical instrument and recording medium that stores processing program for the electronic musical instrument
JP3758277B2 (ja) 自動ピアノ
JPH10161648A (ja) 打鍵−打弦特性対応装置、駆動信号−打弦特性対応装置、および鍵盤楽器
JPH0981125A (ja) 自動ピアノ
JP4232325B2 (ja) 鍵駆動装置
JPH05313655A (ja) 鍵盤楽器の演奏記録装置およびその演奏再生装置
CN111295706B (zh) 音源、键盘乐器以及记录介质
JP3596015B2 (ja) 自動ピアノ
JP2021099486A (ja) 鍵盤装置および発音制御方法
JP4033206B2 (ja) 自動ピアノ
JP3541411B2 (ja) 自動ピアノ
JP4222395B2 (ja) 自動演奏ピアノ
JP3588955B2 (ja) 自動ピアノ
JP4135275B2 (ja) 速度検出装置及び速度検出方法
JP4305319B2 (ja) 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器
JP3821116B2 (ja) 自動ピアノ
JP3997637B2 (ja) 楽器の駆動制御装置及び駆動制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees