(57)【特許請求の範囲】
【請求項１】
楽音に関する波形データを保持する手段と、
この保持された楽音に関する波形データの一部である繰り返しセクションの先頭と末尾を示す任意に指定可能なセクションデータと、この各セクションの繰り返しの時間を示す各時間データとを、複数発生する手段であって、この複数のセクションデータはそれぞれ異なるものであり、
音色または音高若しくは音域に基づいて、上記発生される複数のセクションデータの選択を別の複数のセクションデータの選択に切り換えることにより、上記楽音に関する波形データの繰り返しセクションを音色または音高若しくは音域によって切り換え、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにする手段と、
１つの楽音放音開始から終了までの間の一部において、上記選択されたセクションデータの１つに基づいて、上記保持された楽音に関する波形データの上記繰り返しセクションにつき、繰り返し生成を行う手段と、
この楽音に関する波形データの繰り返し生成の時間を計測し、この計測された時間が、上記対応する時間データに達したか否かを判別し、この判別結果に応じて、上記繰り返し生成を終了する手段と、
上記１つの楽音放音開始から終了までの間の一部において、この繰り返し生成の終了の後、上記選択された次の別のセクションデータ及びこのセクションに対応する時間データに基づいて、楽音に関する波形データの次の別の異なるセクションの繰り返し生成に移行する手段とを備えたことを特徴とする楽音に関する波形データの生成装置。
【請求項２】
保持される楽音に関する波形データの一部である繰り返しセクションの先頭と末尾を示す任意に指定可能なセクションデータと、この各セクションの繰り返しの時間を示す各時間データとを複数発生させることであって、この複数のセクションデータはそれぞれ異なるものであり、
音色または音高若しくは音域に基づいて、上記発生される複数のセクションデータの選択を別の複数のセクションデータの選択に切り換えることにより、上記楽音に関する波形データの繰り返しセクションを音色または音高若しくは音域によって切り換えさせ、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにさせ、
１つの楽音放音開始から終了までの間の一部において、上記選択されたセクションデータの１つに基づいて、上記保持された楽音に関する波形データの一部につき、繰り返し生成を行わせ、
この楽音に関する波形データの繰り返し生成の時間を計測させ、この計測された時間が、上記対応する時間データに達したか否かを判別させ、この判別結果に応じて、上記繰り返し生成を終了させ、
上記１つの楽音放音開始から終了までの間の一部において、この繰り返し生成の終了の後、上記選択された次の別のセクションデータ及びこのセクションに対応する時間データに基づいて、楽音に関する波形データの次の別の異なるセクションの繰り返し生成に移行させることを特徴とする楽音に関する波形データの生成方法。
【請求項３】
楽音に関する波形データを保持する手段と、
この楽音に関する波形データの一部につき、繰り返し生成を行うための繰り返しセクションの範囲を音色または音高若しくは音域によって変更し、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにする手段と、
１つの楽音放音開始から終了までの間において、上記保持された楽音に関する波形データの一部である繰り返しセクションにつき、繰り返し生成を行う手段と、
この楽音に関する波形データの繰り返し生成の時間を計測し、この計測された時間が、予め定められた繰り返し生成のための時間データに達した後、さらに、上記楽音に関する波形データの繰り返し生成が、繰り返しセクションの末尾に達したか否かを判別し、この判別結果に応じて、上記繰り返し生成を終了する手段とを備えたことを特徴とする楽音に関する波形データの生成装置。
【請求項４】
保持される楽音に関する波形データの一部につき、繰り返し生成を行うための繰り返しセクションの範囲を音色または音高若しくは音域によって変更させ、これにより同じ楽音に関する波形データが保持されても、繰り返し生成後の楽音に関する波形データ全体を、音色または音高若しくは音域によって異なるようにさせ、
１つの楽音放音開始から終了までの間において、保持される楽音に関する波形データの一部である繰り返しセクションにつき、繰り返し生成を行わせ、  この楽音に関する波形データの繰り返し生成の時間を計測させ、この計測された時間が、予め定められた繰り返し生成のための時間データに達した後、さらに、上記楽音に関する波形データの繰り返し生成が、繰り返しセクションの末尾に達したか否かを判別させ、この判別結果に応じて、上記繰り返し生成を終了させることを特徴とする楽音に関する波形データの生成方法。
【請求項５】
上記楽音に関する波形データの発生開始の指示に応じて、または上記繰り返し生成のための時間データに達したことの判別に応じて、上記繰り返し生成の時間を計測する手段を初期状態にし、
上記楽音に関する波形データの繰り返し生成では、当該波形の順方向のほか逆方向にも生成され、
上記楽音に関する波形データの繰り返し生成は、楽音に関する波形データのゼロレベルポイントの間で実行されることを特徴とする請求項１または３記載の楽音に関する波形データの生成装置。
【請求項６】
上記楽音に関する波形データの複数の繰り返しセクションの一部は、互いに重複しており、
上記繰り返し生成のための時間データに達したことが判別されたとき、次の別の異なるセクションの繰り返し生成のための時間データが発生され、
上記繰り返し生成の時間は、音色、音域、エフェクト、発音操作の強弱又は遅速によって変化するものであり、
上記楽音に関する波形データの生成装置は、上記繰り返しの時間を示す時間データを発生する手段を備えており、この手段と、上記楽音に関する波形データを保持する手段とは、別体であることを特徴とする請求項１記載の楽音に関する波形データの生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、電子楽器に関し、楽音を制御する信号を生成する装置または方法に関する。
【０００２】
【従来技術】
従来、楽音波形データの一部または全部を繰り返し生成するループ再生という手法が採られている。この場合１つのループセクションにおけるループ再生を「回数」で決定している。このため、音高が低く、従って楽音波形データの読み出し速度が遅い場合には、１つのループセクションの実行に要する時間が長くなり、図１８（１）に示すように、１つの楽音放音開始から終了までの間に、各ループセクションの占める「時間」が大きくなる。これに対し、音高が高く、従って楽音波形データの読み出し速度が速い場合には、１つのループセクションの実行に要する時間が短くなり、図１８（２）に示すように、１つの楽音放音開始から終了までの間に、各ループセクションの占める「時間」が小さくなる。
【０００３】
【発明が解決しようとする課題】
これは、音高の変化により、楽音に余分な変化因子がはいってしまうことになる。むろん、音高の変化により、高調成分の含有率を変えること等は、広く行われていることであるが、このようなループ再生にあっては、むしろ余分な変化因子であって、聴感好ましくなく、また実際の楽器の音ともずれてしまうことになる。
【０００４】
本発明は、上述した課題を解決するためになされたものであり、音高の変化いかんにかかわらず、常に同じループ再生を行うことのできるパラメータ信号生成装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明は、楽音に関する波形データの一部又は全部の繰り返し生成の時間が予め定められた繰り返し生成のための時間に達したとき、当該繰り返し生成を終了させるようにした。    これにより、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止することができる。
【０００６】
【発明の実施の形態】
１．全体回路
図３は、楽音に関するパラメータ信号の生成装置の全体回路を示す。ＲＯＭ１３には、制御装置１０が各種処理を行うためのプログラムのほか、楽音波形データＷＤを繰り返し読み出しするためのループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉ、エンベロープ波形生成のためのスピードデータＳＰＤｉ、レベルデータＬＶＬｉ、後述する位相角ステップデータＰＤ、読出スタートアドレスデータＳＴ、スタート振幅値ＬＶＬ０をはじめとする楽音信号生成に必要な各種データが記憶されている。
【０００７】
ＲＡＭ１４には、制御装置１０の各種中間処理データやキーボード１１や音色／パラメータスイッチ部１２の操作状態を検出するためのデータ、あるいは操作状態に応じて割り当てられたデータ等の電子楽器全体の動作を制御するための内容が記憶される。このＲＡＭ１４に、次述するトーンジェネレータ１５、１６…各々へ割り当てた楽音に関する情報を記憶させてもよい。
【０００８】
キーボード１１や音色／パラメータスイッチ部１２の各キー及び各スイッチの操作は、制御装置１０によってサンプリング検出され、各キーで指定された音高、キータッチ及び各スイッチで指定された音色／パラメータ等に応じた楽音の生成放音処理が実行される。制御装置１０は、電子楽器全体の動作を制御する上記各種処理を実行する。
【０００９】
トーンジェネレータ１５、１６…では、上記指定された音高、キータッチ及び音色／パラメータの楽音信号が生成され、サウンドシステム１７よりミキシング出力される。トーンジェネレータ１５、１６…は、１チッＬＳＩで構成されている。
【００１０】
このトーンジェネレータ１５、１６…では、楽音波形データＷＤの各ループごとの再生やエンベロープ波形の各フェーズごとの生成が行われており、各ループ終了ごと又は各フェーズ終了ごとに書込要求信号が出力される。この書込要求信号は、制御装置１０にいったん与えられた後、アドレスコントローラ４０、８５…に書込信号として与えられて、ＲＯＭ１３に対する読出アドレスデータが、次のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉ、スピードデータＳＰＤｉ、レベルデータＬＶＬｉについてのものにインクリメントされ、これらのデータが読み出され、トーンジェネレータ１５、１６…へ送られる。
【００１１】
このアドレスコントローラ４０、８５…は、トーンジェネレータ１５、１６…夫々に対応して複数個設けられている。アドレスコントローラ４０、８５…からＲＯＭ１３へのアクセスは、実際には図１３に示すような選択器１２２を通じて、時分割的に行われ、制御装置１０からのアドレスデータと交互に切り換えられる。
【００１２】
２．トーンジェネレータ１５、１６…
図４は、トーンジェネレータ１５、１６…の１つを示すもので、キー情報メモリ２０には、上記キーボード１１の同時操作のキーのうち、当該トーンジェネレータ１５、１６…にチャンネル割り当てが行われたキーのキー情報が記憶され、このキー情報は、波形読出アドレス発生装置２８及びエンベロープ波形発生装置２９に送られ、キー情報に応じた楽音が生成される。このキー情報には、主に後述する位相角ステップデータＰＤ、読出スタートアドレスデータ、スタート振幅値ＬＶＬ０等が記憶される。このキー情報メモリ２０は、完全に省略して、これらのデータを、直接ＲＯＭ１３から制御装置１０によって読み出すようにしたり、ＲＯＭ１３からＲＡＭ１４にいったんセットして制御装置１０によって読み出すようにしてもよい。
【００１３】
これら波形読出アドレス発生装置２８及びエンベロープ波形発生装置２９には、上記ＲＯＭ１３より読み出された、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉ、スピードデータＳＰＤｉ、レベルデータＬＶＬｉも与えられ、ループ再生に必要な読出アドレスデータＲＡＤや、各フェーズごとにエンベロープデータＥＮＶが生成される。このうち波形読出アドレス発生装置２８で生成された、ループ再生のための読出アドレスデータＲＡＤは、波形データメモリ２５に与えられ、楽音波形データＷＤが読み出され、乗算器２６で、上記エンベロープ波形発生装置２９からのエンベロープデータＥＮＶが乗算され、Ｄ／Ａ変換器２７を介して、アナログ信号として出力される。
【００１４】
３．エンベロープ波形発生装置２９
図２は、エンベロープ波形発生装置２９の回路構成を示すもので、エンベロープ波形の各フェーズごとのレベルデータＬＶＬｉ、スピードデータＳＰＤｉは、制御装置１０及びアドレスコントローラ４０によって、ＲＯＭ１３より読み出され、データラッチ６１、６２のいずれかにラッチされる。
【００１５】
データがラッチされない方のデータラッチには、現在生成中のエンベロープのフェーズに関するレベルデータＬＶＬｉ及びスピードデータＳＰＤｉがラッチされていて、書き込みが行われるデータラッチと、読み出しが行われるデータラッチとが、交互に切り換えられる。データラッチ６１又はデータラッチ６２からのレベルデータＬＶＬｉ及びスピードデータＳＰＤｉのうち、レベルデータＬＶＬｉについては、選択器６０を介し、補数器３３及び加算器３６に与えられ、スピードデータＳＰＤｉについては、同じく選択器６０を介し、乗算器３５に与えられる。
【００１６】
これらレベルデータＬＶＬｉ、スピードデータＳＰＤｉは、図６に示すように、エンベロープ波形の各フェーズにおける、レベル（到達目標）とレート（到達速度）の大きさを示すデータである。
【００１７】
スタート振幅値保持メモリ３０には、キーオンタイミングに（又はこれに先だったタイミングで）、エンベロープ波形のスタート地点のスタート振幅値ＬＶＬ０が、キー情報メモリ２０より読み出されてセットされる。この場合、スタート振幅値ＬＶＬ０を、直接、制御装置１０及びアドレスコントローラ４０によって、ＲＯＭ１３又はＲＡＭ１４より読み出してもよい。このスタート振幅値ＬＶＬ０は、楽音放音開始時には、選択器３２を介して、加算器３４に与えられる。
【００１８】
一方、上記データラッチ６１又はデータラッチ６２からのレベルデータＬＶＬｉは、補数器３３で「２」の補数値、すなわちマイナス値に反転され、加算器３４で、上記スタート振幅値ＬＶＬ０に加算される。これにより、スタート振幅値ＬＶＬ０から到達目標のレベルデータＬＶＬｉが減算される。上記補数器３３は、例えばインバータ群で構成することができ、次の加算器３４のＣｉｎ端子にハイレベル信号が入力されて、プラスマイナス反転される。
【００１９】
上記選択器３２には、後述する振幅保持回路３８からのエンベロープデータＥＮＶも与えられており、楽音放音開始以降は、上記加算器３４に与えられて、エンベロープデータＥＮＶから到達目標のレベルデータＬＶＬｉが減算される。このエンベロープデータＥＮＶは、そのタイミングごとの現在のエンベロープ波形のレベルを示している。
【００２０】
次いで、このエンベロープデータＥＮＶの現在値から、到達目標のレベルデータＬＶＬｉが差し引かれた減算データ（エンベロープデータＥＮＶ−レベルデータＬＶＬｉ）に対し、乗算器３５で、上記データラッチ６１又はデータラッチ６２からのスピードデータＳＰＤｉが乗算される。この乗算データ（エンベロープデータＥＮＶ−レベルデータＬＶＬｉ）×スピードデータＳＰＤｉは、加算器３６で、到達目標のレベルデータＬＶＬｉに加算されて、上記振幅保持回路３８に記憶されるとともに、エンベロープデータＥＮＶとして、乗算器２６へ出力される。
【００２１】
これにより、図６に示すようなエンベロープデータＥＮＶが、スピードデータＳＰＤｉに応じたレートで変化するとともに、変化のステップが減算データ（エンベロープデータＥＮＶ−レベルデータＬＶＬｉ）に応じてさらに変化する。これは、到達目標のレベルデータＬＶＬｉに近づくに従って、エンベロープデータＥＮＶの変化のステップが小さくなることを意味する。
【００２２】
上記乗算器３５からの乗算データ（エンベロープデータＥＮＶ−レベルデータＬＶＬｉ）×スピードデータＳＰＤｉは、比較器３７にも与えられて、「０」になったか否かのジャッジが行われ、「０」になれば、その一致信号がフェーズ終了信号として出力される。このフェーズ終了信号は、Ｄ型のフリップフロップ６７のＣＫ端子に入力され、このフリップフロップ６７のＤ端子には、常にハイレベル信号が与えられており、ＣＫ端子にフェーズ終了信号が与えられると、そのＱ出力がハイレベルとなる。
【００２３】
このハイレベルとなるＱ出力は、エッジ検出器６６を介して、上記アドレスコントローラ４０に対する、次のフェーズのスピードデータＳＰＤｉ、レベルデータＬＶＬｉの書込要求信号として出力される。このエッジ検出器６６は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路で構成することができる。
【００２４】
上記書込要求信号により、上述したように、スピードデータＳＰＤｉ、レベルデータＬＶＬｉが、データラッチ６１、６２のいずれかにラッチされる。この場合のラッチ信号は、制御装置１０よりの上記書込要求信号に応答したローレベルの書込信号であり、この信号はオアゲート６３又はオアゲート６４を介して、データラッチ６１又はデータラッチ６２に与えられる。この書込信号は、上記フリップフロップ６７にリセットクリア信号としても与えられる。
【００２５】
上記比較器３７からのフェーズ終了信号は、アンドゲート６９Ａを介して、フリップフロップ６９に入力されて、フリップフロップ６９のＱ出力の状態を反転させる。このフリップフロップ６９は、セット（Ｓ）、リセット（Ｒ）入力付のＤ型フリップフロップの反転Ｑ出力をＤ入力に接続した、トグル動作をするＴ型のフリップフロップであり、リセットクリア信号の入力により、Ｑ出力はローレベルとなる。このフリップフロップ６９のＱ出力は、上記選択器１６０に選択切換信号として与えられ、１つのフェーズ終了ごとに、選択器６０の選択内容がデータラッチ６１とデータラッチ６２との間で切り換えられ、次のフェーズのエンベロープデータＥＮＶ生成の実行にシフトする。
【００２６】
また、フリップフロップ６９のＱ出力は、そのまま上記オアゲート６４に入力されるとともに、インバータ６５で反転されて、オアゲート６３に入力され、ラッチ可能なデータラッチが、データラッチ６１とデータラッチ６２とで切り換えられる。上記フリップフロップ６７の反転Ｑ出力は、アンドゲート６９Ａに開成信号として与えられ、この開成は、次のスピードデータＳＰＤｉ、レベルデータＬＶＬｉの書き込みまで、維持される。
【００２７】
また、キーボード１１のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器３１に入力されて、キーオン信号のアップエッジタイミングでハイレベルとなるとともに、楽音放音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント検出器３１は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路等で構成することができる。上記キーオンイベント信号は、上記選択器３２に与えられて、楽音放音開始時に、スタート振幅値保持メモリ３０のスタート振幅値ＬＶＬ０への選択切換が行われる。さらに上記キーオンイベント信号はインバータ６８で反転されて、フリップフロップ６９をクリアして、キーオン時にデータラッチ６１の方を使用するようにしている。
【００２８】
４．アドレスコントローラ４０
図５は、アドレスコントローラ４０とアドレスコントローラ４０によって読み出しが行われるＲＯＭ１３の一部とを示す回路図であり、カウンタ４３は、上記トーンジェネレータ１５、１６…からのキーオンイベント信号によってクリアされる。この場合のキーオンイベント信号は、実際にはインバータ４１によって反転されたものが使用される。
【００２９】
またカウンタ４３は、制御装置１０からの書込信号によって、インクリメントされ、ＲＯＭ１３の各番地のレベルデータＬＶＬｉ、スピードデータＳＰＤｉに対するアドレス指定が順次切り換えられていく。このアドレスコントローラ４０から、ＲＯＭ１３には、レベルデータＬＶＬｉ、スピードデータＳＰＤｉの記憶エリアの上位アドレスデータが付加されて出力される。この上位アドレスデータは、ラッチ４３Ａを用い、このラッチ４３Ａに制御装置１０からプリセットされるが、音色および音高（音域）等に応じて記憶エリアを切換選択するようにしてもよいし、予め複数のローレベルビット（アースレベル）のうちの特定ビットをインバータで反転させて、上位アドレスデータとしてもよい。
【００３０】
上記アンドゲート４２は、図６のキーオン中の一定レベルを維持する間ＣＬ１と、キーオフ後のやはり一定レベル（「０」レベル）を維持する間ＣＬ２は閉成される。すなわち、キーオン最終検出器４４は、キーオン中の一定レベル期間ＣＬ１のすぐ前の、レベルデータＬＶＬ６、スピードデータＳＰＤ６が読み出されたとき、カウンタ４３の出力データ内容から、そのことを検出し、その検出信号を、アンドゲート４７を介し、ノアゲート４６で反転させて、アンドゲート４２に与えて、アンドゲート４２を閉成させて、カウンタ４３のインクリメントを一時的にストップさせる。
【００３１】
また、キーオフ最終検出器４５は、キーオフ後の一定レベル期間ＣＬ２のすぐ前の、レベルデータＬＶＬｍ、スピードデータＳＰＤｍが読み出されたとき、カウンタ４３の出力データ内容から、そのことを検出し、その検出信号を、アンドゲート４８を介し、ノアゲート４６で反転させて、アンドゲート４２に与えて、アンドゲート４２を閉成させて、カウンタ４３のインクリメントをストップさせる。このとき、キーオン信号はローレベルであり、インバータ４９を介して、アンドゲート４８の方が開成されている
【００３２】
こうして、レベルデータＬＶＬｉ、スピードデータＳＰＤｉを記憶しておく場所を、トーンジェネレータ１５、１６…の中ではなく、ＲＯＭ１３にしておくことができ、このＲＯＭ１３は汎用メモリを用いることができるので、エンベロープ波形発生装置２９をより安価なものにすることができるし、エンベロープ波形発生装置２９を含んだトーンジェネレータ１５、１６…のＬＳＩ化も容易となる。
【００３３】
５．波形読出アドレス発生装置２８
図１は、波形読出アドレス発生装置２８の回路構成を示すもので、楽音波形データＷＤのループ再生のためのループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉは、制御装置１０及びアドレスコントローラ８５によって、ＲＯＭ１３より読み出され、データラッチ１０７、１０８のいずれかにラッチされる。
【００３４】
データがラッチされない方のデータラッチには、現在再生中の楽音波形データＷＤの繰り返し読み出しを行うループセクションに関するループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉがラッチされていて、書き込みが行われるデータラッチと、読み出しが行われるデータラッチとが交互に切り換えられる。
【００３５】
データラッチ１０７又はデータラッチ１０８のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉのうち、ループトップデータＬＴｉについては、選択器１０３を介し、加算器７７に与えられ、ループエンドデータＬＥｉについては、同じく選択器１０３を介し、加算器７５に与えられ、ループ時間データＬＴＭｉについては、やはり選択器１０３を介し、ループ時間判別部８１に与えられる。
【００３６】
上記ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉは、楽音波形データＷＤの繰り返し読み出しを行うループセクションの先頭アドレスデータ、最終アドレスデータ、繰り返し読み出しの時間データを示している。
【００３７】
スタートアドレス保持メモリ７０には、読出スタートアドレスデータＳＴが、キーオンタイミングに（又はこれに先だったタイミングで）、キー情報メモリ２０より読み出されてセットされ、位相角ステップデータメモリ７１には、位相角ステップデータＰＤが、同じくキーオンタイミングに（又はこれに先だったタイミングで）、キー情報メモリ２０より読み出されてセットされる。この場合、これら読出スタートアドレスデータＳＴ、位相角ステップデータＰＤを、直接、制御装置１０及びアドレスコントローラ４０によって、ＲＯＭ１３又はＲＡＭ１４より読み出してもよい。
【００３８】
上記読出スタートアドレスデータＳＴは、図８に示すように、楽音波形データＷＤの読み出しのスタート地点の読出アドレスデータＲＡＤを示している。位相角ステップデータＰＤは、楽音波形データＷＤの読出アドレスデータＲＡＤのインクリメントステップ値を示しており、位相角ステップデータＰＤを累算して読出アドレスデータＲＡＤが生成され、この値が大きいほど、楽音波形データＷＤの読出速度が速くなって、音高も高くなる。上記楽音波形データＷＤに対し、読出スタートアドレスデータＳＴ、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉをいろいろ変えることによって、種々の音色を実現できる。
【００３９】
上記スタートアドレス保持メモリ７０の読出スタートアドレスデータＳＴは、楽音放音開始時に、選択器７２を介して、加算器７３で、上記位相角ステップデータメモリ７１からの位相角ステップデータＰＤが加算される。この加算データは、選択器７８を介して、波形読出アドレス保持回路７９に記憶され、波形データメモリ２５に読出アドレスデータＲＡＤとして送出されるとともに、楽音放音開始以降は、上記選択器７２を介して、上記加算器７３へ送出され、位相角ステップデータＰＤが再び加算される。加算器７３と波形読出アドレス保持回路７９との加算ループ回路で、読出アドレスデータＲＡＤに対する位相角ステップデータＰＤの累算が行われていく。
【００４０】
また、加算器７３からの読出アドレスデータＲＡＤは、補数器７４で、「２」の補数値すなわちマイナス値に反転され、加算器７５で、上記データラッチ１０７又はデータラッチ１０８からのループエンドデータＬＥｉに加算される。これにより、ループエンドデータＬＥｉから読出アドレスデータＲＡＤが減算されることになる。上記補数器７４は、例えばインバータ群で構成することができ、次の加算器７５のＣｉｎ端子にハイレベル信号が入力されて、プラスマイナス反転される。
【００４１】
この減算で、楽音波形データＷＤの読み出しが繰り返し読み出しのループセクションの最後まで達して、読出アドレスデータＲＡＤがループエンドデータＬＥｉに到達し、さらにループエンドデータＬＥｉを越えると、加算器７５よりキャリ信号が出力される。このキャリ信号は、差分保持回路７６にラッチ信号として与えられ、読出アドレスデータＲＡＤがループエンドデータＬＥｉを越えた分の端数データがラッチされる。
【００４２】
この端数データは、加算器７７で、ループトップデータＬＴｉに加算されて、端数補正が行われ、これが選択器７８を介して、新たな読出アドレスデータＲＡＤとして出力される。これにより、楽音波形データＷＤの読出アドレスデータＲＡＤが、ループエンドデータＬＥｉからループトップデータＬＴｉにジャンプするとともに、このジャンプ時に、読出アドレスデータＲＡＤがループエンドデータＬＥｉを越えた分の端数データの補正も行われる。上記加算器７５からのキャリ信号は、ループエンド到達信号として、上記選択器７８に与えられて、加算器７７側への選択切換が行われるほか、ループ時間判別部８１にも与えられる。
【００４３】
６．ループ時間判別部８１
図１０は、ループ時間判別部８１の回路構成を示すもので、基準時間変更器１４０は、例えばデコーダ等で構成することができ、キー情報メモリ２０から与えられる、又は制御装置１０によってＲＯＭ１３若しくはＲＡＭ１４から与えられる、音色データ、音域データ、その他各種パラメータデータ（動的因子又は静的因子）をデコードして、基準時間発生器１４１に与える。音色データとパラメータデータは、上記音色／パラメータスイッチ部１２で選択指定されたものであり、音域データは上記キーボード１１からのキーコードに基づいたもので、例えばキーコードのオクターブデータが用いられる。パラメータデータは、エフェクト、リズム等の選択内容や、モジュレーションホイール、ピッチベンダー等のコントローラの指定内容等を指す。
【００４４】
基準時間発生器１４１は、例えばプログラマブル進数カウンタやプログラマブル分周カウンタ等で構成することができ、上記基準時間変更器１４０からのデコードデータに応じた周期のパルス信号をループカウンタ１４２に与える。これにより、楽音波形データＷＤを繰り返し読み出しするループセクションのループ時間データＬＴＭを、音色、音域、各種パラメータに応じて、変えていくことができる。
【００４５】
ループカウンタ１４２は、与えられるパルス信号をタイムカウントして、比較器１４６に与える。比較器１４６は、上記データラッチ１０７又はデータラッチ１０８より与えられるループ時間データＬＴＭｉと、ループカウンタ１４２からのタイムカウントデータとを比較し、一致したら、その一致信号をループ時間到達信号として出力する。このループ時間到達信号は、ＳＲ型のフリップフロップ１４５のＳ端子に入力されて、フリップフロップ１４５がセットされ、そのＱ出力によりアンドゲート１４４が開成される。
【００４６】
そして、この直後のループエンド到達信号が、上記開成済のアンドゲート１４４を介して、ループ終了信号として出力される。このループ終了信号は、上記フリップフロップ１４５のＲ端子に入力されて、フリップフロップ１４５がリセットされるし、ノアゲート１４３を介して、上記ループカウンタ１４２にクリア信号として入力される。ループカウンタ１４２には、キーオンイベント信号もノアゲート１４３を介して、クリア信号として与えられる。このキーオンイベント信号は、楽音放音開始時にハイレベルとなる信号である。
【００４７】
また、図１において、上記ループ終了信号は、Ｄ型のフリップフロップ１０２のＣＫ端子に入力され、このフリップフロップ１０２のＤ端子には、常にハイレベル信号が与えられており、ＣＫ端子にループ終了信号が与えられると、そのＱ出力がハイレベルとなる。このハイレベルとなるＱ出力は、エッジ検出器１０１を介して、上記制御装置１０、アドレスコントローラ８５に対する、次のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉの書込要求信号として出力される。このエッジ検出器１０１は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路で構成することができる。
【００４８】
上記書込要求信号により、上述したように、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉが、データラッチ１０７、１０８のいずれかにラッチされる。この場合のラッチ信号は、制御装置１０よりの上記書込要求信号に応答したローレベルの書込信号であり、この信号はオアゲート１０９又はオアゲート１１０を介して、データラッチ１０７又はデータラッチ１０８に与えられる。この書込信号は、上記フリップフロップ１０２にリセットクリア信号としても与えられる。
【００４９】
上記ループ時間判別部８１からのループ終了信号は、アンドゲート１０６を介して、フリップフロップ１０５に入力されて、フリップフロップ１０５のＱ出力の状態を反転させる。このフリップフロップ１０５は、セット（Ｓ）、リセット（Ｒ）入力付のＤ型フリップフロップの反転Ｑ出力をＤ入力に接続した、トグル動作をするＴ型のフリップフロップであり、リセットクリア信号の入力により、Ｑ出力はローレベルとなる。このフリップフロップ１０５のＱ出力は、上記選択器１０３に選択切換信号として与えられ、１つのループセクション終了ごとに、選択器１０３の選択内容がデータラッチ１０７とデータラッチ１０８との間で切り換えられ、次のループセクションの読出アドレスデータ生成の実行にシフトする。
【００５０】
また、フリップフロップ１０５のＱ出力は、そのまま上記オアゲート１１０に入力されるとともに、インバータ１１１で反転されて、オアゲート１０９に入力され、ラッチ可能なデータラッチが、データラッチ１０７とデータラッチ１０８とで切り換えられる。上記フリップフロップ１０２の反転Ｑ出力は、アンドゲート１０６に開成信号として与えられ、この開成は、次のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉの書き込みまで、維持される。
【００５１】
また、キーボード１１のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器８０に入力されて、キーオン信号のアップエッジタイミングでハイレベルとなるとともに、楽音放音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント検出器８０は、入力信号のアップエッジを検出するもので、例えばオペアンプを使った波形整形回路等で構成することができる。
【００５２】
上記キーオンイベント信号は、上記選択器７２に与えられて、楽音放音開始時に、スタートアドレス保持メモリ７０からの読出スタートアドレスデータＳＴへの選択切換が行われる。さらに上記キーオンイベント信号はインバータ１０４で反転されてフリップフロップ１０５をクリアして、キーオン時にデータラッチ１０７の方を使用するようにしている。
【００５３】
７．アドレスコントローラ８５
図７は、アドレスコントローラ８５と、このアドレスコントローラ８５によって読み出しが行われるＲＯＭ１３の一部とを示す回路図であり、カウンタ８６は、上記トーンジェネレータ１５、１６…からのキーオンイベント信号によってクリアされる。この場合のキーオンイベント信号は、実際にはインバータ８８によって反転されたものが使用される。
【００５４】
また、カウンタ８６は、制御装置１０からの書込信号によって、インクリメントされ、ＲＯＭ１３の各番地のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉに対するアドレス指定が、順次切り換えられていく。このアドレスコントローラ８５から、ＲＯＭ１３には、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉの記憶エリアの上位アドレスデータが付加されて出力される。
【００５５】
この上位アドレスデータは、ラッチ８６Ａを用い、このラッチ８６Ａに制御装置１０からプリセットされるが、音色および音高（音域）等に応じて切り換えられ、ＲＯＭ１３の記憶エリアを切換選択するようにしてもよいし、予め複数のローレベルビット（アースレベル）のうちの特定ビットをインバータで反転させて、上位アドレスデータとしてもよい。
【００５６】
上記カウンタ８６からの読出アドレスデータは、最終検出器８９に与えられ、この読出アドレスデータが、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉの記憶エリアの最終アドレスに達したとき、最終検出器８９の出力はローレベルとなって、上記アンドゲート８７が閉成される。これにより、ＲＯＭ１３より、最後のループセクションのループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉが読み出された後は、楽音波形データＷＤの最後のループセクションの繰り返し読み出しが続行される。
【００５７】
こうして、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉを記憶しておく場所を、トーンジェネレータ１５、１６…の中ではなく、ＲＯＭ１３にしておくことができ、このＲＯＭ１３は汎用メモリを用いることができるので、波形読出アドレス発生装置２８をより安価なものにすることができし、波形読出アドレス発生装置２８を含んだトーンジェネレータ１５、１６…のＬＳＩ化も容易となる。
【００５８】
上述したような、波形読出アドレス発生装置２８により、波形データメモリ２５の楽音波形データＷＤの繰り返し読み出しを行うと、図１０の比較器１４６では、ループ再生の回数ではなく、ループ再生の時間の比較判別が行われる。従って、図９（１）のように、音高が低く、楽音波形データＷＤの読み出し速度が遅くても、また図９（３）のように音高が高く、楽音波形データＷＤの読み出し速度が速くても、１つのループセクションのループ再生の時間は常に一定である。図９（２）に示すように、音高が高く、楽音波形データＷＤの読み出し速度が速くなって、ループ再生の時間が短くなってしまうことがない。
【００５９】
これにより、音高が高くても低くても、各ループセクションのループ再生の時間を一定となり、１つの楽音放音の間のループセクションのバランスがとられ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【００６０】
８．ポリフォニックシステム例
図１１、図１２、図１３は、時分割処理により、ポリフォニックな楽音生成を行うことのできる実施例を示すものである。
【００６１】
図１１は、波形読出アドレス発生装置２８及びエンベロープ波形発生装置２９の、データラッチ６１、６２、１０７、１０８の部分を、８チャンネル分の楽音生成システムに対応させたものである。ＲＡＭ１１２は、１６個の記憶番地をもち、８個２組で、各組に対し最高８個のレベルデータＬＶＬｉ、スピードデータＳＰＤｉ又はループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉが、制御装置１０及びアドレスコントローラ４０、８５によってセットされる。２つの組の各々の記憶番地は、現在データを読み出して楽音を生成中のものと、次に実行されるデータを書き込むものとが、交互に切り換えられる。
【００６２】
ＲＡＭ１１２の記憶番地の８個の記憶番地の指定アドレスであるチャンネル信号Ａ０〜Ａ２は、データセレクタ１１３ａ、１１３ｂ、１１３ｃを介して与えられる。このチャンネル信号Ａ０〜Ａ２は、読出用と書込用とが、データセレクタ１１３ａ、１１３ｂ、１１３ｃでセレクトされる。読出チャンネル信号Ａ０〜Ａ２は、電子楽器全体の同期をとるシステムクロック信号によってカウントされるデータが用いられ、チャンネルタイミング信号と同じもので、図１２（１）に示すとおりである。書込チャンネル信号Ａ０〜Ａ２は、制御装置１０より与えられる。この書込チャンネル信号Ａ０〜Ａ２は、書込タイミングが、図１２（１）のチャンネルタイミングと周期がとられるものであれば、読出チャンネル信号Ａ０〜Ａ２をそのまま用いてもよい。
【００６３】
ＲＡＭ１１２の２つの組は、エリア切換信号によって切換選択され、この信号は、データセレクタ１１３ｄに、そのまま及びインバータ１１５で反転されて与えられる。このエリア切換信号は、上記読出及び書込のチャンネル信号Ａ０〜Ａ２の上位アドレスデータＡ３となるものであり、シフトレジスタ１１８からの出力が使われる。このシフトレジスタ１１８は、その出力がイクスクルシブオアゲート１１６、アンドゲート１１７を介して帰還入力されるタイプのものである。
【００６４】
イクスクルシブオアゲート１１６には、上記比較器３７からのフェーズ終了信号又はループ時間判別部８１からのループ終了信号が与えられて、フェーズ終了時又はループ終了時に、エリア切換信号が反転される。アンドゲート１１７には、上記インバータ６８又はインバータ１０４からのローレベルのキーオンイベント信号が与えられ、エリア切換信号のクリアが行われる。
【００６５】
ＲＡＭ１１２の読出信号はハイレベル、書込信号はローレベルであり、図１２（３）に示すとおりとなっている。書込信号は制御装置１０より与えられ、読出信号は常にハイレベルとなっている信号が使われ、夫々データセレクタ１１３ｅを介して、ＲＡＭ１１２に与えられる。
【００６６】
上記したデータセレクタ１１３ａ〜１１３ｅのセレクト切換を行うのは、リード／ライトタイミング信号であり、この信号は、図１２（２）（４）に示すように、１つのチャンネルタイミング内で、読み出しと書き込みを切り換える。この信号は、そのままデータセレクタ１１３ａ〜１１３ｅの書き込み側のアンドゲートに、開成信号として与えられるとともに、インバータ１１４で反転されて、データセレクタ１１３ａ〜１１３ｅの読み出し側のアンドゲートに、開成信号として与えられる。なお、図１２（４）における書き込みのチャンネルタイミングは、図１２（１）のチャンネルタイミングとは無関係に、制御装置１０からの書込チャンネル信号によって決定される。
【００６７】
図１３は、同じく複数チャンネル分の楽音生成システムに対応した、エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａ、制御装置１０Ａ、アドレスコントローラ４０Ａ、８５Ａ等を示すものである。エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａからの書込要求信号キーオンイベント信号は、そのままのタイミングで、上記アドレスコントローラ４０Ａ、８５Ａへ送られるほか、書込要求信号は、要求信号弁別器１２３を介して、制御装置１０Ａに送られる。また、エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａの中の、図１１で述べた読出チャンネル信号も、要求チャンネル弁別器１２４を介して、制御装置１０Ａに送られる。
【００６８】
要求信号弁別器１２３と要求チャンネル弁別器１２４は、例えばインタフェースで構成することができ、信号及びデータの弁別、処理タイミングの同期等が行われる。制御装置１０Ａは、書込要求信号のあったチャンネルについては、アドレスコントローラ４０Ａ、８５Ａに書込信号を与えて、ＲＯＭ１３に対するアドレスデータを＋１し、次のフェーズのレベルデータＬＶＬｉ、スピードデータＳＰＤｉ、又は次のループのループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉをＲＯＭ１３より読み出して、エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａの上述したＲＡＭ１１２に上記書込信号とともに送る。
【００６９】
ＲＯＭ１３に対するアドレスデータは、アドレスコントローラ４０Ａ、８５Ａ、制御装置１０Ａからのものが、選択器１２２によって、時分割的に切り換えられる。選択器１２２のセレクト信号は、チャンネルタイミング信号の４倍の周波数のクロックパルス信号が用いられ、各入力が切換セレクトされていく。上記書込チャンネル信号は、上記要求チャンネル弁別器１２４からの読出チャンネル信号が、そのまま制御装置１０Ａによって転用される。むろん、要求チャンネル弁別器１２４を使わず、エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａからの読出チャンネル信号を、書込要求信号によって開成されるアンドゲート群を介して、書込チャンネル信号として出力するようにしてもよい。
【００７０】
また、エンベロープ波形発生装置２９Ａ、波形読出アドレス発生装置２８Ａには、楽音放音開始時に、制御装置１０Ａより、位相角ステップデータＰＤ、読出スタートアドレスデータＳＴ、スタート振幅値ＬＶＬ０等のキー情報が、ＲＯＭ１３より読み出されて送られる。なお、読出スタートアドレスデータＳＴ、スタート振幅値ＬＶＬ０は、ＲＡＭ１４又はキー情報メモリ（図示せず）に記憶しておいてもよい。
【００７１】
このような複数チャンネル分の楽音生成システムを構成するには、他に、次のようなことが必要である。すなわち、位相角ステップデータメモリ７１をチャンネル数と同じ段数をもつ、帰還入力型のシフトレジスタとしたり、読み書き可能なメモリ（ＲＡＭ）としたり、アドレスコントローラ４０Ａ、８５Ａのカウンタ４３、８６をチャンネル数と同じ数分用意して、デマルチプレクサ又は選択器を介して、書込要求信号又はキーオンイベント信号により、各カウントデータをカウント又はクリアしたり、ループ時間判別部８１の基準時間変更器１４０、基準時間発生器１４１、ループカウンタ１４２をチャンネル数と同じ数分用意して、マルチプレクサ又はデータセレクタを介して、ループカウンタ１４２…からの各タイムカウントデータを比較器１４６に与えたりすることになる。
【００７２】
９．エンベロープ波形のリピート再生
図１４は、エンベロープ波形発生装置２９の別の実施例を示すもので、この実施例は、図１５に示すように、エンベロープ波形の各フェーズにつき、レベルデータＬＶＬｉ、スピードデータＳＰＤｉのフェーズとレベルデータＬＶＬｊ、スピードデータＳＰＤｊのフェーズとを交互にリピートするようにしたものである。そして、このリピート回数を示すのがリピート回数データＲＰｉである。
【００７３】
これら、レベルデータＬＶＬｉ、ＬＶＬｊ、スピードデータＳＰＤｉ、ＬＶＬｊ、リピート回数データＲＰｉは、制御装置１０及びアドレスコントローラ８５によって、ＲＯＭ１３より読み出され、データラッチ６１、６２のいずれかにラッチされる。データラッチ６１又はデータラッチ６２からのレベルデータＬＶＬｉ、ＬＶＬｊ、スピードデータＳＰＤｉ、ＬＶＬｊ、リピート回数データＲＰｉのうち、レベルデータＬＶＬｉ、ＬＶＬｊは、選択器６０を介し、さらに選択器１７０を介して、レベルデータＬＶＬｉ、レベルデータＬＶＬｊのいずれかがセレクトされ、加算器３６に与えられる。またスピードデータＳＰＤｉ、ＬＶＬｊは、選択器６０を介し、さらに選択器１７１を介して、スピードデータＳＰＤｉ、スピードデータＳＰＤｊのいずれかがセレクトされ、乗算器３５に与えられる。さらに、リピート回数データＲＰｉは、選択器６０を介し、比較器１７２に与えられる。
【００７４】
そして、エンベロープデータＥＮＶがフェーズの最終地点まで到達して、比較器３７より一致信号が出力されると、この一致信号はフリップフロップ１７５に入力されて、フリップフロップ１７５のＱ出力の状態を反転させる。このフリップフロップ１７５は上述したフリップフロップ６９、１０５と全く同じものであり、キーオンイベント信号によりクリアされる。このフリップフロップ１７５のＱ出力は、上記選択器１７０、１７１に選択切換信号として与えられ、１つのフェーズ終了ごとに、選択器１７０、１７１の選択内容がレベルデータＬＶＬｉ、スピードデータＳＰＤｉとレベルデータＬＶＬｊ、スピードデータＳＰＤｊとの間で切り換えられる。
【００７５】
このフリップフロップ１７５のＱ出力は、リピートカウンタ１７３に入力されて、フェーズのリピート回数がカウントされ、このカウントデータは、上記比較器１７２に与えられる。比較器１７２には、上記リピート回数データＲＰｉも与えられており、両データが一致すると、一致信号がノアゲート１７４を介して、リピートカウンタ１７３にクリア信号として入力されるとともに、アンドゲート６９Ａを介して、フリップフロップ６９に入力されて、フリップフロップ６９のＱ出力の状態を反転させる。これにより、選択器６０の選択内容がデータラッチ６１とデータラッチ６２との間で切り換えられ、次のリピートセクションのエンベロープデータ生成の実行に移行する。上記リピートカウンタ１７３は、キーオンイベント信号によってもクリアされる。他の内容は、上記図２のエンベロープ波形発生装置２９と同じである。
【００７６】
このように、エンベロープ波形のフェーズをリピートするパラメータ信号生成装置についても、レベルデータＬＶＬｉ、ＬＶＬｊ、スピードデータＳＰＤｉ、ＳＰＤｊ、リピート回数データＲＰｉを記憶しておく場所を、トーンジェネレータ１５、１６…の中ではなく、ＲＯＭ１３にしておくことができ、このＲＯＭ１３は汎用メモリを用いることができるので、エンベロープ波形発生装置２９をより安価なものにすることができるし、エンベロープ波形発生装置２９を含んだトージェネレータ１５、１６…のＬＳＩ化も容易となる。
【００７７】
なお、リピート回数データＲＰｉをリピート時間データＲＰＴｉとして、図１及び図１０のように変更することは容易であり、さらにループセクションのループ時間データＲＰＴｉを音色、音域、各種パラメータに応じて変えていくようにすることも可能である。
【００７８】
この場合、図１４のエンベロープ波形発生装置２９においては、比較器１７２、リピートカウント１７３をはじめとる鎮線枠の部分を図１０と同じものと置き換えればよい。そして、フェーズ終了信号をループエンド到達信号の代わりに、アンドゲート１４４に入力させ、キーオンイベント信号は、そのままキーオンイベント検出器３１からのものを使用し、ループ終了信号は、リピート終了信号として出力させ、リピート回数データＲＰをリピート時間データに置き換え、フリップフロップ１７５のＱ出力は、選択器１７０、１７１だけに与えられるようにすればよい。
【００７９】
このように、エンベロープ波形のリピート生成においても、リピート生成を一定時間にすることができる。
【００８０】
１０．ループ再生の他の例
図１６は、波形読出アドレス発生装置２８のループ再生の他の実施例を示すものである。第１６（１）は、ループセクションを片方向ではなく、両方向にわたって、往復繰り返し読み出しを行うものである。この場合には、加算器７５からのループエンド到達信号が出力されるごとに、加算器７５と加算器７７に与えるデータを、２つの選択器を使って入れ換ればよい。すなわち、上記ループ到達信号をフリップフロップ１０５と同じフリップフロップに入力し、そのＱ出力を上記２つの選択器のセレクト信号として用いる。
【００８１】
そして、２つの選択器に、ループトップデータＬＴｉ、ループエンドデータＬＥｉをともに与え、一方には、上記セレクト信号をそのまま与え、他方には、セレクト信号をインバータで反転して与え、各選択器からのセレクトデータを、加算器７５、７７に与える。また、上記位相角ステップデータメモリ７１からの位相角ステップデータＰＤを、イクスクルシブオアゲート群を介して、加算器７３に与え、このイクスクルシブオアゲート群の各ゲートに、上記セレクト信号を与え、さらに加算器７３のＣｉｎ端子に上記セレクト信号を入力させる。
【００８２】
図１６（２）は、各ループセクションを反対方向から片方向のみ、繰り返し読み出しを行うものである。この場合は、ループトップデータＬＴｉをループエンドデータＬＥｉより小さくし、さらに読出スタートアドレスデータＳＴをループトップデータＬＴ１より小さくして、位相角ステップデータメモリ７１からの位相角ステップデータＰＤを、インバータ群で反転させるとともに、加算器７３のＣｉｎ端子にハイレベル信号を入力させることになる。
【００８３】
図１６（３）は、各ループセクションを反対方向から両方向にわたって、往復繰り返し読み出しを行うものである。この場合は、上述した図１６（１）の場合と全く同じ構成となり、さらにループトップデータＬＴｉをループエンドデータＬＥｉより小さくし、さらに読出スタートアドレスデータＳＴをループトップデータＬＴ１より小さくすることになる。
【００８４】
このようなループ再生についても、音高が高くても低くても、各ループセクションのループ再生の時間が一定となり、１つの楽音放音の間のループセクションのバランスがとられ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【００８５】
他のパラメータ信号生成装置としては、楽音波形を例にとると、図１７及び図１８に示されているものがある。図１７は、波形読出アドレス発生装置を示し、この波形読出アドレス発生装置は、本願発明では図４の波形読出アドレス発生装置２８の部分に相当し、この図４の回路は、図３のトーンジェネレータ１５、１６…に相当するものである。
【００８６】
図１７おいて、楽音波形のループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ回数データＬＣｉは、制御装置（図示せず）によって、ＲＯＭ（図示せず）より読み出され、波形読出アドレスコントロールデータメモリ２８４にすべて書き込まれる。このループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ回数データＬＣｉは、図８に示すように、楽音波形データＷＤの繰り返し読み出しを行うループセクションの先頭アドレスデータ、最終アドレスデータ、繰り返し読み出しの回数データを示している。
【００８７】
スタートアドレス保持メモリ２７０には、読出スタートアドレスデータＳＴが、キーオンタイミングに（又はこれに先だったタイミングで）、上記制御装置によって、ＲＯＭより読み出されてセットされ、位相角ステップデータメモリ２７１には、位相角ステップデータＰＤが、同じくキーオンタイミングに（又はこれに先だったタイミングで）、上記制御装置によって、ＲＯＭより読み出されてセットされる。
【００８８】
上記読出スタートアドレスデータＳＴは、図８に示すように、楽音波形データＷＤの読み出しのスタート地点の読出アドレスデータＲＡＤを示している。位相角ステップデータＰＤは、楽音波形データＷＤの読出アドレスデータＲＡＤのインクリメントステップ値を示しており、位相角ステップデータＰＤを順次加算して新たな読出アドレスデータＲＡＤが生成され、この値が大きいほど、楽音波形データＷＤの読出速度が速くなって、音高も高くなる。上記楽音波形データＷＤに対し、読出スタートアドレスデータＳＴ、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ回数データＬＣｉをいろいろ変えることによって、種々の音色を実現できる。
【００８９】
上記スタートアドレス保持メモリ２７０の読出スタートアドレスデータＳＴは、楽音放音開始時に、選択器２７２を介して、加算器２７３に与えられ、位相角ステップデータメモリ２７１からの位相角ステップデータＰＤと加算される。この加算データは、選択器２７８を介して、波形読出アドレス保持回路２７９に記憶され、波形データメモリ（図示せず）に読出アドレスデータＲＡＤとして送出されるとともに、楽音放音開始以降は、上記選択器２７２を介して、上記加算器２７３へ送出され、位相角ステップデータＰＤが再び加算される。加算器２７３と波形読出アドレス保持回路２７９との加算ループ回路で、読出アドレスデータＲＡＤに対する位相角ステップデータＰＤの累算が行われていく。
【００９０】
また、加算器２７３からの読出アドレスデータＲＡＤは、補数器２７４で「２」の補数値すなわちマイナス値に反転され、加算器２７５で、波形読出アドレスコントロールデータメモリ２８４からのループエンドデータＬＥｉに加算される。これにより、ループエンドデータＬＥｉから読出アドレスデータＲＡＤが減算されることになる。
【００９１】
この減算で、楽音波形データＷＤの読み出しが繰り返し読み出しのループセクションの最後まで到達して、読出アドレスデータＲＡＤがループエンドデータＬＥｉに到達し、さらにループエンドデータＬＥｉを越えると、加算器２７５よりキャリ信号が出力される。このキャリ信号は、差分保持回路２７６にラッチ信号として与えられ、読出アドレスデータＲＡＤがループエンドデータＬＥｉを越えた分の端数データがラッチされる。
【００９２】
この端数データは、加算器２７７で、ループトップデータＬＴｉに加算されて、端数補正が行われ、これが選択器２７８を介して、新たな読出アドレスデータＲＡＤとして出力される。これにより、楽音波形データＷＤの読出アドレスデータＲＡＤが、ループエンドデータＬＥｉからループトップデータＬＴｉにジャンプするとともに、このジャンプ時に、読出アドレスデータＲＡＤがループエンドデータＬＥｉを越えた分の端数データの補正も行われる。上記加算器２７５からのキャリ信号は、ループエンド到達信号として、上記選択器２７８に与えられて、加算器２７７側への選択切換が行われるほか、ループカウンタ２８１にも与えられて、インクリメントが行われる。
【００９３】
このループカウンタ２８１のループカウント値は、比較器２８３に与えられて、ループ回数データＬＣｉに一致したか否かのジャッジが行われ、一致すれば、この一致信号がループ終了信号として読出アドレス発生器２８５に与えられ、読出アドレス発生器２８５の読出アドレスデータが＋１される。これにより、波形読出アドレスコントロールデータメモリ２８４より、次のループについてのループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ回数データＬＣｉが読み出されて、次のループ再生にシフトする。上記比較器２８３からの一致信号は、ノアゲート２８２を介して、上記ループカウンタ２８１にクリア信号として与えられる。
【００９４】
また、キーボード（図示せず）のキーが押鍵中の間、ハイレベルとなるキーオン信号は、キーオンイベント検出器２８０に入力されて、キーオン信号のアップエッジタイテミングでハイレベルとなるとともに、楽音開始以降はロウレベルとなるキーオンイベント信号が出力される。このキーオンイベント信号は、上記ノアゲート２８２を介して、上記ループカウンタ２８１にクリア信号として与えられるほか、上記読出アドレス発生器２８５にも与えられて、読出アドレス発生器２８５がリセットされる。
【００９５】
上述のものでは、１つのループセクションにおけるループ再生を回数で決定している。このため、音高が低く、従って楽音波形データＷＤの読み出し速度が遅い場合には、１つのループセクションの実行に要する時間が長くなり、図１８（１）に示すように、１つの楽音放音開始から終了までの間に、各ループセクションの占める時間が大きくなる。これに対し、音高が高く、従って楽音波形データＷＤの読み出し速度が速い場合には、１つのループセクションの実行に要する時間が短くなり、図１８（２）に示すように、１つの楽音放音開始から終了までの間に、各ループセクションの占める時間が小さくなる。
【００９６】
これは、音高の変化により、楽音に余分な変化因子がはいってしまうことになる。むろん、音高の変化により、高調成分の含有率を変えること等は、広く行われていることであるが、このようなループ再生にあっては、むしろ余分な変化因子であって、聴感好ましくなく、また実際の楽器の音ともずれてしまうことになる。
【００９７】
パラメータ信号の一部又は全部の繰り返し生成の時間を計測し、この計測時間が予め定められた繰り返し生成のための一定時間に達したとき、上記繰り返し生成を終了させるようにすれば、図９に示すように、音高のいかんにかかわらず、パラメータ信号の繰り返し生成の時間を常に一定にすることができ、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことがなくなる。
【００９８】
また、波形読出アドレスコントロールデータメモリ２８４に記憶するデータは、楽音波形データＷＤのループ再生のセクションの数に応じて多くなる。従って、楽音波形が複雑に変化する、自然音に近い楽音を実現するには、波形読出アドレスコントロールデータメモリ２８４にセットするデータの数も多くなる。そうすると、波形読出アドレス発生装置に内蔵される波形読出アドレスコントロールデータメモリ２８４のメモリ容量が大きくなり、それだけ波形読出アドレス発生装置が高価になる。
【００９９】
これに対し、汎用メモリを用いて、ここにレベルデータＬＶＬｉ、スピードデータＳＰＤｉ、ループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ回数データＬＣｉを記憶し、ＣＰＵ等により、これらのデータを、その都度読み出して、エンベロープ波形発生装置や波形読出アドレス発生装置に送り込むことが考えられる。この方が、エンベロープ波形発生装置や波形読出アドレス発生装置がより安価となり、エンベロープ波形発生装置や波形読出アドレス発生装置を含むトーンジェネレータ１５、１６…のＬＳＩ化も容易となる。さらにデータを記憶しておくメモリも汎用のもので済み、安価となる。
【０１００】
このような汎用メモリを使用することは、ＣＰＵが、その都度、必要なデータをエンベロープ波形発生装置や波形読出アドレス発生装置に送り込まなければならず、ＣＰＵ等の制御装置の負担が大きくなって処理の遅れをきたし、スムーズな楽音の生成放音が難しくなることになる。しかしながら、高速処理の可能なＣＰＵも製造されてきており、エンベロープ波形発生装置や波形読出アドレス発生装置にとって必要なデータを、エンベロープ波形発生装置や波形読出アドレス発生装置以外のところに記憶させても、楽音の生成放音がスムーズにできるようになっている。よって、楽音の生成放音処理に遅れをきたさずに、より安価なパラメータ信号生成装置を提供することができる。
【０１０１】
本願発明は上記実施例に限定されず、本願発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、本願発明ではレベルデータＬＶＬｉ、スピードデータＳＰＤｉ、リピート回数データＲＰｉあるいはループトップデータＬＴｉ、ループエンドデータＬＥｉ、ループ時間データＬＴＭｉ（ループ回数データＬＣｉ）等を１つのワードのデータとして述べてきたが、これには限定されず、システムのビット数に合わせて、複数に分割し、複数ワードよりなるデータとしてもよい。また、ループ時間判別部８１の基準時間変更器１４０に入力されるデータは、音色、エフェクトのほか、アフタータッチデータ、イニシャルタッチデータ等の発音操作の強弱又は遅速等のデータ等を含めてもよく、要はループ再生時間が音高のいかんにかかわらず一定にできる要素があればよい。
【０１０２】
なお、パラメータ信号には、楽音波形、エンベロープ波形、楽音波形にエンベロープ波形が合成された波形等の時間的に逐次レベルの変化する信号のほか、楽音波形の読出アドレスデータ、楽音波形にエンベロープ波形が合成された波形の読出アドレスデータ等の時間的に値の変化する時間関数情報を含み、楽音波形には、矩形波、三角波、正弦波のほか、自然音の波形等、あらゆる波形が含まれる。
【０１０３】
本件分割出願に係る親出願の出願当初の特許請求の範囲は以下のとおりである。
［Ａ］パラメータ信号を生成するパラメータ信号生成手段と、    このパラメータ信号生成手段で生成される波形の一部又は全部につき、繰り返し生成を行わせる繰り返し生成手段と、    この繰り返し生成手段の繰り返し生成の時間を計測する繰り返し時間計測手段と、    この繰り返し時間計測手段の計測時間が予め定められた繰り返し生成のための一定時間に達したか否かを判別する判別手段と、    この判別手段の判別結果に応じて、上記繰り返し生成手段の繰り返し生成を終了させる繰り返し生成制御手段とを備えたことを特徴とする楽音に関するパラメータ信号生成装置。
【０１０４】
［Ｂ］上記繰り返し生成制御手段は、繰り返し生成手段に対し、次の別の繰り返し生成に移行させる手段であることを特徴とする請求項Ａ記載の楽音に関するパラメータ信号生成装置。
【０１０５】
［Ｃ］上記判別手段で判別する一定時間は、音色、エフェクト、発音操作の強弱又は遅速によって変化するものであることを特徴とする請求項Ａ記載の楽音に関するパラメータ信号生成装置。
【０１０６】
パラメータ信号の一部又は全部の繰り返し生成の時間を計測し、この計測時間が予め定められた繰り返し生成のための一定時間に達したとき、上記繰り返し生成を終了させることにより、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止する。
【０１０７】
［Ｄ］楽音信号を生成する生成手段と、    この生成される楽音信号を制御する制御信号の目標値と演算値とであって、順次供給される当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段と、    この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、    上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値と演算値とを上記演算手段に供給する供給手段とを備えたことを特徴とする電子楽器。
【０１０８】
本発明は、生成される楽音信号を制御する制御信号の目標値と演算値とであって、順次供給される当該目標値の間を当該演算値に基づいて演算し、これにより制御信号を生成する演算手段と、この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値と演算値とを上記演算手段に供給する供給手段とを備えた。
【０１０９】
したがって、演算を行う演算手段を、目標値及び演算値を供給して、電子楽器全体の動作を制御する供給手段とは別のところに設けることができるので、演算内容を簡単に変化させることができ、楽音信号の多様な変化を実現できる等の効果を奏する。
【０１１０】
［Ｅ］楽音信号を生成する生成手段と、    この生成される楽音信号を制御する制御信号のある値を持つ初期値、目標値及び演算値を記憶する値記憶手段であって、この初期値はこの目標値とは別に記憶され、    この値記憶手段から読み出される当該初期値と当該目標値との間及び当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段であって、この演算手段は上記値記憶手段とは別体に構成され、    この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、    電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値及び演算値を上記値記憶手段から読み出して上記演算手段に供給するとともに、演算開始時に上記初期値を上記値記憶手段から読み出して上記演算手段に供給する供給手段とを備えたことを特徴とする電子楽器。
【０１１１】
［Ｆ］楽音信号を生成する生成手段と、    この生成される楽音信号を制御する制御信号の目標値及び演算値であって、供給される当該目標値の間を当該演算値に基づいて演算し、これにより当該制御信号を生成する演算手段と、    この生成された制御信号の現在値が上記目標値に到達したことを検出する検出手段と、    上記演算手段とは別体に構成されて電子楽器全体の動作を制御する手段であって、上記検出に応じて、上記制御信号の演算の新たな次の目標値及び演算値を上記演算手段に供給する値供給手段と、    上記目標値及び演算値をそれぞれ記憶する少なくとも２つの記憶手段とを備え、一方の記憶手段から上記演算手段に対して記憶された目標値及び演算値が読み出されて供給され、上記値供給手段から他方の記憶手段に対して次の目標値及び演算値が供給されて書き込まれ、上記現在値が上記目標値に到達したことの検出に応じて、これら上記演算手段への供給と上記値供給手段からの供給とが各記憶手段につき交互に切り換えられることを特徴とする電子楽器。
【０１１２】
【発明の効果】
本発明は、楽音に関する波形データの一部又は全部の繰り返し生成の時間が予め定められた繰り返し生成のための時間に達したとき、当該繰り返し生成を終了させるようにした。したがって、音高のいかんにかかわらず、波形の繰り返し生成の時間を常に一定にし、音高の変化によって、余分な楽音内容の変化因子がはいってしまうことを防止することができる等の効果を奏する。
【図面の簡単な説明】
【図１】波形読出アドレス発生装置２８を示す。
【図２】エンベロープ波形発生装置２９を示す。
【図３】パラメータ信号生成装置の全体回路を示す。
【図４】トーンジェネレータ１５、１６…を示す。
【図５】エンベロープ波形についてのアドレスコントローラ４０とＲＯＭ１３を示す。
【図６】エンベロープ波形の各フェーズを示す。
【図７】楽音波形についてのアドレスコントローラ８５とＲＯＭ１３を示す。
【図８】楽音波形データＷＤと楽音波形データＷＤの各ループセクションを示す。
【図９】ループ再生の音高に応じた変化を示す。
【図１０】ループ時間判別部８１を示す。
【図１１】複数チャンネルの楽音生成システムの実施例を示す。
【図１２】図１１の回路の各部の信号のタイムチャートを示す。
【図１３】複数チャンネルの楽音生成システムの実施例を示す。
【図１４】エンベロープ波形の各フェーズをリピート再生する実施例を示す。
【図１５】図１４の回路の各部の信号のタイムチャートを示す。
【図１６】楽音波形データＷＤのループ再生の他の実施例を示す。
【図１７】他の例を示す。
【図１８】他の例を示す。
【符号の説明】
１０、１０Ａ…制御装置、１３…ＲＯＭ、１５、１６…トーンジェネレータ、２８、２８Ａ…波形読出アドレス発生装置、２９、２９Ａ…エンベロープ波形発生装置、４０、８５…アドレスコントローラ、６１、６２、１０７、１０８…データラッチ、８１…ループ時間判別部、１１２…ＲＡＭ、１４０…基準時間変更器、１４１…基準時間発生器。
【図１】
0003605049.tif 000002
【図２】
0003605049.tif 000003
【図３】
0003605049.tif 000004
【図４】
0003605049.tif 000005
【図５】
0003605049.tif 000006
【図６】
0003605049.tif 000007
【図７】
0003605049.tif 000008
【図８】
0003605049.tif 000009
【図９】
0003605049.tif 000010
【図１０】
0003605049.tif 000011
【図１１】
0003605049.tif 000012
【図１２】
0003605049.tif 000013
【図１３】
0003605049.tif 000014
【図１４】
0003605049.tif 000015
【図１５】
0003605049.tif 000016
【図１６】
0003605049.tif 000017
【図１７】
0003605049.tif 000018
【図１８】
0003605049.tif 000019