JP4144288B2 - Performance information recording device and keyboard instrument - Google Patents

Performance information recording device and keyboard instrument Download PDF

Info

Publication number
JP4144288B2
JP4144288B2 JP2002233608A JP2002233608A JP4144288B2 JP 4144288 B2 JP4144288 B2 JP 4144288B2 JP 2002233608 A JP2002233608 A JP 2002233608A JP 2002233608 A JP2002233608 A JP 2002233608A JP 4144288 B2 JP4144288 B2 JP 4144288B2
Authority
JP
Japan
Prior art keywords
moving member
moving
data
time
array
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
JP2002233608A
Other languages
Japanese (ja)
Other versions
JP2004077521A (en
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 JP2002233608A priority Critical patent/JP4144288B2/en
Publication of JP2004077521A publication Critical patent/JP2004077521A/en
Application granted granted Critical
Publication of JP4144288B2 publication Critical patent/JP4144288B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、鍵盤楽器における演奏情報を生成する演奏情報記録装置、および、該演奏情報記録装置を備えた鍵盤楽器に関する。
【0002】
【従来の技術】
従来から、演奏者によりなされた鍵盤楽器の演奏操作を表す演奏情報を生成する装置として、種々の構成が知られている。例えば、演奏情報を、楽音の音高やベロシティ(押鍵速度)などを規定することができるMIDI(Musical Instruments Digital Interface)データとして生成する装置が知られている。また、別形態として、鍵などの演奏操作子の位置を計測する波形計測器(例えばオシログラフ)を鍵盤楽器に接続し、該波形計測器によって計測された時系列的な演奏操作子の位置を示す波形をサンプリングすることにより、演奏情報を生成するシステムが考えられる。さらに、これらのものとは別形態として、演奏時に鍵盤楽器から発せられる楽音をマイクロフォンなどによりサンプリングし、サンプリングされた楽音から、当該楽音に対応する演奏操作を特定して演奏情報を生成する装置なども考えられる。
【0003】
【発明が解決しようとする課題】
しかしながら、これらの装置おいては、以下のような問題が生じる。まず、演奏情報をMIDIデータとして生成する装置においては、MIDIデータが、ハーフストロークなどの微妙な演奏操作を表現することができないため、MIDIデータにより、楽音のニュアンスを十分に表現することができなかった。また、MIDIデータにあっては、各操作子に関する情報が混在して格納される。このため、特定の操作子に着目した演奏操作の修正などを行う際に、煩雑な作業が必要とされた。さらに、自動演奏鍵盤楽器において、MIDIデータなどのイベントデータに従って演奏する際には、当該イベントデータから、演奏操作子を駆動するためのデータへの複雑な変換処理が必要となる。
【0004】
また、波形計測器を用いて演奏操作子の波形をサンプリングする装置にあっては、波形計測器は、単一チャネルの波形を計測するものが一般であり、複数の演奏操作子に関する波形を並列して計測するためには、演奏操作子の数(例えば、鍵であれば88)だけの波形計測器が必要となってしまう。さらに、波形計測器は、通常、そのフォーマット仕様が楽器向きに構成されていない。これらにより、設備が大規模になり、また、費用がかさんでしまうという問題があった。しかも、サンプリング周波数を高くすれば、詳細な演奏操作を示す演奏情報を得ることができるものの、そのデータ量が多くなってしまうという問題があった。
【0005】
そして、サンプリングされた楽音に、演奏操作を対応付けて演奏情報を生成する装置の場合、楽音に演奏操作を対応付ける作業が困難であり、特に、複数の演奏操作子が同時に操作されることにより出力した楽音と、当該演奏操作との対応付けが不正確なものとなる可能性が大きかった。
【0006】
本発明は、上述した事情に鑑みてなされたものであり、その目的とするところは、詳細な演奏情報を、データ量を抑えつつ、簡易に生成することが可能な演奏情報記録装置および鍵盤楽器を提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかる演奏情報記録装置は、鍵盤楽器に備えられ、操作者の操作に応じて移動する移動部材について、その移動に関する物理量として当該移動部材の位置をレスト位置からエンド位置まで連続的に検出する検出手段と、前記検出手段によって検出された物理量である前記移動部材の位置に基づき、物理量情報として当該移動部材の位置を表す位置データを生成する物理量情報生成手段と、前記物理量情報生成手段により生成された物理量情報から求められる移動部材の移動速度に基づいて、当該移動部材が停止しているか、等速運動をしているか又は速度変化しながら移動しているかを判定する判定手段と、記録手段と、前記移動部材の移動を時系列的な情報の配列によって表し、その配列された情報を演奏情報として前記記録手段に記録する演奏情報生成手段とを備え、前記演奏情報生成手段は、前記判定手段により前記移動部材が速度変化しながら移動していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データを一定時間毎に時系列に並べた第1の配列で前記記録手段に記録し、前記判定手段により前記移動部材が停止していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データと、当該移動部材が連続して停止している期間を示す時間データとを順番に並べた第2の配列で記録し、前記判定手段により前記移動部材が等速運動をしていると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データであって当該等速運動の開始位置を表す位置データと、前記移動部材の移動速度を表す速度データと、当該移動部材が連続して等速運動している期間を示す時間データとを順番に並べた第3の配列で記録し、さらに、前記記録手段における情報の配列の最後尾が前記第2の配列で記録されている場合には、前記移動部材が停止してからの経過時間に応じて、当該最後尾の前記第2の配列において記録されている時間データを更新し、前記記録手段における情報の配列の最後尾が前記第3の配列で記録されている場合には、前記移動部材が等速運動を開始してからの経過時間に応じて、当該最後尾の前記第3の配列において記録されている時間データを更新する構成を特徴としている。
【0008】
このような構成によれば、演奏情報は、演奏操作に応じた移動部材の動作状況が詳細に反映されたものとなり、演奏情報に、微妙なニュアンスが含まれることとなる。また、移動部材が移動していなければ、移動部材の位置が変化していない期間を用いて演奏情報が生成される。これにより、演奏情報は、一定時間毎の移動部材の位置を示す情報から構成される演奏情報と比較して、そのデータ量が削減されることとなる。
【0009】
【発明の実施の形態】
以下、本発明における実施形態について図面を参照して説明する。
【0010】
<鍵盤楽器の機械的構成>
図1は、本実施形態にかかる鍵盤楽器の機械的構成を示す図である。この図に示されるように、鍵盤楽器100には、棚板110が設けられている。棚板110の上面には、紙面垂直方向に延在するように筬中120が配置されている。筬中120の上面には、複数のバランスピン125が立設しており、88個の鍵130の各々が、各バランスピン125に貫通された状態で、筬中120の上面に並設されている。これらの鍵130には、音高を示す「1」から「88」までのノート番号が割り当てられている。また、各鍵130は、バランスピン125に貫通される位置を、おおよその支点として揺動可能に保持されており、演奏者は、鍵130の前方を押下することにより演奏(押鍵)する。
【0011】
鍵130の後方近傍には、鍵130の揺動に応じて駆動するアクション機構140が設けられている。アクション機構140は、「1」から「88」までのノート番号が割り当てられた88個のハンマ142を含んでおり、押鍵と連動してハンマ142が弦170を打撃する。ハンマ142によって弦170が打撃されると、弦振動が生じ、その振動は、駒(不図示)を介して響板(不図示)に伝搬し、楽音が発生する。
【0012】
ところで、演奏者(操作者)は、ひとつの鍵130に関する押鍵であっても、微妙なニュアンスを表現すべく、多種多様な鍵操作を行う。さらに詳述すると、演奏者は、押鍵ごとに押鍵速度を異ならせるのみならず、1回の押鍵についても、初め遅くて次第に速くなる押鍵や、その逆の押鍵などの様々な鍵操作を行う。また、この他にも、鍵130がエンド位置(鍵130を押し切った位置)に到達する前に、離鍵を開始するハーフストロークなどの奏法も用いられる。アクション機構140は、これらの微妙な鍵操作の違いに応じて打弦し、結果として、微妙な押鍵操作の違いに応じた楽音が発せられる。
【0013】
しかしながら、演奏情報をMIDIデータとして生成する場合、例えば押鍵操作については、鍵が、ある2点間の距離の移動に要した時間を検出し、2点間の距離と検出された時間とから求めた速度を、当該押鍵操作にかかるベロシティとする。このため、MIDIデータにおいては、一回の押鍵操作につき、単一のベロシティが規定されるのみであり、演奏操作の一部しか反映されなかった。それゆえ、演奏者による微妙なニュアンスを、十分に表現することができなかった。
【0014】
そこで、鍵盤楽器100は、微妙なニュアンスが反映された演奏情報を生成すべく、鍵操作を検出するキーセンサとして、鍵130のレスト位置(離鍵されている位置)からエンド位置までの連続的な位置を検出するセンサを備えている。より具体的には、鍵130の上方には、キーセンサ310を支持するための支持部材300が設けられている。図2は、キーセンサ310および鍵130の斜視図である。この図に示されるように、キーセンサ310は、88個の鍵130の各々に対応するように、各鍵130の上面に配置された被検出部材135と対向する位置に設けられている。
【0015】
図3は、キーセンサ310の構成を示す図である。この図に示されるように、キーセンサ310は、発光素子312と受光素子314とを含んでいる。このうち、発光素子312は、被検出部材135に向けて光を照射する。一方、受光素子314は、発光素子312から被検出部材135に照射された光の反射光を受光する。キーセンサ310は、受光素子314の受光量に応じて、被検出部材135までの距離を、0.001mm単位で検出する。
【0016】
鍵130が押下されると、図3および図4における二点鎖線により示すように、被検出部材135が下方に移動する。キーセンサ310は、キーセンサ310から被検出部材135までの距離を検出することにより、鍵130の位置を連続的に検出する。これにより、鍵130の位置を、レスト位置からエンド位置に至るまで連続的に検出することができる。このようなキーセンサ310を採用することにより、演奏者による微妙な鍵操作を正確に検出し、その検出値から、微妙なニュアンスが反映された演奏情報を生成することが可能となる。
【0017】
図5は、ハンマ142およびその周辺の構成を示す図である。この図に示されるように、アクション機構140に含まれるハンマフレンジ146には、ハンマシャンク143がピン144を支点として回動可能に取り付けられている。ハンマシャンク143は、ハンマウッド141を介してハンマ142を保持しており、押鍵されると、図中二点鎖線で示される位置に反時計回りに回動し、ハンマ142が打弦する。
【0018】
ハンマシャンク143の上面には、被検出部材145が固定されている。また、ハンマシャンク143の上方には、88個のハンマ142に対応した88個のハンマセンサ410を支持するための支持部材400が設けられている。ハンマセンサ410は、上述したキーセンサ310と同様な構成をしており、対応するハンマシャンク143に設置された被検出部材145の位置を、0.001mm単位で検出する。この際、ハンマセンサ410は、ハンマ142の位置をレスト位置(離鍵時の位置)からエンド位置(打弦位置)まで連続的に検出する。これにより、ハンマ142の微妙な動作の変化を取り逃がすことなく、ハンマ142の動作が検出されることとなる。
【0019】
説明を再び図1に戻す。鍵盤楽器100の下方には、3個のペダル150が揺動可能に設けられている。より詳細には、ダンパペダル、ソフトペダルおよびソステヌートペダルが設けられており、この順で、ペダル番号として「1」「2」および「3」が割り当てられている。各ペダル150の上方には、3個のペダルに対応した3個のペダルセンサ510を支持するための支持部材500が設けられている。これらのペダルセンサ510は、上述したキーセンサ310と同様に、対応するペダル150の位置を、0.001mm単位で検出する。この際、ペダルセンサ510は、レスト位置(ペダルが踏まれていない状態)からエンド位置(ペダルが踏み込まれた位置)まで連続的にペダル位置を検出する。
【0020】
また、ダンパ160は、複数の弦170の各々に対応して88個設けられており、各々のダンパ160は、音高を示す「1」から「88」までのノート番号が割り当てられている。各ダンパ160は、離鍵時においては、弦170に接触するように位置する一方、押鍵時においては、押鍵された鍵130に対応するダンパ160のみが弦170から離れる。ただし、ダンパペダルが踏み込まれた場合には、全てのダンパ160が、ダンパペダルの押下量に応じて上方に移動し、弦170から離れる。これにより、倍音の効果によって、楽音の響きが豊かになる。逆に、ダンパペダルの踏み込みが解除されると、ダンパ160が弦170に接し、弦振動が減衰され、この結果、音が抑制される。
【0021】
ダンパ160の上方には、各ダンパ160に対応した88個のダンパセンサ610を支持する支持部材600が設けられている。図6はダンパ160およびその周辺構成を示す図である。この図に示されるように、ダンパペダルが押下されると、その押下量に応じて、ダンパ160は、二点鎖線で示されるように上方に移動する。ダンパセンサ610は、上述したキーセンサ310と同様な構成をしており、ダンパ160の上面に設けられた被検出部材165の位置を検出し、ダンパ160の位置を、0.001mm単位で検出する。これにより、音の減衰に影響を与えるダンパ160が、弦170に接触しているか否かを詳細に表現する演奏情報を生成することができる。
【0022】
<鍵盤楽器の電気的構成>
図7は、鍵盤楽器100の電気的構成を示す図である。この図において、CPU200は、バスBを介して構成各部を制御する。RAM210は、CPU200のワークエリアとして使用され、後述する時間データなどを一時的に記憶する。ROM220は、CPU200が演奏情報生成・記録処理を実行するためのプログラムなどの各種プログラムを記録する。ここで、演奏情報生成・記録処理とは、鍵盤楽器100における演奏者の演奏中に、4種類の移動部材(鍵130、ハンマ142、ペダル150およびダンパ160)の位置を検出し、各移動部材の動作を示す演奏情報の生成および記録を行う処理である。
【0023】
操作部230は、ユーザが各種操作を入力するスイッチなどから構成され、演奏情報生成・記録処理の開始を指示する開始信号や、同処理の終了を指示する終了信号などを、バスBを介してCPU200に供給する。
また、時計部240は、現在時刻を表す時刻情報をCPU200に供給する。CPU200は、時刻情報を受け取ると、その情報を用いて、移動部材の移動期間を示す時間データや、移動部材の速度を示す速度データなどを生成する。
【0024】
88個のキーセンサ310の各々は、検出した各鍵130の位置を示すアナログ位置信号を、A/D変換部250Kに入力する。A/D変換部250Kは、各キーセンサ310からアナログ位置信号を受け取ると、その信号をデジタル変換し、デジタル位置信号としてCPU200に供給する。
【0025】
88個のハンマセンサ410の各々は、検出した各ハンマ142の位置を示すアナログ位置信号を、A/D変換部250Hに入力する。A/D変換部250Hは、各ハンマセンサ410からアナログ位置信号を受け取ると、その信号をデジタル変換し、デジタル位置信号としてCPU200に供給する。
【0026】
3個のペダルセンサ510の各々は、検出した各ペダル150の位置を示すアナログ位置信号を、A/D変換部250Pに入力する。A/D変換部250Pは、各ペダルセンサ510からアナログ位置信号を受け取ると、その信号をデジタル変換し、デジタル位置信号としてCPU200に供給する。
【0027】
88個のダンパセンサ610の各々は、検出した各ダンパ160の位置を示すアナログ位置信号を、A/D変換部250Hに入力する。A/D変換部250Hは、各ダンパセンサ610からアナログ位置信号を受け取ると、その信号をデジタル変換し、デジタル位置信号としてCPU200に供給する。
【0028】
CPU200は、各A/D変換部250K、250H、250P、250Dからのデジタル位置信号、および、時計部240からの時刻情報を入力すると、それらの情報を用いて、各移動部材の移動距離や、当該距離だけ移動するために要した時間、移動速度などを求め、各移動部材の位置が時系列的に規定された移動部材別ファイルを、演奏情報として生成する。この際、CPU200は、移動部材別ファイルを、鍵130、ハンマ142およびダンパ160の各々についてはノート番号別に、また、ペダル150については、ペダル番号別に生成する。
【0029】
記憶部260は、例えば、ハードディスクなどの書き換え可能な記憶手段であり、演奏情報フォルダなどを記憶する。ここで、演奏情報フォルダとは、楽曲別に記憶部260に記録され、当該楽曲の演奏情報として、全ての移動部材に対応する移動部材別ファイルが格納されるものである。
【0030】
図8は、演奏情報フォルダに格納されるひとつの移動部材別ファイルの構成を示す図である。この図に示されるように、移動部材別ファイルfは、大別して、属性データ群と位置・時間データ群とを含んでいる。属性データ群には、当該移動部材ファイルfがいずれの移動部材に対応する移動部材ファイルfであるかを示す情報などが格納される。一方、位置・時間データ群には、移動部材の位置が時系列的に規定された情報、すなわち、移動部材の動作を示す情報が格納される。以下、属性データ群および位置・時間データ群に含まれるデータ要素の詳細について説明する。
【0031】
属性データ群は、データ要素として、ノートID/ペダルIDと、移動部材IDと、下位周期Lと、上位周期Hとを含む。このうち、移動部材IDは、移動部材の種類を特定するための情報であり、鍵130、ハンマ142、ペダル150およびダンパ160のいずれに対応する移動部材ファイルfであるかを示す情報である。また、ノートID/ペダルIDは、移動部材IDにより、移動部材の種類が鍵130、ハンマ142、ダンパ160のいずれかに特定された場合、いずれのノート番号に対応する移動部材ファイルfであるかを示し、移動部材の種類がペダル150であると特定された場合、いずれのペダルに対応する移動部材別ファイルfであるかを示す。
【0032】
下位周期Lおよび上位周期Hは、これら2つにより、位置・時間データ群を生成する際に用いられるサンプリング周期を表す。下位周期Lおよび上位周期Hの各々は、演奏者が設定可能であり、操作部230を介して、移動部材ごとに異なるサンプリング周期を設定することができる。
【0033】
図9は、属性データ群に含まれるデータ要素のフォーマットを示す図である。この図に示されるように、各データ要素は、16ビットデータとして規定されている。まず、移動部材IDは、上位12ビットに、その識別子となる「11000001 0000」が格納され、「wwww」で示される下位4ビットに、鍵130を示す「0001」、ハンマ142を示す「0010」、ダンパ160を示す「0011」、および、ペダル150を示す「0000」のいずれかが格納される。
【0034】
ノートID/ペダルIDは、上位8ビットに、その識別子となる「1100 0000」が格納され、「kkkk kkkk」で示される下位8ビットに、ノート番号あるいはペダルを特定するための情報が格納される。より具体的には、下位8ビットには、ノート番号を示す「0000 0001(10進表記における1)」から「0101 1000(10進表記における88)」までのいずれか、もしくは、ラウドペダルを示す「1000 0000」、ソステヌートペダルを示す「1000 0010」、および、シフトペダルを示す「1000 0011」のいずれかが格納される。
【0035】
下位周期Lには、上位8ビットに、その識別子となる「1100 0010」が格納され、「tLLLLLLLL」で示される下位8ビットに、サンプリング周期の下位8ビットを示す情報が格納される。一方、上位周期Hには、上位8ビットに、その識別子となる「1100 0011」が格納され、「tHHHHHHHH」で示される下位8ビットに、サンプリング周期の上位8ビットを示す情報が格納される。これにより、サンプリング周期は、16ビットの「tHHHHHHHHLLLLLLLL」によって規定される。ここで、サンプリング周期の1ビットは、0.001mSを示しており、サンプリング周期によって、0.000mSから65.535mSまでの周期を、0.001mS単位で表現することができる。
【0036】
なお、サンプリング周期は、下位周期Lのみ、あるいは、上位周期Hのみで規定する構成としても良い。さらに詳述すると、下位周期Lのみを用いた場合、サンプリング周期は、8ビットの「tLLLLLLLL」によって規定され、0.001mSから0.255mSまでの周期を、0.001mS単位で表現することができる。一方、上位周期Hのみを用いた場合、サンプリング周期は、16ビットの「tHHHHHHHH 0000 0000」によって規定され、0.256mSから65.280mSまでの周期を、0.256mS単位で表現することができる。
【0037】
再び図8において、属性データ群に含まれる移動部材IDは、その下位4ビットにより「0001」を示し、ノートID/ペダルIDは、その下位8ビットにより10進表記の「60」を示している。また、サンプリング周期は、下位周期Lおよび上位周期Hから、「0000 0011 1110 1000」に規定され、10進表記による「1000」を示している。これらにより、この移動部材別ファイルfが、ノート番号が「60」の鍵130に関する移動部材ファイルfであることが特定され、また、位置・時間データ群で用いられるサンプリング周期は、「1mS」であることが特定される。
【0038】
このような属性データ群に続き、位置・時間データ群が格納される。位置・時間データ群は、データ要素として、位置データ、速度データおよび時間データを含む。このうち、位置データは、移動部材の位置を示すデータである。また、速度データは、ある期間内における移動部材の速度を示すデータである。時間データは、移動部材が、等速運動あるいは停止した期間を示すデータである。
【0039】
図10は、位置・時間データの各データ要素のフォーマットを示す図である。この図に示されるように、位置データは、上位2ビットに、その識別子として「00」が格納され、「xx xxxx xxxx xxxx」で示される下位14ビットに、移動部材の位置を表す情報が格納される。位置データの1ビットは、0.001mmを示し、位置データによって、−4.096mmから12.287mmまでの1634段階の位置を表現することができる。
【0040】
速度データは、上位2ビットに、その識別子として「01」が格納され、「vv vvvv vvvv vvvv」で示される下位14ビットに、移動部材の速度を示す情報が格納される。速度データの1ビットは、1mm/Sを示す。
【0041】
時間データは、上位2ビットに、その識別子として「10」が格納され、「tt tttt tttt tttt」で示される下位14ビットには、時間を示す情報が格納される。ここで、時間データの1ビットは、0.001mSを示し、時間データによって、0.000mSから16.383mSまでの時間を表現することができる。
【0042】
これらの位置データ、時間データおよび速度データの各々は、定周期配列、等速配列および停止配列のいずれかの配列に従って配列されることにより、移動部材の位置を時系列的に規定する情報となる。CPU200は、3種類の移動部材の動作状況に応じて、いずれかの配列を生成し、位置・時間データ群に格納する。
【0043】
図11(a)、(b)および(c)は、移動部材の3種類の動作状況を示す図である。これらの図において、縦軸は、移動部材の位置を示している。また、横軸は、時間軸であり、横軸の1目盛は、1サンプリング周期を示している。まず、図11(a)に示されるように、移動部材が、等速でない速度、すなわち、加速度が0でない速度によって移動している場合、CPU200は、定周期配列を生成し、位置・時間データ群に格納する。より具体的には、定周期配列は、図8に示すように、位置データが連続して配列されたものである。この配列において、各位置データは、順番に、一定期間(サンプリング周期)経過するごとの移動部材の位置を示している。
【0044】
次に、図11(b)に示されるように、移動部材が、等速運動をしている場合、CPU200は、等速配列と生成し、位置・時間データ群に格納する。より具体的には、等速配列は、図8に示すように、位置データ、速度データおよび時間データが、この順で並んだものである。この配列においては、移動部材が、位置データによって示される位置から、速度データによって示される速度にて、時間データによって示される期間だけ移動したことを示す。このようなデータ表記方法によれば、移動部材が、長時間等速運動している場合であっても、その状況を3個の要素データのみによって表現することができる。例えば、図11(a)と(b)とを比較してみる。定周期配列であれば、期間t(サンプリング周期の20倍)における移動部材の動作を表現しようとすれば、20個の位置データを配列する必要がある。これに対し、等速配列によれば、同一期間の動作を表現するにあたり、わずか3個のデータ要素の配列によって表現することができる。これにより、サンプリング周期毎に、移動部材の位置を配列する形式(定周期配列)と比較して、そのデータ量が大幅に削減されることとなる。
【0045】
そして、図11(c)に示されるように、移動部材が停止している場合、CPU200は、停止配列を生成し、位置・時間データ群に格納する。より具体的には、等速配列は、図8に示すように、位置データ、時間データおよび位置データが、この順で並んだものである。この配列においては、先頭の位置データと、後尾の位置データとが同一の位置を示し、移動部材が、その位置に、時間データによって示される期間だけ停止することを示す。このようなデータ表記方法によれば、移動部材が、長時間停止していたとしても、3つの要素データのみによって、その状況を表現することができる。このため、サンプリング周期毎に、移動部材の位置を配列する形式(定周期配列)と比較して、格段にそのデータ量が低減されることとなる。
【0046】
<鍵盤楽器の動作>
次に、CPU200が実行する演奏情報生成・記録処理について、図12を参照して説明する。この演奏情報生成・記録処理は、演奏者による鍵盤楽器100の演奏中に、各移動部材の位置を検出し、検出結果から移動部材ファイルfを生成し、記憶部260に記録する処理である。CPU200は、操作部230から入力される開始信号をトリガとして演奏情報生成・記録処理を開始する。また、この処理は、タイマ割り込みされ、CPU200は、処理の開始時にタイマをリセットする。
【0047】
まず、CPU200は、操作部230から開始信号が入力されると、初期化処理を実行する(ステップS1)。さらに詳述すると、CPU200は、記憶部260に演奏情報フォルダを記録し、当該演奏情報フォルダに、全ての移動部材に関する移動部材別ファイルfを格納する。また、開始信号には、下位周期Lおよび上位周期Hが付加されており、CPU200は、それらを、移動部材別ファイルfの属性データ群に格納する。なお、この時点においては、各移動部材別ファイルfには、属性データ群しか記録されておらず、位置・時間データ群に関する情報は、何も記録されていない。
【0048】
次に、CPU200は、鍵データ生成・記録処理を実行する(ステップS2)。この鍵データ生成・記録処理は、88個の鍵130の各々について、鍵130の位置が時系列的に規定された位置・時間データ群を生成し、記憶部260に記憶される演奏情報フォルダに含まれる移動部材別ファイルfに、生成した位置・時間データ群を格納する処理である。この鍵データ生成・記録処理の詳細については、後述することとする。
【0049】
次いで、CPU200は、ハンマデータ生成・記録処理を実行する(ステップS3)。この処理は、88個のハンマ142の各々について、位置・時間データ群を生成し、演奏情報フォルダに含まれる移動部材別ファイルfに、該位置・時間データ群を格納する処理である。
【0050】
次に、CPU200は、ダンパデータ生成・記録処理を実行する(ステップS4)。この処理は、88個のダンパ160の各々について、位置・時間データ群を生成し、演奏情報フォルダに含まれる移動部材別ファイルfに、該位置・時間データ群を格納する処理である。
【0051】
次に、CPU200は、ペダルデータ生成・記録処理を実行する(ステップS5)。この処理は、3個のペダル150の各々について、位置・時間データ群を生成し、演奏情報フォルダに含まれる移動部材別ファイルfに、該位置・時間データ群を格納する処理である。
【0052】
次に、CPU200は、操作部230から終了信号を受信したか否かを判定する(ステップS6)。この判定結果が否定的であれば、CPU200は、タイマにおいて一定時間が経過したかを判定する(ステップS7)。この判定結果が否定的であれば、CPU200は、一定時間経過するまで待機すべく、ステップS7の判定を続ける。一方、ステップS7の判定結果が肯定的となれば、タイマをリセットした後、処理手順をステップS2に戻す。
一方、ステップS6における判定結果が肯定的であれば、すなわち、終了信号を受信したらならば、CPU200は、演奏情報生成・記録処理を終了する。
【0053】
次に、上述した鍵データ生成・記録処理(図12のステップS2)を、図13を参照して説明する。この処理は、88個の鍵130に関して個別に位置・時間データ群を生成し、記憶部260に記録するための処理である。
【0054】
はじめに、CPU200は、カウント値を「1」に設定する(ステップS21)。このカウント値は、鍵130のノート番号を示すものであり、88個の鍵130のうち、いずれの鍵130に関する処理を実行しているのかを示すポインタとして機能する。
【0055】
次に、CPU200は、現在のカウント値より特定される鍵130の位置を示すアナログ位置信号を、デジタル変換する(ステップS22)。この際、CPU200は、該鍵130に対応するキーセンサ310から入力されるアナログ位置信号を、該鍵130に対応する移動部材別ファイルfに格納されるサンプリング周期(下位周期Lおよび上位周期H)に従って、A/D変換部250Kによりデジタル位置信号に変換する。
【0056】
次に、CPU200は、変換したデジタル位置信号について正規化処理を実行する(ステップS23)。正規化処理とは、鍵盤楽器の個体差を吸収するための処理である。より詳細には、押鍵速度や打弦速度などは、各鍵盤楽器の機械的な誤差などにより、個体差が生じる。このため、標準となる鍵盤楽器を想定し、デジタル位置信号を、その標準となる鍵盤楽器に対応するものに変換(正規化)する。
【0057】
次に、CPU200は、正規化されたデジタル位置信号から、着目する鍵130の動作状況に応じて、位置・時間データ群を生成し、移動部材別ファイルfに格納する生成・記憶処理を実行する(ステップS24)。より具体的には、CPU200は、正規化されたデジタル位置信号から、移動部材の速度に応じて、定周期配列、等速配列および停止配列のいずれかを生成し、該配列を、移動部材別ファイルfに格納する。なお、この生成・記録処理の詳細な説明については後述することとする。
【0058】
次に、CPU200は、カウント値を「1」だけインクリメントする(ステップS25)。次いで、CPU200は、インクリメントされたカウント値が「88」に達したか否か、すなわち、全ての鍵130について、ステップS22からステップS25までの処理を実行したか否かを判定する(ステップS26)。この判定結果が否定的であれば、CPU200は、カウント値が「88」に達するまで、ステップS22からステップS25までの処理を繰り返す。
【0059】
一方、ステップS26の判定結果が肯定的であれば、CPU200は、処理手順を、演奏情報生成・記録処理(図12)のステップS3に移行する。このように、鍵データ生成・記録処理においては、各ノート番号の鍵130について個別に、位置・時間データ群の生成および記録が行われる。このため、生成された演奏情報フォルダによれば、演奏者などのユーザは、各移動部材ついて個別に、移動部材別ファイルfの削除や差し替えなどを容易に行うことができる。これにより、各移動部材についての演奏情報が混在するMIDIデータなどの演奏情報と比較して、移動部材別の演奏情報の修正が容易なものとなる。
なお、鍵130以外の移動部材(ハンマ142、ダンパ160およびペダル150)についてのハンマデータ生成・記録処理(図12中ステップS3)、ダンパデータ生成・記録処理(同ステップS4)およびペダルデータ生成・記録処理(同ステップS5)の各々においても、鍵データ生成・記録処理と同様に、ノート番号あるいはペダル番号順に、位置・時間データ群を生成し、位置・時間データ群を個別に移動部材別ファイルfに格納する。
【0060】
次に、鍵データ生成・記録処理に含まれる生成・記録処理(図13のステップS24)の動作を、図14を参照して説明する。この生成・記録処理は、ひとつの鍵130に着目して実行される処理であり、鍵130の移動速度に応じて、定周期配列、等速配列および停止配列のいずれかを生成し、移動部材別ファイルfに格納する処理である。この処理の開始時に、CPU200は、あらかじめ、経過時間が「0」を示す時間データをRAM210に記録する。
【0061】
はじめに、CPU200は、鍵130の速度が変化しているか否かを判定する(ステップS241)。ここで、速度が変化している状況とは、加速度が「0」以外である状態を意味する。このため、速度が変化していない状況には、鍵130が等速運動をしている状況の他、停止している状況も含まれる。このステップS241における判定処理を詳述すると、まず、CPU200は、直前のサンプリング周期中における鍵130の変位から、該サンプリング周期中における平均速度を計測する。この際、CPU200は、時計部240から供給された時刻情報、および、A/D変換部250Kから供給されたデジタル位置信号から、鍵130の速度を求める。次に、CPU200は、計測された速度が、前回に計測された速度と異なるか否かによって、移動部材の速度が変化しているか否かを判定する。なお、前回の速度が存在しない場合、すなわち、速度の計測が第1回目の場合には、ステップS241の判定結果は肯定的になるものとする。
【0062】
さて、ステップS241の判定結果が否定的であれば、CPU200は、RAM210に記憶される時間データを、時計部240から供給される時刻情報に従って、インクリメントする(ステップS242)。ここで、RAM210に記憶される時間データについて説明する。時間データは、ステップS241の判定結果が肯定的であれば、すなわち、鍵130の速度が変化すれば、CPU200によって、そのカウント値が初期化される。このため、時間データにより示される時間は、鍵130が連続して等速運動している期間、あるいは、鍵130が連続して停止している期間のうちいずれかを示すこととなる。
【0063】
次に、CPU200は、鍵130の速度が「0」であるか、すなわち、鍵130が停止しているか否かを判定する(ステップS243)。この判定結果が肯定的であれば、すなわち、鍵130が停止していれば、CPU200は、停止配列を生成し、移動部材別ファイルfへの停止配列の格納、または、移動部材別ファイルfに格納される停止配列の更新を行う(ステップS244)。より具体的には、図15に示されるように、移動部材別ファイルfに含まれる位置・時間データ群の最後尾に停止配列が書き込まれていなければ、すなわち、最後尾が定周期配列あるいは等速配列のいずれかであれば、CPU200は、新たな停止配列を生成すべく、位置データおよび時間データを書き込む。なお、この図においては、ステップS244の実行前の位置・時間データ群の最後尾は、定周期配列である例が示されている。
【0064】
一方、図16に示されるように、位置・時間データ群の最後尾に、既に停止配列が書き込まれていれば、CPU200は、当該停止配列に含まれる時間データを更新する。この際、CPU200は、当該停止配列に含まれる時間データに、ステップS242においてインクリメントしたRAM210に記録される時間データを上書きする。これにより、移動部材が長時間停止した場合においても、位置データ、時間データおよび位置データの3つのデータ要素のみによって、その状況を表現することができるため、サンプリング周期ごとに位置データを記録するデータ構造と比較して、データ量が大きくなる心配がない。従って、記憶部260の記憶容量を小さなものとすることができる。言い換えれば、一定の記憶容量をもつ記憶部260に、より多くの演奏情報フォルダを記録することが可能となる。
【0065】
一方、ステップS243の判定結果が否定的であれば、すなわち、鍵130が等速運動しているならば、CPU200は、等速配列を生成し、移動部材別ファイルfへの等速配列の格納、または、移動部材別ファイルfに格納される等速配列の更新を行う(ステップS245)。さらに詳述すると、CPU200は、図17に示されるように、位置・時間データ群の最後尾に等速配列が書き込まれていなければ、すなわち、最後尾が定周期配列あるいは停止配列のいずれかであれば、等速配列を生成すべく、速度データおよび時間データを書き込む。なお、この図においては、ステップS245の実行前の位置・時間データ群の最後尾は、定周期配列である例が示されている。
【0066】
一方、図18に示されるように、位置・時間データ群の最後尾に、既に、等速配列が格納されていれば、CPU200は、当該等速配列に含まれる時間データを更新する。この際、CPU200は、当該等速配列に含まれる時間データに、ステップS242においてインクリメントしたRAM210に記憶される時間データを上書きする。これにより、移動部材が長時間等速運動したとしても、位置データ、速度データおよび時間データの3つのデータ要素のみで動作状況を表現することができるため、結果として、演奏情報フォルダのデータ量が低減されることとなる。
【0067】
一方、ステップS241の判定結果が肯定的であれば、すなわち、鍵130が等速変化しながら移動していれば、CPU200は、RAM210に記憶される時間データをリセットした後、定周期配列を生成し、記憶部260に記録する。具体的には、CPU200は、移動部材別ファイルfに含まれる位置・時間データ群の最後尾に、現在の鍵130の位置を示す位置データを追記する。これにより、レスト位置からエンド位置まで連続した鍵130の位置を示す演奏情報が記録されることとなる。
【0068】
このように、生成・記録処理においては、移動部材の移動速度に応じて、定周期配列、等速配列および停止配列のいずれかを生成し、記録する。これにより、データ量を抑えつつ、微妙なニュアンスを表現することができる演奏情報を生成することが可能となる。
なお、ハンマデータ生成・記録処理(図12中ステップS2)、ダンパデータ生成・記録処理(同ステップS3)およびペダルデータ生成・記録処理(同ステップS4)の各々にも生成・記録処理が含まれるが、それらの生成・記録処理は鍵130に関する生成・記録処理(図14)と同様の処理であるため、説明を省略することとする。
【0069】
以上説明したように、本実施形態における鍵盤楽器100によれば、最短0.001mmの精度で移動部材の位置を検出し、最短0.001mSのサンプリング周期によって位置・時間データ群を生成することができる。これにより、各移動部材の動作状況を、詳細かつ忠実に捉えることができ、MIDIデータなどと比較して、奏者の個性や奏法などが反映された演奏情報を生成することができる。このような利点を有するため、鍵盤楽器100の使用方法として、以下のような例が考えられる。
【0070】
例えば、著名な演奏者による演奏操作を、鍵盤楽器100において記録しても良い。これにより、自動演奏鍵盤楽器などにおいて、該演奏者による演奏操作を再生したり、また、該演奏操作を文化遺産として後世に残したりすることが可能となる。
【0071】
くわえて、正確な演奏情報を生成することができるため、鍵盤楽器100を演奏指導に用いることにより、指導効率を向上させることが可能である。より詳しくは、鍵盤楽器100によって生徒の演奏操作を記録すれば、指導者は、記録された演奏情報を用いて、生徒の表現法や、弱点、くせなどの演奏技術を評価することができる。一方、指導者の演奏操作を記録すれば、生徒は、記録された演奏情報を、演奏練習の見本にすることができる。また、鍵盤楽器100によれば、演奏情報が移動部材別に記録される。このため、指導者あるいは生徒は、特定の移動部材(鍵130やペダル150など)に着目して、演奏の評価あるいは演奏の参考にすることができる。
【0072】
しかも、演奏情報生成・記録処理においては、演奏情報として、時系列的に規定された移動部材の位置(位置・時間データ群)そのものを生成する。このため、仕様が複雑なイベント形式のMIDIデータと比較して、演奏操作をイベントデータへ変換する処理が不要となり、また正規化処理も単純なものとなる。これにより、演奏情報の生成に関する処理および構成が、簡易なものとなる。また、鍵盤楽器100により記録された演奏情報を、自動演奏楽器などにおいて再生する場合においても、単に、位置・時間データ群に従って、移動部材を駆動させるだけの処理で良いものとなる。これにより、再生時において、イベントデータから移動部材を駆動させるためのデータへのデータ変換処理や、イベントデータに従って、移動部材を駆動させるタイミング制御などが不要となり、演奏情報の再生にかかる処理および構成が簡易なものとなる。
【0073】
くわえて、生成・記録処理においては、移動部材の速度に応じて、定周期配列、等速配列および停止配列のいずれかが選択され、位置・時間データ群が生成される。このため、移動部材の等速運動時および停止時においては、3つのデータ要素のみによって動作状況を表すことができる。一般に、演奏中であっても、多くの移動部材は停止期間が長いため、停止配列により演奏情報を生成することにより、演奏情報のデータ量を大幅に削減することが可能となる。
【0074】
また、演奏情報生成・記録処理においては、1楽曲の演奏操作を記録するにあたり、移動部材別に演奏操作を記録する。このため、記録された演奏情報について、移動部材別の演奏ミスの削除や差し替えなどの修正作業、および、移動部材別の演奏情報の追加や、移動などの編集作業を容易に行うことができる。これにより、各移動部材についての情報が混在し、同一操作子イベント間の時間検出や、イベント列検出に手間がかかるMIDIデータと比較して、修正作業や編集作業などが簡便なものとなる。
なお、上述した実施形態においては、1つのファイルにつき、1つの移動部材についての動作情報(位置・時間データ群)を格納する例を示したが、単一ファイルであっても、動作情報を別個独立に記録するならば、同様な効果が得られる。要は、移動部材別に動作情報を記録できる方式であれば、いかなるものであってもよい。
【0075】
さらに、鍵盤楽器100において記録した演奏情報の全てあるいは一部を、イベントデータに変換することが可能である。この際、ひとつのイベントデータに対して複数のベロシティを設定可能な高精度なイベントデータに変換することも可能である。これにより、特殊な奏法を、正確にイベントデータへ変換することが可能となる。また、演奏時間の長い楽曲であっても、一旦、演奏情報フォルダとして記録し、別の時期に、該演奏情報フォルダを分割するなどしてイベントデータに変換することも可能である。
【0076】
また、鍵盤楽器100によれば、ハンマ142やダンパ160などの移動部材の位置を正確に記録することができる。これにより、鍵盤楽器100の特性を把握することができ、また、演奏情報フォルダを経年変化による移動部材の劣化や故障などの判断材料とすることができる。
【0077】
<変形例>
なお、上述した実施形態に限られず、種々の応用・改良変形等を加えることが可能である。
例えば、上述した実施形態にあっては、鍵盤楽器100において生成された演奏情報(位置・時間データ群)を記憶部260に記憶する例を示したが、演奏情報を外部機器に出力する構成としても良い。さらに説明すると、図19に示すように、鍵盤楽器100の電気的構成において、上述した記憶部260に替えて、外部インターフェース270を備える構成としても良い。外部インターフェース270は、CPU200によって生成された位置・時間データ群を、外部機器に出力するためのインターフェースである。この外部インターフェース270に接続される外部機器としては、位置・時間データ群に従ってリアルタイムで自動演奏する自動演奏楽器や、位置・時間データ群の加工・編集を行うことができるパーソナルコンピュータなどが考えられる。
【0078】
このような構成にした場合、CPU200は、上述した生成・記録処理(図14参照)において、位置・時間データ群を、記憶部260に記録する替わりに、外部インターフェース270を介して出力する。この際、生成・記録処理のステップS244およびS245においては、既に外部機器に出力された等速配列および停止配列の更新(上書き)処理が実行できない。このため、外部インターフェース270を介して等速配列および停止配列を出力する場合、以下のような手順に従う。
【0079】
すなわち、等速配列の出力については、CPU200は、移動部材が等速で動作している場合には、RAM210において等速配列の記録および更新を行い、ステップS241において等速でないと判定すると、RAM210に記録される等速配列を、外部インターフェース270から出力する。また、停止配列の出力についても同様に、CPU200は、移動部材が停止している場合には、RAM210において停止配列を記録・更新し、移動部材が移動を始めたときに、外部インターフェース270を介して停止配列を出力する。
【0080】
また、等速配列の出力に関する代替的な処理として、以下の処理を適用しても良い。すなわち、まず、CPU200は、等速運動の開始を検出したら、等速配列のデータ要素のうち位置データおよび速度データのみを出力し、当該等速運動の終了を検出したら、残りのデータ要素である時間データを出力する。このような処理にすれば、速度情報が、等速運動の開始とともに出力されるため、外部機器において、位置・時間データ群をリアルタイムで再生することが可能となる。
【0081】
鍵盤楽器100から位置・時間データ群が伝送された外部機器(例えば、パーソナルコンピュータ)においては、該位置・時間データ群を利用して、各種処理を実行することが可能となる。例えば、外部機器の表示装置に、移動部材の時系列的な位置を示す波形を表示することができる。この際、位置・時間データ群が、時間および位置の各々について関して連続しているため、データ格納順に位置をプロットするだけの処理で済む。また、表計算アプリケーションによる位置・時間データ群に関する各種処理も容易に行うことができる。
【0082】
さらに、鍵盤楽器100によれば、移動部材の速度に応じて定周期配列、等速配列および停止配列のいずれかが選択されるため、演奏情報を示す位置・時間データ群のデータ量が低減され、鍵盤楽器100と外部機器とを接続するネットワークトラッフィックが抑制されることとなる。
【0083】
また、上述した実施形態においては、移動部材が等速運動している状態を等速配列で示し、停止している状態を停止配列で示したが、これに限られない。例えば、両方の状態を、等速配列あるいは停止配列のいずれか一方で表現する構成としても良い。より詳細には、位置データ、時間データおよび位置データの順からなる停止配列によって、等速運動している状況を示す場合には、先頭の位置データに、等速運動の開始位置を示す情報を格納し、時間データに、等速運動の期間を示す情報を格納し、後尾の位置データに、等速運動の終了位置を示す情報を格納すれば良い。
一方、位置データ、速度データおよび時間データの順からなる等速配列によって、停止している状況を示す場合には、位置データに、停止位置を示す情報を格納し、速度データに、速度が「0」であることを示す情報を格納し、時間データに、停止時間を示す情報を格納すれば良い。
また、移動部材の速度が変化していない(移動部材が等速運動、あるいは、停止している)状態を表す配列のデータ要素は、位置データ、時間データおよび速度データの3つに限られない。例えば、速度が変化していない期間における移動部材の変位を表す差分データなど、データ要素として組み合わせることにより、速度が変化していない期間と、当該期間における変位とを特定することができるデータであれば、任意に移動部材の速度が変化していない状態を表す配列のデータ要素とすることができる。
【0084】
上述した実施形態においては、演奏情報の生成にかかるセンサ(例えばキーセンサ310など)および電気的構成(図7および図9参照)を、鍵盤楽器100に内蔵する構成としたが、これらの演奏情報の生成にかかる各構成は、鍵盤楽器100と別体とする構成としても良い。これにより、演奏情報を生成する機能を有しない鍵盤楽器であっても、移動部材の詳細な動作を表す演奏情報(位置・時間データ)を作成することができる。例えば、骨董的や歴史的な価値を有する鍵盤楽器における演奏情報を作成することも可能となる。
【0085】
上述した実施形態においては、各移動部材の位置を検出するセンサとして、光により距離を検出する検出する光反射センサを用いる例を示したがこれに限られない。例えば、磁気的に距離を検出する磁気センサなど、各被検出体の位置を連続的に検出することができる検出手段であれば、本発明を任意に適用可能である。また、各移動部材の位置を検出するセンサの代わりに各移動部材の速度や加速度などの移動部材の運動に関する物理量を検出するセンサを備え、検出された物理量から各移動部材の位置を求める構成としても良い。
【0086】
上述した実施形態においては、1楽曲にかかる全ての演奏操作を位置・時間データ群として記録する例を説明したが、これに限られない。例えば、演奏操作の一部(特定の移動部材に関する演奏操作など)を、位置・時間データ群として記録し、その他の演奏操作を、イベント形式の演奏情報として記録する構成としても良い。
【0087】
上述した実施形態においては、ひとつの移動部材別ファイルfにつき、ひとつのサンプリング周期をとる例を示したが、これに限られない。例えば、ハンマ142が打弦位置近傍に位置する場合や、鍵130が下連打時において向き(揺動角度)を変える近傍に位置する場合、ペダル150がハーフペダル領域近傍に位置する場合などの、演奏情報として重要な領域に移動部材が位置する場合のサンプリング周期が、それ以外の領域におけるサンプリング周期よりも短いものとなるような構成としても良い。また、鍵130がレスト位置にある場合には、サンプリング周期を長くする構成としても良い。これにより、データ量や処理量などを抑えつつ、演奏操作における重要な部分については、動作状況を詳細に表現する演奏情報を生成することができる。さらに、楽曲の途中であっても、演奏者や、移動状況(例えば、停止しているか否か)などに応じて、サンプリング周期を変更可能な構成にしても良い。
なお、サンプリング周期を変化させた場合には、その動作情報は、停止配列と同様の、位置データ、時間データおよび位置データからなる配列により表すことができる。この配列においては、先頭の位置データにより示される位置から、時間データにより示される時間(変化後のサンプリング周期)だけ経過した後に、後尾の位置データにより示される位置に移動したことを示している。
【0088】
上述した実施形態においては、位置・時間データの記録にあたり、サンプリング周期が経過するたびにデータ要素を書き足しながら記憶部260に記録したが、これに限られない。例えば、RAM210において、演奏中に、位置・時間データ群の生成および更新を行い、演奏終了時にまとめて記憶部260に書き込む構成としても良い。
【0089】
上述した実施形態においては、演奏情報フォルダを記憶部260に記録する例を示したがこれに限られない。例えば、鍵盤楽器100に、フレキシブルディスクや光ディスクなどの記録媒体に対してデータの読み書きを行うデータ記録再生装置を備え、該データ記録再生装置を介して、記録媒体に演奏情報フォルダを記録する構成としても良い。これにより、パーソナルコンピュータなどの外部機器とデータの授受を行うことが可能となる。
【0090】
上述した実施形態における鍵盤楽器100の構成に加え、さらに、液晶ディスプレイなどの表示装置を備える構成としても良い。このような構成にすると、表示装置に位置・時間データ群を表示し、視覚的に演奏情報を表示させることが可能となる。
【0091】
上述した実施形態においては、鍵130、ハンマ142、ペダル150およびダンパ160の位置・時間データ群を生成する例を説明した。しかし、鍵盤楽器に設けられ、演奏者(操作者)の操作に応じて移動する移動部材であれば、当該移動部材の動作状況を、演奏情報として生成することがきる。
【0092】
上述した実施形態においては、移動部材の速度が変化している場合のみ、定周期配列により演奏情報を生成したが、さらに、移動部材が等速で移動している場合に、定周期配列により演奏情報を生成しても良い。
【0093】
【発明の効果】
以上説明したように本発明によれば、詳細な演奏情報を、データ量を抑えつつ、簡易に生成することが可能な演奏情報記録装置および鍵盤楽器が提供される。
【図面の簡単な説明】
【図1】 本発明の実施形態に係る鍵盤楽器の機械的構成を示す図である。
【図2】 同鍵盤楽器の鍵およびキーセンサの斜視図である。
【図3】 同キーセンサの構成を示す図である。
【図4】 同鍵およびその周辺構成を示す図である。
【図5】 同鍵盤楽器のハンマおよびその周辺構成を示す図である。
【図6】 同鍵盤楽器のダンパおよびその周辺構成を示す図である。
【図7】 同鍵盤楽器の電気的構成を示す図である。
【図8】 同鍵盤楽器の記憶部に記憶される移動部材別ファイルの構成を示す図である。
【図9】 同移動部材別ファイルに含まれるデータ要素のフォーマットを示す図である。
【図10】 同データ要素のフォーマットを示す図である。
【図11】 移動部材の動作状況を示す図である。
【図12】 同鍵盤楽器において実行される演奏情報生成・記録処理を説明するためのフローチャートである。
【図13】 同演奏情報生成・記録処理に含まれる鍵データ生成・記録処理を説明するためのフローチャートである。
【図14】 同鍵データ生成・記録処理に含まれる生成・記録処理を説明するためのフローチャートである。
【図15】 同生成・記録処理を説明するための図である。
【図16】 同生成・記録処理を説明するための図である。
【図17】 同生成・記録処理を説明するための図である。
【図18】 同生成・記録処理を説明するための図である。
【図19】 同実施形態の変形例にかかる鍵盤楽器の電気的構成を示す図である。
【符号の説明】
100…鍵盤楽器、110…棚板、120…筬中、130…鍵、135,145,155,165…被検出部材、140…アクション機構、150…ペダル、142…ハンマ、S…弦、200…CPU、210…RAM、220…ROM、230…操作部、240…時計部、250K,250H,250P,250D…A/D変換部、260…記憶部、270…外部インターフェース、300,400,500,600…支持部材、310…キーセンサ、410…ハンマセンサ、510…ペダルセンサ、610…ダンパセンサ。
[0001]
BACKGROUND OF THE INVENTION
  The present invention generates performance information on a keyboard instrument.PerformancePerformance information recording device, andPerformance information recording deviceIt is related with the keyboard musical instrument provided.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, various configurations have been known as devices for generating performance information that represents a performance operation of a keyboard instrument performed by a performer. For example, there is known an apparatus that generates performance information as MIDI (Musical Instruments Digital Interface) data that can define the pitch or velocity (keypress speed) of a musical sound. As another form, a waveform measuring instrument (for example, an oscillograph) that measures the position of a performance operator such as a key is connected to a keyboard instrument, and the time-series position of the performance operator measured by the waveform measuring instrument is determined. A system for generating performance information by sampling the waveform shown can be considered. Further, as another form different from these, a device that samples a musical sound emitted from a keyboard instrument during a performance with a microphone, etc., and generates performance information by specifying a performance operation corresponding to the musical sound from the sampled musical sound, etc. Is also possible.
[0003]
[Problems to be solved by the invention]
However, these devices have the following problems. First, in a device that generates performance information as MIDI data, MIDI data cannot express a delicate performance operation such as a half stroke, so that the nuances of musical sounds cannot be sufficiently expressed by MIDI data. It was. In addition, in the MIDI data, information regarding each operator is mixed and stored. For this reason, a complicated operation is required when performing a performance operation correction focusing on a specific operator. Further, when performing performance according to event data such as MIDI data in an automatic performance keyboard instrument, a complicated conversion process from the event data to data for driving a performance operator is required.
[0004]
Further, in a device that samples a waveform of a performance operator using a waveform measuring instrument, the waveform measuring instrument generally measures a single channel waveform, and waveforms related to a plurality of performance operators are arranged in parallel. In order to perform measurement, as many waveform measuring instruments as the number of performance operators (for example, 88 keys) are required. Furthermore, waveform measuring instruments are usually not formatted for musical instruments. As a result, there is a problem that the equipment becomes large and the cost is increased. Moreover, if the sampling frequency is increased, performance information indicating a detailed performance operation can be obtained, but there is a problem that the amount of data increases.
[0005]
In the case of a device that generates performance information by associating performance operations with sampled musical sounds, it is difficult to associate performance operations with musical sounds, and in particular, output by operating a plurality of performance operators simultaneously. There is a high possibility that the correspondence between the musical tone and the performance operation becomes inaccurate.
[0006]
  The present invention has been made in view of the above-described circumstances, and the object of the present invention is to easily generate detailed performance information while suppressing the amount of data.PerformanceTo provide a performance information recording apparatus and a keyboard instrument.
[0007]
[Means for Solving the Problems]
  In order to achieve the above object, a performance information recording apparatus according to the present invention is provided in a keyboard instrument, and for a moving member that moves in response to an operation by an operator, the position of the moving member is determined from a rest position as a physical quantity related to the movement. Detection means for continuously detecting to an end position; and physical quantity information generating means for generating position data representing the position of the moving member as physical quantity information based on the position of the moving member which is a physical quantity detected by the detecting means. Based on the moving speed of the moving member obtained from the physical quantity information generated by the physical quantity information generating means, it is determined whether the moving member is stopped, is moving at a constant speed, or is moving while changing the speed. The determination means for determining, the recording means, and the movement of the moving member are represented by a time-series information arrangement, and the arranged information is displayed. Performance information generating means for recording in the recording means as information, and the performance information generating means, when the determining means determines that the moving member is moving while changing the speed, the physical quantity information The position data, which is physical quantity information generated by the generating means, is recorded in the recording means in a first arrangement arranged in time series at regular intervals, and the determining means determines that the moving member is stopped. In the second arrangement, the position data, which is the physical quantity information generated by the physical quantity information generating means, and the time data indicating the period during which the moving member is continuously stopped are arranged in order. When the determination means determines that the moving member is moving at a constant velocity, the position data is the physical quantity information generated by the physical quantity information generation means. Thus, position data indicating the start position of the constant velocity motion, speed data indicating the moving speed of the moving member, and time data indicating a period during which the moving member continuously moves at constant speed are arranged in order. In the case where recording is performed in the third arrangement, and the last of the information arrangement in the recording means is recorded in the second arrangement, according to the elapsed time since the moving member stopped. , The time data recorded in the second array at the tail is updated, and when the tail of the information array in the recording means is recorded in the third array, the moving member is The configuration is characterized in that the time data recorded in the last third array is updated in accordance with the elapsed time since the start of the constant velocity motion.
[0008]
According to such a configuration, the performance information reflects in detail the operation state of the moving member according to the performance operation, and the performance information includes a subtle nuance. If the moving member has not moved, performance information is generated using a period during which the position of the moving member has not changed. As a result, the amount of data of performance information is reduced as compared with performance information composed of information indicating the position of the moving member at regular intervals.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0010]
<Mechanical structure of keyboard instrument>
FIG. 1 is a diagram illustrating a mechanical configuration of a keyboard instrument according to the present embodiment. As shown in this figure, the keyboard instrument 100 is provided with a shelf board 110. On the upper surface of the shelf board 110, a basket 120 is arranged so as to extend in the direction perpendicular to the paper surface. A plurality of balance pins 125 are erected on the upper surface of the cage 120, and each of the 88 keys 130 is arranged side by side on the upper surface of the cage 120 in a state of being penetrated by each balance pin 125. Yes. These keys 130 are assigned note numbers from “1” to “88” indicating the pitch. Further, each key 130 is held so as to be swingable with the position penetrated by the balance pin 125 as an approximate fulcrum, and the performer performs (depresses) the key 130 by pressing the front of the key 130.
[0011]
In the vicinity of the rear of the key 130, an action mechanism 140 that is driven according to the swing of the key 130 is provided. The action mechanism 140 includes 88 hammers 142 to which note numbers from “1” to “88” are assigned, and the hammer 142 strikes the string 170 in conjunction with the key depression. When the string 170 is struck by the hammer 142, string vibration is generated, and the vibration propagates to a soundboard (not shown) through a piece (not shown) to generate a musical sound.
[0012]
By the way, the performer (operator) performs a variety of key operations in order to express subtle nuances even when the key is pressed with respect to one key 130. More specifically, the performer not only changes the key pressing speed for each key pressing, but also for each key pressing, various key pressings such as a key pressing that becomes late and gradually faster, and vice versa. Perform key operations. In addition to this, a playing method such as a half stroke for starting key release before the key 130 reaches the end position (position where the key 130 is fully pressed) is also used. The action mechanism 140 strikes a string according to these subtle key operation differences, and as a result, a musical sound according to the subtle key depression operation is generated.
[0013]
However, when the performance information is generated as MIDI data, for example, for a key pressing operation, the time required for the key to move the distance between two points is detected, and the distance between the two points and the detected time are used. The obtained speed is set as the velocity for the key pressing operation. Therefore, in MIDI data, only a single velocity is defined for each key pressing operation, and only a part of the performance operation is reflected. Therefore, the subtle nuances by the performers could not be expressed sufficiently.
[0014]
Therefore, the keyboard instrument 100 is a continuous sensor from the rest position (the position where the key is released) to the end position of the key 130 as a key sensor that detects a key operation in order to generate performance information that reflects delicate nuances. A sensor for detecting the position is provided. More specifically, a support member 300 for supporting the key sensor 310 is provided above the key 130. FIG. 2 is a perspective view of the key sensor 310 and the key 130. As shown in this figure, the key sensor 310 is provided at a position facing the detected member 135 disposed on the upper surface of each key 130 so as to correspond to each of the 88 keys 130.
[0015]
FIG. 3 is a diagram illustrating a configuration of the key sensor 310. As shown in this figure, the key sensor 310 includes a light emitting element 312 and a light receiving element 314. Among these, the light emitting element 312 irradiates light toward the detected member 135. On the other hand, the light receiving element 314 receives reflected light of light emitted from the light emitting element 312 to the detected member 135. The key sensor 310 detects the distance to the detected member 135 in units of 0.001 mm according to the amount of light received by the light receiving element 314.
[0016]
When the key 130 is pressed, the detected member 135 moves downward as indicated by a two-dot chain line in FIGS. The key sensor 310 continuously detects the position of the key 130 by detecting the distance from the key sensor 310 to the detected member 135. Thereby, the position of the key 130 can be continuously detected from the rest position to the end position. By adopting such a key sensor 310, it is possible to accurately detect a delicate key operation by the performer, and to generate performance information reflecting a delicate nuance from the detected value.
[0017]
FIG. 5 is a diagram showing the configuration of the hammer 142 and its surroundings. As shown in this figure, a hammer shank 143 is rotatably attached to a hammer flange 146 included in the action mechanism 140 with a pin 144 as a fulcrum. The hammer shank 143 holds the hammer 142 via the hammer wood 141. When the hammer is pressed, the hammer 142 rotates counterclockwise to a position indicated by a two-dot chain line in the drawing, and the hammer 142 strikes the string.
[0018]
A detected member 145 is fixed on the upper surface of the hammer shank 143. Further, a support member 400 for supporting 88 hammer sensors 410 corresponding to 88 hammers 142 is provided above the hammer shank 143. The hammer sensor 410 has the same configuration as the key sensor 310 described above, and detects the position of the detected member 145 installed in the corresponding hammer shank 143 in units of 0.001 mm. At this time, the hammer sensor 410 continuously detects the position of the hammer 142 from the rest position (position at the time of key release) to the end position (string striking position). As a result, the operation of the hammer 142 is detected without missing a slight change in the operation of the hammer 142.
[0019]
The description returns to FIG. 1 again. Below the keyboard instrument 100, three pedals 150 are provided so as to be swingable. More specifically, a damper pedal, a soft pedal, and a sostenuto pedal are provided, and “1”, “2”, and “3” are assigned as pedal numbers in this order. Above each pedal 150, a support member 500 is provided for supporting three pedal sensors 510 corresponding to the three pedals. Similar to the key sensor 310 described above, these pedal sensors 510 detect the position of the corresponding pedal 150 in units of 0.001 mm. At this time, the pedal sensor 510 continuously detects the pedal position from the rest position (state where the pedal is not depressed) to the end position (position where the pedal is depressed).
[0020]
Further, 88 dampers 160 are provided corresponding to each of the plurality of strings 170, and each damper 160 is assigned a note number from “1” to “88” indicating the pitch. Each damper 160 is positioned so as to come into contact with the string 170 when the key is released, while only the damper 160 corresponding to the pressed key 130 is separated from the string 170 when the key is pressed. However, when the damper pedal is depressed, all the dampers 160 move upward in accordance with the amount of depression of the damper pedal and are separated from the strings 170. As a result, the sound of the musical sound is enriched by the effect of overtones. On the contrary, when the depression of the damper pedal is released, the damper 160 comes into contact with the string 170 and the string vibration is attenuated. As a result, the sound is suppressed.
[0021]
Above the dampers 160, support members 600 that support 88 damper sensors 610 corresponding to the dampers 160 are provided. FIG. 6 is a diagram showing the damper 160 and its peripheral configuration. As shown in this figure, when the damper pedal is pressed, the damper 160 moves upward as indicated by a two-dot chain line in accordance with the amount of pressing. The damper sensor 610 has the same configuration as the key sensor 310 described above, detects the position of the detected member 165 provided on the upper surface of the damper 160, and detects the position of the damper 160 in units of 0.001 mm. Thereby, it is possible to generate performance information that expresses in detail whether or not the damper 160 that affects sound attenuation is in contact with the string 170.
[0022]
<Electrical configuration of keyboard instruments>
FIG. 7 is a diagram showing an electrical configuration of the keyboard instrument 100. In this figure, the CPU 200 controls each part of the configuration via the bus B. The RAM 210 is used as a work area for the CPU 200 and temporarily stores time data, which will be described later. The ROM 220 records various programs such as a program for the CPU 200 to execute performance information generation / recording processing. Here, the performance information generation / recording process is to detect the positions of four types of moving members (key 130, hammer 142, pedal 150, and damper 160) during the performance of the performer on the keyboard instrument 100, and each moving member. This is a process for generating and recording performance information indicating the operation.
[0023]
The operation unit 230 includes a switch for a user to input various operations, and a start signal for instructing start of performance information generation / recording processing, an end signal for instructing end of the processing, and the like via the bus B. It supplies to CPU200.
Further, the clock unit 240 supplies time information representing the current time to the CPU 200. When receiving the time information, the CPU 200 uses the information to generate time data indicating the moving period of the moving member, speed data indicating the speed of the moving member, and the like.
[0024]
Each of the 88 key sensors 310 inputs an analog position signal indicating the detected position of each key 130 to the A / D converter 250K. When the A / D converter 250K receives an analog position signal from each key sensor 310, the A / D converter 250K digitally converts the signal and supplies it to the CPU 200 as a digital position signal.
[0025]
Each of the 88 hammer sensors 410 inputs an analog position signal indicating the detected position of each hammer 142 to the A / D converter 250H. When the A / D converter 250H receives the analog position signal from each hammer sensor 410, the A / D converter 250H digitally converts the signal and supplies it to the CPU 200 as a digital position signal.
[0026]
Each of the three pedal sensors 510 inputs an analog position signal indicating the detected position of each pedal 150 to the A / D converter 250P. When the A / D converter 250P receives an analog position signal from each pedal sensor 510, the A / D converter 250P digitally converts the signal and supplies it to the CPU 200 as a digital position signal.
[0027]
Each of the 88 damper sensors 610 inputs an analog position signal indicating the detected position of each damper 160 to the A / D converter 250H. When the A / D converter 250H receives the analog position signal from each damper sensor 610, the A / D converter 250H digitally converts the signal and supplies it to the CPU 200 as a digital position signal.
[0028]
When the CPU 200 inputs the digital position signal from each of the A / D conversion units 250K, 250H, 250P, and 250D and the time information from the clock unit 240, the CPU 200 uses the information to move the moving distance of each moving member, The time required for moving by the distance, the moving speed, etc. are obtained, and a moving member-specific file in which the position of each moving member is defined in time series is generated as performance information. At this time, the CPU 200 generates a file by moving member for each of the key 130, the hammer 142, and the damper 160 for each note number, and for the pedal 150 for each pedal number.
[0029]
The storage unit 260 is a rewritable storage unit such as a hard disk, and stores a performance information folder and the like. Here, the performance information folder is recorded in the storage unit 260 for each piece of music, and files for each moving member corresponding to all moving members are stored as performance information of the music.
[0030]
FIG. 8 is a diagram showing the configuration of one moving member-specific file stored in the performance information folder. As shown in this figure, the moving member-specific file f roughly includes an attribute data group and a position / time data group. The attribute data group stores information indicating the moving member file f corresponding to which moving member file f. On the other hand, the position / time data group stores information in which the position of the moving member is defined in time series, that is, information indicating the operation of the moving member. Details of data elements included in the attribute data group and the position / time data group will be described below.
[0031]
The attribute data group includes a note ID / pedal ID, a moving member ID, a lower period L, and an upper period H as data elements. Among these, the moving member ID is information for specifying the type of the moving member, and is information indicating which of the key 130, the hammer 142, the pedal 150, and the damper 160 corresponds to the moving member file f. Also, the note ID / pedal ID is the moving member file f corresponding to which note number when the type of the moving member is specified as one of the key 130, the hammer 142, and the damper 160 by the moving member ID. When the type of the moving member is identified as the pedal 150, it indicates which pedal is the file f by moving member corresponding to which pedal.
[0032]
The lower period L and the upper period H represent the sampling period used when generating the position / time data group by these two. Each of the lower period L and the upper period H can be set by the performer, and a different sampling period can be set for each moving member via the operation unit 230.
[0033]
FIG. 9 is a diagram illustrating a format of data elements included in the attribute data group. As shown in this figure, each data element is defined as 16-bit data. First, the moving member ID stores “1100010001 0000” as the identifier in the upper 12 bits, “0001” indicating the key 130 and “0010” indicating the hammer 142 in the lower 4 bits indicated by “www”. One of “0011” indicating the damper 160 and “0000” indicating the pedal 150 is stored.
[0034]
In the note ID / pedal ID, “1100 0000” as an identifier is stored in the upper 8 bits, and information for specifying the note number or the pedal is stored in the lower 8 bits indicated by “kkkk kkkk”. . More specifically, in the lower 8 bits, any one of “0000 0001 (1 in decimal notation)” to “0101 1000 (88 in decimal notation)” indicating a note number, or “ One of “1000 0000”, “1000 0010” indicating a sostenuto pedal, and “1000 0011” indicating a shift pedal is stored.
[0035]
In the lower period L, “1100 0010” as the identifier is stored in the upper 8 bits, and “t”LtLtLtL tLtLtLtLIs stored in the lower 8 bits indicated by “”. On the other hand, in the upper period H, the identifier “1100 0011” is stored in the upper 8 bits, and “tHtHtHtH tHtHtHtHIn the lower 8 bits indicated by “”, information indicating the upper 8 bits of the sampling period is stored. As a result, the sampling period is 16 bits “t”.HtHtHtH tHtHtHtH tLtLtLtL tLtLtLtL”. Here, one bit of the sampling period indicates 0.001 mS, and a period from 0.000 mS to 65.535 mS can be expressed in units of 0.001 mS depending on the sampling period.
[0036]
The sampling period may be defined by only the lower period L or only the upper period H. More specifically, when only the lower period L is used, the sampling period is an 8-bit “t”.LtLtLtL tLtLtLtLThe period from 0.001 mS to 0.255 mS can be expressed in units of 0.001 mS. On the other hand, when only the upper period H is used, the sampling period is 16 bits “tHtHtHtH tHtHtHtH  0000 0000 ”, and a period from 0.256 mS to 65.280 mS can be expressed in units of 0.256 mS.
[0037]
In FIG. 8 again, the moving member ID included in the attribute data group indicates “0001” by the lower 4 bits, and the note ID / pedal ID indicates “60” in decimal notation by the lower 8 bits. . The sampling period is defined as “0000 0011 1110 1000” from the lower period L and the upper period H, and indicates “1000” in decimal notation. As a result, it is specified that the file f by moving member is the moving member file f related to the key 130 with the note number “60”, and the sampling period used in the position / time data group is “1 mS”. It is specified that there is.
[0038]
Following such an attribute data group, a position / time data group is stored. The position / time data group includes position data, velocity data, and time data as data elements. Among these, the position data is data indicating the position of the moving member. The speed data is data indicating the speed of the moving member within a certain period. The time data is data indicating a period during which the moving member has moved at a constant speed or stopped.
[0039]
FIG. 10 is a diagram showing the format of each data element of position / time data. As shown in this figure, in the position data, “00” is stored as the identifier in the upper 2 bits, and information indicating the position of the moving member is stored in the lower 14 bits indicated by “xx xxxx xxx xxx”. Is done. One bit of the position data indicates 0.001 mm, and the position data can represent a position in 1634 steps from −4.096 mm to 12.287 mm.
[0040]
In the speed data, “01” is stored as the identifier in the upper 2 bits, and information indicating the speed of the moving member is stored in the lower 14 bits indicated by “vv vvvv vvvv vvvv”. One bit of the speed data indicates 1 mm / S.
[0041]
In the time data, “10” is stored as the identifier in the upper 2 bits, and information indicating time is stored in the lower 14 bits indicated by “tt ttttt ttttttttt”. Here, one bit of the time data indicates 0.001 mS, and the time from 0.000 mS to 16.383 mS can be expressed by the time data.
[0042]
Each of these position data, time data, and velocity data is information that defines the position of the moving member in time series by being arranged in accordance with any one of the fixed period arrangement, the constant velocity arrangement, and the stop arrangement. . The CPU 200 generates one of the arrays according to the operation status of the three types of moving members, and stores it in the position / time data group.
[0043]
FIGS. 11A, 11B, and 11C are diagrams illustrating three types of operation states of the moving member. In these drawings, the vertical axis indicates the position of the moving member. The horizontal axis is a time axis, and one scale on the horizontal axis indicates one sampling period. First, as shown in FIG. 11A, when the moving member is moving at a speed that is not constant, that is, the speed at which the acceleration is not 0, the CPU 200 generates a fixed period array and generates position / time data. Store in groups. More specifically, in the periodic array, as shown in FIG. 8, position data is continuously arranged. In this arrangement, each position data sequentially indicates the position of the moving member every time a fixed period (sampling period) elapses.
[0044]
Next, as shown in FIG. 11B, when the moving member is moving at a constant velocity, the CPU 200 generates a constant velocity array and stores it in the position / time data group. More specifically, in the constant velocity array, as shown in FIG. 8, position data, velocity data, and time data are arranged in this order. In this arrangement, it is indicated that the moving member has moved from the position indicated by the position data for the period indicated by the time data at the speed indicated by the speed data. According to such a data notation method, even when the moving member is moving at a constant speed for a long time, the situation can be expressed by only three element data. For example, compare FIGS. 11A and 11B. In the case of a constant cycle arrangement, it is necessary to arrange 20 position data in order to express the movement of the moving member in the period t (20 times the sampling cycle). On the other hand, according to the constant velocity array, it can be expressed by an array of only three data elements when expressing the operation in the same period. As a result, the amount of data is greatly reduced as compared with a format (constant cycle arrangement) in which the positions of the moving members are arranged for each sampling period.
[0045]
Then, as shown in FIG. 11C, when the moving member is stopped, the CPU 200 generates a stop array and stores it in the position / time data group. More specifically, in the constant velocity array, as shown in FIG. 8, position data, time data, and position data are arranged in this order. In this arrangement, the head position data and the tail position data indicate the same position, and the moving member stops at that position for the period indicated by the time data. According to such a data notation method, even if the moving member has been stopped for a long time, the situation can be expressed by only three element data. For this reason, the amount of data is remarkably reduced as compared with a format (constant cycle arrangement) in which the positions of the moving members are arranged for each sampling period.
[0046]
<Operation of keyboard instrument>
Next, performance information generation / recording processing executed by the CPU 200 will be described with reference to FIG. The performance information generation / recording process is a process of detecting the position of each moving member during the performance of the keyboard instrument 100 by the performer, generating the moving member file f from the detection result, and recording it in the storage unit 260. The CPU 200 starts the performance information generation / recording process with the start signal input from the operation unit 230 as a trigger. Also, this process is interrupted by a timer, and the CPU 200 resets the timer at the start of the process.
[0047]
First, when a start signal is input from the operation unit 230, the CPU 200 executes an initialization process (step S1). More specifically, the CPU 200 records the performance information folder in the storage unit 260, and stores the moving member-specific files f related to all moving members in the performance information folder. Further, the lower period L and the upper period H are added to the start signal, and the CPU 200 stores them in the attribute data group of the file f for each moving member. At this time, only the attribute data group is recorded in each moving member-specific file f, and no information regarding the position / time data group is recorded.
[0048]
Next, the CPU 200 executes key data generation / recording processing (step S2). In this key data generation / recording process, for each of the 88 keys 130, a position / time data group in which the position of the key 130 is defined in time series is generated and stored in the performance information folder stored in the storage unit 260. In this process, the generated position / time data group is stored in the included file f. Details of the key data generation / recording process will be described later.
[0049]
Next, the CPU 200 executes hammer data generation / recording processing (step S3). In this process, a position / time data group is generated for each of the 88 hammers 142, and the position / time data group is stored in the moving member-specific file f included in the performance information folder.
[0050]
Next, the CPU 200 executes damper data generation / recording processing (step S4). In this process, a position / time data group is generated for each of the 88 dampers 160, and the position / time data group is stored in the moving member-specific file f included in the performance information folder.
[0051]
Next, the CPU 200 executes pedal data generation / recording processing (step S5). In this process, a position / time data group is generated for each of the three pedals 150, and the position / time data group is stored in the moving member-specific file f included in the performance information folder.
[0052]
Next, the CPU 200 determines whether or not an end signal has been received from the operation unit 230 (step S6). If the determination result is negative, the CPU 200 determines whether a certain time has elapsed in the timer (step S7). If this determination result is negative, the CPU 200 continues the determination in step S7 to wait until a predetermined time has elapsed. On the other hand, if the determination result of step S7 is affirmative, the process is returned to step S2 after resetting the timer.
On the other hand, if the determination result in step S6 is affirmative, that is, if an end signal is received, the CPU 200 ends the performance information generation / recording process.
[0053]
Next, the key data generation / recording process (step S2 in FIG. 12) will be described with reference to FIG. This process is a process for individually generating position / time data groups for the 88 keys 130 and recording them in the storage unit 260.
[0054]
First, the CPU 200 sets the count value to “1” (step S21). This count value indicates the note number of the key 130 and functions as a pointer indicating which key 130 of the 88 keys 130 is being processed.
[0055]
Next, the CPU 200 digitally converts an analog position signal indicating the position of the key 130 specified from the current count value (step S22). At this time, the CPU 200 converts the analog position signal input from the key sensor 310 corresponding to the key 130 in accordance with the sampling period (lower period L and upper period H) stored in the moving member-specific file f corresponding to the key 130. The A / D converter 250K converts the digital position signal.
[0056]
Next, the CPU 200 executes normalization processing on the converted digital position signal (step S23). The normalization process is a process for absorbing individual differences between keyboard instruments. More specifically, the key pressing speed, the string striking speed, and the like are subject to individual differences due to mechanical errors of each keyboard instrument. Therefore, assuming a standard keyboard instrument, the digital position signal is converted (normalized) into a signal corresponding to the standard keyboard instrument.
[0057]
Next, the CPU 200 generates a position / time data group from the normalized digital position signal in accordance with the operation status of the key 130 of interest, and executes generation / storage processing for storing the group in the file f for each moving member. (Step S24). More specifically, the CPU 200 generates, from the normalized digital position signal, one of a fixed period array, a constant speed array, and a stop array according to the speed of the moving member, and the array is classified by moving member. Store in file f. A detailed description of this generation / recording process will be given later.
[0058]
Next, the CPU 200 increments the count value by “1” (step S25). Next, the CPU 200 determines whether or not the incremented count value has reached “88”, that is, whether or not the processing from step S22 to step S25 has been executed for all the keys 130 (step S26). . If the determination result is negative, the CPU 200 repeats the processing from step S22 to step S25 until the count value reaches “88”.
[0059]
On the other hand, if the determination result of step S26 is affirmative, the CPU 200 shifts the processing procedure to step S3 of the performance information generation / recording process (FIG. 12). As described above, in the key data generation / recording process, the position / time data group is generated and recorded individually for the key 130 of each note number. Therefore, according to the generated performance information folder, a user such as a performer can easily delete or replace the moving member-specific file f individually for each moving member. This makes it easier to correct performance information for each moving member as compared to performance information such as MIDI data in which performance information for each moving member is mixed.
Note that hammer data generation / recording processing (step S3 in FIG. 12), damper data generation / recording processing (step S4 in FIG. 12), and pedal data generation / recording for moving members other than the key 130 (hammer 142, damper 160 and pedal 150). In each of the recording processes (step S5), as in the key data generation / recording process, position / time data groups are generated in the order of note numbers or pedal numbers, and the position / time data groups are individually stored in files for each moving member. Store in f.
[0060]
Next, the operation of the generation / recording process (step S24 in FIG. 13) included in the key data generation / recording process will be described with reference to FIG. This generation / recording process is a process executed by paying attention to one key 130, and generates one of a fixed period array, a constant speed array, and a stop array according to the moving speed of the key 130, and moves the moving member. This is a process of storing in another file f. At the start of this process, the CPU 200 records time data indicating the elapsed time “0” in the RAM 210 in advance.
[0061]
First, the CPU 200 determines whether or not the speed of the key 130 has changed (step S241). Here, the situation where the speed is changing means a state where the acceleration is other than “0”. For this reason, the situation where the speed has not changed includes a situation where the key 130 is moving in a constant speed and a situation where the key 130 is stopped. The determination process in step S241 will be described in detail. First, the CPU 200 measures the average speed during the sampling period from the displacement of the key 130 during the immediately preceding sampling period. At this time, the CPU 200 obtains the speed of the key 130 from the time information supplied from the clock unit 240 and the digital position signal supplied from the A / D conversion unit 250K. Next, the CPU 200 determines whether or not the speed of the moving member has changed depending on whether or not the measured speed is different from the speed measured last time. When the previous speed does not exist, that is, when the speed is measured for the first time, the determination result in step S241 is positive.
[0062]
If the determination result in step S241 is negative, the CPU 200 increments the time data stored in the RAM 210 according to the time information supplied from the clock unit 240 (step S242). Here, the time data stored in the RAM 210 will be described. If the determination result of step S241 is affirmative, that is, if the speed of the key 130 changes, the count value of the time data is initialized by the CPU 200. For this reason, the time indicated by the time data indicates either a period during which the key 130 is continuously moving at a constant speed or a period during which the key 130 is continuously stopped.
[0063]
Next, the CPU 200 determines whether or not the speed of the key 130 is “0”, that is, whether or not the key 130 is stopped (step S243). If the determination result is affirmative, that is, if the key 130 is stopped, the CPU 200 generates a stop array and stores the stop array in the moving member-specific file f or the moving member-specific file f. The stored stop array is updated (step S244). More specifically, as shown in FIG. 15, if the stop array is not written at the end of the position / time data group included in the moving member-specific file f, that is, the end is a fixed period array or the like. If it is one of the speed arrays, the CPU 200 writes the position data and the time data to generate a new stop array. In this figure, an example is shown in which the end of the position / time data group before the execution of step S244 is a periodic array.
[0064]
On the other hand, as shown in FIG. 16, if a stop array has already been written at the end of the position / time data group, the CPU 200 updates the time data included in the stop array. At this time, the CPU 200 overwrites the time data included in the stop array with the time data recorded in the RAM 210 incremented in step S242. Thus, even when the moving member is stopped for a long time, the situation can be expressed by only three data elements of position data, time data, and position data. Therefore, data for recording position data for each sampling period. Compared to the structure, there is no worry of increasing the amount of data. Therefore, the storage capacity of the storage unit 260 can be reduced. In other words, it is possible to record more performance information folders in the storage unit 260 having a certain storage capacity.
[0065]
On the other hand, if the determination result in step S243 is negative, that is, if the key 130 is moving at a constant speed, the CPU 200 generates a constant speed array and stores the constant speed array in the file f for each moving member. Alternatively, the constant velocity array stored in the moving member-specific file f is updated (step S245). More specifically, as shown in FIG. 17, the CPU 200 does not write a constant velocity array at the end of the position / time data group, that is, the end of the position / time data group is either a fixed period array or a stop array. If so, write velocity data and time data to generate a constant velocity array. In this figure, an example is shown in which the end of the position / time data group before the execution of step S245 is a periodic array.
[0066]
On the other hand, as shown in FIG. 18, if the constant velocity array is already stored at the end of the position / time data group, the CPU 200 updates the time data included in the constant velocity array. At this time, the CPU 200 overwrites the time data included in the constant velocity array with the time data stored in the RAM 210 incremented in step S242. As a result, even if the moving member moves at a constant speed for a long time, the operation status can be expressed by only three data elements of position data, speed data, and time data. As a result, the data amount of the performance information folder is reduced. It will be reduced.
[0067]
On the other hand, if the determination result in step S241 is affirmative, that is, if the key 130 is moving while changing at a constant speed, the CPU 200 generates a periodic array after resetting the time data stored in the RAM 210. And recorded in the storage unit 260. Specifically, the CPU 200 adds position data indicating the current position of the key 130 to the end of the position / time data group included in the moving member-specific file f. Thereby, performance information indicating the position of the key 130 continuous from the rest position to the end position is recorded.
[0068]
As described above, in the generation / recording process, any one of the fixed period array, the constant speed array, and the stop array is generated and recorded according to the moving speed of the moving member. This makes it possible to generate performance information that can express subtle nuances while reducing the amount of data.
Each of the hammer data generation / recording process (step S2 in FIG. 12), the damper data generation / recording process (step S3) and the pedal data generation / recording process (step S4) includes the generation / recording process. However, since these generation / recording processes are the same as the generation / recording process (FIG. 14) related to the key 130, description thereof will be omitted.
[0069]
As described above, according to the keyboard instrument 100 in the present embodiment, the position of the moving member can be detected with the accuracy of the shortest 0.001 mm, and the position / time data group can be generated with the sampling period of the shortest 0.001 mS. it can. As a result, the operation status of each moving member can be grasped in detail and faithfully, and performance information reflecting the player's personality, performance, etc. can be generated as compared with MIDI data or the like. Since it has such an advantage, the following examples can be considered as a method of using the keyboard instrument 100.
[0070]
For example, a performance operation by a famous player may be recorded on the keyboard instrument 100. As a result, it is possible to reproduce a performance operation performed by the performer in an automatic performance keyboard instrument or the like, and to leave the performance operation as a cultural heritage in future generations.
[0071]
In addition, since accurate performance information can be generated, instruction efficiency can be improved by using the keyboard instrument 100 for performance instruction. More specifically, if the performance operation of the student is recorded by the keyboard instrument 100, the instructor can evaluate the performance technique such as the student's expression method, weakness, and habit using the recorded performance information. On the other hand, if the performance operation of the instructor is recorded, the student can use the recorded performance information as a sample of performance practice. Also, according to the keyboard instrument 100, performance information is recorded for each moving member. For this reason, an instructor or a student can refer to performance evaluation or performance reference by paying attention to a specific moving member (such as the key 130 or the pedal 150).
[0072]
Moreover, in the performance information generation / recording process, the position (position / time data group) of the moving member defined in time series is generated as performance information. For this reason, compared with event-format MIDI data with complicated specifications, processing for converting performance operations into event data is not required, and normalization processing is also simplified. This simplifies the processing and configuration relating to the generation of performance information. Further, even when the performance information recorded by the keyboard instrument 100 is reproduced by an automatic performance instrument or the like, it is only necessary to drive the moving member according to the position / time data group. This eliminates the need for data conversion processing from event data to data for driving the moving member and timing control for driving the moving member in accordance with the event data during playback, and the processing and configuration for playing back performance information Becomes simple.
[0073]
In addition, in the generation / recording process, any one of a periodic array, a constant speed array, and a stop array is selected according to the speed of the moving member, and a position / time data group is generated. For this reason, when the moving member is moving at a constant speed and stopped, the operation state can be represented by only three data elements. In general, even during a performance, many moving members have a long stop period. Therefore, by generating performance information using a stop arrangement, it is possible to significantly reduce the amount of performance information.
[0074]
In the performance information generation / recording process, the performance operation is recorded for each moving member when recording the performance operation of one piece of music. For this reason, it is possible to easily perform correction work such as deletion or replacement of performance mistakes for each moving member and editing work such as addition or movement of performance information for each moving member for the recorded performance information. As a result, information on each moving member is mixed, and correction work and editing work are simplified compared to MIDI data that requires time detection between the same operator events and event sequence detection.
In the above-described embodiment, an example in which operation information (position / time data group) for one moving member is stored for each file is shown. However, even for a single file, the operation information is separately stored. The same effect can be obtained if they are recorded independently. In short, any method may be used as long as the operation information can be recorded for each moving member.
[0075]
Furthermore, all or part of the performance information recorded in the keyboard instrument 100 can be converted into event data. At this time, it is also possible to convert the event data into highly accurate event data in which a plurality of velocities can be set. This makes it possible to convert a special performance style into event data accurately. Further, even a musical piece having a long performance time can be temporarily recorded as a performance information folder and converted into event data by dividing the performance information folder at another time.
[0076]
Further, according to the keyboard instrument 100, the positions of moving members such as the hammer 142 and the damper 160 can be accurately recorded. As a result, the characteristics of the keyboard instrument 100 can be grasped, and the performance information folder can be used as a judgment material for deterioration or failure of the moving member due to secular change.
[0077]
<Modification>
It should be noted that the present invention is not limited to the above-described embodiment, and various applications / improvements can be added.
For example, in the above-described embodiment, the example in which the performance information (position / time data group) generated in the keyboard instrument 100 is stored in the storage unit 260 has been described, but the configuration is such that the performance information is output to an external device. Also good. More specifically, as shown in FIG. 19, the electrical configuration of the keyboard instrument 100 may include an external interface 270 instead of the storage unit 260 described above. The external interface 270 is an interface for outputting the position / time data group generated by the CPU 200 to an external device. As an external device connected to the external interface 270, an automatic musical instrument that performs automatically in real time according to a position / time data group, a personal computer that can process / edit the position / time data group, and the like are conceivable.
[0078]
In such a configuration, the CPU 200 outputs the position / time data group via the external interface 270 instead of recording the position / time data group in the storage unit 260 in the above-described generation / recording process (see FIG. 14). At this time, in steps S244 and S245 of the generation / recording process, it is not possible to execute the process of updating (overwriting) the constant velocity array and the stop array already output to the external device. Therefore, when outputting the constant velocity array and the stop array via the external interface 270, the following procedure is followed.
[0079]
That is, regarding the output of the constant velocity array, if the CPU 200 records and updates the constant velocity array in the RAM 210 when the moving member is operating at a constant speed, and determines that the constant velocity array is not constant in step S241, the RAM 210 Is output from the external interface 270. Similarly, regarding the output of the stop arrangement, the CPU 200 records and updates the stop arrangement in the RAM 210 when the moving member is stopped, and via the external interface 270 when the moving member starts moving. Output a stop sequence.
[0080]
Further, the following processing may be applied as an alternative processing related to the output of the constant velocity array. That is, first, the CPU 200 outputs only the position data and the velocity data among the data elements of the constant velocity array when the start of the constant velocity motion is detected, and the remaining data elements when the end of the constant velocity motion is detected. Output time data. With such a process, the speed information is output with the start of the constant velocity motion, so that the position / time data group can be reproduced in real time on the external device.
[0081]
In an external device (for example, a personal computer) to which a position / time data group is transmitted from the keyboard instrument 100, various processes can be executed using the position / time data group. For example, a waveform indicating the time-series position of the moving member can be displayed on the display device of the external device. At this time, since the position / time data group is continuous with respect to each of the time and the position, only the process of plotting the positions in the data storage order is required. In addition, various processing related to the position / time data group by the spreadsheet application can be easily performed.
[0082]
Furthermore, according to the keyboard instrument 100, since any one of the fixed period array, the constant speed array, and the stop array is selected according to the speed of the moving member, the data amount of the position / time data group indicating the performance information is reduced. Thus, network traffic connecting the keyboard instrument 100 and the external device is suppressed.
[0083]
Further, in the above-described embodiment, the state in which the moving member is moving at a constant velocity is indicated by a constant velocity arrangement, and the state in which the moving member is stopped is indicated by a stop arrangement. For example, it is good also as a structure which expresses both states by either a constant velocity arrangement | sequence or a stop arrangement | sequence. More specifically, when a stop sequence consisting of position data, time data, and position data is used to indicate a situation in which constant speed movement is performed, information indicating the start position of constant speed movement is included in the head position data. Information indicating the period of constant velocity exercise may be stored in the time data, and information indicating the end position of constant velocity exercise may be stored in the tail position data.
On the other hand, when the stop state is indicated by a constant speed arrangement including the order of position data, speed data, and time data, information indicating the stop position is stored in the position data. Information indicating “0” may be stored, and information indicating stop time may be stored in the time data.
In addition, the number of data elements in the array representing a state in which the speed of the moving member has not changed (the moving member is moving at a constant speed or stopped) is not limited to three: position data, time data, and speed data. . For example, data that can specify a period in which the speed does not change and a displacement in the period by combining as data elements such as difference data representing the displacement of the moving member in a period in which the speed does not change. For example, the data elements can be arbitrarily arranged to represent a state in which the speed of the moving member is not changed.
[0084]
In the above-described embodiment, the sensor (for example, the key sensor 310) and the electrical configuration (see FIGS. 7 and 9) for generating performance information are built in the keyboard instrument 100. Each configuration related to generation may be a configuration separate from the keyboard instrument 100. Thereby, even a keyboard instrument that does not have a function of generating performance information can create performance information (position / time data) representing the detailed operation of the moving member. For example, it is possible to create performance information for a keyboard instrument having an antique or historical value.
[0085]
In the above-described embodiment, the example in which the light reflection sensor that detects the distance by light is used as the sensor that detects the position of each moving member has been described. For example, the present invention can be arbitrarily applied to any detection means that can continuously detect the position of each detected object, such as a magnetic sensor that magnetically detects a distance. Further, instead of the sensor for detecting the position of each moving member, a sensor for detecting a physical quantity related to the movement of the moving member such as the speed and acceleration of each moving member is provided, and the position of each moving member is obtained from the detected physical quantity. Also good.
[0086]
In the embodiment described above, an example in which all performance operations relating to one piece of music are recorded as a position / time data group has been described, but the present invention is not limited to this. For example, a part of the performance operation (such as a performance operation related to a specific moving member) may be recorded as a position / time data group, and other performance operations may be recorded as performance information in an event format.
[0087]
In the above-described embodiment, an example in which one sampling period is taken for one moving member-specific file f is shown, but the present invention is not limited to this. For example, when the hammer 142 is positioned in the vicinity of the string-striking position, when the key 130 is positioned in the vicinity of changing the direction (swinging angle) at the time of bottom continuous striking, or when the pedal 150 is positioned in the vicinity of the half pedal area, etc. The configuration may be such that the sampling period when the moving member is located in an area important as performance information is shorter than the sampling period in other areas. Further, when the key 130 is at the rest position, the sampling cycle may be lengthened. As a result, performance information that expresses the operation status in detail can be generated for important parts in the performance operation while suppressing the amount of data and the amount of processing. Furthermore, even in the middle of the music, the sampling cycle may be changed according to the performer, the movement status (for example, whether or not the music is stopped), and the like.
When the sampling period is changed, the operation information can be represented by an array including position data, time data, and position data, similar to the stop array. In this arrangement, the position indicated by the head position data is moved to the position indicated by the tail position data after the time indicated by the time data (sampling period after change) has elapsed.
[0088]
In the above-described embodiment, when recording the position / time data, the data element is added to the storage unit 260 while the sampling period elapses. However, the present invention is not limited to this. For example, the RAM 210 may be configured to generate and update a position / time data group during a performance and write it together in the storage unit 260 when the performance ends.
[0089]
In the embodiment described above, an example in which the performance information folder is recorded in the storage unit 260 has been described, but the present invention is not limited to this. For example, the keyboard instrument 100 includes a data recording / reproducing device that reads / writes data from / to a recording medium such as a flexible disk or an optical disk, and the performance information folder is recorded on the recording medium via the data recording / reproducing apparatus. Also good. This makes it possible to exchange data with an external device such as a personal computer.
[0090]
In addition to the configuration of the keyboard instrument 100 in the above-described embodiment, the configuration may further include a display device such as a liquid crystal display. With this configuration, it is possible to display the position / time data group on the display device and visually display performance information.
[0091]
In the above-described embodiment, the example of generating the position / time data group of the key 130, the hammer 142, the pedal 150, and the damper 160 has been described. However, if the moving member is provided on the keyboard instrument and moves in accordance with the operation of the performer (operator), the operation state of the moving member can be generated as performance information.
[0092]
In the above-described embodiment, the performance information is generated by the fixed period arrangement only when the speed of the moving member is changed. Furthermore, when the moving member is moving at a constant speed, the performance information is generated by the fixed period arrangement. Information may be generated.
[0093]
【The invention's effect】
  As described above, according to the present invention, detailed performance information can be easily generated while suppressing the amount of data.PerformanceA performance information recording apparatus and a keyboard instrument are provided.
[Brief description of the drawings]
FIG. 1 is a diagram showing a mechanical configuration of a keyboard instrument according to an embodiment of the present invention.
FIG. 2 is a perspective view of keys and key sensors of the keyboard instrument.
FIG. 3 is a diagram showing a configuration of the key sensor.
FIG. 4 is a diagram showing the same key and its peripheral configuration.
FIG. 5 is a diagram showing a hammer of the keyboard instrument and its peripheral configuration.
FIG. 6 is a diagram showing a damper of the keyboard instrument and its peripheral configuration.
FIG. 7 is a diagram showing an electrical configuration of the keyboard instrument.
FIG. 8 is a diagram showing a configuration of a file by moving member stored in the storage unit of the keyboard instrument.
FIG. 9 is a diagram showing a format of a data element included in the moving member-specific file.
FIG. 10 is a diagram showing a format of the data element.
FIG. 11 is a diagram illustrating an operation state of a moving member.
FIG. 12 is a flowchart for explaining performance information generation / recording processing executed in the keyboard instrument.
FIG. 13 is a flowchart for explaining key data generation / recording processing included in the performance information generation / recording processing;
FIG. 14 is a flowchart for explaining generation / recording processing included in the key data generation / recording processing;
FIG. 15 is a diagram for explaining the generation / recording process;
FIG. 16 is a diagram for explaining the generation / recording process;
FIG. 17 is a diagram for explaining the generation / recording process;
FIG. 18 is a diagram for explaining the generation / recording process;
FIG. 19 is a diagram showing an electrical configuration of a keyboard instrument according to a modification of the embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Keyboard instrument, 110 ... Shelf board, 120 ... Saddle, 130 ... Key, 135, 145, 155, 165 ... Detected member, 140 ... Action mechanism, 150 ... Pedal, 142 ... Hammer, S ... String, 200 ... CPU, 210 ... RAM, 220 ... ROM, 230 ... operation part, 240 ... clock part, 250K, 250H, 250P, 250D ... A / D conversion part, 260 ... storage part, 270 ... external interface, 300,400,500, 600: support member, 310: key sensor, 410: hammer sensor, 510: pedal sensor, 610: damper sensor.

Claims (3)

鍵盤楽器に備えられ、操作者の操作に応じて移動する移動部材について、その移動に関する物理量として当該移動部材の位置をレスト位置からエンド位置まで連続的に検出する検出手段と、
前記検出手段によって検出された物理量である前記移動部材の位置に基づき、物理量情報として当該移動部材の位置を表す位置データを生成する物理量情報生成手段と、
前記物理量情報生成手段により生成された物理量情報から求められる移動部材の移動速度に基づいて、当該移動部材が停止しているか、等速運動をしているか又は速度変化しながら移動しているかを判定する判定手段と、
記録手段と、
前記移動部材の移動を時系列的な情報の配列によって表し、その配列された情報を演奏情報として前記記録手段に記録する演奏情報生成手段とを備え、
前記演奏情報生成手段は、
前記判定手段により前記移動部材が速度変化しながら移動していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データを一定時間毎に時系列に並べた第1の配列で前記記録手段に記録し、
前記判定手段により前記移動部材が停止していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データと、当該移動部材が連続して停止している期間を示す時間データとを順番に並べた第2の配列で記録し、
前記判定手段により前記移動部材が等速運動をしていると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データであって当該等速運動の開始位置を表す位置データと、前記移動部材の移動速度を表す速度データと、当該移動部材が連続して等速運動している期間を示す時間データとを順番に並べた第3の配列で記録し、
さらに、前記記録手段における情報の配列の最後尾が前記第2の配列で記録されている場合には、前記移動部材が停止してからの経過時間に応じて、当該最後尾の前記第2の配列において記録されている時間データを更新し、前記記録手段における情報の配列の最後尾が前記第3の配列で記録されている場合には、前記移動部材が等速運動を開始してからの経過時間に応じて、当該最後尾の前記第3の配列において記録されている時間データを更新する
ことを特徴とする演奏情報記録装置。
A detection unit that is provided in a keyboard instrument and that moves in response to an operation of an operator, and continuously detects the position of the moving member from the rest position to the end position as a physical quantity related to the movement;
Physical quantity information generating means for generating position data representing the position of the moving member as physical quantity information based on the position of the moving member that is the physical quantity detected by the detecting means;
Based on the moving speed of the moving member obtained from the physical quantity information generated by the physical quantity information generating means, it is determined whether the moving member is stopped, moving at a constant speed, or moving while changing the speed. Determination means to perform,
Recording means;
The movement member is represented by a time-series information arrangement, and performance information generating means for recording the arranged information as performance information in the recording means,
The performance information generating means includes
Wherein when the movable member is determined to be moving with speed variation by determination means arranged in time series the position data is a physical quantity information generated by the physical quantity information generation means for each a certain time Recorded in the recording means in a first arrangement,
Wherein when the movable member is determined to be stopped by the determining means, said position data is a physical quantity information generated by the physics amount information generating means, to stop the moving member continuously Recording in a second array in which time data indicating a certain period is arranged in order ,
Wherein when the movable member is determined to be a uniform motion by determining means start of the physics amount information generation means to a said position data is a physical quantity information generated by the constant velocity movement position data representing the position, and speed data representing the moving speed of the moving member, and recorded in the third array arranged time and data in the order indicating the time period in which the moving member is moving at a constant rate continuously ,
Furthermore, when the last of the information array in the recording means is recorded in the second array, the second of the last is determined according to the elapsed time from the stop of the moving member. The time data recorded in the array is updated, and when the last of the information array in the recording means is recorded in the third array, the moving member has started the constant velocity motion. The performance information recording apparatus, wherein the time data recorded in the third array at the end is updated according to the elapsed time.
前記鍵盤楽器には複数の移動部材が備えられており、
各移動部材に個別に対応して、検出手段と、物理量情報生成手段と、判定手段と、演奏情報生成手段とからなる組を複数含み、
前記記録手段には、前記移動部材別に前記演奏情報が記録される
ことを特徴とする請求項1に記載の演奏情報記録装置。
The keyboard instrument is provided with a plurality of moving members,
In correspondence with each moving member individually, including a plurality of sets of detection means, physical quantity information generation means, determination means, and performance information generation means,
The performance information recording apparatus according to claim 1, wherein the performance information is recorded in the recording unit for each moving member.
操作者の操作に応じて移動する移動部材について、その移動に関する物理量として当該移動部材の位置をレスト位置からエンド位置まで連続的に検出する検出手段と、
前記検出手段によって検出された物理量である前記移動部材の位置に基づき、物理量情報として当該移動部材の位置を表す位置データを生成する物理量情報生成手段と、
前記物理量情報生成手段により生成された物理量情報から求められる移動部材の移動速度に基づいて、当該移動部材が停止しているか、等速運動をしているか又は速度変化しながら移動しているかを判定する判定手段と、
記録手段と、
前記移動部材の移動を時系列的な情報の配列によって表し、その配列された情報を演奏情報として前記記録手段に記録する演奏情報生成手段とを備え、
前記演奏情報生成手段は、
前記判定手段により前記移動部材が速度変化しながら移動していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データを一定時間毎に時系列に並べた第1の配列で前記記録手段に記録し、
前記判定手段により前記移動部材が停止していると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データと、当該移動部材が連続して停止している期間を示す時間データとを順番に並べた第2の配列で記録し、
前記判定手段により前記移動部材が等速運動をしていると判定された場合には、前記物理量情報生成手段により生成された物理量情報である前記位置データであって当該等速運動の開始位置を表す位置データと、前記移動部材の移動速度を表す速度データと、当該移動部材が連続して等速運動している期間を示す時間データとを順番に並べた第3の配列で記録し、
さらに、前記記録手段における情報の配列の最後尾が前記第2の配列で記録されている場合には、前記移動部材が停止してからの経過時間に応じて、当該最後尾の前記第2の配列において記録されている時間データを更新し、前記記録手段における情報の配列の最後尾が前記第3の配列で記録されている場合には、前記移動部材が等速運動を開始してからの経過時間に応じて、当該最後尾の前記第3の配列において記録されている時間データを更新する
ことを特徴とする鍵盤楽器。
Detecting means for continuously detecting the position of the moving member from the rest position to the end position as a physical quantity related to the movement of the moving member that moves according to the operation of the operator;
Physical quantity information generating means for generating position data representing the position of the moving member as physical quantity information based on the position of the moving member that is the physical quantity detected by the detecting means;
Based on the moving speed of the moving member obtained from the physical quantity information generated by the physical quantity information generating means, it is determined whether the moving member is stopped, moving at a constant speed, or moving while changing the speed. Determination means to perform,
Recording means;
The movement member is represented by a time-series information arrangement, and performance information generating means for recording the arranged information as performance information in the recording means,
The performance information generating means includes
Wherein when the movable member is determined to be moving with speed variation by determination means arranged in time series the position data is a physical quantity information generated by the physical quantity information generation means for each a certain time Recorded in the recording means in a first arrangement,
Wherein when the movable member is determined to be stopped by the determining means, said position data is a physical quantity information generated by the physics amount information generating means, to stop the moving member continuously Recording in a second array in which time data indicating a certain period is arranged in order ,
Wherein when the movable member is determined to be a uniform motion by determining means start of the physics amount information generation means to a said position data is a physical quantity information generated by the constant velocity movement position data representing the position, and speed data representing the moving speed of the moving member, and recorded in the third array arranged time and data in the order indicating the time period in which the moving member is moving at a constant rate continuously ,
Furthermore, when the last of the information array in the recording means is recorded in the second array, the second of the last is determined according to the elapsed time from the stop of the moving member. When the time data recorded in the array is updated, and the last of the information array in the recording means is recorded in the third array, the time since the moving member started the constant velocity motion According to the elapsed time, the time data recorded in the last third array is updated.
JP2002233608A 2002-08-09 2002-08-09 Performance information recording device and keyboard instrument Expired - Fee Related JP4144288B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002233608A JP4144288B2 (en) 2002-08-09 2002-08-09 Performance information recording device and keyboard instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002233608A JP4144288B2 (en) 2002-08-09 2002-08-09 Performance information recording device and keyboard instrument

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007102071A Division JP4218731B2 (en) 2007-04-09 2007-04-09 Performance information output device

Publications (2)

Publication Number Publication Date
JP2004077521A JP2004077521A (en) 2004-03-11
JP4144288B2 true JP4144288B2 (en) 2008-09-03

Family

ID=32018699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002233608A Expired - Fee Related JP4144288B2 (en) 2002-08-09 2002-08-09 Performance information recording device and keyboard instrument

Country Status (1)

Country Link
JP (1) JP4144288B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195265A (en) * 2005-01-14 2006-07-27 Kawai Musical Instr Mfg Co Ltd Keyboard device of electronic keyboard musical instrument
JP5057669B2 (en) * 2005-04-28 2012-10-24 株式会社河合楽器製作所 Pedal device for keyboard instrument
JP4650363B2 (en) * 2006-07-18 2011-03-16 ヤマハ株式会社 Electronic keyboard instrument
JP5533915B2 (en) * 2012-03-07 2014-06-25 カシオ計算機株式会社 Proficiency determination device, proficiency determination method and program

Also Published As

Publication number Publication date
JP2004077521A (en) 2004-03-11

Similar Documents

Publication Publication Date Title
JP4107107B2 (en) Keyboard instrument
JP3900712B2 (en) Keyboard instrument sensor calibration apparatus and sensor calibration method
US9082384B1 (en) Musical instrument with keyboard and strummer
JPH02259696A (en) Touch controller for automatic playing piano
US20160104469A1 (en) Musical-performance analysis method and musical-performance analysis device
JP6149354B2 (en) Electronic keyboard instrument, method and program
JP3627322B2 (en) Automatic piano
JP4144288B2 (en) Performance information recording device and keyboard instrument
JP2014112221A (en) Drive control device for percussion member in sound production mechanism
US6075196A (en) Player piano reproducing special performance techniques using information based on musical instrumental digital interface standards
JP3577561B2 (en) Performance analysis apparatus and performance analysis method
JP4042753B2 (en) Electronic musical instruments
US5335574A (en) Self playing piano and an apparatus for automatic playing of a piano
JP4218731B2 (en) Performance information output device
JP4506147B2 (en) Performance playback device and performance playback control program
JP4305319B2 (en) Performance information generating device, performance information recording device, and keyboard instrument
JP2003186476A (en) Automatic playing device and sampler
JP3719157B2 (en) Music data expression device, music data expression method, and music data expression program
WO2023032137A1 (en) Data modification method, data reproduction method, program, data modification device
JP7425558B2 (en) Code detection device and code detection program
JP3719144B2 (en) Electronic musical instruments
JP2007018004A (en) Electronic keyboard musical instrument
JP4305320B2 (en) Performance information generating device, performance information recording device, and keyboard instrument
JPH10288987A (en) Electronic musical instrument and musical sound control data generating device
JPH0635447A (en) Performance assisting device for stringed instrument

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080207

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: 20080527

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080609

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: 20110627

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140627

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees