説明

スペクトル設定装置、プログラム及びスペクトル設定方法

【課題】楽音の各周波数スペクトル成分のレベルをより柔軟に設定可能とする。
【解決手段】スペクトル設定装置では、縦軸をレベル、横軸を周波数としたエンベロープ入力画面を表示し、この画面上にエンベロープ波形を表示する。そして、発音すべき楽音を構成する周波数スペクトル成分である基音及び倍音それぞれのレベルを対応する周波数と共に取得する。さらに、この取得したエンベロープレベルに基づき、対応する周波数に該当する基音及び倍音の各レベルを変更する。そのため、周波数に対応したエンベロープの形状に合わせて、楽音の基音及び倍音の構造を変更することができる。したがって、音高の異なる楽音それぞれに対して、特定の周波数帯域に含まれるスペクトル成分のレベルを一律に変更することができ、楽音に含まれる周波数スペクトル成分のレベルをより柔軟に設定可能とすることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器が発生する楽音の周波数スペクトルを設定するスペクトル設定装置、プログラム及びスペクトル設定方法に関する。
【背景技術】
【0002】
従来、1つの音高に設定されている基本波(基音の波形)及び基本波の倍音成分の各レベルを順次指定することによりエンベロープを表示し、ユーザによって任意の形状に設定されたエンベロープを基に、基本波及び基本波の倍音成分毎のレベルを表すスペクトルデータを更新するスペクトル設定装置が知られている(例えば、特許文献1参照)。
【0003】
このようなスペクトル設定装置では、1つの音高について、基本波及び基本波の倍音成分毎のスペクトルレベルを1つ1つ個別に設定することなく、ユーザが設定したエンベロープから、その音高の基本波及び基本波の倍音成分毎のスペクトルレベルをまとめて設定することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−53983号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術を含め、従来のスペクトル設定装置においては、所定の音高で発音されるひとつの楽音を構成する周波数スペクトルに基づいて描画されたエンベロープ波形から倍音次数毎のスペクトル成分のレベルを抽出しているため、予め指定された音高の特定の倍音レベルのみを変更することはできるものの、それぞれ異なる音高の複数の楽音全てに対して、特定の周波数帯域に含まれるスペクトルレベルを一律に変更することは困難であった。
即ち、従来のスペクトル設定装置においては、楽音の周波数スペクトル成分のレベルを設定する際の柔軟性がユーザのニーズに対して十分なものではなかった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、楽音の周波数スペクトル成分のレベルをより柔軟に設定可能とすることを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一態様のスペクトル設定装置は、
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画手段と、
前記エンベロープ描画手段より描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得手段と、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得手段で取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更手段と、
を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、楽音の周波数スペクトルレベルをより柔軟に設定することが可能となる。
【図面の簡単な説明】
【0009】
【図1】第1実施形態に係るスペクトル設定装置1のハードウェアの構成を示すブロック図である。
【図2】RAM13が記憶するメモリマップを示す図である。
【図3】CPU11が実行する主制御処理の流れを説明するフローチャートである。
【図4】CPU11が実行する設定処理の流れを説明するフローチャートである。
【図5】エンベロープ入力画面の一例を示す模式図である。
【図6】エンベロープデータから読み出された周波数fに対応するスペクトルレベルを示す図である。
【図7】CPU11が実行する再生処理の流れを説明するフローチャートである。
【図8】音源41が実行する楽音出力処理の流れを説明するフローチャートである。
【図9】スペクトルレベルの設定状態を示す模式図である。
【図10】エンベロープ波形データから読み出された周波数fに対応して設定した各周波数スペクトル成分のレベルを示す図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて、本発明に係るスペクトル設定装置の実施形態について説明する。
[第1実施形態]
[スペクトル設定装置の構成]
【0011】
本実施形態に係るスペクトル設定装置は、横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画し、この描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得する。そして、発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、その周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更する。スペクトル設定装置は、このようにして変更された楽音の周波数スペクトルレベルを時間軸上に展開し、展開して得られた時間軸上の波形のデータを更新後の楽音の波形データとして保持する。
【0012】
これにより、縦軸をレベル、横軸を周波数とする領域に、ユーザーがエンベロープ波形を描画し、この描画されたエンベロープ波形に合わせて、複数の音高の楽音を構成する基音及び倍音の構造を決定することができる。そのため、複数の楽音を構成する周波数スペクトル成分のうち、特定の周波数帯域に含まれるスペクトル成分のレベルを一律に高めることができ、楽音を構成する周波数スペクトル成分、つまり基音及び倍音の各レベルをより柔軟に設定可能とすることが可能となる。
【0013】
図1は、本発明の第1実施形態に係るスペクトル設定装置1のハードウェアの構成を示すブロック図である。
図1において、スペクトル設定装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、入力部16と、出力部17と、記憶部18と、MIDIインターフェース部19と、ドライブ20と、を備えている。
【0014】
CPU11は、ROM12に記録されているプログラム、または、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。具体的には、CPU11は、スペクトル設定装置1のメインフローとなる主制御処理や、そのサブフローとなる設定処理及び再生処理を実行する。
【0015】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等が適宜記憶される。具体的には、RAM13には、発生すべき楽音の波形データが音高毎に記憶され、さらにその基音及び倍音のスペクトルレベルを表すデータ及び設定処理においてユーザが設定したスペクトルのエンベロープレベルを表すデータが記憶される。
図2は、RAM13が記憶するメモリマップを示す図である。
図2に示すように、RAM13のメモリマップには、各音高の波形データWD、n次の倍音のスペクトルレベル(即ち、1次の倍音である基音のレベルBL1及びn次(nは2以上の整数)の倍音のスペクトルレベルHL2〜HLn)、ユーザが設定処理において変更したスペクトルのエンベロープデータ(対応する周波数毎のエンベロープレベルのデータ)が格納されている。
【0016】
各音高の波形データWDは、鍵番号0からk(kは鍵盤の数を表す自然数)の波形データWD0〜WDkによって構成される。これらの波形データWD0〜WDkは、時間軸上の振幅を表したデータである。
基音のレベルBL1及び倍音のレベルHL2〜HLnは、変更対象となっている鍵番号の波形データを構成する基音のレベル及びその基音に対する各倍音のレベルを表したデータである。
【0017】
スペクトルのエンベロープデータは、予め指定された周波数毎のエンベロープのレベルEL1〜ELm(mは自然数)を表すデータによって構成される。これらエンベロープのレベルEL1〜ELmは、例えば1Hz毎に、ユーザが設定したエンベロープのレベルを取得して得られるデータである。
【0018】
図1の説明に戻り、CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、入力部16、出力部17、記憶部18、MIDIインターフェース部19及びドライブ20が接続されている。
【0019】
入力部16は、MIDIキーボードを含み、鍵盤及び各種情報を入力するためのスイッチを備えている。そして、入力部16は、鍵が押下された場合に、その鍵を識別するための鍵番号や、鍵の押下の強さを示す情報(以下、「ベロシティ」と呼ぶ。)をCPU11に出力したり、ユーザによって入力された各種情報をCPU11に出力したりする。また、入力部16には、マウス等のポインティングデバイスや、文字入力のためのキーボードが含まれ、これらによる入力信号をCPU11に出力する。
【0020】
出力部17は、ディスプレイや、スピーカ及びD/A変換回路等を有しており、画像や音声を出力する。
記憶部18は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、スペクトル設定装置1の制御のための各種プログラムやデータを記憶する。
【0021】
MIDIインターフェース部19は、楽音を発生する音源41とスペクトル設定装置1とを接続するインターフェースである。音源41は、再生処理の際に、設定処理の結果、ユーザによって周波数スペクトル成分の変更された波形データに基づく楽音を出力する。なお、音源41が実行する楽音出力処理の詳細は、図8を参照して後述する。
【0022】
ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ20によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている各種データも、記憶部18と同様に記憶することができる。
【0023】
[動作]
次に、スペクトル設定装置1の動作を説明する。
[主制御処理]
まず、図3を参照して、CPU11が実行する主制御処理について説明する。
図3は、CPU11が実行する主制御処理の流れを説明するフローチャートである。
主制御処理は、本実施形態では、スペクトル設定装置1の起動と共に開始され、終了の指示が入力されるまで、繰り返し実行される。
【0024】
ステップS1において、CPU11は、スペクトル設定装置1の初期化を実行する。これにより、主制御処理において使用する各パラメータ等がリセットされる。
【0025】
ステップS2において、CPU11は、設定処理及び再生処理のいずれにモードが設定されているかの判定を行う。
設定処理にモードが設定されている場合、ステップS2において、設定処理モードであると判定されて、処理はステップS3に進む。
ステップS3において、CPU11は、設定処理を実行する。なお、設定処理の詳細については、図4を参照して後述する。
ステップS4において、CPU11は、ユーザによってモードの変更が指示入力されたか否かの判定を行う。
【0026】
ユーザによってモードの変更が指示入力された場合、ステップS4においてYESと判定されて、処理はステップS5に進む。
これに対し、ユーザによってモードの変更が指示入力されていない場合、ステップS4においてNOと判定されて、処理はステップS2に進む。
ステップS5において、CPU11は、モードを再生処理に変更する。
このようなステップS5の処理の後、処理はステップS2に進む。
【0027】
また、再生処理にモードが設定されている場合、ステップS2において、再生処理モードであると判定されて、処理はステップS6に進む。
ステップS6において、CPU11は、再生処理を実行する。なお、再生処理の詳細については、図7を参照して後述する。
ステップS7において、CPU11は、ユーザによってモードの変更が指示入力されたか否かの判定を行う。
【0028】
ユーザによってモードの変更が指示入力された場合、ステップS7においてYESと判定されて、処理はステップS8に進む。
これに対し、ユーザによってモードの変更が指示入力されていない場合、ステップS7においてNOと判定されて、処理はステップS2に進む。
ステップS8において、CPU11は、モードを設定処理に変更する。
このようなステップS8の処理の後、処理はステップS2に進む。
CPU11は、終了の指示が入力されるまで、このような処理を繰り返す。
【0029】
[設定処理]
次に、主制御処理のステップS3において、サブフローとして実行される設定処理について説明する。
図4は、CPU11が実行する設定処理の流れを説明するフローチャートである。
設定処理は、主制御処理のステップS3において、サブフローとして呼び出されることに対応して開始される。
【0030】
ステップS11において、CPU11は、エンベロープ波形の設定を行うか否かを指示入力するための確認画面を表示する。
エンベロープ波形の設定を行う旨の指示入力が行われると、ステップS11においてYESと判定されて、処理はステップS12に進む。
これに対し、エンベロープ波形の設定を行わない旨の指示入力が行われると、ステップS11においてNOと判定されて、処理は主制御処理に戻る。
【0031】
ステップS12において、CPU11は、エンベロープ波形を入力するためのユーザインターフェース画面(以下、「エンベロープ入力画面」と呼ぶ。)を表示する。
ステップS13において、CPU11は、エンベロープ入力画面においてユーザが設定したエンベロープをグラフ領域に表示する。
【0032】
図5は、エンベロープ入力画面の一例を示す模式図である。
エンベロープ入力画面には、横軸を周波数f、縦軸をエンベロープレベルとするグラフ領域が含まれ、入力部16によって、目的とする形にエンベロープを設定することが可能になっている。
図5に示す例では、ユーザによって、100Hzを頂点とし50Hzにおいて100Hzの1/2のレベルとなるエンベロープが設定されている。
【0033】
ステップS14において、CPU11は、ユーザが設定したエンベロープに入力を確定するか否かを確認する画面表示を行う。
ユーザが設定したエンベロープに入力を確定しない旨が入力された場合、ステップS14においてNOと判定されて、処理はステップS15に進む。
【0034】
これに対し、ユーザが設定したエンベロープに入力を確定する旨が入力された場合、ステップS14においてYESと判定されて、処理はステップS16に進む。
ステップS15において、CPU11は、エンベロープ入力画面においてユーザが設定したエンベロープをクリアする。
ステップS15の後、処理はステップS12に進む。
【0035】
ステップS16において、CPU11は、ユーザが設定したエンベロープの形を記憶する。ステップS16では、例えば1Hz毎に、ユーザによって設定されたエンベロープのレベルを取得し、図2に示すメモリマップおけるスペクトルのエンベロープデータ(エンベロープのレベルEL1〜ELm)として記憶する。
ステップS17において、CPU11は、音高に対応する鍵番号kとして0(最低鍵番号)を設定する。
【0036】
ステップS18において、CPU11は、鍵番号kに対応する波形データWDkを図2に示すメモリマップから読み出し、周波数軸上のスペクトルに変換する。
ステップS19において、CPU11は、基音及び各次数の倍音のレベルを取得し、図2に示すメモリマップにおいて、基音のレベルBL1及び倍音のレベルHL2〜HLnとして格納する。
【0037】
ステップS20において、CPU11は、レベルを設定する基音及び倍音の次数nとして1を設定する。なお、次数n=1は、基音を表し、2以上は倍音を表している。
ステップS21において、CPU11は、n次の倍音の周波数fを取得する。
ステップS22において、CPU11は、周波数fがエンベロープ入力画面の横軸のレンジ内であるか否かの判定を行う。
【0038】
周波数fがエンベロープ入力画面の横軸のレンジ内でない場合、ステップS22においてNOと判定されて、処理はステップS25に進む。
これに対し、周波数fがエンベロープ入力画面の横軸のレンジ内である場合、ステップS22においてYESと判定されて、処理はステップS23に進む。
【0039】
ステップS23において、CPU11は、図2に示すメモリマップのエンベロープデータから、周波数fに対応するエンベロープのレベルを読み出す。このとき、n次の倍音の周波数fがエンベロープデータとして格納されているデータのサンプリング周波数と一致しない場合、CPU11は、周波数fに最も近い周波数のエンベロープのレベルを読み出すようにしても良い。
【0040】
図6は、エンベロープデータから読み出された周波数fに対応するレベルを示す図である。
図6に示すように、ステップS23の処理では、基音及びn次の倍音の周波数に対応するスペクトルレベルが取得される。
ステップS24において、CPU11は、n次の倍音のレベルHLnを、読み出したエンベロープレベルに変更する。
【0041】
ステップS25において、CPU11は、レベルを設定する基音及び倍音の次数nを1加算する。
ステップS26において、CPU11は、次数nが設定されている倍音の最高次数より大きいか否かの判定を行う。
次数nが設定されている倍音の最高次数以下である場合、ステップS26においてNOと判定されて、処理はステップS21に進む。
【0042】
これに対し、次数nが設定されている倍音の最高次数より大きい場合、ステップS26にYESと判定されて、処理はステップS27に進む。
ステップS27において、図2に示すメモリマップにおける1からn次の倍音のレベル(1次の倍音である基音のレベルBL1及び2次以上の倍音のレベルHL2〜HLn)で表される音高の波形を時間軸上に展開し、波形データを生成する。
【0043】
ステップS28において、CPU11は、ステップS27において生成した波形データを図2に示すメモリマップの波形データWDkとして格納する。
ステップS29において、CPU11は、鍵番号kを1加算する。
ステップS30において、CPU11は、鍵番号kが入力部16に備えられているMIDIキーボードの鍵の数を表す最高鍵番号より大きいか否かの判定を行う。
【0044】
鍵番号kが最高鍵番号以下である場合、ステップS30においてNOと判定されて、処理はステップS18に進む。
これに対し、鍵番号kが最高鍵番号より大きい場合、ステップS30においてYESと判定されて、処理は主制御処理に戻る。
【0045】
このように、設定処理が実行されると、ユーザによって入力されたエンベロープにおいて、鍵番号0の基音及び各次数の倍音の周波数におけるレベルが取得され、鍵番号0から基音の周波数を1音高分ずらして、鍵番号1の基音及び各次数の倍音の周波数におけるレベルが取得されるというように、最大鍵番号の基音及び各次数の倍音の周波数におけるレベルまでが順次取得される。
【0046】
[再生処理]
次に、主制御処理のステップS6において、サブフローとして実行される再生処理について説明する。
図7は、CPU11が実行する再生処理の流れを説明するフローチャートである。
再生処理は、主制御処理のステップS6において、サブフローとして呼び出されることに対応して設定される。
【0047】
ステップS41において、CPU11は、全ての鍵番号の鍵における入力の状態を走査する。
ステップS42において、CPU11は、各鍵番号の鍵において、入力の状態に変化があるか否かの判定を行う。
各鍵番号の鍵において、入力の状態の変化が離鍵(鍵の押下の解放)である場合、ステップS42において「オフ」と判定されて、処理はステップS43に進む。
【0048】
これに対し、各鍵番号の鍵において、入力の状態の変化が押鍵(鍵の押下の開始)である場合、ステップS42において「オン」と判定されて、処理はステップS45に進む。
また、各鍵番号の鍵において、入力の状態の変化がない場合、処理は主制御処理に戻る。
ステップS43において、CPU11は、オフと判定された鍵番号kを離鍵番号として設定する。
【0049】
ステップS44において、CPU11は、音源41に離鍵を通知するためのイベント(以下、「ノートオフイベント」と呼ぶ。)を生成する。ノートオフイベントには、離鍵番号及び0を示すベロシティが含まれている。
このようなステップS44の処理の後、処理はステップS48に進む。
ステップS45において、CPU11は、オンと判定された鍵番号kを押鍵番号として設定する。
【0050】
ステップS46において、CPU11は、押鍵のあった鍵のベロシティ(鍵盤の押下の強さ)を検出する。
ステップS47において、CPU11は、音源41に押鍵を通知するためのイベント(以下、「ノートオンイベント」と呼ぶ。)を生成する。ノートオンイベントには、押鍵番号、音高を示す情報(図2のメモリマップにおける波形データを識別する情報)及びベロシティが含まれている。
【0051】
このようなステップS47の処理の後、処理はステップS48に進む。
ステップS48において、CPU11は、ノートオンイベントあるいはノートオフイベントを音源41に出力する。
このようなステップS48の処理の後、処理は主制御処理に戻る。
【0052】
[楽音出力処理]
次に、再生処理が実行されることに対応して、音源41において実行される楽音出力処理について説明する。
図8は、音源41が実行する楽音出力処理の流れを説明するフローチャートである。
【0053】
楽音出力処理は、スペクトル設定装置1において再生処理が実行されることに対応して、音源41によって開始される。
ステップS51において、音源41は、スペクトル設定装置1からイベントを受信したか否かの判定を行う。
【0054】
イベントを受信していない場合、ステップS51においてNOと判定されて、処理はステップS56に進む。
イベントを受信した場合、ステップS51においてYESと判定されて、処理はステップS52に進む。
【0055】
ステップS52において、音源41は、受信したイベントがノートオンイベントであるか否かの判定を行う。
受信したイベントがノートオンイベントでない場合、ステップS52においてNOと判定されて、処理はステップS53に進む。なお、受信したイベントがノートオンイベントでない場合には、受信したイベントはノートオフイベントであると判定される。
これに対し、受信したイベントがノートオンイベントである場合、ステップS52においてYESと判定されて、処理はステップS54に進む。
【0056】
ステップS53において、音源41は、出力中の楽音におけるエンベロープのリリースを開始する。これにより、出力中の楽音の音量が急激に減少する。
このようなステップS53の処理の後、処理はステップS57に進む。
【0057】
ステップS54において、音源41は、ノートオンを表すノートオンフラグに、ノートオン中であることを示す1を設定する。
ステップS55において、音源41は、ノートオンイベント受信に応答して、エンベロープの発生を開始する。
ステップS56において、音源41は、ノートオンフラグに1が設定されているか否かの判定を行う。
【0058】
ノートオンフラグに1が設定されていない場合、ステップS56においてNOと判定されて、処理はステップS51に進む。
これに対し、ノートオンフラグに1が設定されている場合、ステップS56においてYESと判定されて、処理はステップS57に進む。
ステップS57において、音源41は、ノートオンイベントにおいて示されている音高を表す情報を基に、スペクトル設定装置1のメモリマップから、押鍵番号に対応する波形データを読み出す。
【0059】
ステップS58において、音源41は、出力する楽音のエンベロープのレベルが予め設定した閾値以下となっているか否かの判定を行う。
出力する楽音のエンベロープレベルが予め設定した閾値以下となっている場合、処理はステップS59に進む。
【0060】
これに対し、出力する楽音のエンベロープレベルが予め設定した閾値より大きい場合、処理はステップS60に進む。
ステップS59において、音源41は、ノートオンフラグにノートオン中でないことを表す0を設定する。
このようなステップS59の処理の後、処理はステップS51に進む。
【0061】
ステップS60において、音源41は、ステップS57において読み出した波形データを出力する。このとき、ノートオンからの経過時間に対応する波形データのレベルが出力される。
このようなステップS60処理の後、処理はステップS51に進む。
なお、楽音出力処理は、スペクトル設定装置1における再生処理の終了に対応して終了となる。
【0062】
以上説明したように、第1実施形態のスペクトル設定装置1では、横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画し、この描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得する。そして、発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、その周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更する。スペクトル設定装置1は、このようにして変更された音高のスペクトルのレベルを時間軸上の波形に展開し、展開して得られた時間軸上の波形のデータを更新後の音高の波形データとして保持する。
【0063】
これにより、縦軸をレベル、横軸を周波数とする領域に、ユーザーがエンベロープ波形を描画し、この描画されたエンベロープ波形に合わせて、複数の音高の楽音を構成する基音及び倍音の構造を決定することができる。そのため、複数の楽音を構成する周波数スペクトル成分のうち、特定の周波数帯域に含まれるスペクトル成分のレベルを一律に高めることができ、楽音を構成する周波数スペクトル成分、つまり基音及び倍音の各レベルをより柔軟に設定可能とすることが可能となる。
【0064】
なお、上記実施形態において、設定処理のステップS12を実行するCPU11がエンベロープ描画手段に対応し、設定処理のステップS23を実行するCPU11がエンベロープレベル取得手段に対応し、設定処理のステップS24を実行するCPU11がレベル変更手段に対応する。
【0065】
[変形例]
第1実施形態において、設定処理では、エンベロープ入力画面の横軸の周波数レンジ内についてのみ、入力されたエンベロープ波形のレベルを基に楽音を構成する周波数スペクトル成分のレベルを設定することとしたが、この周波数レンジを越える範囲については、横軸の右端の周波数、即ち周波数レンジ内で最大の周波数に対応するエンベロープ波形のレベルと同一のレベルを設定することもできる。
【0066】
この場合、高次の倍音について、ユーザの目的に合わせた周波数スペクトル成分の各レベルを設定することができる。
以上、本発明の第1実施形態に係るスペクトル設定装置1について説明した。
次に、本発明の第2実施形態に係るスペクトル設定装置1について説明する。
【0067】
[第2実施形態]
第1実施形態では、設定処理のステップS23において、周波数fに対応するエンベロープ波形のレベルを読み出し、ステップS24において、周波数fのスペクトル成分であるn次の倍音のレベルHLnを、この読み出したエンベロープ波形のレベルに変更することとした。
即ち、第1実施形態では、スペクトル入力画面の横軸の周波数レンジ内に含まれる全ての倍音のレベルを、対応するエンベロープ波形のレベルに設定することとした。
【0068】
これに対し、第2実施形態では、第1実施形態と同様の構成の下、ステップS24の処理を変更し、レベルが「0」でない倍音、つまり楽音の構成要素として存在する倍音のレベルに対してのみ、その倍音の周波数fに対応するエンベロープ波形のレベルに基づく変更を行う。
【0069】
図9は、スペクトルレベルの設定状態を示す模式図である。
また、図10は、エンベロープ波形データから読み出された周波数fに対応して設定した各周波数スペクトル成分のレベルを示す図である。なお、図10においては、第1実施形態における図5で設定されたエンベロープ波形に基づいて周波数スペクトル成分のレベルを設定した場合を示している。
【0070】
図9に示すように、基音(1次の倍音)及び3次の倍音のみ存在し、2次の倍音が存在していない場合、基音及び3次の倍音については、エンベロープ波形のレベルに対応するレベルに設定される一方、2次の倍音には設定されない(レベルが「0」のままである)。
【0071】
このような処理とすることにより、第2実施形態のスペクトル設定装置1では、予めス周波数ペクトル成分として存在する倍音についてのみ、そのレベルをエンベロープ入力画面によって入力されたエンベロープ波形のレベルに基づいて設定することができる。
【0072】
[変形例]
第1実施形態及び第2実施形態において、エンベロープ波形の各レベルを取得して、そのレベルをそのまま、対応する周波数スペクトル成分のレベルとするものとした。
これに対し、エンベロープ波形のレベルを、周波数スペクトル成分のレベルに対するゲインとし、このゲインを対応する周波数スペクトル成分レベルに乗算することにより、周波数スペクトル成分の新たなレベルとすることもできる。
この場合、既に設定されているスペクトルレベルに対する強弱を表すエンベロープレベルを設定して、楽音の周波数スペクトル成分のレベルを設定することが可能となる。
【0073】
上述の実施形態では、記憶媒体としてリムーバブルメディア31を用いているがこれに限定されない。例えば、ネットワーク上の他の装置(サーバ等)内の記憶部(ハードディスク等)でも良い。
【0074】
また、上述の実施形態では、スペクトル設定装置1として、情報処理機能を有する電子機器一般を採用することができる。具体的には、例えば、スペクトル設定装置1は、ノート型のパーソナルコンピュータ、デスクトップ型のパーソナルコンピュータ、携帯情報端末、携帯電話機、ポータブルゲーム機等によって実現することができる。
【0075】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
また、スペクトル設定装置1の各機能は、ハードウェア単体で構成しても良いし、ソフトウェア単体で構成しても良いし、それらの組み合わせで構成しても良い。
【0076】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであっても良い。
【0077】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図1のリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図1のROM12や、図1の記憶部18に含まれるハードディスク等で構成される。
【0078】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0079】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0080】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画手段と、
前記エンベロープ描画手段より描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得手段と、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得手段で取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更手段と、
を備えたスペクトル設定装置。
[付記2]
前記エンベロープレベル取得手段は、前記表示画面の周波数軸レンジ外における前記エンベロープレベルを、前記周波数軸レンジ内において前記エンベロープレベルが設定された最大の周波数に対応する前記エンベロープレベルと同一の値に設定する付記1に記載のスペクトル設定装置。
[付記3]
前記レベル変更手段は、前記楽音の周波数スペクトル内において存在する倍音のみのレベルを、当該倍音の周波数に対応する前記エンベロープレベルに基づいて変更する付記1に記載のスペクトル設定装置。
[付記4]
前記レベル変更手段は、前記該当する基音あるいは倍音のレベルを、当該基音あるいは倍音の周波数に対応するエンベロープレベルに基づいて変更する付記1から3のいずれか1項に記載のスペクトル設定装置。
[付記5]
前記レベル変更手段は、前記該当する基音あるいは倍音のレベルに対して、前記周波数に対応するエンベロープレベルをゲインとして演算し、その演算結果を前記該当する基音あるいは倍音のレベルとする付記1から3のいずれか1項に記載のスペクトル設定装置。
[付記6]
コンピュータに、
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画機能と、
前記エンベロープ描画機能によって描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得機能と、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得機能によって取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更機能と、
を実現させるプログラム。
[付記7]
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画ステップと、
前記エンベロープ描画ステップにおいて描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得ステップと、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得ステップにおいて取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更ステップと、
を含むスペクトル設定方法。
【符号の説明】
【0081】
1・・・スペクトル設定装置、11・・・CPU、12・・・ROM、13・・・RAM、14・・・バス、15・・・入出力インターフェース、16・・・入力部、17・・・出力部、18・・・記憶部、19・・・MIDIインターフェース部、20・・・ドライブ、31・・・リムーバブルメディア、41・・・音源

【特許請求の範囲】
【請求項1】
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画手段と、
前記エンベロープ描画手段より描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得手段と、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得手段で取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更手段と、
を備えたスペクトル設定装置。
【請求項2】
前記エンベロープレベル取得手段は、前記表示画面の周波数軸レンジ外における前記エンベロープレベルを、前記周波数軸レンジ内において前記エンベロープレベルが設定された最大の周波数に対応する前記エンベロープレベルと同一の値に設定する請求項1に記載のスペクトル設定装置。
【請求項3】
前記レベル変更手段は、前記楽音の周波数スペクトル内において存在する倍音のみのレベルを、当該倍音の周波数に対応する前記エンベロープレベルに基づいて変更する請求項1に記載のスペクトル設定装置。
【請求項4】
前記レベル変更手段は、前記該当する基音あるいは倍音のレベルを、当該基音あるいは倍音の周波数に対応するエンベロープレベルに基づいて変更する請求項1から3のいずれか1項に記載のスペクトル設定装置。
【請求項5】
前記レベル変更手段は、前記該当する基音あるいは倍音のレベルに対して、前記周波数に対応するエンベロープレベルをゲインとして演算し、その演算結果を前記該当する基音あるいは倍音のレベルとする請求項1から3のいずれか1項に記載のスペクトル設定装置。
【請求項6】
コンピュータに、
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画機能と、
前記エンベロープ描画機能によって描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得機能と、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得機能によって取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更機能と、
を実現させるプログラム。
【請求項7】
横軸を周波数、縦軸をレベルとする表示画面上に、エンベロープ波形を描画するエンベロープ描画ステップと、
前記エンベロープ描画ステップにおいて描画されたエンベロープ波形の各レベルを、対応する周波数と共に取得するエンベロープレベル取得ステップと、
発音すべき楽音の周波数スペクトルを構成する基音及び倍音のうち、その周波数が前記エンベロープ取得ステップにおいて取得された各エンベロープレベルに対応する周波数に該当する基音あるいは倍音が存在する場合は、前記周波数に対応するエンベロープレベルに基づいて、前記該当する基音あるいは倍音のレベルを変更するレベル変更ステップと、
を含むスペクトル設定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate