(57)【特許請求の範囲】
【請求項１】
基本音高のＰＣＭ波形データをあらかじめ記憶している波形記憶手段と、
基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、
書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、
前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、
波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、
前記波形合成処理のモードにおいては、前記波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、
を備えたことを特徴とする楽音制御装置。
【請求項２】
基本音高のＰＣＭ波形データをあらかじめ記憶している波形記憶手段と、
基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、
書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、
前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、
波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、
前記波形合成処理のモードにおいては、前記波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、
を備えたことを特徴とする楽音制御装置。
【請求項３】
前記パラメータ設定手段は、基音及び複数の倍音を合成するドローバー方式の操作手段の操作に応じて、前記倍音パラメータを設定することを特徴とする請求項１または２に記載の楽音制御装置。
【請求項４】
パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、
波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、
前記波形合成処理のモードにおいては、波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、
を実行することを特徴とする楽音制御方法。
【請求項５】
パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、
波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、
前記波形合成処理のモードにおいては、波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、
前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、
を実行することを特徴とする楽音制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音制御装置及び楽音制御方法に関する。
【０００２】
【従来の技術】
ドローバーオルガンにおいては、基音及び複数の倍音を、各倍音のバーの位置によって任意に組み合わせて合成し、所望の音色を作り出すことができる。一方、電子鍵盤楽器においても、ＰＣＭ音源を用いてドローバーオルガンのような音色を生成することができる。当初、このような電子鍵盤楽器に搭載された楽音制御装置では、マイコンで基音及び倍音の波形データをリアルタイムで演算して生成し、これらを合成してＲＡＭ等の発音バッファメモリに記憶させ、この合成された波形データを読み出して発音を制御していた。
【０００３】
しかしながら、リアルタイムで倍音の複数の波形データを演算することは、マイコンの負荷が重すぎるため、合成処理の応答速度が遅くなってしまう。このため、基音と合成する倍音数に限界があった。したがって、ドローバーオルガンのような音色を実現するには到らなかった。
【０００４】
一方、基音のＰＣＭ波形データ及び複数の倍音のＰＣＭ波形データをＲＯＭにあらかじめ格納しておき、押鍵される鍵の音高に対応する基音及び複数の倍音に対応するＰＣＭ波形データを読み出して、ＲＡＭ等の発音バッファメモリに記憶する方法も行われていた。
【０００５】
しかしながら、この場合には、各音色（楽器音）ごとの基音及び複数の倍音のＰＣＭ波形データをＲＯＭに格納しなければならず、ＲＯＭの記憶容量が膨大になってしまうため、製品のコストダウンや小型化に障害があった。
【０００６】
そこで最近は、ＣＰＵ等のマイコンによって、ＲＯＭに格納した基音のＰＣＭ波形データを元に、波形合成のアルゴリズムによって倍音の波形データを生成している。この場合には、操作によって設定されたドローバーを読み取って、基音のＰＣＭ波形データを倍音に応じた読み出し速度及びドローバーの値に応じたゲインで倍音数に応じて読み出して合成し、その合成波形データをＲＡＭに書き込み、発音制御処理の際に、その合成波形データを読み出して発音させている。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の電子鍵盤楽器における楽音制御装置及び楽音制御方法においては、波形合成のアルゴリズムの処理に柔軟性がなかったため、ユーザの要求に対応できなかった。例えば、８チャンネルの電子鍵盤楽器において、８スロットを周期として各処理を行う場合には、１スロット目から７スロット目までの各スロットごとにＲＯＭからＰＣＭ波形データを読み出すアルゴリズムＷＧ（１）〜（７）処理を行い、８スロット目で７つの波形データを合成した波形データをＲＡＭに記憶している。
【０００８】
すなわち、７スロットがＲＯＭからＰＣＭ波形データを読み出す再生モードに指定され、１スロットがＲＡＭに合成した波形データを書き込む記録モードに指定されている。このため、ユーザの要求によって合成する倍音数が７から増加した場合や減少した場合には対応することができなかった。
【０００９】
本発明の課題は、波形合成のアルゴリズムによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応するとともに、製品のコストダウンや小型化を図ることである。
【００１０】
【課題を解決するための手段】
請求項１に記載の楽音制御装置は、基本音高のＰＣＭ波形データをあらかじめ記憶している波形記憶手段と、基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、前記波形合成処理のモードにおいては、前記波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、を備えた構成になっている。
【００１１】
請求項４に記載の楽音制御方法は、パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、前記波形合成処理のモードにおいては、波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータに基づいて波形データを生成して当該検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記波形データを読み出して当該読み出された複数の波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、を実行することを特徴とする。
【００１３】
請求項２に記載の楽音制御装置は、基本音高のＰＣＭ波形データをあらかじめ記憶している波形記憶手段と、基音及び複数の倍音夫々のレベルを示す倍音パラメータを操作に応じて設定するパラメータ設定手段と、書き込み可能であって、前記パラメータ設定手段によって設定された複数の倍音パラメータを複数のグループに分割して記憶するとともに、当該グループ毎に割り当てられた記憶領域を有する記憶手段と、前記記憶手段に記憶された複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出手段と、波形合成処理のアルゴリズムのモードを、前記検出手段により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定手段と、前記波形合成処理のモードにおいては、前記波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成手段と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御手段と、を備えた構成になっている。
【００１４】
請求項５に記載の楽音制御方法は、パラメータ設定手段によって基音及び複数の倍音夫々のレベルを示す倍音パラメータの操作に応じて設定される複数の倍音パラメータが複数のグループに分割して記憶されるとともに、当該グループ毎に割り当てられた記憶領域を有する書き込み可能な記憶手段に記憶されている複数の倍音パラメータに基づいて、前記パラメータ設定手段の操作により設定される倍音パラメータに変化がある毎に当該変化のあった倍音パラメータを含むグループを検出する検出処理と、波形合成処理のアルゴリズムのモードを、前記検出処理により変化のあった倍音パラメータを含むグループを検出したときのみ波形合成処理のモードに設定し、検出されない時は、発音制御処理のモードに設定するモード設定処理と、前記波形合成処理のモードにおいては、波形記憶手段のＰＣＭ波形データおよび前記検出されたグループに含まれる倍音パラメータ夫々に基づいて複数の波形データを生成するとともに当該生成された複数の波形データを合成して中間波形データを生成し、当該生成された中間波形データを前記検出されたグループに割り当てられた前記記憶手段の記憶領域に書き込み、前記記憶手段の各グループに対応する記憶領域夫々から前記中間波形データを読み出して当該読み出された複数の中間波形データを合成して前記記憶手段の所定の記憶領域に書き込むデータ合成処理と、前記発音制御処理のモードにおいては、前記記憶手段の前記所定の記憶領域に記憶された波形データに基づいて発音を制御する発音制御処理と、を実行することを特徴とする。
【００１６】
【発明の実施の形態】
次に、本発明の楽音制御装置及び楽音制御方法について、電子鍵盤楽器を例に採って詳細に説明する。実施形態における楽音制御装置及び楽音制御方法においては、波形合成処理の期間及び発音制御処理の期間をそれぞれ一定時間ごとに時分割して、一定時間ごとに一連の楽音制御処理を行う。図１は、実施形態における電子鍵盤楽器のシステム構成を示している。鍵盤１は、押鍵及び離鍵の演奏操作に応じて、鍵番号すなわち音高及び鍵操作の強さすなわちベロシティを入力する。ドローバー２（パラメータ設定手段）は、基音及び複数の倍音のレベルをドローバー設定値（倍音パラメータ）として入力する。実施形態においては、９個のドローバーが具備されており、各ドローバーの位置を検出して基音及び各倍音のレベルを設定する。スイッチ群３は、音色を設定するスイッチの他、発音する楽音の条件を設定する各種スイッチで構成されている。
【００１７】
ＣＰＵ４は、システムバスを介してコマンド及びデータを授受して、この電子鍵盤楽器を制御する。ＲＯＭ５は、ＣＰＵ４によって実行されるプログラムやイニシャライズにおける初期データを格納している。ＲＡＭ６は、ＣＰＵ４が処理するデータを一時的に記憶するワークエリアである。表示部７は、鍵盤１、ドローバー２、スイッチ群３の操作に応じて、その操作状態及びＣＰＵ４のコマンド等を表示する。
【００１８】
音源部８は、図２に示すように、ＤＳＰ９（データ合成手段、発音制御手段）とＤＳＰ９のバスに接続された波形データＲＯＭ１０（第１の記憶手段）、ワークＲＡＭ１１（第２の記憶手段）、ＭＩＸＥＲ１２、Ｄ／Ａ１３で構成されている。ＤＳＰ９は、ＣＰＵ４に接続され、ＣＰＵ４から送信された音源処理の制御プログラムを内部のプログラムＲＡＭに格納し、その制御プログラムにしたがって音源処理を実行する。波形データＲＯＭ１０は、図３のメモリマップのエリアに示すように、音色に対応した基本音高（例えば、ピアノ音の音高Ａ４）の元波形であるＰＣＭ波形データを格納している。
【００１９】
図２のワークＲＡＭ１１は、図３のメモリマップのエリアに示すように、ドローバー設定値、８つのチャンネルのオンフラグＯＮＦ（１）〜（８）、基本音高の周波数データｆ（Ａ４の場合には、ｆ＝４４０Ｈｚ）、音高レジスタＮＯＴＥ（１）〜（８）、ベロシティレジスタＶＥＬ（１）〜（８）、波形合成処理又は発音制御処理を示すフラグＳＴＦのエリアをもっている。ドローバー設定値は、３個のドローバーを１グループとして、各グループが３個のドローバーに対応している。したがって、ドローバー設定値を記憶するエリアは、図３に示すように、Ｄ［１］［１］、Ｄ［１］［２］、……Ｄ［３］［３］の配列になっている。また、ドローバーのグループを指定するポインタｎのエリアが設けられている。
【００２０】
図２のＭＩＸＥＲ１２は、複数のチャンネルの楽音信号を混合してＤ／Ａ１３に入力する。Ｄ／Ａ１３は、ＭＩＸＥＲ１２から入力された楽音信号をデジタルからアナログに変換して、サウンドシステム（図示せず）に出力する。
【００２１】
なお、図３に示した各エリアは、ＣＰＵ４側のＲＡＭ６にも設けられており、後述するＣＰＵ４の設定データ転送処理でＤＳＰ９側に転送される。ただし、ドローバー用のレジスタＤＢについては、ＣＰＵ４側のＲＡＭ６のみに設けられたレジスタである。
【００２２】
また、ワークＲＡＭ１１には、図４に示すように、基音及び複数の倍音に対応する配列、ＭＥＭ［１］［１］、ＭＥＭ［１］［２］、……ＭＥＭ［３］［２］、ＭＥＭ［３］［３］のエリアをもっている。ここで、ＭＥＭ［１］［１］は基音を示し、ＭＥＭ［１］［２］、……ＭＥＭ［３］［３］はそれぞれ２倍音……８倍音を示している。また、ＭＷ［１］〜［３］のエリアは中間波形データを記憶するエリアであり、ＦＷは最終波形データを記憶するエリアである。これについては後述する。
【００２３】
さらに、図３に示すＷＧＦ（１）〜（８）は、ＤＳＰ９の波形合成処理のアルゴリズムのモードを設定するモードフラグであり、ＣＰＵ４からＤＳＰ９に送信されるデータによってセットされる。これについても後述する。
【００２４】
次に、実施形態の構成による楽音制御方法について、図５〜図１０に示すＣＰＵ４のフローチャート、及び、図１１〜図１３に示すＤＳＰ９のフローチャートに基づいて説明する。
【００２５】
図５は、ＣＰＵ４のメインフローである。まず、イニシャライズ処理（ステップＡ１）を実行した後、ドローバー読取り処理（ステップＡ２）、ＷＧ設定処理（ステップＡ３）、押鍵処理（ステップＡ４）を繰り返し実行するループ処理に移行する。
【００２６】
図６にメインフローのステップＡ２におけるドローバー読取り処理のフローを示す。この処理では、ＲＡＭ６におけるドローバー配列Ｄ［ｎ］［ｍ］の３つのグループの１つを指定するポインタｎを「１」にセットし（ステップＢ１）、指定したグループにおける３つのドローバー設定値の１つを示すポインタｍを「１」にセットする（ステップＢ２）。そして、ｎ、ｍをインクリメントしながら、以下のループ処理を実行する。
【００２７】
すなわち、ｎ、ｍで指定したＲＡＭ６の配列Ｄ［ｎ］［ｍ］のエリアをクリアし（ステップＢ３）、ｍをインクリメントして次の配列を指定する（ステップＢ４）。そして、ｍが最大値「３」を超えたか否かを判別する（ステップＢ５）。ｍが「３」以下である場合には、ステップＢ３に移行してＤ［ｎ］［ｍ］のエリアをクリアする。ｍが「３」を超えたときは、ｎで指定したグループのモードフラグＭＦ（ｎ）を「０」にクリアする（ステップＢ６）。そして、ｎをインクリメントして（ステップＢ７）、ｎが最大値「３」を超えたか否かを判別する（ステップＢ８）。ｎが「３」以下である場合には、ステップＢ２に移行してｍを「１」にセットし、上記処理を繰り返す。ステップＢ８において、ｎが「３」を超えたときは、図５のメインフローに戻る。
【００２８】
メインフローのステップＡ２におけるドローバー読取り処理のフローを図７に示す。この処理では、図１のドローバー２で設定されたドローバー［ｎ］［ｍ］の３つのグループの１つを指定するポインタｎを「１」にセットし（ステップＣ１）、指定したグループにおける３つのドローバー設定値の１つを示すポインタｍを「１」にセットする（ステップＣ２）。そして、ｎ、ｍをインクリメントしながら、以下のループ処理を実行する。
【００２９】
すなわち、ｎ、ｍで指定したドローバー［ｎ］［ｍ］の値をレジスタＤＢにストアする（ステップＣ３）。そして、ＤＢの値とＲＡＭ６の配列Ｄ［ｎ］［ｍ］の値が異なるか否かを判別する（ステップＣ４）。両者の値が異なる場合、すなわちドローバーの値が変化した場合には、ＤＢの値をＤ［ｎ］［ｍ］のエリアにストアする（ステップＣ５）。そして、ＭＦ（ｎ）を「１（モード設定）」にセットする（ステップＣ６）。
【００３０】
ＭＦ（ｎ）を「１」にセットした後、又は、ステップＣ４においてＤＢの値とＲＡＭ６の配列Ｄ［ｎ］［ｍ］の値が同じである場合には、ｍをインクリメントする（ステップＣ７）。そして、ｍが最大値「３」を超えたか否かを判別する（ステップＣ８）。ｍが「３」以下である場合には、ステップＣ３に移行してドローバー［ｎ］［ｍ］の値をＤＢにストアする。ｍが「３」を超えたときは、ｎをインクリメントして次のグループを指定し（ステップＣ９）、ｎが最大値「３」を超えたか否かを判別する（ステップＣ１０）。ｎが「３」以下である場合には、ステップＣ２に移行してｍを「１」にセットし、上記処理を繰り返す。ステップＣ１０において、ｎが「３」を超えたときは、図５のメインフローに戻る。
【００３１】
すなわち、図７の処理はパラメータ設定処理であり、入力される音高に応じた基音及び複数の倍音並びに基音及び各倍音のレベルを示す倍音パラメータを操作に応じて設定する。
【００３２】
メインフローのステップＡ３におけるＷＧ設定処理のフローを図８に示す。この処理では、ドローバー配列のグループの１つを指定するポインタｎを「１」にセットし（ステップＤ１）、ｎをインクリメントしながら以下のループ処理を実行する。すなわち、ＭＦ（ｎ）が「１」であるか否かを判別し（ステップＤ２）、「１」である場合にはモード設定処理を行う。
【００３３】
ＤＳＰ９の８つのアルゴリズムＷＧ（１）〜（８）のうち、ＷＧ（１）〜（３）を再生モードに設定する（ステップＤ３）。次に、ＷＧ（４）を記録モードに設定する（ステップＤ４）。次に、ＷＧ（５）〜（７）を再生モードに設定する（ステップＤ５）。次に、ＷＧ（８）を記録モードに設定する（ステップＤ６）。また、スタートフラグＳＴＦを「１」にセットする（ステップＤ７）。そして、設定データ送信処理を行い（ステップＤ８）、設定したモードデータ、ポインタｎ、ＳＴＦのデータをＤＳＰ９に送信する。
【００３４】
次に、ＤＳＰ９からＷＧ合成処理が終了した旨を示すＳＴＦ（＝０）のメッセージの受信を待つ（ステップＤ９）。このメッセージを受信したときは、ＲＡＭ６のＳＴＦを「０」にクリアするとともに、ＭＦ（ｎ）を「０」にクリアする（ステップＤ１０）。次に、ｎをインクリメントして次のドローバーのグループを指定する（ステップＤ１１）。そして、ｎが最大値「３」を超えたか否かを判別する（ステップＤ１２）。ｎが「３」以下である場合には、ステップＤ２に移行して指定したグループのＭＦ（ｎ）のデータを判別する。
【００３５】
ステップＤ１２において、ｎが「３」以下である場合には、ステップＤ２〜ステップＤ１１までの処理を繰り返し、ドローバーのすべてのグループについて設定データをＤＳＰ９に送信する。ステップＤ１２において、ｎが「３」を超えた場合には、ＤＳＰ９の８つのアルゴリズムＷＧ（１）〜（８）をすべて再生モードに設定し（ステップＤ１３）、設定データをＤＳＰ９に送信する（ステップＤ１４）。そして、図５のメインフローに戻る。
【００３６】
すなわち、ＣＰＵ４はモード設定手段を構成する。そして、図８の処理はモード設定処理であり、図７のパラメータ設定処理によって設定された倍音パラメータの倍音数に応じて、時分割された一定時間ごとに再生モード又は記録モードを設定する。
【００３７】
メインフローのステップＡ４における押鍵処理のフローを図９及び図１０に示す。この処理では、図９において、鍵走査を行い（ステップＥ１）、鍵変化があるか否かを判別する（ステップＥ２）。押鍵によってオフからオンへの変化があったときは、チャンネルを指定するポインタｎを「１」にセットして（ステップＥ３）、ｎをインクリメントしながら、以下のループ処理を繰り返す。
【００３８】
すなわち、オンフラグＯＮＦ（ｎ）が「０（空き）」であるか否かを判別し（ステップＥ４）、ＯＮＦ（ｎ）が「１」である場合には、そのチャンネルが発音状態であるので、ｎをインクリメントして次のチャンネルを指定する（ステップＥ５）。そして、ｎが最大チャンネル数である「８」を超えたか否かを判別する（ステップＥ８）。ｎが「８」以下である場合には、ステップＥ４に移行してＯＮＦ（ｎ）のデータを判別して空きチャンネルを捜す。
【００３９】
ＯＮＦ（ｎ）が「０」である場合には、そのチャンネルの音高データエリアＮＯＴＥ（ｎ）に鍵番号（音高データ）をストアする（ステップＥ７）。また、ベロシティデータエリアＶＥＬ（ｎ）にベロシティデータをストアする（ステップＥ８）。そして、ＯＮＦ（ｎ）を「１」にセットする（ステップＥ９）。次に、鍵走査が終了したか否かを判別し（ステップＥ１０）、終了していない場合には、ステップＥ１に移行して鍵走査を続行する。ステップＥ２において、鍵変化がない場合にも、ステップＥ１に移行して鍵走査を続行する。
【００４０】
ステップＥ２において、離鍵によってオンからオフへの鍵変化があったときは、図１０のフローにおいて、チャンネルを指定するポインタｎを「１」にセットして（ステップＥ１１）、ｎをインクリメントしながら、以下のループ処理を繰り返す。すなわち、オンフラグＯＮＦ（ｎ）が「１（発音状態）」であるか否かを判別し（ステップＥ１２）、ＯＮＦ（ｎ）が「０」である場合には、そのチャンネルは空きであるので、ｎをインクリメントして次のチャンネルを指定する（ステップＥ１３）。そして、ｎが最大チャンネル数である「８」を超えたか否かを判別する（ステップＥ１４）。ｎが「８」以下である場合には、ステップＥ１２に移行してＯＮＦ（ｎ）のデータを判別して発音状態のチャンネルを捜す。
【００４１】
ＯＮＦ（ｎ）が「１」である場合には、そのチャンネルのＮＯＴＥ（ｎ）の鍵番号と離鍵による鍵番号とが同じであるか否かを判別する（ステップＥ１５）。鍵番号が同じでない場合には、ステップＥ１３に移行してｎをインクリメントする。鍵番号が同じである場合には、ＯＮＦ（ｎ）を「０（空き）」にリセットする（ステップＥ１６）。リセットした後、又はステップＥ１４においてｎが「８」を超えたときは、図９のステップＥ１０に移行して鍵走査が終了したか否かを判別し、終了していない場合には、ステップＥ１に移行して鍵走査を続行する。鍵走査が終了した場合には、ＲＡＭ６の対応するエリアに書き込まれた鍵データをＤＳＰ９に送信する（ステップＥ１７）。そして、図５のメインフローに戻る。
【００４２】
図１１は、ＤＳＰ９のメインフローである。なお、図には示さないが、ＣＰＵ４から送信されたドローバー設定値、鍵データ及びＷＧ（１）〜（８）の設定モードのデータのデータ、ＳＴＦのデータは、ＲＡＭ１２に書き込まれている。ＳＴＦが「１」である場合は波形合成処理を実行し、ＳＴＦが「０」である場合は発音制御処理を実行する。したがって、ＤＳＰ９は、図１１のメインフローにおいて、ＳＴＦが「１」であるか否かを判別し（ステップＦ１）、ＳＴＦが「１」である場合にはＷＧ合成処理を実行し（ステップＦ２）、ＳＴＦが「０」である場合にはＷＧ出力処理を実行する（ステップＦ３）。
【００４３】
メインフローのステップＦ２におけるＷＧ合成処理では、ワークＲＡＭ１１のＷＧＦ（１）〜（８）のモードにしたがって、ＷＧ（１）〜（８）のアルゴリズムを実行する。すなわち、図１２に示すように、再生モードに設定されたＷＧ（１）において、波形データＲＯＭ１１のＰＣＭ波形データを基本音高の周波数のデータ、ワークＲＡＭ１１のＭＥＭ［ｎ］［１］のデータ、及びＤ［ｎ］［１］のデータで中間波形データＷ（１）を生成する（ステップＧ１）。具体的には、波形データＲＯＭ１０のＰＣＭ波形データを基本音高の周波数及びＭＥＭ［ｎ］［１］のデータに基づく読み出し速度、並びに、Ｄ［ｎ］［１］のデータに基づくレベルで読み出す。したがって、ＭＥＭ［１］［１］の場合には、基本音高のＰＣＭ波形データをそのまま読み出す。
【００４４】
同様に、再生モードに設定されたＷＧ（２）において、基本音高、ＭＥＭ［ｎ］［２］、及びＤ［ｎ］［２］の各データでＰＣＭ波形データを読み出して、中間波形データＷ（２）を生成する（ステップＧ２）。次に、再生モードに設定されたＷＧ（３）において、基本音高、ＭＥＭ［ｎ］［３］、及びＤ［ｎ］［３］の各データでＰＣＭ波形データを読み出して、中間波形データＷ（３）を生成する（ステップＧ３）。次に、記録モードに設定されたＷＧ（４）において、ＷＧ（１）〜（３）で生成されたＷ（１）、Ｗ（２）、Ｗ（３）を合成して、ワークＲＡＭ１１のエリアＭＷ（ｎ）に書き込む（ステップＧ４）。
【００４５】
次に、再生モードに設定されたＷＧ（５）において、基本音高の周波数のデータでＭＷ（１）の中間波形データを読み出して、中間波形データＷ（１）を生成する（ステップＧ５）。次に、再生モードに設定されたＷＧ（６）において、基本音高の周波数のデータでＭＷ（２）の中間波形データを読み出して、中間波形データＷ（２）を生成する（ステップＧ６）。次に、再生モードに設定されたＷＧ（７）において、基本音高の周波数のデータでＭＷ（３）の中間波形データを読み出して、中間波形データＷ（３）を生成する（ステップＧ７）。
【００４６】
次に、記録モードに設定されたＷＧ（８）において、ＷＧ（５）〜（７）で生成されたＷ（１）、Ｗ（２）、Ｗ（３）をさらに合成して、ワークＲＡＭ１１のエリアＦＷに最終波形データとして書き込む（ステップＧ８）。そして、ＳＴＦを「０」にリセットするとともに、ＣＰＵ４に対してＳＴＦ（＝０）のメッセージを送信し（ステップＧ９）、図１１のメインフローに戻る。
【００４７】
すなわち、図１１の処理はデータ合成処理であり、再生モードに設定された一定時間においては波形データＲＯＭ１０にあらかじめ記憶されているＰＣＭ波形データを、図７のパラメータ設定処理によって設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間においては、生成した複数の波形データを合成した中間波形データをワークＲＡＭ１１に書き込む。そして、再生モードに設定された次の一定時間において、複数の中間波形データを読み出し、記録モードに設定された次の一定時間において複数の中間波形データを合成して、基音及び複数の倍音の最終波形データをワークＲＡＭ１１の別のエリアに書き込む。
【００４８】
メインフローのステップＦ３におけるＷＧ出力処理のフローを図１３に示す。この処理では、チャンネルを指定するポインタｎを「１」にセットして（ステップＨ１）、ｎをインクリメントしながら以下のループ処理を繰り返す。すなわち、ＲＡＭ１２のＯＮＦ（ｎ）が「１」であるか否かを判別し（ステップＨ２）、ＯＮＦ（ｎ）が「０（空き）」である場合には、ｎをインクリメントして次のチャンネルを指定する（ステップＨ３）。
【００４９】
そして、ｎが最大チャンネル数である「８」を超えたか否かを判別する（ステップＨ４）。ｎが「８」以下である場合には、ステップＨ２に移行してＯＮＦ（ｎ）のデータを判別して使用中チャンネルを捜す。ＯＮＦ（ｎ）が「１」である場合には、ＮＯＴＥ（ｎ）の読み出し速度で、ＦＷの最終の波形データを読み出して、ＶＥＬ（ｎ）のベロシティデータに基づいてゲインを設定し、ＭＩＸＥＲ１３に送出する（ステップＨ５）。次に、ｎをインクリメントして次のチャンネルを指定する（ステップＨ３）。
【００５０】
そして、ｎが最大チャンネル数である「８」を超えたか否かを判別する（ステップＨ４）。ｎが「８」以下である場合には、ステップＨ２に移行してＯＮＦ（ｎ）のデータを判別して発音状態のチャンネルを捜す。ステップＨ４において、ｎが「８」を超えたときは、図１１のメインフローに戻る。
【００５１】
すなわち、図１３の処理は発音制御処理であり、図８のモード設定処理によって分割された一定時間がすべて再生モードに設定された発音制御処理の期間には、ワークＲＡＭ１１から読み出した最終波形データに基づいて発音を制御する。
【００５２】
このように、上記実施形態における楽音制御装置は、波形合成処理の期間及び発音制御処理の期間をそれぞれ一定時間ごとに時分割して、一定時間ごとに一連の楽音制御処理を行う。図２に示す構成において、波形データＲＯＭ１０は、基本音高のＰＣＭ波形データをあらかじめ記憶し、ワークＲＡＭ１１は、任意の波形データを書き込み可能に記憶する。ＣＰＵ４は、入力される音高に応じた基音及び複数の倍音並びに基音及び各倍音のレベルを示す倍音パラメータを操作に応じて設定する。そして、波形合成処理の期間においては、設定された倍音パラメータの倍音数に応じて、時分割された一定時間ごとに再生モード又は記録モードを設定し、発音制御処理の期間においては、時分割された一定時間をすべて再生モードに設定する。
【００５３】
ＤＳＰ９は、波形合成処理の期間には、再生モードに設定された一定時間において、波形データＲＯＭ１０のＰＣＭ波形データを設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間において、複数の波形データを合成した中間波形データをワークＲＡＭ１１のＭＷ［１］〜［３］のエリアに書き込む。そして、再生モードに設定された次の一定時間において、ＭＷ［１］〜［３］のエリアに書き込まれた複数の中間波形データを読み出し、記録モードに設定された次の一定時間において、その複数の中間波形データを合成して、基音及び複数の倍音の最終波形データをワークＲＡＭ１１のＦＷのエリアに書き込む。そして、その最終波形データに基づいて発音を制御する。
【００５４】
したがって、波形合成のアルゴリズムを時分割された一定時間ごとに再生モード又は記録モードに自在に設定することによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応することができる。また、波形データＲＯＭにすべてのＰＣＭ倍音波形データを記憶させておく必要がないので、波形データＲＯＭの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。
【００５５】
なお、上記実施形態においては、ＰＣＭ波形データを元に複数の波形データを合成した中間波形データを作成し、さらに、複数の中間波形データを合成して、発音制御のための最終波形データを作成する構成にしたが、倍音数が少ない場合には中間波形データを作成せずに、ＰＣＭ波形データを元に複数の波形データを合成して、発音制御のための波形データを直接に作成する構成にしてもよい。
【００５６】
すなわち、ＤＳＰ９は、波形合成処理の期間には、再生モードに設定された一定時間において、波形データＲＯＭ１０のＰＣＭ波形データを設定された倍音パラメータに応じて読み出して複数の波形データを生成し、記録モードに設定された一定時間において、複数の波形データを合成して、基音及び複数の倍音の波形データをワークＲＡＭ１１に書き込み、その波形データに基づいて発音を制御する。
【００５７】
この場合においても、波形合成のアルゴリズムを時分割された一定時間ごとに再生モード又は記録モードに自在に設定することによって、ドローバーオルガンのような音色を実現する際に、ユーザの要求に柔軟に対応することができる。また、波形データＲＯＭにすべてのＰＣＭ倍音波形データを記憶させておく必要がないので、波形データＲＯＭの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。この場合には、実施形態に比べて倍音数は少なくなるが、ワークＲＡＭ１１の容量は少なくできる。
【００５８】
また、上記実施形態においては、楽音制御装置の発明について説明したが、この楽音制御装置の動作を示すフローチャートに示したように、楽音制御方法の発明とみなすこともできる。すなわち、請求項５及び６に記載した楽音制御方法の発明を実現することができる。
【００５９】
【発明の効果】
【００６０】
請求項１の楽音制御装置及び請求項４の楽音制御方法の発明によれば、波形データＲＯＭにすべてのＰＣＭ倍音波形データを記憶させておく必要がないので、波形データＲＯＭの記憶容量を相当に小さくでき、製品のコストダウンや小型化を図ることができる。
【図面の簡単な説明】
【図１】実施形態における電子鍵盤楽器のシステム構成を示すブロック図。
【図２】図１の音源部の構成を示すブロック図。
【図３】図１のＣＰＵ及び音源部におけるメモリマップを示す図。
【図４】図２のＤＳＰにおけるメモリマップを示す図。
【図５】図１のＣＰＵのメインフローチャート。
【図６】図５のイニシャライズ処理のフローチャート。
【図７】図５のドローバー読取り処理のフローチャート。
【図８】図５のＷＧ設定処理のフローチャート。
【図９】図５の押鍵処理のフローチャート。
【図１０】図９に続く押鍵処理のフローチャート。
【図１１】図２のＤＳＰのメインフローチャート。
【図１２】図１１におけるＷＧ合成処理のフローチャート。
【図１３】図１１におけるＷＧ出力処理のフローチャート。
【符号の説明】
４  ＣＰＵ
９  ＤＳＰ
１０  波形データＲＯＭ
１１  ワークＲＡＭ
【図１】
0004258878.tif 000002
【図２】
0004258878.tif 000003
【図３】
0004258878.tif 000004
【図４】
0004258878.tif 000005
【図５】
0004258878.tif 000006
【図６】
0004258878.tif 000007
【図７】
0004258878.tif 000008
【図８】
0004258878.tif 000009
【図９】
0004258878.tif 000010
【図１０】
0004258878.tif 000011
【図１１】
0004258878.tif 000012
【図１２】
0004258878.tif 000013
【図１３】
0004258878.tif 000014