JP4019932B2 - スペクトル設定装置およびスペクトル設定処理のプログラム - Google Patents
スペクトル設定装置およびスペクトル設定処理のプログラム Download PDFInfo
- Publication number
- JP4019932B2 JP4019932B2 JP2002376178A JP2002376178A JP4019932B2 JP 4019932 B2 JP4019932 B2 JP 4019932B2 JP 2002376178 A JP2002376178 A JP 2002376178A JP 2002376178 A JP2002376178 A JP 2002376178A JP 4019932 B2 JP4019932 B2 JP 4019932B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- spectrum
- harmonic
- level
- fundamental
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音の音色を決定するスペクトルデータを設定するためのスペクトル設定装置およびスペクトル設定処理のプログラムに関する。
【0002】
【従来の技術】
楽音の基音および複数の倍音のスペクトルデータを変更(修正)して、楽音を設定する技術が普及している。スペクトルデータの変更の際には、基音および各倍音ごとに変更を行なっていた。このため、変更作業が煩雑になり、変更に多大な時間を要するとともに、スペクトルの技術に精通した熟練者でなけば、容易に変更することができなかった。そこで、初心者であっても短時間で容易にスペクトルデータを変更できる楽音制御装置の提案がなされている。
【0003】
この提案の楽音制御装置によれば、CPU1およびそのシステムバス2に接続されたプログラムROM3、ワークRAM4、操作部5、表示部6、波形RAM7を用いて、表示部6の画面に表示されたスペクトルデータを一括して変更する構成になっている。
スペクトルデータを変更するために、CPU1は、プログラムROM3のプログラムに基づき、ワークRAM4に記憶された楽音の基音および複数の倍音のスペクトルデータを読み出し、表示部6にスペクトルデータをグラフ画像として表示するとともに、操作部5による変更操作に応じて、読み出された基音および複数の倍音のスペクトルデータを一括して変更して、このスペクトルデータに基づいて波形データを生成して、波形RAM7に記憶する(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開2000−155586号公報(第1頁、図1)
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、変更対象のスペクトルデータを画像で表示して一括して変更することは可能であるが、変更前の段階で変更後のスペクトルデータのイメージを前もって把握することは困難であった。したがって、変更後のスペクトルデータの画像を表示して、その形状が意に沿わない場合には、再び変更作業を行なう必要があった。このため、変更の試行錯誤が煩雑になり、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握したいという要望がなされていた。さらに、多彩な音色の楽音を得るために、変更のバリエーションを豊富にしたいという要望がなされていた。
【0006】
本発明は、上記従来の課題を解決するものであり、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できるとともに、豊富なバリエーションでスペクトルの変更ができるスペクトル設定装置およびスペクトル設定処理のプログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
請求項1に記載のスペクトル設定装置は、記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定手段と、前記指定された第2のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する判断手段と、この判断手段にてレベルが0でないと判断される毎に、当該判断された基音あるいは倍音のレベルデータを、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータから前記倍音番号の順序で選択された基音あるいは倍音のレベルデータに変更して、新たな第2のスペクトルデータを生成するデータ変更手段と、を備えた構成になっている。
【0008】
請求項2に記載のスペクトル設定装置は、記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定手段と、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する第1の判断手段と、この第1の判断手段にてレベルが0と判断される毎に、前記第2のスペクトルデータにおける複数の基音及び複数の倍音レベルデータの中で、前記0と判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する基音あるいは倍音のレベルデータを0にする第1の変更手段と、前記第1の判断手段にてレベルが0でないと判断された場合に、前記指定された第2のスペクトルデータにおける基音及び複数の倍音のデータの夫々を前記倍音番号の順番で振幅が0か否かを判断する第2の判断手段と、この第2の判断手段によりレベルが0でないと判断された基音あるいは倍音のレベルデータを、前記第1の判断手段にてレベルが0でないと判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する前記第2のスペクトルデータにおける基音あるいは倍音のレベルデータとする第2の変更手段と、前記第1の判断手段による前記第1のスペクトルデータにおける基音及び複数の倍音のレベルデータ全ての判断終了後に、前記第2の判断手段で判断の終了していない前記第2のスペクトルデータにおける基音あるいは倍音レベルデータが存在する場合は、当該基音あるいは倍音レベルデータを0とする第3の変更手段と、を備えた構成になっている。
【0009】
請求項3に記載のスペクトル設定処理のプログラムは、コンピュータに、記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定ステップと、前記指定された第2のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序で振幅が0か否かを判断する判断ステップと、レベルが0でないと判断される毎に、当該判断された基音あるいは倍音のレベルデータを、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータから前記倍音番号の順序で選択された基音あるいは倍音のレベルデータに変更して、新たな第2のスペクトルデータを生成するデータ変更ステップと、を実行させる。
【0010】
請求項4に記載のスペクトル設定処理のプログラムは、コンピュータに、記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定ステップと、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する第1の判断ステップと、この第1の判断ステップにてレベルが0と判断される毎に、前記指定された第2のスペクトルデータにおける複数の基音及び複数の倍音レベルデータの中で、前記0と判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する基音あるいは倍音のレベルデータを0にする第1の変更ステップと、前記第1の判断ステップにてレベルが0でないと判断された場合に、前記第2のスペクトルデータにおける基音及び複数の倍音のデータの夫々を前記倍音番号の順番でレベルが0か否かを判断する第2の判断ステップと、この第2の判断ステップによりレベルが0でないと判断された基音あるいは倍音のレベルデータを、前記第1の判断ステップにてレベルが0でないと判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する前記第2のスペクトルデータにおける基音あるいは倍音のレベルデータとする第2の変更ステップと、前記第1の判断ステップによる前記第1のスペクトルデータにおける基音及び複数の倍音のレベルデータ全ての判断終了後に、前記第2の判断ステップで判断の終了していない前記第2のスペクトルデータにおける基音あるいは倍音レベルデータが存在する場合は、当該基音あるいは倍音レベルデータを0とする第3の変更ステップと、を実行させる。
【0013】
【発明の実施の形態】
以下、本発明によるスペクトル設定装置の第1ないし第3の実施形態について、図を参照して説明する。
図1は、各実施形態におけるスペクトル設定装置のシステムの構成を示すブロック図である。この図において、CPU1は、システムバス2を介して、ROM3、RAM4、表示器5、MIDIインターフェース6、操作部7、音源8に接続され、これら各部との間でコマンドおよびデータを送受信して、このスペクトル設定装置全体を制御する。
【0014】
ROM3は、CPU1によって実行されるスペクトル設定処理のプログラムを記憶しているとともに、イニシャライズにおいて設定する初期データを記憶している。RAM4は、CPU1のワークエリアであり、MIDIインターフェース6から入力される演奏情報のイベントを一時的に記憶するエリア、変更後のスペクトルデータ、変更のために参照する参照目的のスペクトルデータ、および関連するデータを記憶するエリア、並びに、各種のレジスタ、フラグ、ポインタのエリアが設けられている。表示器5は、スペクトルデータの画像、スペクトルデータの変更などの設定を行なう場合のアイコンなどを表示する。MIDIインターフェース6は、鍵盤などのMIDI演奏装置に接続され、その演奏に応じてノートイベントなどのMIDIデータを入力する。操作部7は、テンキーを有するキーボードおよびマウスなどのポインティングデバイスで構成され、ユーザの操作に応じてコマンドやデータを入力するとともに、表示されたアイコンを指定する。音源8は、アンプ9を介してスピーカ10に接続され、CPU1からの発音コマンドや消音コマンド、および、楽音のイベントデータおよびスペクトルデータに応じて、楽音信号を発生してスピーカ10に送出したり送出を停止する。
【0015】
図2は、各実施形態におけるRAM4のメモリマップの一部であり、スペクトルデータおよびノートデータを記憶するエリアを示す図である。このエリアには、スペクトルリストデータ群、チャンネルスペクトルデータ群、ノートデータ群を記憶するエリアで構成されている。スペクトルリストデータ群のエリアは、SPD(1)ないしSPD(N)からなる最大N種類のスペクトルリストデータを記憶できる。さらに、任意のスペクトルリストデータSPD(n)のエリアには、基音のスペクトルデータSPD(n)(1)および複数の倍音のスペクトルデータSPD(2)ないしSPD(n)(M)からなる最大M個のスペクトルデータを記憶できる。
チャンネルスペクトルデータ群のエリアは、音源8の発音チャンネルに割り当てられるCH(1)ないしCH(8)の8個のチャンネルスペクトルデータを記憶するエリアで構成される。さらに、任意のチャンネルスペクトルデータCH(m)のエリアには、基音のスペクトルデータSP(m)(1)および複数の倍音のスペクトルデータSP(m)(2)ないしSP(m)(M)からなる最大M個のチャンネルスペクトルデータを記憶できる。
ノートデータ群のエリアは、音源8の発音チャンネルに割り当てられるNOTE(1)ないしNOTE(8)の8個のノートデータを記憶するエリアで構成され、MIDIインターフェース6を介して外部から入力されるノートデータが記憶される。
【0016】
次に、第1ないし第3の実施形態におけるスペクトル設定処理の動作について、図3ないし図10に示すCPU1によって実行されるフローチャート、および、図11ないし図14に示す表示器5の画面に基づいて説明する。なお、第1ないし第3の実施形態において互いに異なる動作は、後述するスペクトル設定処理のみである。したがって、スペクトル設定処理以外の各実施形態における共通の動作については一括して説明する。
【0017】
図3および図4は、CPU1のメインフローチャートである。所定のイニシャライズを行なって(ステップA1)、参照目的のスペクトルリストデータを指定するポインタSPLIST、および、変更対象のチャンネルスペクトルリストデータ(以下、チャンネルリストという)を指定するポインタCHLISTを共に「1」にセットする(ステップA2)。次に、設定枠画面を表示する(ステップA3)。図11に設定枠画面を示す。
【0018】
この画面には、スペクトル1ないしスペクトル9からなるスペクトルリスト11、および、チャンネル1ないしチャンネル8からなるチャンネルリスト12が表示される。また、スペクトルリスト11の下側に表示アイコン13が表示され、チャンネルスペクトルの下側に表示アイコン14および型アイコン15が表示されている。チャンネルリスト12は各チャンネルごとのスペクトル設定対象のリストであり、スペクトルリスト11はその設定に利用するスペクトル参照のリストである。
【0019】
次に、SPLISTに対応するリスト表示を変更し(ステップA4)、CHLISTに対応するリスト表示を変更する(ステップA5)。例えば、表示色を変更したり、白黒反転表示を行なう。次に、操作部7によってスペクトルリスト11のいずれかの番号のリストがオンされたか否かを判別する(ステップA6)。スペクトルリストがオンされたときは、オンされたリスト番号をポインタSPLISTにセットする(ステップA7)。スペクトルリスト11がオンされない場合には、チャンネルリスト12のいずれかのチャンネルがオンされたか否かを判別する(ステップA8)。チャンネルリストがオンされたときは、オンされたリスト番号をポインタCHLISTにセットする(ステップA9)。
ステップA7又はステップA9において、オンされたリスト番号をセットした後は、ステップA4に移行する。そして、オンされたリスト番号のスペクトルリスト又はチャンネルリストの表示を変更する。例えば、図11においては、スペクトル設定対象のリストとしてチャンネル2のスペクトルBが選択され、その設定に利用するスペクトル参照のリストとしてスペクトル3が選択され、それぞれ、選択されたスペクトルの表示が変更(図ではハッチング)されている。
【0020】
ステップA6においてスペクトルリストがオンされず、かつ、ステップA8においてチャンネルリストがオンされない場合には、図4のフローにおいて、リストスペクトルの表示アイコンがオンされたか否かを判別する(ステップA10)。このアイコンがオンされたときは、スペクトル表示処理を実行する(ステップA11)。このアイコンがオンされない場合には、チャンネルスペクトルの表示アイコンがオンされたか否かを判別する(ステップA12)。このアイコンがオンされたときもステップA11のスペクトル表示を実行する。
【0021】
チャンネルスペクトルの表示アイコンもオンでない場合には、型アイコンがオンされたか否かを判別する(ステップA13)。このアイコンがオンされたときは、スペクトル設定処理を実行する(ステップA14)。型アイコンもオンでない場合には、MIDI入力があったか否かを判別する(ステップA15)。MIDI入力があったときは、MIDI入力処理を実行する(ステップA16)。
ステップA11のスペクトル表示処理、ステップA14のスペクトル設定処理、又はステップA16のMIDI入力処理を実行した後は、図4のステップA3に移行して、図11の設定枠画面表示に戻る。
【0022】
図5は、図4のフローにおけるステップA11のスペクトル表示処理のフローチャートである。このフローでは、まずスペクトル表示枠画面を表示する(ステップB1)。この枠画面には、図12ないし図14に示すように、グラフ表示の枠16、変更アイコン17、および終了アイコン18が表示される。次に、スペクトルリストおよびチャンネルリストのスペクトルの基音や倍音のスペクトルを表示する位置を指定するポインタnおよびポインタmを「1」にセットする(ステップB2)。すなわち、最初はいずれも基音のスペクトルを指定する。そして、ポインタn,mをインクリメントしながら、ステップB3からステップB7までのループを繰り返す。
【0023】
ループの最初に、ポインタSPLISTで指定するスペクトルリストの表示であるか、又は、ポインタCHLISTで指定されるチャンネルリストの表示であるかを判別する(ステップB3)。スペクトルリストの表示である場合には、位置mにスペクトルリスト(SPLIST)(m)をグラフ表示する(ステップB4)。一方、チャンネルリストの表示である場合には、位置mにチャンネルリスト(CHLIST)(m)をグラフ表示する(ステップB5)。いずれかの表示を行なった後は、mの値をインクリメントする(ステップB6)。そして、mの値が最大値Mより大きいか否かを判別する(ステップB7)。mの値がMの値以下である場合には、ステップB3に移行してステップB7までのループを繰り返す。
【0024】
mの値がMの値よりも大きくなったときは、現在のスペクトルが画面にグラフ表示される。図12は、チャンネルリストのスペクトルのグラフ画像を示し、図13は、スペクトルリストのスペクトルのグラフ画像を示している。これらの図において、横軸は基音番号、倍音番号を表し、縦軸はレベルを表している。チャンネルリスト又はスペクトルリストがグラフ表示された後、操作部7によって画面の変更アイコンがオンされたか否かを判別する(ステップB8)。このアイコンがオンされたときは、変更処理を実行する(ステップB9)。このアイコンがオンでない場合には、終了アイコンがオンされたか否かを判別する(ステップB10)。このアイコンがオンされたときは、表示をクリアして(ステップB11)、このフローを終了してメインフローに戻る。
【0025】
図6は、図5のフローにおけるステップB9の変更処理のフローチャートである。このフローに入ると、操作部7によって倍音位置がオンされたか否かを判別し(ステップC1)、倍音位置がオンされたときは、その指定された倍音番号をポインタnにセットする(ステップC2)。そして、このフローを終了して図5のフローに戻る。
倍音位置がオンされない場合には、操作部7からレベル入力がされたか否かを判別する(ステップC3)。レベル入力がない場合にはこのフローを終了するが、レベル入力がされたときは、現在表示されているのはチャンネルリストであるか、又は、スペクトルリストであるかを判別する(ステップC4)。チャンネルリストである場合には、入力されたレベルを図2に示したRAM4のエリアSP(CHLIST)(n)にストアして値を更新する(ステップC5)。スペクトルリストである場合には、入力されたレベルをRAM4のエリアSPD(SPLIST)(n)にストアして値を更新する(ステップC6)。チャンネルリスト又はスペクトルリストの値を更新した後は、倍音番号nの示す位置に入力レベルのグラフを表示する(ステップC7)。そして、このフローを終了して図5のフローに戻る。
【0026】
図7は、図4のメインフローのステップA14における第1の実施形態のスペクトル設定処理のフローチャートである。チャンネルリストおよびスペクトルリストの倍音番号を指定するポインタiを「1」にセットして(ステップD1)、ステップD2からステップD5までのループを繰り返す。RAM4のチャンネルリストのスペクトルデータSP(CHLIST)(i)のレベルが「0」であるか否かを判別し(ステップD2)、SP(CHLIST)(i)のレベルが「0」でない場合には、スペクトルデータSP(CHLIST)(i)をスペクトルデータSPD(SPLIST)(i)に変更する(ステップD3)。
この変更の後又はSP(CHLIST)(i)のレベルが「0」である場合には、iの値をインクリメントする(ステップD4)。このとき、iの値が最大値Mより大きいか否かを判別する(ステップD5)。iの値がMの値以下である場合には、ステップに移行して、ループを繰り返す。iの値がMの値より大きくなったときは、このフローを終了してメインフローに戻る。
【0027】
この第1の実施形態におけるスペクトル設定処理によれば、チャンネルリストにおけるスペクトルデータのレベルをスペクトルリストにおける同じ倍音番号のスペクトルデータのレベルに変更する。ただし、チャンネルリストのスペクトル間隔(「スペクトル分布」ともいう)は変化しない。
【0028】
例えば、図12に示したチャンネルリストのスペクトルデータのグラフ表示においては、倍音番号2,4,6,8,10…の倍音のレベルが最大値である255の状態になっている。このスペクトル特性が、第1の実施形態によるスペクトル設定処理によって、図13のスペクトルリストのレベルに基づいて、対応する倍音番号のレベル217,157,114,82,60…に変更される。
【0029】
図8は、図4のメインフローのステップA14における第2の実施形態のスペクトル設定処理のフローチャートである。まず、チャンネルリストの倍音番号を指定するポインタiを「1」にセットするとともに、スペクトルリストの倍音番号を指定するポインタjを「1」にセットする(ステップE1)。そして、ステップE2からステップE6までのループを繰り返す。RAM4のチャンネルリストのスペクトルデータSP(CHLIST)(i)のレベルが「0」であるか否かを判別し(ステップE2)、SP(CHLIST)(i)のレベルが「0」でない場合には、スペクトルデータSP(CHLIST)(i)をスペクトルデータSPD(SPLIST)(j)に変更する(ステップE3)。そして、jの値をインクリメントする(ステップE4)。
jの値をインクリメントした後、又は、SP(CHLIST)(i)のレベルが「0」である場合には、iの値をインクリメントする(ステップE5)。このとき、iの値が最大値Mより大きいか否かを判別する(ステップE6)。iの値がMの値以下である場合には、ステップE2に移行して、ループを繰り返す。iの値がMの値より大きくなったときは、このフローを終了してメインフローに戻る。
【0030】
この第2の実施形態におけるスペクトル設定処理によれば、チャンネルリストにおけるスペクトルデータのレベルをスペクトルリストにおけるスペクトルデータのレベルに変更する。ただし、倍音番号同士は対応せず、スペクトルリストにおけるスペクトルデータのレベルを倍音番号順に読み出してチャンネルリストのレベルに設定する。この第2の実施形態においても、チャンネルリストのスペクトル間隔は変化しない。
【0031】
図14は、第2の実施形態におけるスペクトル設定処理によって変更されたチャンネルリストのスペクトルデータのグラフ表示を示した図である。この図に示すように、図12に示したチャンネルリストのスペクトルデータが、図13のスペクトルリストのスペクトルデータにおけるレベル(振幅)のパラメータに応じて変更されている。この場合には、図に示すように、倍音番号2,4,6,8,10…の倍音のレベル255のスペクトル特性が、図13のスペクトルリストの倍音番号1,2,3,4,5…のレベルに基づいて、レベル255,217,185,157,134…に変更されている。
【0032】
図9は、図4のメインフローのステップA14における第3の実施形態のスペクトル設定処理のフローチャートである。まず、チャンネルリストの倍音番号を指定するポインタiを「1」にセットするとともに、チャンネルリストおよびスペクトルリストの倍音番号を指定するポインタjを「1」にセットする(ステップF1)。次に、図2に示したRAM4のスペクトルリストのスペクトルデータSPD(SPLIST)(j)のレベルが「0」であるか否かを判別する(ステップF2)。SPD(SPLIST)(j)のレベルが「0」である場合には、同じ倍音番号のチャンネルリストのスペクトルデータSP(CHLIST)(j)を「0」にする(ステップF3)。
【0033】
SPD(SPLIST)(j)のレベルが「0」でない場合には、チャンネルリストのスペクトルデータSP(CHLIST)(i)のレベルが「0」であるか否かを判別する(ステップF4)。SP(CHLIST)(i)のレベルが「0」である場合には、iの値をインクリメントする(ステップF5)。このとき、iの値が最大値Mより大きいか否かを判別する(ステップF6)。iの値がMの値以下である場合には、ステップF4に移行して、レベルが「0」でないSP(CHLIST)(i)を捜す。iの値がMの値より大きくなったときは、このフローを終了してメインフローに戻る。
【0034】
レベルが「0」でないSP(CHLIST)(i)がある場合には、SP(CHLIST)(i)をSP(CHLIST)(j)に変更して更新する(ステップF7)。すなわち、レベルが「0」のスペクトルデータを、レベルが「0」でなく且つより高い倍音のスペクトルデータに変更する。次に、jの値をインクリメントする(ステップF8)。そして、jの値が最大値Mより大きいか否かを判別する(ステップF9)。jの値がMの値以下である場合には、ステップF2に移行して、SPD(SPLIST)(j)のレベルが「0」であるか否かを判別する。
【0035】
jの値がMの値より大きくなったときは、iの値がMの値以下であるか否かを判別する(ステップF10)。iの値がMの値以下である場合には、SP(CHLIST)(i)のレベルを「0」にする(ステップF11)。そして、iの値をインクリメントする(ステップF12)。次に、ステップF2に移行してSPD(SPLIST)(j)のレベルが「0」であるか否かを判別する。
ステップF10において、iの値がMの値より大きくなったときは、このフローを終了してメインフローに戻る。
【0036】
この第3の実施形態におけるスペクトル設定処理によれば、同じ倍音番号において、チャンネルリストのスペクトルデータのレベルが「0」で、スペクトルリストのスペクトルデータのレベルが「0」でない場合には、レベルが「0」でないチャンネルリストのスペクトルデータを、レベルが「0」のチャンネルリストのスペクトルデータにコピーして、その倍音番号のスペクトルデータを新たに生成する。また、ある倍音番号におけるスペクトルリストのスペクトルデータのレベルが「0」である場合には、同じ倍音番号のチャンネルリストにおけるスペクトルデータのレベルを「0」にする。
すなわち、この第3の実施形態によれば、チャンネルリストのスペクトルデータの間隔を、スペクトルリストのスペクトルデータの間隔に合わせて変更する。ただし、チャンネルリストのスペクトルデータのレベルは変更しない。
【0037】
図10は、メインフローにおけるステップA16のMIDI入力処理のフローチャートである。まず、入力されたMIDIデータの内容を判別する(ステップG1)。MIDIデータがノートオンのイベントである場合には、音源8に割り当てるチャンネルアサインのチャンネルを指定するポインタCHの値を「1(最初のチャンネル)」にセットする(ステップG2)。そして、指定したチャンネルにおいて、図2に示したノートオンデータ群をストアするレジスタNOTE(CH)が空きであるか否かを判別する(ステップG3)。
【0038】
NOTE(CH)が空きでない場合には、CHの値をインクリメントして(ステップG4)、CHの値がチャンネル総数「8」より大きくなったか否かを判別する(ステップG5)。CHの値が「8」より大きくなった場合には、このフローを終了してメインフローに戻る。CHの値が「8」以下である場合には、ステップG3に移行してNOTE(CH)の空きを捜す。
NOTE(CH)が空きである場合には、イベントのノートデータをNOTE(CH)にストアする(ステップG6)。次に、NOTE(CH)およびSP(CH)による発音処理を行なう(ステップG7)。すなわち、変更されたチャンネルリストのスペクトルデータによって、ノートデータの音色を決定して発音させる。発音処理の後は、このフローを終了してメインフローに戻る。
【0039】
ステップG1において、MIDIデータがノートオフのイベントである場合には、ポインタCHの値を「1」にセットして(ステップG8)、そのイベントのノートとCHで指定するチャンネルのNOTE(CH)のノートとが一致するか否かを判別する(ステップG9)。一致しない場合には、CHの値をインクリメントして(ステップG4)、CHの値がチャンネル総数「8」より大きくなったか否かを判別する(ステップG5)。
CHの値が「8」より大きくなった場合には、このフローを終了してメインフローに戻る。CHの値が「8」以下である場合には、ステップG9に移行してイベントのノートと一致するNOTE(CH)を捜す。
イベントのノートと一致するNOTE(CH)があったときは、そのNOTE(CH)に対する消音処理を行なって(ステップG12)、NOTE(CH)を空きにする(ステップG13)。そして、このフローを終了してメインフローに戻る。
【0040】
このMIDI入力処理によれば、外部から入力されるノートオンデータと、そのノートオンデータの音色を決定するために、スペクトルリストにおける選択されたスペクトルデータのパラメータに応じて変更されたチャンネルリストのスペクトルデータとを音源8に出力する。
【0041】
以上のように、上記各実施形態によれば、CPU1は、楽音の基音および倍音を規定する複数のパラメータからなるスペクトルリストのスペクトルデータおよびチャンネルリストのスペクトルデータをそれぞれ対応するRAM4のエリアから読み出して、チャンネルリストのスペクトルデータにおける少なくとも1種類のパラメータをスペクトルリストのスペクトルデータにおける同種類のパラメータに変更して新たなチャンネルリストのスペクトルデータを生成する。
したがって、上記各実施形態によれば、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できる。
【0042】
この場合において、CPU1は、RAM4に記憶されている複数種類の第1のスペクトルデータの中から、操作部7による操作に応じて選択された少なくとも1種類のスペクトルデータを読み出し、チャンネルリストのスペクトルデータにおいて、操作部7による操作に応じて選択されたパラメータを、スペクトルリストのスペクトルデータのパラメータに変更する。
すなわち、第1の実施形態又は第2の実施形態のように、チャンネルリストのスペクトルデータの振幅パラメータをスペクトルリストのスペクトルデータの振幅パラメータに変更する。
あるいは、第3の実施形態のように、チャンネルリストにおけるスペクトル間隔(スペクトル分布のパラメータ)を、スペクトルリストにおけるスペクトルデータのスペクトル間隔に変更する。
したがって、上記各実施形態によれば、スペクトルリストにおける複数種類のスペクトルデータに基づいて、豊富なバリエーションでスペクトルの変更ができる。
【0043】
また、上記各実施形態において、CPU1は、MIDIインターフェース6を介して外部から入力される音高データと、その音高データの音色を決定するためにパラメータが変更されて生成されたチャンネルリストのスペクトルデータとを音源8に出力する。
したがって、外部から入力される音高データの音色を変更する際に、変更する前の段階で変更後の音色を予測できる。
【0044】
上記各実施形態においては、チャンネルリストのスペクトルデータがRAM4に記憶されているように構成したが、さらに実施形態の変形例として、外部装置から又は操作部7によって入力されるチャンネルリストのスペクトルデータを対応するRAM4のエリアに記憶して、スペクトル設定処理の際に読み出すように構成してもよい。この場合には、外部(入力操作を含む)において設定されたスペクトルデータを豊富なバリエーションで変更できる。
【0045】
また、上記各実施形態においては、変更対象であるチャンネルリストの中から、操作に応じて選択された1つのスペクトルデータをグラフ表示する場合と、変更するために参照する参照対象のスペクトルリストの中から、操作に応じて選択された1つのスペクトルデータをグラフ表示する場合とを、別々の画面に表示するようにしたが、選択されたチャンネルリストのスペクトルデータと、選択されたスペクトルリストのスペクトルデータとを、同じ画面に並べて表示する構成にしてもよい。
この場合には、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージをより一層明確な状態で把握できる。
【0046】
また、上記各実施形態においては、参照目的のスペクトルリストにおける複数種類のスペクトルデータの中から、操作に応じて選択された1つのスペクトルデータをグラフ表示するように構成したが、複数種類のスペクトルデータを同じ画面にグラフ表示する構成にしてもよい。
この場合には、それぞれのスペクトルデータによってチャンネルリストにおける変更後のスペクトルデータのイメージを前もって把握して、参照目的の1つのスペクトルデータを選択できる。
【0047】
なお、上記各実施形態においては、スペクトル設定装置のROM3にあらかじめ格納されているスペクトル設定処理のプログラムをCPU1が実行する構成について説明したが、FD(フレキシブルディスク)やCD−ROMなどの外部記憶媒体に記憶されたスペクトル設定処理のプログラム、又は、インターネットなどの通信網を介してダウンロードしたスペクトル設定処理のプログラムをハードディスクなどのメモリにインストールして実行する構成も可能である。この場合には、プログラムの発明を実現する。
【0048】
すなわち、そのスペクトル設定処理のプログラムは、楽音の基音および倍音を規定する複数のパラメータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ対応する記憶手段から読み出す第1のステップと、第2のスペクトルデータにおける少なくとも1種類のパラメータを第1のスペクトルデータにおける同種類のパラメータに変更して新たな第2のスペクトルデータを生成する第2のステップとを実行する構成になっている。
したがって、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できる。
【0049】
この場合において、第1のステップは、記憶手段に記憶されている複数種類の第1のスペクトルデータの中から操作に応じて選択された第1のスペクトルデータを読み出し、第2のステップは、第2のスペクトルデータを構成する複数種類のパラメータの中から操作に応じて選択されたパラメータをデータ読出手段によって読み出された第1のスペクトルデータのパラメータに変更する構成になっている。
したがって、第1のスペクトルデータにおける複数種類のスペクトルデータに基づいて、豊富なバリエーションでスペクトルの変更ができる。
【0050】
【発明の効果】
本発明によれば、楽音の基音および倍音を規定する複数のパラメータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ対応する記憶手段から読み出し、第2のスペクトルデータにおける少なくとも1種類のパラメータを第1のスペクトルデータにおける同種類のパラメータに変更して新たな第2のスペクトルデータを生成するので、楽音の音色を決定するスペクトルデータの変更に際して、変更する前の段階で変更後のスペクトルデータのイメージを前もって把握できるという効果が得られる。
【0051】
さらに、記憶手段に記憶されている複数種類の第1のスペクトルデータの中から操作に応じて選択された少なくとも1種類のスペクトルデータを読み出し、第2のスペクトルデータにおいて操作に応じて選択されたパラメータを読み出した第1のスペクトルデータのパラメータに変更するので、豊富なバリエーションでスペクトルの変更ができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の各実施形態におけるスペクトルデータ設定装置のシステムの構成を示すブロック図。
【図2】本発明の各実施形態におけるRAMのメモリマップのエリアを示す図。
【図3】各実施形態におけるCPUのメインフローチャート。
【図4】図3に続くメインフローチャート。
【図5】図4のメインフローチャートにおける各実施形態のスペクトル表示処理のフローチャート。
【図6】図5のスペクトル表示処理における変更処理のフローチャート。
【図7】図4のメインフローチャートにおける第1の実施形態のスペクトル設定処理のフローチャート。
【図8】図4のメインフローチャートにおける第2の実施形態のスペクトル設定処理のフローチャート。
【図9】図4のメインフローチャートにおける第3の実施形態のスペクトル設定処理のフローチャート。
【図10】図4のメインフローチャートにおけるMIDI入力処理のフローチャート。
【図11】図1の表示器に表示された各実施形態における設定枠画面の図。
【図12】図1の表示器に表示された各実施形態におけるチャンネルリストのスペクトルデータをグラフ表示した画面の図。
【図13】図1の表示器に表示された各実施形態におけるスペクトルリストのスペクトルデータをグラフ表示した画面の図。
【図14】図1の表示器に表示された第2の実施形態における変更されたチャンネルリストのスペクトルデータをグラフ表示した画面の図。
【符号の説明】
1 CPU
3 ROM
4 RAM
5 表示器
6 MIDIインターフェース
7 音源
8 アンプ
9 スピーカ
Claims (4)
- 記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定手段と、
前記指定された第2のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する判断手段と、
この判断手段にてレベルが0でないと判断される毎に、当該判断された基音あるいは倍音のレベルデータを、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータから前記倍音番号の順序で選択された基音あるいは倍音のレベルデータに変更して、新たな第2のスペクトルデータを生成するデータ変更手段と、
を備えたことを特徴とするスペクトル設定装置。 - 記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定手段と、
前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する第1の判断手段と、
この第1の判断手段にてレベルが0と判断される毎に、前記第2のスペクトルデータにおける複数の基音及び複数の倍音レベルデータの中で、前記0と判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する基音あるいは倍音のレベルデータを0にする第1の変更手段と、
前記第1の判断手段にてレベルが0でないと判断された場合に、前記指定された第2のスペクトルデータにおける基音及び複数の倍音のデータの夫々を前記倍音番号の順番で振幅が0か否かを判断する第2の判断手段と、
この第2の判断手段によりレベルが0でないと判断された基音あるいは倍音のレベルデータを、前記第1の判断手段にてレベルが0でないと判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する前記第2のスペクトルデータにおける基音あるいは倍音のレベルデータとする第2の変更手段と、
前記第1の判断手段による前記第1のスペクトルデータにおける基音及び複数の倍音のレベルデータ全ての判断終了後に、前記第2の判断手段で判断の終了していない前記第2のスペクトルデータにおける基音あるいは倍音レベルデータが存在する場合は、当該基音あるいは倍音レベルデータを0とする第3の変更手段と、
を備えたことを特徴とするスペクトル設定装置。 - コンピュータに、
記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定ステップと、
前記指定された第2のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序で振幅が0か否かを判断する判断ステップと、
レベルが0でないと判断される毎に、当該判断された基音あるいは倍音のレベルデータを、前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータから前記倍音番号の順序で選択された基音あるいは倍音のレベルデータに変更して、新たな第2のスペクトルデータを生成するデータ変更ステップと、
を実行させるスペクトル設定処理のプログラム。 - コンピュータに、
記憶手段に記憶された楽音の基音及び複数の倍音夫々のレベルデータからなる第1のスペクトルデータおよび第2のスペクトルデータをそれぞれ指定するデータ指定ステップと、
前記指定された第1のスペクトルデータにおける基音及び複数の倍音のレベルデータの夫々を倍音次数を表わす倍音番号の順序でレベルが0か否かを判断する第1の判断ステッ プと、
この第1の判断ステップにてレベルが0と判断される毎に、前記指定された第2のスペクトルデータにおける複数の基音及び複数の倍音レベルデータの中で、前記0と判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する基音あるいは倍音のレベルデータを0にする第1の変更ステップと、
前記第1の判断ステップにてレベルが0でないと判断された場合に、前記第2のスペクトルデータにおける基音及び複数の倍音のデータの夫々を前記倍音番号の順番でレベルが0か否かを判断する第2の判断ステップと、
この第2の判断ステップによりレベルが0でないと判断された基音あるいは倍音のレベルデータを、前記第1の判断ステップにてレベルが0でないと判断された基音あるいは倍音のレベルデータと同一の倍音番号を有する前記第2のスペクトルデータにおける基音あるいは倍音のレベルデータとする第2の変更ステップと、
前記第1の判断ステップによる前記第1のスペクトルデータにおける基音及び複数の倍音のレベルデータ全ての判断終了後に、前記第2の判断ステップで判断の終了していない前記第2のスペクトルデータにおける基音あるいは倍音レベルデータが存在する場合は、当該基音あるいは倍音レベルデータを0とする第3の変更ステップと、
を実行させるスペクトル設定処理のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002376178A JP4019932B2 (ja) | 2002-12-26 | 2002-12-26 | スペクトル設定装置およびスペクトル設定処理のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002376178A JP4019932B2 (ja) | 2002-12-26 | 2002-12-26 | スペクトル設定装置およびスペクトル設定処理のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004205891A JP2004205891A (ja) | 2004-07-22 |
JP4019932B2 true JP4019932B2 (ja) | 2007-12-12 |
Family
ID=32813703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002376178A Expired - Fee Related JP4019932B2 (ja) | 2002-12-26 | 2002-12-26 | スペクトル設定装置およびスペクトル設定処理のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4019932B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105118523A (zh) * | 2015-07-13 | 2015-12-02 | 努比亚技术有限公司 | 音频处理方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5104078B2 (ja) * | 2007-07-05 | 2012-12-19 | カシオ計算機株式会社 | スペクトル設定装置およびスペクトル設定処理プログラム |
DE102008028328B4 (de) * | 2008-06-13 | 2010-06-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen eines Notensignals auf eine manuelle Eingabe hin |
JP5251381B2 (ja) * | 2008-09-12 | 2013-07-31 | ヤマハ株式会社 | 音処理装置およびプログラム |
-
2002
- 2002-12-26 JP JP2002376178A patent/JP4019932B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105118523A (zh) * | 2015-07-13 | 2015-12-02 | 努比亚技术有限公司 | 音频处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2004205891A (ja) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3209156B2 (ja) | 自動伴奏パターン発生装置及び方法 | |
JP4019932B2 (ja) | スペクトル設定装置およびスペクトル設定処理のプログラム | |
US20040069115A1 (en) | Storage medium containing musical score displaying data, musical score display apparatus and musical score displaying program | |
JP3622275B2 (ja) | 自動演奏の制御データ入力方法および自動演奏装置 | |
US7534952B2 (en) | Performance data processing apparatus and program | |
JP2010217475A (ja) | 楽音信号発生装置 | |
US10805475B2 (en) | Resonance sound signal generation device, resonance sound signal generation method, non-transitory computer readable medium storing resonance sound signal generation program and electronic musical apparatus | |
EP2860724B1 (en) | Apparatus and program for accompaniment generation, intrumentation and polyphonic parts assignement. | |
US5864081A (en) | Musical tone generating apparatus, musical tone generating method and storage medium | |
JP2000081883A (ja) | 音楽処理手段の設定方法、波形デ―タ生成手段の設定方法、楽音生成方法、および、プログラムが記録された記録媒体 | |
US5841054A (en) | Musical tone synthesizing apparatus having competibility of tone color parameters for different systems | |
WO2018159063A1 (ja) | 電子音響装置および音色設定方法 | |
US7297861B2 (en) | Automatic performance apparatus and method, and program therefor | |
JPH0720865A (ja) | 電子楽器 | |
JP4000986B2 (ja) | 表示制御装置及びプログラム | |
JP4835434B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム | |
JP4385532B2 (ja) | 自動編曲装置、及びプログラム | |
JP3437243B2 (ja) | 電子楽器の楽音特性変化処理装置 | |
JP2006234979A (ja) | 電子楽器及びその処理方法 | |
JP3899762B2 (ja) | 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 | |
JP2006154246A (ja) | 電子楽器及び楽音パラメータ制御プログラム | |
JP2004164085A (ja) | 表示制御装置及びプログラム | |
JPH11184464A (ja) | 演奏情報のパラメータ設定装置およびパラメータ設定制御プログラムを記録した媒体 | |
JP2011197440A (ja) | 電子楽器 | |
JPH07129174A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050512 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060208 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070618 |
|
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: 20070904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070917 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
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: 20111005 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131005 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |