(57)【要約】【課題】楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できるようにする。【解決手段】ＣＰＵ１は、楽音の基音および倍音を規定する複数のパラメータからなるスペクトルリストのスペクトルデータおよびチャンネルリストのスペクトルデータをそれぞれ対応するＲＡＭ４のエリアから読み出して、チャンネルリストのスペクトルデータにおける１種類のパラメータをスペクトルリストのスペクトルデータにおける同種類のパラメータに変更して新たなチャンネルリストのスペクトルデータを生成する。【選択図】        図１
2004205891.tif 000002
【特許請求の範囲】
【請求項１】
楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータおよび第２のスペクトルデータをそれぞれ対応する記憶手段から読み出すデータ読出手段と、
前記第２のスペクトルデータにおける少なくとも１種類のパラメータを前記第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成するデータ変更手段と、
を備えたことを特徴とするスペクトル設定装置。
【請求項２】
前記データ読出手段は、前記記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された第１のスペクトルデータを読み出し、前記データ変更手段は、前記第２のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータを前記データ読出手段によって読み出された第１のスペクトルデータのパラメータに変更することを特徴とする請求項１記載のスペクトル設定装置。
【請求項３】
前記データ変更手段は、前記第２のスペクトルデータにおける振幅のパラメータを前記第１のスペクトルデータのパラメータに変更することを特徴とする請求項２記載のスペクトル設定装置。
【請求項４】
前記データ変更手段は、前記第２のスペクトルデータにおけるスペクトル分布のパラメータを前記第２のスペクトルデータのパラメータに変更することを特徴とする請求項１記載のスペクトル設定装置。
【請求項５】
外部から入力される前記第２のスペクトルデータを対応する記憶手段に記憶するデータ入力手段をさらに有することを特徴とする請求項１記載のスペクトル設定装置。
【請求項６】
外部から入力される音高データとその音高データの音色を決定するために前記データ変更手段によって生成される第２のスペクトルデータとを所定の音源に出力するデータ出力手段をさらに備えたことを特徴とする請求項１記載のスペクトル設定装置。
【請求項７】
楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータおよび第２のスペクトルデータをそれぞれ対応する記憶手段から読み出す第１のステップと、
前記第２のスペクトルデータにおける少なくとも１種類のパラメータを前記第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成する第２のステップと、
を実行するスペクトル設定処理のプログラム。
【請求項８】
前記第１のステップは、前記記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された第１のスペクトルデータを読み出し、前記第２のステップは、前記第２のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータを前記データ読出手段によって読み出された第１のスペクトルデータのパラメータに変更することを特徴とする請求項７記載のスペクトル設定処理のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音の音色を決定するスペクトルデータを設定するためのスペクトル設定装置およびスペクトル設定処理のプログラムに関する。
【０００２】
【従来の技術】
楽音の基音および複数の倍音のスペクトルデータを変更（修正）して、楽音を設定する技術が普及している。スペクトルデータの変更の際には、基音および各倍音ごとに変更を行なっていた。このため、変更作業が煩雑になり、変更に多大な時間を要するとともに、スペクトルの技術に精通した熟練者でなけば、容易に変更することができなかった。そこで、初心者であっても短時間で容易にスペクトルデータを変更できる楽音制御装置の提案がなされている。
【０００３】
この提案の楽音制御装置によれば、ＣＰＵ１およびそのシステムバス２に接続されたプログラムＲＯＭ３、ワークＲＡＭ４、操作部５、表示部６、波形ＲＡＭ７を用いて、表示部６の画面に表示されたスペクトルデータを一括して変更する構成になっている。
スペクトルデータを変更するために、ＣＰＵ１は、プログラムＲＯＭ３のプログラムに基づき、ワークＲＡＭ４に記憶された楽音の基音および複数の倍音のスペクトルデータを読み出し、表示部６にスペクトルデータをグラフ画像として表示するとともに、操作部５による変更操作に応じて、読み出された基音および複数の倍音のスペクトルデータを一括して変更して、このスペクトルデータに基づいて波形データを生成して、波形ＲＡＭ７に記憶する（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２０００−１５５５８６号公報（第１頁、図１）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、変更対象のスペクトルデータを画像で表示して一括して変更することは可能であるが、変更前の段階で変更後のスペクトルデータのイメージを前もって把握することは困難であった。したがって、変更後のスペクトルデータの画像を表示して、その形状が意に沿わない場合には、再び変更作業を行なう必要があった。このため、変更の試行錯誤が煩雑になり、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握したいという要望がなされていた。さらに、多彩な音色の楽音を得るために、変更のバリエーションを豊富にしたいという要望がなされていた。
【０００６】
本発明は、上記従来の課題を解決するものであり、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できるとともに、豊富なバリエーションでスペクトルの変更ができるスペクトル設定装置およびスペクトル設定処理のプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１に記載のスペクトル設定装置は、楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータ（実施形態においては、図２に示すＲＡＭのメモリマップのエリアに記憶されるスペクトルリストデータ群に相当する)および第２のスペクトルデータ(実施形態においては、図２に示すＲＡＭのメモリマップのエリアに記憶されるチャンネルスペクトルリストデータ群に相当する)をそれぞれ対応する記憶手段(実施形態においては、図２のＲＡＭ４のメモリマップのエリアに相当する)から読み出すデータ読出手段(実施形態においては、図１のＣＰＵ１に相当する)と、第２のスペクトルデータにおける少なくとも１種類のパラメータを第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成するデータ変更手段(実施形態においては、図１のＣＰＵ１に相当する)とを備えた構成になっている。
【０００８】
この場合において、データ読出手段は、記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された第１のスペクトルデータを読み出し、データ変更手段は、第２のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータをデータ読出手段によって読み出された第１のスペクトルデータのパラメータに変更するように構成してもよい。
【０００９】
さらにこの場合において、データ変更手段は、第２のスペクトルデータにおける振幅パラメータを第１のスペクトルデータのパラメータに変更するように構成してもよい。
あるいはこの場合において、データ変更手段は、第２のスペクトルデータにおけるスペクトル分布のパラメータを第１のスペクトルデータのパラメータに変更するように構成してもよい。
【００１０】
また、外部から入力される第２のスペクトルデータを対応する記憶手段に記憶するデータ入力手段(実施形態においては、図１のＭＩＤＩインターフェース６およびＣＰＵ１に相当する)をさらに有するように構成してもよい。
また、外部から入力される音高データとその音高データの音色を決定するためにデータ変更手段によって生成される第２のスペクトルデータとを所定の音源に出力するデータ出力手段(実施形態においては、図１のＣＰＵ１に相当する)をさらに有するように構成してもよい。
【００１１】
請求項７に記載のスペクトル設定処理のプログラムは、楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータ(実施形態においては、図２に示すＲＡＭのメモリマップのエリアに記憶されるスペクトルリストデータ群に相当する)および第２のスペクトルデータ(実施形態においては、図２に示すＲＡＭのメモリマップのエリアに記憶されるチャンネルスペクトルリストデータ群に相当する)をそれぞれ対応する記憶手段(実施形態においては、図１のＲＡＭ４の対応するエリアに相当する)から読み出す第１のステップと、第２のスペクトルデータにおける少なくとも１種類のパラメータを第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成する第２のステップとを実行する。なお、第１および第２のステップは、実施形態においては、図３ないし図９に示すＣＰＵ１のフローチャートに相当する。
【００１２】
この場合において、第１のステップは、記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された第１のスペクトルデータを読み出し、第２のステップは、第２のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータをデータ読出手段によって読み出された第１のスペクトルデータのパラメータに変更するように構成してもよい。
【００１３】
【発明の実施の形態】
以下、本発明によるスペクトル設定装置の第１ないし第３の実施形態について、図を参照して説明する。
図１は、各実施形態におけるスペクトル設定装置のシステムの構成を示すブロック図である。この図において、ＣＰＵ１は、システムバス２を介して、ＲＯＭ３、ＲＡＭ４、表示器５、ＭＩＤＩインターフェース６、操作部７、音源８に接続され、これら各部との間でコマンドおよびデータを送受信して、このスペクトル設定装置全体を制御する。
【００１４】
ＲＯＭ３は、ＣＰＵ１によって実行されるスペクトル設定処理のプログラムを記憶しているとともに、イニシャライズにおいて設定する初期データを記憶している。ＲＡＭ４は、ＣＰＵ１のワークエリアであり、ＭＩＤＩインターフェース６から入力される演奏情報のイベントを一時的に記憶するエリア、変更後のスペクトルデータ、変更のために参照する参照目的のスペクトルデータ、および関連するデータを記憶するエリア、並びに、各種のレジスタ、フラグ、ポインタのエリアが設けられている。表示器５は、スペクトルデータの画像、スペクトルデータの変更などの設定を行なう場合のアイコンなどを表示する。ＭＩＤＩインターフェース６は、鍵盤などのＭＩＤＩ演奏装置に接続され、その演奏に応じてノートイベントなどのＭＩＤＩデータを入力する。操作部７は、テンキーを有するキーボードおよびマウスなどのポインティングデバイスで構成され、ユーザの操作に応じてコマンドやデータを入力するとともに、表示されたアイコンを指定する。音源８は、アンプ９を介してスピーカ１０に接続され、ＣＰＵ１からの発音コマンドや消音コマンド、および、楽音のイベントデータおよびスペクトルデータに応じて、楽音信号を発生してスピーカ１０に送出したり送出を停止する。
【００１５】
図２は、各実施形態におけるＲＡＭ４のメモリマップの一部であり、スペクトルデータおよびノートデータを記憶するエリアを示す図である。このエリアには、スペクトルリストデータ群、チャンネルスペクトルデータ群、ノートデータ群を記憶するエリアで構成されている。スペクトルリストデータ群のエリアは、ＳＰＤ（１）ないしＳＰＤ（Ｎ）からなる最大Ｎ種類のスペクトルリストデータを記憶できる。さらに、任意のスペクトルリストデータＳＰＤ（ｎ）のエリアには、基音のスペクトルデータＳＰＤ（ｎ）（１）および複数の倍音のスペクトルデータＳＰＤ（２）ないしＳＰＤ（ｎ）（Ｍ）からなる最大Ｍ個のスペクトルデータを記憶できる。
チャンネルスペクトルデータ群のエリアは、音源８の発音チャンネルに割り当てられるＣＨ（１）ないしＣＨ（８）の８個のチャンネルスペクトルデータを記憶するエリアで構成される。さらに、任意のチャンネルスペクトルデータＣＨ（ｍ）のエリアには、基音のスペクトルデータＳＰ（ｍ）（１）および複数の倍音のスペクトルデータＳＰ（ｍ）（２）ないしＳＰ（ｍ）（Ｍ）からなる最大Ｍ個のチャンネルスペクトルデータを記憶できる。
ノートデータ群のエリアは、音源８の発音チャンネルに割り当てられるＮＯＴＥ（１）ないしＮＯＴＥ（８）の８個のノートデータを記憶するエリアで構成され、ＭＩＤＩインターフェース６を介して外部から入力されるノートデータが記憶される。
【００１６】
次に、第１ないし第３の実施形態におけるスペクトル設定処理の動作について、図３ないし図１０に示すＣＰＵ１によって実行されるフローチャート、および、図１１ないし図１４に示す表示器５の画面に基づいて説明する。なお、第１ないし第３の実施形態において互いに異なる動作は、後述するスペクトル設定処理のみである。したがって、スペクトル設定処理以外の各実施形態における共通の動作については一括して説明する。
【００１７】
図３および図４は、ＣＰＵ１のメインフローチャートである。所定のイニシャライズを行なって(ステップＡ１)、参照目的のスペクトルリストデータを指定するポインタＳＰＬＩＳＴ、および、変更対象のチャンネルスペクトルリストデータ（以下、チャンネルリストという）を指定するポインタＣＨＬＩＳＴを共に「１」にセットする(ステップＡ２)。次に、設定枠画面を表示する(ステップＡ３)。図１１に設定枠画面を示す。
【００１８】
この画面には、スペクトル１ないしスペクトル９からなるスペクトルリスト１１、および、チャンネル１ないしチャンネル８からなるチャンネルリスト１２が表示される。また、スペクトルリスト１１の下側に表示アイコン１３が表示され、チャンネルスペクトルの下側に表示アイコン１４および型アイコン１５が表示されている。チャンネルリスト１２は各チャンネルごとのスペクトル設定対象のリストであり、スペクトルリスト１１はその設定に利用するスペクトル参照のリストである。
【００１９】
次に、ＳＰＬＩＳＴに対応するリスト表示を変更し(ステップＡ４)、ＣＨＬＩＳＴに対応するリスト表示を変更する(ステップＡ５)。例えば、表示色を変更したり、白黒反転表示を行なう。次に、操作部７によってスペクトルリスト１１のいずれかの番号のリストがオンされたか否かを判別する(ステップＡ６)。スペクトルリストがオンされたときは、オンされたリスト番号をポインタＳＰＬＩＳＴにセットする(ステップＡ７)。スペクトルリスト１１がオンされない場合には、チャンネルリスト１２のいずれかのチャンネルがオンされたか否かを判別する(ステップＡ８)。チャンネルリストがオンされたときは、オンされたリスト番号をポインタＣＨＬＩＳＴにセットする(ステップＡ９)。
ステップＡ７又はステップＡ９において、オンされたリスト番号をセットした後は、ステップＡ４に移行する。そして、オンされたリスト番号のスペクトルリスト又はチャンネルリストの表示を変更する。例えば、図１１においては、スペクトル設定対象のリストとしてチャンネル２のスペクトルＢが選択され、その設定に利用するスペクトル参照のリストとしてスペクトル３が選択され、それぞれ、選択されたスペクトルの表示が変更（図ではハッチング）されている。
【００２０】
ステップＡ６においてスペクトルリストがオンされず、かつ、ステップＡ８においてチャンネルリストがオンされない場合には、図４のフローにおいて、リストスペクトルの表示アイコンがオンされたか否かを判別する(ステップＡ１０)。このアイコンがオンされたときは、スペクトル表示処理を実行する(ステップＡ１１)。このアイコンがオンされない場合には、チャンネルスペクトルの表示アイコンがオンされたか否かを判別する(ステップＡ１２)。このアイコンがオンされたときもステップＡ１１のスペクトル表示を実行する。
【００２１】
チャンネルスペクトルの表示アイコンもオンでない場合には、型アイコンがオンされたか否かを判別する(ステップＡ１３)。このアイコンがオンされたときは、スペクトル設定処理を実行する(ステップＡ１４)。型アイコンもオンでない場合には、ＭＩＤＩ入力があったか否かを判別する(ステップＡ１５)。ＭＩＤＩ入力があったときは、ＭＩＤＩ入力処理を実行する(ステップＡ１６)。
ステップＡ１１のスペクトル表示処理、ステップＡ１４のスペクトル設定処理、又はステップＡ１６のＭＩＤＩ入力処理を実行した後は、図４のステップＡ３に移行して、図１１の設定枠画面表示に戻る。
【００２２】
図５は、図４のフローにおけるステップＡ１１のスペクトル表示処理のフローチャートである。このフローでは、まずスペクトル表示枠画面を表示する(ステップＢ１)。この枠画面には、図１２ないし図１４に示すように、グラフ表示の枠１６、変更アイコン１７、および終了アイコン１８が表示される。次に、スペクトルリストおよびチャンネルリストのスペクトルの基音や倍音のスペクトルを表示する位置を指定するポインタｎおよびポインタｍを「１」にセットする(ステップＢ２)。すなわち、最初はいずれも基音のスペクトルを指定する。そして、ポインタｎ，ｍをインクリメントしながら、ステップＢ３からステップＢ７までのループを繰り返す。
【００２３】
ループの最初に、ポインタＳＰＬＩＳＴで指定するスペクトルリストの表示であるか、又は、ポインタＣＨＬＩＳＴで指定されるチャンネルリストの表示であるかを判別する(ステップＢ３)。スペクトルリストの表示である場合には、位置ｍにスペクトルリスト（ＳＰＬＩＳＴ）（ｍ）をグラフ表示する(ステップＢ４)。一方、チャンネルリストの表示である場合には、位置ｍにチャンネルリスト（ＣＨＬＩＳＴ）（ｍ）をグラフ表示する(ステップＢ５)。いずれかの表示を行なった後は、ｍの値をインクリメントする(ステップＢ６)。そして、ｍの値が最大値Ｍより大きいか否かを判別する(ステップＢ７)。ｍの値がＭの値以下である場合には、ステップＢ３に移行してステップＢ７までのループを繰り返す。
【００２４】
ｍの値がＭの値よりも大きくなったときは、現在のスペクトルが画面にグラフ表示される。図１２は、チャンネルリストのスペクトルのグラフ画像を示し、図１３は、スペクトルリストのスペクトルのグラフ画像を示している。これらの図において、横軸は基音番号、倍音番号を表し、縦軸はレベルを表している。チャンネルリスト又はスペクトルリストがグラフ表示された後、操作部７によって画面の変更アイコンがオンされたか否かを判別する(ステップＢ８)。このアイコンがオンされたときは、変更処理を実行する(ステップＢ９)。このアイコンがオンでない場合には、終了アイコンがオンされたか否かを判別する(ステップＢ１０)。このアイコンがオンされたときは、表示をクリアして(ステップＢ１１)、このフローを終了してメインフローに戻る。
【００２５】
図６は、図５のフローにおけるステップＢ９の変更処理のフローチャートである。このフローに入ると、操作部７によって倍音位置がオンされたか否かを判別し(ステップＣ１)、倍音位置がオンされたときは、その指定された倍音番号をポインタｎにセットする(ステップＣ２)。そして、このフローを終了して図５のフローに戻る。
倍音位置がオンされない場合には、操作部７からレベル入力がされたか否かを判別する(ステップＣ３)。レベル入力がない場合にはこのフローを終了するが、レベル入力がされたときは、現在表示されているのはチャンネルリストであるか、又は、スペクトルリストであるかを判別する(ステップＣ４)。チャンネルリストである場合には、入力されたレベルを図２に示したＲＡＭ４のエリアＳＰ（ＣＨＬＩＳＴ）（ｎ）にストアして値を更新する(ステップＣ５)。スペクトルリストである場合には、入力されたレベルをＲＡＭ４のエリアＳＰＤ（ＳＰＬＩＳＴ）（ｎ）にストアして値を更新する(ステップＣ６)。チャンネルリスト又はスペクトルリストの値を更新した後は、倍音番号ｎの示す位置に入力レベルのグラフを表示する(ステップＣ７)。そして、このフローを終了して図５のフローに戻る。
【００２６】
図７は、図４のメインフローのステップＡ１４における第１の実施形態のスペクトル設定処理のフローチャートである。チャンネルリストおよびスペクトルリストの倍音番号を指定するポインタｉを「１」にセットして(ステップＤ１)、ステップＤ２からステップＤ５までのループを繰り返す。ＲＡＭ４のチャンネルリストのスペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」であるか否かを判別し(ステップＤ２)、ＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」でない場合には、スペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｉ）をスペクトルデータＳＰＤ（ＳＰＬＩＳＴ）（ｉ）に変更する(ステップＤ３)。
この変更の後又はＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」である場合には、ｉの値をインクリメントする(ステップＤ４)。このとき、ｉの値が最大値Ｍより大きいか否かを判別する(ステップＤ５)。ｉの値がＭの値以下である場合には、ステップに移行して、ループを繰り返す。ｉの値がＭの値より大きくなったときは、このフローを終了してメインフローに戻る。
【００２７】
この第１の実施形態におけるスペクトル設定処理によれば、チャンネルリストにおけるスペクトルデータのレベルをスペクトルリストにおける同じ倍音番号のスペクトルデータのレベルに変更する。ただし、チャンネルリストのスペクトル間隔（「スペクトル分布」ともいう）は変化しない。
【００２８】
例えば、図１２に示したチャンネルリストのスペクトルデータのグラフ表示においては、倍音番号２，４，６，８，１０…の倍音のレベルが最大値である２５５の状態になっている。このスペクトル特性が、第１の実施形態によるスペクトル設定処理によって、図１３のスペクトルリストのレベルに基づいて、対応する倍音番号のレベル２１７，１５７，１１４，８２，６０…に変更される。
【００２９】
図８は、図４のメインフローのステップＡ１４における第２の実施形態のスペクトル設定処理のフローチャートである。まず、チャンネルリストの倍音番号を指定するポインタｉを「１」にセットするとともに、スペクトルリストの倍音番号を指定するポインタｊを「１」にセットする(ステップＥ１)。そして、ステップＥ２からステップＥ６までのループを繰り返す。ＲＡＭ４のチャンネルリストのスペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」であるか否かを判別し(ステップＥ２)、ＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」でない場合には、スペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｉ）をスペクトルデータＳＰＤ（ＳＰＬＩＳＴ）（ｊ）に変更する(ステップＥ３)。そして、ｊの値をインクリメントする(ステップＥ４)。
ｊの値をインクリメントした後、又は、ＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」である場合には、ｉの値をインクリメントする(ステップＥ５)。このとき、ｉの値が最大値Ｍより大きいか否かを判別する(ステップＥ６)。ｉの値がＭの値以下である場合には、ステップＥ２に移行して、ループを繰り返す。ｉの値がＭの値より大きくなったときは、このフローを終了してメインフローに戻る。
【００３０】
この第２の実施形態におけるスペクトル設定処理によれば、チャンネルリストにおけるスペクトルデータのレベルをスペクトルリストにおけるスペクトルデータのレベルに変更する。ただし、倍音番号同士は対応せず、スペクトルリストにおけるスペクトルデータのレベルを倍音番号順に読み出してチャンネルリストのレベルに設定する。この第２の実施形態においても、チャンネルリストのスペクトル間隔は変化しない。
【００３１】
図１４は、第２の実施形態におけるスペクトル設定処理によって変更されたチャンネルリストのスペクトルデータのグラフ表示を示した図である。この図に示すように、図１２に示したチャンネルリストのスペクトルデータが、図１３のスペクトルリストのスペクトルデータにおけるレベル（振幅）のパラメータに応じて変更されている。この場合には、図に示すように、倍音番号２，４，６，８，１０…の倍音のレベル２５５のスペクトル特性が、図１３のスペクトルリストの倍音番号１，２，３，４，５…のレベルに基づいて、レベル２５５，２１７，１８５，１５７，１３４…に変更されている。
【００３２】
図９は、図４のメインフローのステップＡ１４における第３の実施形態のスペクトル設定処理のフローチャートである。まず、チャンネルリストの倍音番号を指定するポインタｉを「１」にセットするとともに、チャンネルリストおよびスペクトルリストの倍音番号を指定するポインタｊを「１」にセットする(ステップＦ１)。次に、図２に示したＲＡＭ４のスペクトルリストのスペクトルデータＳＰＤ（ＳＰＬＩＳＴ）（ｊ）のレベルが「０」であるか否かを判別する(ステップＦ２)。ＳＰＤ（ＳＰＬＩＳＴ）（ｊ）のレベルが「０」である場合には、同じ倍音番号のチャンネルリストのスペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｊ）を「０」にする(ステップＦ３)。
【００３３】
ＳＰＤ（ＳＰＬＩＳＴ）（ｊ）のレベルが「０」でない場合には、チャンネルリストのスペクトルデータＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」であるか否かを判別する(ステップＦ４)。ＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルが「０」である場合には、ｉの値をインクリメントする(ステップＦ５)。このとき、ｉの値が最大値Ｍより大きいか否かを判別する(ステップＦ６)。ｉの値がＭの値以下である場合には、ステップＦ４に移行して、レベルが「０」でないＳＰ（ＣＨＬＩＳＴ）（ｉ）を捜す。ｉの値がＭの値より大きくなったときは、このフローを終了してメインフローに戻る。
【００３４】
レベルが「０」でないＳＰ（ＣＨＬＩＳＴ）（ｉ）がある場合には、ＳＰ（ＣＨＬＩＳＴ）（ｉ）をＳＰ（ＣＨＬＩＳＴ）（ｊ）に変更して更新する(ステップＦ７)。すなわち、レベルが「０」のスペクトルデータを、レベルが「０」でなく且つより高い倍音のスペクトルデータに変更する。次に、ｊの値をインクリメントする(ステップＦ８)。そして、ｊの値が最大値Ｍより大きいか否かを判別する(ステップＦ９)。ｊの値がＭの値以下である場合には、ステップＦ２に移行して、ＳＰＤ（ＳＰＬＩＳＴ）（ｊ）のレベルが「０」であるか否かを判別する。
【００３５】
ｊの値がＭの値より大きくなったときは、ｉの値がＭの値以下であるか否かを判別する(ステップＦ１０)。ｉの値がＭの値以下である場合には、ＳＰ（ＣＨＬＩＳＴ）（ｉ）のレベルを「０」にする(ステップＦ１１)。そして、ｉの値をインクリメントする(ステップＦ１２)。次に、ステップＦ２に移行してＳＰＤ（ＳＰＬＩＳＴ）（ｊ）のレベルが「０」であるか否かを判別する。
ステップＦ１０において、ｉの値がＭの値より大きくなったときは、このフローを終了してメインフローに戻る。
【００３６】
この第３の実施形態におけるスペクトル設定処理によれば、同じ倍音番号において、チャンネルリストのスペクトルデータのレベルが「０」で、スペクトルリストのスペクトルデータのレベルが「０」でない場合には、レベルが「０」でないチャンネルリストのスペクトルデータを、レベルが「０」のチャンネルリストのスペクトルデータにコピーして、その倍音番号のスペクトルデータを新たに生成する。また、ある倍音番号におけるスペクトルリストのスペクトルデータのレベルが「０」である場合には、同じ倍音番号のチャンネルリストにおけるスペクトルデータのレベルを「０」にする。
すなわち、この第３の実施形態によれば、チャンネルリストのスペクトルデータの間隔を、スペクトルリストのスペクトルデータの間隔に合わせて変更する。ただし、チャンネルリストのスペクトルデータのレベルは変更しない。
【００３７】
図１０は、メインフローにおけるステップＡ１６のＭＩＤＩ入力処理のフローチャートである。まず、入力されたＭＩＤＩデータの内容を判別する(ステップＧ１)。ＭＩＤＩデータがノートオンのイベントである場合には、音源８に割り当てるチャンネルアサインのチャンネルを指定するポインタＣＨの値を「１（最初のチャンネル）」にセットする(ステップＧ２)。そして、指定したチャンネルにおいて、図２に示したノートオンデータ群をストアするレジスタＮＯＴＥ（ＣＨ）が空きであるか否かを判別する(ステップＧ３)。
【００３８】
ＮＯＴＥ（ＣＨ）が空きでない場合には、ＣＨの値をインクリメントして(ステップＧ４)、ＣＨの値がチャンネル総数「８」より大きくなったか否かを判別する(ステップＧ５)。ＣＨの値が「８」より大きくなった場合には、このフローを終了してメインフローに戻る。ＣＨの値が「８」以下である場合には、ステップＧ３に移行してＮＯＴＥ（ＣＨ）の空きを捜す。
ＮＯＴＥ（ＣＨ）が空きである場合には、イベントのノートデータをＮＯＴＥ（ＣＨ）にストアする(ステップＧ６)。次に、ＮＯＴＥ（ＣＨ）およびＳＰ（ＣＨ）による発音処理を行なう(ステップＧ７)。すなわち、変更されたチャンネルリストのスペクトルデータによって、ノートデータの音色を決定して発音させる。発音処理の後は、このフローを終了してメインフローに戻る。
【００３９】
ステップＧ１において、ＭＩＤＩデータがノートオフのイベントである場合には、ポインタＣＨの値を「１」にセットして(ステップＧ８)、そのイベントのノートとＣＨで指定するチャンネルのＮＯＴＥ（ＣＨ）のノートとが一致するか否かを判別する(ステップＧ９)。一致しない場合には、ＣＨの値をインクリメントして(ステップＧ４)、ＣＨの値がチャンネル総数「８」より大きくなったか否かを判別する(ステップＧ５)。
ＣＨの値が「８」より大きくなった場合には、このフローを終了してメインフローに戻る。ＣＨの値が「８」以下である場合には、ステップＧ９に移行してイベントのノートと一致するＮＯＴＥ（ＣＨ）を捜す。
イベントのノートと一致するＮＯＴＥ（ＣＨ）があったときは、そのＮＯＴＥ（ＣＨ）に対する消音処理を行なって(ステップＧ１２)、ＮＯＴＥ（ＣＨ）を空きにする(ステップＧ１３)。そして、このフローを終了してメインフローに戻る。
【００４０】
このＭＩＤＩ入力処理によれば、外部から入力されるノートオンデータと、そのノートオンデータの音色を決定するために、スペクトルリストにおける選択されたスペクトルデータのパラメータに応じて変更されたチャンネルリストのスペクトルデータとを音源８に出力する。
【００４１】
以上のように、上記各実施形態によれば、ＣＰＵ１は、楽音の基音および倍音を規定する複数のパラメータからなるスペクトルリストのスペクトルデータおよびチャンネルリストのスペクトルデータをそれぞれ対応するＲＡＭ４のエリアから読み出して、チャンネルリストのスペクトルデータにおける少なくとも１種類のパラメータをスペクトルリストのスペクトルデータにおける同種類のパラメータに変更して新たなチャンネルリストのスペクトルデータを生成する。
したがって、上記各実施形態によれば、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できる。
【００４２】
この場合において、ＣＰＵ１は、ＲＡＭ４に記憶されている複数種類の第１のスペクトルデータの中から、操作部７による操作に応じて選択された少なくとも１種類のスペクトルデータを読み出し、チャンネルリストのスペクトルデータにおいて、操作部７による操作に応じて選択されたパラメータを、スペクトルリストのスペクトルデータのパラメータに変更する。
すなわち、第１の実施形態又は第２の実施形態のように、チャンネルリストのスペクトルデータの振幅パラメータをスペクトルリストのスペクトルデータの振幅パラメータに変更する。
あるいは、第３の実施形態のように、チャンネルリストにおけるスペクトル間隔（スペクトル分布のパラメータ）を、スペクトルリストにおけるスペクトルデータのスペクトル間隔に変更する。
したがって、上記各実施形態によれば、スペクトルリストにおける複数種類のスペクトルデータに基づいて、豊富なバリエーションでスペクトルの変更ができる。
【００４３】
また、上記各実施形態において、ＣＰＵ１は、ＭＩＤＩインターフェース６を介して外部から入力される音高データと、その音高データの音色を決定するためにパラメータが変更されて生成されたチャンネルリストのスペクトルデータとを音源８に出力する。
したがって、外部から入力される音高データの音色を変更する際に、変更する前の段階で変更後の音色を予測できる。
【００４４】
上記各実施形態においては、チャンネルリストのスペクトルデータがＲＡＭ４に記憶されているように構成したが、さらに実施形態の変形例として、外部装置から又は操作部７によって入力されるチャンネルリストのスペクトルデータを対応するＲＡＭ４のエリアに記憶して、スペクトル設定処理の際に読み出すように構成してもよい。この場合には、外部（入力操作を含む）において設定されたスペクトルデータを豊富なバリエーションで変更できる。
【００４５】
また、上記各実施形態においては、変更対象であるチャンネルリストの中から、操作に応じて選択された１つのスペクトルデータをグラフ表示する場合と、変更するために参照する参照対象のスペクトルリストの中から、操作に応じて選択された１つのスペクトルデータをグラフ表示する場合とを、別々の画面に表示するようにしたが、選択されたチャンネルリストのスペクトルデータと、選択されたスペクトルリストのスペクトルデータとを、同じ画面に並べて表示する構成にしてもよい。
この場合には、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージをより一層明確な状態で把握できる。
【００４６】
また、上記各実施形態においては、参照目的のスペクトルリストにおける複数種類のスペクトルデータの中から、操作に応じて選択された１つのスペクトルデータをグラフ表示するように構成したが、複数種類のスペクトルデータを同じ画面にグラフ表示する構成にしてもよい。
この場合には、それぞれのスペクトルデータによってチャンネルリストにおける変更後のスペクトルデータのイメージを前もって把握して、参照目的の１つのスペクトルデータを選択できる。
【００４７】
なお、上記各実施形態においては、スペクトル設定装置のＲＯＭ３にあらかじめ格納されているスペクトル設定処理のプログラムをＣＰＵ１が実行する構成について説明したが、ＦＤ（フレキシブルディスク）やＣＤ−ＲＯＭなどの外部記憶媒体に記憶されたスペクトル設定処理のプログラム、又は、インターネットなどの通信網を介してダウンロードしたスペクトル設定処理のプログラムをハードディスクなどのメモリにインストールして実行する構成も可能である。この場合には、プログラムの発明を実現する。
【００４８】
すなわち、そのスペクトル設定処理のプログラムは、楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータおよび第２のスペクトルデータをそれぞれ対応する記憶手段から読み出す第１のステップと、第２のスペクトルデータにおける少なくとも１種類のパラメータを第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成する第２のステップとを実行する構成になっている。
したがって、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できる。
【００４９】
この場合において、第１のステップは、記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された第１のスペクトルデータを読み出し、第２のステップは、第２のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータをデータ読出手段によって読み出された第１のスペクトルデータのパラメータに変更する構成になっている。
したがって、第１のスペクトルデータにおける複数種類のスペクトルデータに基づいて、豊富なバリエーションでスペクトルの変更ができる。
【００５０】
【発明の効果】
本発明によれば、楽音の基音および倍音を規定する複数のパラメータからなる第１のスペクトルデータおよび第２のスペクトルデータをそれぞれ対応する記憶手段から読み出し、第２のスペクトルデータにおける少なくとも１種類のパラメータを第１のスペクトルデータにおける同種類のパラメータに変更して新たな第２のスペクトルデータを生成するので、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できるという効果が得られる。
【００５１】
さらに、記憶手段に記憶されている複数種類の第１のスペクトルデータの中から操作に応じて選択された少なくとも１種類のスペクトルデータを読み出し、第２のスペクトルデータにおいて操作に応じて選択されたパラメータを読み出した第１のスペクトルデータのパラメータに変更するので、豊富なバリエーションでスペクトルの変更ができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の各実施形態におけるスペクトルデータ設定装置のシステムの構成を示すブロック図。
【図２】本発明の各実施形態におけるＲＡＭのメモリマップのエリアを示す図。
【図３】各実施形態におけるＣＰＵのメインフローチャート。
【図４】図３に続くメインフローチャート。
【図５】図４のメインフローチャートにおける各実施形態のスペクトル表示処理のフローチャート。
【図６】図５のスペクトル表示処理における変更処理のフローチャート。
【図７】図４のメインフローチャートにおける第１の実施形態のスペクトル設定処理のフローチャート。
【図８】図４のメインフローチャートにおける第２の実施形態のスペクトル設定処理のフローチャート。
【図９】図４のメインフローチャートにおける第３の実施形態のスペクトル設定処理のフローチャート。
【図１０】図４のメインフローチャートにおけるＭＩＤＩ入力処理のフローチャート。
【図１１】図１の表示器に表示された各実施形態における設定枠画面の図。
【図１２】図１の表示器に表示された各実施形態におけるチャンネルリストのスペクトルデータをグラフ表示した画面の図。
【図１３】図１の表示器に表示された各実施形態におけるスペクトルリストのスペクトルデータをグラフ表示した画面の図。
【図１４】図１の表示器に表示された第２の実施形態における変更されたチャンネルリストのスペクトルデータをグラフ表示した画面の図。
【符号の説明】
１  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  表示器
６  ＭＩＤＩインターフェース
７  音源
８  アンプ
９  スピーカ
【図１】
2004205891.tif 000003
【図２】
2004205891.tif 000004
【図３】
2004205891.tif 000005
【図４】
2004205891.tif 000006
【図５】
2004205891.tif 000007
【図６】
2004205891.tif 000008
【図７】
2004205891.tif 000009
【図８】
2004205891.tif 000010
【図９】
2004205891.tif 000011
【図１０】
2004205891.tif 000012
【図１１】
2004205891.tif 000013
【図１２】
2004205891.tif 000014
【図１３】
2004205891.tif 000015
【図１４】
2004205891.tif 000016