以下に、本発明の一実施形態である音響信号処理装置について、添付図面を参照して、説明する。音響信号処理装置は、複数のパラメータにより構成されるパラメータセットを用いて音響信号に関する信号処理を行う装置である。
《音響信号処理装置の全体構成》
図1は、本発明を適用した音響信号処理装置の全体構成を説明するブロック図である。音響信号処理装置は、CPU(Central Processing Unit、中央処理装置)1、フラッシュメモリ2、RAM(Random Access Memory、ランダムアクセスメモリ)3、波形入出力インターフェース(波形I/O)4、音響信号処理部5、操作子6、表示器7、座標指定操作子8、コンピュータインターフェース(PC I/O)9、MIDI I/O10、その他I/O11を含み、各構成要素が及びバスライン12を介して接続される。
CPU1は、フラッシュメモリ2又はRAM3に記憶された制御プログラムを実行して、音響信号処理装置の全体動作を制御する。フラッシュメモリ2は、CPU1が実行する各種のプログラムや各種のデータなどを格納した不揮発性メモリである。RAM3は、CPU1が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。また、フラッシュメモリ2又はRAM3には、後述する「パラメータセット指定用テーブル」を複数記憶した記憶部、後述する「プリセット」を複数記憶したライブラリ領域、及び、音響信号処理部5における信号処理に用いる複数のパラメータの値を記憶するカレント領域が設けられている。
音響信号処理装置の操作パネルには、複数の操作子6や表示器7を含むユーザインターフェースが設けられている。操作子6には、音響信号処理装置の動作を制御するためにユーザが用いる各種操作子が含まれる。表示器7には、CPU1からバス12を介して与えられた表示制御信号に基づく各種情報が表示される。ユーザは、表示器7の画面上に表示された画像及び操作子6を用いて、各種指示を入力できる。
座標指定操作子8は、「パラメータセット指定用テーブル」における2次元又は3次元空間内の1つの座標を指定するためにユーザが用いる操作子である。座標指定操作子8は、2次元又は3次元空間内の1つの座標を入力できるものであれば、どのような構成であってもよく、例えば、2次元平面におけるX軸及びY軸の座標位置を指定するための2次元インターフェース(タブレット等)など、専用の多軸入力デバイスで構成できる。また、座標指定専用の操作子に限らず、操作子6や表示器7を座標指定操作子8として利用することもできる。
波形I/O4は、アナログ音響信号をデジタル波形に変換して音響信号処理部5に入力すること(図において下向き矢印で示す)、デジタル波形をアナログ音響信号に変換して外部へ出力すること力(図において上向き矢印で示す)、及び、外部機器との間でデジタル波形の入出力(図において双方向矢印で示す)を行うことが可能なオーディオインターフェースである。
音響信号処理部5は、1つのDSP(Digital Signal Processor)又はバスで相互接続された複数のDSPからなる専用のハードウェア装置で構成され、カレント領域(フラッシュメモリ2)に記憶された複数のパラメータの値に基づいて、音響信号に対する信号処理を実行する。音響信号処理部5が実行する信号処理の内容は、例えば、楽音信号を生成する音源(楽音信号生成装置)、音響信号に対するエフェクト処理やミキシング処理等を行う信号処理プロセッサ、或いは音源と信号処理プロッサの混成など、音響信号処理装置の機種に応じたものである。音響信号処理部5は、波形I/O4に接続されており、波形I/O4を介して外部から供給された音響信号に対して信号処理を施したり、音響信号処理部5で処理した音響信号を波形I/O4を介して外部へ出力したりする。なお、音響信号処理部5は、専用のハードウェア装置(DSP)による構成に限らず、CPU1がソフトウェアプログラムを実行することにより、音響信号処理部5の動作と同じ処理を実現する構成であってもよい。
また、音響信号処理装置は、PC I/O9を介して汎用パーソナルコンピュータ(PC)に接続できる。PC I/O9は、例えばUSB(Universal Serial Bus)端子等の汎用コンピュータインターフェースである。MIDI I/O10はMIDI規格に準拠するデータを通信するインターフェースである。音響信号処理装置は、MIDI I/O10を介してMIDI機器に接続できる。また、音響信号処理装置には、その他のI/O11が具備されうる。
《パラメータセット指定用テーブル》
「パラメータセット指定用テーブル」は、2次元平面又は3次元空間における複数の座標のそれぞれに対応して、1つずつパラメータセットを配置(記憶)したものである。パラメータセットは、音響信号処理部5において信号処理に用いる複数のパラメータからなる。図2(a)は2次元平面により構成されるパラメータセット指定用テーブルを説明する概念図である。2次元テーブルは、X座標軸及びY座標軸の2次元座標平面の各座標(X、Y)に、パラメータセットを配置してなる。図2(b)は3次元空間により構成されるパラメータセット指定用テーブルを説明する概念図である。3次元テーブルは、X座標軸、Y座標軸及びZ座標軸の3次元座標空間の各座標(X、Y、Z)に1つずつパラメータセットを配置してなる。本実施例では、パラメータセット指定用テーブルの1例として、パラメータセット指定用テーブルが2次元平面で構成される例を説明する。
ユーザは座標指定操作子8を用いてパラメータセット指定用テーブルの1つの座標を指定できる。CPU1は、ユーザによる座標指定に応じて、パラメータセット指定用テーブルを参照して、該指定した座標に対応する1つのパラメータセットを特定し、該特定された1つのパラメータセットを構成する各パラメータの値を、音響信号処理部5において信号処理に用いる複数のパラメータの値として設定する。この動作の詳細は後述する。
ユーザにより指定された座標に直接対応するパラメータセットがテーブルに記憶されていない場合は、パラメータセットとして出力すべき各パラメータの値を補間によって求めることができる。図3において、2次元空間に配置されたパラメータ値の補間の一具体例として、オン又はオフの2値を設定可能なオンオフパラメータを示す。横軸の「位置A」及び縦軸の「0」の交点座標(A、0)にオンオフパラメータの値「オフ」が配置され、横軸の「位置B」及び縦軸の「1」の交点座標(B、1)にオンオフパラメータの値「オン」が配置される。この場合、横軸の「位置A」から「位置B」の中間点を境とし、「位置A」から中間点までの範囲ではパラメータの値をオフとし、中間点から「位置B」までの範囲ではパラメータの値をオンとするようパラメータ値の補間することになる。
《ライブラリ領域》
図4(a)はフラッシュメモリ2に設けられたライブラリ領域20を説明する図である。ライブラリ領域20は、複数(Np個)のプリセット21(図において「プリセット1」、「プリセット2」、「プリセット3」・・・「プリセットNp」)を記憶する領域である。ライブラリ領域20には、予め複数のプリセット21が用意されている。また、ユーザは、プリセット21の内容を任意に編集(Pセット22の各設定値の変更等)し、当該編集した結果を新たなプリセット21としてライブラリ領域20に保存できる。
《パラメータセット》
1つのプリセット21は、複数のパラメータからなるパラメータセット(Pセット)22、特定パラメータ23、及び、プリセット名データ24により構成される。プリセット21として記憶されたパラメータセット(Pセット)22は、音響信号処理部5において信号処理に用いる複数のパラメータのうち、特定パラメータ23を除く全てのパラメータについて、所定の信号処理結果を得るために有用性の高い設定値の組み合わせを、予め1組にまとめたものである。プリセット名データ24は、対応するプリセット21を特定するプリセット名を示すデータである。
《特定パラメータ》
特定パラメータ23は、プリセット21として記憶された複数のパラメータの一部である。モーフィングするのが難しい、又は、モーフィングに向かない種類のパラメータが特定パラメータ23として設定される。パラメータセットを構成する複数のパラメータの値を変更する作業を比較的簡易に行うための有効な手法として「モーフィング」と呼ばれる手法があることは、既に述べた。プリセット21として記憶された複数のパラメータの中には、モーフィングするのが難しい、又は、モーフィングに向かない種類のパラメータが含まれる。そこで、かかるモーフィングするのが難しい、又は、モーフィングに向かない種類のパラメータを特定パラメータ23とし、それ以外のパラメータ(Pセット22)とは区別する。
すなわち、前述したパラメータセット指定用テーブルの各座標に配置されるパラメータセットとは、(1)1つのプリセット21を構成する全てのパラメータ、又は、(2)1つのプリセット21を構成する全てのパラメータのうち、特定パラメータ23を除く複数のパラメータ(モーフィングに係る一部のパラメータ)のいずれかである。本実施例のように、プリセット21に「特定パラメータ23」を含む場合には、1つのプリセット21を構成する全パラメータのうち特定パラメータ23を除く複数のパラメータ(Pセット22)が、パラメータセット指定用テーブルの各座標に配置される。
《プリセットの具体例》
プリセット21として記憶されるパラメータセット22及び特定パラメータ23の内容は、音響信号処理装置の機種、及び、その装置の音響信号処理部5に実装された機能に応じて様々である。音響信号処理装置の機種等に応じたプリセット21の具体例を幾つか挙げる。
音響信号処理部5がアナログモデリング音源として機能する場合、楽音信号の生成に用いる複数のボイスパラメータについて、生成される楽音信号の音色に応じた複数のプリセット21が用意される(例えば、「http://www2.yamaha.co.jp/manual/pdf/emi/japan/synth/AN1XJ1.PDF」/2009年11月16日検索/製品名「AN1x」取り扱い説明書46ページに掲載された「ノブパラメータリスト」を参照)。アナログモデリング音源の場合、特定パラメータ23は、例えば、各種変調のオンオフを行うパラメータや、VCOの波形形状を選択するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集したプリセット21をライブラリ領域(ボイスメモリ)に保存できる。(同「AN1x」取り扱い説明書85ページを参照)。
音響信号処理部5がFM音源(Frequency Modulation(周波数変調)音源)として機能する場合、楽音信号の生成に用いる複数のボイスパラメータについて、生成される楽音信号の音色に応じた複数のプリセット21が用意される(例えば、「http://www2.yamaha.co.jp/manual/pdf/emi/japan/xg/DXSimulatorJ.pdf」/2009年11月16日検索/製品名「DX Simulator」取り扱い説明書17ページに掲載された「エディットリスト」を参照)。FM音源の場合、特定パラメータ23は、例えば、アルゴリズムを指定するパラメータや、各オペレータ(FM合成器)の波形を選択するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集したプリセット21をライブラリ領域(ボイスメモリ)に保存できる(同取り扱い説明書8〜11ページを参照)。
音響信号処理部5がミキシング処理を行う信号処理プロセッサとして機能する場合(音響信号処理装置がオーディオミキサの場合)には、例えば、チャンネルライブラリに保存される1チャンネル分のパラメータ群について、複数のプリセット21が用意される(例えば、「http://www2.yamaha.co.jp/manual/pdf/pa/japan/mixers/DM2000J.pdf」/2009年11月16日検索/製品名「DM2000」取り扱い説明書140ページ参照)。この場合、特定パラメータ23は、例えば、オーディオ信号のルーティング(例えば入力chから出力系統へのルーティング)を設定するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集したプリセット21をチャンネルライブラリに保存できる。
また、音響信号処理部5がミキシング処理を行う信号処理プロセッサとして機能する場合には、例えば、コンプレッサーライブラリに保存されるコンプレッサを制御するためのパラメータ群について、コンプレッサタイプに応じた複数のプリセット21が用意される(同取り扱い説明書150ページ参照)。この場合、特定パラメータ23は、例えば、コンプレッサタイプを指定するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集結したプリセット21をコンプレッサーライブラリに保存できる。
また、音響信号処理部5がミキシング処理を行う信号処理プロセッサとして機能する場合には、例えば、シーンメモリに保存される1シーン分のパラメータ群について、複数のプリセット21が用意される(同取り扱い説明書157〜163ページ参照)。この場合、特定パラメータ23は、例えば、入力パッチ及び出力パッチの結線を設定するパラメータや、各バスのFIX/VARI及びペア情報を設定するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集したプリセット21をシーンメモリに保存できる。
また、音響信号処理部5がエフェクト処理を行う信号処理プロセッサとして機能する場合(音響信号処理装置がエフェクタの場合)、エフェクト処理に用いるパラメータ群について、エフェクトタイプに応じた複数のプリセット21が用意される(「http://www2.yamaha.co.jp/manual/pdf/pa/japan/signal/spx2000j.pdf」/2009年11月16日検索/製品名「SPX2000」取り扱い説明書25〜87ページ参照)。この場合、特定パラメータ23は、例えば、エフェクトタイプを指定するパラメータなどである。ユーザは、プリセット21の内容を任意に編集し、編集したプリセット21をエフェクトメモリに保存できる(同取り扱い説明書13〜16ページを参照)。
《カレント領域》
図4(b)はフラッシュメモリ2に設けられたカレント領域25を説明する図である。カレント領域25は、音響信号処理部5の信号処理に使用する全てのパラメータの値、すなわち、Pセット22及び特定パラメータ23の値、並びに、その他データ26を記憶する。ユーザは、ライブラリ領域20に記憶された複数のプリセット21のうち任意の1つを選択し、選択したプリセット21の内容(Pセット22及び特定パラメータ23の各設定値)をライブラリ領域20からカレント領域25に読み出すことができる。また、ユーザは、カレント領域25に格納されたPセット22等の各値を変更すること(すなわち、カレント領域25に読み出したプリセット21の内容を編集すること)ができる。カレント領域25において変更されたPセット22及び特定パラメータ23の各値は、新たなプリセットとしてライブラリ領域20に保存される。
カレント領域25にプリセット21を読み出す操作(信号処理に使用するプリセット21を選択する操作)や、カレント領域25に格納されたPセット22等の各設定値を変更するパラメータセットの各値を変更する操作は、前述したパラメータセット指定用テーブルと座標指定操作子8を用いて行うことができる。パラメータセット指定用テーブルは、以下に述べるパラメータセット指定用テーブル作成処理により、自己組織化写像を用いて作成される。
《パラメータセット指定用テーブルの作成》
図5は、パラメータセット指定用テーブルの作成するためにCPU1が実行する処理の手順を説明するフローチャートである。ユーザは、操作子6及び表示器7を用いてパラメータセット指定用テーブルの作成指示を入力できる。テーブル作成指示に応じて、CPU1は図5の処理を起動する。
《テーブル作成ダイアログ画面》
ステップS1において、CPU1は、テーブル作成処理に用いる「源パラメータセット」となるプリセット21の選択と、選択されたプリセット21の処理順の指定をユーザから受け付ける。図6は、前記ステップS1におけるプリセット21の選択と、選択されたプリセット21の処理順の指定を、ユーザが行うためのテーブル作成ダイアログ画面の一例である。CPU1は、ステップS1において、テーブル作成ダイアログ画面を表示器7に表示する。ユーザは、テーブル作成ダイアログ画面を構成するボタン画像等を用いて、プリセット選択等の指示を入力できる。
《プリセットの選択》
図6において、選択候補リスト30は、テーブル作成処理に用いる「源パラメータセット」となるプリセット21の名前を、選択候補としてリスト表示する。選択候補リスト30にリスト表示される名前はプリセット21のプリセット名データ24に基づくものである。ユーザは、カーソル等の指定手段を用いて選択候補リスト30中の任意のプリセット21を選択した状態でAddボタン画像32を押すことで、そのプリセット21を処理対象リスト33に加えることができる。プリセット21を処理対象リスト33に加えられたプリセット21が、後述するテーブル作成処理に用いる「源パラメータセット」となる。また、ユーザは、カーソル等の指定手段を用いて処理対象リスト33に表示された任意のプリセット21を選択した状態でRemボタン画像34を押すことで、そのプリセット21を処理対象リスト33から削除できる。
特定パラメータ指定部31は、ユーザに特定パラメータ23の値を入力させる入力ボックスである。ユーザは、特定パラメータ指定部31において、所定の特定パラメータ23の値を指定できる。特定パラメータ指定部31に特定パラメータ23の値が入力されている場合、選択候補リスト30には、ライブラリ領域20に記憶された全てのプリセット21のうち、その特定パラメータ23の値を含むプリセット21のみが表示される。これにより、テーブル作成に用いる源パラメータセットの選択候補を、当該特定パラメータ23の値を含むプリセット21のみに絞り込むことができる。
特定パラメータ指定部31において値を指定する特定パラメータ23の種類や数は、音響信号処理装置の種類等に応じて予め決まっている。図6の例では、音響信号処理装置がFM音源を登載したシンセシサイザーである場合を想定した画面が描かれており、特定パラメータ指定部31の対象となる特定パラメータ23として、「FMアルゴリズム」を設定するパラメータが示されている。そして、特定パラメータ指定部31には、その特定パラメータ23(FMアルゴリズム)の値として数値「14」が入力された状態が示されている。この場合は、選択候補リスト30には、ライブラリ領域20に記憶された全てのプリセット21のうち、値が「14」の特定パラメータ23(FMアルゴリズム)を含むプリセット21のみが表示される。
図7(a)は、特定パラメータ指定部31において特定パラメータ23(FMアルゴリズム)の値を指定しない場合の表示例を示す。このように特定パラメータ23の値が指定されない場合、選択候補リスト30には、ライブラリ領域20に記憶された全てのプリセット21が、選択候補として表示される。
また、図7(b)は、音響信号処理装置がエフェクタである場合を想定した特定パラメータ指定部31の表示例であって、特定パラメータ23として、「EFTタイプ」と「DISTタイプ」の2つのパラメータが示されている。「EFTタイプ」はエフェクトタイプを設定するパラメータであって、図7(b)では、その値として「DIST→Franger」が設定されている。「DISTタイプ」は、前記設定されたエフェクトタイプ「DIST→Franger」におけるディストーションタイプを設定するパラメータであって、図7(b)では、その値として「OVERDRIVE」が設定されている。この場合、選択候補リスト30には、ライブラリ領域20に記憶された全てのプリセット21のうち、特定パラメータ23の1つである「EFTタイプ」の値として「DIST→Franger」を持ち、且つ、特定パラメータ23の1つである「DISTタイプ」の値として「OVERDRIVE」を持つプリセット21のみが表示される。
《処理対象リスト》
処理対象リスト33には、選択候補リスト30においてユーザにより選択された全てのプリセット21の名前がリスト表示される。処理対象リスト33にリスト表示された全てのプリセット21が、テーブル作成処理に用いる「源パラメータセット」である。源パラメータセットは、テーブル作成処理に用いるパラメータセットであって、ライブラリ領域21にプリセット21として記憶されたPセット22(つまり、音響信号処理に用いる複数のパラメータのうち特定パラメータ23を除く全てのパラメータの値)である。
特定パラメータ指定部31において特定パラメータ23の値が指定されている場合には、選択候補リスト30に表示された選択候補が、当該特定パラメータ23の値を含むプリセット21のみに絞り込まれているので、処理対象リスト33にリストアップされる全てのプリセット21は、同じ値の特定パラメータ23を持つものとなる。従って、特定パラメータ23の値が指定された場合、テーブル作成処理に用いる全ての源パラメータセットは、音響信号処理において同じ値の特定パラメータ23と共に使用されるパラメータセットとなる。
《処理順の指定》
処理対象リスト33におけるプリセット21の表示順は、後述するテーブル作成処理における「源パラメータセット」の処理順に対応する。ユーザは、カーソル等の指定手段を用いて処理対象リスト33中のプリセット21の1つを選択した状態で、UPボタン画像35又はDOWNボタン画像36を押すことにより、そのパプリセット21の表示位置をリストの上側又は下側に1つずつ移動させることができる。ユーザは、処理対象リスト33におけるプリセット21の表示順を入れ替えることで、テーブル作成処理における源パラメータセットの処理順を任意に設定できる。
ユーザは、実行ボタン画像(Execute)37を押すことで、当該テーブル作成画面で設定した内容に従うテーブル作成処理の実行を指示できる。また、ユーザは、終了ボタン画像(QUIT)38を押すことで、当該テーブル作成画面を閉じて、テーブル作成処理に関する設定を終了させることができる。
《テーブル作成処理:自己組織化写像》
ユーザにより実行ボタン画像37が操作されたとき、CPU1は、ステップS2〜S11の処理を実行する。本発明は、「自己組織化写像」という手法を用いてテーブル作成を行うことに主要な特徴がある。自己組織化写像を用いたテーブル作成処理の概要は、入力ベクトル(源パラメータセット)に基づいて、「“BMU”(Best Maching Unitの略)の検出」(ステップS5)と、「検出した“BMU”近傍の所定範囲内にある各座標のパラメータセットの補正」(ステップS6)を、或る決められた処理繰り返し回数λだけ行うことにある。
《ランダマイズ》
まずステップS2において、CPU1は、初期テーブル作成用データに基づいて、X軸及びY軸からなる2次元平面の各座標(X、Y)にランダムパラメータセットを配置した初期テーブルを作成し、且つ、作成した初期テーブルの画像を表示器7に表示する。初期テーブル作成用データは、フラッシュメモリ2又はRAM3に記憶されたものである。
図8は、ステップS2において初期テーブルとして作成される2次元平面テーブルを示す。テーブルは、X軸が1、2、3・・・Nxの(Nx)個の点からなり、Y軸が1、2、3・・・Nyの(Ny)個の点からなる。2次元平面テーブルの各座標(1、1)〜(Nx、Ny)には、重みベクトルとして、複数のパラメータからなるパラメータセットが配置される。ステップS2で作成される初期テーブルにおいては、各座標(1、1)〜(Nx、Ny)に対して、複数のランダム値からなるランダムパラメータセットが配置される。ランダムパラメータセットは、複数のランダム値からなるパラメータセットである。すなわち、ステップS2により、写像先となるテーブルの各座標のパラメータセットがランダマイズされる。なお、1つのランダムパラメータセットを構成するランダム値(パラメータ)の数は、源パラメータセットを構成するパラメータの数と同数であり、ランダムパラメータセットを構成する各ランダム値はそれぞれ源パラメータセットを構成する各パラメータの値に対応付けられる。
《源パラメータセットを用意する》
CPU1は、ステップS3において処理回数カウント値tに0をセットする。処理回数カウント値tは、ステップS4〜S11の処理を繰り返した回数(現在値)をカウントする変数である。
ステップS4において、CPU1は、処理対象リスト33における表示順の1番目にあるプリセット21として記憶されたPセット22をライブラリ領域20から読み出して、読み出したPセット22(音響信号処理に用いる複数のパラメータのうち特定パラメータ23を除く全てのパラメータの値)を、前記ステップS2で作成した初期テーブルに対する入力ベクトルとして設定する。これにより、1つ目の源パラメータセットが用意される。
《BMUを検索する》
ステップS5において、CPU1は、現在処理対象に設定されている1つの源パラメータセット(前記ステップS4で用意された1つの源パラメータセット)と、前記ステップS2で用意したテーブル内の各座標に配置されたランダムパラメータセットの距離を計算し、各座標のうちで最も距離が小さいランダムパラメータセットの座標(BMU)を検出する。
ここで、源パラメータセット及び各ランダムパラメータセットは、それぞれ、複数のパラメータの値を成分とする多次元ベクトルとして扱うことができる。したがって、ベクトルとして表現された源パラメータセットと各座標に配置されたパラメータセットの距離(例えばユークリッド距離)を用いて、源パラメータセットと各座標のパラメータセットの一致値を表すことができる。一致値は、2つのパラメータセットの成分がどれだけ似た特徴を持っているかを表す、つまり、2つのパラメータセットの類似度を表すものである。
従って、源パラメータセットと、各座標に配置されたランダムパラメータセットの距離(すなわち源パラメータセットと各座標のパラメータセットの一致値)を計算することで、写像先となるテーブル(ステップS2で作成した初期テーブル)の各座標の中から、源パラメータセットと最も距離が近いランダムパラメータセットが配置された1つの座標を検出することができる。この「最も距離が近い」座標とは、源パラメータセットの値に最も類似した値を持つパラメータセットが配置された座標である。この源パラメータセットの値に最も類似した値を持つパラメータセット(最も良く一致するパラメータセット)が“BMU”(Best Maching Unitの略)である。各パラメータ毎に値の変化範囲が異なるのであれば、パラメータセット間の距離を演算する前に、全てのパラメータが均一の変化範囲となるように、正規化(正規化係数の乗算、リニアtoログ変換)を行ってから、該距離を算出するとよい。ログスケールを用いるのは、最終的に音を聴くのは人間であるので、人間の感覚に合致させるためである。例えば、周波数や音量レベルは、リニアスケールではなく、ログスケールで扱う必要がある。さらに、変化範囲が同じであっても、各パラメータ毎に、音響信号処理後の音に与える影響の度合いが異なるのであれば、正規化後の各パラメータに、その度合いに応じた重み付け(重み付け係数の乗算)を行ってから、該距離を算出するとよい。音への影響度が大きいパラメータがあれば、そのパラメータの重み付けを重くし(大きい重み付け係数を乗算する)、影響の小さいパラメータは、重み付けを軽くする。
《BMU近傍座標のパラメータセットを補正する》
ステップS6において、CPU1は、前記ステップS5で検出したBMUの近傍の所定範囲内にある全ての座標に配置されたパラメータセットを、それぞれ、現在処理対象に設定されている源パラメータセットに近づくよう補正する。パラメータセットを源パラメータセットに近づくよう補正することとは、補正対象となる座標に配置されたパラメータセットを構成する各パラメータの値を、源パラメータセットを構成する各パラメータの値に近づけるように変更すること、つまり、当該パラメータセットと源パラメータセットの距離(類似度)を近づけることである。
補正を行う範囲は、BMUを中心とする半径rの範囲である。前記ステップS5によりBMUの座標が検出されているので、CPU1は、BMU中心とする半径rの範囲にある全ての座標を特定できる。半径rは、今回作成するテーブルに配置すべき源パラメータセット(処理対象リスト33にリストアップされた全プリセット)が、そのテーブル空間内に配置できるよう適宜設定されるもので、配置すべき源パラメータセット数や、それら源パラメータセット間の距離等の条件に基づいて増減してよい。例えば、源パラメータセット数が多ければ半径rを小さく設定したり、或いは、源パラメータセット間の相互の距離が近い場合には半径rを大きく設定したりするとよい。
前記ステップS6における補正処理は、例えば、下記式(1)により1つの座標毎に行うことができる。
Wv(t+1)=Wv(t)+r(t)*α(t)*{D(t)−Wv(t)}・・・式(1)
式(1)において、変数tは処理回数カウント値、変数Wvは補正対象の座標に配置されたパラメータセットの値、変数Dは源パラメータセット、変数rはBMU座標からの半径、そして、変数αは学習係数である。なお、「*」は乗算記号である。式(1)の各変数のうち、WvとDはベクトル(複数のパラメータからなる多次元的な値)である。式(1)により、補正対象の座標に配置されたパラメータセットの現在値Wv(t)を、源パラメータセットに近づくよう補正したパラメータセットWv(t+1)に変更することができる。具体的には、1回目の処理では、半径rの範囲内の各座標のランダムパラメータセットの各ランダム値が、源パラメータセットの各パラメータの値に近づくよう変更され、2回目以降の補正処理では、半径rの範囲内の各座標に配置されたパラメータセットの現在値が、源パラメータセットの各パラメータの値に近づくよう変更される。なお、BMUの近傍の所定範囲(半径rの範囲)外にある各座標のパラメータセットは変更しない。
ステップS7において、CPU1は、処理対象リスト33における表示順に従って次の処理対象となる源パラメータセットを用意する処理を行う。処理対象リスト33にリストアップされた源パラメータセットプリセットの中に未処理の源パラメータセット(次の処理対象となる源パラメータセット)が有る場合(ステップS8のYES)、当該用意した次の処理対象となる源パラメータセットに関して、BMU検出(ステップS5)と、ステップS6のBMU座標近傍の各座標に配置されたパラメータセットの補正(ステップS6)を行う。ステップS5〜S8のループにより、CPU1は、処理対象リスト33にリストアップされた全ての源パラメータセットに関して、1つずつ順番にBMU検出(ステップS5)を行い、検出されたBMU座標近傍の各座標に配置されたパラメータセットの補正(ステップS6)を行うことができる。
処理対象リスト33にリストアップされた全ての源パラメータセットに関して、上記ステップS5及びS6による自己組織化写像の処理を終えた後(ステップS8のNO)、ステップS9において、CPU1は、表示器7に表示されたテーブル画像(前記ステップS2で表示された初期テーブル画像)を更新する。自己組織化写像の処理を行う毎に表示更新を行うことで、前記ステップS2で表示された初期テーブル(各座標にランダムパラメータセットを配置したテーブル)から、自己組織化写像によりテーブルが作成される様子を、ユーザにアニメーションとして見せることができる。なお、ステップS2及びS9による表示処理(テーブル作成の進行状況をアニメーションとして見せる処理)を行わない構成であってもよい。
《処理を所定回数繰り返す》
ステップS10において、CPU1は処理回数カウント値tを1つ進める。そして、処理回数tが所定の繰り返し回数λになるまで(ステップS11のYES)、ステップS4〜S10の処理を繰り返し実行する。ここで、源パラメータセットに関するステップS4〜S10の処理をλ回繰り返すにあたり、ステップS6の補正処理では、処理回数tを1回進める毎に、式(1)で用いる半径rを縮小し、且つ、学習係数αを小さくする。
このようにステップS5〜S10の処理を繰り返すことで、各源パラメータセットの近傍の所定範囲においては、BMU座標によりい近い座標ほど、その源パラメータセットに対してより類似度の高いパラメータセットが配置され、逆に、BMU座標に遠い座標に配置されたパラメータセットは、初期テーブルにおけるランダムパラメータ セットに近い状態(ランダム性の高い値)となる。
CPU1は、ステップS5〜S10の処理を所定のλ回繰り返した後(ステップS11のNO)、ステップS12において、各源パラメータセットに関する「最終座標」に配置されたパラメータセットの調整処理を行う。「最終座標」は、各源パラメータセットに関して、繰り返し回数最後の処理(λ回目の処理)で検出されたBMUの座標である。調整処理は、各源パラメータセットに関する最終座標に配置されたパラメータセットを構成する各パラメータの値が、それぞれ、当該源パラメータセットを構成する各パラメータの値と同じ値になるように調整する処理である。この処理により、最終座標には、当該源パラメータセットに対応するプリセット21として記憶されたPセット22(特定パラメータ23を除くパラメータセット)が配置される。なお、ステップS5のBMU検出処理において、繰り返し回数最後の処理(λ回目の処理)で1つのBMUが得られるように処理を構成してもよい。この場合、ステップS12の調整処理を不要である。
ステップS13において、CPU1は、今回の処理により作成したパラメータセット指定用テーブルをパラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)に保存し、且つ、そのパラメータセット指定用テーブルを、パラメータセット指定に利用するテーブルとして選択する。ステップS13でテーブルが選択されることで、今回の処理により作成したパラメータセット指定用テーブルの画像が表示器7に表示される。パラメータセット指定用テーブル記憶部に保存する1つのテーブルのデータは、図8に示すテーブルの各座標(1、1)〜(Nx、Ny)に対応付けられたパラメータセット(複数のパラメータの値)である。また、1つのテーブルのデータには、各BMUの最終座標を特定する情報を含む。
前記ステップS13において、CPU1は、特定パラメータ指定部31において特定パラメータ23の値が指定されている場合には、当該作成されたテーブルを、指定された特定パラメータ23の値に対応付けてパラメータセット指定用テーブル記憶部に保存する。このように、特定パラメータ23の値に対応付けてパラメータセット指定用テーブル記憶部に記憶しておくことで、後述するテーブル選択のときに、記憶部に記憶された全てのテーブルの中から、ユーザが指定した特定パラメータ23の値に対応するテーブル群を抽出できる。
《テーブル圧縮》
前記ステップS13において保存するパラメータセット指定用テーブルは、各座標に対応付けたパラメータセット(複数のパラメータの値)のデータであるから、データ量が大きくなってしまう。そこで、パラメータセット指定用テーブルを表すデータそのものを保存するのではなく、そのテーブルを再作成するために必要な情報を保存する(つまり保存するテーブルのデータを圧縮する)ようにしてもよい。テーブルを再作成するために必要な情報は、テーブル作成に使用した全ての源パラメータセット、初期テーブル作成用データ、所定の繰り返し回数λ、及び半径rである。データ圧縮によりパラメータセット指定用テーブル記憶部のメモリ容量を節約することができる。
図9(a),(b)は、図5のフローを参照して説明した自己組織化写像の繰り返し処理によりテーブルが作成される様子を説明する図である。(a)は源パラメータセットが1つの場合を示す。符号40は、各座標にはランダムパラメータセットが配置された初期テーブルの状態(図5のステップS2)である。図5のステップS4〜S6により、1つの源パラメータセットに対する1回目の処理が終った時点では、符号41で示す通り、当該源パラメータセットに関して1つのBMU(図9において黒点で示す)が検出され、検出されたBMUから半径rの範囲(第1の網掛けで示す範囲)の各座標に配置されたランダムパラメータセットは、当該源パラメータセットに近づくように補正される。
図9(a)の符号41〜45において、繰り返し処理に伴い補正処理される範囲(半径r)が収縮する様子が、網掛け表示の濃淡グラデーションによって表現 されている。2回目以降の繰り返し処理では、処理繰り返し回数が増える毎に、前回の補正処理よりも狭い範囲内にある各座標に対して補正処理が行われるので、BMUから距離が近い座標に配置されたパラメータセットほど、源パラメータセットに近づける補正を繰り返して受けることになる。このような補正処理の 繰り返しによって、BMUからの距離の近い座標(小さい半径の範囲内の座標)には、源パラメータセットとの類似度がより高いパラメータセットが集まる。網 掛け表示のグラデーションの濃さは、各座標に配置されたパラメータセットと源パラメータセットの類似度の高さに対応している。例えば符号45で示すテーブルにおけるBMU近傍所定範囲において、BMUからの距離が近いほど、源パラメータセットに似た特徴を持つ(類似度が高い)パラメータセットが配置され、同距離が遠くなるほど初期 テーブルの状態に近い(ランダム性の高い)パラメータセットが配置されることがわかる。
また、図9(b)は源パラメータセットが複数(5つ)の場合を示す。(b)において符号46は初期テーブルの状態である。図5のステップS4〜S6を5つの源パラメータセットに対して行うことで、1回目の処理が終った時点では、符号47で示す通り、複数の源パラメータセットのそれぞれに対応する5つのBMUが検出され、各BMUを中心とする半径rの範囲の各座標に配置されたパラメータセットが、それぞれ対応する源パラメータセットに近づくように補正される。
このような補正処理の繰り返しによって、複数の源パラメータセットのそれぞれに対応するBMUからの距離の近い座標(小さい半径rの範囲内の座標)には、その源パラメータセットとの類似度がより高いパラメータセットが配置される。自己組織化写像を用いたテーブル作成処理によれば、複数の源パラメータセットのそれぞれに対応する5つのBMUを検出し、各BMUの最終座標のパラメータセットを、それぞれ対応する源パラメータセットとなるよう調整するので、符号48に示すように、源パラメータセット数が複数であっても、各源パラメータセットを2次元テーブル内の何れかの座標(BMU)に対応付けて、テーブルを作成することができる。
なお、(b)の場合は、テーブル内に配置すべき源パラメータセットが5つあるので、半径rの大きさは、符号41で示す源パラメータセットが1つの場合に比べて、小さく設定される(符号47を参照)。(b)では、複数の源パラメータセットの相互の距離が比較的遠い(つまり、全ての源パラメータセットが類似しない)例を示したが、複数の源パラメータセットの相互の距離が比較的近い場合(つまり、全ての源パラメータセットが類似した特徴を持つ場合)には、源パラメータセットが1つの場合のように、半径rを大きめに設定してよい。
以上をまとめると、自己組織化写像を用いたテーブル作成処理により、各2次元平面の各座標に対して、複数のパラメータからなるパラメータセットを、源パラメータセットからの距離(類似度)に基づいて自動的に配置することができる。このようにして作成されたパラメータセット指定用テーブルによれば、2座標間の距離が、その2つの座標に配置されたパラメータセットの距離(類似度)に相当するものとなる。パラメータセット指定用テーブル上での座標間の移動量がパラメータセットを構成する複数のパラメータの値の変化量に対応するため、モーフィングに好適であり、また、ユーザにとってパラメータセットを制御し易い、パラメータセット指定用テーブルを作成することができる。すなわち、2次元平面上の座標位置と複数パラメータからなるパラメータセットを、ユーザにとって解り易い形で対応付けたパラメータセット指定用テーブルを作成することができる。
また、源パラメータセットは、音響信号処理に用いる複数のパラメータのうち特定パラメータ23を除く全てのパラメータからなるものであるから、作成されたテーブルの各座標に配置されたパラメータセットは、モーフィングするのが難しい、又は、モーフィングに向かない特定パラメータ23を含まないものとなる。且つ、特定パラメータ23の値が指定された場合、当該特定パラメータ23の値を含むプリセット21のみを源パラメータセットとして用いてテーブルを作成するので、当該指定された値の特定パラメータ23と共に使用されるパラメータセットのみを各座標に配置したパラメータセット指定用テーブルを作成することができる。
また、最終座標(源パラメータセット)からの距離が遠くなるに従って、パラメータセットのランダム性が増すので、変化幅が広く意外性に富むパラメータセット指定用テーブルを作成できる。従って、自己組織化写像を用いて作成されたパラメータセット指定用テーブルを使うことで、単純な補間により作成されたテーブルでは得られない特性のパラメータセットを得ることができる。
《テーブル選択》
ユーザは、図5のテーブル作成処理により作成された複数のパラメータセット指定用テーブルのうちの1つを選択して、該選択したテーブルを用いて音響信号処理に用いるパラメータセットを制御できる。
図10は、パラメータセット指定用テーブルを選択するためにCPU1が実行する処理の手順を説明するフローチャートである。ステップS14において、CPU1は、ユーザからのテーブル選択操作を受け付ける。ユーザは、テーブル選択操作を、図11に示すテーブル選択ダイアログ画面から入力できる。CPU1は、ユーザからテーブル選択画面を開く要求を受け付けたとき、表示器7にテーブル選択画面を表示する。
図11のテーブル選択画面において、テーブルリスト50は、パラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)に記憶された複数のパラメータセット指定用テーブルのうち選択候補となるテーブルの名前をリスト表示する。テーブルの名前は、例えば、テーブルの作成に源パラメータセットとして用いたプリセット21に基づくものにすると良い。源パラメータセットとして用いたプリセット21に基づく名前であれば、そのテーブルに配置されたパラメータセットの特徴をユーザが把握しやすいからである。
図11の例では、音響信号処理装置がFM音源を登載したシンセシサイザーである場合を想定し、テーブルリスト50には、FM音源の音色制御用パラメータセットを指定するテーブルが列挙される。テーブルリスト50には、テーブルの名前として、「E−Piano」、「Pad」等の音色名が表示されている。テーブルの名前末尾の数字は、そのテーブル作成に用いた源パラメータセット数と、同名音色の異なるテーブルを互いに区別するための番号である。例えば、「E−Piano7−1」は、「E−Piano」音色のパラメータセットを指定するテーブルであって、そのテーブルが7つの源パラメータセットからなり、「E−Piano」音色の1番(1つ目)であることを表す。
ユーザは、カーソル等の指定手段を用いてテーブルリスト50中の任意のテーブルを選択した状態でSelectボタン画像51を押すことで、そのテーブルを選択する指示を入力できる。この操作がテーブル選択操作である。また、ユーザは、Quitボタン画像52を押すことで、テーブル選択画面を閉じる指示を入力できる。Quitボタン画像52の操作に応じて、CPU1はテーブル選択画面を閉じて、テーブル選択処理を終了する。
特定パラメータ指定部53は、ユーザに特定パラメータの値を入力させる入力ボックスである。ユーザは、特定パラメータ指定部53において、所定の特定パラメータ23の値を指定できる。特定パラメータ指定部53に特定パラメータ23の値が入力されている場合、パラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)に記憶された複数のパラメータセット指定用テーブルのうち、該指定された特定パラメータ23の値に対応するテーブルのみが、テーブルリスト50にリストアップされる。特定パラメータ23の値に対応するテーブルとは、その値の特定パラメータ23と共に使用されるパラメータセットのみを各座標に配置したパラメータセット指定用テーブルである。これにより、選択候補となるテーブルを、当該特定パラメータ23の値に対応するテーブルのみに絞り込むことができる。なお、特定パラメータ指定部53において値を指定する特定パラメータ23の種類や数が、音響信号処理装置の種類等に応じて予め決まっている点は、図6のテーブル作成ダイアログ画面における特定パラメータ指定部31と同様である。
図11の例では、特定パラメータ指定部53には、対象となる特定パラメータ23として、「FMアルゴリズム」を設定するパラメータが示されており、FMアルゴリズムの値として数値「14」が入力されている。よって、テーブルリスト50には、パラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)に記憶された複数のパラメータセット指定用テーブルのうち、FMアルゴリズムの値「14」という特定パラメータ23の値に対応付けられたパラメータセット指定用テーブルのみがリストアップされることになる。
具体的なテーブル選択操作の手順の一例は次の通りである。まず、ユーザが、特定パラメータ指定部53において、FMアルゴリズムの値を入力すると、CPU1は、該ユーザが指定したFMアルゴリズムの値に対応するパラメータセット指定用テーブル群のみをテーブルリスト50に表示する。そして、ユーザは、テーブルリスト50に表示された複数のテーブルのうちの1つを選択し、Selectボタン画像51を押す。CPU1は、Selectボタン画像51の操作に応じて、リスト50で選択された当該テーブル選択指示を受け付ける。
図10に戻ると、CPU1は、Selectボタン画像51の操作に応じて、ステップS15以下の処理を行う。すなわち、テーブルが圧縮して保存されている場合には、CPU1は、Selectボタン画像51の操作に応じて、パラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)に保存された当該テーブルの再作成に必要な情報を読み出し、該読み出した情報に基づいてユーザにより選択されたテーブルを再作成してから(ステップS15)、処理をステップS16に進める。CPU1は、テーブルの再作成に必要な情報に基づいて、前記図5を参照して説明したテーブル作成処理を行うことで、そのテーブルを作成することができる。
ステップS16において、CPU1は、ユーザにより選択されたテーブルを、選択テーブルとして設定する。すなわち、ステップS15により再作成されたテーブルのデータを、RAM3のワーク領域に読み出して、そのテーブルを使用できる状態にする。テーブルが圧縮されていない場合は、CPU1は、テップS15を行わずに、Selectボタン画像51の操作に応じて、パラメータセット指定用テーブル記憶部(フラッシュメモリ2又はRAM3)からRAM3のワーク領域に読み出して、読み出したテーブルを選択テーブルとして設定する(ステップS16)。
ステップS17において、CPU1は、選択テーブルとして設定されたパラメータセット指定用テーブルのデータに基づいて、そのパラメータセット指定用テーブルを示す2次元平面(テーブル画像)を、表示器7に表示する。なお、前述した通り、前記図5のステップS13において、作成されたテーブルを選択テーブルとして設定するときにも、ステップS17と同様に、CPU1は、そのテーブルを表す2次元平面(テーブル画像)を、表示器7に表示する。
《テーブル画像》
図12は、選択テーブルとして設定されたパラメータセット指定用テーブルを示す2次元平面(テーブル画像)の表示例を示す。表示器7に表示されたテーブル画像には、当該選択テーブルの作成に使用された各源パラメータセットに対応する各最終座標が、その他の全ての座標と区別できる第1BMU特定態様で表示され、且つ、他の全ての座標が、最終座標からの距離に応じた態様で表示される。これにより、選択テーブルにおける各最終座標の位置、及び、各最終座標と他の全ての座標の類似度を、ユーザにとって視覚的にわかり易く提示することができる。
図12においては、第1BMU特定態様の一例として、各最終座標が白抜き点画像で表示されている。他の全ての座標を表示する態様(各最終座標からの距離に応じた態様)としては、例えば、該空間内の各座標を、各最終座標からの距離に応じて異なる色、明るさ又は形状、或いはそれらの組み合わせにより表すことが考えられる。図12では、一例として、他の全ての座標を各最終座標からの距離に応じた網掛けパターン及び表示色の濃度で表している。
《座標の変更》
ユーザは、1つのテーブルが選択されているときに、座標指定用操作子8を用いて、該選択されているパラメータセット指定用テーブルにおける任意の1つの座標を指定することで、音響信号処理部5が信号処理に用いる複数にパラメータ(カレント領域25に記憶されたPセット22)を、該指定された座標に対応するパラメータセットに変更できる。
図13は、ユーザが選択されているパラメータセット指定用テーブルにおける座標を指定したときに、CPU1が実行する処理を説明するフローチャートである。ユーザによる座標指定操作(座標変更操作)が行われたとき、CPU1は、ステップS18において、表示器7に表示中のテーブル画像上に、新たに指定された座標(変更先の座標)を表示する。新たに指定された座標の表示態様は、例えばポインタカーソルで当該座標を指摘する表示態様等、ユーザがテーブル画像上で当該新たに指定された座標を識別できる表示態様であれば、どのようなものであってもよい。
ステップS19において、CPU1は、選択テーブルに基づいて、ユーザにより新たに指定された座標に対応するパラメータセット(Pセット22)を取得し、該取得したパラメータセットをカレント領域25に書き込む。これにより、音響信号処理に用いる複数のパラメータの値が、一括して、ユーザにより新たに指定された座標に対応するパラメータセットとして記憶されたパラメータセット(Pセット22)の内容に変更される。パラメータセット指定用テーブルの各座標には1つずつパラメータセット(複数のパラメータの値)が対応付けられているので、CPU1は、ユーザにより指定された座標により、1つのパラメータセットを特定することができる。また、ステップS19においては、選択テーブルに対応する特定パラメータの値(特定パラメータ指定部53で指定された値)をカレント領域25に書き込む。パラメータセット指定用テーブルは、特定パラメータ23の値に対応付けてパラメータセット指定用テーブル記憶部に記憶されているので、CPU1は、1つのテーブルに対応する特定パラメータ23の値を特定することができる。
ステップS20において、CPU1は、該カレント領域25に書き込まれたパラメータセット(Pセット22)の各値、及び、カレント領域25に特定パラメータ23の値(特定パラメータ指定部53で指定された値)に基づいて、音響信号処理部5を制御する。これにより、ユーザによるテーブルの座標指定操作に応じて、音響信号処理部5は、該指定された座標に対応するパラメータセットに基づく信号処理を実行する。例えば、音響信号処理装置がシンセサイザーである場合には、ユーザによる座標の指定に応じてリアルタイムで(楽音信号を発音しつつ)音色が変化する。また、音響信号処理装置がエフェクタである場合は、ユーザによる座標の変更に応じて、リアルタイムでエフェクト処理の特性が変化する。また、音響信号処理装置がミキサである場合は、ユーザによる座標の変更に応じて、リアルタイムでミキシング処理の特性が変化する。
パラメータセット指定用テーブルにおける座標の移動量(座標間の距離)がパラメータセットの変化量に対応しているので、座標指定操作と、その結果として得るパラメータセットの制御(音響信号の特性の制御)の関係が、ユーザにとって解り易い。よって、ユーザは、簡単で解り易い操作により効率よく、複数のパラメータからなるパラメータセットを調整できるようになる。
また、パラメータセット指定用テーブルにおいては、最終座標からの距離が遠い座標ほどランダム性の高いパラメータセットが配置されるので、ユーザが指定する座標に応じて、単純なパラメータセット間の補間により作成したテーブルでは得ることができない特性のパラメータセットを得ることができる。従って、2次元平面での座標指定というシンプルな操作により、大胆で意外性のあるパラメータ制御を行うことができる。
また、パラメータセット指定用テーブルの各座標に配置されたパラメータセットには、特定パラメータが含まれていないこと、及び、ユーザによる座標の指定に応じて、ユーザが特定パラメータ指定部53で指定した特定パラメータの値に対応するパラメータセット指定用テーブルを用いて、その特定パラメータ以外のパラメータセットが生成されることから、モーフィングに不向きの特定パラメータの影響を受けない、意味のあるパラメータセットの生成を行うことができる。
《パラメータの変更操作》
ユーザは、操作子6や表示器7を用いて、カレント領域25に記録されている複数のパラメータの値を個別に変更(編集)できる。CPU1は、ユーザからパラメータ編集要求を受け付けたとき、図14に示すような操作パネル画面を表示器7に表示する。図14は、パラメータ設定用操作パネル画面の一例として、アナログモデリング音源における音色制御用のパラメータセットに関する操作パネル画面の表示例を示す。
操作パネル画面には、音色制御用の複数のパラメータ(オシレータの波形選択や、フィルター特性制御用の各種パラメータ等)を表す仮想操作子画像が表示される。操作パネル画面において、各仮想操作子画像は、その操作状態により、対応するパラメータの現在値を表す。例えば、回転式ノブ型操作子画像は、つまみ部の回転位置によりパラメータの現在値を表す。操作パネル画面に表示された各パラメータの現在値は、カレント領域25に記憶されたパラメータセットとの値に対応している。
ユーザは、操作パネル画面の画面上で仮想操作子画像を操作することで、操作した画像に対応するパラメータの値を変更できる。図15は、ユーザが1つのパラメータの値を変更したときに、CPU1が実行する処理を説明するフローチャートである。
ステップS21において、CPU1は、ユーザによるパラメータの値の変更操作に応じて、カレント領域25に記憶されたそのパラメータの値を変更する。例えば、回転式ノブ型操作子画像が操作された場合、CPU1は、その操作子画像の現在の回転位置、又は、ユーザが今回入力した回転操作の回転方向及び回転量に基づいて、操作された画像に対応するパラメータの値を変更する。これにより、カレント領域25に記憶されたパラメータセットの内容が、ユーザによるパラメータの値の変更操作に応じて更新される。
ステップS22において、CPU1は、前記変更されたパラメータの値(変更後のカレント領域25の記憶内容)に基づいて、音響信号処理部5を制御する。これにより、音響信号処理部5は、ユーザによるパラメータの値の変更操作に応じて更新されたカレント領域25の記憶内容)に基づく信号処理を実行する。例えば、音響信号処理装置がシンセサイザーである場合には、ユーザによるパラメータの値の変更操作に応じてリアルタイムで(楽音信号を発音しつつ)音色が変化する。また、音響信号処理装置がエフェクタである場合は、ユーザによるパラメータの値の変更操作に応じて、リアルタイムでエフェクト処理の特性が変化する。また、音響信号処理装置がミキサである場合は、ユーザによるパラメータの値の変更操作に応じて、リアルタイムでミキシング処理の特性が変化する。
ステップS23において、CPU1は、カレント領域25に現在記憶されているパラメータセット(ユーザによるパラメータの値の変更操作後のパラメータセット)に基づいて、現在の選択テーブルの各座標の中から、当該パラメータセットに最も距離が近いパラメータセットが配置された座標(BMU)を検出する。
ステップS24において、CPU1は、検出したBMUを、表示器7に表示中のテーブル画像上に、第2BMU特定態様で表示する。第2BMU特定態様は、検出されたBMUの座標を、ユーザが他の座標から識別できるような表示形態であれば、どのようなものであってもよい。第2BMU特定態様の具体例としては、検出されたBMUの座標を黒点画像で表示することなどが考えられる。ステップS23及びS24のテーブル画像の表示更新処理を行うことで、ユーザが個別にパラメータの値を変更した場合に、選択テーブル上における、当該変更後のパラメータセットの現在値の位置づけを、ユーザに提示することができる。なお、ステップS23及びS24のテーブル画像の表示更新処理は、選択テーブルのテーブル画像が表示器7に表示されている場合にのみ行う処理であってよい。
なお、ユーザによる座標の指定又はパラメータの変更があったとき音響信号処理部5の制御をリアルタイムで行わない構成であってもよい。その場合、CPU1は、ユーザによる座標の指定更又はパラメータの変更に応じて、カレント領域25の記憶内容やテーブル画像の表示を更新するが、その時点では音響信号処理部5の制御を行わない(パラメータの変更結果に応じた信号処理を開始しない)。例えば、音響信号処理装置がシンセサイザーである場合、CPU1は、ユーザによる座標の変更又はパラメータの変更に応じてカレント領域25の更新等を行い、その後に新たに入力されたノートオンイベント(楽音信号発音指示)に応じて、更新されたカレント領域25の記憶内容に基づく楽音信号を音響信号処理部5に生成させる。
上記の実施例では、パラメータセット指定用テーブルが2次元平面により構成される例を説明したが、パラメータセット指定用テーブルは、3次元空間により構成してもよい。その場合、パラメータセット指定用テーブルは、X,Y,Zの3軸により構成された3次元空間内の各座標にパラメータセットを配置したものとなる。テーブル作成処理は、図5を参照して2次元平面のテーブルを作成する場合と同様である。すなわち、ユーザによる複数の源パラメータセット選択及び処理順指定を受け付け(ステップS1)、X,Y,Zの3軸により構成された3次元空間内の各座標にランダムパラメータセットを配置した初期テーブルを作成した後(ステップS2)、選択された全ての源パラメータセットについて、1つずつ順番に、BMUの検出(ステップS5)と、検出されたBMU近傍の所定範囲(半径rの範囲)内にある各座標のパラメータセットの補正(ステップS6)を行う。各源パラメータセット毎のBMUの検出及びBMU近傍の所定範囲(半径rの範囲)内のパラメータセットの補正を、所定の処理繰り返し回数λだけ行った後、各源パラメータセットのBMUとなった最終座標に配置されたパラメータセットの値を、源パラメータセットと同じ値になるように調整する(ステップS12)。これにより、複数の源パラメータセットをそれぞれ3次元空間の座標に対応付けたテーブルを作成することができる。そのようにして作成された3次元テーブルは、3次元空間の座標間の距離が、その座標に配置されたパラメータセットの距離(類似度)に相当するので、ユーザにとってパラメータセットを制御しやすい。
なお、本発明の音響信号処理装置の適用例として、アナログモデリング音源を登載したシンセサイザー、FM音源を登載したシンセサイザー、デジタルオーディオミキサ、及び、エフェクタを挙げたが、これに限らず、複数のパラメータにより構成されるパラメータセットを用いて音響信号の処理を行う音響信号処理装置であれば、どのような装置であっても本発明を適用することができる。