JP2005157287A - 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 - Google Patents

演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 Download PDF

Info

Publication number
JP2005157287A
JP2005157287A JP2004231013A JP2004231013A JP2005157287A JP 2005157287 A JP2005157287 A JP 2005157287A JP 2004231013 A JP2004231013 A JP 2004231013A JP 2004231013 A JP2004231013 A JP 2004231013A JP 2005157287 A JP2005157287 A JP 2005157287A
Authority
JP
Japan
Prior art keywords
data
resolution
performance information
moving member
value
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.)
Granted
Application number
JP2004231013A
Other languages
English (en)
Other versions
JP4305319B2 (ja
JP2005157287A5 (ja
Inventor
Yuji Fujiwara
祐二 藤原
Taro Kawabata
太郎 川端
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 JP2004231013A priority Critical patent/JP4305319B2/ja
Priority to US10/971,975 priority patent/US7381880B2/en
Priority to DE602004005552T priority patent/DE602004005552T2/de
Priority to EP04025608A priority patent/EP1528537B1/en
Priority to EP06015401A priority patent/EP1713058B1/en
Priority to KR1020040087181A priority patent/KR100690466B1/ko
Priority to CN2009101710064A priority patent/CN101656065B/zh
Priority to CN200410090097A priority patent/CN100593191C/zh
Publication of JP2005157287A publication Critical patent/JP2005157287A/ja
Publication of JP2005157287A5 publication Critical patent/JP2005157287A5/ja
Application granted granted Critical
Publication of JP4305319B2 publication Critical patent/JP4305319B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 データ量を増やすことなく、鍵やハンマ等の位置情報として記述可能なストローク変位の範囲を拡張する。
【解決手段】 鍵130あるいはハンマ142について、その移動状態を連続的に検出し、その検出出力に基づく位置情報を含む演奏情報を得る。位置情報は、レスト位置からエンド位置の範囲内での位置を前記第1の分解能で記述し、レスト位置若しくはエンド位置として規定された位置を越えたストローク位置(動作範囲外)を該第1の分解能よりも粗い第2の分解能で記述する。これにより、該動作範囲外のデータとして記述可能な範囲を、データ量を増やすことなく拡張することができる。
【選択図】 図6

Description

この発明は、例えばアコースティックピアノ等の鍵盤楽器における鍵やハンマ等の発音動作に連動する移動部材の、位置情報等の移動状態に関する情報を演奏情報として生成する装置、及び、該演奏情報を記録する装置に関する。
演奏者によって行われた鍵盤楽器の演奏操作を表す演奏情報を生成或は記録する装置として、従来から、例えば下記特許文献1、特許文献2あるいは特許文献3に開示された装置等、種々の装置が知られるている。従来から知られるこの種の装置において、演奏情報は、例えば、ノートオン・ノートオフ情報、ピッチ情報やベロシティ情報などのパラメータを規定してなるMIDI規格のフォーマットで生成、記録することが可能であった。
特開昭53‐112716号公報 特開昭58‐159279号公報 特開昭59‐82682号公報
また、例えば、アコースティックピアノのような鍵盤楽器等において、演奏者による演奏操作を表す情報として、鍵等の演奏操作子やあるいは、その他発音操作に連動する部材の位置情報(軌道情報)を生成、記録する装置が知られている。こうした軌道情報は、鍵等の移動部材のレスト位置(ハンマ、鍵、あるいはペダル等の移動部材がピアノに外力を加えない状態にある位置)からエンド位置(ハンマ、鍵、またはペダルあるいはペダル等の移動部材がストロークエンド状態にある位置)までのストローク位置の情報を生成、記録するものであった。
これら鍵やハンマ、ダンパ等の移動部材は、実際には、機械的なずれや撓み等によって、レスト位置からエンド位置の範囲を越えて変位しうる。鍵やハンマ、ダンパ等の移動部材の位置情報は、ピアノ調整時の内部測定情報としての用途や、無人演奏ピアノ等における再生用データとしての用途がある。そのため、鍵やハンマ等の移動部材の連続的な位置情報は、それをそのまま、すなわちレスト位置からエンド位置の範囲外のストローク変位をも含めて記録、再生したいという要望があった。しかしながら従来の装置では、そのような範囲外のストロークを表現した演奏情報を生成、記録することはできなかった。あるいは、従来の技術は、演奏情報によってそのような表現を行う意図乃至発想を有さなかった。
この発明は、鍵盤楽器において、鍵やハンマ等、発音動作に連動する移動部材における、例えば位置情報のような移動状態に関する情報を高精度且つ効率的に生成及び記録することを目的とするもので、詳しくは、情報として記述可能な前記移動部材のストローク変位の範囲を、データを効率的に利用しつつ、拡張することにある。
この発明は、演奏情報生成装置、演奏情報記録装置及び鍵盤楽器において、操作者による演奏操作に応じて変位する移動部材について、その移動状態を連続的に検出し、その検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報として、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものが生成されることを特徴とする。
これによれば、演奏情報に含まれる移動部材の移動状態を示すデータは、前記移動部材の所定の動作範囲内での状態を示すものが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述される。例えば、移動状態を示すデータとして鍵やハンマ等の移動部材の位置情報を記述する際、レスト位置からエンド位置の範囲内での位置を前記第1の分解能で記述し、レスト位置若しくはエンド位置として規定された位置を越えたストローク位置を該第1の分解能よりも粗い第2の分解能で記述する。前記所定の動作範囲(レスト位置−エンド位置)外での状態を示すデータ(位置情報)を比較的粗い第2の分解能で記述することにより、当該動作範囲外のデータとして記述可能な移動部材の動作範囲を拡張することができる。従って、この発明によれば、データ量を格別に増加させることなく、より拡大された動作範囲での移動部材の移動状態を示すデータを得ることができる。よって、この発明によれば、鍵、ハンマ等のレスト位置からエンド位置の範囲外のストロークを表現した演奏情報を生成、記録することができる。
以下添付図面を参照して、この発明の実施例について説明する。この実施例においては、演奏情報として、ピアノの鍵の位置情報とハンマの位置情報とを生成及び記録する例について説明するが、位置情報の生成及び記録対象となる部材はこれに限定されない。
まず、この実施例に係る鍵盤楽器の機械的構成例について図1を参照して説明する。図1に示すように、鍵盤楽器(ピアノ)100には、棚板110が具備されており、棚板110の上面には、紙面垂直方向に延在するよう筬中120が配置される。筬中120上面には複数のバランスピン125が立設されており、88個の鍵130の各々は、各バランスピン125に対して貫通された状態で、筬中120上面に並設される。これらの各鍵130には、各々が担当する音高を示す「21」〜「108」までのノート番号が割り当てられている。また、各鍵130は、バランスピン125に貫通された位置を、およその支点として揺動可能に保持されており、演奏者(操作者)によって鍵130の一端(前方近傍)が押下されることで、揺動する。演奏者は鍵130を押下げることによって演奏操作(押鍵)を行う。各鍵130の後方近傍には、対応する鍵130の揺動に応じて駆動されるアクション機構140が夫々設けられている。各アクション機構140は、対応する鍵の運動をハンマによる打弦運動に変換する装置であって、対応する鍵130に応じて「21」〜「108」までのノート番号が割り当てられた88個のハンマ142を含む。各ハンマ142は、演奏者による対応する鍵の押鍵操作に連動して、対応する弦170を打撃する。ハンマ142によって弦170が打撃されると、弦振動が生じ、その振動が、駒(図示しない)を介して響板(図示しない)に伝達することで、楽音が発生する。
図2は、鍵130及びその周辺機構を抽出して示す側面図であり、図3は、ハンマ142及びその周辺機構を抽出して示す側面図である。図2に示すように、鍵130は、非押鍵時(外力を加えない状態)では、図において実線で示すようなレスト位置に位置される。鍵130は、演奏者による押鍵操作によって一端(前方近傍)を押下げられることで、バランスピン125を凡その動作支点として揺動し、該レスト位置から鍵の揺動ストロークのエンド位置まで変位しうる。図2中の2点鎖線位置は、前記エンド位置まで押下げられた鍵130が占めるストローク位置を示す。当該実施例において、鍵130はレスト位置を基準にして約10mmのストローク幅で変位されるものとする。押鍵操作が解除されると、鍵130はレスト位置へ復帰する。なお、鍵130の前記ストロークの長さ(約10mm)は、鍵の先端位置を基準に規定されたものとする。
図3において、ハンマ142は、ハンマウッド141を介してハンマシャンク143に保持されている。ハンマシャンク143は、ハンマフレンジ146においてピン144を支点として回動可能に取り付けされる。ハンマ142を保持するハンマシャンク143は、鍵130が非押鍵(外力を加えない状態)のときには、図において実線で示すようなレスト位置に位置される。演奏者による押鍵操作が行われると、これに連動して、ピン144を中心に反時計方向に回転し、ハンマ142は対応する弦170を打撃する。図3において2点鎖線位置は、ハンマ142が打撃すべき弦170に当接する位置を示し、この位置をハンマ142のストロークのエンド位置とする。当該実施例において、ハンマ142はレスト位置を基準にして約48mmのストローク幅で変位されるものとする。なおハンマ142のストロークの長さ(約48mm)も、その先端位置を基準に規定されたものとする。
ところで、鍵130及びハンマ142は、厳密にレスト位置‐エンド位置間においてのみ変位するのではなく、実際には、機械的なズレや撓み、部材のへたばり等が要因となって、レスト位置及びエンド位置として規定した位置を超えて若干余分にストローク変位しうるものである。この発明に従えば、そのようなレスト位置及びエンド位置を超えたストローク位置も、鍵130及びハンマ142の位置情報として表現できることが後述の説明から明らかになるだろう。
当該鍵盤楽器100において、複数の鍵130に夫々対応して、当該鍵のストローク位置を検出するためのキーセンサ310が具備されており、また、複数のハンマ142に夫々対応して、当該ハンマのストローク位置を検出するためのハンマセンサ410が具備されている。キーセンサ310及びハンマセンサ410は、一例として、受光素子と発光素子を含む光学式のセンサで構成される。光学式のセンサは、周知のように、発光素子が被検出部材に向けて光を照射し、受光素子にて該被検出部材からの反射光を受光し、その受光量に応じてセンサから該被検出部材までの距離を検出出力として得るものである。
図2に示すように、鍵130の上方にはキーセンサ310を支持するための支持部材300が設けられている。各鍵130の上面には被検出部材135が配置されており、キーセンサ310は支持部材300上において該被検出部材135に対向する位置に配置される。押鍵に伴う鍵130の揺動ストロークに応じて、キーセンサ310と被検出部材135の相互距離が変化するので、キーセンサ310は、前記距離を検出することによって、鍵130のストローク位置を連続的に検出することができる。なお、キーセンサ310は、受光素子の受光量に応じて被検出部材135までの距離を、例えば0.001mm単位で検出できるものとする。また、キーセンサ310は、通常のキーストローク(レスト位置からエンド位置までのストローク量)に対して、レスト位置側とエンド位置側の夫々で、キーストロークの1/3の量だけ、該キーストロークの範囲を超えて位置検出可能である。
図3に示すように、ハンマシャンク143の上方には、ハンマセンサ410を支持するための支持部材400が設けられている。各ハンマシャンク143の上面には被検出部材145が配置されており、ハンマセンサ410は支持部材400上において該被検出部材145に対向する位置に配置される。ハンマ142のストローク変位(ハンマシャンク143の回転変位)に応じて、ハンマセンサ410と被検出部材145の相互距離が変化するので、ハンマセンサ410は、前記距離を検出することによって、ハンマ142のストローク位置を連続的に検出することができる。なお、ハンマセンサ410も、キーセンサと同様に受光素子の受光量に応じて被検出部材135までの距離を、例えば0.001mm単位で検出できるものとする。また、ハンマセンサ410は、通常のハンマストローク(レスト位置からエンド位置までのストローク量)に対して、レスト位置側とエンド位置側の夫々で、ハンマストロークの1/3の量だけ、該ハンマストロークの範囲を超えて位置検出可能である。
なお、上記では鍵130とハンマ142に夫々センサを具備するものとしたが、これらに限らず、例えばダンパ等、その他の発音動作に連動する何れの移動部材においてもセンサを具備し、位置検出できるよう構成しうる。
図4は、当該鍵盤楽器100の電気的ハードウェア構成を示すブロック図である。当該図において、鍵盤楽器100は、CPU200、RAM210、ROM220、操作部230、タイマ240、記憶装置260及びA/D変換器250a、250bを含み、各装置間がバスBを介して接続される。A/D変換器250aには、複数(88鍵)の鍵に夫々対応して設けられたキーセンサ310が接続され、A/D変換器250bには、複数のハンマに夫々対応して設けられたハンマセンサ410が接続される。
CPU200は、ROM220或いはRAM210等メモリ内の各種プログラムを実行して全体的な動作を制御する。この各種プログラムとして、この発明に係る演奏情報生成処理及び演奏情報記録処理を実行するためのプログラムが含まれる。操作部230は、各種入力操作を行うためのスイッチ群等で構成され、操作者は演奏情報生成処理及び演奏情報記録処理の開始や終了の指示を行うことができる。タイマ240は各種時間を計時する。
各キーセンサ310は、対応する各鍵130の位置を検出し、該検出した各鍵130の位置を示すアナログ信号をA/D変換器250aに出力する。A/D変換器250aは、各キーセンサ310から入力されるアナログ信号をディジタル信号に変換して、各鍵130の位置を示すディジタル信号をCPU200に対して供給する。ここでは、センサ310から出力されアナログ信号が十分な分解能を持つビット長(例えば12ビット)のバイナリ信号に変換されるものとする。また、各ハンマセンサ410は、対応する各ハンマ142の位置を検出し、該検出した各ハンマ142の位置を示すアナログ信号をA/D変換器250bに入力する。A/D変換器250bは、各ハンマセンサ410から供給されたアナログ信号をディジタル信号に変換して、CPU200に対して各ハンマ142の位置を示すディジタル信号を供給する。ここでは、センサ410から出力されアナログ信号が十分な分解能を持つビット長(例えば12ビット)のバイナリ信号に変換されるものとする。
CPU200は、A/D変換器250a、250bから供給されるディジタル信号に基づくキー乃至ハンマの位置情報を生成し、これとタイマ240が計時する時間情報とを用いて、各鍵130及び各ハンマ142の位置情報を時系列的に配列した演奏情報を生成する。この位置情報は、演奏者の発音動作によって発生された各鍵130あるいは各ハンマ142の連続的な運動の軌道(ストローク変位)を、MIDI規格に従うメッセージとして表現するものである。
記憶装置260は、上記生成した演奏情報を格納・記憶するものであり、例えばハードディスク装置等の書き換え可能な適宜の記憶媒体で構成して差し支えない。また、記憶装置260として、フロッピーディスク(登録商標)又はフレキシブルディスク(登録商標)、コンパクトディスク(CD‐ROM、CD‐RAM)、光磁気ディスク(MO)、ZIPディスク、DVD(Digital Versatile Disk)、半導体メモリ等、適宜の形態の着脱可能な外部記憶媒体を利用してもよい。
記憶装置260において生成した演奏情報を記録するためのサンプリング周期は、記憶装置260側で任意に選択できるものとしてよい。なお、本実施例においては、前記演奏情報の生成・記録のためのサンプリング周期は任意の値で固定されるものとする。また、記憶装置260において、全ての鍵130及び/又はハンマ142についての該演奏情報を記録するのみならず、ユーザが該演奏情報のうち記録すべきノート番号を任意に選択できるようにし、該選択されたノート番号に対応する鍵及び/又はハンマについてのみ記録できるようにしてもよい。
記憶装置260において記録される演奏情報は、例えばSMF(スタンダードMIDIファイル)形式のフォーマットに従って記録されたシーケンシャルなデータである。この発明に係る鍵やハンマ等の移動部材の位置情報を、MIDIメッセージとして生成、記録することは、例えば、データの通信や編集等において有利である。演奏情報は、例えば楽曲別の曲データファイルとして、該記憶装置260に記憶されるもので、当該楽曲の演奏データ群(ノートオン・ノートオフ情報、ピッチ情報やベロシティ情報などのイベントメッセージ群)として、この実施例に係る位置情報を表すイベントメッセージが含まれる。図5において、この実施例に係る位置情報を表すイベントメッセージのフォーマット例を示す。
図5に示すように、この実施例において、位置情報を表すMIDIメッセージは、位置情報の基本となる「位置データ」と、前記基本となる位置データに対して更に詳細な情報を付加する「拡張データ」との2種のバイトメッセージから構成されるもので、両者を組み合わせて、或る時点(サンプリング時刻)における1つの位置情報の表現となる。すなわち、「位置データ」は、或るサンプル時刻におけるレスト位置からエンド位置の範囲での鍵若しくはハンマのストローク位置を相対的に粗い精度で大まかに特定し、これに対応する「拡張データ」は、同サンプル時刻における鍵若しくはハンマのストローク位置を、前記「位置データ」によって大まかに特定されたストローク位置をより細分化した値、つまり、より細かい精度(分解能)で表現する。
この実施例によれば、「拡張データ」は、鍵130、ハンマ142の正味のストローク範囲(レスト位置からエンド位置までの範囲)を外側に越えたストローク位置を表現するために、データ記述上の「マージン」を有し、これにより、鍵130及びハンマ142のレスト位置及びエンド位置を超えたストローク位置を位置情報として記述することを実現する。なお、この明細書において、用語「マージン」は、レスト位置からエンド位置までの範囲を外側に越えた移動部材のストローク位置を表現する情報の意味で使用される。「マージン」確保のための具体的な構成については後述する。また、詳しくは後述するように、当該位置情報は、「位置データ」がとるデータの数値範囲に応じて、そのデータが鍵の位置を表現しているのか、あるいは、ハンマの位置を表現しているのかが区別されるようになっている。
「位置データ」は、8ビットデータを1バイト単位とするデータ要素から構成され、3バイトの組み合わせが1つのバイトメッセージを構成している。第1バイトにおいて、上位4ビットは、当該データが表現するメッセージ種類を特定する識別子となるコード「1010」からなる。図示の便宜上「nnnn」で示した下位4ビットは、MIDIチャンネル番号を特定するコード情報からなる。なお、当該第1バイトの先頭ビットが「1」であることは、当該バイトがステータスバイトであることを示す。
位置データの第2バイトは、ノート番号を特定するためのノート番号指定部となる「0kkkkkkk」からなる。具体的には、当該第2バイトの先頭ビットが「0」であることは、当該バイトがデータバイトであることを表現し、図示の便宜上「kkkkkkk」で示した下位7ビットは、各鍵130あるいは各ハンマ142に割り当てられた「21」〜「108」までのノート番号を示すコード「0010101(10進表記における「21」)」〜「1101100(10進表記における「108」)」の何れかの値からなる。ここで示されるノート番号によって、当該位置データがノート番号「21」〜「108」のうちの何れの鍵若しくはハンマに対応しているのかを特定する。また、ここで示すノート番号は、前記記憶装置260においてユーザが任意に選択したノート番号に対応するデータのみ記録する場合等に、参照される。
位置データの第3バイトには、キーセンサ310若しくはハンマセンサ410からの検出出力に基づき生成される鍵130若しくはハンマ142のストローク位置を表す情報が割り当てられ、この情報は「0xxxxxxx」によって表現される。先頭ビットの「0」は、前記と同様に当該第3バイトがデータバイトであることを示し、図示の便宜上「xxxxxxx」で示した下位7ビットは具体的なストローク位置の値を表すデータ部分である。
なお、この下位7ビット「xxxxxxx」がとる値は、鍵のストローク位置記述用に割り当てられた数値範囲と、ハンマのストローク位置記述用割り当てられた数値範囲とに分割して使用される。このため、この実施例に係るデータフォーマットによれば、鍵の位置データ表現用の割り当てフォーマットとハンマの位置データ表現用の割り当てフォーマットとを別々に設定することなく、共通のメッセージ形式で、鍵130の位置情報或はハンマ142の位置情報とを表現できる。このことはMIDIメッセージの割り当てフォーマットの有効活用という点で好ましく、また、複数の部材(この場合は鍵とハンマ)の位置情報を纏めて処理できるので、データ編集に際して有利である。なお、具体的な数値範囲の区分例については後述する。
「拡張データ」は、前述の位置データを基本として、対応する(すなわち基本とすべき)位置データによって表現された値に対して、より詳細な記述分解能で表現した情報を付加するものであって、8ビットデータを1バイト単位とするデータ要素が3バイト組み合わされることで1つのバイトメッセージを構成している。拡張データが表現するデータ内容は、対応する基本情報によって規定される。従って、この実施例では、拡張データは、対応する位置データが表現する値に対してより細かいストローク位置のデータを付加するものであるが、例えば、対応する基本情報が速度を表す情報であれば、それに従属する拡張情報は速度データを表す。
この拡張データの第1バイトにおいて、上位4ビットはコード「1010」からなり、図示の便宜上「nnnn」で示した下位4ビットは、MIDIチャンネル番号を特定するコード情報からなる。ここで「nnnn」で表現されたMIDIチャンネル番号は、対応する位置データが有するチャンネル番号のコード情報と同一でなければならない。また、第2バイトはコード「00010000」からなる。この第1バイト及び第2バイトにより当該バイトメッセージが汎用拡張バイトであることが定義される。
第3バイトには、対応する位置データが表す鍵若しくはハンマの位置データの値をより高分解能で表現した情報が割り当てられている。この情報は「0yyyyyyy」によって表現される。先頭ビットの「0」は、前記と同様に当該第3バイトがデータバイトであることを示し、図示の便宜上「yyyyyyy」で示した下位7ビットは、具体的なストローク位置の値を表すデータ部分である。詳しくは後述するように、当該拡張データによる位置表現は、対応する(基本の)位置データによって特定されたストローク位置がレスト位置−エンド位置範囲内である場合は相対的に細かい精度(分解能)の「第1の分解能」によってなされ、一方、レスト位置若しくはエンド位置である場合は該「第1の分解能」よりも相対的に精度(分解能)の粗い「第2の分解能」によってなされる。このように、2種の分解能を用いることで上記データ記述上の「マージン」の確保が実現される。
なお、拡張データは、基本となる位置データの下位に位置付けされるものであり、記憶装置260における記録にあたって、記録媒体上では、対応する位置データの直後のアドレスに書き込み、また、伝送上では、対応する位置データと拡張データとの間に他のメッセージを挟まず、且つ、最小時間間隔で送られるものとする。これにより、対応する位置データとの対応付け不備や、記録ミス、伝送ミス、および読み込みミス等の影響を可及的回避している。
図5において、位置データの右側に付記した[An kk xx]は、上記位置データを16進数的に簡略表記したものである。「An」は第1バイト「1010nnnn」であって、“n”の値によってMIDIチャンネルを示す。「kk」は第2バイト「0kkkkkkk」であって、“kk”の値によってノート番号を示す。「xx」は第3バイト「0xxxxxxx」であって、“xx”の値によって具体的なデータの数値を示す。また、[Bn 10 yy]は、上記拡張データの16進数的な簡略表記であって、「Bn」が第1バイト「1011nnnn」、「10」が第2バイト「00010000」を夫々示し、「yy」は第3バイト「0yyyyyyy」であって、“yy”の値によって具体的なデータの数値を示す。以下の説明において、特に断りの無い場合は、この簡略表記を用いる。
図6(a)は、ハンマ142の動作状況(軌道)の一例を示すグラフであり、(b)鍵130の動作状況(軌道)の一例を示すグラフである。図6を参照して、この実施例に係る位置情報による鍵130とハンマ142のストローク位置の表現例について具体的説明する。図6(a)、(b)において、縦軸にストローク位置をとり、横軸は時間軸を示す。当該グラフの右側には、位置データの第3バイト「xx」の値及び拡張データの第3バイト「yy」の値と、鍵130、ハンマ142のストローク位置との対応関係を夫々示す。また、図7は、ハンマ及び鍵のストローク位置と、位置データの値「xx」と拡張データの値「yy」との対応関係の一例を示す表である。以下、図6及び図7を参照してこの実施例に係る位置情報によるデータの記述について詳細に説明する。なお、以下の説明において、「xx」及び「yy」の下位7ビットに示される値は、便宜上、16進数表記するものとする。なお、両第3バイト「xx」及び「yy」は、一般的なMIDIデータと同様に、128段階の分解能を持つもので、データ値としては値「00h」〜「7Fh」(10進表記で0〜127)をとりうるものとする(末尾に示された“h”は16進数表記であることを示す)。また、図7は、以下に説明する、ハンマ及び鍵のストローク位置と、位置データの値「xx」と拡張データの値「yy」との対応関係の一例を示す表である。以下、図6及び図7を参照してこの実施例に係る位置情報によるデータの記述について詳細に説明する。
図6(a)において、ハンマ142は、該レスト位置を基準(0mm)として約48mmのストローク幅で変位する。位置データの第3バイト「xx(2進表記で0xxxxxxx)」は、1ディジットを1mm単位として、値「40h」から値「70h」を用いてハンマ142のレスト位置からエンド位置の間のストローク位置を表現するものである。すなわち、値「40h」から「70h」までがハンマ142のストローク位置を表現するための数値範囲として割り当てられている。
ハンマ142の位置を示す位置データの値「xx」の最小値「40h」(10進表記で「64」)は、レスト位置(ストローク量0mmの位置)を表現する。また、最大値「70h」(10進表記で「112」)は、エンド位置(レスト位置からストローク量48mmの位置)を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「41h」〜値「6Fh」によって1ミリ単位でリニアに表現する。ここで「リニアに表現」とは、データの値1ディジットが1ミリに相当する値で線形的に比例していることである。例えば、或るハンマ142が長さ40mmストロークした状態を表現するには、[An kk 68]と表現する。
これに対して、ハンマ142の位置を示す拡張データの第3バイト「yy」の下位7ビットに示される値は、対応する位置データの値が1ディジット(1mm単位)で表現しきれない微細な位置を記述する。これにより、対応する位置データの値を更に正方向又は負方向の夫々について細分化して表現する。詳しくは後述するように、当該拡張データの第3バイト「yy」は「00h」〜「7Fh」の128段階の値をとることから、「00h」を対応する位置データ[An kk xx]から±0mmの位置(基準値)の表現として、該基準値(00h)から+「3Fh」の数値範囲によって、該基準値(0mm)からの相対的な位置を正方向の変化分で表現し、また、該基準値(00h)から−「40h」の数値範囲によって、該基準値(0mm)からの相対的な位置を負方向の変化分で表現する。
拡張データの値「yy」は、対応する位置データの値がレスト位置‐エンド位置の範囲内(位置データの値「41h」〜値「6Fh」の範囲)のストローク位置を表現している場合、1ディジットを1/64mm単位とする「第1の分解能」でハンマのストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データが1mm単位で特定されたストローク位置の値に対して、そこから更に1/64mm単位で表現されたストローク位置の値を付加する。
一方、対応する位置データの値がレスト位置若しくはエンド位置(位置データの値「40h」若しくは値「70h」)を表現している場合、値「yy」は、1ディジットを1/4mm単位とする「第2の分解能」でハンマのストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データによって、レスト位置(ストローク量0mmの位置)若しくはエンド位置(レスト位置からストローク量48mmの位置)として表現された値に対して、そこから更に1/4mm単位で表現されたストローク位置の値を付加する。このような「第2の分解能」によれば、1ディジットあたりの位置記述単位が、「第1分解能」の記述単位1/64mmよりも粗い1/4mmであることによって、限定されたビット数で表現可能なストローク範囲を拡張することができる。
拡張データによる具体的なハンマ位置記述態様の一例について説明する。先ず「第1の分解能」で記述される値「yy」は、対応する位置データの値から±0mmの位置を中心の基準位置として「00h」で表現する。この値「yy」によって記述可能な最小位置は、基準位置から負方向の64段階目すなわち±0mmから−64/64mm(−1mm)の位置であって、これは値「40h」(10進表記で64)に相当する。また、この値「yy」によって記述可能な最大位置は、基準位置から正方向の63段階目すなわち±0mmから+63/64mm(+0.984375mm)の位置であって、これは値「3Fh」(10進表記で63)に相当する。従って、或る拡張データが「第1の分解能」で記述可能なストローク幅は、約±1mmとされる。位置データの値と拡張データの値とを組み合わせて表現されるハンマのストローク位置は、「xx+yy/64mm」(但し、ここでxx及びyyは、データ値が表現する物理量)である。
一方、「第2の分解能」で記述される値「yy」(すなわち対応する値xxが「40h」又は「70h」の場合)は、対応する位置データの値から0mmの位置を中心の基準位置として「00h」で表現する。この値「yy」によって記述可能な最小位置は、基準位置から負方向の64段階目すなわち±0mmから−16mm(―64/4mm)の位置であって、これは値「40h」(10進表記で64)に相当する。また、この値「yy」によって記述される最大位置は、基準位置から正方向の63段階目すなわち±0mmから+15.75mm(+63/4mm)の位置であって、値「3Fh」(10進表記で63)に相当する。従って、或る拡張データが「第2の分解能」で記述可能なストローク幅は、約±16mmとされる。位置データの値と拡張データの値とを組み合わせて表現されるハンマのストローク位置は、「xx+yy/4mm」(但し、ここで値xx及び値yyは、データ値が表現する物理量)である。これによれば、当該拡張データは、ハンマ142のストローク位置として、レスト位置若しくはエンド位置を外側に越えた「マージン」を夫々約16mmの範囲で記述できる。従って、ハンマ142のレスト位置若しくはエンド位置を越えたストローク変位(マージン)を当該拡張データによって十全に表現できることになる。
例えば、或るハンマ142のストローク位置の長さ40.5mmの記述は、位置データ[An kk 68]によってストローク長さ40mmを表現し、これに+0.5mm(+32/64mm)の表現たる拡張データ[Bn 10 20]を付加することでなされる。なお、同じストローク位置(40.5mm)は、例えば[An kk 69](位置データによる41mmの表現)と、−0.5mmの表現たる[Bn 10 60]とによっても記述できる。
また、エンド位置を外側に越えたストローク位置の表現の一例として、或るハンマ142のストローク位置の長さ56mmは、ストローク位置48mmを表現する位置データ[An kk 70]と、+8mm(+32/4mm)の表現たる拡張データ[Bn 10 20]とによって記述される。レスト位置を外側に越えた位置表現例としては、或るハンマ142のストローク長さ−0.25mmは、ストローク位置0mmを表現する位置データ[An kk 40]と、−0.25mm(−1/4mm)の表現たる拡張データ[Bn 10 7F]とによって記述される。
次に、この実施例に係る位置情報による鍵130のストローク位置の表現の一例について具体的説明する。図6(b)に示すように、鍵130は、レスト位置からエンド位置まで約10mmのストローク幅で変位する。位置データの第3バイト「xx」は、1ディジットあたり0.225mm単位で、値「01h」から値「30h」を用いて鍵130のレスト位置からエンド位置の間でのストローク位置を表現する。
鍵130のストローク位置を表現する位置データの値「xx」の最小値「01h」は、基準となるレスト位置(ストローク量0mmの位置)より内側の0.225mmのストローク位置を表現する。また、最大値「30h」は、前記値「01h」から起算して0.225mm*48の位置、すなわちエンド位置(レスト位置からストローク量10mmの位置)より外側の10.8mmのストローク位置を表現する(なお、本明細書において、“*”は乗算を示す)。そして、レスト位置‐エンド位置間での鍵のストローク位置を値「02h」〜値「2Fh」によって0.225ミリ単位でリニアに表現する。
鍵130のストローク位置を表現する拡張データの第3バイト「yy」の値は、前述したハンマ142のストローク位置を記述する場合と同様に、対応する位置データの値がレスト側の最小位置(xxの最小値「01h」)若しくはエンド側の最大位置(xxの最大値「30h」)を表現している場合に、データ値1ディジットあたりの位置記述単位が比較的粗い「第2の分解能」で鍵130のストローク位置を記述することで、表現可能なストローク範囲を拡張し、データ記述上の「マージン」を確保する。「第2の分解能」の一例として、値「yy」は1ディジットを0.225/4mm単位で鍵のストローク位置を記述する。すなわち、この場合、拡張データは、対応する位置データxxの値「01h」若しくは値「30h」によって表現されたストローク位置に対して、更に、正方向或は負方向について、0.225/4mm単位で表現したストローク位置の値を付加する。
対応する位置データの値が値「02h」〜値「2Fh」の範囲のストローク位置を表現している場合、鍵130の拡張データの値「yy」は、例えば、1ディジットを0.225/64mm単位とする「第1の分解能」でストローク位置を記述する。この場合、拡張データは、対応する位置データが0.225mm単位で特定されたストローク位置の値に対して、そこから更に、正方向或は負方向について0.225/64mm単位で表現されたストローク位置の値を付加する。
鍵130のストローク位置を表現する拡張データの具体的な記述態様は、前述したハンマ142におけるデータ記述態様と概ね同様である。すなわち、「第1の分解能」で記述される値「yy」(すなわち対応する値xxが「02h」〜「2Fh」の場合)は、1ディジットを0.225/64mm単位で鍵のストローク位置を記述するので、対応する位置データの値から±0mmの位置を基準位置(yy=00h)とし、該基準位置(±0mm)から−0.225mm(―64*0.225/64mm)の位置(yy=40h)を最小位置として、また、該基準位置(±0mm)から+0.221484375mm(+63*0.225/64mm)の位置(yy=3Fh)を最大位置として表現できる。よって、或る拡張データが「第1の分解能」で記述可能なストローク幅は、約±0.225mmとされる。位置データの値と拡張データの値とを組み合わせて表現される鍵のストローク位置は、「0.225*(xx+yy/64)mm」(但し、ここでxx及びyyは、データ値が表現する物理量)である。
一方、「第2の分解能」で記述される値「yy」(すなわち対応する値xxが「01h」又は「30h」の場合)は、1ディジットを0.225/4mm単位で鍵のストローク位置を記述するので、対応する位置データの値から±0mmの基準位置(yy=00h)から、−3.6mm(―64*0.225/4mm)の位置を最小位置(yy=40h)とし、また、該基準位置から+3.54375mm(+63*0.225/4mm)の位置を最大位置(yy=3Fh)として表現する。従って、或る拡張データが「第2の分解能」で記述可能なストローク幅は、約±3.6mmである。位置データの値と拡張データの値とを組み合わせて表現される鍵のストローク位置は、「0.225*(xx+yy/4)mm」(但し、ここで値xx及び値yyは、データ値が表現する物理量)である。これによれば、当該拡張データは、鍵130のストローク位置として、レスト位置若しくはエンド位置を外側に越えた「マージン」を夫々約3.6mmの範囲で記述できることになる。従って、鍵130のレスト位置若しくはエンド位置を越えたストローク変位(マージン)を当該拡張データによって十全に表現できることになる。
例えば、或る鍵130のストローク位置の長さ0mmの記述は、位置データ[An kk 01]によってストローク長さ0.225mmを表現し、これに−0.225mm(−4*0.225/4mm)の表現たる第2分解能の拡張データ[Bn 10 7C]を付加することでなされる。また、エンド位置を外側に越えたストローク位置の表現の一例として、或る鍵130のストローク位置の長さ10.125mmは、ストローク位置10.125mmを表現する位置データ[An kk 2D]と、±0mmの表現たる拡張データ[Bn 10 00]によって記述される。レスト位置を外側に越えた位置表現例としては、或る鍵130のストローク長さ−0.025mmは、ストローク位置0.225mmを表現する位置データ[An kk 01]と、−0.25mm(−1/4mm)の表現たる拡張データ[Bn 10 7F]とによって記述される。
なお、上述の実施例において、図7に示した鍵及びハンマのストローク位置と具体的なデータ値の対応関係や、1ディジットあたりの記述単位等は、一例であって、これに限定されない。
上述の実施例では、位置データ[An kk xx]に付加的な情報を与える拡張データ[Bn 10 yy]が、レスト位置若しくはエンド位置付近を表現する際に、データ値1ディジットあたりの位置記述単位の比較的粗い「第2の分解能」によって鍵130又はハンマ142のストローク位置を記述することで、表現可能なストローク範囲を拡張し、データ記述上の「マージン」を確保する例について説明した。以下に述べるのは「マージン」記述の変形例であって、1つのバイトメッセージたる位置データ[An kk xx]のみによって、該データ記述上の「マージン」を確保する例について説明する。
図8は当該変形例における鍵130のストローク範囲と位置データの値「xx」の記述例との対応関係を示す図である。この場合、位置データ[An kk xx]は、例えば鍵130のストローク位置のみを記述データとして使用される。第3バイトの値xxは、値「00h」〜「7Fh」(10進表記で0〜127)をとりうる。この128段階の値「xx」を、鍵130の正味のストローク範囲(レスト位置0mmからエンド位置10mmまでの範囲)、レスト位置の外側での拡張範囲、及び、エンド位置の外側での拡張範囲をそれぞれ表現すべく3つの数値範囲に区分する。図示の例において、「xx」の値「10h」〜「6Fh」を正味のストローク範囲に割り当てることで96段階の分解能で、10mmの幅のストローク範囲を表現するものとすれば、1ディジットあたり約0.01mm単位で当該範囲における鍵130のストローク位置を記述できる。
「xx」の値「00h」〜「0Fh」をレスト位置の外側での拡張範囲(マージン)の位置データ記述に割り当てると、1ディジットあたりの位置記述単位を約0.16mm単位とすることで、約2.5mmの幅でレスト位置(ストローク量0mmの位置)から外側のマージンを記述できる。また、「xx」の値「70h」〜「7Fh」をエンド位置の外側での拡張範囲(マージン)の位置データ記述に割り当てると、1ディジットあたりの位置記述単位を約0.16mm単位とすることで、約2.5mmの幅でエンド位置(レスト位置からストローク量10mmの位置)から外側のマージンを記述できる。
従って、上記のようなデータ記述構成によっても、記述可能なストローク位置の範囲をレスト位置若しくはエンド位置の外側へ拡張することができる。なお、 このように、1つのバイトメッセージたる位置データ[An kk xx]のみによって、該データ記述上の「マージン」を確保することは、ハンマ142やその他移動部材に対しても適用可能である。
上記図6及び図7を参照して説明した実施例においては、拡張データ[Bn 10 yy]の第3バイト「yy」の値(yy=00h〜7Fh)による位置表現は、図9(a)に示す通りであった:すなわち、第3バイトの値「yy=00h」を、対応する位置データ[An kk xx]から±0mmの位置(基準値)の表現として、該基準値(00h)から+「3Fh」の数値範囲によって、移動部材(ハンマや鍵)の該基準値(±0mm)からの相対的な位置を正方向の変化分で表現し、また、該基準値(00h)から−「40h」の数値範囲によって、移動部材(ハンマや鍵)の該基準値(±0mm)からの相対的な位置を負方向の変化分で表現した。
以下に述べる第2実施例は拡張データによる位置表現の別の実施例であって、これによれば、対応する位置データ[An kk xx]が表すストローク位置からの相対的な位置を正方向で表現する場合と、負方向で表現する場合とで、夫々異なる種類の拡張データを使用する。図9(b)は当該第2実施例に係る位置表現の概略を示す概念図である。
図9(b)に示すように、当該第2実施例によれば、拡張データ[Bn 10 yy]を、対応する位置データ[An kk xx]が表すストローク位置からの相対的な位置を正方向で表現するバイトメッセージ(第1種の拡張情報)として定義し、拡張データ[Bn 11 yy]を、対応する位置データ[An kk xx]が表すストローク位置からの相対的な位置を負方向で表現するバイトメッセージ(第2種の拡張情報)として定義する。拡張データ[Bn 10 yy]は、第1バイト「Bn」及び第2バイト「10」により当該バイトメッセージが正方向の位置表現を行うための拡張バイトメッセージであることが識別される。また、拡張データ[Bn 11 yy]の第2バイトは、コード「00010001」(16進表記では「11h」)からなり、第1バイト「Bn」及び第2バイト「11」により当該バイトメッセージが負方向の位置表現を行うための拡張バイトメッセージであることが識別される。
拡張データ[Bn 10 yy]及び拡張データ[Bn 11 yy]の第3バイトの値「yy」は、「00h」〜「7Fh」(10進表記で0〜127)をとる。従って、拡張データ[Bn 10 yy]による正方向の位置表現並びに拡張データ[Bn 11 yy]による負方向の位置表現を、夫々、128段階の分解能で行うことができる。よって、図9(b)に示す当該第2実施例によれば、図9(a)に示す位置表現の方法よりも、より細かい分解能で位置を記述できるようになり、データの精度を向上させることができる。以下、図10及び図11を参照して、この第2実施例に係る拡張データによる具体的な位置記述の一例について説明する。図10(a)は、ハンマ142の軌道の一例、また、(b)は鍵130の軌道の一例を夫々示すグラフである。図10(a)、(b)において、縦軸はハンマ及び鍵のストローク位置、横軸は時間軸を夫々示しており、両グラフの右側には、位置データ[An kk xx]の第3バイト「xx」の値及び拡張データ[Bn 10 yy]乃至拡張データ[Bn 11 yy]の第3バイト「yy」の値と、ハンマ及び鍵のストローク位置の対応関係を示す。また、図11は、図10に示すハンマ及び鍵のストローク位置と、位置データの値「xx」と拡張データの値「yy」との対応関係を示す表である。
ハンマ142は、前述の通り、レスト位置(ストローク量0mmの位置)からエンド位置(レスト位置からストローク量48mmの位置)の間を約48mmのストローク幅で変位するものと想定されている。位置データ[An kk xx]には、第3バイト「xx」の値「40h」〜値「70h」がハンマ142のレスト位置からエンド位置の間のストローク位置を表現する数値範囲として割り当てられており、これは、1ディジットを1mm単位として、ハンマ142のストローク位置を表現する(図10(a)及び図11参照)。すなわち、値「xx」=「40h」がハンマ142のレスト位置を表現し、また、値「xx」=「70h」が、ハンマ142のエンド位置を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「41h」〜値「6Fh」によって1ミリ単位でリニアに表現する。これは、前記図6及び図7を参照して説明した位置表現方法と同様である。
ハンマ142の位置データ[An kk xx]に対応する拡張データ[Bn 10 yy]乃至拡張データ[Bn 11 yy]の値「yy=00h〜7Fh」は、対応する位置データの値「xx」がレスト位置‐エンド位置の範囲内(値「41h」〜値「6Fh」の範囲)である場合、1ディジットを1/128mm単位とする「第1の分解能」でハンマのストローク位置を詳細に表現する。一方、対応する位置データの値がレスト位置若しくはエンド位置(位置データの値「40h」若しくは値「70h」)を表現している場合、拡張データ[Bn 10 yy]乃至拡張データ[Bn 11 yy]の値「yy=00h〜7Fh」は、1ディジットを1/8mm単位とする「第2の分解能」でハンマのストローク位置を表現することで、データ記述上のマージン(ハンマ142の正味のストローク範囲外の位置表現)を確保する。このように、正方向での位置表現及び負方向での位置表現に夫々別のアサイン[Bn 10 yy]及び[Bn 11 yy]を使用することで、第1の分解能及び第2の分解能の双方とも、より細かい精度でのデータ記述が可能となる。
拡張データ[Bn 10 yy]及び拡張データ[Bn 11 yy]によるハンマ位置の記述能力の具体的な一例について、図11を参照して述べる。
先ず、第1の分解能(1ディジット=1/128mm)の場合、正方向での相対位置を表す拡張データ[Bn 10 yy]では、対応する位置データが表す位置から+0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置から+127/128mm=+0.9921875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 10 yy]は、第1の分解能(1ディジット=1/128mm)の場合、対応する位置データ[An kk xx]が表す位置から正方向に最大0.9921875mmの範囲のハンマ位置を、1/128mm単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ[Bn 11 yy]では、対応する位置データが表す位置から―0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置から−127/128mm=−0.9921875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 11 yy]は、第1の分解能(1ディジット=1/128mm)の場合、対応する位置データ[An kk xx]が表す位置から負方向に最小−0.9921875mmの範囲のハンマ位置を、1/128mm単位の精度で表現することができる。
第2の分解能(1ディジット=1/8mm)の場合、正方向での相対位置を表す拡張データ[Bn 10 yy]では、対応する位置データが表す位置(xx=40h又は70h)から+0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置(xx=40h又は70h)から+127/8mm=+15.875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 10 yy]は、第2の分解能(1ディジット=1/8mm)により、ハンマ142のレスト位置又はエンド位置(xx=40h又は70h)から正方向に最大+15.875mmの範囲のハンマ位置を、データ記述マージンとして、1/8mm単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ[Bn 11 yy]では、対応する位置データが表す位置(xx=40h又は70h)から―0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置(xx=40h又は70h)から−127/8mm=−15.875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 11 yy]は、第2の分解能(1ディジット=1/8mm)により、ハンマ142のレスト位置又はエンド位置(xx=40h又は70h)から負方向に最小−15.875mmの範囲のハンマ位置を、データ記述マージンとして、1/8mm単位の精度で表現することができる。
また、図10(b)に示すように、鍵130は、レスト位置(ストローク量0mmの位置)からエンド位置(レスト位置からストローク量10mmの位置)の間を約10mmのストローク幅で変位するものと想定されている。位置データ[An kk xx]には、第3バイト「xx」の値「00h」〜値「30h」が鍵130のレスト位置からエンド位置の間のストローク位置を表現する数値範囲として割り当てられており、これは、1ディジットを0.225mm単位として、鍵130のストローク位置を表現する(図10(b)及び図11参照)。すなわち、値「xx」=「00h」が鍵130のレスト位置(ストローク量0mm)を表現し、また、値「xx」=「30h」が、鍵130のエンド位置より外側の10.8mmのストローク位置を表現する。そして、レスト位置‐エンド位置間のストローク位置を値「00h」〜値「30h」によって0.225ミリ単位でリニアに表現する。
鍵130の位置データ[An kk xx]に対応する拡張データ[Bn 10 yy]乃至拡張データ[Bn 11 yy]の値「yy=00h〜7Fh」は、対応する位置データの値「xx」がレスト位置‐エンド位置の範囲内(値「01h」〜値「2Fh」の範囲)である場合、1ディジットを0.225/128mm単位とする「第1の分解能」で鍵のストローク位置を詳細に表現する。一方、対応する位置データの値がレスト位置若しくはエンド側の最大位置(位置データの値「00h」若しくは値「30h」)を表現している場合、拡張データ[Bn 10 yy]乃至拡張データ[Bn 11 yy]の値「yy=00h〜7Fh」は、1ディジットを0.225/8mm単位とする「第2の分解能」で鍵のストローク位置を表現することで、データ記述上のマージン(鍵130の正味のストローク範囲外の位置表現)を確保する。かくして、ハンマの場合と同様に、正方向での位置表現及び負方向での位置表現に夫々別のアサイン[Bn 10 yy]及び[Bn 11 yy]を使用することで、第1の分解能及び第2の分解能の双方とも、より細かい精度でのデータ記述が可能となる。
拡張データ[Bn 10 yy]及び拡張データ[Bn 11 yy]による鍵位置の記述能力の具体的な一例について、図11を参照して述べる。
先ず、第1の分解能(1ディジット=0.225/128mm)の場合、正方向での相対位置を表す拡張データ[Bn 10 yy]では、対応する位置データが表す位置から+0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置から+127*0.225/128mm=+0.2232421875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 10 yy]は、第1の分解能(1ディジット=0.225/128mm)の場合、対応する位置データ[An kk xx]が表す位置から正方向に最大0.2232421875mmの範囲の鍵位置を、0.225/128mm単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ[Bn 11 yy]では、対応する位置データが表す位置から―0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置から−127*0.225/128mm=−0.2232421875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 11 yy]は、第1の分解能(1ディジット=0.225/128mm)の場合、対応する位置データ[An kk xx]が表す位置から負方向に最小−0.2232421875mmの範囲の鍵位置を、1/128mm単位の精度で表現することができる。
第2の分解能(1ディジット=0・225/8mm)の場合、正方向での相対位置を表す拡張データ[Bn 10 yy]では、対応する位置データが表す位置(xx=00h又は30h)から+0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置(xx=00h又は30h)から+127*0.225/8mm=+3.571875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 10 yy]は、第2の分解能(1ディジット=0.225/8mm)により、鍵130のレスト位置又はエンド側の最大位置(xx=00h又は30h)から正方向に最大+3.571875mmの範囲の鍵位置を、データ記述マージンとして、0.225/8mm単位の精度で表現することができる。一方、負方向での相対位置を表す拡張データ[Bn 11 yy]では、対応する位置データが表す位置(xx=00h又は30h)から―0mmの位置を「yy」=「00h」で表現でき、また、対応する位置データが表す位置(xx=00h又は30h)から−127*0.225/8mm=−3.571875mmの位置を「yy」=「7Fh」により表現できる。従って、拡張データ[Bn 11 yy]は、第2の分解能(1ディジット=0.225/8mm)により、鍵130のレスト位置又はエンド位置(xx=00h又は30h)から負方向に最小−3.571875mmの範囲の鍵位置を、データ記述マージンとして、1/8mm単位の精度で表現することができる。
図12は、当該第2実施例に係る拡張データ[Bn 10 yy]及び拡張データ[Bn 11 yy]の運用例を説明するための概念図である。この運用例では、負方向の拡張データ[Bn 11 yy]は、基本的には、レスト位置(ストローク量0mmの位置)よりも小さい位置の表現にのみ使用し、レスト位置以上の位置表現には正方向の拡張データ[Bn 10 yy]を使用するものとする。すなわち、位置データ[An kk 00]又は[An kk 40]で大まかにレスト位置(ストローク量0mm)と表現されたデータに、負方向の拡張データ[Bn 11 yy]で細かい分解能の負の値を付加することで、レスト位置を下側に越えた鍵又はハンマの位置を表現する。また、位置データ[An kk 30]又は[An kk 70]で大まかにエンド位置(レスト位置からのストローク量10.8mm又は48mm)と表現されたデータに、正方向の拡張データ[Bn 10 yy]で細かい分解能の正の値を付加することで、エンド位置を上側に越えた鍵又はハンマの位置を表現する。
一方、それ以外の部分(つまり、鍵又はハンマの正味のストローク範囲内)は、位置データ[An kk xx]により大まかなストローク位置を表現し、これに正方向の拡張データ[Bn 10 yy]による細かい分解能の正の値を付加することで、鍵又はハンマのストローク位置を詳細に表現する。例えば、ハンマのストローク位置の位置データ[An kk 50]と位置データ[An kk 51]の間の微小なストローク位置は、[An kk 50]に正方向の拡張データ[Bn 10 yy]を付加することで表現できる。
なお、拡張データ[Bn 10 yy]及び拡張データ[Bn 11 yy]の運用方法は、上述のようにレスト位置以下の部分を負方向の拡張データ[Bn 11 yy]で表現し、それ以外を正方向の拡張データ[Bn 10 yy]で表現するというように、両者を使い分ける方法に限らず、正方向又は負方向の拡張データのどちらで位置表現できるかを選択できてもよい。例えば、ハンマのストローク位置の位置データ[An kk 50]と或る正方向の拡張データ[Bn 10 yy]で表現された位置は、位置データ[An kk 51]と或る負方向の拡張データ[Bn 11 yy]でも表現しうる。
また、上記図12の運用例では、鍵又はハンマの正味のストローク範囲内(レスト―エンド間)の位置表現にも拡張データを使用する例を示したが、拡張データの使用は、レスト位置を下側に越えた位置及びエンド位置を上側に越えた位置の表現、即ち、マージンの表現にのみ限られていてもよい。具体的には、鍵のレスト側マージンの表現[An kk 00][Bn 11 yy]と、鍵のエンド側マージンの表現[An kk 30][Bn 10 yy]、並びに、ハンマのレスト側マージンの表現[An kk 40][Bn 11 yy]と、ハンマのエンド側マージンの表現[An kk 70][Bn 10 yy]にのみ適用されてもよい。
また、図10、図11に示した例においては、正方向の拡張データ[Bn 10 yy]と負方向の拡張データ[Bn 11 yy]の位置記述分解能(1ディジットあたりの記述単位)や、位置記述範囲は同じものとしたが、これに限らず、記述分解能や位置記述範囲を正方向の拡張データと負方向の拡張データとで違えるように設定してもよい。
なお、上述の例では、鍵130及びハンマ142について位置情報を生成、記録する例について説明したが、これに限らず、例えばダンパ、ペダル類等その他の発音動作に連動する移動部材に対しても適用可能である。また、拡大記述可能な範囲の量や、1ディジットあたりの分解能も、上述の例に限定されず、適宜適切な大きさに設定して差し支えない。また、図示の例では、アコースティックピアノとしてグランドピアノの構成例を示したが、この発明は、これに限らずアップライトピアノにおける演奏情報の記述にも適用可能である。
また、上述の例では、位置情報についてデータ記述上の「マージン」を確保する例について説明したが、この発明に係る粗密2種類の記述分解能を用いてデータとして記述可能な範囲を拡張する(マージンを確保する)という技術思想は、位置情報のみならず、速度情報あるいは加速度情報の記述においても適用可能である。
また、上述の例では、サンプリング周期は任意の値で固定されるものとしたが、位置データの値「xx」が正味のストローク範囲(レスト位置−エンド位置内)を記述すべき場合、比較的細かい第1のサンプリング周期(例えば1ms)でサンプリングし、これに対して、位置データの値「xx」が、レスト位置若しくはエンド位置又はそれらの外側の「マージン」を記述すべき場合、前記第1のサンプリング周期よりも粗い第2のサンプリング周期(例えば100ms)でサンプリングすることで、データ記述範囲を拡張するようにしてもよい。
また、上述の例では、鍵130に対応して具わるセンサ310、及び、ハンマ142に対応して具わるセンサ410の出力に基づき、CPU200が実行する演奏情報生成処理によって、本発明に係る位置情報、すなわち、鍵或はハンマのレスト位置‐エンド位置範囲内の位置を第1の分解能で記述し、範囲外(マージン)の位置を第2の分解能で記述したものを生成するものとしたが、これに限らず、例えばエンコーダの特性として、移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で出力され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で出力されるよう構成してもよい。また、データの形式も、上述したような位置情報と拡張情報という2つのデータの組み合わせからなる形式でなくとも、この発明の実施は可能であり、1つの位置情報のみからなるデータで移動部材の移動状態を表現してもよい。また、1つの位置情報に対して複数の拡張情報(例えば、分解能がより細分化された複数の拡張情報など)が多段式に従属するデータ構成も可能である。
また、この発明は、上述したように、鍵盤楽器にこの発明に係る演奏情報を生成、記録する装置を具備する構成のみならず、鍵盤楽器とは別体の外部装置として構成し、実施してもよいい。また、この発明は装置の発明として構成し、実施することができるのみならず、上記演奏情報を生成、記録するためにコンピュータまたはDSP等のプロセッサが実行するプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。すなわち、前記プログラムを実行するコンピュータを鍵盤楽器に外部接続して、この発明を実施することもできる。
この発明の一実施例に係る鍵盤楽器の機械的構成を示す側面断面図。 図1に示す鍵130及びその周辺構成を抽出して示す側面断面図。 図1に示すハンマ142及びその周辺構成を抽出して示す側面断面図。 同実施例に係る鍵盤楽器の電気的ハードウェア構成例を示すブロック図。 同実施例に係る位置情報を表すイベントメッセージのフォーマット例を示す図。 (a)はハンマの動作軌道を、また、(b)は鍵の動作軌道を夫々示すグラフであって、ハンマ及び鍵のストローク位置と、位置データの第3バイトの値「xx」及び拡張データの第3バイト「yy」の値との対応関係を示す図。 ハンマ及び鍵のストローク位置と、位置データの値「xx」と拡張データの値「yy」との対応関係の一例を示す表。 1つのバイトメッセージのみによってデータ記述上の「マージン」を表現する例について説明する図であって、鍵のストローク範囲と位置データの値「xx」の記述例との対応関係を示す図。 この発明の第2実施例の概略を説明するための図であって、(a)は上記図6〜図7に示す拡張データによる位置表現の概念図、(b)は該第2実施例に係る拡張データによる位置表現の概念図。 前記第2実施例におけるハンマ及び鍵のストローク位置と位置データの第3バイトの値「xx」及び拡張データの第3バイト「yy」の値の対応関係を示す図であって、(a)はハンマの動作軌道を、また、(b)は鍵の動作軌道を示す。 前記第2実施例におけるハンマ及び鍵のストローク位置と位置データの値「xx」と拡張データの値「yy」との対応関係の一例を示す表。 前記第2実施例に係る拡張データの運用例を説明するための概念図。
符号の説明
100 鍵盤楽器、110 棚板、120 筬中、130 鍵、135,145 被検出部材、140 アクション機構、142 ハンマ、170 弦、200 CPU、210 RAM、220 ROM、230 操作部、240 タイマ、250a,250b A/D変換器、260 記憶装置、310 キーセンサ、410 ハンマセンサ

Claims (6)

  1. 演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手段と、
    前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものを生成する演奏情報生成手段と
    を備えることを特徴とする演奏情報生成装置。
  2. 演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手段と、
    前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものを生成する演奏情報生成手段と、
    前記演奏情報生成手段により生成された演奏情報を記憶する記憶手段と
    を備えることを特徴とする演奏情報記憶装置。
  3. 操作者による演奏操作に応じて変位する移動部材と、
    前記移動部材の移動状態を連続的に検出する検出手段と、
    前記検出手段からの検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものを生成する演奏情報生成手段と
    を含むことを特徴とする鍵盤楽器。
  4. 前記移動状態を示すデータは、前記移動部材の移動状態を所定の記述分解能で表現した基本情報と、該基本情報の下位に従属し、前記所定の記述分解能に満たない前記移動状態の端数部分を細かい分解能で表現する拡張情報とから構成され、該拡張情報として、対応する前記基本情報から見て正方向の状態を表現した第1種の拡張情報、若しくは、該対応する基本情報から見て負方向の状態を表現した第2種の拡張情報の何れか一方を有することを特徴とする請求項1乃至3の何れかに記載の演奏情報生成装置又は演奏情報記録装置又は鍵盤楽器。
  5. 演奏情報を生成するためにコンピュータによって実行されるプログラムであって、
    演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手順と、
    前記検出手順における検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものを生成する演奏情報生成手順と
    を含むことを特徴とするプログラム。
  6. 演奏情報を記録するためにコンピュータによって実行されるプログラムであって、
    演奏操作に応じて動かされる移動部材の移動状態を連続的に検出する検出手順と、
    前記検出手順における検出出力に基づき生成される前記移動部材の移動状態を示すデータを含む演奏情報であって、前記移動部材の所定の動作範囲内での移動状態を示すデータが第1の分解能で記述され、前記移動部材の前記所定の動作範囲外での移動状態を示すデータが前記第1の分解能よりも粗い第2の分解能で記述されたものを生成する演奏情報生成手順と、
    前記演奏情報生成手順において生成された演奏情報を記憶する手順と
    を含むことを特徴とするプログラム。
JP2004231013A 2003-10-31 2004-08-06 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器 Expired - Fee Related JP4305319B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2004231013A JP4305319B2 (ja) 2003-10-31 2004-08-06 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器
US10/971,975 US7381880B2 (en) 2003-10-31 2004-10-21 Musical instrument recording advanced music data codes for playback, music data generator and music data source for the musical instrument
EP04025608A EP1528537B1 (en) 2003-10-31 2004-10-28 Musical instrument recording advanced music data codes for playback, music data generator and music data source for the musical instrument
EP06015401A EP1713058B1 (en) 2003-10-31 2004-10-28 Music Data Generator and Musical Instrument Recording Advanced Music Data Codes for Playback
DE602004005552T DE602004005552T2 (de) 2003-10-31 2004-10-28 Musikalisches Instrument, das erweiterte Musikdatencodes für Wiedergabe aufnimmt, Musikdatengenerator und Musikdatenquelle für das musikalische Instrument.
KR1020040087181A KR100690466B1 (ko) 2003-10-31 2004-10-29 재생을 위해 선행된 음악 데이터 코드를 기록하는 악기,음악 데이터 발생기 그리고 악기를 위한 음악 데이터 소스
CN2009101710064A CN101656065B (zh) 2003-10-31 2004-11-01 乐器,音乐数据产生器和用于乐器的音乐数据源
CN200410090097A CN100593191C (zh) 2003-10-31 2004-11-01 乐器,音乐数据产生器和用于乐器的音乐数据源

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003372656 2003-10-31
JP2004231013A JP4305319B2 (ja) 2003-10-31 2004-08-06 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器

Publications (3)

Publication Number Publication Date
JP2005157287A true JP2005157287A (ja) 2005-06-16
JP2005157287A5 JP2005157287A5 (ja) 2008-08-07
JP4305319B2 JP4305319B2 (ja) 2009-07-29

Family

ID=34741281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004231013A Expired - Fee Related JP4305319B2 (ja) 2003-10-31 2004-08-06 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器

Country Status (1)

Country Link
JP (1) JP4305319B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778905A (zh) * 2013-03-07 2014-05-07 福州飞翔音乐电子科技有限公司 机械钢琴弹奏信息的采集装置及采集方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6111807B2 (ja) 2013-04-11 2017-04-12 ヤマハ株式会社 鍵盤楽器
JP5987762B2 (ja) 2013-04-11 2016-09-07 ヤマハ株式会社 鍵盤楽器のハーフペダル領域特定方法及び装置並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778905A (zh) * 2013-03-07 2014-05-07 福州飞翔音乐电子科技有限公司 机械钢琴弹奏信息的采集装置及采集方法

Also Published As

Publication number Publication date
JP4305319B2 (ja) 2009-07-29

Similar Documents

Publication Publication Date Title
CN110431617B (zh) 信号供给装置、键盘装置及程序
US7429699B2 (en) Electronic musical instrument and recording medium that stores processing program for the electronic musical instrument
US11138961B2 (en) Sound output device and non-transitory computer-readable storage medium
JP7306402B2 (ja) 音信号生成装置、鍵盤楽器およびプログラム
JP3627322B2 (ja) 自動ピアノ
JP2005321576A (ja) 自動演奏ピアノ
JP3758277B2 (ja) 自動ピアノ
KR20050041954A (ko) 재생을 위해 선행된 음악 데이터 코드를 기록하는 악기,음악 데이터 발생기 그리고 악기를 위한 음악 데이터 소스
CN111295706B (zh) 音源、键盘乐器以及记录介质
JP2018163262A (ja) 回動部材および鍵盤装置
JP4305319B2 (ja) 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器
CN111108548A (zh) 电子乐器
JP5315883B2 (ja) 電子楽器及び楽音生成のプログラム
JP4305320B2 (ja) 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器
JPH10333672A (ja) 電子鍵盤打楽器
JP2005157289A (ja) 演奏情報生成装置、演奏情報記録装置及び鍵盤楽器
JP4144288B2 (ja) 演奏情報記録装置および鍵盤楽器
JP2015225332A (ja) 楽音発生装置、電子楽器、楽音発生方法およびプログラム
US9280962B1 (en) Sound preview device and program
JP4033206B2 (ja) 自動ピアノ
JP4218731B2 (ja) 演奏情報出力装置
JP2008191493A (ja) 電子鍵盤楽器及びその処理方法
JP4274068B2 (ja) 電子打楽器およびプログラム
JP2002351469A (ja) 鍵動作検出装置
JP2006030476A (ja) 電子打楽器、打撃音生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees