以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施の形態に係る楽器の斜視図である。この楽器は電子打楽器20として構成され、スタンド22と、床面に設置されたキックユニット(バスドラムユニット)28とハイハットユニット29とを有する。スタンド22には、複数のパッド21が着脱自在に取り付けられると共に、コントローラ23が取り付けられる。複数のパッド21の形状は互いに異なるが、いずれもパッド21と呼称する。各パッド21には、不図示の打撃センサが設けられる。打撃センサにより振動を介して打撃が検出されて、その検出信号がコントローラ23に供給される。また、キックユニット28は、パッド26及びキックペダル24を有する。キックペダル24は床面に載置され、ペダル部24aが演奏者のつま先で踏み込み操作される。キックペダル24には、ペダル部24aの動作を連続的に検出するためのペダルセンサ25が設けられ、ペダルセンサ25によりペダル部24aの操作ストロークに応じた検出値が連続量で出力される。また、ハイハットユニット29は、ハイハットペダル部29aとハイハットパッド29bとそれらを連結して床面に載置されるハイハットスタンド29cとを有する。ハイハットペダル部29aには、ハイハットペダルの動作を連続的に検出するためのペダルセンサ29dが設けられ、ペダルセンサ29dによりハイハットペダル部29aの操作ストローク(変位)に応じた検出値が連続量で出力される。なお、ペダルセンサは、一例として挙げた連続量で検出するものに限られず、多段階スイッチなどで操作量を多段階で検出するものでもよい。
図2は、電子打楽器20の全体構成を示すブロック図である。CPU5には、バス16を介して、検出回路3、検出回路4、ROM6、RAM7、タイマ8、表示部9、記憶装置10、各種I/F(インターフェイス)11、音源回路13及び効果回路14が接続される。演奏操作子1には、上記した複数のパッド21、26が含まれる。検出回路3は打撃センサやペダルセンサ25の出力から演奏操作子1の操作状態を検出し、検出回路4は設定操作子2の操作状態を検出する。コントローラ23は、本発明における発音制御装置であり、CPU5と、CPU5に接続された各構成要素(演奏操作子を除く)と、設定操作子2とを含む。
表示部9はLCD等で構成され、各種情報を表示する。CPU5にはタイマ8が接続される。音源回路13には効果回路14を介してサウンドシステム15が接続されている。各種I/F11には、MIDI(Musical Instrument Digital Interface)I/F、通信I/Fが含まれる。CPU5は、本楽器全体の制御を司る。ROM6は、CPU5が実行する制御プログラムや各種テーブルデータ等を記憶する。RAM7は、各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。記憶装置10は、例えば不揮発性のメモリであり、上記制御プログラムや各種楽曲データ、各種データ等を記憶する。音源回路13は、演奏操作子1から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する。効果回路14は、音源回路13から入力される楽音信号に各種効果を付与し、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等で構成されるサウンドシステム15は、効果回路14から入力される楽音信号等を音響に変換する。CPU5は、検出回路3の検出結果に基づいて、音源回路13及び効果回路14を制御してサウンドシステム15から音を発生させる。なお、各パッド21、26の打撃により発生する音のエフェクト(効果)の設定例については図6〜図8で後述する。
本実施の形態では、演奏者の動作のうち演奏(発音)のためでない動作を検出し、その検出結果から、演奏(発音)のための動作により発せられる音を制御する。発音の制御としては、付加するエフェクトの制御を例示し、演奏者の動作のうち発音トリガに用いない情報を少なくとも用いてエフェクト制御パラメータを決定してそれに基づきエフェクトを制御する。演奏者は一般に、演奏曲の途中における自身が演奏操作をしない非演奏操作期間においても、テンポキープ等のために、発音トリガが発生しないような態様で何らかの動作をする場合が多い。このように、発音に至らないような態様の動作を「ゴーストモーション:(以下、Gモーションと略記する)」と称する。一例として、本実施の形態では、ハイハットペダル部29aでGモーションの操作をしたときにその操作を検出してエフェクト制御パラメータとしてのディレイ音のディレイ時間(遅延時間)を設定する。
図3(a)は、ペダルセンサ29dの出力波形を示す図である。横軸に時間t、縦軸にセンサ出力をとる。図3(a)において、ピークの高い波形W1と波形W1よりもピークの十分に低い波形W2とが示される。演奏者は、ハイハットユニット29のオープン・クローズの発音態様制御やフットクローズの発音のためにペダル部24aを深く踏み込む。なお、以下では説明を簡略にするため、ハイハットペダル部29aの踏込動作の説明は、実際には行われるオープン・クローズの発音態様制御の説明は省略し、フットクローズ発音動作を演奏操作として説明する。このフットクローズ演奏操作(発音トリガを生じる操作)によりペダルセンサ29dから生じる波形が波形W1である。一方、演奏者は、非演奏制御操作期間においては、Gモーションとして、つま先をハイハットペダル部29aに置きつつ、かかとを上下動させてビートを刻む。このGモーションによりペダルセンサ29dから生じる波形が波形W2である。波形W1のピーク同士の間隔、及び波形W2のピーク同士の間隔はいずれも、通常、演奏曲のビート間隔と一致する。
図3(b)は波形W2の拡大図である。波形W1のピークタイミングは通常、拍タイミングと一致するが、波形W2のピークタイミングは拍タイミングとは少しずれるのが通常である。これは、演奏者が拍タイミングに合わせてかかとを上下動させようとするために、その直前にかかとを床から持ち上げることでつま先に力が掛かってペダル部24aが少し踏み込まれるからである。図3(b)において、時点tpは波形W2のピークタイミングである。時点t0はかかとの上下動において最も下の位置に到達したタイミングである。本実施の形態では、CPU5は、ビート間隔及び演奏テンポのパラメータを、演奏期間においては主として波形W1のピークタイミングに基づき決定し、非演奏制御操作期間においては主として波形W2の時点t0のタイミングに基づき決定する。
図3(c)は、検出された波形W1、W2に基づき発生させるパルス波形を示す図である。図4は、発音制御を実現するための機能機構のブロック図である。この機能機構は、情報取得部30、演奏検出部33、解析部34、効果設定部35及び発音処理部36を有する。情報取得部30は、Gモーション検出部31及び演奏検出部32を有する。情報取得部30、演奏検出部33の機能は、主にCPU5と検出回路3との協働により実現される。解析部34及び効果設定部35の機能は、主にCPU5、RAM7及びタイマ8の協働により実現される。発音処理部36の機能は、主にCPU5、音源回路13、効果回路14及びサウンドシステム15の協働により実現される。
図4に示すように、ペダルセンサ29dからの検出出力は情報取得部30に入力される。情報取得部30は、第1の閾値th1と、第2の閾値th2(th1>th2;図3(a)参照)とを用いて、ハイハットペダル部29aの動作ストローク(ペダルセンサ29dの出力)から出力波形のピークを検出する。特に、Gモーション検出部31は波形W2のピークタイミングを検出し、演奏検出部32は波形W1のピークタイミングを検出する。Gモーション検出部31及び演奏検出部32の出力は解析部34に入力される。演奏検出部32の出力は、フットクローズの発音トリガの生成に用いられ、さらに発音処理部36にも入力される。ハイハットユニット29以外のパッド21のそれぞれに対応する打撃センサやキックユニット28のペダルセンサ25からの検出出力は演奏検出部33に入力される。演奏検出部33の出力は発音処理部36に入力される。すなわち、演奏検出部32、33の出力は、それぞれに対応する発音の発音トリガの生成に用いられる。一方、Gモーション検出部31の出力は、発音トリガの生成には用いられない。演奏検出部32及びGモーション検出部31の出力は、解析部34を介して効果設定に用いられる。
図3(c)に示すように、解析部34は、Gモーション検出部31及び演奏検出部32によりそれぞれ検出されたピークに基づき、検出波形のピークタイミングに応じたテンポパルス(クリックパルス)を発生させる。具体的には、解析部34は、波形W1に関してはピークタイミングでパルス(の立ち上がり)を発生させる。これは、波形W1については、ピークタイミングが、演奏者が意図したビートのタイミングだからである。一方、波形W2に関してはピークタイミングよりも補正値「t0−tp」だけ後のタイミングでパルス(の立ち上がり)を発生させる。これは、時点t0が、演奏者が意図した真のビートのタイミングだからである。補正値「t0−tp」は、演奏テンポに応じた値としてテーブルの形態または演算式の形態で、予めROM6等に格納されている。補正値「t0−tp」は、演奏テンポが速いほど小さい値に設定される。補正値「t0−tp」の適切な設定は演奏者によっても異なるので、各々の演奏者のクセ等を予め把握して、演奏者ごとにテーブル等を設けてもよい。
解析部34はさらに、発生させたパルスを解析してビート間隔Dを推定すると共に、演奏テンポTPも推定する。ここで、基本的には、パルス位置は演奏曲のビートに対応している。隣接するパルス同士の時間間隔はビート間隔Dと一致する。しかし、検出誤差や演奏者の動作のばらつきは生じ得る。なお、途中で動作が途切れることもあり、その場合はパルスも途切れる。そこで、ビート間隔Dを推定する段階で移動平均を用いる。例えば、解析部34は、隣接するパルス同士の時間間隔を、ビート間隔Dの算出時の直前に得られた所定数(例えば、10個)のパルスから算出する。解析部34は、それらのパルス同士の時間間隔の値のうち最小値と最大値を除いた後の値の平均をビート間隔Dと定める。演奏テンポTPは、1分間当たりのビート数であるので、TP=6000/ビート間隔(ms)により算出される。なお、ビート間隔Dを算出する際に用いるパルス数は例示に限定されず、パルス間隔からビート間隔Dを算出する手法も例示に限定されない。
効果設定部35は、エフェクトの一例としてディレイ効果を設定する。具体的には、効果設定部35は、ディレイ設定値DTを決定し、ディレイ設定値DTからディレイ時間DTT(カウンタの設定値)を設定する。ディレイ時間DTTは、全てのパッド、すなわち全ての発音チャンネルで共通としてもよい。しかし、本実施の形態では、発音チャンネルごとに設定するとし、ディレイ時間DTTn=DT×K(n)により設定される。ここで、K(n)は、パッド(発音チャンネル)ごとの補正係数であって、予め決定されている値である。発音処理部36は、リアルタイム再生として、演奏検出部32、33からの出力信号に応じた発音処理を実行する。その際、発音処理部36は、出力信号に基づき生成した演奏信号に、効果設定部35により設定されたエフェクト制御パラメータに基づきエフェクトを付加し、増幅して出力する。
図5は、メイン処理のフローチャートである。このフローチャートにおける各処理は、CPU5が、記憶装置10またはROM6に記憶されたプログラムをRAM7に読み出して実行することにより実現される。まず、CPU5は、初期設定を実行、すなわち、制御プログラムの実行を開始し、各種レジスタに初期値を設定すると共に、設定操作子2による機器の設定を受け付けて設定する(ステップS101)。このステップS101では、演奏者は、リアルタイム演奏による発音にディレイ効果を付加するか否か(ON/OFF)を設定できる。
次に、CPU5が、演奏検出部32、33の機能として、キックユニット28のパッド26に対する打撃とハイハットユニット29によるフットクローズ発音操作とその他のパッド21の各々に対する打撃を検出する(ステップS102)。具体的には、パッド21に設けたそれぞれのセンサの出力が、対応して設定された所定値(閾値)を超えているときに打撃有りと検出する。なお、ハイハットユニット29のフットクローズの発音指示検出は、ペダルセンサ29dの出力が、第1の閾値th1を超えているときに打撃有りと検出する。次に、CPU5は、図6、図7でそれぞれ後述するディレイ設定値決定処理(ステップS103)、効果制御処理(ステップS104)を順次実行する。そしてCPU5は、その他処理を実行する(ステップS105)。その他処理においては、例えば、自動再生処理を実行している場合は、CPU5は、演奏データを読み出し、生成された演奏信号に設定された効果処理を付加し、増幅して出力するよう制御する。その後、処理はステップS102に戻る。
図6は、図5のステップS103で実行されるディレイ設定値決定処理のフローチャートである。まず、CPU5は、情報取得部30の機能として、ペダルセンサ29dからの検出出力から、第1の閾値th1を用いてピークを検出する。すなわち、情報取得部30の演奏検出部32は、検出波形のピーク値が第1の閾値th1を超えたか(ピーク値>th1)否かを判別する(ステップS201)。その判別の結果、ピーク値が第1の閾値th1を超えた場合は、演奏のための操作が検出されたと判断され、波形W1のピーク(第1の検出情報)が取得されたので(図3(a)参照)、処理はステップS202に進む。
一方、ピーク値が第1の閾値th1を超えない場合(ピーク値≦th1)は、情報取得部30は、ペダルセンサ29dからの検出出力から、第2の閾値th2を用いてピークを検出する(ステップS207)。すなわち、情報取得部30のGモーション検出部31は、検出波形のピーク値が第2の閾値th2を超えたか(ピーク値>th2)否かを判別する。その判別の結果、ピーク値が第2の閾値th2を超えた場合(th1>ピーク値>th2)は、Gモーションの操作が検出されたと判断され、波形W2のピーク(第2の検出情報)が取得されるので(図3(a)、(b)参照)、処理はステップS208に進む。ピーク値が第2の閾値th2を超えない場合(ピーク値≦th2)は、動作が検出されず、検出情報が取得されなかった(すなわち、何も操作されていない状態と等しい)ので、図6の処理は終了する。
ステップS201でフットクローズ演奏のための操作が検出されたと判断されたときは、CPU5は、解析部34の機能として、出力が第1の閾値th1を超えたときのピークタイミング(波形W1のピークタイミング)で立ち上がるテンポパルスを発生させ、処理をステップS203に進める(ステップS202)。一方、ステップS207でGモーションの操作が検出されたと判断されたときは、CPU5は、解析部34の機能として、現在の演奏テンポTP(初回を除き、前回のステップS205で推定されたもの)に応じた補正値「t0−tp」をROM6から読み出す(ステップS208)。次に、CPU5は、解析部34の機能として、出力がth1>ピーク値>th2となったときのピークタイミング(波形W2のピークタイミング)よりも、読み出した補正値「t0−tp」だけ後のタイミングで立ち上がるテンポパルスを発生させる(ステップS209)。その後、処理はステップS203に進む。ステップS202、S209で発生したパルスを時系列に合成したものが、図3(c)に示すものである。
続いて、CPU5は、解析部34の機能として、レジスタTm(mは例えば0〜9)の最も古い値を消去すると共に、現在のカウンタCNTの値をレジスタTmの最新値として記憶する(ステップS203)。従って、レジスタTmの値は先入れ先出しにより更新され、レジスタTmには常に最新の10個の値が保持される。次に、CPU5は、解析部34の機能として、カウンタCNTをリセットする(ステップS204)。従って、前回のパルス発生から今回のパルス発生までの時間(すなわち、パルス時間間隔)がレジスタTmに記録されていく。CPU5は、解析部34の機能として、レジスタTmの値から、ビート間隔Dを推定すると共に、ビート間隔Dから演奏テンポTPを推定する(ステップS205)。すなわち、上述したように、CPU5は、解析部34の機能として、複数のレジスタTmのうち最小値と最大値を除いた後の値の平均値をビート間隔Dとして算出する。さらに解析部34の機能は、演奏テンポTPをビート間隔から算出する。
次に、ステップS206で、CPU5は、効果設定部35の機能として、ビート間隔Dからディレイ設定値DTを算出する。ここで、ビート間隔Dとディレイ設定値DTとの関係を規定するテーブルまたは演算式が予めROM6等に格納されており、これらを参照してディレイ設定値DTが決定される。その後、図6の処理は終了する。
図7は、図5のステップS104で実行される効果制御処理のフローチャートである。この処理は、パッドごと、従って、発音チャンネルごとに実行される。まず、CPU5は、上述のステップS102において処理対象となるパッド26、キックユニット28またはハイハットユニット29に打撃等の操作があったか否かを判別する(ステップS301)。ここでいう操作には、ハイハットペダル部29aによるフットクローズ演奏操作も含まれる。次に、検出対象となるパッド21、キックユニット28またはハイハットユニット29に操作があったときに、CPU5は、今回の発音制御処理対象となる発音ch(発音チャンネル)に、チャンネルカウンタch(n)の値を割り当てる(ステップS302)。ここで、nはチャンネル番号を示す。なお、使用するチャンネル数をmax(例えば16個)とする。
次に、CPU5は、処理対象のパッド21、キックユニット28、ハイハットユニット29の発音がディレイ効果を付加する設定となっている(ディレイON)か否かを判別する(ステップ303)。その判別の結果、ディレイ効果を付加する設定となっていない場合は、CPU5は、処理をステップS306に進める。一方、ディレイ効果を付加する設定となっている場合は、CPU5は、効果設定部35の機能として、上述したようにディレイ時間DTTnをDTTn=DT×K(n)により設定する(ステップS304)。次に、CPU5は、ディレイ音フラグをセットし(ステップS305)、発音フラグをセットして(ステップS306)、図7の処理を終了させる。発音フラグのセット、ディレイ音フラグのセットはそれぞれ、発音すること、ディレイ効果を付加することを意味する。
図8は、割り込み処理のフローチャートである。この処理は、CPU5が、記憶装置10またはROM6に記憶されたプログラムをRAM7に読み出して実行することにより実現される。この処理は、電源がオンにされた後、一定時間間隔(例えば、1msごと)で実行される。
まず、CPU5は、チャンネルカウンタch(n)に1を設定し(ステップS401)、発音フラグがセットされているか否かを判別する(ステップS402)。その判別の結果、CPU5は、発音フラグがセットされていない場合は、発音を実施する必要がないので、処理をステップS405に進める。一方、発音フラグがセットされている場合は、CPU5は、音源回路13における今回の処理対象となる発音chに対し発音トリガを発生させることで発音処理を実行し(ステップS403)、発音フラグをリセットして(ステップS404)、処理をステップS405に進める。
ステップS405では、CPU5は、ディレイ効果を付加する設定となっている(ディレイON)か否かを判別し、ディレイ効果を付加する設定となっていない場合は、ディレイ効果を付加する必要がないので、処理をステップS413に進める。一方、ディレイ効果を付加する設定となっている場合は、CPU5は、ディレイ音フラグがセットされているか否かを判別する(ステップS406)。その判別の結果、ディレイ音フラグがセットされていない場合は、ディレイ効果を付加する必要がないので、CPU5は、処理をステップS413に進める。一方、ディレイ音フラグがセットされている場合は、ディレイ時間DTTnから1を減算してディレイ時間DTTnを更新する(ステップS407)。
次に、ステップS408で、CPU5は、ディレイ時間DTTnが0になったか(DTTn=0)否かを判別する。その判別の結果、ディレイ時間DTTnが0になっていない場合は、CPU5は、ディレイを付加するタイミングにまだ達していないので、処理をステップS411に進める。一方、ディレイ時間DTTnが0になった場合は、CPU5は、ディレイ音を発音し(ステップS409)、繰り返しカウンタDCNTに1を加算して繰り返しカウンタDCNTを更新する(ステップS410)。次に、CPU5は、ステップS411では、繰り返しカウンタDCNTがディレイ繰り返し回数(例えば、3回とする)に達したか(DCNT=3)否かを判別し、DCNT=3が成立しない場合は、処理をステップS413に進める。一方、DCNT=3が成立した場合は、CPU5は、繰り返しカウンタDCNTをリセットすると共に、ディレイ音フラグをリセットして(ステップS412)、処理をステップS413に進める。従って、打撃に応じた発音の後、ディレイ時間DTTが経過すると、ディレイ繰り返し回数だけディレイ音が続けて発生する。なお、ディレイ音の発音回数は1回以上であればよい。
続いて、CPU5は、チャンネルカウンタch(n)に1を加算してチャンネルカウンタch(n)を更新し(ステップS413)、チャンネルカウンタch(n)がチャンネル数maxに達したか(ch(n)=max)否かを判別する(ステップS414)。CPU5は、その判別の結果、ch(n)=maxが成立しない場合は、処理をステップS402に戻す一方、ch(n)=maxが成立する場合は、カウンタCNTに1を加算してカウンタCNTを更新し(ステップS415)、図8の処理を終了させる。
本実施の形態によれば、演奏者の動作を検出して取得される検出情報のうち、少なくとも発音トリガを生じない操作から情報取得部30(そこに含まれるGモーション検出部31)によって取得される情報(波形W2のピークタイミング)に基づいて発音制御がなされる。よって、非演奏制御操作期間であっても演奏者の動作で発音態様を制御することができる。特に、発音態様の制御は、ディレイ付加等の音響効果を付加する制御であるので、演奏以外の演奏者の動作を効果に反映させることができる。また、演奏操作子であるハイハットペダル部29aの動作から検出情報が取得されるので、演奏操作子に対する演奏のためでない動作を発音制御に反映させることができる。特に、Gモーションは、抑揚、臨場感、曲のテンポや「のり」が影響した動作であるので、Gモーションを発音制御に利用することで、一層豊かな音響を得られる。
また、ハイハットペダル部29aの操作により発生する音に対しても、ハイハットペダル部29aに対するGモーションに基づく効果付与がなされるので、演奏操作子への演奏動作による発音を演奏操作子への演奏以外の演奏者の動作により制御することができる。また、発音トリガに用いない情報に基づいてビート間隔Dを推定し、推定したビート間隔Dに基づき発音が制御されるので、演奏以外の動作であってビートを刻む動作を発音制御に反映させることができる。さらには、推定したビート間隔Dに基づき演奏テンポTPが算出されるので、演奏以外の演奏者の動作から演奏テンポTPを推定することができる。従って、非演奏制御操作期間であっても演奏者の動作から演奏テンポTPを推定し、発音制御に反映させることができる。
なお、本実施の形態では、Gモーションは演奏操作子であるハイハットペダル部29aの動作から検出された。しかしこれに限るものではなく、演奏者の動作検出情報のうち発音トリガを生じない情報をGモーションとして検出すればよい。従って、Gモーションの検出に用いる操作子と、制御対象となる音のトリガを発生させるための演奏操作子とは別であってもよい。例えば、図9に例示するように、演奏者にとって操作可能に、Gモーション検出専用の操作子または機器を設けてもよい。
図9は、変形例に係る、発音制御を実現するための機能機構のブロック図である。図4の構成に対し、ハイハットペダル部29aで検出するGモーション構造に代えて専用検出器41を設けてその操作からGモーションを検出する。ハイハットペダル部29aは演奏操作子1に含まれる。情報取得部30は演奏検出部32を備えない。専用検出器41は、例えば、オンオフ型のフットコントローラであり、オンとオフの2値検出を行える。専用検出器41は、演奏者が非演奏制御操作期間に足で操作できるような場所に設置する。なお、専用検出器41は、演奏発音に関係しないダミーパッドのように、スティックで打撃操作されるものであってもよい。情報取得部30は専用検出器41のオンのタイミングでパルスを発生させる。パルス発生後の解析部34、効果設定部35及び発音処理部36による処理は上述したのと同じである。
なお、Gモーションを検出する機器は、例えば、演奏者の身体におけるGモーションが反映されるような位置に取り付けてもよい。また、Gモーションを操作子に対する操作から検出することは必須でない。例えば、カメラで演奏者の特定の部位の動作を撮影し、映像を解析して、リズムを始めとして動作の量や方向も加味してGモーションを検出してもよい。
なお、本発明はハイハットペダル部29aに対する動作からエフェクトを設定したが、キックペダル24に対する動作からGモーションを検出してエフェクトを設定してもよい。また、スネアドラム等のように、直接に打撃されるパッド21において、振動の大きさから、動作を打撃とGモーションとに区別し、信号レベルが一定以下で発音トリガに至らないような小さい打撃に対してはGモーションとしてみなして処理してもよい。
なお、本発明は、打楽器以外の楽器にも適用可能である。例えば、鍵盤楽器においては、ペダルの動作からGモーションを検出し、ビート間隔D、ディレイ時間DTTn、演奏テンポTP等の制御パラメータを決定してもよい。また、楽器に限らず、音楽ゲーム等での発音制御に本発明を適用してもよい。また、楽音制御の態様としては、ディレイの付加に限らず、音量、音色の制御であってもよい。従って、フランジャやフェイザーのうねり時間、ワウにけるLFOの設定、トレモロやロータリースピーカにおける周期変化時間、ディストーションの歪み量、フィルタのカットオフ周波数等の制御パラメータを決定することにも応用が可能である。なお、図3(b)における波形W2のピーク値Hに基づいて、エフェクト量(効果の程度)をさらに制御するようにしてもよい。
また、非演奏制御操作期間における演奏者のGモーションの動作の検出結果から制御パラメータを推定したり決定したりして、発音制御に反映させるようにしたが、少なくとも非演奏制御操作期間における演奏者のGモーションの動作の検出結果から推定あるいは決定すればよい。従って、演奏操作や制御操作等を行う演奏制御操作期間の演奏者の動作から制御パラメータを推定あるいは決定することを併用してもよいし、非演奏制御操作期間における演奏者のGモーションの動作と演奏制御操作期間の演奏者の動作の双方の検出結果から制御パラメータを推定あるいは決定して、発音制御に反映させるようにしてもよい。
なお、発音トリガを生じる操作または発音トリガを生じない操作を検出する検出機構の具体的な構成として図10(a)〜(c)に示す変形例が考えられる。検出機構は、ペダルセンサ29d(図4)または専用検出器41(図9)に対応する。図10(a)に示す例では、身体部位の変位を検出するためのセンサとして、例えば加速度センサ42を演奏者の身体に装着する。Gモーションを検出する場合、加速度センサ42は例えば左足首に装着される。加速度センサ42の検出信号は情報取得部30に入力される。Gモーション検出用の加速度センサ42の検出信号は、効果設定部35による効果設定に用いられる。例えば、CPU5は、左足首が所定量以上変位または往復変位した場合にGモーションがなされたと判断し、発音態様を変化させる。なお、加速度センサ42の装着の数は複数でもよく、Gモーション検出用の加速度センサ42とは別に、発音トリガを生成するのに用いる加速度センサを、演奏者の身体(例えば、左手、右手または右足首等)に装着してもよい。発音トリガ生成用の加速度センサの検出信号は、発音処理部36によるリアルタイム再生に用いられる。
また、図10(b)に示す例では、演奏者の身体に反射材等のマーカ43を装着し、マーカ43をカメラ44で撮影する。変位検出部45は、カメラ44で撮影された映像を解析してマーカ43の変位を検出する。変位検出部45の出力は情報取得部30に入力される。マーカ43は例えば両足首に装着される。CPU5は、検出開始時にキャリブレーションを実施し、各マーカ43の初期位置を特定した後、両マーカ43を追従し、両マーカ43の変位に応じて発音態様を変化させる。撮影には赤外光を用いてもよい。なお、右足首のマーカ43の変位に応じて発音させ、その発音態様を左足首のマーカ43の変位に応じて変化させてもよい。また、マーカ43の装着数は問わず、変位検出結果の利用の態様についても図10(a)の例と同様に考えることができる。
また、図10(c)に示す例では、カメラ46で演奏者の全身を撮影し、認識部47が映像を解析して主として四肢の変位を取得する。四肢等の身体部位の変位検出には、骨格追跡による人体パーツ識別技術(公知)等を利用できる。この技術を用いればマーカを用いる必要がない。例えば、インターネット<URL:http://news.mynavi.jp/series/computer_vision/069/>に開示される、身体部位認識手段(Random Decision Forestsアルゴリズム)を用いることができる。図10(c)の例では、検出対象となる身体部位によって、発音トリガ生成用と効果設定用とで用途を分けてもよい。例えば、一部(左手、右手、右足首等)の検出結果は発音トリガの生成に用い、他の一部(左足首等)の検出結果はGモーションの検出に用いてもよい。検出対象とする身体部位の数は問わず、変位検出結果の利用の態様についても図10(a)の例と同様に考えることができる。
なお、本発明を達成するためのソフトウェアによって表される制御プログラムを記憶した記憶媒体を、本装置またはコンピュータに読み出すことによって同様の効果を奏するようにしてもよく、その場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードを伝送媒体等を介して供給してもよい。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。