JP3605049B2 - 楽音の制御信号の生成装置及び制御方法 - Google Patents
楽音の制御信号の生成装置及び制御方法 Download PDFInfo
- Publication number
- JP3605049B2 JP3605049B2 JP2001168787A JP2001168787A JP3605049B2 JP 3605049 B2 JP3605049 B2 JP 3605049B2 JP 2001168787 A JP2001168787 A JP 2001168787A JP 2001168787 A JP2001168787 A JP 2001168787A JP 3605049 B2 JP3605049 B2 JP 3605049B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- tone
- waveform data
- section
- 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 - Lifetime
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本願発明は、電子楽器に関し、楽音を制御する信号を生成する装置または方法に関する。
【0002】
【従来技術】
従来、楽音波形データの一部または全部を繰り返し生成するループ再生という手法が採られている。この場合1つのループセクションにおけるループ再生を「回数」で決定している。このため、音高が低く、従って楽音波形データの読み出し速度が遅い場合には、1つのループセクションの実行に要する時間が長くなり、図18(1)に示すように、1つの楽音放音開始から終了までの間に、各ループセクションの占める「時間」が大きくなる。これに対し、音高が高く、従って楽音波形データの読み出し速度が速い場合には、1つのループセクションの実行に要する時間が短くなり、図18(2)に示すように、1つの楽音放音開始から終了までの間に、各ループセクションの占める「時間」が小さくなる。
【0003】
【発明が解決しようとする課題】
これは、音高の変化により、楽音に余分な変化因子がはいってしまうことになる。むろん、音高の変化により、高調成分の含有率を変えること等は、広く行われていることであるが、このようなループ再生にあっては、むしろ余分な変化因子であって、聴感好ましくなく、また実際の楽器の音ともずれてしまうことになる。
【0004】
本発明は、上述した課題を解決するためになされたものであり、音高の変化いかんにかかわらず、常に同じループ再生を行うことのできるパラメータ信号生成装置を提供することを目的としている。
【0005】
【課題を解決するための手段】
本発明は、楽音に関する波形データの一部又は全部の繰り返し生成の時間が予め定められた繰り返し生成のための時間に達したとき、当該繰り返し生成を終了させるようにした。 これにより、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止することができる。
【0006】
【発明の実施の形態】
1.全体回路
図3は、楽音に関するパラメータ信号の生成装置の全体回路を示す。ROM13には、制御装置10が各種処理を行うためのプログラムのほか、楽音波形データWDを繰り返し読み出しするためのループトップデータLTi、ループエンドデータLEi、ループ時間データLTMi、エンベロープ波形生成のためのスピードデータSPDi、レベルデータLVLi、後述する位相角ステップデータPD、読出スタートアドレスデータST、スタート振幅値LVL0をはじめとする楽音信号生成に必要な各種データが記憶されている。
【0007】
RAM14には、制御装置10の各種中間処理データやキーボード11や音色/パラメータスイッチ部12の操作状態を検出するためのデータ、あるいは操作状態に応じて割り当てられたデータ等の電子楽器全体の動作を制御するための内容が記憶される。このRAM14に、次述するトーンジェネレータ15、16…各々へ割り当てた楽音に関する情報を記憶させてもよい。
【0008】
キーボード11や音色/パラメータスイッチ部12の各キー及び各スイッチの操作は、制御装置10によってサンプリング検出され、各キーで指定された音高、キータッチ及び各スイッチで指定された音色/パラメータ等に応じた楽音の生成放音処理が実行される。制御装置10は、電子楽器全体の動作を制御する上記各種処理を実行する。
【0009】
トーンジェネレータ15、16…では、上記指定された音高、キータッチ及び音色/パラメータの楽音信号が生成され、サウンドシステム17よりミキシング出力される。トーンジェネレータ15、16…は、1チッLSIで構成されている。
【0010】
このトーンジェネレータ15、16…では、楽音波形データWDの各ループごとの再生やエンベロープ波形の各フェーズごとの生成が行われており、各ループ終了ごと又は各フェーズ終了ごとに書込要求信号が出力される。この書込要求信号は、制御装置10にいったん与えられた後、アドレスコントローラ40、85…に書込信号として与えられて、ROM13に対する読出アドレスデータが、次のループトップデータLTi、ループエンドデータLEi、ループ時間データLTMi、スピードデータSPDi、レベルデータLVLiについてのものにインクリメントされ、これらのデータが読み出され、トーンジェネレータ15、16…へ送られる。
【0011】
このアドレスコントローラ40、85…は、トーンジェネレータ15、16…夫々に対応して複数個設けられている。アドレスコントローラ40、85…からROM13へのアクセスは、実際には図13に示すような選択器122を通じて、時分割的に行われ、制御装置10からのアドレスデータと交互に切り換えられる。
【0012】
2.トーンジェネレータ15、16…
図4は、トーンジェネレータ15、16…の1つを示すもので、キー情報メモリ20には、上記キーボード11の同時操作のキーのうち、当該トーンジェネレータ15、16…にチャンネル割り当てが行われたキーのキー情報が記憶され、このキー情報は、波形読出アドレス発生装置28及びエンベロープ波形発生装置29に送られ、キー情報に応じた楽音が生成される。このキー情報には、主に後述する位相角ステップデータPD、読出スタートアドレスデータ、スタート振幅値LVL0等が記憶される。このキー情報メモリ20は、完全に省略して、これらのデータを、直接ROM13から制御装置10によって読み出すようにしたり、ROM13からRAM14にいったんセットして制御装置10によって読み出すようにしてもよい。
【0013】
これら波形読出アドレス発生装置28及びエンベロープ波形発生装置29には、上記ROM13より読み出された、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMi、スピードデータSPDi、レベルデータLVLiも与えられ、ループ再生に必要な読出アドレスデータRADや、各フェーズごとにエンベロープデータENVが生成される。このうち波形読出アドレス発生装置28で生成された、ループ再生のための読出アドレスデータRADは、波形データメモリ25に与えられ、楽音波形データWDが読み出され、乗算器26で、上記エンベロープ波形発生装置29からのエンベロープデータENVが乗算され、D/A変換器27を介して、アナログ信号として出力される。
【0014】
3.エンベロープ波形発生装置29
図2は、エンベロープ波形発生装置29の回路構成を示すもので、エンベロープ波形の各フェーズごとのレベルデータLVLi、スピードデータSPDiは、制御装置10及びアドレスコントローラ40によって、ROM13より読み出され、データラッチ61、62のいずれかにラッチされる。
【0015】
データがラッチされない方のデータラッチには、現在生成中のエンベロープのフェーズに関するレベルデータLVLi及びスピードデータSPDiがラッチされていて、書き込みが行われるデータラッチと、読み出しが行われるデータラッチとが、交互に切り換えられる。データラッチ61又はデータラッチ62からのレベルデータLVLi及びスピードデータSPDiのうち、レベルデータLVLiについては、選択器60を介し、補数器33及び加算器36に与えられ、スピードデータSPDiについては、同じく選択器60を介し、乗算器35に与えられる。
【0016】
これらレベルデータLVLi、スピードデータSPDiは、図6に示すように、エンベロープ波形の各フェーズにおける、レベル(到達目標)とレート(到達速度)の大きさを示すデータである。
【0017】
スタート振幅値保持メモリ30には、キーオンタイミングに(又はこれに先だったタイミングで)、エンベロープ波形のスタート地点のスタート振幅値LVL0が、キー情報メモリ20より読み出されてセットされる。この場合、スタート振幅値LVL0を、直接、制御装置10及びアドレスコントローラ40によって、ROM13又はRAM14より読み出してもよい。このスタート振幅値LVL0は、楽音放音開始時には、選択器32を介して、加算器34に与えられる。
【0018】
一方、上記データラッチ61又はデータラッチ62からのレベルデータLVLiは、補数器33で「2」の補数値、すなわちマイナス値に反転され、加算器34で、上記スタート振幅値LVL0に加算される。これにより、スタート振幅値LVL0から到達目標のレベルデータLVLiが減算される。上記補数器33は、例えばインバータ群で構成することができ、次の加算器34のCin端子にハイレベル信号が入力されて、プラスマイナス反転される。
【0019】
上記選択器32には、後述する振幅保持回路38からのエンベロープデータENVも与えられており、楽音放音開始以降は、上記加算器34に与えられて、エンベロープデータENVから到達目標のレベルデータLVLiが減算される。このエンベロープデータENVは、そのタイミングごとの現在のエンベロープ波形のレベルを示している。
【0020】
次いで、このエンベロープデータENVの現在値から、到達目標のレベルデータLVLiが差し引かれた減算データ(エンベロープデータENV−レベルデータLVLi)に対し、乗算器35で、上記データラッチ61又はデータラッチ62からのスピードデータSPDiが乗算される。この乗算データ(エンベロープデータENV−レベルデータLVLi)×スピードデータSPDiは、加算器36で、到達目標のレベルデータLVLiに加算されて、上記振幅保持回路38に記憶されるとともに、エンベロープデータENVとして、乗算器26へ出力される。
【0021】
これにより、図6に示すようなエンベロープデータENVが、スピードデータSPDiに応じたレートで変化するとともに、変化のステップが減算データ(エンベロープデータENV−レベルデータLVLi)に応じてさらに変化する。これは、到達目標のレベルデータLVLiに近づくに従って、エンベロープデータENVの変化のステップが小さくなることを意味する。
【0022】
上記乗算器35からの乗算データ(エンベロープデータENV−レベルデータLVLi)×スピードデータSPDiは、比較器37にも与えられて、「0」になったか否かのジャッジが行われ、「0」になれば、その一致信号がフェーズ終了信号として出力される。このフェーズ終了信号は、D型のフリップフロップ67のCK端子に入力され、このフリップフロップ67のD端子には、常にハイレベル信号が与えられており、CK端子にフェーズ終了信号が与えられると、そのQ出力がハイレベルとなる。
【0023】
このハイレベルとなるQ出力は、エッジ検出器66を介して、上記アドレスコントローラ40に対する、次のフェーズのスピードデータSPDi、レベルデータLVLiの書込要求信号として出力される。このエッジ検出器66は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路で構成することができる。
【0024】
上記書込要求信号により、上述したように、スピードデータSPDi、レベルデータLVLiが、データラッチ61、62のいずれかにラッチされる。この場合のラッチ信号は、制御装置10よりの上記書込要求信号に応答したローレベルの書込信号であり、この信号はオアゲート63又はオアゲート64を介して、データラッチ61又はデータラッチ62に与えられる。この書込信号は、上記フリップフロップ67にリセットクリア信号としても与えられる。
【0025】
上記比較器37からのフェーズ終了信号は、アンドゲート69Aを介して、フリップフロップ69に入力されて、フリップフロップ69のQ出力の状態を反転させる。このフリップフロップ69は、セット(S)、リセット(R)入力付のD型フリップフロップの反転Q出力をD入力に接続した、トグル動作をするT型のフリップフロップであり、リセットクリア信号の入力により、Q出力はローレベルとなる。このフリップフロップ69のQ出力は、上記選択器160に選択切換信号として与えられ、1つのフェーズ終了ごとに、選択器60の選択内容がデータラッチ61とデータラッチ62との間で切り換えられ、次のフェーズのエンベロープデータENV生成の実行にシフトする。
【0026】
また、フリップフロップ69のQ出力は、そのまま上記オアゲート64に入力されるとともに、インバータ65で反転されて、オアゲート63に入力され、ラッチ可能なデータラッチが、データラッチ61とデータラッチ62とで切り換えられる。上記フリップフロップ67の反転Q出力は、アンドゲート69Aに開成信号として与えられ、この開成は、次のスピードデータSPDi、レベルデータLVLiの書き込みまで、維持される。
【0027】
また、キーボード11のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器31に入力されて、キーオン信号のアップエッジタイミングでハイレベルとなるとともに、楽音放音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント検出器31は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路等で構成することができる。上記キーオンイベント信号は、上記選択器32に与えられて、楽音放音開始時に、スタート振幅値保持メモリ30のスタート振幅値LVL0への選択切換が行われる。さらに上記キーオンイベント信号はインバータ68で反転されて、フリップフロップ69をクリアして、キーオン時にデータラッチ61の方を使用するようにしている。
【0028】
4.アドレスコントローラ40
図5は、アドレスコントローラ40とアドレスコントローラ40によって読み出しが行われるROM13の一部とを示す回路図であり、カウンタ43は、上記トーンジェネレータ15、16…からのキーオンイベント信号によってクリアされる。この場合のキーオンイベント信号は、実際にはインバータ41によって反転されたものが使用される。
【0029】
またカウンタ43は、制御装置10からの書込信号によって、インクリメントされ、ROM13の各番地のレベルデータLVLi、スピードデータSPDiに対するアドレス指定が順次切り換えられていく。このアドレスコントローラ40から、ROM13には、レベルデータLVLi、スピードデータSPDiの記憶エリアの上位アドレスデータが付加されて出力される。この上位アドレスデータは、ラッチ43Aを用い、このラッチ43Aに制御装置10からプリセットされるが、音色および音高(音域)等に応じて記憶エリアを切換選択するようにしてもよいし、予め複数のローレベルビット(アースレベル)のうちの特定ビットをインバータで反転させて、上位アドレスデータとしてもよい。
【0030】
上記アンドゲート42は、図6のキーオン中の一定レベルを維持する間CL1と、キーオフ後のやはり一定レベル(「0」レベル)を維持する間CL2は閉成される。すなわち、キーオン最終検出器44は、キーオン中の一定レベル期間CL1のすぐ前の、レベルデータLVL6、スピードデータSPD6が読み出されたとき、カウンタ43の出力データ内容から、そのことを検出し、その検出信号を、アンドゲート47を介し、ノアゲート46で反転させて、アンドゲート42に与えて、アンドゲート42を閉成させて、カウンタ43のインクリメントを一時的にストップさせる。
【0031】
また、キーオフ最終検出器45は、キーオフ後の一定レベル期間CL2のすぐ前の、レベルデータLVLm、スピードデータSPDmが読み出されたとき、カウンタ43の出力データ内容から、そのことを検出し、その検出信号を、アンドゲート48を介し、ノアゲート46で反転させて、アンドゲート42に与えて、アンドゲート42を閉成させて、カウンタ43のインクリメントをストップさせる。このとき、キーオン信号はローレベルであり、インバータ49を介して、アンドゲート48の方が開成されている
【0032】
こうして、レベルデータLVLi、スピードデータSPDiを記憶しておく場所を、トーンジェネレータ15、16…の中ではなく、ROM13にしておくことができ、このROM13は汎用メモリを用いることができるので、エンベロープ波形発生装置29をより安価なものにすることができるし、エンベロープ波形発生装置29を含んだトーンジェネレータ15、16…のLSI化も容易となる。
【0033】
5.波形読出アドレス発生装置28
図1は、波形読出アドレス発生装置28の回路構成を示すもので、楽音波形データWDのループ再生のためのループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiは、制御装置10及びアドレスコントローラ85によって、ROM13より読み出され、データラッチ107、108のいずれかにラッチされる。
【0034】
データがラッチされない方のデータラッチには、現在再生中の楽音波形データWDの繰り返し読み出しを行うループセクションに関するループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiがラッチされていて、書き込みが行われるデータラッチと、読み出しが行われるデータラッチとが交互に切り換えられる。
【0035】
データラッチ107又はデータラッチ108のループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiのうち、ループトップデータLTiについては、選択器103を介し、加算器77に与えられ、ループエンドデータLEiについては、同じく選択器103を介し、加算器75に与えられ、ループ時間データLTMiについては、やはり選択器103を介し、ループ時間判別部81に与えられる。
【0036】
上記ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiは、楽音波形データWDの繰り返し読み出しを行うループセクションの先頭アドレスデータ、最終アドレスデータ、繰り返し読み出しの時間データを示している。
【0037】
スタートアドレス保持メモリ70には、読出スタートアドレスデータSTが、キーオンタイミングに(又はこれに先だったタイミングで)、キー情報メモリ20より読み出されてセットされ、位相角ステップデータメモリ71には、位相角ステップデータPDが、同じくキーオンタイミングに(又はこれに先だったタイミングで)、キー情報メモリ20より読み出されてセットされる。この場合、これら読出スタートアドレスデータST、位相角ステップデータPDを、直接、制御装置10及びアドレスコントローラ40によって、ROM13又はRAM14より読み出してもよい。
【0038】
上記読出スタートアドレスデータSTは、図8に示すように、楽音波形データWDの読み出しのスタート地点の読出アドレスデータRADを示している。位相角ステップデータPDは、楽音波形データWDの読出アドレスデータRADのインクリメントステップ値を示しており、位相角ステップデータPDを累算して読出アドレスデータRADが生成され、この値が大きいほど、楽音波形データWDの読出速度が速くなって、音高も高くなる。上記楽音波形データWDに対し、読出スタートアドレスデータST、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiをいろいろ変えることによって、種々の音色を実現できる。
【0039】
上記スタートアドレス保持メモリ70の読出スタートアドレスデータSTは、楽音放音開始時に、選択器72を介して、加算器73で、上記位相角ステップデータメモリ71からの位相角ステップデータPDが加算される。この加算データは、選択器78を介して、波形読出アドレス保持回路79に記憶され、波形データメモリ25に読出アドレスデータRADとして送出されるとともに、楽音放音開始以降は、上記選択器72を介して、上記加算器73へ送出され、位相角ステップデータPDが再び加算される。加算器73と波形読出アドレス保持回路79との加算ループ回路で、読出アドレスデータRADに対する位相角ステップデータPDの累算が行われていく。
【0040】
また、加算器73からの読出アドレスデータRADは、補数器74で、「2」の補数値すなわちマイナス値に反転され、加算器75で、上記データラッチ107又はデータラッチ108からのループエンドデータLEiに加算される。これにより、ループエンドデータLEiから読出アドレスデータRADが減算されることになる。上記補数器74は、例えばインバータ群で構成することができ、次の加算器75のCin端子にハイレベル信号が入力されて、プラスマイナス反転される。
【0041】
この減算で、楽音波形データWDの読み出しが繰り返し読み出しのループセクションの最後まで達して、読出アドレスデータRADがループエンドデータLEiに到達し、さらにループエンドデータLEiを越えると、加算器75よりキャリ信号が出力される。このキャリ信号は、差分保持回路76にラッチ信号として与えられ、読出アドレスデータRADがループエンドデータLEiを越えた分の端数データがラッチされる。
【0042】
この端数データは、加算器77で、ループトップデータLTiに加算されて、端数補正が行われ、これが選択器78を介して、新たな読出アドレスデータRADとして出力される。これにより、楽音波形データWDの読出アドレスデータRADが、ループエンドデータLEiからループトップデータLTiにジャンプするとともに、このジャンプ時に、読出アドレスデータRADがループエンドデータLEiを越えた分の端数データの補正も行われる。上記加算器75からのキャリ信号は、ループエンド到達信号として、上記選択器78に与えられて、加算器77側への選択切換が行われるほか、ループ時間判別部81にも与えられる。
【0043】
6.ループ時間判別部81
図10は、ループ時間判別部81の回路構成を示すもので、基準時間変更器140は、例えばデコーダ等で構成することができ、キー情報メモリ20から与えられる、又は制御装置10によってROM13若しくはRAM14から与えられる、音色データ、音域データ、その他各種パラメータデータ(動的因子又は静的因子)をデコードして、基準時間発生器141に与える。音色データとパラメータデータは、上記音色/パラメータスイッチ部12で選択指定されたものであり、音域データは上記キーボード11からのキーコードに基づいたもので、例えばキーコードのオクターブデータが用いられる。パラメータデータは、エフェクト、リズム等の選択内容や、モジュレーションホイール、ピッチベンダー等のコントローラの指定内容等を指す。
【0044】
基準時間発生器141は、例えばプログラマブル進数カウンタやプログラマブル分周カウンタ等で構成することができ、上記基準時間変更器140からのデコードデータに応じた周期のパルス信号をループカウンタ142に与える。これにより、楽音波形データWDを繰り返し読み出しするループセクションのループ時間データLTMを、音色、音域、各種パラメータに応じて、変えていくことができる。
【0045】
ループカウンタ142は、与えられるパルス信号をタイムカウントして、比較器146に与える。比較器146は、上記データラッチ107又はデータラッチ108より与えられるループ時間データLTMiと、ループカウンタ142からのタイムカウントデータとを比較し、一致したら、その一致信号をループ時間到達信号として出力する。このループ時間到達信号は、SR型のフリップフロップ145のS端子に入力されて、フリップフロップ145がセットされ、そのQ出力によりアンドゲート144が開成される。
【0046】
そして、この直後のループエンド到達信号が、上記開成済のアンドゲート144を介して、ループ終了信号として出力される。このループ終了信号は、上記フリップフロップ145のR端子に入力されて、フリップフロップ145がリセットされるし、ノアゲート143を介して、上記ループカウンタ142にクリア信号として入力される。ループカウンタ142には、キーオンイベント信号もノアゲート143を介して、クリア信号として与えられる。このキーオンイベント信号は、楽音放音開始時にハイレベルとなる信号である。
【0047】
また、図1において、上記ループ終了信号は、D型のフリップフロップ102のCK端子に入力され、このフリップフロップ102のD端子には、常にハイレベル信号が与えられており、CK端子にループ終了信号が与えられると、そのQ出力がハイレベルとなる。このハイレベルとなるQ出力は、エッジ検出器101を介して、上記制御装置10、アドレスコントローラ85に対する、次のループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiの書込要求信号として出力される。このエッジ検出器101は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路で構成することができる。
【0048】
上記書込要求信号により、上述したように、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiが、データラッチ107、108のいずれかにラッチされる。この場合のラッチ信号は、制御装置10よりの上記書込要求信号に応答したローレベルの書込信号であり、この信号はオアゲート109又はオアゲート110を介して、データラッチ107又はデータラッチ108に与えられる。この書込信号は、上記フリップフロップ102にリセットクリア信号としても与えられる。
【0049】
上記ループ時間判別部81からのループ終了信号は、アンドゲート106を介して、フリップフロップ105に入力されて、フリップフロップ105のQ出力の状態を反転させる。このフリップフロップ105は、セット(S)、リセット(R)入力付のD型フリップフロップの反転Q出力をD入力に接続した、トグル動作をするT型のフリップフロップであり、リセットクリア信号の入力により、Q出力はローレベルとなる。このフリップフロップ105のQ出力は、上記選択器103に選択切換信号として与えられ、1つのループセクション終了ごとに、選択器103の選択内容がデータラッチ107とデータラッチ108との間で切り換えられ、次のループセクションの読出アドレスデータ生成の実行にシフトする。
【0050】
また、フリップフロップ105のQ出力は、そのまま上記オアゲート110に入力されるとともに、インバータ111で反転されて、オアゲート109に入力され、ラッチ可能なデータラッチが、データラッチ107とデータラッチ108とで切り換えられる。上記フリップフロップ102の反転Q出力は、アンドゲート106に開成信号として与えられ、この開成は、次のループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiの書き込みまで、維持される。
【0051】
また、キーボード11のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器80に入力されて、キーオン信号のアップエッジタイミングでハイレベルとなるとともに、楽音放音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント検出器80は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路等で構成することができる。
【0052】
上記キーオンイベント信号は、上記選択器72に与えられて、楽音放音開始時に、スタートアドレス保持メモリ70からの読出スタートアドレスデータSTへの選択切換が行われる。さらに上記キーオンイベント信号はインバータ104で反転されてフリップフロップ105をクリアして、キーオン時にデータラッチ107の方を使用するようにしている。
【0053】
7.アドレスコントローラ85
図7は、アドレスコントローラ85と、このアドレスコントローラ85によって読み出しが行われるROM13の一部とを示す回路図であり、カウンタ86は、上記トーンジェネレータ15、16…からのキーオンイベント信号によってクリアされる。この場合のキーオンイベント信号は、実際にはインバータ88によって反転されたものが使用される。
【0054】
また、カウンタ86は、制御装置10からの書込信号によって、インクリメントされ、ROM13の各番地のループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiに対するアドレス指定が、順次切り換えられていく。このアドレスコントローラ85から、ROM13には、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiの記憶エリアの上位アドレスデータが付加されて出力される。
【0055】
この上位アドレスデータは、ラッチ86Aを用い、このラッチ86Aに制御装置10からプリセットされるが、音色および音高(音域)等に応じて切り換えられ、ROM13の記憶エリアを切換選択するようにしてもよいし、予め複数のローレベルビット(アースレベル)のうちの特定ビットをインバータで反転させて、上位アドレスデータとしてもよい。
【0056】
上記カウンタ86からの読出アドレスデータは、最終検出器89に与えられ、この読出アドレスデータが、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiの記憶エリアの最終アドレスに達したとき、最終検出器89の出力はローレベルとなって、上記アンドゲート87が閉成される。これにより、ROM13より、最後のループセクションのループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiが読み出された後は、楽音波形データWDの最後のループセクションの繰り返し読み出しが続行される。
【0057】
こうして、ループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiを記憶しておく場所を、トーンジェネレータ15、16…の中ではなく、ROM13にしておくことができ、このROM13は汎用メモリを用いることができるので、波形読出アドレス発生装置28をより安価なものにすることができし、波形読出アドレス発生装置28を含んだトーンジェネレータ15、16…のLSI化も容易となる。
【0058】
上述したような、波形読出アドレス発生装置28により、波形データメモリ25の楽音波形データWDの繰り返し読み出しを行うと、図10の比較器146では、ループ再生の回数ではなく、ループ再生の時間の比較判別が行われる。従って、図9(1)のように、音高が低く、楽音波形データWDの読み出し速度が遅くても、また図9(3)のように音高が高く、楽音波形データWDの読み出し速度が速くても、1つのループセクションのループ再生の時間は常に一定である。図9(2)に示すように、音高が高く、楽音波形データWDの読み出し速度が速くなって、ループ再生の時間が短くなってしまうことがない。
【0059】
これにより、音高が高くても低くても、各ループセクションのループ再生の時間を一定となり、1つの楽音放音の間のループセクションのバランスがとられ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【0060】
8.ポリフォニックシステム例
図11、図12、図13は、時分割処理により、ポリフォニックな楽音生成を行うことのできる実施例を示すものである。
【0061】
図11は、波形読出アドレス発生装置28及びエンベロープ波形発生装置29の、データラッチ61、62、107、108の部分を、8チャンネル分の楽音生成システムに対応させたものである。RAM112は、16個の記憶番地をもち、8個2組で、各組に対し最高8個のレベルデータLVLi、スピードデータSPDi又はループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiが、制御装置10及びアドレスコントローラ40、85によってセットされる。2つの組の各々の記憶番地は、現在データを読み出して楽音を生成中のものと、次に実行されるデータを書き込むものとが、交互に切り換えられる。
【0062】
RAM112の記憶番地の8個の記憶番地の指定アドレスであるチャンネル信号A0〜A2は、データセレクタ113a、113b、113cを介して与えられる。このチャンネル信号A0〜A2は、読出用と書込用とが、データセレクタ113a、113b、113cでセレクトされる。読出チャンネル信号A0〜A2は、電子楽器全体の同期をとるシステムクロック信号によってカウントされるデータが用いられ、チャンネルタイミング信号と同じもので、図12(1)に示すとおりである。書込チャンネル信号A0〜A2は、制御装置10より与えられる。この書込チャンネル信号A0〜A2は、書込タイミングが、図12(1)のチャンネルタイミングと周期がとられるものであれば、読出チャンネル信号A0〜A2をそのまま用いてもよい。
【0063】
RAM112の2つの組は、エリア切換信号によって切換選択され、この信号は、データセレクタ113dに、そのまま及びインバータ115で反転されて与えられる。このエリア切換信号は、上記読出及び書込のチャンネル信号A0〜A2の上位アドレスデータA3となるものであり、シフトレジスタ118からの出力が使われる。このシフトレジスタ118は、その出力がイクスクルシブオアゲート116、アンドゲート117を介して帰還入力されるタイプのものである。
【0064】
イクスクルシブオアゲート116には、上記比較器37からのフェーズ終了信号又はループ時間判別部81からのループ終了信号が与えられて、フェーズ終了時又はループ終了時に、エリア切換信号が反転される。アンドゲート117には、上記インバータ68又はインバータ104からのローレベルのキーオンイベント信号が与えられ、エリア切換信号のクリアが行われる。
【0065】
RAM112の読出信号はハイレベル、書込信号はローレベルであり、図12(3)に示すとおりとなっている。書込信号は制御装置10より与えられ、読出信号は常にハイレベルとなっている信号が使われ、夫々データセレクタ113eを介して、RAM112に与えられる。
【0066】
上記したデータセレクタ113a〜113eのセレクト切換を行うのは、リード/ライトタイミング信号であり、この信号は、図12(2)(4)に示すように、1つのチャンネルタイミング内で、読み出しと書き込みを切り換える。この信号は、そのままデータセレクタ113a〜113eの書き込み側のアンドゲートに、開成信号として与えられるとともに、インバータ114で反転されて、データセレクタ113a〜113eの読み出し側のアンドゲートに、開成信号として与えられる。なお、図12(4)における書き込みのチャンネルタイミングは、図12(1)のチャンネルタイミングとは無関係に、制御装置10からの書込チャンネル信号によって決定される。
【0067】
図13は、同じく複数チャンネル分の楽音生成システムに対応した、エンベロープ波形発生装置29A、波形読出アドレス発生装置28A、制御装置10A、アドレスコントローラ40A、85A等を示すものである。エンベロープ波形発生装置29A、波形読出アドレス発生装置28Aからの書込要求信号キーオンイベント信号は、そのままのタイミングで、上記アドレスコントローラ40A、85Aへ送られるほか、書込要求信号は、要求信号弁別器123を介して、制御装置10Aに送られる。また、エンベロープ波形発生装置29A、波形読出アドレス発生装置28Aの中の、図11で述べた読出チャンネル信号も、要求チャンネル弁別器124を介して、制御装置10Aに送られる。
【0068】
要求信号弁別器123と要求チャンネル弁別器124は、例えばインタフェースで構成することができ、信号及びデータの弁別、処理タイミングの同期等が行われる。制御装置10Aは、書込要求信号のあったチャンネルについては、アドレスコントローラ40A、85Aに書込信号を与えて、ROM13に対するアドレスデータを+1し、次のフェーズのレベルデータLVLi、スピードデータSPDi、又は次のループのループトップデータLTi、ループエンドデータLEi、ループ時間データLTMiをROM13より読み出して、エンベロープ波形発生装置29A、波形読出アドレス発生装置28Aの上述したRAM112に上記書込信号とともに送る。
【0069】
ROM13に対するアドレスデータは、アドレスコントローラ40A、85A、制御装置10Aからのものが、選択器122によって、時分割的に切り換えられる。選択器122のセレクト信号は、チャンネルタイミング信号の4倍の周波数のクロックパルス信号が用いられ、各入力が切換セレクトされていく。上記書込チャンネル信号は、上記要求チャンネル弁別器124からの読出チャンネル信号が、そのまま制御装置10Aによって転用される。むろん、要求チャンネル弁別器124を使わず、エンベロープ波形発生装置29A、波形読出アドレス発生装置28Aからの読出チャンネル信号を、書込要求信号によって開成されるアンドゲート群を介して、書込チャンネル信号として出力するようにしてもよい。
【0070】
また、エンベロープ波形発生装置29A、波形読出アドレス発生装置28Aには、楽音放音開始時に、制御装置10Aより、位相角ステップデータPD、読出スタートアドレスデータST、スタート振幅値LVL0等のキー情報が、ROM13より読み出されて送られる。なお、読出スタートアドレスデータST、スタート振幅値LVL0は、RAM14又はキー情報メモリ(図示せず)に記憶しておいてもよい。
【0071】
このような複数チャンネル分の楽音生成システムを構成するには、他に、次のようなことが必要である。すなわち、位相角ステップデータメモリ71をチャンネル数と同じ段数をもつ、帰還入力型のシフトレジスタとしたり、読み書き可能なメモリ(RAM)としたり、アドレスコントローラ40A、85Aのカウンタ43、86をチャンネル数と同じ数分用意して、デマルチプレクサ又は選択器を介して、書込要求信号又はキーオンイベント信号により、各カウントデータをカウント又はクリアしたり、ループ時間判別部81の基準時間変更器140、基準時間発生器141、ループカウンタ142をチャンネル数と同じ数分用意して、マルチプレクサ又はデータセレクタを介して、ループカウンタ142…からの各タイムカウントデータを比較器146に与えたりすることになる。
【0072】
9.エンベロープ波形のリピート再生
図14は、エンベロープ波形発生装置29の別の実施例を示すもので、この実施例は、図15に示すように、エンベロープ波形の各フェーズにつき、レベルデータLVLi、スピードデータSPDiのフェーズとレベルデータLVLj、スピードデータSPDjのフェーズとを交互にリピートするようにしたものである。そして、このリピート回数を示すのがリピート回数データRPiである。
【0073】
これら、レベルデータLVLi、LVLj、スピードデータSPDi、LVLj、リピート回数データRPiは、制御装置10及びアドレスコントローラ85によって、ROM13より読み出され、データラッチ61、62のいずれかにラッチされる。データラッチ61又はデータラッチ62からのレベルデータLVLi、LVLj、スピードデータSPDi、LVLj、リピート回数データRPiのうち、レベルデータLVLi、LVLjは、選択器60を介し、さらに選択器170を介して、レベルデータLVLi、レベルデータLVLjのいずれかがセレクトされ、加算器36に与えられる。またスピードデータSPDi、LVLjは、選択器60を介し、さらに選択器171を介して、スピードデータSPDi、スピードデータSPDjのいずれかがセレクトされ、乗算器35に与えられる。さらに、リピート回数データRPiは、選択器60を介し、比較器172に与えられる。
【0074】
そして、エンベロープデータENVがフェーズの最終地点まで到達して、比較器37より一致信号が出力されると、この一致信号はフリップフロップ175に入力されて、フリップフロップ175のQ出力の状態を反転させる。このフリップフロップ175は上述したフリップフロップ69、105と全く同じものであり、キーオンイベント信号によりクリアされる。このフリップフロップ175のQ出力は、上記選択器170、171に選択切換信号として与えられ、1つのフェーズ終了ごとに、選択器170、171の選択内容がレベルデータLVLi、スピードデータSPDiとレベルデータLVLj、スピードデータSPDjとの間で切り換えられる。
【0075】
このフリップフロップ175のQ出力は、リピートカウンタ173に入力されて、フェーズのリピート回数がカウントされ、このカウントデータは、上記比較器172に与えられる。比較器172には、上記リピート回数データRPiも与えられており、両データが一致すると、一致信号がノアゲート174を介して、リピートカウンタ173にクリア信号として入力されるとともに、アンドゲート69Aを介して、フリップフロップ69に入力されて、フリップフロップ69のQ出力の状態を反転させる。これにより、選択器60の選択内容がデータラッチ61とデータラッチ62との間で切り換えられ、次のリピートセクションのエンベロープデータ生成の実行に移行する。上記リピートカウンタ173は、キーオンイベント信号によってもクリアされる。他の内容は、上記図2のエンベロープ波形発生装置29と同じである。
【0076】
このように、エンベロープ波形のフェーズをリピートするパラメータ信号生成装置についても、レベルデータLVLi、LVLj、スピードデータSPDi、SPDj、リピート回数データRPiを記憶しておく場所を、トーンジェネレータ15、16…の中ではなく、ROM13にしておくことができ、このROM13は汎用メモリを用いることができるので、エンベロープ波形発生装置29をより安価なものにすることができるし、エンベロープ波形発生装置29を含んだトージェネレータ15、16…のLSI化も容易となる。
【0077】
なお、リピート回数データRPiをリピート時間データRPTiとして、図1及び図10のように変更することは容易であり、さらにループセクションのループ時間データRPTiを音色、音域、各種パラメータに応じて変えていくようにすることも可能である。
【0078】
この場合、図14のエンベロープ波形発生装置29においては、比較器172、リピートカウント173をはじめとる鎮線枠の部分を図10と同じものと置き換えればよい。そして、フェーズ終了信号をループエンド到達信号の代わりに、アンドゲート144に入力させ、キーオンイベント信号は、そのままキーオンイベント検出器31からのものを使用し、ループ終了信号は、リピート終了信号として出力させ、リピート回数データRPをリピート時間データに置き換え、フリップフロップ175のQ出力は、選択器170、171だけに与えられるようにすればよい。
【0079】
このように、エンベロープ波形のリピート生成においても、リピート生成を一定時間にすることができる。
【0080】
10.ループ再生の他の例
図16は、波形読出アドレス発生装置28のループ再生の他の実施例を示すものである。第16(1)は、ループセクションを片方向ではなく、両方向にわたって、往復繰り返し読み出しを行うものである。この場合には、加算器75からのループエンド到達信号が出力されるごとに、加算器75と加算器77に与えるデータを、2つの選択器を使って入れ換ればよい。すなわち、上記ループ到達信号をフリップフロップ105と同じフリップフロップに入力し、そのQ出力を上記2つの選択器のセレクト信号として用いる。
【0081】
そして、2つの選択器に、ループトップデータLTi、ループエンドデータLEiをともに与え、一方には、上記セレクト信号をそのまま与え、他方には、セレクト信号をインバータで反転して与え、各選択器からのセレクトデータを、加算器75、77に与える。また、上記位相角ステップデータメモリ71からの位相角ステップデータPDを、イクスクルシブオアゲート群を介して、加算器73に与え、このイクスクルシブオアゲート群の各ゲートに、上記セレクト信号を与え、さらに加算器73のCin端子に上記セレクト信号を入力させる。
【0082】
図16(2)は、各ループセクションを反対方向から片方向のみ、繰り返し読み出しを行うものである。この場合は、ループトップデータLTiをループエンドデータLEiより小さくし、さらに読出スタートアドレスデータSTをループトップデータLT1より小さくして、位相角ステップデータメモリ71からの位相角ステップデータPDを、インバータ群で反転させるとともに、加算器73のCin端子にハイレベル信号を入力させることになる。
【0083】
図16(3)は、各ループセクションを反対方向から両方向にわたって、往復繰り返し読み出しを行うものである。この場合は、上述した図16(1)の場合と全く同じ構成となり、さらにループトップデータLTiをループエンドデータLEiより小さくし、さらに読出スタートアドレスデータSTをループトップデータLT1より小さくすることになる。
【0084】
このようなループ再生についても、音高が高くても低くても、各ループセクションのループ再生の時間が一定となり、1つの楽音放音の間のループセクションのバランスがとられ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【0085】
他のパラメータ信号生成装置としては、楽音波形を例にとると、図17及び図18に示されているものがある。図17は、波形読出アドレス発生装置を示し、この波形読出アドレス発生装置は、本願発明では図4の波形読出アドレス発生装置28の部分に相当し、この図4の回路は、図3のトーンジェネレータ15、16…に相当するものである。
【0086】
図17おいて、楽音波形のループトップデータLTi、ループエンドデータLEi、ループ回数データLCiは、制御装置(図示せず)によって、ROM(図示せず)より読み出され、波形読出アドレスコントロールデータメモリ284にすべて書き込まれる。このループトップデータLTi、ループエンドデータLEi、ループ回数データLCiは、図8に示すように、楽音波形データWDの繰り返し読み出しを行うループセクションの先頭アドレスデータ、最終アドレスデータ、繰り返し読み出しの回数データを示している。
【0087】
スタートアドレス保持メモリ270には、読出スタートアドレスデータSTが、キーオンタイミングに(又はこれに先だったタイミングで)、上記制御装置によって、ROMより読み出されてセットされ、位相角ステップデータメモリ271には、位相角ステップデータPDが、同じくキーオンタイミングに(又はこれに先だったタイミングで)、上記制御装置によって、ROMより読み出されてセットされる。
【0088】
上記読出スタートアドレスデータSTは、図8に示すように、楽音波形データWDの読み出しのスタート地点の読出アドレスデータRADを示している。位相角ステップデータPDは、楽音波形データWDの読出アドレスデータRADのインクリメントステップ値を示しており、位相角ステップデータPDを順次加算して新たな読出アドレスデータRADが生成され、この値が大きいほど、楽音波形データWDの読出速度が速くなって、音高も高くなる。上記楽音波形データWDに対し、読出スタートアドレスデータST、ループトップデータLTi、ループエンドデータLEi、ループ回数データLCiをいろいろ変えることによって、種々の音色を実現できる。
【0089】
上記スタートアドレス保持メモリ270の読出スタートアドレスデータSTは、楽音放音開始時に、選択器272を介して、加算器273に与えられ、位相角ステップデータメモリ271からの位相角ステップデータPDと加算される。この加算データは、選択器278を介して、波形読出アドレス保持回路279に記憶され、波形データメモリ(図示せず)に読出アドレスデータRADとして送出されるとともに、楽音放音開始以降は、上記選択器272を介して、上記加算器273へ送出され、位相角ステップデータPDが再び加算される。加算器273と波形読出アドレス保持回路279との加算ループ回路で、読出アドレスデータRADに対する位相角ステップデータPDの累算が行われていく。
【0090】
また、加算器273からの読出アドレスデータRADは、補数器274で「2」の補数値すなわちマイナス値に反転され、加算器275で、波形読出アドレスコントロールデータメモリ284からのループエンドデータLEiに加算される。これにより、ループエンドデータLEiから読出アドレスデータRADが減算されることになる。
【0091】
この減算で、楽音波形データWDの読み出しが繰り返し読み出しのループセクションの最後まで到達して、読出アドレスデータRADがループエンドデータLEiに到達し、さらにループエンドデータLEiを越えると、加算器275よりキャリ信号が出力される。このキャリ信号は、差分保持回路276にラッチ信号として与えられ、読出アドレスデータRADがループエンドデータLEiを越えた分の端数データがラッチされる。
【0092】
この端数データは、加算器277で、ループトップデータLTiに加算されて、端数補正が行われ、これが選択器278を介して、新たな読出アドレスデータRADとして出力される。これにより、楽音波形データWDの読出アドレスデータRADが、ループエンドデータLEiからループトップデータLTiにジャンプするとともに、このジャンプ時に、読出アドレスデータRADがループエンドデータLEiを越えた分の端数データの補正も行われる。上記加算器275からのキャリ信号は、ループエンド到達信号として、上記選択器278に与えられて、加算器277側への選択切換が行われるほか、ループカウンタ281にも与えられて、インクリメントが行われる。
【0093】
このループカウンタ281のループカウント値は、比較器283に与えられて、ループ回数データLCiに一致したか否かのジャッジが行われ、一致すれば、この一致信号がループ終了信号として読出アドレス発生器285に与えられ、読出アドレス発生器285の読出アドレスデータが+1される。これにより、波形読出アドレスコントロールデータメモリ284より、次のループについてのループトップデータLTi、ループエンドデータLEi、ループ回数データLCiが読み出されて、次のループ再生にシフトする。上記比較器283からの一致信号は、ノアゲート282を介して、上記ループカウンタ281にクリア信号として与えられる。
【0094】
また、キーボード(図示せず)のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器280に入力されて、キーオン信号のアップエッジタイテミングでハイレベルとなるとともに、楽音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント信号は、上記ノアゲート282を介して、上記ループカウンタ281にクリア信号として与えられるほか、上記読出アドレス発生器285にも与えられて、読出アドレス発生器285がリセットされる。
【0095】
上述のものでは、1つのループセクションにおけるループ再生を回数で決定している。このため、音高が低く、従って楽音波形データWDの読み出し速度が遅い場合には、1つのループセクションの実行に要する時間が長くなり、図18(1)に示すように、1つの楽音放音開始から終了までの間に、各ループセクションの占める時間が大きくなる。これに対し、音高が高く、従って楽音波形データWDの読み出し速度が速い場合には、1つのループセクションの実行に要する時間が短くなり、図18(2)に示すように、1つの楽音放音開始から終了までの間に、各ループセクションの占める時間が小さくなる。
【0096】
これは、音高の変化により、楽音に余分な変化因子がはいってしまうことになる。むろん、音高の変化により、高調成分の含有率を変えること等は、広く行われていることであるが、このようなループ再生にあっては、むしろ余分な変化因子であって、聴感好ましくなく、また実際の楽器の音ともずれてしまうことになる。
【0097】
パラメータ信号の一部又は全部の繰り返し生成の時間を計測し、この計測時間が予め定められた繰り返し生成のための一定時間に達したとき、上記繰り返し生成を終了させるようにすれば、図9に示すように、音高のいかんにかかわらず、パラメータ信号の繰り返し生成の時間を常に一定にすることができ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【0098】
また、波形読出アドレスコントロールデータメモリ284に記憶するデータは、楽音波形データWDのループ再生のセクションの数に応じて多くなる。従って、楽音波形が複雑に変化する、自然音に近い楽音を実現するには、波形読出アドレスコントロールデータメモリ284にセットするデータの数も多くなる。そうすると、波形読出アドレス発生装置に内蔵される波形読出アドレスコントロールデータメモリ284のメモリ容量が大きくなり、それだけ波形読出アドレス発生装置が高価になる。
【0099】
これに対し、汎用メモリを用いて、ここにレベルデータLVLi、スピードデータSPDi、ループトップデータLTi、ループエンドデータLEi、ループ回数データLCiを記憶し、CPU等により、これらのデータを、その都度読み出して、エンベロープ波形発生装置や波形読出アドレス発生装置に送り込むことが考えられる。この方が、エンベロープ波形発生装置や波形読出アドレス発生装置がより安価となり、エンベロープ波形発生装置や波形読出アドレス発生装置を含むトーンジェネレータ15、16…のLSI化も容易となる。さらにデータを記憶しておくメモリも汎用のもので済み、安価となる。
【0100】
このような汎用メモリを使用することは、CPUが、その都度、必要なデータをエンベロープ波形発生装置や波形読出アドレス発生装置に送り込まなければならず、CPU等の制御装置の負担が大きくなって処理の遅れをきたし、スムーズな楽音の生成放音が難しくなることになる。しかしながら、高速処理の可能なCPUも製造されてきており、エンベロープ波形発生装置や波形読出アドレス発生装置にとって必要なデータを、エンベロープ波形発生装置や波形読出アドレス発生装置以外のところに記憶させても、楽音の生成放音がスムーズにできるようになっている。よって、楽音の生成放音処理に遅れをきたさずに、より安価なパラメータ信号生成装置を提供することができる。
【0101】
本願発明は上記実施例に限定されず、本願発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、本願発明ではレベルデータLVLi、スピードデータSPDi、リピート回数データRPiあるいはループトップデータLTi、ループエンドデータLEi、ループ時間データLTMi(ループ回数データLCi)等を1つのワードのデータとして述べてきたが、これには限定されず、システムのビット数に合わせて、複数に分割し、複数ワードよりなるデータとしてもよい。また、ループ時間判別部81の基準時間変更器140に入力されるデータは、音色、エフェクトのほか、アフタータッチデータ、イニシャルタッチデータ等の発音操作の強弱又は遅速等のデータ等を含めてもよく、要はループ再生時間が音高のいかんにかかわらず一定にできる要素があればよい。
【0102】
なお、パラメータ信号には、楽音波形、エンベロープ波形、楽音波形にエンベロープ波形が合成された波形等の時間的に逐次レベルの変化する信号のほか、楽音波形の読出アドレスデータ、楽音波形にエンベロープ波形が合成された波形の読出アドレスデータ等の時間的に値の変化する時間関数情報を含み、楽音波形には、矩形波、三角波、正弦波のほか、自然音の波形等、あらゆる波形が含まれる。
【0103】
本件分割出願に係る親出願の出願当初の特許請求の範囲は以下のとおりである。
[A]パラメータ信号を生成するパラメータ信号生成手段と、 このパラメータ信号生成手段で生成される波形の一部又は全部につき、繰り返し生成を行わせる繰り返し生成手段と、 この繰り返し生成手段の繰り返し生成の時間を計測する繰り返し時間計測手段と、 この繰り返し時間計測手段の計測時間が予め定められた繰り返し生成のための一定時間に達したか否かを判別する判別手段と、 この判別手段の判別結果に応じて、上記繰り返し生成手段の繰り返し生成を終了させる繰り返し生成制御手段とを備えたことを特徴とする楽音に関するパラメータ信号生成装置。
【0104】
[B]上記繰り返し生成制御手段は、繰り返し生成手段に対し、次の別の繰り返し生成に移行させる手段であることを特徴とする請求項A記載の楽音に関するパラメータ信号生成装置。
【0105】
[C]上記判別手段で判別する一定時間は、音色、エフェクト、発音操作の強弱又は遅速によって変化するものであることを特徴とする請求項A記載の楽音に関するパラメータ信号生成装置。
【0106】
パラメータ信号の一部又は全部の繰り返し生成の時間を計測し、この計測時間が予め定められた繰り返し生成のための一定時間に達したとき、上記繰り返し生成を終了させることにより、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止する。
【0107】
[D]楽音信号を生成する生成手段と、 この生成される楽音信号を制御する制御信号の目標値と演算値とであって、順次供給される当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段と、 この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、 上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値と演算値とを上記演算手段に供給する供給手段とを備えたことを特徴とする電子楽器。
【0108】
本発明は、生成される楽音信号を制御する制御信号の目標値と演算値とであって、順次供給される当該目標値の間を当該演算値に基づいて演算し、これにより制御信号を生成する演算手段と、この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値と演算値とを上記演算手段に供給する供給手段とを備えた。
【0109】
したがって、演算を行う演算手段を、目標値及び演算値を供給して、電子楽器全体の動作を制御する供給手段とは別のところに設けることができるので、演算内容を簡単に変化させることができ、楽音信号の多様な変化を実現できる等の効果を奏する。
【0110】
[E]楽音信号を生成する生成手段と、 この生成される楽音信号を制御する制御信号のある値を持つ初期値、目標値及び演算値を記憶する値記憶手段であって、この初期値はこの目標値とは別に記憶され、 この値記憶手段から読み出される当該初期値と当該目標値との間及び当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段であって、この演算手段は上記値記憶手段とは別体に構成され、 この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、 電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値及び演算値を上記値記憶手段から読み出して上記演算手段に供給するとともに、演算開始時に上記初期値を上記値記憶手段から読み出して上記演算手段に供給する供給手段とを備えたことを特徴とする電子楽器。
【0111】
[F]楽音信号を生成する生成手段と、 この生成される楽音信号を制御する制御信号の目標値及び演算値であって、供給される当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段と、 この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、 上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値及び演算値を上記演算手段に供給する値供給手段と、 上記目標値及び演算値をそれぞれ記憶する少なくとも2つの記憶手段とを備え、一方の記憶手段から上記演算手段に対して記憶された目標値及び演算値が読み出されて供給され、上記値供給手段から他方の記憶手段に対して次の目標値及び演算値が供給されて書き込まれ、上記現在値が上記目標値に到達したことの検出に応じて、これら上記演算手段への供給と上記値供給手段からの供給とが各記憶手段につき交互に切り換えられることを特徴とする電子楽器。
【0112】
【発明の効果】
本発明は、楽音に関する波形データの一部又は全部の繰り返し生成の時間が予め定められた繰り返し生成のための時間に達したとき、当該繰り返し生成を終了させるようにした。したがって、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止することができる等の効果を奏する。
【図面の簡単な説明】
【図1】波形読出アドレス発生装置28を示す。
【図2】エンベロープ波形発生装置29を示す。
【図3】パラメータ信号生成装置の全体回路を示す。
【図4】トーンジェネレータ15、16…を示す。
【図5】エンベロープ波形についてのアドレスコントローラ40とROM13を示す。
【図6】エンベロープ波形の各フェーズを示す。
【図7】楽音波形についてのアドレスコントローラ85とROM13を示す。
【図8】楽音波形データWDと楽音波形データWDの各ループセクションを示す。
【図9】ループ再生の音高に応じた変化を示す。
【図10】ループ時間判別部81を示す。
【図11】複数チャンネルの楽音生成システムの実施例を示す。
【図12】図11の回路の各部の信号のタイムチャートを示す。
【図13】複数チャンネルの楽音生成システムの実施例を示す。
【図14】エンベロープ波形の各フェーズをリピート再生する実施例を示す。
【図15】図14の回路の各部の信号のタイムチャートを示す。
【図16】楽音波形データWDのループ再生の他の実施例を示す。
【図17】他の例を示す。
【図18】他の例を示す。
【符号の説明】
10、10A…制御装置、13…ROM、15、16…トーンジェネレータ、28、28A…波形読出アドレス発生装置、29、29A…エンベロープ波形発生装置、40、85…アドレスコントローラ、61、62、107、108…データラッチ、81…ループ時間判別部、112…RAM、140…基準時間変更器、141…基準時間発生器。
Claims (6)
- 楽音に関する波形データを保持する手段と、
この保持された楽音に関する波形データの一部である繰り返しセクションの先頭と末尾を示す任意に指定可能なセクションデータと、この各セクションの繰り返しの時間を示す各時間データとを、複数発生する手段であって、この複数のセクションデータはそれぞれ異なるものであり、
音色または音高若しくは音域に基づいて、上記発生される複数のセクションデータの選択を別の複数のセクションデータの選択に切り換えることにより、上記楽音に関する波形データの繰り返しセクションを音色または音高若しくは音域によって切り換え、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにする手段と、
1つの楽音放音開始から終了までの間の一部において、上記選択されたセクションデータの1つに基づいて、上記保持された楽音に関する波形データの上記繰り返しセクションにつき、繰り返し生成を行う手段と、
この楽音に関する波形データの繰り返し生成の時間を計測し、この計測された時間が、上記対応する時間データに達したか否かを判別し、この判別結果に応じて、上記繰り返し生成を終了する手段と、
上記1つの楽音放音開始から終了までの間の一部において、この繰り返し生成の終了の後、上記選択された次の別のセクションデータ及びこのセクションに対応する時間データに基づいて、楽音に関する波形データの次の別の異なるセクションの繰り返し生成に移行する手段とを備えたことを特徴とする楽音に関する波形データの生成装置。 - 保持される楽音に関する波形データの一部である繰り返しセクションの先頭と末尾を示す任意に指定可能なセクションデータと、この各セクションの繰り返しの時間を示す各時間データとを複数発生させることであって、この複数のセクションデータはそれぞれ異なるものであり、
音色または音高若しくは音域に基づいて、上記発生される複数のセクションデータの選択を別の複数のセクションデータの選択に切り換えることにより、上記楽音に関する波形データの繰り返しセクションを音色または音高若しくは音域によって切り換えさせ、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにさせ、
1つの楽音放音開始から終了までの間の一部において、上記選択されたセクションデータの1つに基づいて、上記保持された楽音に関する波形データの一部につき、繰り返し生成を行わせ、
この楽音に関する波形データの繰り返し生成の時間を計測させ、この計測された時間が、上記対応する時間データに達したか否かを判別させ、この判別結果に応じて、上記繰り返し生成を終了させ、
上記1つの楽音放音開始から終了までの間の一部において、この繰り返し生成の終了の後、上記選択された次の別のセクションデータ及びこのセクションに対応する時間データに基づいて、楽音に関する波形データの次の別の異なるセクションの繰り返し生成に移行させることを特徴とする楽音に関する波形データの生成方法。 - 楽音に関する波形データを保持する手段と、
この楽音に関する波形データの一部につき、繰り返し生成を行うための繰り返しセクションの範囲を音色または音高若しくは音域によって変更し、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにする手段と、
1つの楽音放音開始から終了までの間において、上記保持された楽音に関する波形データの一部である繰り返しセクションにつき、繰り返し生成を行う手段と、
この楽音に関する波形データの繰り返し生成の時間を計測し、この計測された時間が、予め定められた繰り返し生成のための時間データに達した後、さらに、上記楽音に関する波形データの繰り返し生成が、繰り返しセクションの末尾に達したか否かを判別し、この判別結果に応じて、上記繰り返し生成を終了する手段とを備えたことを特徴とする楽音に関する波形データの生成装置。 - 保持される楽音に関する波形データの一部につき、繰り返し生成を行うための繰り返しセクションの範囲を音色または音高若しくは音域によって変更させ、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにさせ、
1つの楽音放音開始から終了までの間において、保持される楽音に関する波形データの一部である繰り返しセクションにつき、繰り返し生成を行わせ、 この楽音に関する波形データの繰り返し生成の時間を計測させ、この計測された時間が、予め定められた繰り返し生成のための時間データに達した後、さらに、上記楽音に関する波形データの繰り返し生成が、繰り返しセクションの末尾に達したか否かを判別させ、この判別結果に応じて、上記繰り返し生成を終了させることを特徴とする楽音に関する波形データの生成方法。 - 上記楽音に関する波形データの発生開始の指示に応じて、または上記繰り返し生成のための時間データに達したことの判別に応じて、上記繰り返し生成の時間を計測する手段を初期状態にし、
上記楽音に関する波形データの繰り返し生成では、当該波形の順方向のほか逆方向にも生成され、
上記楽音に関する波形データの繰り返し生成は、楽音に関する波形データのゼロレベルポイントの間で実行されることを特徴とする請求項1または3記載の楽音に関する波形データの生成装置。 - 上記楽音に関する波形データの複数の繰り返しセクションの一部は、互いに重複しており、
上記繰り返し生成のための時間データに達したことが判別されたとき、次の別の異なるセクションの繰り返し生成のための時間データが発生され、
上記繰り返し生成の時間は、音色、音域、エフェクト、発音操作の強弱又は遅速によって変化するものであり、
上記楽音に関する波形データの生成装置は、上記繰り返しの時間を示す時間データを発生する手段を備えており、この手段と、上記楽音に関する波形データを保持する手段とは、別体であることを特徴とする請求項1記載の楽音に関する波形データの生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001168787A JP3605049B2 (ja) | 2001-06-04 | 2001-06-04 | 楽音の制御信号の生成装置及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001168787A JP3605049B2 (ja) | 2001-06-04 | 2001-06-04 | 楽音の制御信号の生成装置及び制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03935098A Division JP3217745B2 (ja) | 1998-02-20 | 1998-02-20 | 電子楽器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002014678A JP2002014678A (ja) | 2002-01-18 |
JP3605049B2 true JP3605049B2 (ja) | 2004-12-22 |
Family
ID=19010960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001168787A Expired - Lifetime JP3605049B2 (ja) | 2001-06-04 | 2001-06-04 | 楽音の制御信号の生成装置及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3605049B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4998046B2 (ja) * | 2007-03-29 | 2012-08-15 | ヤマハ株式会社 | 楽音発生装置 |
-
2001
- 2001-06-04 JP JP2001168787A patent/JP3605049B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002014678A (ja) | 2002-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0160493B1 (ko) | 디지탈 오디오 신호 발생 장치 및 데이타 처리 장치 | |
EP0377459B1 (en) | Electronic musical instrument having plural different tone generators | |
EP0149896B1 (en) | Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument | |
JPH0772829B2 (ja) | 電子楽器におけるパラメ−タ供給装置 | |
JPH079588B2 (ja) | 楽音発生装置 | |
JP2571911B2 (ja) | 楽音信号発生装置 | |
US5486644A (en) | Electronic musical instrument having a waveform memory for storing variable length waveform data | |
JP3605049B2 (ja) | 楽音の制御信号の生成装置及び制御方法 | |
US5264657A (en) | Waveform signal generator | |
JPH0820872B2 (ja) | 波形発生装置 | |
JPH0766267B2 (ja) | 楽音発生装置 | |
JP2766662B2 (ja) | 楽音発生装置の波形データ読み出し装置及び波形データ読み出し方法 | |
US5239123A (en) | Electronic musical instrument | |
JPH0664466B2 (ja) | 電子楽器 | |
JP2584054B2 (ja) | パラメータ信号生成装置 | |
JP2760436B2 (ja) | 楽音に関する波形データの生成装置及び生成方法 | |
JP3217745B2 (ja) | 電子楽器 | |
JP3337450B2 (ja) | 電子楽器 | |
US6207885B1 (en) | System and method for rendition control | |
JPH0428319B2 (ja) | ||
JPS6113239B2 (ja) | ||
JP2722665B2 (ja) | 楽音発生装置 | |
JP2576615B2 (ja) | 処理装置 | |
JP2576614B2 (ja) | 処理装置 | |
JPH05717B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040506 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040805 |
|
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: 20040907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040930 |
|
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: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |