JP3552366B2 - 楽音制御装置 - Google Patents

楽音制御装置 Download PDF

Info

Publication number
JP3552366B2
JP3552366B2 JP27032295A JP27032295A JP3552366B2 JP 3552366 B2 JP3552366 B2 JP 3552366B2 JP 27032295 A JP27032295 A JP 27032295A JP 27032295 A JP27032295 A JP 27032295A JP 3552366 B2 JP3552366 B2 JP 3552366B2
Authority
JP
Japan
Prior art keywords
key
state
sound
tone
time
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
JP27032295A
Other languages
English (en)
Other versions
JPH0954584A (ja
Inventor
智行 浦
力 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP27032295A priority Critical patent/JP3552366B2/ja
Priority to TW085106674A priority patent/TW366481B/zh
Priority to US08/658,700 priority patent/US5824930A/en
Priority to DE69607243T priority patent/DE69607243T2/de
Priority to EP96109082A priority patent/EP0747876B1/en
Priority to CNB961104600A priority patent/CN1155940C/zh
Priority to KR1019960020671A priority patent/KR100193780B1/ko
Publication of JPH0954584A publication Critical patent/JPH0954584A/ja
Application granted granted Critical
Publication of JP3552366B2 publication Critical patent/JP3552366B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/02Instruments in which the tones are generated by means of electronic generators using generation of basic tones
    • G10H5/04Instruments in which the tones are generated by means of electronic generators using generation of basic tones with semiconductor devices as active elements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/32Constructional details
    • G10H1/34Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
    • G10H1/344Structural association with individual keys
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/265Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors
    • G10H2220/305Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors using a light beam to detect key, pedal or note actuation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/005Device type or category
    • G10H2230/011Hybrid piano, e.g. combined acoustic and electronic piano with complete hammer mechanism as well as key-action sensors coupled to an electronic sound generator

Description

【0001】
【発明の属する技術分野】
この発明は、鍵盤楽器のキーなどの動きに応じて楽音を制御する楽音制御装置に関する。
【0002】
【従来の技術】
周知のように、近年にあっては、記録した演奏情報(あるいは外部から供給される演奏情報)に応じて自動演奏する自動演奏ピアノが各種実用化されている。この自動演奏ピアノにおいては、キーの動きを検出するためのキーセンサが設けられ、演奏記録時においてキーの挙動を検出するようにしている。
また、所定の機構を作動させることにより、ハンマーの打弦を抑制して消音させる消音ピアノも開発されているが、この消音ピアノでは、消音時にはキーの動きをキーセンサによって検出し、これにより電子的に楽音を発生するようにしている。
【0003】
ここで、図29に従来のキーセンサの構成を示す。図において、1はキーであり、下部にシャッタ2が設けられている。3はキーセンサであり、2つのフォトセンサ4a,4bを設けている。これらフォトセンサ4a,4bは、図示のように所定距離隔てて設けられており、各々は対向する発光素子からの光を受光するようになっている。
【0004】
上記構成においては、フォトセンサ4a,4bの受光状態から次の3つの状態が認識できる。すなわち、
▲1▼フォトセンサ4a,4bがともに受光状態、
▲2▼フォトセンサ4aが受光状態、フォトセンサ4bが遮光状態、
▲3▼フォトセンサ4a,4bが共に遮光状態
の3状態である。
そして、▲1▼〜▲3▼のいずれの状態に遷移したかにより、キーオンおよびキーオフが検出される。
【0005】
なお、図29には、検出箇所が2カ所ある2点センサを示したが、検出点を増やした多点センサも開発されている。この場合には、検出点の数に応じて認識し得る状態の数が増える。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した従来のキーセンサは、決まった検出位置での情報しか得られないため、位置精度が十分でないという欠点があった。さらに、キーセンサの取付位置によって検出位置が決まってしまうので、その取付精度が要求されるという問題があった。
【0007】
ところで、キーの上下動に応じたアナログ信号を出力するセンサを設け、このセンサの出力値をソフトウエアによって処理することにより、検出点の位置をしきい値として設定するピアノが開発されている(USP5001339,USP5231283)。このピアノによれば、検出点の位置はセンサ取付後に任意に設定することができるので、センサ取付精度は要求されない。
【0008】
しかしながら、上述した各従来例においては、キーがどの検出点(あるいはしきい値)を通過したか否かによって直接的に発音制御を行っているため、不自然な発音がなされることがある。
例えば、ピアノにおいては、キーをゆっくり押下してある深さまで達すると、その後さらに押下してもハンマーが打弦せず、発音されないのが通常であるが、上述した各従来装置においては、キーがある検出点(しきい値)を超えると必ず発音されてしまうという問題があった。
【0009】
また、ピアノにおいては、離鍵するとダンパーが弦を押さえて消音するが、この際、キーの操作によっては、ダンパーと弦とが触れたり離れたりし、また、その触れ方も一様ではない。したがって、楽音の減衰レートは一定ではない。一方、上述した従来装置においては、楽音のリリース時の減衰レートは一定であり、キー操作が反映されないという欠点があった。
【0010】
この発明は、上述した事情に鑑みてなされたもので、めて自然な発音制御を行うことができる楽音制御装置を提供することを目的としている。また、この発明の他の目的は、リリース時の楽音制御をより自然なものにすることができる楽音制御装置を提供することにある。
【0011】
【課題を解決するための手段】
上記課題を解決するために、請求項1に記載の発明においては、演奏操作子の位置を一定のサンプリング間隔で検出する位置検出手段と、前記位置検出手段の検出位置と複数のしきい値とを比較し、この比較結果を認識する比較結果認識手段と、前記演奏操作子が所定の状態のいずれにあるかを決定する際に、前の状態と前記比較結果認識手段の認識内容とに応じて決定する動作を繰り返す状態決定手段と、前記状態決定手段が決定した状態に基づいて楽音の制御を行う制御手段とを具備することを特徴とする。
【0012】
また、請求項2に記載の発明においては、前記状態決定手段は、前記演奏操作子が所定の状態のいずれにあるかを決定する際に、前の状態、前記比較結果認識手段の認識内容、および前の状態の継続時間に応じて決定することを特徴とする。
【0013】
請求項3に記載の発明にあっては、請求項1または2記載の楽音制御装置において、前記操作子は鍵盤楽器のキーであり、前記しきい値はキーオフ近傍の領域に複数設定され、前記制御手段は、離鍵時において前記状態決定手段が決定した状態に基づきリリースレートを制御することを特徴とする。
また、請求項4に記載の発明にあっては、請求項1または2記載の楽音制御装置において、楽音を発音する音源手段をさらに具備し、前記制御手段は、発音制御情報に基づいて前記音源手段による楽音の発音を制御し、前記制御手段は、前記状態決定手段によって前の状態とは異なる状態に決定されたとき、新たな発音制御情報を求め、求めた新たな発音制御情報が更新条件を満たした場合には、既に設定されている発音制御情報を前記新たな発音制御情報に更新し、更新後の前記新たな発音制御情報に基づいて前記音源手段による楽音の発音を制御することを特徴とする。
【0014】
(作用)
前の状態と操作子位置に応じて新たな状態が決定され、制御手段は、このように決定された状態に応じて楽音を制御する。したがって、操作子位置によって単純に楽音制御する場合にくらべ、多様で自然な制御が行われる(請求項1〜3)。
また、状態を決定する際に、前の状態の継続時間をも参照すると、よりきめ細かな状態把握を行うことができる(請求項2)。
さらに、キーオフ近傍の領域に複数のしきい値を設定してより細かな状態決定を行い、これに基づいてリリースレートを制御することにより、自然楽器のリリース状態を良好に模倣することができる(請求項3)。
【0015】
【発明の実施の形態】
A:実施形態の構成
以下、図面を参照してこの発明の実施形態について説明する。なお、この実施形態は、本発明を消音機構付きの自動ピアノに適用した例である。
図2は、本実施形態におけるキーの構造を示す側面図である。図において、10はキーであり、バランスピンBPを中心に揺動する。このキー10の下部には、板状のシャッタKSが設けられており、シャッタKSの下方にはセンサボックスSBが設けられている。センサボックスSBは、棚板11の上面に取り付けられており、キー10の位置に応じた量だけシャッタKSが進入するようになっている。
【0016】
ここで、図3はセンサボックスSBの内部を示す概略図であり、図において221は発光側センサヘッドである。この発光側センサヘッド221は、光ファイバを介してLED224から光を供給されて、直径約5mm程度の光ビームを出力する。222は、受光側センサヘッドであり、発光側センサヘッド221が照射する光ビームを受光する。その受けられた光は、光ファイバを介してフォトダイオード225へ送られ、そのフォトダイオード225は光量に応じた信号Saを出力する。
【0017】
この場合、発光側センサヘッド221から照射される光ビームは、シャッタKSの位置に応じた分だけ遮蔽されるようになっており、この結果、受光側センサヘッド222の受光量はシャッタKSの位置、すなわち、キー10の位置に応じて変化する。したがって、フォトダイオード225の出力信号Saは、キー10の位置を反映するアナログ値となり、例えば、図4に示すような特性となる。なお、この図においてレスト位置とは、キー10の初期位置であり、また、エンド位置とはキー10を押し切った位置である。
ところで、図1、図2および図5に示すSOLは、ソレノイドであり、励磁されるとプランジャP・SOLが突出してキー10の右端側(演奏者に対して奥側)を押し上げ、演奏者による押鍵と同様の鍵動作を行わせる。
【0018】
次に、図5は、この実施形態におけるピアノアクションの構成を示す側面図である。本実施形態においては、押鍵に応じた打弦を行う通常演奏モードと、押鍵があっても打弦を抑止して弦から発音させない消音演奏モードとがあり、以下、図5を参照して、各モードにおけるピアノアクションの動作について説明する。
【0019】
(1)通常演奏時の動作
押鍵が行われると、ウイペン23はキャプスタン12によって突き上げられ、ピン22aを中心として時計回りに回動する。これにより、ジャック大26aがバット41を突き上げてハンマーアッセンブリ40(バット41、ハンマー44、キャッチャー46等からなる)を時計回りの方向へ回転させ、ハンマー44が弦Sを打撃する。この打弦操作時において、ジャック26は、その回動途中にジャック小26bがレギュレーティングボタン34に当接することにより、時計方向への回動が阻まれる。一方、ウイペン23は回動を継続しているため、ジャック26は、レギュレーティングボタン34を支点としてウイペン23に対して反時計方向へ相対的に回動し、これにより、ジャック大26aの上端面がバット41の下面から図中左方向へ逃げ、バット41との非当接位置に移動する。そして、ハンマー44による打弦後のハンマーアッセンブリ40の回動復帰の動作は、キャッチャー46がバックチェック38に当接することにより一時的に停止され、その間にジャック26は、キー10の復帰動作に伴うウイペン23の回動復帰に連動し、ジャック大26aの上端部は再びバット41の下部に入り込み、次の打弦動作を可能にする。
【0020】
(2)消音演奏時の動作
次に、消音演奏状態にするには、所定の操作を行ってストッパー66を実線で示す水平状態から回転させて下方へ向けて鎖線で示す状態にする。本実施形態においては、ストッパー66はアクチュエータ77(図1参照)によって駆動されるが、これに代えて、ストッパー66に連動するレバーやペダルを設けておき、これらを操作することによってストッパー66を回転させてもよい。また、本実施形態においては、ストッパー66は、キャッチャー46の回動を阻止することで、ハンマーアッセンブリ40全体の回動を阻止するようにしているが、ハンマーアッセンブリ40の他の部分を阻止することでハンマーアッセンブリ40全体の回動を阻止するようにしてもよい。
【0021】
さて、ストッパー66が回転した状態で押鍵が行われると、ウイペン23はキャプスタン12によって突き上げられ、ピン22aを中心として時計回りに回動する。これにより、ジャック大26aがバット41を突き上げてハンマーアッセンブリ40を時計回りの方向へ回転させる。次に、ジャック小26bがレギュレーティングボタン34に当接することにより、ジャック大26aの上端面がバット41の下面から図中左方向に逃げる。その間、ハンマーアッセンブリ40は慣性力で回動を続けるが、弦Sに当たる手前でキャッチャー46がストッパー66に当接し、反時計回りの方向へ跳ね返される。その後のハンマーアッセンブリ40等の復帰動作は通常演奏の場合と同様である。なお、消音演奏時においては、電子的に楽音が形成されるが、これについては後述する。
上述した通常演奏時および消音演奏時における押鍵は、演奏者による押鍵であっても、また、ソレノイドSOLによる押鍵であっても、全く同様の動作となる。
【0022】
次に、図1は、本実施形態の制御回路の構成を示すブロック図である。図において、201は装置各部を制御するCPUであり、202はプログラムや各種テーブルが記憶されているROMである。203は各種データが一時記憶されるワーキングエリアや、各種処理に用いられるテーブルが設定されているRAMである。
204は種々のスイッチが設けられているパネルスイッチ部であり、この中には前述した通常演奏と消音演奏を切り換えるための通常/消音切替スイッチSWが設けられている。ここで、通常/消音切替スイッチSWが押されると、そのスイッチ信号がCPU201に検出され、この結果、CPU201はアクチュエータ駆動回路208を制御してアクチュエータ77を回動させる。これにより、ストッパー66が図5に示す鎖線の位置に移動し、消音演奏モードになる。そして、通常/消音切替スイッチSWを再び押すと、CPU201はアクチュエータ駆動回路208を制御して、アクチュエータ77を反対方向に駆動させる。この結果、ストッパー66は図5に示す実線位置に戻り、通常演奏モードになる。このように、通常/消音切替スイッチSWを押す毎に、通常演奏モードと消音演奏モードとが交互に切り替わる。
【0023】
次に、210は音源回路であり、CPU201から供給されるキー番号(キーコードともいう)、ベロシティ(押鍵の強さに対応したデータ)、キーオン信号KON、キーオフ信号KOFおよびリリースレートRL等に基づいてピアノ音の楽音信号を生成し、スピーカSPまたはヘッドホンHHに供給する。
この場合、キーオン信号KONが供給されると、アタック、ディケイ、サステインの各部分のエンベロープ制御を行い、さらに、リリース期間のエンベロープ制御としてリリースレートRLに基づく減衰制御を行う。なお、楽音信号の振幅(音量)は、ベロシティKVに基づいて制御される。
また、音源回路210は、16個の発音チャンネルを有しており、これにより、16音の同時発音が可能になっている。
【0024】
次に、223は、前述したフォトダイオード225(図3参照)の出力信号をデジタル信号に変換するA/D変換器であり、その出力信号はCPU201に読み取られるようになっている。本構成では、センサマトリックス方式が採用されており、12個のLED224と8個のフォトダイオード225を使って88鍵分のデータ(88<12×8)を読み取るようになっている。すなわち、12個のLED224は、各々8個の発光側センサヘッド221に接続されており、また、各発光側センサヘッド221に対応する受光側センサヘッド222は、各々フォトダイオード225に接続される。この時、1つのフォトダイオードが12個の受光側センサヘッドを受け持つように接続される。
そして、ある1つのLEDだけを点灯させ、その時の8個のフォトダイオードの出力を読み、次に、また別のLEDを1つだけ点灯させて8個のフォトダイオードの出力を読むというように順次データを獲得する。また、本構成ではハードウエアの制約から、一度に4個のフォトダイオードの出力をA/D変換するようになっている。これら受発光センサヘッド221、222、LED224、およびフォトダイオード225等でフォトセンサを構成している。
【0025】
CPU201は、A/D変換器223によってデジタル値に変換された各キーの位置情報に基づいて各キーの状態を認識し、これに基づいて、ベロシティ、キーオン信号KON、キーオフ信号KOFおよびリリースレートRLを生成する。また、CPU201は、スキャン操作に応じて、いずれのキーについての位置情報かを認識し、これに基づいてキー番号KNを出力する。
【0026】
次に、250はFDドライバであり、フロッピーディスク251に対して、演奏情報の書込/読出を行う。この場合の演奏情報は、前述したベロシティ、キー番号KN、キーオン信号KON、キーオフ信号KOFおよびリリースレートRLであり、MIDI情報に変換されて書き込まれる。また、フロッピーディスク251から読み出された演奏情報は、RAM203に一旦格納された後、楽曲の進行に応じて読み出され、ソレノイド駆動回路260に供給される。ソレノイド駆動回路260は、演奏情報に応じたソレノイド駆動信号を作成し、ソレノイドSOLに供給する。これによって、各キー毎に設けられているソレノイドSOLが駆動され、演奏情報に基づいた自動演奏が行われる。
【0027】
B:実施形態の動作
(1)しきい値設定動作
次に、上述した構成によるこの実施形態の動作について説明するが、始めに、キーストロークの所定位置に設定されるしきい値について説明する。
この実施形態においては、しきい値を超えたことが検出された時刻や位置に基づいて、後述するキー・ステートの決定やベロシティの決定などが行われる。また、この実施形態においては、キー・ステートに基づいて、楽音制御が行われるようになっており、このため、しきい値の設定は極めて重要な事項となる。
【0028】
ここで、しきい値には、図6に示すように、レスト位置からエンド位置へ向けて順次設定されるK1〜K4と、しきい値K2とK3との間に設定されるK2Aとがある。上述したしきい値K1〜K4およびK2Aは、キー・ステートの決定に用いられ、特に、しきい値K2Aは、リリース時におけるエンベロープ制御にも用いられる。なお、図6に示す曲線C1は、一般的なキー軌跡の一例である。
【0029】
始めに、装置に電源が投入されると、CPU201は、各レジスタやRAM203を初期化し、また、割込処理を許可した後に、以下のようなしきい値設定動作を行う(図17のステップSP1,2参照)。
まず、CPU201は、A/D変換器223によってデジタルデータに変換されたフォトダイオード225の出力信号を、4キー分ずつ受け取る。ここで、CPU201は、4キー分ずつのA/D変換情報を、第0〜第23の検出チャンネルのデータとして受け取る。なお、この実施形態のキー数は88鍵であるから、実際には第0〜第21の検出チャンネルを設定すれば足りるが(22×4=88)、ハードウエアの関係から0〜95を1周期とするため、第0〜第23の検出チャンネルが設定されている。
【0030】
さて、電源投入直後においては、全てのキーは押されていない状態にあるから、CPU201が受け取るデータは、全て各キーのレスト位置のデータとなる。次に、CPU201は、各キーのレスト位置に対して所定の演算を行い、しきい値K1〜K4およびK2Aを算出する。
【0031】
この実施形態の場合は、レスト位置データをXrとした場合に、所定の係数ri(i=1〜4および2A)を乗算することによって各しきい値を得る。すなわち、
K1=Xr×r1
K2=Xr×r2
K3=Xr×r3
K4=Xr×r4
K2A=Xr×r2A
という演算によって各しきい値が求められる。各係数r1〜r4およびr2Aは、キーの状態を識別するのに適した値が実験等によって求められ、例えば、白鍵と黒鍵のそれぞれについて、実験値の平均が設定される。
【0032】
以上の演算によって求められた各しきい値は、RAM203の所定エリアに記憶される。ここで、図7に、RAM203内に設定されているキー情報用のテーブルを示す。この図においてはマトリックス状に表示してあり、横方向にはキー番号が示されている。ただし、実際のキーは第0番から第87番までであるが、各キーの現在位置を示すKEY−POSの行(詳細は後述)には、ハードウエアの関係上、第95番までのキー番号が付されている。
【0033】
また、図に示すKEY−RSTの行は、キーのレスト位置情報が記憶される行であり、上述した処理によってCPU201が読み取った各キーのレスト位置情報は、対応するキー番号のエリアに記憶される。同様に、THR−K1、THR−K2、THR−K3、THR−K4およびTHR−K2Aの行は、各々しきい値K1,K2,K3,K4およびK2Aを記憶する行であり、上述の演算によって求められた各しきい値が、対応するキー番号のエリアに記憶される。
また、KEY−STATEの行は、キー・ステート(キーの状態)が記憶される行であり、また、TBL−NUMはテーブルナンバーが記憶される行である。テーブルナンバーとは、押下されたキーについての発音を制御するための発音制御テーブルのナンバーである。この実施形態においては、音源回路210の16個の発音チャンネル(同時発音可能チャンネル)に合わせて、第0〜第15の発音制御テーブルが用意されている。すなわち、発音制御テーブルによって指示された発音情報が、16個の発音チャンネルに適宜割り当てられて発音される。
【0034】
ここで、図8に発音制御テーブルの内容を示す。この発音制御テーブルは、RAM203内の所定エリアに設けられ、後述する処理によってその内容が適宜書き込まれるようになっている。また、図8においてはマトリックス状に表示してあり、横方向にはテーブル番号が示されている。そして、KEY−NUMの行には、テーブルが割り当てられたキーの番号が書き込まれ、OVR−K1〜OVR−K3には、しきい値K1〜K3を越えたときのキーの位置が各々書き込まれるようになっている。同様にして、OVK1−TIM〜OVK3−TIMの行には、しきい値K1〜K3を越えたときの時刻(検出時刻)が書き込まれるようになっている。この実施形態においては、各キーの位置情報は、所定のタイミングで検出するようにしており(図13参照)、このため、各キーがしきい値に達するタイミングと検出タイミングとが一致するとは限らない。そこで、上述のように、各キーがしきい値を越えたときの位置と時刻とを対にして記憶するようにしている。また、上述の時刻データは、2バイトのデータ長になっている。
【0035】
(2)ベロシティの基本演算
次に、図8に示すVELOCITYの行には、ベロシティ(押鍵速度に対応)が書き込まれる。この場合のベロシティの基本的な算出は、以下のようにして行われる。
【0036】
まず、あるしきい値Ki(i=1〜3)を超えたときのキー位置をd1とし、それより大きいしきい値Kj(j=2〜4,j>i)を超えたときのキー位置をd2とする。また、これらのしきい値を超えたときの時刻を各々t1、t2とすると、CPU201においては、まず、以下の計算を行う。
(d1−d2)×2÷(レスト位置データ)×2=(正規化された変位)
ここで、d1−d2はキーの移動距離(変位)である。d1からd2を減算しているのは、キー位置データがレスト位置からエンド位置に向かって小さくなるように出力されるからである。また、レスト位置データで除しているのは、各キーのレスト位置のばらつきを正規化するためであり、2を乗じているのは時刻データのバイト数(2バイト)と合わせるためである。
以上のようにして、正規化された変位が演算されると、これを時刻データの差(移動時間)で除して速度を求める。すなわち、次の演算を行う。
(正規化された変位)÷(t2−t1)÷2=(速度データ)
なお、この演算において2で除しているのは、データ長を再び1バイトに戻すためである。
【0037】
次に、CPU201は、以上のようにして求められた鍵の速度を表す速度データを、図11に示すテーブルTB2を参照してハンマーの打弦速度を表すハンマーベロシティに変換する。テーブルTB2は、速度データxに対し、所定の演算に従う変換曲線によって、キーについての速度データをMIDI規格によるハンマーベロシティに変換するとともに、フォトセンサの非線形特性を補正する。実際には、これら2つの変換を同時に行うような変換曲線が設定されている。この場合、このテーブルTB2は、ROM202内に設定されている。
【0038】
次に、図11に示すテーブルTB3−2〜TB3−4は、各々ダウンカウント値出力テーブルであり、テーブルTB2が出力するベロシティに基づき、当該ベロシティでハンマーが運動を続けた場合の打弦までの時間データ(ダウンカウント値)を出力する。打弦までの時間は、キー速度を算出したときの位置、すなわち、どのしきい値を通過していたかによって異なる。このため、上述のd2がどのしきい値を超えたときのデータであるかによって、ダウンカウント値出力テーブルTB3−2〜TB3−4のいずれかが選択される。すなわち、しきい値K2、K3、K4に対応して、ダウンカウント値出力テーブルTB3−2、TB3−3、TB3−4が適宜選択される。
【0039】
さて、テーブルTB2から出力されるベロシティおよびダウンカウント値出力テーブルTB3−2〜TB3−4から出力されるダウンカウント値は、各々図8に示すVELOCITYおよびDWN−CNTRの行に書き込まれる。この場合、ベロシティは、キーが新たなしきい値を通過すると再計算されるが(詳細は後述)、再計算によるベロシティの方が大きい場合にのみ、該当するエリアの値が更新される。また、ダウンカウント値は、所定の周期でダウンカウントされ、その値が「0」になると、そのキーについてのキー番号とベロシティが音源回路210に供給されて発音されるようになっている。
【0040】
(3)各種処理ルーチンの関係
次に、各種処理ルーチンについて説明するが、始めに、各ルーチンの時間的な関係について説明する。この実施形態においては、メインルーチン(分岐するルーチンを含む)、A/D割込みルーチンおよびタイマ割込みルーチンがあり、それぞれのタイミング的関係は、図12に示すようになっている。ここで、同図に示す(ロ)がメインルーチンの処理タイミングである。メインルーチンは、発音制御における主な処理を行うルーチンであり、大半の処理はここにおいて行われる。
【0041】
次に、同図(イ)は、タイマ割込みルーチンであり、100μs毎に割込で起動される。このルーチンは、時間計測に用いられるタイマ値を更新する処理や、上述したダウンカウント値を減算する処理を行う。また、同図(ハ)は、A/D割込みルーチンであり、約1msec毎に割込で起動される。このA/D割込みルーチンは、フォトダイオード225の出力信号を4キー分ずつ読み込む処理を行う。前述のタイマ割込み処理ルーチンとA/D割込み処理ルーチンとが競合する場合は、タイマ割込み処理ルーチンが優先される。これはタイマ割込み処理ルーチンが所定周期で起動されないと、タイマの値に誤差が生じるからである。
なお、図12は、各処理ルーチンの動作タイミングを模式的に示すもので、それらの処理時間の割合を示すものではない。以下、各処理について、順次詳細に説明する。
【0042】
(4)タイマ割込み処理
図14はタイマ割込み処理を示すフローチャートである。まず、図に示すステップSPa1においては、タイマの値を1増加させる。この場合、タイマはCPU201内のレジスタによって構成されている。すなわち、図10に示すCPU201内のレジスタセットのうち、レジスタE6がタイマとして機能する。
【0043】
ここで、図10に示す各レジスタについて説明すると、図示のように、En(n=0〜6)、RnH(n=0〜6)、およびRnL(n=0〜6)の合計21個が設定されている。これらのうち本実施形態で特に機能を決めて使用しているのは、上述のレジスタE6(タイマ)の他、以下の6つである。
【0044】
まず、メインルーチン(詳細は後述)に関連して、レジスタE5にはA/D変換の時刻が書き込まれ、レジスタR3Hにはキー・ステート(キーの状態)が書き込まれ、レジスタR3Lにはキーの現在位置が書き込まれ、レジスタR4Lにはテーブル番号が書き込まれ、レジスタR5Lにはキー番号が書き込まれる。そして、レジスタR6LにはA/D変換を行うチャンネルが書き込まれる。なお、その他のレジスタは、汎用レジスタとして使用される。
【0045】
さて、ステップSPa1の処理は、タイマ割込みが起動される毎に行われるから、タイマ値は100μ毎に1つずつ増加する。したがって、タイマ値は、現在時刻を示す値となる。
次に、ステップSPa2に進み、タイマ値が8の倍数であるか否かが判定される。この判定が「NO」の場合はそのままメインルーチンへ復帰し、「YES」の場合はステップSPa3へ進む。この場合、ステップSPa2の判定は、800μs毎に「YES」となる。
【0046】
次に、ステップSPa3においては、図8に示す各発音制御テーブルのダウンカウント値(DWN−CNTRの行の各値)を各々1減算し、減算後の値が0の発音制御テーブルがあれば、音源回路210に対応するMIDI信号を出力する。すなわち、ダウンカウント値が0となったキーに対応するベロシティ、キー番号KNおよびキー音信号KONを音源回路210の空きチャンネルに出力する。この結果、音源回路210はキー番号KNに応じた音高で、かつ、ベロシティに応じたエンベロープを有する楽音を発生する。
【0047】
また、ステップSPa3においては、ダウンカウント値が0になったキーについては、そのキー・ステートをSOUNDにし、図7に示すKEY−STATE行の該当エリアを書き換える。さらに、そのキーについてのテーブル番号(図7に示すTBL−NUM行に書かれる番号)をクリアし、発音制御テーブルを解放する。すなわち、今まで当該キーが使用していた発音制御テーブルを解放し、他のキーの使用を許可する。ここで、キー・ステートがSOUNDであるということは、そのキーについては発音がなされていることを意味する。
【0048】
次に、ステップSPa4に進み、タイマ値が8192の倍数か否かが判定される。この判定が「NO」の場合は、メインルーチンに復帰し、「YES」の場合はステップSPa5に進む。この場合、ステップSPa4は、819.2ms毎に「YES」となる。
そして、ステップSPa5においては、第0〜第15の各発音制御テーブル毎に設けられたタイムオーバー検知用カウンタを各々1増加させる。タイムオーバー用カウンタは、RAM203内に設定されており、そのカウント内容に基づいてキー・ステートがtime overか否かが判断される。この場合、time overとは、キー・ステートが所定時間以上継続したことを示す。なお、タイムオーバーカウンタについては、図示を省略する。
【0049】
(5)A/D割込み処理
次に、A/D割込み処理について図13を参照して説明する。A/D変換器223は、CPUの動きと並行して動作しており、4キー分のA/D変換が終わると割込み要求を発生し、これによりCPUは、A/D割込み処理を開始する。まず、ステップSPb1においては、A/D変換処理を停止させ、また、次のチャンネルのLED224を点灯させる。
【0050】
次に、ステップSPb2へ進み、4キー分の位置データを、図7に示すKEY−POS行の対応するエリアに書き込む。また、タイマ値(レジスタE6の値)を図9に示すテーブル(KEY−TIM行のみ)に書き込む。この場合の書き込みは、現在読み込んだ検出チャンネル番号に対応するエリアに行われる。図9に示すテーブルは、各検出チャンネルについての検出時刻(A/D変換時刻)を記憶するテーブルであり、RAM203内に設けられている。
【0051】
次に、ステップSPb3に進み、検出チャンネルの番号を1インクリメントし(ただし、「23」の次は「0」)、A/D変換をスタートさせて、メインルーチンに復帰する。ここで、上記処理におけるA/D変換のスタート/ストップのタイミングについては、図12の(ハ)、(ニ)に示す。
【0052】
(6)メインルーチン
次に、メインルーチン(分岐されるルーチンを含む)について説明する。このメインルーチンにおいては、キー・ステートを適宜設定する処理が行われるので、理解のために、まず、キー・ステート設定の概略について説明する。
【0053】
図15は、キーの軌跡の一例を示す図であり、図においては、時刻t1においてレスト位置にあったキーが時刻t2,t3,t4,t5において、それぞれしきい値K1,K2,K3,K4を通過し、時刻t6においてエンド位置に達している。このような軌跡は、一般的な押鍵の軌跡である。そして、この実施形態における原則的なキー・ステートは、キーがレスト位置からしきい値K1の間にあるときにUPPER、しきい値K1を超えるた場合にTOUCH−A、しきい値K2を超えた場合にCOUNT−DOWN−0、しきい値K3を超えた場合にCOUNT−DOWN−1、しきい値K4を超えた場合にCOUNT−DOWN−2としている。また、発音がなされた場合のキー・ステートは、前述のようにSOUNDとする。
【0054】
また、時刻t6からt7においてエンド位置にあったキーが離鍵され、時刻t8,t9,t10においてしきい値K4,K3,K2を通過した場合は、しきい値K2を通過するまではキー・ステートはSOUNDを維持し、しきい値K2を通過した後にキーオフされてキー・ステートがHOLDになる。すなわち、離鍵過程にあるキーが、しきい値K2を通過したときは、キー・ステートはHOLDとなる。
【0055】
また、時刻t10でHOLDとなったキーが、その後、レスト位置に戻ることなく再び押下されてしきい値K2を超えると、キー・ステートはTOUCH−Bとなる。一方、TOUCH−Bとなったキーが、その状態を所定時間以上維持すると、キー・ステートはTIME−OVERとなる。
また、押鍵速度が早い場合には、キー位置のサンプリング間隔において、2以上のしきい値を通過することがあり、この場合のキー・ステートはCOUNT−DOWN−3としている。図16は、このような押鍵があった場合の軌跡を示しており、この軌跡において、前回のサンプリングにおけるキー位置が点P1であり、今回のサンプリングにおけるキー位置が点P2であることが検出されると、COUNT−DOWN−3となる。同様に、前回サンプリング位置がP3で、今回サンプリング位置がP4の場合も、キー・ステートはCOUNT−DOWN−3となる。
【0056】
以上がこの実施形態におけるキー・ステート設定の概略であるが、実際には前のキー・ステートやその継続時間などによって適宜決定される。上述の説明はあくまで原則的なものである。次に、各処理ルーチンについて説明する。
【0057】
a:メインルーチン
図17は、メインルーチンの処理内容を示すフローチャートであり、電源が投入されると、ステップSP1の初期化およびステップSP2におけるしきい値計算処理が行われる。なお、これらの処理内容については、前述した「しきい値設定動作」の項において説明したので省略する。
【0058】
次に、ステップSP3に進むと、図10に示すレジスタR5Lに1を加える。ただし、レジスタR5Lの内容が「87」であれば0にする。すなわち、レジスタR5Lは、これから処理を行おうとするキーのキー番号が書き込まれるレジスタであり、0〜87までを循環する必要があるため、ステップSP3において歩進するようにしている。
【0059】
次に、ステップSP5に進み、レジスタR5Lが示すキーについてのA/D変換された位置データおよびA/D変換時刻をRAM203のテーブルのKEY−POS行(図7参照)およびKEY−TIM行(図9参照)から読み込み、レジスタR3LおよびE5に各々書き込む。この場合、前述したA/D割込み処理によって各テーブルには所定のデータが書き込まれている。そして、ステップSP6に進み、図7に示すKEY−STATE行から当該キーのキー・ステートを読み出し、図10に示すレジスタR3Hに書き込む。
【0060】
次いで、ステップSP7〜SP12においては、レジスタR3Hに書き込まれたキー・ステートがUPPERか、COUNT−DOWNか(COUNT−DOWN1〜3のいずれかか)、TOUCH−Aか、SOUNDか、HOLDか、あるいはTIME−OVERかが判断され、「YES」であれば、それぞれに対応したステップ(分岐ルーチン)SP13,14,15,16,17あるいはSP18に進む。また、ステップSP7〜12の全てにおいて「NO」と判断された場合は、そのキー・ステートはTOUCH−Bであるので、ステップSP19に進んでTOUCH−Bルーチンに入る。
そして、各分岐ルーチンであるステップSP13〜SP19のいずれかに進んだ後、それらの処理が終了すると、再び、ステップSP3に戻り、レジスタR5L内のキー番号を更新し、次のキーについて上述の処理を行う。このように、各キーについて、順次そのキー・ステートに対応した処理が行われる。次に、各分岐処理について説明する。
【0061】
b:UPPERルーチン
図18はUPPERルーチンの処理内容を示すフローチャートであり、ステップSPc1においては、レジスタR3Lのキー位置データがそのキーのしきい値K1を超えたか否かが判定される。この判定が「NO」の場合は、メインルーチンに戻り、ステップSP3に進んで次のキーについての処理を開始する。これは、当該キーについては、キー・ステートUPPERのまま変化しておらず、特に処理を行う事項がないからである。
【0062】
一方、ステップSPc1の判定が「YES」の場合は、ステップSPc2に進んで、発音制御テーブルの確保を行う。すなわち、キーが押されたと認識し、発音制御のための準備を開始する。ここで、テーブルの空きがあれば、当該テーブル番号をレジスタR4Lに書き込んでステップSPc3に進むが、空きテーブルがない場合は、メインルーチンに戻る。これは、本実施形態においては、16音まで同時発音可能にしているが、16の発音制御テーブルが全て使用中であれば、それ以上の発音制御は不可能だからである。
【0063】
次に、ステップSPc3においては、レジスタR3L内のキー位置データが、しきい値K2を超えたか否かが判断される。この判定が「NO」の場合は、キーがしきい値K1だけを超えた場合であり、キー・ステートがUPPERからTOUCH−Aに変化した場合である。そこで、ステップSPc4に進み、図7に示すKEY−STATE行の該当するエリアをUPPERからTOUCH−Aに書き換える。また、ステップSPc4においては、そのキーが割当てられた発音制御テーブルに対応するタイムオーバー検知用のカウンタをクリアするとともに、レジスタR3L内のキー位置データおよびレジスタE5にある時刻データを、図8に示す発音制御テーブルのOVR−K1行およびOVK1−TIM行の当該キー番号のエリアに書き込む。これにより、当該キーについて、しきい値K1を超えたときの位置と時刻が記憶される。
【0064】
一方、ステップSPc3の判定が「YES」の場合は、サンプリング間隔内において、しきい値K1とK2を一度に超えた場合である(図16のP1,P2参照)。そこで、ステップSPc5に進み、図7に示すKEY−STATE行の該当するエリアをUPPERからCOUNT−DOWN−3に書き換える。また、キー・ステートがCOUNT−DOWN−3の場合は、キーが最高速度で押されたと判断して、ベロシティとしての最高値「7F」をVELOCITY行(図8参照)の該当するエリアに書き込み、さらに、このベロシティを基にダウンカウント値を求め、DWN−CNTR行の該当するエリアに書き込む。この場合、ダウンカウント値は、前述したTB3−2(図11参照)を用いて求められるが、ベロシティはテーブルTB2を用いずに予め設定された最高値を設定する。
上述したステップSPc4またはSPc5の処理の後はメインルーチンにリターンし、次のキーについての処理を開始する。
【0065】
c:TOUCH−Aルーチン
図19は、TOUCH−Aルーチンの処理内容を示すフローチャートである。先ず、ステップSPd1においては、time overか否かが判断される。この判断は、タイムオーバー検知用カウンタの値が予め定められた所定値を超えたか否かによって判断される。タイムオーバー検知用カウンタは、図14に示すステップSPa5においてタイマ割込み処理毎に歩進されるので、所定値に達する前にリセットされないとタイムオーバーとなる。そして、ステップSPd1の判定が「YES」の場合には、ステップSPd2に進み、獲得していた発音制御テーブルを解放するとともに、図7に示すKEY−STATE行の該当するエリアをTOUCH−AからHOLDに書き換えてメインルーチンにリターンする。
【0066】
このように、ステップSPd1→SPd2と移行するときは、TOUCH−Aの状態が所定時間以上継続する場合であり、キーが浅く押された位置で長時間止まっている状態と認識される。このような押鍵操作は、そのキーに指を乗せているだけで、しばらく押鍵されない可能性が高いので、この実施形態においては、上述のように、発音制御テーブルを解放して当該キーの発音準備を解除し、他のキーの発音処理を優先させるようにしている。なお、キー・ステートがHOLDとなった場合でも、その状態からキーを押下すれば、後述する処理によって発音される。
【0067】
一方、ステップSPd1において「NO」と判定された場合は、ステップSPd3に進み、しきい値K3を超えたか否かが判定され、「NO」であれば、ステップSPd4に進んでしきい値K2を超えたか否かが判定される。この判定が「YES」であれば、キーがしきい値K2を超えた場合であり、キー・ステートがTOUCH−AからCOUNT−DOWN−0に変化した場合である。そこで、ステップSPd5に進み、図7に示すKEY−STATE行の該当するエリアをTOUCH−AからCOUNT−DOWN−0に書き換える。また、ステップSPd5においては、レジスタR3L内のキー位置データおよびレジスタE5にあるA/D変換の時刻データを、図8に示す発音制御テーブルのOVR−K2行およびOVK2−TIM行の当該キー番号のエリアに書き込む。これにより、当該キーについて、しきい値K2を超えたときの位置と時間が記憶される。また、ステップSPd5に至る場合は、図18に示すステップSPc4を経過しているから、しきい値K1を超えたときの位置と時刻がRAM203のテーブルに記憶されている。そこで、ステップSPd5においては、前述した数式に基づいて速度データを算出し、かつ、図11に示すテーブルTB2を用いてベロシティを求める。また、テーブルTB3−2を用いてダウンカウント値を求め、ベロシティとともに発音制御テーブル(図8参照)の所定エリアに書き込む。
【0068】
一方、ステップSPd3において、「YES」と判定された場合は、サンプリング間隔内において、しきい値K2とK3を一度に超えた場合である(図16のP3,P4参照)。そこで、ステップSPd6に進み、図7に示すKEY−STATE行の該当するエリアをTOUCH−AからCOUNT−DOWN−3に書き換える。また、ベロシティとしての最高値「7F」をVELOCITY行(図8参照)の該当するエリアに書き込み、さらに、このベロシティを基にダウンカウント値を求め、DWN−CNTR行の該当するエリアに書き込む。この処理は、前述したステップSPc5と同様である。
【0069】
一方、ステップSPd4において「NO」と判断された場合は、ステップSPd7に進み、キーがしきい値K1を超えているか否かが判定される。この判定が「YES」の場合は、キーはいぜんとしてTOUCH−Aの状態を維持している場合であるから、何もせずにメインルーチンに戻る。また、ステップSPd7において「NO」と判定された場合は、ステップSPd8に進み、獲得していた発音制御テーブルを解放するとともに、図7に示すKEY−STATE行の該当するエリアをTOUCH−AからUPPERに書き換えてメインルーチンにリターンする。
【0070】
このように、ステップSPd8に至るときは、TOUCH−AからUPPERに戻る場合であり、言い換えれば、キーが浅く押された直後に離された場合である。このような押鍵操作では、通常のピアノでは発音されないので、この実施形態においては、上述のように、発音制御テーブルを解放して当該キーの発音準備を解除し、他のキーの発音処理を優先させるようにしている。
【0071】
d:COUNT−DOWNルーチン
次に、COUNT−DOWNルーチンについて図20を参照して説明する。まず、ステップSPe1においては、キー位置(レジスタR3L内のキー位置データ)がしきい値K2を超えているか否かが判定される。この判定が「NO」の場合には、しきい値K2を一旦超えたキーが戻された場合であるので、発音準備を停止すべく、ステップSPe2に移って発音制御テーブルを解放する。そして、ステップSPe3において、キーがしきい値K1を超えているか否かが判定され、「NO」であれば、レスト位置かそれに近い位置まで戻された場合であるから、ステップSPe4に進んでキー・ステートをUPPERとする。すなわち、図7に示すKEY−STATE行の該当するエリアをCOUNT−DOWN(0〜3)からUPPERに書き換える。
【0072】
また、ステップSPe3において「YES」と判定された場合は、ステップSPe5に進んで、KEY−STATE行の該当するエリアをCOUNT−DOWN(0〜3)からHOLDに書き換える。
一方、ステップSPe1において「YES」と判定された場合には、ステップSPe6に進み、COUNT−DOWN−2,3か否かが判定される。この判定が「YES」の場合には、以下の処理を行わず、そのままリターンする。ステップSPe6の判定が「NO」の場合には、ステップSPe7に進み、レジスタR3L内のキー位置データがしきい値K3を超えたか否かが判断される。この判断が「NO」の場合は、キーはしきい値K2〜K3の間にある場合なので、いぜんとして図19のステップSPd5で設定したキー・ステートCOUNT−DOWN−0のままであると認識されるので、何の処理も行わずリターンする。
【0073】
一方、ステップSPe7において「YES」と判定された場合は、ステップSPe8に進んでしきい値K4を超えたか否かが判定される。このステップSPe8において「NO」と判定された場合は、ステップSPe12に進み、キー・ステートがCOUNT−DOWN−0か否かが判定される。この判定が「YES」の場合は、キーがしきい値を一つ超えてCOUNT−DOWN−1に移行したと考えられるので、ステップSPe13に移って、キー・ステートをCOUNT−DOWN−1に変更するとともに、しきい値K1、K3を超えたときの位置および時刻に基づいてベロシティおよびダウンカウント値を求める。そして、新たに求めたベロシティが、発音制御テーブルに記憶されているベロシティより大きければ、新たに求めたベロシティおよびダウンカウント値に書き換える。これは、キーの押下が加速されたと認識されるので、それに対応させるためである。
【0074】
なお、ステップSPe13における演算において、しきい値K1を超えた場合の位置および時刻は、発音制御テーブルから得るが、しきい値K3を超えたときの位置および時刻は、現在位置および時刻であるから、レジスタR3L、E5(図10参照)から読み出す。
また、ステップSPe12において「NO」と判定された場合は、既に設定されたCOUNT−DOWN−1がそのまま維持されていると考えられるので、直ちにリターンする。
【0075】
一方、ステップSPe8において「YES」と判定された場合は、キー・ステートがCOUNT−DOWN−0か否かが判定される。この判定が「YES」のときは、サンプリング期間の間に、2つのしきい値K3,K4を超えた場合であるから、ステップSPe10に進んでキー・ステートをCOUNT−DOWN−3に更新し、最大ベロシティおよびこれに対応するカウントダウン値を発音制御テーブルに書き込む。
【0076】
また、ステップSPe9において「NO」と判定された場合には、ステップSPe11に進み、キー・ステートをCOUNT−DOWN−2に更新するとともに、しきい値K2、K4を超えたときの位置および時刻に基づいてベロシティおよびダウンカウント値を求める。そして、新たに求めたベロシティが、発音制御テーブルに記憶されているベロシティより大きければ、新たに求めたベロシティおよびダウンカウント値に書き換える。これは、キーの押下が加速されたと認識されるので、それに対応させるためである。
なお、ステップSPe13の場合と同様に、しきい値K2を超えた場合の位置および時刻は、発音制御テーブルから得るが、しきい値K4を超えたときの位置および時刻は、現在位置および時刻であるから、レジスタR3L、E5(図10参照)から読み出す。
ところで、スタッカートのように押鍵後直ちに離鍵されるような演奏の場合に、ステップSPe2に至る可能性があり、発音されないこともある。しかしこのようなケースは希であると考えられるため、本実施形態では他のキーの発音処理を優先させている。しかしながら、このようなケースにおいても発音を有効とさせた方がよい場合には、ダウンカウント値が書き込まれている発音制御テーブルについては解放しないように制御してもよい。
【0077】
e:SOUNDルーチン
次に、図21を参照してSOUNDルーチンについて説明する。このサウンドルーチンが実行されるのは、前述した各処理において設定されたダウンカウント値が、図14に示すタイマ割込みのステップSPa3の処理で減算され、その値が0となって発音処理が開始されてキー・ステートがSOUNDとなった後である。
【0078】
さて、図21に示すステップSPf1においては、キーがしきい値K2を超えているか否かが判定される。この判定が「NO」の場合は、ステップSPf2に進み、音源回路210に対してキーオフ信号KOF(MIDI OFF)を出力する。この結果、音源回路210は、当該キーについての発音を急速ダンプさせて消音する。そして、ステップSPf3に進み、キー位置がしきい値K1を越えているか否かを判定する。この判定が「NO」の場合は、ステップSPf4に進んで、キー・ステートをUPPERにしてリターンし、また、「YES」の場合はキー・ステートをHOLDにしてリターンする。
【0079】
一方、ステップSPf1の判定が「YES」の場合には、ステップSPf6に進んで、リリース・ルーチンの処理を行う。ここで、図22はリリース・ルーチンの処理を示すフローチャートである。始めに、ステップSPg1において、キー・ステートがSOUND 0か否かが判定される。ところで、キー・ステートSOUNDは、SOUND 0とSOUND 1の2つのステートがある。前述した図14のステップSPa3で設定されるキー・ステートは、実際にはSOUND 0である。したがって、発音が開始されたときのキー・ステートはSOUND 0になっている。このため、リリースルーチンに移行した際のステップSPg1の判定は、当初は「YES」になり、ステップSPg4に進む。ステップSPg4においては、キーがしきい値2Aを超えているか否かが判定され、「YES」であれば未だ深い押鍵位置にあるので、なにもせずにリターンする。一方、ステップSPg4の判定が「NO」の場合には、押鍵位置がしきい値K2Aより浅くなっているので、SPg5に進み、キー・ステートをSOUND 1に変更するとともに、リリースレートRLをダンピングが大きい値(A×××01(MIDI信号の一例))に書き換える。この結果、音源回路210においては、当該キーの発音のリリースエンベロープにおける減衰レートが大きくなり、その音は自然減衰より若干早く減衰する。
【0080】
一方、ステップSPg1の判定が「NO」の場合(キー・ステートとしてSOUND 1が設定されている場合)には、ステップSPg2に進み、キー位置がしきい値K2Aを超えているか否かが判定される。この判定が「NO」の場合には、押鍵位置が浅くSOUND 1のままであると認識されるので、そのままリターンする。また、ステップSPg2の判定が「YES」の場合は、押鍵位置が深くなっている場合であり、ステップSPg3に進み、キー・ステートをSOUND 0に変更し、リリースレートをダンピングが小さい値(A×××00(MIDI信号の一例))にする。この結果、当該キーの発音のリリースエンベロープにおける減衰レートが小さくなり、その音は自然減衰と同様の速度で減衰する。
【0081】
したがって、押鍵の深さが変化すると、リリースルーチンによってリリースレートが切り替わり、微妙なリリース制御が行われる。アコースティックピアノにおいては、ダンパが弦を押さえることによって消音が行われるが、演奏の仕方によってはダンパと弦とが触れたり離れたりし、また、その触れ方も一様ではない。従って、上述のようにキーの位置によってリリースレートを制御すると、実際のピアノのダンパ動作による音の消え入り方を模倣することができる。
【0082】
f:HOLDルーチン
次に、HOLDルーチンについて図24を参照して説明する。始めに、ステップSPi1において、キー位置がしきい値K2を超えているか否かが判定され、「NO」であれば、ステップSPi2に移ってキー位置がしきい値K1を超えているか否を判定する。このステップSPi2の判定が「YES」の場合は何もせずにリターンする。これは、キー・ステートHOLDは、一旦しきい値K2より深く押鍵されたキーが、再びK2より浅い位置(ただし、しきい値K1よりは深い位置)まで戻されたとき、あるいはしきい値K2以下でK1を超える領域に所定時間以上止まっていた場合に設定されるステートであるから、SPi2で「YES」となるときは状態の変化は生じていないと判断されるからである。また、ステップSPi2で「NO」と判定された場合は、キー位置がレスト位置に近く、極めて浅くなった場合であるから、キー・ステートをUPPERに変更してリターンする(ステップSPi3)。
【0083】
一方、ステップSPi1において「YES」と判定された場合、すなわち、キーが再びしきい値K2より深く押下された場合は、ステップSPi4に進み、発音制御テーブルを確保して発音の準備に入る。ただし、空きテーブルがない場合はリターンする。
【0084】
次に、ステップSPi5に進むと、キー位置がしきい値K3を超えたか否かが判定され、「YES」であれば、サンプリング期間に2つのしきい値K2,K3を超えた場合であるので、キー・ステートをCOUNT−DOWN−3にするとともに、最大値のベロシティおよびこれに応じたダウンカウント値を設定してリターンする(ステップSPi6)。また、ステップSPi5の判定が「NO」の場合は、ステップSPi7に進み、キー・ステートをTOUCH−Bとするとともに、タイムオーバー検知用カウンタをクリアする。また、ステップSPi7においては、レジスタR3L内のキー位置データおよびレジスタE5にある時刻データを、図8に示す発音制御テーブルのOVR−K2行およびOVK2−TIM行の当該キー番号のエリアに書き込む。これにより、当該キーについて、しきい値K2を超えたときの位置と時刻が記憶される。
【0085】
g:TOUCH−Bルーチン
次に、TOUCH−Bルーチンについて図25を参照して説明する。まず、ステップSPj1においては、time overか否か、すなわち、タイムオーバー検知用カウンタが所定値を超えたか否かが判定される。この判定が「YES」の場合には、発音テーブルを解放して他のキーの発音を優先させ、また、キーステートをTIME−OVERに書き換える(ステップSPj2)。
【0086】
一方、ステップSPj1の判定が「NO」の場合は、ステップSPj3に進んで、キー位置がしきい値K4を超えているか否かが判定される。この判定が「YES」の場合は、サンプリング期間に2つのしきい値K3,K4を超えた場合だから、キー・ステートをCOUNT−DOWN−3にするとともに、最大値のベロシティおよびこれに応じたダウンカウント値を設定してリターンする(ステップSPj4)。
【0087】
また、ステップSPj3で「NO」と判定された場合は、ステップSPj5に進み、キー位置がしきい値K3を超えているか否かが判定される。この判定が「YES」の場合は、ステップSPj6に進み、キー・ステートをCOUNT−DOWN−1に更新するとともに、しきい値K2、K3を超えたときの位置および時刻に基づいてベロシティおよびダウンカウント値を求める。そして、発音制御テーブルに、新たに求めたベロシティおよびダウンカウント値を書き込む。なお、ステップSPe13の場合と同様に、しきい値K2を超えた場合の位置および時刻は、発音制御テーブルから得るが、しきい値K3を超えたときの位置および時刻は、現在位置および時刻であるから、レジスタR3L、E5(図10参照)から読み出す。
【0088】
一方、ステップSPj7において「NO」と判定された場合は、ステップSPj8に進み、発音制御テーブルを解放して他のキーの発音を優先させ、次いで、ステップSPj9においてキー位置がしきい値K1を超えているか否かを判定する。この判定は「YES」の場合はキー・ステートをHOLDに、「NO」の場合はキー・ステートをUPPERにする。
【0089】
h:TIME−OVERルーチン
次に、TIME−OVERルーチンについて図23を参照して説明する。まず、ステップSPh1において、キー位置がしきい値K2を超えたか否かが判定され、「YES」であればそのままリターンする。すなわち、キー・ステートがTIME−OVERになった後は、その状態からキーを押し下げてもキー・ステートは変わらない。したがって、仮に、キーをエンド位置まで押下しても発音はされない。これは、実際のピアノでもしきい値K2とK3の間でキーがある時間以上停止した場合、その後キーを押し下げても発音がされないので、これに対応させるためである。
【0090】
一方、しきい値K2よりもキー位置を浅くすると、ステップSPh1の判定が「NO」となり、ステップSPh2の判定を介して、キー・ステートHOLDかキー・ステートUPPERのいずれかが設定されるので(ステップSPh3,SPh4)、それ以後の押鍵操作によって再発音が可能になる。
以上のように、各ルーチンにおいてキー・ステートが適宜設定され、また、書き換えられる。そして、各キー・ステートに応じた発音制御が行われる。ここで、参考のために、図26にキー・ステートの遷移状態を示す。
【0091】
(7)動作例
次に、上述した各処理ルーチンの動作の関連をより明確にするために、図15、図16に示すキー軌道が発生した場合を例にとって説明する。
始めに、図15の時刻t1において押鍵が開始される。初期状態におけるキー・ステートはUPPERが設定されるので、押鍵開始直後は図18に示すUPPERルーチンにより処理が行われる。そして、キーがしきい値K1を超えるまでは、ステップSPc1からすぐにリターンするので、キー・ステートは変化しない。次に、キーがしきい値K1を超えると、ステップSPc2,3,4の処理が行われ、発音制御テーブルが獲得されて、発音の準備が開始される。また、キー・ステートはTOUCH−Aとなる。
【0092】
したがって、以後は図19に示すTOUCH−Aルーチンに処理が移行される。そして、図15の時刻t3においてしきい値K2を通過した後は、図19のステップSPd1,3,4,5の処理が行われ、カウントダウン値の計算などが行われる。また、キー・ステートはCOUNT−DOWNとなり、以後の処理は図20に示すCOUNT−DOWNルーチンに移行する。そして、時刻t4においてしきい値K3を通過した後は、ステップSPe7,8,12,13の処理が行われ、カウントダウン値の計算等が行われるとともに、キー・ステートがCOUNT−DOWN−1となる。さらに、時刻t5においてしきい値K4を通過した後は、図20のステップSPe8,9,11の処理が行われ、カウントダウン値の計算等が行われるとともに、キー・ステートがCOUNT−DOWN−2に設定される。この場合、ベロシティはキーが新たなしきい値を通過するたびに再計算されるが、再計算によるベロシティが大きい場合のみ更新されるから、最終的には一番大きいベロシティが選択されることになる。そして、そのベロシティに対応するダウンカウント値がダウンカウント値出力テーブルTB3−1〜TB3−4のいずれかから求められる。このようにして求められたカウントダウン値は、タイマ割込みのステップSPa3(図14参照)において減算され、その減算値が0となった時点(時刻t6)において発音が開始されてキー・ステートがSOUNDモードになる。
【0093】
次に、時刻t7から離鍵が開始され、キー位置がしきい値K2より浅くなると(時刻t10)、キーオフ信号KOFが出力されて発音が停止され、キー・ステートはHOLDになる(図21のステップSPf1,2,3,5)。そして、再びキーが押下され始め、時刻t11においてしきい値K2を超えた後は、図24に示すステップSPi1,4,5,7の処理によって発音制御テーブルが獲得され、かつ、キー・ステートがTOUCH−Bになる。次に、キー位置が更に深くなると、前述の場合と同様にキー・ステートがCOUNT−DOWNとなり、カウントダウン値が0になった時点(時刻t14)において発音が行われる。そして、離鍵が行われ、時刻t17以後にHOLD、時刻t18以後にTOUCH−Bのキー・ステートが設定される。次に、TOUCH−Bの状態が所定時間以上経過すると、図25に示すステップSPj1,2の処理によってキー・ステートがTIME−OVERとなる。この後、図15に示すように、キー位置が深くなってもキーステートはTIME−OVERのまま変化せず、カウントダウン値が設定されることはないため、発音は行われない。そして、図15の時刻t21、t22において、キー位置が各々しきい値K2およびK1より浅くなると、キー・ステートは各々HOLD、UPPERとなる。
【0094】
ところで、図15の点P10において、キー位置が維持され、そのまま所定時間が経過すると点P11においてtime overとなり、キー・ステートはHOLDとなる(ステップSPd1,2)。また、点P10からキー位置が浅くなり、例えば、点P12の位置に達すると、キー・ステートはUPPERになる(ステップSPd7,8)。
【0095】
一方、TOUCH−Bにある点P20から離鍵が行われ、例えば、点21の位置に達すると、キー・ステートはHOLDになる(ステップSPj9,10)。次に、図16に示す点P1,P2の場合は、サンプリング期間に2つのしきい値を通過した場合であるから、図18に示すUPPERルーチンのステップSPc1,2,3,5が行われ、COOUNT−DOWN−3となり、最高ベロシティの発音が行われる。また、点P3,P4の場合も同様である(ステップSPi1,4,5,6)。
【0096】
ところで、図6に示すように、発音が開始されてキー・ステートがSOUNDとなった後の離鍵操作において、しきい値K2Aを上下するようにキー位置が変化すると、図22のリリースルーチンにより、リリースレートが切り替わり、音の消え入り方を微妙に制御することができる。
【0097】
C:実施形態効果
(1)しきい値の設定をソフトウエア処理によって自由に行うことができる。
【0098】
(2)しきい値K1までに至らない浅いキー位置、しきい値の間のキー位置、あるいはしきい値K4を超えた深いキー位置についても、正確な位置情報が得られるので、種々の奏法に対応できる楽音制御を行うことができる。例えば、しきい値K1まで達しない浅い打弦の発音制御や、音の消え入り方を微妙に制御することが可能である。
【0099】
(3)しきい値をソフトウエア処理によって自由に設定できるので、フォトセンサの取付精度が要求されない。
【0100】
(4)上記実施形態においては、例えば、TOUCH−A、COUNT−DOWN−0、TOUCH−B、HOLDなどのキー・ステートを決定する際に、前のキー・ステートとキーの位置(どのしきい値の間にいるか)によって決定しているので、適切な状態把握を行うことができる。さらに、TIME−OVERやHOLDを決定する際においては、前のキー・ステート、キーの位置、および前のキー・ステートの継続時間も考慮して決定しているので、実際のピアノに即した状態把握を行うことができる。
【0101】
しかも、以上のようにして設定したキー・ステート(状態)に基づいて楽音が制御されるから、ピアノ等の自然楽器の発音を正確に模倣することができるとともに、きめ細かな楽音制御を行うことができる。
また、しきい値をキーオフ近傍の領域に複数設定し、離鍵時にキーがどのしきい値の間にいるかによってリリースレートを制御するようにしているので、例えば、ピアノのダンパー操作を模倣した発音制御を行うことができる。
【0102】
D:変形例
(1)上述した実施形態は、ピアノ音を電子的に発生する例であったが、ピアノ音以外の楽音を合成するようにしてもよい。この場合には、エンベロープ制御は、楽音に応じたエンベロープを予め設定して置けばよく、リリース時のエンベロープ制御は実施形態と同様に行えばよい。
また、実施形態におけるリリースルーチンのエンベロープ制御は、リリース時の制御に限らず、その他の部分(例えば、サステイン部)のエンベロープ制御に用いることもできる。
【0103】
(2)上述した実施形態は、消音機構付きの自動ピアノにおける例であったが、本発明は打弦機構を持たない、電子楽器にも適用することができる。
【0104】
(3)フォトセンサの出力信号を自動演奏時のキー位置フィードバック信号として用いることもできる。
【0105】
(4)また、TOUCH−Aではしきい値K1〜K2間、COUNT−DOWN−0ではしきい値K1〜K3間、COUNT−DOWN−1ではしきい値K2〜K4間で速度を算出するようにしたが、どのような間隔を選んでも良く、例えば、COUNT−DOWN−0においてしきい値K2〜K3間で速度を算出してもよい。
【0106】
(5)リリース時のエンベロープ制御をより繊細に行うために、図27に示すように、しきい値K2とK3の間をより細かく区切っても良い。そして、同図に示すように、上方の区間に行くほどダンピングが大きくなるようにリリースレートを設定する。このようにすると、例えば、同図に示すような鍵の軌跡の場合は、点P50〜P51、P52〜P53の間は自然消音するが、鍵が上方に行くに従いダンピング係数が強くなって次第に早く減衰するようになり、より自然な楽音とすることができる。図28は、この時のエンベロープの様子を示している。
また、しきい値K2とK3の間をより細かく区切る場合であっても、キーセンサ等を追加することなく、しきい値K2A〜K2Cをソフトウエア処理で設定すればよい。したがって、ハードウエアの変更が不要であり、コストアップにならない。さらに、使用状況や演奏者の技量に応じて、しきい値K2とK3の間の区間数を切り換えるようにしてもよい。
【0107】
(6)また、上述した実施形態においては、キーが新たなしきい値を通過する毎にベロシティを再計算し、再計算によるベロシティと既に得られているベロシティとを比較することにより、ベロシティおよびダウンカウント値を更新するようにしているが、既に得られているダウンカウント値の現在値と再計算によるベロシティに対応したダウンカウント値とを比較するようにすれば、より精度が向上する。ただし、本出願人の実験によれば、両者の比較結果は、ほぼ完全に一致するので、上述した実施形態においては、処理の簡単化のために、前者を採用している。
【0108】
【発明の効果】
以上説明したように、この発明によれば、センサの取付精度が要求されず、しかも、極めて自然で多様な発音制御を行うことができる(請求項1〜3)。
また、しきい値をキーオフ近傍の領域に複数設定し、離鍵時に状態決定手段が決定した状態に基づきリリースレートを制御することにより、リリース時の楽音制御をより自然で繊細なものにすることができる(請求項3)。
【図面の簡単な説明】
【図1】この発明による一実施形態の構成を示すブロック図である。
【図2】同実施形態のキーの構成を示す側面図である。
【図3】同実施形態におけるキーのシャッタ付近の構成を示す斜視図である。
【図4】図3に示すフォトダイオード225の出力特性を示す特性図である。
【図5】同実施形態におけるハンマーアクションを示す側面図である。
【図6】同実施形態におけるしきい値を示す図である。
【図7】同実施形態においてRAM203内に設けられているテーブルを示す概念図である。
【図8】同実施形態における発音制御テーブルを示す概念図である。
【図9】同実施形態におけるサンプリング時刻を記憶するためのテーブルを示す概念図である。
【図10】同実施形態におけるレジスタを示す概念図である。
【図11】同実施形態におけるベロシティおよびダウンカウント値を求めるためのテーブルを示す図である。
【図12】同実施形態における各処理のタイミング関係を示す図である。
【図13】同実施形態におけるA/D割込み処理を示すフローチャートである。
【図14】同実施形態におけるタイマ割込み処理を示すフローチャートである。
【図15】同実施形態におけるキー軌道の一例と、これに対するキー・ステートの関係を示す図である。
【図16】同実施形態におけるキー軌道の一例と、これに対するキー・ステートの関係を示す図である。
【図17】同実施形態のメインルーチンを示すフローチャートである。
【図18】同実施形態のUPPERルーチンを示すフローチャートである。
【図19】同実施形態のTOUCH−Aルーチンを示すフローチャートである。
【図20】同実施形態のCOUNT−DOWNルーチンを示すフローチャートである。
【図21】同実施形態のSOUNDルーチンを示すフローチャートである。
【図22】同実施形態のリリースルーチンを示すフローチャートである。
【図23】同実施形態のTIME−OVERルーチンを示すフローチャートである。
【図24】同実施形態のHOLDルーチンを示すフローチャートである。
【図25】同実施形態のTOUCH−Bルーチンを示すフローチャートである。
【図26】同実施形態におけるキー・ステートの遷移状態を示す図である。
【図27】しきい値K2,K3間をより細かく区切る際のしきい値の例を示す図である。
【図28】図27に示すしきい値を用いた際の楽音制御の一例を示す図である。
【図29】従来のキーセンサの一例を示す側面図である。
【符号の説明】
201……CPU(比較結果認識手段、状態決定手段、制御手段)、202……ROM、203……RAM(状態決定手段)、210……音源回路、220……LEDドライバ(位置検出手段)、221……発光側センサヘッド(位置検出手段)、222……受光側センサヘッド(位置検出手段)、223……A/D変換器(位置検出手段)、224……LED(位置検出手段)、225……フォトダイオード(位置検出手段)。

Claims (4)

  1. 演奏操作子の位置を一定のサンプリング間隔で検出する位置検出手段と、
    前記位置検出手段の検出位置と複数のしきい値とを比較し、この比較結果を認識する比較結果認識手段と、
    前記演奏操作子が所定の状態のいずれにあるかを決定する際に、前の状態と前記比較結果認識手段の認識内容とに応じて決定する動作を繰り返す状態決定手段と、
    前記状態決定手段が決定した状態に基づいて楽音の制御を行う制御手段と
    を具備することを特徴とする楽音制御装置。
  2. 前記状態決定手段は、前記演奏操作子が所定の状態のいずれにあるかを決定する際に、前の状態、前記比較結果認識手段の認識内容、および前の状態の継続時間に応じて決定することを特徴とする請求項1記載の楽音制御装置。
  3. 前記操作子は鍵盤楽器のキーであり、前記しきい値はキーオフ近傍の領域に複数設定され、前記制御手段は、離鍵時において前記状態決定手段が決定した状態に基づきリリースレートを制御することを特徴とする請求項1または2記載の楽音制御装置。
  4. 楽音を発音する音源手段をさらに具備し、
    前記制御手段は、発音制御情報に基づいて前記音源手段による楽音の発音を制御し、
    前記制御手段は、前記状態決定手段によって前の状態とは異なる状態に決定されたとき、新たな発音制御情報を求め、求めた新たな発音制御情報が更新条件を満たした場合には、既に設定されている発音制御情報を前記新たな発音制御情報に更新し、更新後の前記新たな発音制御情報に基づいて前記音源手段による楽音の発音を制御することを特徴とする請求項1または2記載の楽音制御装置。
JP27032295A 1995-06-09 1995-10-18 楽音制御装置 Expired - Fee Related JP3552366B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP27032295A JP3552366B2 (ja) 1995-06-09 1995-10-18 楽音制御装置
TW085106674A TW366481B (en) 1995-06-09 1996-06-04 Keyboard musical instrument having key monitor exactly discriminating key motion
DE69607243T DE69607243T2 (de) 1995-06-09 1996-06-05 Tastenmusikinstrument mit Tastenmonitor zur genauen Unterscheidung von Tastenbewegungen
EP96109082A EP0747876B1 (en) 1995-06-09 1996-06-05 Keyboard musical instrument having key monitor exactly discriminating key motion
US08/658,700 US5824930A (en) 1995-06-09 1996-06-05 Keyboard musical instrument having key monitor exactly discriminating key motion
CNB961104600A CN1155940C (zh) 1995-06-09 1996-06-08 具有准确识别琴键运动的琴键监视器的键盘乐器
KR1019960020671A KR100193780B1 (ko) 1995-06-09 1996-06-10 악음제어장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-143752 1995-06-09
JP14375295 1995-06-09
JP27032295A JP3552366B2 (ja) 1995-06-09 1995-10-18 楽音制御装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2004083544A Division JP3767608B2 (ja) 1995-06-09 2004-03-22 楽音制御装置
JP2004083545A Division JP3767609B2 (ja) 1995-06-09 2004-03-22 楽音制御装置

Publications (2)

Publication Number Publication Date
JPH0954584A JPH0954584A (ja) 1997-02-25
JP3552366B2 true JP3552366B2 (ja) 2004-08-11

Family

ID=26475398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27032295A Expired - Fee Related JP3552366B2 (ja) 1995-06-09 1995-10-18 楽音制御装置

Country Status (7)

Country Link
US (1) US5824930A (ja)
EP (1) EP0747876B1 (ja)
JP (1) JP3552366B2 (ja)
KR (1) KR100193780B1 (ja)
CN (1) CN1155940C (ja)
DE (1) DE69607243T2 (ja)
TW (1) TW366481B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6610917B2 (en) * 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
JP3887968B2 (ja) 1998-09-18 2007-02-28 ヤマハ株式会社 鍵盤楽器および鍵速度判定装置
US6229081B1 (en) 1998-09-18 2001-05-08 Yamaha Corporation Keyboard musical instrument, position sensing device and light-emitting controller both incorporated therein
US6245985B1 (en) 1998-10-23 2001-06-12 Yamaha Corporation Data converter for enhancing resolution, method for converting data codes and keyboard musical instrument equipped with the data converter
JP3900712B2 (ja) 1998-10-23 2007-04-04 ヤマハ株式会社 鍵盤楽器のセンサ較正装置及びセンサ較正方法
JP3887978B2 (ja) 1998-12-25 2007-02-28 ヤマハ株式会社 演奏支援装置、演奏支援方法、および演奏支援プログラムを記録した記録媒体
JP4608718B2 (ja) * 2000-01-12 2011-01-12 ヤマハ株式会社 楽器
JP4232325B2 (ja) * 2000-06-21 2009-03-04 ヤマハ株式会社 鍵駆動装置
JP4595193B2 (ja) * 2000-11-17 2010-12-08 ヤマハ株式会社 ハンマ検出装置
US8835740B2 (en) * 2001-08-16 2014-09-16 Beamz Interactive, Inc. Video game controller
US7381880B2 (en) 2003-10-31 2008-06-03 Yamaha Corporation Musical instrument recording advanced music data codes for playback, music data generator and music data source for the musical instrument
JP4129798B2 (ja) 2004-01-06 2008-08-06 ヤマハ株式会社 光学検出装置
JP4489442B2 (ja) * 2004-01-13 2010-06-23 ヤマハ株式会社 鍵盤装置
JP4222280B2 (ja) 2004-09-16 2009-02-12 ヤマハ株式会社 演奏情報出力装置及び楽器及び演奏情報を出力するための方法及び該方法をコンピュータで実行するためのプログラム。
JP4822782B2 (ja) * 2005-09-15 2011-11-24 株式会社河合楽器製作所 鍵盤楽器のタッチ検出装置
JP4751781B2 (ja) * 2006-07-20 2011-08-17 株式会社河合楽器製作所 鍵盤楽器の発音制御装置
US7843575B1 (en) * 2007-01-15 2010-11-30 Midi9 LLC Reflective piano keyboard scanner
JP5209287B2 (ja) * 2007-12-13 2013-06-12 ローランド株式会社 電子楽器の操作位置検出装置
WO2009108437A1 (en) 2008-02-27 2009-09-03 Steinway Musical Instruments, Inc. Pianos playable in acoustic and silent modes
US9019237B2 (en) * 2008-04-06 2015-04-28 Lester F. Ludwig Multitouch parameter and gesture user interface employing an LED-array tactile sensor that can also operate as a display
US8345014B2 (en) 2008-07-12 2013-01-01 Lester F. Ludwig Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8169414B2 (en) 2008-07-12 2012-05-01 Lim Seung E Control of electronic games via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8604364B2 (en) * 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US8170346B2 (en) 2009-03-14 2012-05-01 Ludwig Lester F High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size using running sums
US8541673B2 (en) 2009-04-24 2013-09-24 Steinway Musical Instruments, Inc. Hammer stoppers for pianos having acoustic and silent modes
US8148620B2 (en) * 2009-04-24 2012-04-03 Steinway Musical Instruments, Inc. Hammer stoppers and use thereof in pianos playable in acoustic and silent modes
US20110055722A1 (en) * 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US20110066933A1 (en) 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US20110202934A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces
US10146427B2 (en) * 2010-03-01 2018-12-04 Nri R&D Patent Licensing, Llc Curve-fitting approach to high definition touch pad (HDTP) parameter extraction
US9632344B2 (en) 2010-07-09 2017-04-25 Lester F. Ludwig Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities
US9626023B2 (en) 2010-07-09 2017-04-18 Lester F. Ludwig LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US9950256B2 (en) 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
US8785758B2 (en) * 2010-09-01 2014-07-22 Inmusic Brands, Inc. Electronic hi-hat cymbal controller
US20120204577A1 (en) 2011-02-16 2012-08-16 Ludwig Lester F Flexible modular hierarchical adaptively controlled electronic-system cooling and energy harvesting for IC chip packaging, printed circuit boards, subsystems, cages, racks, IT rooms, and data centers using quantum and classical thermoelectric materials
US9442652B2 (en) 2011-03-07 2016-09-13 Lester F. Ludwig General user interface gesture lexicon and grammar frameworks for multi-touch, high dimensional touch pad (HDTP), free-space camera, and other user interfaces
US8519252B2 (en) * 2011-03-16 2013-08-27 Waleed Sami Haddad Optoelectronic pickup for musical instruments
US9052772B2 (en) 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
JP5974756B2 (ja) * 2011-09-20 2016-08-23 ヤマハ株式会社 電子鍵盤楽器
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
US20130207790A1 (en) * 2012-02-14 2013-08-15 Beamz Interactive, Inc. Finger beamz
US9047851B2 (en) 2012-09-19 2015-06-02 Light4Sound Optoelectronic pickup for musical instruments
CN103778905A (zh) * 2013-03-07 2014-05-07 福州飞翔音乐电子科技有限公司 机械钢琴弹奏信息的采集装置及采集方法
FI20135575L (fi) * 2013-05-28 2014-11-29 Aalto Korkeakoulusäätiö Tekniikoita musiikkiesityksen parametrien analysoimiseksi
US20150013525A1 (en) * 2013-07-09 2015-01-15 Miselu Inc. Music User Interface Sensor
US20150122112A1 (en) * 2013-11-03 2015-05-07 Miselu Inc. Sensing key press activation
WO2017121049A1 (en) * 2016-01-15 2017-07-20 Findpiano Information Technology (Shanghai) Co., Ltd. Piano system and operating method thereof
CN106251848A (zh) * 2016-09-30 2016-12-21 无锡吾成互联科技有限公司 一种钢琴弹奏音准的检测装置
WO2020054070A1 (ja) 2018-09-14 2020-03-19 ヤマハ株式会社 音信号生成装置、鍵盤楽器およびプログラム
CN110823162B (zh) * 2019-11-22 2021-08-27 无为县金顺机动车检测有限公司 一种汽车轮毂圆整度检测设备
CN111128102A (zh) * 2019-12-31 2020-05-08 长沙幻音电子科技有限公司 用于多维度空间的音效控制装置和电鸣乐器
TWI795947B (zh) * 2021-10-15 2023-03-11 陳清流 鋼琴之琴橋結構

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736662A (en) * 1984-06-19 1988-04-12 Nippon Gakki Seizo Kabushiki Kaisha Optical sensor for sensing displacement speed or displacement of a moveable element in musical instrument
CA1280918C (en) * 1988-01-29 1991-03-05 Yasutoshi Kaneko Automatic player piano with touch strength estimator
US5231283A (en) * 1989-03-27 1993-07-27 Gulbransen, Inc. Opto-electronic sensing method and device for an acoustic piano
US5001339A (en) * 1989-03-27 1991-03-19 Gulbransen, Inc. Opto-electronic sensing method and device for an acoustic piano
US5254804A (en) * 1989-03-31 1993-10-19 Yamaha Corporation Electronic piano system accompanied with automatic performance function
US5164532A (en) * 1990-11-01 1992-11-17 Yamaha Corporation Performance state detecting unit of player piano system
JP3438308B2 (ja) * 1994-03-31 2003-08-18 ヤマハ株式会社 鍵盤楽器

Also Published As

Publication number Publication date
KR100193780B1 (ko) 1999-06-15
US5824930A (en) 1998-10-20
CN1163445A (zh) 1997-10-29
EP0747876A3 (en) 1997-01-02
CN1155940C (zh) 2004-06-30
KR970002844A (ko) 1997-01-28
DE69607243D1 (de) 2000-04-27
JPH0954584A (ja) 1997-02-25
TW366481B (en) 1999-08-11
DE69607243T2 (de) 2000-11-02
EP0747876B1 (en) 2000-03-22
EP0747876A2 (en) 1996-12-11

Similar Documents

Publication Publication Date Title
JP3552366B2 (ja) 楽音制御装置
JP3887968B2 (ja) 鍵盤楽器および鍵速度判定装置
JP3900712B2 (ja) 鍵盤楽器のセンサ較正装置及びセンサ較正方法
JP3620063B2 (ja) 自動ピアノおよび演奏データ加工装置
JP5162938B2 (ja) 楽音発生装置及び鍵盤楽器
JPH0659667A (ja) 鍵盤楽器
JPH10161648A (ja) 打鍵−打弦特性対応装置、駆動信号−打弦特性対応装置、および鍵盤楽器
JPH09134172A (ja) 自動ピアノ
US20070163426A1 (en) Automatic musical performance device
JP3569660B2 (ja) 鍵盤楽器用音源
JP3586882B2 (ja) 鍵盤楽器の自動演奏システム
US5925844A (en) Piano with built-in electronic musical instrument
JP3407355B2 (ja) 鍵盤楽器
JP3832500B2 (ja) 鍵盤楽器
JP3767608B2 (ja) 楽音制御装置
JP3821137B2 (ja) 楽音制御装置、消音機能付ピアノ、および、自動演奏ピアノ
JP3254062B2 (ja) ピアノ
JP3279307B2 (ja) 鍵盤楽器
JP3767609B2 (ja) 楽音制御装置
JP4381703B2 (ja) 電子楽器
JP3642130B2 (ja) 電子楽器
JP2891248B2 (ja) 電子鍵盤楽器
JP4110691B2 (ja) 鍵盤楽器のセンサデータ変換装置及びセンサデータ変換方法
JP4135275B2 (ja) 速度検出装置及び速度検出方法
JP4046226B2 (ja) 電子ピアノ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees