JP4110691B2 - Keyboard instrument sensor data conversion apparatus and sensor data conversion method - Google Patents

Keyboard instrument sensor data conversion apparatus and sensor data conversion method Download PDF

Info

Publication number
JP4110691B2
JP4110691B2 JP30077499A JP30077499A JP4110691B2 JP 4110691 B2 JP4110691 B2 JP 4110691B2 JP 30077499 A JP30077499 A JP 30077499A JP 30077499 A JP30077499 A JP 30077499A JP 4110691 B2 JP4110691 B2 JP 4110691B2
Authority
JP
Japan
Prior art keywords
data
sensor data
key
sensor
bit
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
JP30077499A
Other languages
Japanese (ja)
Other versions
JP2000194364A (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 JP30077499A priority Critical patent/JP4110691B2/en
Publication of JP2000194364A publication Critical patent/JP2000194364A/en
Application granted granted Critical
Publication of JP4110691B2 publication Critical patent/JP4110691B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、鍵盤楽器のセンサデータ変換装置およびセンサデータ変換方法に係り、特に自動演奏を行うことが可能な鍵盤楽器において、鍵あるいはペダルの動作状態を検出するためのキーセンサあるいはペダルセンサの出力する検出信号あるいはこの検出信号に対応する検出データ(センサデータ)を変換するための鍵盤楽器のセンサデータ変換装置およびセンサデータ変換方法に関する。
【0002】
【従来の技術】
ピアノの演奏においては、演奏者が鍵を押下すると、これに連動してダンパが弦から離れるとともにハンマが回転し、打弦が行われる。また、離鍵が行われるとダンパが弦に接して消音が行われる。このように楽音は、押鍵→打弦→離鍵→消音という一連の動作によって発生されるのが通常である。
このため、自動演奏を行う自動ピアノにおいては、上記一連の動作に基づいて演奏情報を生成して記録し、再生時には読み出された演奏情報に基づいて鍵あるいはペダルの動作を制御することが行われる。
この場合の鍵あるいはペダルの制御においては、演奏情報に基づいて、一方においてアクチュエータであるソレノイドを励磁して鍵を駆動し、これに応じてハンマが回転して打弦を行ない、他方においてソレノイドを励磁してペダルを駆動し、伸音(サスティニング)、弱音(ソフテヌート)あるいは消音(ミューティング)が行われることとなる。
【0003】
ところで、このような自動ピアノにおいては、演奏記録時に押鍵すると打弦を行う通常の演奏と、押鍵しても打弦を行わない消音演奏とを行うことができる消音自動ピアノが知られている。
この消音自動ピアノは、押鍵により回動したハンマが弦に当たる手前でハンマアッセンブリのそれ以上の回動を阻止する機構を備えている。このような消音機構を使用する消音演奏では、打弦音を発生しない代わりに鍵等の動作をセンサで検知し、押鍵に対応した音高および強弱を持った楽音を電子的に発生することができるようになっている。
従来の消音自動ピアノにおいては、例えば、光センサなどのセンサを各鍵の下側に配置し、このセンサで鍵の下面に取り付けたシャッタの動作のタイミングおよび動作速度を検出するキーセンサ方式が採用されている。
例えば、特開平9−54584号公報には、鍵の位置を連続的に検出する連続キーセンサを用いた自動ピアノの技術が開示されている。
【0004】
【発明が解決しようとする課題】
上記特開平9−54584号公報おいては、連続キーセンサの出力信号をA/D変換するA/D変換器の出力ビット長が固定であるため、連続キーセンサの出力信号レベルが出力ビット長に対して大きすぎる場合には、飽和してしまうという不具合が生じる。逆に連続キーセンサの出力信号レベルが出力ビット長に対して小さすぎる場合には、実効的なデータのダイナミックレンジが減少してしまうという不具合が生じる。これに対処すべく、出力ビット長を長くすると、後段のデータ処理系におけるRAM容量が増大してしまうという新たな問題点が生じる。また、後段のプロセッサの処理可能ビット長は、通常2nであるので、出力ビット長を長くした場合、処理可能ビット長が一気に少なくとも倍になってしまうという問題点が生じる。
【0005】
これらに対し、工場出荷時にキーセンサの特性をA/D変換器の出力ビット長に応じて最適化するようにしてダイナミックレンジを確保するという方法も考えられるが、経時変化、経年変化に対処できないこととなる。
そこで、本発明の第1の目的は、後段のデータ処理系のRAM容量を増大させることなく、処理系で使用するビット長に対して適切なダイナミックレンジを有するセンサデータあるいはセンサ出力信号を得ることが可能な鍵盤楽器のセンサデータ変換装置、センサデータ変換方法、センサ信号変換装置及びセンサ信号変換方法を提供することにある。
また、本発明の第2の目的は、経時変化、経年変化に対処することが可能な鍵盤楽器のセンサデータ変換装置、センサデータ変換方法、センサ信号変換装置及びセンサ信号変換方法を提供することにある。
【0006】
【課題を解決するための手段】
上記課題を解決するため、請求項1記載の構成は、鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換装置であって、前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換手段を備えたことを特徴としている。
【0007】
請求項2記載の構成は、請求項1記載の構成において、前記データ変換手段は、前記鍵あるいは前記ペダルの予め定めた所定位置における前記センサデータをXとし、前記変換センサデータのビット数をB1とし、前記センサデータのビット数をB2(B2=B1+n;nは自然数)とした場合に、前記センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは0≦Z<nを満たす整数)
を満たす場合に、前記センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを前記変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴としている。
【0008】
請求項3記載の構成は、請求項1記載の構成において、前記データ変換手段は、前記鍵あるいは前記ペダルの所定位置における前記センサデータをXとし、前記変換センサデータのビット数をB1とし、前記センサデータのビット数をB2(B2=B1+n;nは2以上の自然数)とした場合に、前記センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは−1≦Z<nを満たす整数)
を満たす場合に、前記センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを前記変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴としている。
【0009】
請求項4記載の構成は、請求項2または請求項3記載の構成において、前記ビットシフト手段は、前記各鍵あるいは前記各ペダル毎に前記Zの値に対応するランクデータを記憶するランクデータ記憶手段と、いずれかの前記鍵あるいはいずれかの前記ペダルの動作時に前記ランクデータを読み出し、前記ビットシフト処理におけるビットシフト量を制御するシフト制御手段と、を備えたことを特徴としている。
【0010】
請求項5記載の構成は、請求項2ないし請求項4のいずれかに記載の構成において、前記所定位置をレスト位置とすることを特徴としている。
【0011】
請求項6記載の構成は、鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換方法であって、前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換工程を備えたことを特徴としている。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施形態について説明する。
[1] 実施形態
[1.1] 実施形態の全体構成
図1に実施形態の自動ピアノの要部の概要構成図を示す。
自動ピアノは、鍵1の運動をハンマ2に伝達するアクションメカニズム3と、ハンマ2によって打弦される弦4と、鍵1を駆動するソレノイド5と、弦4の振動を止めるためのダンパ6と、を備えて構成されている。
また自動ピアノは、記録メディアあるいはリアルタイム通信装置から供給される演奏データに基づいて、鍵の軌道データを生成するとともに軌道データを用いて鍵の原速度指示値(t,Vr)を生成する再生前処理部10と、供給された原速度指示値(t,Vr)に基づいて、各時刻における鍵1の位置に対応した速度指示値Vrを生成し出力するモーションコントローラ11と、速度指示値Vrに応じた励磁電流をソレノイド5に供給するとともに、ソレノイド5から供給されるフィードバック信号としての出力速度Vyと速度指示値Vrを比較し、両者が一致するようにサーボ制御を行うサーボコントローラ12と、を備えて構成されている。
【0013】
さらに自動ピアノは、キーセンサを構成するセンサボックス25と、キーセンサを構成し鍵1の下面に取り付けられた板状のシャッタ26と、アクションメカニズム3に取り付けられたハンマシャッタ27と、打弦速度を計測するためのセンサSEと、センサSEの出力信号に基づいてハンマシャッタ27の移動速度を計測することにより、ハンマ2の速度、すなわち打弦速度(発音速度)を計測し、また、ハンマシャッタ27がセンサSEを通過開始時刻を打弦時刻(発音時刻)として検出する演奏記録部30と、を備えて構成されている。
【0014】
[1.2] 制御系
図2に本実施形態の制御系の概要構成ブロック図を示す。
制御系は、制御系全体を制御するCPU201と、制御用プログラム、制御用データなどが格納されたROM202と、各種データを一時的に格納するためのRAM203と、種々の制御用スイッチが設けられたパネルスイッチ部204と、図示しないアクチュエータを駆動し、ハンマ2が弦4に当接しない消音演奏モードとするアクチュエータ駆動回路208と、CPU201から供給されるキー番号(=キーコード)、ベロシティ(押鍵の強さに対応したデータ)、キーオン信号、キーオフ信号等の演奏制御データに基づいて楽音信号を生成し、スピーカSPあるいはヘッドホンHHに供給する音源回路210と、を備えて構成されている。
【0015】
さらに制御系は、検出光を射出するLED224を駆動するためのLEDドライバ220と、LED224が射出した検出光が光ファイバを介して入力され、後述の受光側センサヘッド222に対して射出する発光側センサヘッド221と、検出光を受光して光ファイバを介して出力する受光側センサヘッド222と、受光側センサヘッド222の出力した検出信号の光電変換を行って検出信号として出力するフォトダイオード225と、検出信号のA/D変換を行って検出データとして出力するA/D変換回路223と、フレキシブルディスク251に対して演奏情報の書込/読み出しを行うフレキシブルディスクドライバ250と、RAM203に一時的に格納された演奏情報に基づいて、ソレノイド駆動信号を生成し、ソレノイド5のソレノイドピン5Pを駆動してハンマ2を駆動して自動演奏を行うためのサーボコントローラ12と、を備えて構成されている。
この場合において、発光側センサヘッド221、受光側センサヘッド222、LED224、フォトダイオード225及びシャッタ26は、キーセンサを構成している。
【0016】
[1.3]
図3に本実施形態のキーセンサの構成を示す概要構成図を示す。
図3において、光ファイバを介してLED224から検出光が供給され、シャッタ26の位置を検出すべく直径約5[mm]程度の検出光を射出する発光側センサヘッド221と、発光側センサヘッド221が射出した検出光を受光し、光ファイバを介してフォトダイオード225へ送出する受光側センサヘッド222と、を備えて構成されている。
受光側センサヘッド222により検出光は、フォトダイオード225へ送出され、フォトダイオード225によりその光量に応じた出力信号Saに変換される。
この場合において、発光側センサヘッド221から射出される検出光は、シャッタ26の検出光光路中への挿入状態に応じて遮蔽され、受光側センサヘッド222の受光量は、シャッタ26の位置、すなわち、鍵1の位置に応じて変化することとなる。
【0017】
従って、フォトダイオード225の出力信号Saは、鍵1の位置に対応するアナログ量を有する信号となる。
例えば、出力信号Saの変化は、鍵1を押鍵しない状態における位置(=レスト位置)から鍵1を押鍵して、当接する位置まで押し込んだ状態における位置(=エンド位置)との間で、図4に示すようにほぼ直線状態で表される。
このレスト位置とエンド位置との間には、センサの出力信号を参照するための検出位置に相当する後述する第1参照位置K1〜第4参照位置K4が設定される。
【0018】
[1.4] 実施形態の動作
[1.4.1] 処理ルーチン
まず、実施形態の動作を行うための各種処理ルーチンについて説明する。
図5に処理ルーチン相互の関係を示すタイミングチャートを示す。
本実施形態の処理ルーチンは、大別すると、メインルーチン、A/D割込ルーチン及びタイマ割込ルーチンがある。
メインルーチンは、発音制御における主な処理を行うルーチンであり、大半の処理は本メインルーチンにより行われることとなる。
A/D割込ルーチンは、フォトダイオード225の出力信号を4個の鍵単位で読み込む処理を行う。このA/D割込ルーチンは、本実施形態ではおよそ40[μsec]毎に起動されるように設定されている。
タイマ割込ルーチンは、時間計測に用いられるタイマ値を更新するタイマ更新処理やカウント値を減算する処理などを行う。このタイマ割込ルーチンは、本実施形態では100[μsec]毎に起動されるように設定されている。
この場合において、A/D割込ルーチンとタイマ割込ルーチンとが競合する場合には、タイマ割込ルーチンが優先的に起動されることとなる。これは、タイマ割込ルーチンが一定周期で起動されないとタイマの値に誤差が生じ、他の制御が乱れてしまうからである。
なお、図5においては各処理ルーチンの動作タイミングを模式的に示すものであり、実際の処理時間についての割合を正確に表しているものではない。
【0019】
[1.4.2] A/D割込処理
ここで、A/D割込処理について、図6を参照して説明する。この場合において、A/D変換器223の出力データビット長は10ビットであるものとし、CPU201における処理データビット長は8ビットであるものとする。
A/D変換器223は、CPU201と並行して動作しており、4個の鍵に対応するキーセンサの出力信号のA/D変換が終了するとA/D割込要求を発生する。この場合において、上記4個の鍵は常に1組(1チャンネル)として取り扱われ、各チャンネルには、0〜23のチャンネル番号(88鍵の場合)が割り当てられているものとする。
これによりCPU201は、A/D割込処理ルーチンに対応するA/D割込処理を開始する。
【0020】
まず、CPU201は、A/D割込要求が入力されると、A/D変換器223に対し、A/D変換処理を停止させるためのA/Dストップ要求を出力し、これと並行して、次のチャンネルの4個の鍵に対応するキーセンサのLED224を点灯させる(ステップS1)。
続いてCPU201は、A/Dストップ要求を出力したチャンネルに対応する4個の鍵番号に対応するRAM203に予め格納しておいた鍵−ランク(rank)テーブルのランクデータを参照する。このランクデータの算出方法については後に詳述する。
そして、CPU201各鍵のランクデータに基づいてA/D変換器223の出力データを構成するデータビット(上述の例の場合、10ビット)のうち、いずれのデータビットを処理に用いるかを決定する。
より具体的には、図7に示すように、鍵−ランクテーブルが格納されているものとする。
【0021】
この場合に、自動ピアノを構成する全88鍵のうち、第85鍵、第86鍵、第87鍵及び第88鍵に対応する出力データの処理を行おうとする場合、CPU201は、第85鍵については、ランクデータ=2であるので、図8(c)に示すように、A/D変換器223の出力データのうち、第2ビット〜第9ビットを8ビットの処理データビットとして扱うように決定する。
また、CPU201は、第86鍵については、ランクデータ=0であるので、図8(a)に示すように、AD変換器223の出力データのうち、第0ビット〜第7ビットを8ビットの処理データビットとして扱うように決定する。
さらに、CPU201は、第87鍵については、ランクデータ=1であるので、図8(b)に示すように、AD変換器223の出力データのうち、第1ビット〜第8ビットを8ビットの処理データビットとして扱うように決定する。
同様にして、CPU201は、第88鍵についても、ランクデータ=1であるので、図8(b)に示すように、A/D変換器223の出力データのうち、第1ビット〜第8ビットを8ビットの処理データビットとして扱うように決定する。
【0022】
そして、CPU201は、処理データビットとして決定したA/D変換器223の出力データの一部を正規のA/D変換結果データとして対応するタイマ値(=各チャンネルの検出時刻に相当)とともに、RAM203に転送し、RAM203の所定領域に書き込むこととなる(ステップS2)。
次にCPU201は、検出対象のチャンネル番号を1インクリメントし(ただし、チャンネル番号=23の場合には、チャンネル番号=0にリセットする)、A/D変換器223におけるA/D変換処理を再開させるべく、A/Dスタート要求をA/D変換器223に出力して(ステップS3)、A/D割込処理を終了する。
【0023】
[1.4.3] メイン処理
次に本実施形態のメイン処理について説明する。
図9にメインルーチンの処理内容を示すフローチャートを示す。
まず、CPU201は、電源が投入されると、レジスタ及びRAMの初期化並びに割り込み設定を行う初期化処理を行う(ステップS11)。
そして、各鍵(例えば、88鍵の自動ピアノの場合、第1鍵〜第88鍵)のレスト位置におけるA/D変換器223の出力データを取得する。
そして、各鍵に対応するA/D変換器223の出力データの値をXとした場合に、
X<256(=28
である場合には、ランクデータ=0として、RAM203の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、AD変換器223の出力データのうち、第0ビット〜第7ビットの8ビットをAD変換器223の処理対象出力データとし、この処理対象出力データに基づいて参照位置データK1〜K4を算出し、得られた処理対象出力データ及び参照位置データK1〜K4をRAM203に格納する(ステップS12)。
【0024】
同様にして、
256≦X<512(=29
である場合には、ランクデータ=1として、RAM203の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、AD変換器223の出力データのうち、第1ビット〜第8ビットの8ビットをAD変換器223の処理対象出力データとし、この処理対象出力データに基づいて参照位置データK1〜K4を算出し、得られた処理対象出力データ及び参照位置データK1〜K4をRAM203に格納する(ステップS12)。
【0025】
同様に、
512≦X
である場合には、ランクデータ=2として、RAM203の鍵−ランクテーブルの当該鍵に対応する領域に書き込むとともに、AD変換器223の出力データのうち、第2ビット〜第9ビットの8ビットをAD変換器223の処理対象出力データとし、この処理対象出力データに基づいて参照位置データK1〜K4を算出し、得られた処理対象出力データ及び参照位置データK1〜K4をRAM203に格納する(ステップS12)。
そして、全鍵(上述の例の場合、全88鍵)のレスト位置における処理対象出力データ及び参照位置データK1〜K4の格納が終了すると、処理対象の鍵(キー)の番号(初期値は87で第88鍵に相当)を格納している処理対象鍵レジスタの値に1を加える(ただし、鍵の番号=87の場合は、0とする)(ステップS13)。
次に処理対象鍵レジスタの値に対応する鍵についてA/D割込処理において取得され、RAM203の所定領域に書き込まれたA/D変換結果データ及び対応するタイマ値(=各チャンネルの検出時刻に相当)を読込む(ステップS14)。
【0026】
次にCPU201は、予めRAM203に格納しておいた鍵(キー)の状態をRAM203から取得する(ステップS15)。
ここで、鍵(キー)の状態について説明する。
鍵の状態としては、鍵がレスト位置と参照位置K1(図4参照)との間にある場合のUPPER状態、鍵が参照位置K1を越え、参照位置K2に至らない位置にあるTOUCH−A状態、鍵が参照位置K2を越え、参照位置K3に至らない位置にあるCOUNT−DOWN−0状態、鍵が参照位置K3を越え、参照位置K4に至らない位置にあるCOUNT−DOWN−1状態、鍵が参照位置K4を越えた位置にあるCOUNT−DOWN−2状態、押鍵速度が速く鍵位置のサンプリング間隔において、複数の参照位置を通過した状態にあるCOUNT−DOWN−3状態、発音がなされた状態であるSOUND状態、離鍵状態にある鍵が参照位置K2を通過した状態にあるHOLD状態、HOLD状態となった鍵がレスト位置に戻ることなく、再び押し下げられて参照位置K2を越えた状態であるTOUCH−B状態及びTOUCH−B状態となった鍵がその状態を予め定めた所定時間以上維持した状態であるTIME−OVER状態がある。
【0027】
次にCPU201は、鍵の状態がUPPER状態であるか否かを判別し(ステップS16)、鍵の状態がUPPER状態である場合には(ステップS16;Yes)、UPPER状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をUPPER状態に書き換え後(ステップS22)、処理を再びステップS13に移行する。
ステップS16の判別において、鍵の状態がUPPER状態ではない場合には(ステップS16;No)、COUNT−DOWN−0状態、COUNT−DOWN−1状態、COUNT−DOWN−2状態あるいはCOUNT−DOWN−3状態のいずれかにあるか否かを判別し(ステップS17)、鍵の状態がCOUNT−DOWN−0状態、COUNT−DOWN−1状態、COUNT−DOWN−2状態あるいはCOUNT−DOWN−3状態のいずれかにある場合には(ステップS17;Yes)、COUNT−DOWN−0状態、COUNT−DOWN−1状態、COUNT−DOWN−2状態及びCOUNT−DOWN−3状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をCOUNT−DOWN−0状態、COUNT−DOWN−1状態、COUNT−DOWN−2状態あるいはCOUNT−DOWN−3状態のうち、対応する状態に書き換え後(ステップS23)、処理を再びステップS13に移行する。
【0028】
ステップS17の判別において、鍵の状態がCOUNT−DOWN−0状態、COUNT−DOWN−1状態、COUNT−DOWN−2状態あるいはCOUNT−DOWN−3状態のいずれでもない場合には(ステップS17;No)、鍵の状態がTOUCH−A状態であるか否かを判別し(ステップS18)、鍵の状態がTOUCH−A状態である場合には(ステップS18;Yes)、TOUCH−A状態に対応する発音制御処理ルーチンを実行後(ステップS24)、処理を再びステップS13に移行する。
ステップS18の判別において、鍵の状態がTOUCH−A状態ではない場合には(ステップS18;No)、鍵の状態がSOUND状態であるか否かを判別し(ステップS19)、鍵の状態がSOUND状態である場合には(ステップS19;Yes)、SOUND状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をSOUND状態に書き換え後(ステップS25)、処理を再びステップS13に移行する。
ステップS19の判別において、鍵の状態がSOUND状態ではない場合には(ステップS19;No)、鍵の状態がHOLD状態であるか否かを判別し(ステップS20)、鍵の状態がHOLD状態である場合には(ステップS20;Yes)、HOLD状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をHOLD状態に書き換え後(ステップS26)、処理を再びステップS13に移行する。
【0029】
ステップS20の判別において、鍵の状態がHOLD状態ではない場合には(ステップS20;No)、鍵の状態がTIME−OVER状態であるか否かを判別し(ステップS21)、鍵の状態がTIME−OVER状態である場合には(ステップS21;Yes)、TIME−OVER状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をTIME−OVER状態に書き換え後(ステップS27)、処理を再びステップS13に移行する。
ステップS21の判別において、鍵の状態がTIME−OVER状態ではない場合には(ステップS21;No)、TOUCH−B状態であると考えられるので、TOUCH−B状態に対応する発音制御処理ルーチンを実行し、RAM203の鍵の状態をTOUCH−B状態に書き換え後(ステップS28)、処理を再びステップS13に移行する。
[1.5] 実施形態の効果
以上の説明のように、本実施形態によれば、処理系(CPU、RAM等)の処理ビット数及び記憶容量を増加させることなく、A/D変換器の出力データに基づいて適切なダイナミックレンジを有する処理データを得ることができ、精度の高い測定を行うことができる。
さらにA/D変換器の出力データの処理を動的に変化させることができるので、出力ビット長のみを長くし、各鍵毎に出力ビット中の使用すべきビット域(第何ビット目から第何ビット目まで)を自動ピアノの製造時に選択し、処理対象データのビット長を固定としておく方法と異なり、経時変化、経年変化に容易に対処することができる。
【0030】
[2] 実施形態の変形例
[2.1] 第1変形例
上記説明においては、A/D変換器の出力ビット長が10ビットの場合について説明したが、より一般的には、予め定めた所定位置におけるA/D変換器の出力データであるセンサデータをXとし、CPUで処理可能なデータである変換センサデータのビット数をB1とし、センサデータのビット数をB2(B2=B1+n;nは自然数)とした場合に、センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは0≦Z<nを満たす整数)
を満たす場合に、センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うように構成すればよい。
【0031】
[2.2] 第2変形例
上記説明においては、A/D変換器の出力ビット長が10ビットの場合について説明したが、第1変形例と同様に、予め定めた所定位置におけるA/D変換器の出力データであるセンサデータをXとし、CPUで処理可能なデータである変換センサデータのビット数をB1とし、センサデータのビット数をB2(B2=B1+n;nは2以上の自然数)とした場合に、センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは1≦Z<nを満たす整数)
を満たす場合に、センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うように構成することも可能である。
【0032】
[2.3] 第3変形例
上記説明においては、ランクに応じて、A/D変換器の出力データを構成するデータビットのうち、用いるデータビット位置をシフトするように構成していたが、例えば、ランクデータ=0の場合には、上位ビット側に2ビットシフトし、ランクデータ=1の場合には、上位ビット側に1ビットシフトし、常に第2ビット〜第9ビットをCPU側で用いるようにしても同様の効果が得られる。
同様に、ランクデータ=0の場合には、上位ビット側に1ビットシフトし、ランクデータ=2の場合には、下位ビット側に1ビットシフトし、常に第1ビット〜第8ビットをCPU側で用いるようにしてもよい。
【0033】
[2.4] 第4変形例
上記説明においては、鍵の場合のセンサデータ変換処理についてのみ説明したが、ペダルであっても同様に適用することが可能である。
[2.5] 第5変形例
上記説明においては、所定位置をレスト位置として、ランクデータを設定していたが、A/D割込処理毎にランクデータをリアルタイムで設定するように構成することも可能である。
[2.6] 第6変形例
上記説明においては、ランクデータを実際の稼働時に設定していたが、経時変化が小さく、個体差の小さなセンサを用いることができれば、予めランクデータを固定的に定めておくことも可能である。
[2.7] 第7変形例
以上の説明においては、自動ピアノについて説明したが、他の鍵盤楽器についても本発明の適用が可能である。
【0034】
【発明の効果】
本発明によれば、鍵あるいは前記ペダルの動作状態において出力されるセンサの検出信号の信号レベル範囲に基づいて、変換センサデータのデータ範囲が予め定めた所定データ範囲となるようにデータ変換を行い、あるいは、センサの検出信号の信号レベル範囲を検出し、変換センサ信号の信号レベル範囲が予め定めた所定信号レベル範囲となるように検出信号の増幅率を変化させて増幅することにより変換センサ信号を生成し、出力するので、後段のデータ処理系の記憶容量を増大させることなく、処理系で使用するビット長に対して適切なダイナミックレンジを有するセンサデータあるいはセンサ出力信号を得ることが可能となる。
また、データ変換の方法あるいは増幅率の変更は動的に行えるので、経時変化、経年変化に容易に対処することができる。
【図面の簡単な説明】
【図1】 実施形態の自動ピアノの要部の概要構成図である。
【図2】 実施形態の自動ピアノの制御系の概要構成を示すブロック図である。
【図3】 キーセンサの構成を説明する図である。
【図4】 キーストロークと参照位置との関係説明図である。
【図5】 実施形態の各処理のタイミングチャートである。
【図6】 A/D割込処理の処理フローチャートである。
【図7】 ランクデータの格納状態説明図である。
【図8】 ランクデータと実際に使用するデータビットとの関係を説明する図である。
【図9】 メインルーチンの処理フローチャートである。
【符号の説明】
1…鍵、2…ハンマ、3…アクションメカニズム(ハンマアクション)、4…弦、5…ソレノイド、5P…ソレノイドピン、6…ダンパー(止音機構)、10…再生前処理部、11…モーションコントローラ、12…サーボコントローラ、25…センサボックス、26…シャッタ、27…ハンマシャッタ、30…演奏記録部、31…記録後処理部、201…CPU、202…RAM、203…ROM、204…パネルスイッチ部、208…アクチュエータ駆動回路、210…音源回路、220…LEDドライバ、221…発光側センサヘッド、222…受光側センサヘッド、223…A/D変換回路、224…LED、225…フォトダイオード、250…フレキシブルディスクドライバ、251…フレキシブルディスク。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a sensor data conversion device and a sensor data conversion method for a keyboard musical instrument, and particularly to a keyboard musical instrument capable of performing an automatic performance, and outputs the key sensor or pedal sensor for detecting the operating state of the key or pedal. The present invention relates to a sensor data conversion device and a sensor data conversion method for a keyboard instrument for converting a detection signal or detection data (sensor data) corresponding to the detection signal.
[0002]
[Prior art]
In the performance of the piano, when the performer depresses the key, the damper moves away from the string in conjunction with this, and the hammer rotates and the string is struck. When the key is released, the damper touches the string and the sound is muted. As described above, a musical tone is usually generated by a series of operations of key pressing → stringing → key release → mute.
For this reason, in an automatic piano that performs automatic performance, performance information is generated and recorded based on the series of operations described above, and the operation of keys or pedals is controlled based on the read performance information during playback. Is called.
In the control of the key or pedal in this case, based on the performance information, the solenoid, which is an actuator, is excited on one side to drive the key, and the hammer rotates in response to hitting the string, and the solenoid is turned on the other side. Excitation is applied to drive the pedal, and the sound is extended (sustained), weak (softened), or muted (muted).
[0003]
By the way, in such an automatic piano, there is known a mute automatic piano that can perform a normal performance in which a string is struck when a key is pressed during performance recording and a mute performance in which a string is not struck even when the key is pressed. Yes.
This automatic mute piano is provided with a mechanism for preventing further rotation of the hammer assembly before the hammer rotated by pressing the key hits the string. In a mute performance using such a mute mechanism, instead of generating a stringed sound, the operation of a key or the like is detected by a sensor, and a musical tone having a pitch and strength corresponding to the key depression is generated electronically. It can be done.
In a conventional automatic mute piano, for example, a sensor such as an optical sensor is arranged below each key, and a key sensor method is employed in which the sensor detects the timing and speed of operation of the shutter attached to the lower surface of the key. ing.
For example, Japanese Patent Laid-Open No. 9-54584 discloses an automatic piano technique using a continuous key sensor that continuously detects the key position.
[0004]
[Problems to be solved by the invention]
JP-A-9-54584 In In this case, since the output bit length of the A / D converter for A / D converting the output signal of the continuous key sensor is fixed, it is saturated when the output signal level of the continuous key sensor is too large with respect to the output bit length. This causes the problem of end up. On the contrary, when the output signal level of the continuous key sensor is too small with respect to the output bit length, there arises a problem that the effective data dynamic range is reduced. In order to cope with this, if the output bit length is increased, a new problem arises that the RAM capacity in the subsequent data processing system increases. In addition, the processable bit length of the downstream processor is usually 2 n Therefore, when the output bit length is increased, the processable bit length is at least doubled at once.
[0005]
On the other hand, a method of securing the dynamic range by optimizing the characteristics of the key sensor according to the output bit length of the A / D converter at the time of shipment from the factory is also conceivable, but it is impossible to cope with aging and aging. It becomes.
Accordingly, a first object of the present invention is to obtain sensor data or a sensor output signal having a dynamic range appropriate for the bit length used in the processing system without increasing the RAM capacity of the subsequent data processing system. An object of the present invention is to provide a sensor data conversion device, a sensor data conversion method, a sensor signal conversion device, and a sensor signal conversion method for a keyboard instrument.
The second object of the present invention is to provide a keyboard instrument sensor data conversion device, a sensor data conversion method, a sensor signal conversion device, and a sensor signal conversion method capable of coping with changes over time and changes over time. is there.
[0006]
[Means for Solving the Problems]
In order to solve the above problem, the configuration according to claim 1 is a sensor data corresponding to an output signal of a sensor for detecting an operation state of a key or pedal of a keyboard instrument. Sensor data whose data bits are a certain bit length A sensor data conversion device for a keyboard instrument that generates conversion sensor data by performing conversion on the basis of a signal level range of a detection signal of the sensor output in an operating state of the key or the pedal. Data data The bit is less than the bit length of the data bits of the sensor data Predetermined number of bits Use data bits It is characterized by having data conversion means for performing data conversion.
[0007]
According to a second aspect of the present invention, in the configuration of the first aspect, the data conversion means sets the sensor data at a predetermined position of the key or the pedal as X, and sets the number of bits of the converted sensor data to B1. When the number of bits of the sensor data is B2 (B2 = B1 + n; n is a natural number), the sensor data X is
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (However, Z is an integer satisfying 0 ≦ Z <n)
When satisfying the above, among the data bits of the sensor data, the data bits of the (Z + 1) th bit to the (B1 + Z) th bit are the 0th bit to the (B1-1) th bit of the converted sensor data. A bit shift means for performing bit shift processing is provided.
[0008]
The configuration according to claim 3 is the configuration according to claim 1, wherein the data conversion means sets the sensor data at a predetermined position of the key or the pedal to X, sets the number of bits of the converted sensor data to B1, and When the number of bits of sensor data is B2 (B2 = B1 + n; n is a natural number of 2 or more), the sensor data X is
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (However, Z is an integer satisfying −1 ≦ Z <n)
When satisfying the above, among the data bits of the sensor data, the data bits of the (Z + 1) th bit to the (B1 + Z) th bit are the 0th bit to the (B1-1) th bit of the converted sensor data. A bit shift means for performing bit shift processing is provided.
[0009]
According to a fourth aspect of the present invention, in the configuration of the second or third aspect, the bit shift unit stores rank data corresponding to the value of Z for each key or each pedal. And shift control means for reading the rank data when one of the keys or one of the pedals is operated, and controlling the bit shift amount in the bit shift processing.
[0010]
According to a fifth aspect of the present invention, in the configuration according to any of the second to fourth aspects, the predetermined position is a rest position.
[0011]
According to the sixth aspect of the present invention, there is provided sensor data corresponding to an output signal of a sensor for detecting an operation state of a key or pedal of a keyboard instrument. Sensor data whose data bits are a certain bit length A sensor data conversion method for a keyboard instrument that generates conversion sensor data by performing conversion on the basis of a signal level range of a detection signal of the sensor that is output in an operating state of the key or the pedal. Data data The bit is less than the bit length of the data bits of the sensor data Predetermined number of bits Use data bits A data conversion process for performing data conversion is provided.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[1] Embodiment
[1.1] Overall configuration of the embodiment
FIG. 1 shows a schematic configuration diagram of a main part of the automatic piano according to the embodiment.
The automatic piano includes an action mechanism 3 that transmits the movement of the key 1 to the hammer 2, a string 4 that is struck by the hammer 2, a solenoid 5 that drives the key 1, and a damper 6 that stops vibration of the string 4. , And is configured.
In addition, the automatic piano generates key trajectory data based on performance data supplied from a recording medium or a real-time communication device, and uses the trajectory data to generate a key original velocity instruction value (t, Vr) before reproduction. Based on the processing unit 10, the supplied original speed instruction value (t, Vr), the motion controller 11 that generates and outputs the speed instruction value Vr corresponding to the position of the key 1 at each time, and the speed instruction value Vr A servo controller 12 that supplies a corresponding exciting current to the solenoid 5 and compares the output speed Vy as a feedback signal supplied from the solenoid 5 with the speed instruction value Vr and performs servo control so that both coincide with each other. It is prepared for.
[0013]
Furthermore, the automatic piano measures the stringing speed, a sensor box 25 constituting a key sensor, a plate-like shutter 26 constituting the key sensor and attached to the lower surface of the key 1, a hammer shutter 27 attached to the action mechanism 3, and the like. The speed of the hammer 2, that is, the string striking speed (sounding speed) is measured by measuring the movement speed of the hammer shutter 27 based on the sensor SE and the output signal of the sensor SE. And a performance recording unit 30 that detects the passage start time as a string striking time (sounding time) through the sensor SE.
[0014]
[1.2] Control system
FIG. 2 shows a schematic block diagram of the control system of the present embodiment.
The control system is provided with a CPU 201 that controls the entire control system, a ROM 202 that stores control programs, control data, and the like, a RAM 203 that temporarily stores various data, and various control switches. A panel switch unit 204, an actuator drive circuit 208 for driving an unillustrated actuator and setting the mute performance mode in which the hammer 2 does not contact the string 4, a key number (= key code) supplied from the CPU 201, and a velocity (key press) Sound source circuit 210 that generates a musical sound signal based on performance control data such as a key-on signal and a key-off signal and supplies the musical sound signal to the speaker SP or the headphone HH.
[0015]
Further, the control system includes an LED driver 220 for driving the LED 224 that emits detection light, and a light emission side on which the detection light emitted from the LED 224 is input via an optical fiber and is emitted to a light receiving side sensor head 222 described later. A sensor head 221; a light receiving side sensor head 222 that receives detection light and outputs it via an optical fiber; and a photodiode 225 that performs photoelectric conversion of the detection signal output from the light receiving side sensor head 222 and outputs it as a detection signal. The A / D conversion circuit 223 that performs A / D conversion of the detection signal and outputs it as detection data, the flexible disk driver 250 that writes / reads performance information to / from the flexible disk 251, and the RAM 203 temporarily. Based on the stored performance information, a solenoid drive signal is generated and the solenoid 5 By driving the Renoidopin 5P it is configured to include the servo controller 12 for performing an automatic performance by driving the hammer 2, the.
In this case, the light emitting side sensor head 221, the light receiving side sensor head 222, the LED 224, the photodiode 225, and the shutter 26 constitute a key sensor.
[0016]
[1.3]
FIG. 3 is a schematic configuration diagram showing the configuration of the key sensor of this embodiment.
In FIG. 3, detection light is supplied from an LED 224 via an optical fiber, and a light emission side sensor head 221 that emits detection light having a diameter of about 5 mm to detect the position of the shutter 26, and a light emission side sensor head 221. And a light receiving side sensor head 222 that receives the detection light emitted from the light source and sends it to the photodiode 225 via an optical fiber.
Detection light is sent to the photodiode 225 by the light receiving side sensor head 222 and converted into an output signal Sa corresponding to the amount of light by the photodiode 225.
In this case, the detection light emitted from the light emission side sensor head 221 is shielded according to the insertion state of the shutter 26 in the detection light optical path, and the light reception amount of the light reception side sensor head 222 is the position of the shutter 26, that is, , And changes depending on the position of the key 1.
[0017]
Therefore, the output signal Sa of the photodiode 225 is a signal having an analog amount corresponding to the position of the key 1.
For example, the change in the output signal Sa is between the position (= end position) in the state where the key 1 is pressed to the position where the key 1 is pressed from the position where the key 1 is not pressed (= rest position). As shown in FIG. 4, it is expressed in a substantially linear state.
Between the rest position and the end position, a first reference position K1 to a fourth reference position K4, which will be described later, corresponding to a detection position for referring to the output signal of the sensor are set.
[0018]
[1.4] Operation of the embodiment
[1.4.1] Processing routine
First, various processing routines for performing the operation of the embodiment will be described.
FIG. 5 is a timing chart showing the relationship between the processing routines.
The processing routine of this embodiment is roughly classified into a main routine, an A / D interrupt routine, and a timer interrupt routine.
The main routine is a routine for performing main processing in sound generation control, and most of the processing is performed by this main routine.
The A / D interrupt routine performs processing for reading the output signal of the photodiode 225 in units of four keys. This A / D interrupt routine is set to be started approximately every 40 [μsec] in the present embodiment.
The timer interrupt routine performs a timer update process for updating a timer value used for time measurement, a process for subtracting a count value, and the like. This timer interrupt routine is set to be started every 100 [μsec] in this embodiment.
In this case, when the A / D interrupt routine and the timer interrupt routine compete with each other, the timer interrupt routine is activated with priority. This is because if the timer interrupt routine is not started at a constant period, an error occurs in the timer value and other controls are disturbed.
Note that FIG. 5 schematically shows the operation timing of each processing routine, and does not accurately represent the ratio of the actual processing time.
[0019]
[1.4.2] A / D interrupt processing
Here, the A / D interrupt process will be described with reference to FIG. In this case, the output data bit length of the A / D converter 223 is 10 bits, and the processing data bit length in the CPU 201 is 8 bits.
The A / D converter 223 operates in parallel with the CPU 201, and generates an A / D interrupt request when the A / D conversion of the output signals of the key sensors corresponding to the four keys is completed. In this case, the four keys are always handled as one set (one channel), and channel numbers 0 to 23 (in the case of 88 keys) are assigned to each channel.
As a result, the CPU 201 starts A / D interrupt processing corresponding to the A / D interrupt processing routine.
[0020]
First, when an A / D interrupt request is input, the CPU 201 outputs an A / D stop request for stopping the A / D conversion process to the A / D converter 223, and in parallel therewith. The LED 224 of the key sensor corresponding to the four keys of the next channel is turned on (step S1).
Subsequently, the CPU 201 refers to the rank data in the key-rank table stored in advance in the RAM 203 corresponding to the four key numbers corresponding to the channel that has output the A / D stop request. The rank data calculation method will be described in detail later.
Based on the rank data of each key of the CPU 201, it is determined which of the data bits (10 bits in the above example) constituting the output data of the A / D converter 223 is used for processing. .
More specifically, it is assumed that a key-rank table is stored as shown in FIG.
[0021]
In this case, when processing output data corresponding to the 85th key, the 86th key, the 87th key, and the 88th key among all 88 keys constituting the automatic piano, the CPU 201 determines the 85th key. Since rank data = 2, as shown in FIG. 8C, among the output data of the A / D converter 223, the 2nd to 9th bits are treated as 8 processed data bits. decide.
Since the rank data = 0 for the 86th key, the CPU 201 converts the 0th to 7th bits of the output data of the AD converter 223 to 8 bits as shown in FIG. Decide to treat as processing data bits.
Furthermore, since the rank data = 1 for the 87th key, the CPU 201 converts the first bit to the eighth bit of the output data of the AD converter 223 to 8 bits as shown in FIG. Decide to treat as processing data bits.
Similarly, since the rank data = 1 for the 88th key as well, the CPU 201 outputs the first bit to the eighth bit in the output data of the A / D converter 223 as shown in FIG. 8B. Are treated as 8-bit processed data bits.
[0022]
Then, the CPU 201 stores a part of the output data of the A / D converter 223 determined as the processing data bits together with a timer value (= corresponding to the detection time of each channel) corresponding to the normal A / D conversion result data. And written in a predetermined area of the RAM 203 (step S2).
Next, the CPU 201 increments the detection target channel number by 1 (however, if the channel number = 23, the channel number = 0 is reset), and the A / D conversion process in the A / D converter 223 is restarted. Accordingly, an A / D start request is output to the A / D converter 223 (step S3), and the A / D interrupt process is terminated.
[0023]
[1.4.3] Main processing
Next, the main process of this embodiment will be described.
FIG. 9 shows a flowchart showing the processing contents of the main routine.
First, when the power is turned on, the CPU 201 performs initialization processing for initializing registers and RAM and setting interrupts (step S11).
Then, the output data of the A / D converter 223 at the rest position of each key (for example, in the case of an 88-key automatic piano, the first key to the 88th key) is acquired.
When the value of the output data of the A / D converter 223 corresponding to each key is X,
X <256 (= 2 8 )
In this case, rank data is set to 0 and written to the area corresponding to the key in the key-rank table of the RAM 203, and 8 bits from the 0th bit to the 7th bit are output from the output data of the AD converter 223. The processing target output data of the AD converter 223 is calculated, the reference position data K1 to K4 are calculated based on the processing target output data, and the obtained processing target output data and the reference position data K1 to K4 are stored in the RAM 203 (step S12).
[0024]
Similarly,
256 ≦ X <512 (= 2 9 )
In this case, the rank data is set to 1 and written in the area corresponding to the key in the key-rank table of the RAM 203, and 8 bits from the first bit to the eighth bit are output from the output data of the AD converter 223. The processing target output data of the AD converter 223 is calculated, the reference position data K1 to K4 are calculated based on the processing target output data, and the obtained processing target output data and the reference position data K1 to K4 are stored in the RAM 203 (step S12).
[0025]
Similarly,
512 ≦ X
In this case, rank data = 2 is written in the area corresponding to the key in the key-rank table of the RAM 203, and 8 bits from the second bit to the ninth bit are output from the output data of the AD converter 223. The processing target output data of the AD converter 223 is calculated, the reference position data K1 to K4 are calculated based on the processing target output data, and the obtained processing target output data and the reference position data K1 to K4 are stored in the RAM 203 (step S12).
When the storage of the processing target output data and the reference position data K1 to K4 at the rest position of all the keys (all 88 keys in the above example) is finished, the number of the processing target key (key) (the initial value is 87). 1 (corresponding to the 88th key) is added to the value of the processing target key register (however, it is set to 0 when the key number = 87) (step S13).
Next, the A / D conversion result data acquired in the A / D interrupt processing for the key corresponding to the value of the processing target key register and written in a predetermined area of the RAM 203 and the corresponding timer value (= at the detection time of each channel) Equivalent) is read (step S14).
[0026]
Next, the CPU 201 acquires a key state stored in the RAM 203 in advance from the RAM 203 (step S15).
Here, the state of the key will be described.
The key state includes an UPPER state when the key is between the rest position and the reference position K1 (see FIG. 4), and a TOUCH-A state where the key exceeds the reference position K1 and does not reach the reference position K2. The COUNT-DOWN-0 state where the key exceeds the reference position K2 and does not reach the reference position K3, the COUNT-DOWN-1 state where the key exceeds the reference position K3 and does not reach the reference position K4, the key COUNT-DOWN-2 state in which the position exceeds the reference position K4, COUNT-DOWN-3 state in which a plurality of reference positions are passed in the key position sampling interval with a fast key pressing speed, and a sound is made The SOUND state, the key in the key release state, the HOLD state in which the key has passed the reference position K2, and the key in the HOLD state will not return to the rest position. , There is a TIME-OVER state is a state of maintaining again depressed by the reference position is a state beyond the K2 TOUCH-B state and TOUCH-B state became key preset predetermined time or more that state.
[0027]
Next, the CPU 201 determines whether or not the key state is the UPPER state (step S16). If the key state is the UPPER state (step S16; Yes), the sound generation control process corresponding to the UPPER state is performed. After executing the routine and rewriting the key state of the RAM 203 to the UPPER state (step S22), the process proceeds to step S13 again.
If it is determined in step S16 that the key is not in the UPPER state (step S16; No), the COUNT-DOWN-0 state, the COUNT-DOWN-1 state, the COUNT-DOWN-2 state, or the COUNT-DOWN-3. It is determined whether it is in one of the states (step S17), and the key state is any of the COUNT-DOWN-0 state, the COUNT-DOWN-1 state, the COUNT-DOWN-2 state, or the COUNT-DOWN-3 state. If it is (step S17; Yes), the sound generation control processing routine corresponding to the COUNT-DOWN-0 state, the COUNT-DOWN-1 state, the COUNT-DOWN-2 state, and the COUNT-DOWN-3 state is executed. , RAM 203 key status is COUNT-DOWN-0 , COUNT-DOWN-1 state, COUNT-DOWN-2 state or of COUNT-DOWN-3 state, after rewriting the corresponding state (step S23), the control goes back to the step S13 processing.
[0028]
If it is determined in step S17 that the key is not in the COUNT-DOWN-0 state, the COUNT-DOWN-1 state, the COUNT-DOWN-2 state, or the COUNT-DOWN-3 state (step S17; No) Then, it is determined whether or not the key state is the TOUCH-A state (step S18). If the key state is the TOUCH-A state (step S18; Yes), the sound corresponding to the TOUCH-A state is generated. After executing the control process routine (step S24), the process proceeds to step S13 again.
If it is determined in step S18 that the key state is not the TOUCH-A state (step S18; No), it is determined whether or not the key state is the SOUND state (step S19), and the key state is SOUND. If it is in the state (step S19; Yes), the sound generation control processing routine corresponding to the SOUND state is executed, the key state in the RAM 203 is rewritten to the SOUND state (step S25), and then the process returns to step S13. .
If it is determined in step S19 that the key state is not the SOUND state (step S19; No), it is determined whether or not the key state is the HOLD state (step S20), and the key state is in the HOLD state. If there is any (step S20; Yes), the sound generation control processing routine corresponding to the HOLD state is executed, the key state of the RAM 203 is rewritten to the HOLD state (step S26), and the process returns to step S13.
[0029]
If it is determined in step S20 that the key state is not the HOLD state (step S20; No), it is determined whether or not the key state is the TIME-OVER state (step S21), and the key state is TIME. If the state is the -OVER state (step S21; Yes), the sound generation control processing routine corresponding to the TIME-OVER state is executed, and after the key state of the RAM 203 is rewritten to the TIME-OVER state (step S27), the process is performed. The process proceeds to step S13 again.
If it is determined in step S21 that the key is not in the TIME-OVER state (step S21; No), it is considered that the key is in the TOUCH-B state, so the tone generation control processing routine corresponding to the TOUCH-B state is executed. Then, after the key state of the RAM 203 is rewritten to the TOUCH-B state (step S28), the process proceeds to step S13 again.
[1.5] Effects of the embodiment
As described above, according to the present embodiment, an appropriate dynamic range can be obtained based on the output data of the A / D converter without increasing the number of processing bits and the storage capacity of the processing system (CPU, RAM, etc.). Can be obtained, and measurement with high accuracy can be performed.
Furthermore, since the processing of the output data of the A / D converter can be dynamically changed, only the output bit length is lengthened, and the bit area (numbered bit from the first bit) to be used in the output bit for each key. Unlike the method in which the number of bits) is selected when the automatic piano is manufactured and the bit length of the processing target data is fixed, it is possible to easily cope with aging and secular change.
[0030]
[2] Modification of embodiment
[2.1] First modification
In the above description, the case where the output bit length of the A / D converter is 10 bits has been described, but more generally, sensor data that is output data of the A / D converter at a predetermined position is set to X When the number of bits of converted sensor data that can be processed by the CPU is B1, and the number of bits of sensor data is B2 (B2 = B1 + n; n is a natural number), the sensor data X is
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (However, Z is an integer satisfying 0 ≦ Z <n)
Of the sensor data, the (Z + 1) -th to (B1 + Z) -th bit of the sensor data is used as the 0-th to (B1-1) -th bit of the converted sensor data. What is necessary is just to comprise so that a process may be performed.
[0031]
[2.2] Second modification
In the above description, the case where the output bit length of the A / D converter is 10 bits has been described. However, as in the first modification, sensor data that is output data of the A / D converter at a predetermined position is determined. Is X, the number of bits of converted sensor data that can be processed by the CPU is B1, and the number of bits of sensor data is B2 (B2 = B1 + n; n is a natural number of 2 or more). ,
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (However, Z is an integer satisfying 1 ≦ Z <n)
Of the sensor data, the (Z + 1) -th to (B1 + Z) -th bit of the sensor data is used as the 0-th to (B1-1) -th bit of the converted sensor data. It is also possible to configure to perform processing.
[0032]
[2.3] Third modification
In the above description, the data bit position to be used is shifted among the data bits constituting the output data of the A / D converter according to the rank. For example, when rank data = 0 The same effect can be obtained by shifting 2 bits to the upper bit side and shifting 1 bit to the upper bit side when rank data = 1 and always using the second to ninth bits on the CPU side. can get.
Similarly, when rank data = 0, 1 bit is shifted to the upper bit side, and when rank data = 2, 1 bit is shifted to the lower bit side, and the first to eighth bits are always shifted to the CPU side. You may make it use in.
[0033]
[2.4] Fourth modification
In the above description, only the sensor data conversion process in the case of a key has been described, but the present invention can be similarly applied to a pedal.
[2.5] Fifth modification
In the above description, the rank data is set with the predetermined position as the rest position. However, the rank data may be set in real time for each A / D interrupt process.
[2.6] Sixth Modification
In the above description, rank data is set at the time of actual operation. However, rank data can be fixedly determined in advance if a sensor with little change with time and a small individual difference can be used.
[2.7] Seventh Modification
Although the automatic piano has been described in the above description, the present invention can be applied to other keyboard instruments.
[0034]
【The invention's effect】
According to the present invention, based on the signal level range of the detection signal of the sensor output in the operating state of the key or the pedal, the data conversion is performed so that the data range of the conversion sensor data becomes a predetermined data range. Alternatively, the conversion sensor signal is detected by detecting the signal level range of the detection signal of the sensor and amplifying the detection signal by changing the amplification factor so that the signal level range of the conversion sensor signal becomes a predetermined signal level range. Therefore, sensor data or sensor output signal having an appropriate dynamic range for the bit length used in the processing system can be obtained without increasing the storage capacity of the subsequent data processing system. Become.
In addition, since the data conversion method or the gain can be changed dynamically, it is possible to easily cope with changes over time and changes over time.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a main part of an automatic piano according to an embodiment.
FIG. 2 is a block diagram illustrating a schematic configuration of a control system of the automatic piano according to the embodiment.
FIG. 3 is a diagram illustrating a configuration of a key sensor.
FIG. 4 is an explanatory diagram of a relationship between a key stroke and a reference position.
FIG. 5 is a timing chart of each process according to the embodiment.
FIG. 6 is a processing flowchart of A / D interrupt processing.
FIG. 7 is an explanatory diagram of a storage state of rank data.
FIG. 8 is a diagram for explaining a relationship between rank data and actually used data bits;
FIG. 9 is a process flowchart of a main routine.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Key, 2 ... Hammer, 3 ... Action mechanism (hammer action), 4 ... String, 5 ... Solenoid, 5P ... Solenoid pin, 6 ... Damper (sound stop mechanism), 10 ... Reproduction pre-processing part, 11 ... Motion controller , 12 ... Servo controller, 25 ... Sensor box, 26 ... Shutter, 27 ... Hammer shutter, 30 ... Performance recording unit, 31 ... Post-recording processing unit, 201 ... CPU, 202 ... RAM, 203 ... ROM, 204 ... Panel switch unit 208 ... Actuator drive circuit, 210 ... Sound source circuit, 220 ... LED driver, 221 ... Light emitting side sensor head, 222 ... Light receiving side sensor head, 223 ... A / D conversion circuit, 224 ... LED, 225 ... Photodiode, 250 ... Flexible disk driver, 251... Flexible disk.

Claims (6)

鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換装置であって、
前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
A sensor of a keyboard instrument that generates sensor data corresponding to a sensor data corresponding to an output signal of a sensor that detects an operation state of a key or pedal of a keyboard instrument, and converts the sensor data having a data bit length. A data converter,
Based on the signal level range of the detection signal of the sensor output in the operation state of the key or the pedal, the data bit of the conversion sensor data is predetermined to be less than the bit length of the data bits of the sensor data. A sensor data conversion device for a keyboard instrument, comprising data conversion means for performing data conversion using data bits having a predetermined number of bits .
請求項1記載の鍵盤楽器のセンサデータ変換装置において、前記データ変換手段は、前記鍵あるいは前記ペダルの予め定めた所定位置における前記センサデータをXとし、前記変換センサデータのビット数をB1とし、前記センサデータのビット数をB2(B2=B1+n;nは自然数)とした場合に、前記センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは0≦Z<nを満たす整数)
を満たす場合に、前記センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを前記変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
The sensor data conversion device for a keyboard instrument according to claim 1, wherein the data conversion means sets the sensor data at a predetermined position of the key or the pedal as X, and sets the number of bits of the conversion sensor data as B1. When the number of bits of the sensor data is B2 (B2 = B1 + n; n is a natural number), the sensor data X is
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (where Z is an integer satisfying 0 ≦ Z <n)
When satisfying the above, among the data bits of the sensor data, the data bits of the (Z + 1) th bit to the (B1 + Z) th bit are the 0th bit to the (B1-1) th bit of the converted sensor data. A keyboard instrument sensor data conversion device comprising bit shift means for performing bit shift processing.
請求項1記載の鍵盤楽器のセンサデータ変換装置において、前記データ変換手段は、前記鍵あるいは前記ペダルの所定位置における前記センサデータをXとし、前記変換センサデータのビット数をB1とし、前記センサデータのビット数をB2(B2=B1+n;nは2以上の自然数)とした場合に、前記センサデータXが、
(Z+B1)≦X<2(Z+B1+1) (ただし、Zは1≦Z<nを満たす整数)
を満たす場合に、前記センサデータのデータビットのうち、第(Z+1)ビット〜第(B1+Z)ビットのデータビットを前記変換センサデータの第0ビット〜第(B1−1)ビットのデータビットとするビットシフト処理を行うビットシフト手段を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
2. The sensor data conversion device for a keyboard instrument according to claim 1, wherein the data conversion means sets the sensor data at a predetermined position of the key or the pedal to X, sets the number of bits of the converted sensor data to B1, and sets the sensor data. When the number of bits of B2 is B2 (B2 = B1 + n; n is a natural number of 2 or more), the sensor data X is
2 (Z + B1) ≦ X <2 (Z + B1 + 1) (where Z is an integer satisfying 1 ≦ Z <n)
When satisfying the above, among the data bits of the sensor data, the data bits of the (Z + 1) th bit to the (B1 + Z) th bit are the 0th bit to the (B1-1) th bit of the converted sensor data. A keyboard instrument sensor data conversion device comprising bit shift means for performing bit shift processing.
請求項2または請求項3記載の鍵盤楽器のセンサデータ変換装置において、
前記ビットシフト手段は、前記各鍵あるいは前記各ペダル毎に前記Zの値に対応するランクデータを記憶するランクデータ記憶手段と、
いずれかの前記鍵あるいはいずれかの前記ペダルの動作時に前記ランクデータを読み出し、前記ビットシフト処理におけるビットシフト量を制御するシフト制御手段と、
を備えたことを特徴とする鍵盤楽器のセンサデータ変換装置。
The sensor data conversion device for a keyboard instrument according to claim 2 or claim 3,
The bit shift means; rank data storage means for storing rank data corresponding to the value of Z for each key or each pedal;
Shift control means for reading out the rank data at the time of operation of any one of the keys or any one of the pedals, and controlling a bit shift amount in the bit shift processing;
A sensor data conversion device for a keyboard instrument, comprising:
請求項2ないし請求項4のいずれかに記載の鍵盤楽器のセンサデータ変換装置において、
前記所定位置をレスト位置とすることを特徴とする鍵盤楽器のセンサデータ変換装置。
In the keyboard musical instrument sensor data conversion device according to any one of claims 2 to 4,
A sensor data conversion device for a keyboard instrument, wherein the predetermined position is a rest position.
鍵盤楽器の鍵あるいはペダルの動作状態を検出するセンサの出力信号に対応するセンサデータであって、データビットがあるビット長であるセンサデータの変換を行って変換センサデータを生成する鍵盤楽器のセンサデータ変換方法であって、
前記鍵あるいは前記ペダルの動作状態において出力される前記センサの検出信号の信号レベル範囲に基づいて、前記変換センサデータのデータビットに前記センサデータのデータビットのうちの前記ビット長未満である予め定めたビット数のデータビットを用いるデータ変換を行うデータ変換工程を備えたことを特徴とする鍵盤楽器のセンサデータ変換方法。
A sensor of a keyboard instrument that generates sensor data corresponding to a sensor data corresponding to an output signal of a sensor that detects an operation state of a key or pedal of a keyboard instrument, and converts the sensor data having a data bit length. A data conversion method,
Based on the signal level range of the detection signal of the sensor output in the operation state of the key or the pedal, the data bit of the conversion sensor data is predetermined to be less than the bit length of the data bits of the sensor data. A method for converting sensor data of a keyboard instrument, comprising: a data conversion step for performing data conversion using data bits having a predetermined number of bits .
JP30077499A 1998-10-23 1999-10-22 Keyboard instrument sensor data conversion apparatus and sensor data conversion method Expired - Fee Related JP4110691B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30077499A JP4110691B2 (en) 1998-10-23 1999-10-22 Keyboard instrument sensor data conversion apparatus and sensor data conversion method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-302950 1998-10-23
JP30295098 1998-10-23
JP30077499A JP4110691B2 (en) 1998-10-23 1999-10-22 Keyboard instrument sensor data conversion apparatus and sensor data conversion method

Publications (2)

Publication Number Publication Date
JP2000194364A JP2000194364A (en) 2000-07-14
JP4110691B2 true JP4110691B2 (en) 2008-07-02

Family

ID=26562455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30077499A Expired - Fee Related JP4110691B2 (en) 1998-10-23 1999-10-22 Keyboard instrument sensor data conversion apparatus and sensor data conversion method

Country Status (1)

Country Link
JP (1) JP4110691B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644690U (en) * 1992-11-26 1994-06-14 オージーケー販売株式会社 Bicycle front wheel mudguard

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5976362B2 (en) * 2012-03-29 2016-08-23 株式会社河合楽器製作所 Electronic keyboard instrument

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644690U (en) * 1992-11-26 1994-06-14 オージーケー販売株式会社 Bicycle front wheel mudguard

Also Published As

Publication number Publication date
JP2000194364A (en) 2000-07-14

Similar Documents

Publication Publication Date Title
JP3887968B2 (en) Keyboard instrument and key speed judgment device
JP3552366B2 (en) Music control device
US7435895B2 (en) Automatic playing system used for musical instruments and computer program used therein for self-teaching
JP3900712B2 (en) Keyboard instrument sensor calibration apparatus and sensor calibration method
US7598448B2 (en) Preliminary data producer correlating music data with actual motion, automatic player and musical instrument
US6992241B2 (en) Automatic player musical instrument for exactly reproducing performance and automatic player incorporated therein
JPH02259696A (en) Touch controller for automatic playing piano
JP4222280B2 (en) A performance information output device, a musical instrument, a method for outputting performance information, and a program for executing the method on a computer.
JP2006251633A (en) Keyboard musical instrument
JP2007292921A (en) Method and device for specifying half point of pedal of keyboard instrument
JPH10161648A (en) Keying-string hammering characteristic conforming device, drive signal-string hammering characteristic conforming device, and keyed instrument
KR100690466B1 (en) Musical instrument recording advanced music data codes for playback, music data generator and music data source for the musical instrument
JP4784057B2 (en) Musical instrument physical quantity detection apparatus, musical instrument physical quantity detection method, musical instrument physical quantity detection program, and keyboard musical instrument
JP4110691B2 (en) Keyboard instrument sensor data conversion apparatus and sensor data conversion method
JP3586882B2 (en) Automatic performance system for keyboard instruments
JP3832500B2 (en) Keyboard instrument
JP3541411B2 (en) Automatic piano
JP2001005458A (en) Keyboard instrument
JP3279307B2 (en) Keyboard instrument
US5357047A (en) Method and device for converting source piano playing data for automatic playing piano
JP3767608B2 (en) Music control device
JP3821137B2 (en) Music control device, piano with mute function, and automatic performance piano
JP3767609B2 (en) Music control device
JP2004094277A (en) Keyboard instrument
JP5657868B2 (en) Musical sound control method and musical sound control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080331

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees