JP3862156B2 - スペクトル設定装置およびスペクトル設定方法 - Google Patents
スペクトル設定装置およびスペクトル設定方法 Download PDFInfo
- Publication number
- JP3862156B2 JP3862156B2 JP2002026364A JP2002026364A JP3862156B2 JP 3862156 B2 JP3862156 B2 JP 3862156B2 JP 2002026364 A JP2002026364 A JP 2002026364A JP 2002026364 A JP2002026364 A JP 2002026364A JP 3862156 B2 JP3862156 B2 JP 3862156B2
- Authority
- JP
- Japan
- Prior art keywords
- order
- spectrum
- level
- multiplication coefficient
- designating
- 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】
【発明が解決しようとする課題】
従来のスペクトル設定装置では、基本波およびその倍音成分毎のスペクトル(振幅値)を一つ一つ個別に設定するように構成されている。この為、とりわけ高次の倍音成分を持つような倍音構造を設定するには、それらのスペクトルを一々設定しなければならず操作が煩わしいという問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、倍音構造を一括して簡単に設定することができるスペクトル設定装置およびスペクトル設定方法を提供することを目的としている。
【0004】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、乗算係数を指定する乗算係数指定手段と、前記範囲指定手段により指定された開始次数のスペクトルレベルを発生する開始レベル発生手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数指定手段により指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するスペクトル表示手段とを具備することを特徴とする。
【0005】
請求項2に記載の発明では、第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上に設けられ、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、前記スペクトル設定画面上に設けられ、乗算係数を指定する乗算係数指定手段と、前記スペクトル設定画面上に設けられ、差分値を指定する差分指定手段と、前記範囲指定手段により指定された開始次数のスペクトルレベルを発生する開始レベル発生手段と、前記乗算係数指定手段が指定する乗算係数を基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前次数の乗算係数から前記差分指定手段により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生手段が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示手段とを具備することを特徴とする。
【0006】
請求項3に記載の発明では、第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上に設けられ、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、前記スペクトル設定画面上に設けられ、乗算係数を指定する乗算係数指定手段と、前記スペクトル設定画面上に設けられ、差分値を指定する差分指定手段と、前記スペクトル設定画面上に設けられ、間隔値を指定する間隔指定手段と、前記乗算係数指定手段が指定する乗算係数を基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数に達するまで前記間隔指定手段により指定される間隔値に相当する数の次数が進む毎に、当該間隔値に相当する数の次数を進める前の乗算係数から前記差分指定手段により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生手段が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示手段とを具備することを特徴とする。
【0007】
請求項4に記載の発明では、第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、乗算係数を指定する乗算係数指定過程と、前記範囲指定過程により指定された開始次数のスペクトルレベルを発生する開始レベル発生過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数指定過程により指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するスペクトル表示過程とを具備することを特徴とする。
【0008】
請求項5に記載の発明では、第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上で、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、前記スペクトル設定画面上で乗算係数を指定する乗算係数指定過程と、前記スペクトル設定画面上で差分値を指定する差分指定過程と、前記範囲指定過程により指定された開始次数のスペクトルレベルを発生する開始レベル発生過程と、前記乗算係数指定過程が指定する乗算係数を基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前次数の乗算係数から前記差分指定過程により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生過程が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示過程とを具備することを特徴とする。
【0009】
請求項6に記載の発明では、第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上で、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、前記スペクトル設定画面上で乗算係数を指定する乗算係数指定過程と、前記スペクトル設定画面上で差分値を指定する差分指定過程と、前記スペクトル設定画面上で間隔値を指定する間隔指定過程と、前記乗算係数指定過程が指定する乗算係数を基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数に達するまで前記間隔指定過程により指定される間隔値に相当する数の次数が進む毎に、当該間隔値に相当する数の次数を進める前の乗算係数から前記差分指定過程により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生過程が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示過程とを具備することを特徴とする。
【0012】
本発明では、第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定すると共に、乗算係数を指定すると、開始次数のスペクトルレベルが生成され、この開始次数のスペクトルレベルを基準に用い、開始次数の次の次数から終了次数まで次数を進める毎に、指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出する。そして、生成された開始次数のスペクトルレベルと、算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するので、従来のように、倍音成分毎のスペクトルを個別に設定する必要がなく、倍音構造を一括して簡単に設定することが可能になる。
【0013】
【発明の実施の形態】
本発明によるスペクトル設定装置は、倍音合成方式の楽音発生装置や電子楽器、あるいはパーソナルコンピュータを用いたDTM装置などに適用され得る。以下では、本発明の実施の形態によるスペクトル設定装置を搭載した楽音発生装置を実施例とし、これについて図面を参照して説明する。
【0014】
A.構成
図1は実施例の構成を示すブロック図である。この図において、1は装置各部を制御するCPUである。具体的には、スイッチ操作に応じて発生するイベントに基づき装置各部の動作状態を設定したり、アイコン操作(後述する)に応じて発生するイベントに従って基本波およびその倍音成分毎のスペクトル値を設定する。また、CPU1では後述するMIDIインタフェース4を介して外部から供給されるMIDIデータを受信して発音指示コマンドや消音指示コマンド等の楽音パラメータを生成して音源8に送出する。2は上記CPU1にロードされる各種制御プログラムを記憶するROMである。
【0015】
3はバッファエリアBE、データエリアDEおよびワークエリアWEを備えるRAMである。ここで、図2を参照してRAM3のメモリ構造について説明する。バッファエリアBEには、MIDIインタフェース4を介して外部から供給されるMIDIデータが一時記憶される。データエリアDEには、基本波および倍音成分毎の振幅値を表すスペクトル(1)〜(15)が一時記憶される。
これらスペクトル(1)〜(15)は、例えば8ビット長であれば正規化された振幅値「255」がそれぞれデフォルト値としてセットされる。デフォルト値としてセットされたスペクトル(1)〜(15)は、後述するスペクトル設定処理により所望の倍音構造となるようレベル設定される。ワークエリアWEには、レジスタHANIA,HANIB,KEISHA,SABUNおよびKANKAKU等が設けられており、これらレジスタに格納されるデータが意図するところについては追って説明する。
【0016】
MIDIインタフェース4は、CPU1の制御の下に、MIDI楽器から供給されるMIDIデータを受信してRAM3のバッファエリアBEに転送する。5は例えばクリック操作される左右スイッチを備えたマウスである。6は装置パネルに配設されるパネルスイッチ群であり、各スイッチ操作に応じたスイッチイベントを発生する。図示していないが、パネルスイッチ群6には、例えば電源をオンオフする電源スイッチや動作モードを切換えるモードスイッチ等が設けられている。7はLCDパネル等から構成される表示部であり、CPU1から供給される表示制御信号に応じて装置各部の動作状態や設定状態等を画面表示する。
【0017】
ここで、図3を参照して表示部7の表示画面の構成について説明する。CPU1が後述するスペクトル設定モード下にある場合、表示部7には図3に示すスペクトル設定画面SSGが画面表示される。スペクトル設定画面SSGは、スペクトル表示エリアSDEとアイコンA〜Iとから構成される。
スペクトル表示エリアSDEには、基本波およびその倍音成分のスペクトル値をそれぞれ表すスペクトルバーが表示される。この図に示す一例では、最大値に正規化された1次スペクトルバー〜10次スペクトルバーが表示されている。
【0018】
アイコンA,Bはクリック操作に応じて、選択状態にあるスペクトルバーのレベルを増減する。アイコンC,Dはクリック操作に応じて、選択状態にあるスペクトルバーの次数を増減させる。例えばアイコンCがクリック操作された場合には、先に選択状態にあったスペクトルバーの左隣のスペクトルバーを選択状態に設定する。一方、アイコンDがクリック操作された場合には、先に選択状態にあったスペクトルバーの右隣のスペクトルバーを選択状態に設定する。
【0019】
アイコンE,Fは複数の倍音成分について一括してスペクトル設定する際の範囲を指定するアイコンである。アイコンEではマウス5の右スイッチのクリック操作(以下、右クリックと称す)あるいは左スイッチのクリック操作(以下、左クリックと称す)に応じて、開始点となる倍音次数(以下、開始次数と称す)が増減され、その次数はアイコンE中の表示フィールドに表示される。
同様に、アイコンFでは右クリックあるいは左クリックに応じて、終了点となる倍音次数(以下、終了次数と称す)が増減され、その次数はアイコンF中の表示フィールドに表示される。
これらアイコンE,Fのクリック操作により指定される開始次数および終了次数は、それぞれ前述したRAM3のワークエリアWE(図2参照)に設けられるレジスタHANIA,HANIBにストアされる。
【0020】
アイコンGは、上記アイコンE,Fによって指定された範囲に含まれる複数の倍音次数のスペクトルレベルを減衰させる乗算係数(傾斜)を指定するアイコンである。乗算係数はアイコンG中の表示フィールドにパーセント表示されるようになっており、その値は右クリックに応じてインクリメントされ、左クリックに応じてデクリメントされる。こうしたクリック操作により指定される乗算係数は、前述したRAM3のワークエリアWE(図2参照)に設けられるレジスタKEISHAにストアされる。
【0021】
アイコンHは、上記アイコンGのクリック操作により指定される乗算係数を倍音次数毎に変化させる際の差分(つまり階差に相当)を指定するアイコンである。差分はアイコンH中の表示フィールドに表示されるようになっており、その値は右クリックに応じてインクリメントされ、左クリックに応じてデクリメントされる。こうしたクリック操作により指定される差分は、前述したRAM3のワークエリアWE(図2参照)に設けられるレジスタSABUNにストアされる。
【0022】
アイコンIは、上記アイコンHのクリック操作により指定される差分(階差)の間隔を指定するアイコンである。間隔はアイコンI中の表示フィールドに表示されるようになっており、その値は右クリックに応じてインクリメントされ、左クリックに応じてデクリメントされる。こうした操作により指定される間隔は、前述したRAM3のワークエリアWE(図2参照)に設けられるレジスタKANKAKUにストアされる。
【0023】
次に、再び図1を参照して実施例の構成について説明を進める。8は音源であり、後述のスペクトル設定処理にて設定される基本波およびその倍音成分毎のスペクトルに基づき倍音合成してなる楽音出力Wを発生する。9は音源8が発生する楽音出力Wをアナログ波形信号に変換して不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカSPから発音させるサウンドシステムである。
【0024】
B.動作
次に、上記構成による実施例の動作について説明する。
(1)メインルーチンの動作
最初に、図4〜図5を参照してメインルーチンの動作について説明する。まず実施例に電源が投入されると、CPU1はROM2から所定の制御プログラムを読み出して自身にロードした後、図4に示すメインルーチンを実行してステップSA1に処理を進める。ステップSA1に進むと、CPU1は図5に示すステップSB1〜SB5からなるイニシャライズを実行してRAM3に初期値をセットする。
【0025】
すなわち、ステップSB1では、RAM3のデータエリアDEに設けられ、基本波および倍音成分毎の振幅値を表すスペクトル(1)〜(15)に、それぞれ所定値(デフォルト値)をストアする。次いで、ステップSB2〜SB5では、RAM3のワークエリアWEに設けられ、前述の開始次数および終了次数が格納されるレジスタHANIA,HANIBに「1」を、前述の減衰レート(傾斜)が格納されるレジスタKEISHAに「100」を、前述の差分(階差)が格納されるレジスタSABUNに「0」を、前述の間隔が格納されるレジスタKANKAKUに「1」をそれぞれストアする。そして、ステップSB6では、音源8に対して内部レジスタのゼロリセットや初期値セットを指示する。
【0026】
こうして、装置各部の初期化が完了すると、CPU1はステップSA2に進み、フラグMODEが「0」であるか否か、すなわち、発音モードに設定されているかどうかを判断する。フラグMODEが「0」となる発音モード下であれば、判断結果は「YES」となり、ステップSA3に処理を進める。ステップSA3では、MIDIインタフェース4を介して外部から供給されるノートオン/オフイベントに応じて、倍音合成された楽音Wを発音/消音する発音処理を実行する。
一方、フラグMODEが「1」となるスペクトル設定モード下であると、判断結果が「NO」となり、ステップSA4に処理を進め、前述したスペクトル設定画面SSGにおけるアイコンA〜Iのクリック操作により各倍音成分毎のスペクトルを設定するスペクトル設定処理を実行する。
【0027】
発音処理あるいはスペクトル設定処理が行われた後は、ステップSA5に進み、モードスイッチがオン操作されたかどうかを判断する。モードスイッチがオン操作されると、ここでの判断結果が「YES」となり、ステップSA6に処理を進めてフラグMODEを反転させた後、ステップSA7に進み、その他の処理を実行する。
一方、モードスイッチがオン操作されない場合には、上記ステップSA5の判断結果が「NO」となり、ステップSA7に進む。そして、ステップSA7のその他の処理が完了すると、上述したステップSA2に処理を戻し、以後、上述した動作を繰り返す。
【0028】
(2)スペクトル設定処理の動作
次に、図6〜図22を参照してスペクトル設定処理の動作について説明する。モードスイッチのオン操作に応じて、フラグMODEが「1」となるスペクトル設定モードになると、上述したステップSA4を介してスペクトル設定処理が実行され、図6のステップSC1に処理を進める。
ステップSC1では、RAM3に格納されるスペクトル(1)〜(15)およびレジスタHANIA,HANIB,KEISHA,SABUN,KANKAKUの各値に基づきスペクトル設定画面SSGを形成して表示部7に画面表示した後、倍音次数nに対応した値を格納するレジスタnに初期値「1」をセットする。続いて、ステップSC2では、レジスタnに対応した倍音次数n、すなわち起動時には基本波(倍音次数1)に対応したスペクトルバーについて、例えば反転表示する等の表示変更を施して選択状態にある旨を表す。
【0029】
次いで、ステップSC3以降では、スペクトル設定画面SSGに表示されるアイコンA〜Iのクリック操作に応じてアイコンA処理〜アイコンI処理が実行される。
(a)アイコンA処理の動作
アイコンAがクリック操作されると、ステップSC3の判断結果が「YES」となり、ステップSC4を介して図8に示すアイコンA処理のステップSD1に処理を進める。ステップSD1では、表示変更されて選択状態にあるスペクトルバー、つまりレジスタnに対応した倍音次数nのスペクトルバーのレベルが最大値「255」より小さいか否かを判断する。最大値「255」を超えていれば、判断結果は「NO」となり、この場合、クリック操作を無効として本ルーチンを完了させる。
一方、最大値「255」より小さければ、判断結果が「YES」となり、ステップSD2に進み、レジスタnに対応した倍音次数nのスペクトルバーのレベルをインクリメントし、続くステップSD3ではインクリメントしたレベルに応じてスペクトルバーを表示更新して本ルーチンを完了させる。
【0030】
(b)アイコンB処理の動作
アイコンBがクリック操作されると、ステップSC5の判断結果が「YES」となり、ステップSC6を介して図9に示すアイコンB処理のステップSE1に処理を進める。ステップSE1では、表示変更されて選択状態にあるスペクトルバー、つまりレジスタnに対応した倍音次数nのスペクトルバーのレベルが最小値「0」より大きいか否かを判断する。最小値「0」であれば、判断結果は「NO」となり、この場合、クリック操作を無効として本ルーチンを完了させる。
一方、最小値「0」より大きければ、判断結果が「YES」となり、ステップSE2に処理を進め、レジスタnに対応した倍音次数nのスペクトルバーのレベルをデクリメントし、続くステップSE3ではデクリメントしたレベルに応じてスペクトルバーを表示更新して本ルーチンを完了させる。
【0031】
(c)アイコンC処理の動作
アイコンCがクリック操作されると、図6のステップSC7の判断結果が「YES」となり、ステップSC8を介して図10に示すアイコンC処理のステップSF1に処理を進める。ステップSF1では、レジスタnの値が「1」より大きいか否か、つまり、倍音次数1(基本波)のスペクトルバーが現在選択状態にあるかどうかを判断する。ここで、倍音次数1のスペクトルバーが選択状態にあれば、判断結果は「NO」となり、この場合、クリック操作を無効として本ルーチンを完了させる。
一方、倍音次数1のスペクトルバーが選択状態になければ、判断結果は「YES」となり、ステップSF2に処理を進め、レジスタnの値をデクリメントし、続くステップSF3では、デクリメントされたレジスタnの値に対応した倍音次数のスペクトルバーを表示変更して選択状態に設定して本ルーチンを完了させる。
したがって、例えば倍音次数2のスペクトルバーが選択状態にあるときにアイコンCがクリック操作されると、その左隣の倍音次数1のスペクトルバーが新たに選択状態に設定される。
【0032】
(d)アイコンD処理の動作
アイコンDがクリック操作されると、図6のステップSC9の判断結果が「YES」となり、ステップSC10を介して図11に示すアイコンD処理のステップSG1に処理を進める。ステップSG1では、レジスタnの値が「15」より小さいか否か、つまり、倍音次数15のスペクトルバーが現在選択状態にあるかどうかを判断する。ここで、倍音次数15のスペクトルバーが選択状態にあれば、判断結果は「NO」となり、この場合、クリック操作を無効として本ルーチンを完了させる。
一方、倍音次数15のスペクトルバーが選択状態になければ、判断結果は「YES」となり、ステップSG2に処理を進め、レジスタnの値をインクリメントし、続くステップSG3では、インクリメントされたレジスタnの値に対応した倍音次数のスペクトルバーを表示変更して選択状態に設定して本ルーチンを完了させる。
したがって、例えば倍音次数14のスペクトルバーが選択状態にあるときにアイコンDがクリック操作されると、その右隣の倍音次数15のスペクトルバーが新たに選択状態に設定される。
【0033】
(e)アイコンE処理の動作
アイコンEがクリック操作されると、図6のステップSC11の判断結果が「YES」となり、ステップSC12を介して図12に示すアイコンE処理のステップSH1に処理を進める。ステップSH1では、クリック操作が左クリックであるか否かを判断する。以下、左クリックされた場合と右クリックされた場合とに分けて動作説明する。
【0034】
▲1▼左クリックされた場合
左クリックされると、ステップSH1の判断結果は「YES」となり、次のステップSH2に進む。ステップSH2では、レジスタHANIAに格納される開始次数が「15」より小さいか否かを判断する。開始次数が「15」であると、それ以上開始次数をインクリメント出来ない為、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させる。
一方、開始次数が「15」より小さければ、判断結果は「YES」となり、次のステップSH3に処理を進める。ステップSH3では、レジスタHANIAに格納される開始次数をインクリメントして歩進させ、続くステップSH4では、その歩進された開始次数をアイコンE中の表示フィールドに表示する。
【0035】
次いで、ステップSH5では、歩進された開始次数がレジスタHANIBに格納される終了次数より大きいか否かを判断する。開始次数が終了次数より小さければ、適正な範囲指定なので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させる。
これに対し、開始次数が終了次数より大きく、開始次数と終了次数とが逆転する場合には、判断結果が「YES」となり、ステップSH6に処理を進め、レジスタHANIAに格納された開始次数をレジスタHANIBにストアする。つまり、終了次数を超えた開始次数が設定された場合には、その開始次数を自動的に終了次数としてセットするようにしている。
【0036】
▲2▼右クリックされた場合
右クリックされると、上記ステップSH1の判断結果が「NO」となり、ステップSH8に進む。ステップSH8では、レジスタHANIAに格納される開始次数が「1」より大きいか否かを判断する。開始次数が「1」であると、これ以下には設定し得ないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、開始次数が「1」より大きければ、判断結果は「YES」となり、次のステップSH9に進む。ステップSH9では、レジスタHANIAに格納される開始次数をデクリメントし、続くステップSH10では、デクリメントした開始次数をアイコンE中の表示フィールドに表示して本ルーチンを完了させる。
【0037】
(f)アイコンF処理の動作
アイコンFがクリック操作されると、図6のステップSC13の判断結果が「YES」となり、ステップSC14を介して図13に示すアイコンF処理のステップSJ1に処理を進める。ステップSJ1では、クリック操作が左クリックであるか否かを判断する。以下、左クリックされた場合と右クリックされた場合とに分けて動作説明する。
【0038】
▲1▼左クリックされた場合
左クリックされると、ステップSJ1の判断結果は「YES」となり、次のステップSJ2に進む。ステップSJ2では、レジスタHANIBに格納される終了次数が「15」より小さいか否かを判断する。終了次数が「15」であると、それ以上終了次数をインクリメント出来ない為、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させる。
一方、終了次数が「15」より小さければ、判断結果は「YES」となり、次のステップSJ3に進む。ステップSJ3では、レジスタHANIBに格納される終了次数をインクリメントして歩進させ、続くステップSJ4では、その歩進された終了次数をアイコンF中の表示フィールドに表示する。
【0039】
▲2▼右クリックされた場合
右クリックされると、上記ステップSJ1の判断結果が「NO」となり、ステップSJ5に進む。ステップSJ5では、レジスタHANIBに格納される終了次数が「1」より大きいか否かを判断する。終了次数が「1」であると、これ以下には設定出来ないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、終了次数が「1」より大きければ、判断結果は「YES」となり、次のステップSJ6に進む。ステップSJ6では、レジスタHANIBに格納される終了次数をデクリメントし、続くステップSJ7では、デクリメントした終了次数をアイコンF中の表示フィールドに表示する。
【0040】
次いで、ステップSJ8では、デクリメントされた終了次数がレジスタHANIAに格納される開始次数より小さいか否かを判断する。開始次数が終了次数より小さければ、適正な範囲指定なので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させる。
これに対し、開始次数が終了次数より大きく、開始次数と終了次数とが逆転する場合には、判断結果が「YES」となり、ステップSJ9に処理を進め、レジスタHANIBに格納された終了次数をレジスタHANIAにストアする。つまり、開始次数より小さい終了次数が設定された場合には、その終了次数を自動的に開始次数としてセットするようにしている。
【0041】
(g)アイコンG処理の動作
アイコンGがクリック操作されると、図7のステップSC15の判断結果が「YES」となり、ステップSC16を介して図14に示すアイコンG処理のステップSK1に処理を進める。ステップSK1では、クリック操作が左クリックであるか否かを判断する。左クリックされた場合には、判断結果が「YES」となり、次のステップSK2に進み、レジスタKEISHAに格納される乗算係数が「100」より小さいか否かを判断する。乗算係数が「100」である場合、つまりスペクトルに傾斜を与えない設定であれば判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、乗算係数が「100」より小さい場合には、上記ステップSK2の判断結果は「YES」となり、ステップSK3に処理を進め、レジスタKEISHAに格納される乗算係数をインクリメントし、続くステップSK4では、インクリメントした乗算係数をアイコンG中の表示フィールドに表示する。
【0042】
これに対し、右クリックされた場合には、上記ステップSK1の判断結果が「NO」となり、ステップSK5に進む。ステップSK5では、レジスタKEISHAに格納される乗算係数が「0」より大きいか否かを判断する。乗算係数が「0」であると、これ以下には設定出来ないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、乗算係数が「0」より大きければ、判断結果は「YES」となり、次のステップSK6に進み、レジスタKEISHAに格納される乗算係数をデクリメントする。そして、ステップSK4に進み、デクリメントした乗算係数をアイコンF中の表示フィールドに表示して本ルーチンを完了させる。
【0043】
(h)アイコンH処理の動作
アイコンHがクリック操作されると、図7のステップSC17の判断結果が「YES」となり、ステップSC18を介して図15に示すアイコンH処理のステップSL1に処理を進める。ステップSL1では、クリック操作が左クリックであるか否かを判断する。左クリックされた場合には、判断結果が「YES」となり、次のステップSL2に進み、レジスタSABUNに格納される差分が「50」より小さいか否かを判断する。差分が「50」であれば判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、差分が「50」より小さい場合には、上記ステップSL2の判断結果は「YES」となり、ステップSL3に処理を進め、レジスタSABUNに格納される差分をインクリメントし、続くステップSL4では、インクリメントした差分をアイコンH中の表示フィールドに表示する。
【0044】
これに対し、右クリックされた場合には、上記ステップSL1の判断結果が「NO」となり、ステップSL5に進む。ステップSL5では、レジスタSABUNに格納される差分が「0」より大きいか否かを判断する。差分が「0」であると、これ以下には設定出来ないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、差分が「0」より大きければ、判断結果は「YES」となり、次のステップSL6に進み、レジスタSABUNに格納される差分をデクリメントする。そして、ステップSL4に進み、デクリメントした差分をアイコンH中の表示フィールドに表示して本ルーチンを完了させる。
【0045】
(i)アイコンI処理の動作
アイコンIがクリック操作されると、図7のステップSC19の判断結果が「YES」となり、ステップSC20を介して図16に示すアイコンI処理のステップSM1に処理を進める。ステップSM1では、クリック操作が左クリックであるか否かを判断する。左クリックされた場合には、判断結果が「YES」となり、次のステップSM2に進み、レジスタKANKAKUに格納される間隔が「15」より小さいか否かを判断する。間隔が「15」であれば判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。一方、間隔が「15」より小さい場合には、上記ステップSM2の判断結果は「YES」となり、ステップSM3に処理を進め、レジスタKANKAKUに格納される間隔をインクリメントし、続くステップSM4では、インクリメントした間隔をアイコンI中の表示フィールドに表示する。
【0046】
これに対し、右クリックされた場合には、上記ステップSM1の判断結果が「NO」となり、ステップSM5に進む。ステップSM5では、レジスタKANKAKUに格納される間隔が「0」より大きいか否かを判断する。間隔が「0」であると、これ以下には設定出来ないので、判断結果は「NO」となり、何も処理せずに本ルーチンを完了させ、クリック操作を無効にする。
一方、間隔が「0」より大きければ、判断結果は「YES」となり、次のステップSM6に進み、レジスタKANKAKUに格納される間隔をデクリメントする。そして、ステップSM4に進み、デクリメントした間隔をアイコンI中の表示フィールドに表示して本ルーチンを完了させる。
【0047】
(j)表示切替処理の動作
さて、上述したアイコンE処理からアイコンI処理の何れかが実行されると、CPU1は図6に示すステップSC21を介して図17に示す表示切替処理のステップSN1に処理を進める。ステップSN1では、スペクトル設定画面SSGのスペクトル表示エリアSDEに表示される一連のスペクトルバーを消去する表示クリアを行う。次に、ステップSN2では、RAM3に格納されるスペクトル(1)〜(15)を一旦ゼロクリアする。続くステップSN3では、レジスタnに「1」を、レジスタmをゼロリセットする。
【0048】
こうして表示切替えを行う前の初期設定が完了すると、ステップSN4に処理を進め、レジスタHANIAに格納される開始次数とレジスタnの値とが一致するか否かを判断する。一致しなければ判断結果は「NO」となり、ステップSN5に進み、レジスタnの値をインクリメントして歩進させ、再びステップSN4に処理を戻す。
以後、レジスタHANIAに格納される開始次数とレジスタnの値とが一致するまでステップSN4,SN5を繰り返し、レジスタnの値が開始次数になると、ステップSN4の判断結果が「YES」となり、ステップSN6に進む。ステップSN6では、開始次数のスペクトル(n)に最大「255」をストアする。
【0049】
次いで、ステップSN7では、レジスタnの値をインクリメントして歩進させ、続くステップSN8では、歩進したレジスタnの値が、レジスタHANIBに格納される終了次数以下であるか否かを判断する。終了次数を超えると、判断結果は「NO」となり、本ルーチンを完了させるが、終了次数以下であれば、判断結果が「YES」となり、図18に示すステップSN9に処理を進め、レジスタmの値をインクリメントする。次に、ステップSN10に進むと、歩進したレジスタmの値が、レジスタKANKAKUに格納される間隔に一致するか否かを判断する。一致する場合には、次のステップSN11に処理を進めるが、一致しない場合には後述のステップSN15に処理を進める。
【0050】
ステップSN11では、レジスタKEISHAに格納される乗算係数からレジスタSABUNに格納される差分を減算した値を、レジスタKEISHAにストアし直して乗算係数を更新する。次に、ステップSN12では、更新した乗算係数が「50」より小さいかどうかを判断し、そうであれば次のステップSN13に処理を進めて乗算係数を「50」に再度設定し直してからステップSN14に進む。一方、更新した乗算係数が「50」より小さくなければ、判断結果は「NO」となり、再設定することなくステップSN14に進む。
【0051】
ステップSN14では、レジスタmに格納された間隔をゼロリセットし、続くステップSN15では、レジスタKEISHAに格納された乗算係数をスペクトル(n)に乗算した値でスペクトル(n)を更新する。そして、ステップSN16では、更新されたスペクトル(n)を、倍音次数nのスペクトルバーとしてスペクトル設定画面SSGのスペクトル表示エリアSDEに表示する。
この後、上述したステップSN7に処理を戻し、レジスタnをインクリメントして歩進させ、歩進させたレジスタnの値がレジスタHANIBに格納される終了次数を超えるまで上述したステップSN7〜SN16を繰り返す。そして、レジスタnの値がレジスタHANIBに格納される終了次数を超えると、ステップSN8の判断結果が「NO」となり、本ルーチンを完了させる。
【0052】
以上説明した表示切替処理の具体的な一例について説明する。スペクトル設定画面SSGにおいてアイコンE〜Iをクリック操作して、例えば図19に示すように、開始次数「1」、終了次数「10」、傾斜「85%(乗算係数)」、差分「0」および間隔「1」が設定されたとする。そうすると、前述の表示切替処理に基づき、基本波(倍音次数1)のスペクトル(1)は最大値「255」に設定され、倍音次数2〜10の各スペクトル(2)〜(10)はそれぞれ前次数のスペクトルレベルより15%ずつ低減するよう一括して自動設定される。
【0053】
したがって、従来のように、基本波およびその倍音成分毎のスペクトル(振幅値)を一つ一つ個別に設定する必要がなくなる為、倍音構造を一括して簡単に設定することが可能になる訳である。
なお、図19に図示したスペクトル設定画面SSGでは、説明の都合上、各スペクトルバー毎にスペクトル(振幅値)や乗算係数を表示している。本実施例では、各スペクトルバー毎にスペクトル(振幅値)や乗算係数を表示する構成を有していないが、図19に図示したような画面表示を行う構成にしても構わない。
【0054】
また、図19に図示した一例において、アイコンHをクリック操作して差分「0」から差分「1」に設定変更したとする。そうすると、図20に図示する通り、倍音次数2〜10にそれぞれ対応する各乗算係数が1%分ずつ増加し、それに連れて各スペクトル(2)〜(10)も自動的に設定変更されるようになっている。
【0055】
さらに、図20に図示した一例において、アイコンIをクリック操作して間隔「1」から間隔「2」に設定変更したとする。そうすると、図21に図示する通り、倍音次数2〜10では、2つおきに乗算係数が1%分ずつ増加し、それに応じた各スペクトル(2)〜(10)も自動的に設定変更されるようになっている。
【0056】
加えて、図19に図示した一例において、アイコンEをクリック操作して開始次数「1」から開始次数「6」に設定変更したとする。そうすると、図22に図示する通り、基本波(倍音次数1)から倍音次数6の各スペクトル(1)〜(6)はそれぞれ最大値「255」に設定され、倍音次数7以降では前次数のスペクトルレベルより85%づつ低減するよう自動的に設定される。
【0057】
(3)発音処理の動作
次に、図23を参照して、CPU1および音源8が協働して実行する発音処理の動作について説明する。
さて、モードスイッチがオン操作されてフラグMODEが「0」に設定されると、前述したメインルーチン(図4参照)のステップSA3を介して図23の発音処理が実行され、CPU1はステップSC1に処理を進める。ステップSC1では、MIDIインタフェース4への入力の有無を判断する。MIDI入力が無ければ、判断結果は「NO」となり、一旦本ルーチンを完了させる。
一方、MIDI入力が有れば、判断結果は「YES」となり、CPU1は次のステップSP2に処理を進め、MIDI入力がノートオンイベントであるか否かを判断する。以下、ノートオンイベントの場合とノートオフイベントの場合とに分けて動作説明する。
【0058】
▲1▼ノートオンイベントの場合
MIDI入力がノートオンイベントであると、ステップSP2の判断結果が「YES」となり、CPU1はステップSP3に処理を進め、そのノートオンイベントから抽出したノートオンナンバをレジスタNOTEにセットする。次いで、ステップSP4では、楽音Wを保持するレジスタWをゼロリセットし、続くステップSP5では倍音次数を格納するレジスタnに初期値「1」をセットする。こうして楽音発生の準備が整うと、CPU1はレジスタNOTE,W,nの内容を音源8に送出して楽音発生を指示する。これにより、音源8はステップSP6〜SP10にてMIDI入力に対応した楽音を発生する。
【0059】
すなわち、ステップSP6では、レジスタnの値に対応した倍音次数nの波形(第n次波形と称す)を発生する。音源8には、第1次波形(基本波)から第n次波形の正弦波データが予め記憶されており、それらの内からレジスタnの値に対応した次数の正弦波データを読み出すことで波形発生する。次に、ステップSP7では、前述したスペクトル設定処理にて設定されたスペクトル(n)を、生成した第n次波形に乗算してレジスタWに加算する。
【0060】
次いで、ステップSP8では、レジスタnに格納される倍音次数nを歩進させ、続くステップSP9では歩進された倍音次数nが「15」を超えたか、つまり、倍音合成し終えたかどうかを判断する。倍音合成し終えていなければ、判断結果が「NO」となり、ステップSP6に処理を戻す。
以後、スペクトル(n)が乗算された第n次波形をレジスタWに累算する倍音合成が終了すると、ステップSP9の判断結果が「YES」となり、ステップSP10に進み、倍音合成によりレジスタWに格納された楽音Wを、レジスタNOTEに対応した音高で出力する。
【0061】
▲2▼ノートオフイベントの場合
MIDI入力がノートオフイベントであると、ステップSP11の判断結果が「YES」となり、CPU1はステップSP12に処理を進め、そのノートオフイベントから抽出したノートオフナンバをレジスタNOTEにセットする。次いで、ステップSP13では、レジスタNOTEに対応した音高の楽音Wの消音を音源8に指示する。
【0062】
以上説明したように、本実施例によれば、基本波である第1次倍音からその整数次倍音となる第n次倍音までの内からスペクトル設定したい倍音範囲を開始次数および終了次数で指定すると共に、その指定した倍音範囲におけるスペクトルレベルを減衰させる乗算係数を指定すると、開始次数のスペクトルレベルを基準に、次数が進む毎に前次数のスペクトルレベルに前記乗算係数を乗算して得たスペクトルレベルを終了次数まで自動的に設定し、その結果をスペクトル設定画面SSGに画面表示するので、倍音構造を一括して簡単に設定することが可能になっている。
【0063】
また、本実施例では、乗算係数を次数毎に変化させる差分(階差)を指定し得るので、指定された乗算係数により得られるスペクトルレベルの減衰レート、つまり、指定された倍音範囲のスペクトル傾斜を簡単に変更することも可能になっている。さらに、本実施例では、差分(階差)の間隔を指定し得るので、指定された乗算係数および差分にて定まるスペクトル傾斜を微調整することも可能になる。
【0064】
なお、上述した実施例では、第1次倍音から第n次倍音までの内からスペクトル設定したい、唯一の倍音範囲を指定するようにしたが、これに限らず、倍音範囲を複数指定し、かつ、それら複数の倍音範囲毎に、乗算係数、差分および間隔を個別指定することも可能であり、このようにすれば、複雑な倍音構造であっても簡単に設定することが出来る。
【0065】
また、この実施例では、第1次倍音から第n次倍音までの倍音成分が単調減少する倍音構造を対象としているが、これに限らず、倍音成分が単調増加するようなプロファイルの倍音構造を設定し得るように、乗算係数、差分および間隔を変化させることも可能である。
【0066】
さらに、本実施例では、各倍音次数のスペクトルをバー表示するようにしたが、これに替えて、例えば各倍音次数のスペクトルレベルを包絡するエンベロープ形状として画面表示し、そのエンベロープ形状について範囲指定し、指定した範囲で形状変化させるようにしても倍音構造を一括して簡単に設定することができる。
【0067】
【発明の効果】
請求項1,4に記載の発明によれば、第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定すると共に、乗算係数を指定すると、開始次数のスペクトルレベルが生成され、この開始次数のスペクトルレベルを基準に用い、開始次数の次の次数から終了次数まで次数を進める毎に、指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出する。そして、生成された開始次数のスペクトルレベルと、算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するので、倍音構造を一括して簡単に設定することができる。
請求項2,5に記載の発明によれば、スペクトル設定画面において第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定すると共に、乗算係数と差分値とを指定すると、指定された乗算係数を基準に用い、開始次数の次の次数から終了次数まで次数を進める毎に、前次数の乗算係数から差分値を減算して現次数の乗算係数を発生する。また、生成される開始次数のスペクトルレベルを基準に用い、開始次数の次の次数から終了次数まで次数を進める毎に、上記現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出する。そして、開始次数のスペクトルレベルと、算出される開始次数の次の次数から終了次数までの各スペクトルレベルとをスペクトル設定画面に画面表示するので、スペクトル設定画面を見ながら所望の倍音構造を一括して設定でき、しかも乗算係数を次数毎に変化させる差分値を指定する為、開始次数から終了次数までの各スペクトルの傾斜を一括して簡単に変更することができる。
請求項3,6に記載の発明によれば、スペクトル設定画面において第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定すると共に、乗算係数、差分値および間隔値指定すると、指定された乗算係数を基準に用い、開始次数の次の次数から終了次数に達するまで間隔値に相当する数の次数が進む毎に、当該間隔値に相当する数の次数を進める前の乗算係数から差分値を減算して現次数の乗算係数を発生する。また、生成される開始次数のスペクトルレベルを基準に用い、開始次数の次の次数から終了次数まで次数を進める毎に、上記現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出する。そして、開始次数のスペクトルレベルと、算出される開始次数の次の次数から終了次数までの各スペクトルレベルとをスペクトル設定画面に画面表示するので、スペクトル設定画面を見ながら所望の倍音構造を一括して設定でき、しかも差分(階差)の間隔を指定する為、乗算係数および差分にて定まる開始次数から終了次数までの各スペクトルの傾斜を一括して微調整することもできる。
【図面の簡単な説明】
【図1】本発明による一実施例の構成を示すブロック図である。
【図2】RAMのメモリ構成を示す図である。
【図3】スペクトル設定画面SSGの一構成例を示す図である。
【図4】メインルーチンの動作を示すフローチャートである。
【図5】イニシャライズ処理の動作を示すフローチャートである。
【図6】スペクトル設定処理の動作を示すフローチャートである。
【図7】スペクトル設定処理の動作を示すフローチャートである。
【図8】アイコンA処理の動作を示すフローチャートである。
【図9】アイコンB処理の動作を示すフローチャートである。
【図10】アイコンC処理の動作を示すフローチャートである。
【図11】アイコンD処理の動作を示すフローチャートである。
【図12】アイコンE処理の動作を示すフローチャートである。
【図13】アイコンF処理の動作を示すフローチャートである。
【図14】アイコンG処理の動作を示すフローチャートである。
【図15】アイコンH処理の動作を示すフローチャートである。
【図16】アイコンI処理の動作を示すフローチャートである。
【図17】表示切替処理の動作を示すフローチャートである。
【図18】表示切替処理の動作を示すフローチャートである。
【図19】スペクトル設定処理の動作を説明するためのスペクトル設定画面SSGの一例を示す図である。
【図20】スペクトル設定処理の動作を説明するためのスペクトル設定画面SSGの一例を示す図である。
【図21】スペクトル設定処理の動作を説明するためのスペクトル設定画面SSGの一例を示す図である。
【図22】スペクトル設定処理の動作を説明するためのスペクトル設定画面SSGの一例を示す図である。
【図23】発音処理の動作を示すフローチャートである。
【符号の説明】
1 CPU
2 ROM
3 RAM
4 MIDIインタフェース
5 マウス
6 パネルスイッチ群
7 表示部
8 音源
9 サウンドシステム
Claims (6)
- 第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、
乗算係数を指定する乗算係数指定手段と、
前記範囲指定手段により指定された開始次数のスペクトルレベルを発生する開始レベル発生手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数指定手段により指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するスペクトル表示手段と
を具備することを特徴とするスペクトル設定装置。 - 第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上に設けられ、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、
前記スペクトル設定画面上に設けられ、乗算係数を指定する乗算係数指定手段と、
前記スペクトル設定画面上に設けられ、差分値を指定する差分指定手段と、
前記範囲指定手段により指定された開始次数のスペクトルレベルを発生する開始レベル発生手段と、
前記乗算係数指定手段が指定する乗算係数を基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前次数の乗算係数から前記差分指定手段により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生手段が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示手段と
を具備することを特徴とするスペクトル設定装置。 - 第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上に設けられ、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定手段と、
前記スペクトル設定画面上に設けられ、乗算係数を指定する乗算係数指定手段と、
前記スペクトル設定画面上に設けられ、差分値を指定する差分指定手段と、
前記スペクトル設定画面上に設けられ、間隔値を指定する間隔指定手段と、
前記乗算係数指定手段が指定する乗算係数を基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数に達するまで前記間隔指定手段により指定される間隔値に相当する数の次数が進む毎に、当該間隔値に相当する数の次数を進める前の乗算係数から前記差分指定手段により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定手段により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生手段が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出手段と、
前記開始レベル発生手段が発生する開始次数のスペクトルレベルと、前記スペクトル算出手段により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示手段と
を具備することを特徴とするスペクトル設定装置。 - 第1次倍音から第n次倍音までの各倍音の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、
乗算係数を指定する乗算係数指定過程と、
前記範囲指定過程により指定された開始次数のスペクトルレベルを発生する開始レベル発生過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数指定過程により指定された乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを画面表示するスペクトル表示過程と
を具備することを特徴とするスペクトル設定方法。 - 第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上で、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、
前記スペクトル設定画面上で乗算係数を指定する乗算係数指定過程と、
前記スペクトル設定画面上で差分値を指定する差分指定過程と、
前記範囲指定過程により指定された開始次数のスペクトルレベルを発生する開始レベル発生過程と、
前記乗算係数指定過程が指定する乗算係数を基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前次数の乗算係数から前記差分指定過程により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生過程が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示過程と
を具備することを特徴とするスペクトル設定方法。 - 第1次倍音から第n次倍音までの各倍音成分を表示可能なスペクトル設定画面上で、これら各倍音成分の内からスペクトルレベル設定する範囲を開始次数および終了次数で指定する範囲指定過程と、
前記スペクトル設定画面上で乗算係数を指定する乗算係数指定過程と、
前記スペクトル設定画面上で差分値を指定する差分指定過程と、
前記スペクトル設定画面上で間隔値を指定する間隔指定過程と、
前記乗算係数指定過程が指定する乗算係数を基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数に達するまで前記間隔指定過程により指定される間隔値に相当する数の次数が進む毎に、当該間隔値に相当する数の次数を進める前の乗算係数から前記差分指定過程により指定された差分値を減算して現次数の乗算係数を発生する乗算係数発生過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルを基準に用い、前記範囲指定過程により指定された開始次数の次の次数から終了次数まで次数を進める毎に、前記乗算係数発生過程が発生する現次数の乗算係数を、前次数のスペクトルレベルに乗算して現次数のスペクトルレベルを算出するスペクトル算出過程と、
前記開始レベル発生過程が発生する開始次数のスペクトルレベルと、前記スペクトル算 出過程により算出される開始次数の次の次数から終了次数までの各スペクトルレベルとを前記スペクトル設定画面に画面表示するスペクトル表示過程と
を具備することを特徴とするスペクトル設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002026364A JP3862156B2 (ja) | 2002-02-04 | 2002-02-04 | スペクトル設定装置およびスペクトル設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002026364A JP3862156B2 (ja) | 2002-02-04 | 2002-02-04 | スペクトル設定装置およびスペクトル設定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003228373A JP2003228373A (ja) | 2003-08-15 |
JP3862156B2 true JP3862156B2 (ja) | 2006-12-27 |
Family
ID=27748225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002026364A Expired - Fee Related JP3862156B2 (ja) | 2002-02-04 | 2002-02-04 | スペクトル設定装置およびスペクトル設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3862156B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4665664B2 (ja) * | 2005-08-24 | 2011-04-06 | ヤマハ株式会社 | シーケンスデータ生成装置およびシーケンスデータ生成プログラム |
JP5104078B2 (ja) * | 2007-07-05 | 2012-12-19 | カシオ計算機株式会社 | スペクトル設定装置およびスペクトル設定処理プログラム |
JP5251381B2 (ja) * | 2008-09-12 | 2013-07-31 | ヤマハ株式会社 | 音処理装置およびプログラム |
-
2002
- 2002-02-04 JP JP2002026364A patent/JP3862156B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003228373A (ja) | 2003-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103594075B (zh) | 音乐信息显示控制方法和音乐信息显示控制设备 | |
WO2000026897A1 (en) | Method of modifying harmonic content of a complex waveform | |
US6180863B1 (en) | Music apparatus integrating tone generators through sampling frequency conversion | |
JP3862156B2 (ja) | スペクトル設定装置およびスペクトル設定方法 | |
US5684260A (en) | Apparatus and method for generation and synthesis of audio | |
JP3637577B2 (ja) | 楽音生成方法 | |
JP6528752B2 (ja) | 楽音再生装置、楽音再生方法、プログラムおよび電子楽器 | |
JP4088947B2 (ja) | 楽音発生装置 | |
JP3649398B2 (ja) | 波形処理方法および装置 | |
JP2002372972A (ja) | パラメータ制御装置およびパラメータ制御方法 | |
JP6028844B2 (ja) | 楽音合成装置及びプログラム | |
JP4301126B2 (ja) | 運指情報生成装置、及びプログラム | |
JP2003108134A (ja) | 楽音発生装置および楽音発生方法 | |
JP3671407B2 (ja) | 波形発生装置 | |
JP3430719B2 (ja) | 楽音合成装置のパラメータ設定装置及び方法 | |
Canazza et al. | Symbolic and audio processing to change the expressive intention of a recorded music performance | |
JP4241481B2 (ja) | 演奏データ編集プログラム | |
JP4232203B2 (ja) | 波形発生装置および波形発生処理プログラム | |
JP3293049B2 (ja) | 楽音制御装置 | |
JPH05289666A (ja) | 効果付加装置 | |
JP4479847B2 (ja) | 波形発生装置および波形発生処理のプログラム | |
JP6341356B2 (ja) | 楽音発生装置、楽音発生方法およびプログラム | |
JP2006184392A (ja) | 楽音制御装置および楽音制御プログラム | |
JP4613996B2 (ja) | 演奏データ編集プログラム | |
JP5071124B2 (ja) | 音源装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060712 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060823 |
|
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: 20060908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060921 |
|
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: 20091006 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |