以下、図面を参照しつつ本発明の実施の形態について説明する。
図1は、この発明の一実施形態である演奏システムの構成を示す図である。本実施形態による演奏システムは、フレーズ生成装置として機能するパーソナルコンピュータ(以下、PCと略す)1と、自動演奏ピアノ等により構成される音源2とを有する。音源2は、MIDIメッセージに従って演奏を行う機能を備えた音源であり、1台の音源であってもよく、同種または異種の複数台の音源であってもよい。
この演奏システムでは、オーケストラ3が弦楽器、和太鼓等の各種の楽器により楽曲の演奏を行い、体操選手がこのオーケストラの演奏に合わせて体操演技を行う。図1に示す例では、2名の女子体操選手41および42が平均台の演技を行い、2名の男子体操選手43および44が床運動の演技を行っている。各体操選手41〜44の身体の部位には、その部位の動きや状態を検出し、検出結果であるセンサ信号を無線送信するセンシングユニット(図1では図示略)が装着されている。
PC1は、マイクロフォン5により収音されるオーケストラ3の演奏音と、各体操選手41〜44のセンシングユニットから受信されるセンサ信号とに基づいて、音列であるフレーズを生成するためのMIDIメッセージを生成し、音源2に供給し、フレーズを放音させる。
図2(a)および(b)は体操選手41〜44におけるセンシングユニットの装着状態を示す図であり、図2(a)は体操選手を正面から見た状態、図2(b)は体操選手を背面から見た状態を示している。図2(b)に示すように、体操選手の左肘および右肘には、センシングユニット61Lおよび61Rが装着される。図2(a)に示すように、体操選手の左下腕および右下腕にはセンシングユニット62Lおよび62Rが、左手首および右手首にはセンシングユニット63Lおよび63Rが、左膝および右膝にはセンシングユニット64Lおよび64Rが、左脛および右脛にはセンシングユニット65Lおよび65Rが、左足首および右足首にはセンシングユニット66Lおよび66Rが、各々装着されている。
図3は各センシングユニット61L(61R)〜66L(66R)の機能構成を示すブロック図である。図3に示すように、センシングユニット61L(61R)〜66L(66R)は、センサ部601と、センサ部601の出力信号をデジタル形式のセンサ信号に変換するA/D変換部602と、このセンサ信号をブルートゥース(登録商標)等の無線通信方式により送信する無線通信部603とを有する。
ここで、体操選手の左下腕および右下腕のセンシングユニット62Lおよび62Rと、左脛および右脛のセンシングユニット65Lおよび65Rとにおけるセンサ部601は、例えばジャイロセンサや加速度センサである。このセンサ部601は、当該センシングユニットの装着部位の回転やその装着部位に加わる衝撃を検出する役割を担っている。すなわち、このセンサ部601は、体操選手のジャンプや回転を検出する。また、その他のセンシングユニット61L、61R、63L、63R、64L、64R、66L、66Rのセンサ部601は、CNT(Carbon NanoTube)センサ等の歪センサである。このセンサ部601は、当該センシングユニットの装着部位の曲げを検出する役割を担っている。すなわち、このセンサ部601は、体操選手の手や足の曲がり方を検出する。
なお、本実施形態ではセンシングユニット61L(61R)〜66L(66R)を備えるが、少なくとも1つのセンシングユニットがあればよい。また、センシングユニットは、センサ部601を複数備えてもよい。例えば、センシングユニットに、ジャイロセンサと加速度センサの両方を備えるようにしてもよい。
図4はフレーズ生成装置としての役割を果たすPC1の機能構成を示すブロック図である。図4に示すように、PC1は、制御中枢であるCPU100と、液晶ディスプレイ等からなる表示部110と、キーボードやマウス等からなる操作部120と、RAM等の揮発性メモリやEEPROM、HD等の不揮発性メモリからなる記憶部130と、マイクロフォン5から音信号を受信する音信号取得手段であるオーディオI/F140と、センシングユニット61L(61R)〜66L(66R)の無線通信部603と無線通信を行ってセンサ信号を受信する無線通信I/F150と、CPU100による制御の下、フレーズ生成のためのMIDIメッセージを音源2に供給するMIDI_I/F160とを有する。
記憶部130には、オーディオI/F140により受信される音信号と、無線通信I/F150により受信されるセンサ信号に基づいて、フレーズの生成制御を行うフレーズ生成制御アプリケーションプログラムが記憶されている。図4におけるスコアアライメント部101およびフレーズ生成制御部102は、CPU100がこのフレーズ生成制御アプリケーションプログラムを実行することにより実現される機能である。
スコアアライメント部101には、オーケストラ演奏により発生する音信号がオーディオI/F140から入力される。スコアアライメント部101は、この音信号に基づいて、オーケストラ3が演奏する楽曲における現在の演奏位置を取得する演奏位置取得手段である。
この演奏位置の取得を可能にするため、記憶部130には、オーケストラ3が演奏する楽曲の楽譜を示す楽譜データが予め記憶される。この楽譜データは、各種の楽器パート毎に、当該楽曲の各演奏位置(当該楽曲の演奏開始時刻を基準とした相対時刻)において発生すべき演奏音のピッチ、音長、音量等を定義した音データの集まりと、楽曲のテンポ等、楽曲に関する各種の情報を含むデータである。
スコアアライメント部101は、楽曲の各演奏位置において出力しうる音の特性を予め計算する。そして、オーディオI/F140から逐次入力される音信号を分析し、音信号が示す音の特性と、楽曲の各演奏位置における音の特性と照合する。最後に、「楽曲の演奏位置は滑らかに移動する」といった音楽的な制約と統合することで、最終的な演奏位置を割り出す。なお、スコアアライメント部101における演奏位置を求めるためのアルゴリズムとしては、例えば特開2015−79183号公報等に開示のアルゴリズムを用いればよい。
フレーズ生成制御部102は、体操選手41〜44の各センシングユニット61L(61R)〜66L(66R)からのセンサ信号と、スコアアライメント部101により算出された演奏位置とに基づいて、フレーズの生成制御のためのMIDIメッセージを生成する手段である。
このフレーズの生成制御を行うため、図5に例示する演出データDDが記憶部130に予め記憶される。この演出データDDは、複数の演出トラックからなる。各演出トラックは、各々異なるパートのフレーズの生成制御に用いられるデータである。各演出トラックは、楽曲を時間軸上において分割した各区間に各々対応付けられたフレーズ構成データDFにより構成されている。このフレーズ構成データは、当該区間において体操選手41〜43の各センシングユニット61L(61R)〜66L(66R)からのセンサ信号に基づいてフレーズを生成する条件を定義したデータである。
本実施形態において、演出データDDの各演出トラックには、1小節に相当する区間毎にこのフレーズ構成データDDが格納されている。フレーズ生成制御部102は、スコアアライメント部101により検出される演奏位置に対応した小節のフレーズ構成データを記憶部130内の演出データDの各演出トラックから読み出し、複数の演出トラックについて並行してフレーズの生成制御を行う。演出データDDの各演出トラックは、全ての小節についてのフレーズ構成データDFを含んでいてもよく、一部の小節のみについてのフレーズ構成データDFを含んでいてもよい。ある演奏トラックが、ある小節に対応したフレーズ構成データDFを含んでいない場合、フレーズ生成制御部102は、その演奏トラックに対応したフレーム生成制御において、その小節におけるフレーズの生成制御を行わない。
ある好ましい態様では、演奏トラック1に体操選手41に関連したセンサ信号に基づいてフレーズの生成制御を行うためのフレーズ構成データが格納され、演奏トラック2に体操選手42に関連したセンサ信号に基づいてフレーズの生成制御を行うためのフレーズ構成データが格納され、…という具合に、演奏トラック毎に特定の体操選手に関連したセンサ信号を取り扱うフレーズ構成データが格納されている。しかし、これは一例であり、各演奏トラックのフレーズ構成データにおいて、体操選手41〜44に各々関連した各センサ信号をどのように扱うかは任意である。
本実施形態において、演出データDDの各演出トラックには、フレーズ構成データDFとして、図6〜図10に示す第1種フレーズ構成データDF1〜第5種フレーズ構成データDF5が格納され得る。
ここで、第1種フレーズ構成データDF1および第2種フレーズ構成データDF2に基づくフレーズ生成制御モードは、フレーズを構成する各音の生成制御にセンサ信号を直接関与させるモードであるので、直接生成モードと呼ばれる。また、第3種フレーズ構成データDF3に基づくフレーズ生成制御モードは、センサ信号が所定のトリガ条件を満たしたときに、予め定義されたフレーズの生成制御を行うモードであるので、フレーズトリガモードと呼ばれる。第4種フレーズ構成データDF4および第5種フレーズ構成データDF5に基づくフレーズ生成制御モードは、直接生成モードとフレーズトリガモードの折衷案的なモードである。
以下、これらのフレーズ構成データDFの内容とこれらのフレーズ構成データDFに従ってフレーズ生成制御部102により行われるフレーズ生成制御の詳細について説明する。
<第1種フレーズ構成データDF1および同データに基づくフレーズ生成制御>
図6に示すように、第1種フレーズ構成データDF1は、発音タイミングデータと、音定義データとにより構成されている。ここで、発音タイミングデータは、フレーズを構成する第1音、第2音、…の発音タイミングを生成対象であるフレーズの基準タイミング(具体的には当該第1種フレーズ構成データDF1が対応付けられた小節の開始タイミング)からの経過時間により定義したデータである。
また、音定義データは、発音タイミングデータにより定義された各発音タイミングに対応付けられた各データからなる。音定義データは、当該発音タイミングにおける発音対象を当該発音タイミングにおけるセンサ信号に基づいて決定する方法を定義するデータである。例えば、関節の曲げを示すセンサ信号から発音対象である音のピッチを算出し、同センサ信号の時間変化率に基づき発音対象である音のベロシティを算出する算出式が音定義データにより定義される、という具合である。
この場合、例えば関節が曲がっていることをセンサ信号が示している場合には発音対象を低音にし、関節が伸びていることをセンサ信号が示している場合には発音対象を高音にするように音定義データにより定義してもよい。また、例えば関節が曲がり具合の時間変化率が小さい場合には発音対象のベロシティを弱くし、関節の曲がり具合の時間変化率が大きい場合には発音対象のベロシティが強くなるように音定義データにより定義してもよい。
また、体操選手の左右の同部位から得られるセンサ信号を1セットとして扱い、フレーズの音を決定する算出式を音定義データにより定義してもよい。例えば左右の同じ関節の曲げを示す各センサ信号の和に基づいて発音対象である音のピッチを算出する算出式を音定義データにより定義してもよい。この場合、体操選手の左右の同じ関節が独立した動きをすると、発音対象である音のピッチの時間変化が緩和された穏やかなフレーズが生成され、左右の同じ関節が同調した動きをすると、発音対象である音のピッチの時間変化が強調されたダイナミックなフレーズが生成される、という効果を期待することができる。音定義データにおいて、ベロシティについても同様な取り扱いをした場合には、左右の同じ関節が独立した動きを独立させるか同調させるかにより、フレーズの緩急の差をさらに際立たせることができると考えられる。
また、例えば、ある演出トラックの第1種フレーズ構成データDF1において、体操選手41または42の左肘および右肘に装着されたセンシングユニット61Lおよび61Rからの各センサ信号の和に基づき、発音対象の音のピッチ等を算出する算出式を音定義データにより定義してもよい。また、別の演出トラックの同一小節に対応した第1種フレーズ構成データDF1において、体操選手41または42の左膝および右膝に装着されたセンシングユニット64Lおよび64Rからの各センサ信号の和に基づき、発音対象の音のピッチ等を算出する算出式を音定義データにより定義してもよい。これらの音定義データを用いることにより、体操選手41または42の左肘および右肘の動きに応じて第1のフレーズを奏で、左膝および右膝の動きに応じて第2のフレーズを奏でる、という演出が可能になる。
このような音のパラメータを算出するための算出式を定義する他、算出式以外の形態で表現された各種の条件を音定義データにより定義してもよい。例えば体操選手41の右足首のセンシングユニット66Rからのセンサ信号が第1の閾値未満であり、体操選手41の左脛のセンシングユニット65Lからのセンサ信号が第2の閾値未満である場合は、発音対象を第1の音とし、同センシングユニット66Rからのセンサ信号が第1の閾値以上であり、同センシングユニット65Lからのセンサ信号が第2の閾値未満である場合は、発音対象を第2の音とし、…という具合に各センサ信号が予め設定された範囲のいずれに属するかにより発音対象の音を決定する方法を音定義データにより定義してもよい。
フレーズ生成制御部102は、演奏位置に対応したフレーズ構成データDFとして、第1種フレーズ構成データDF1を記憶部130から読み出した場合、次のようなフレーズ生成制御を行う。
まず、フレーズ生成制御部102は、発音タイミングデータが示す第1音の発音タイミングになると、その時点における各センサ信号をサンプリングする。そして、サンプリングした各センサ信号の中から第1音の発音タイミングに対応付けられた音定義データに使用されているものを選択し、そのセンサ信号を用いて第1音を決定する。そして、第1音の生成を指示するMIDIメッセージを生成し、MIDI_I/F160から音源2に供給する。
第2音以降の各音についても同様であり、フレーズ生成制御部102は、発音タイミングデータが示す各音の発音タイミングにおいて、当該発音タイミングに対応付けられた音定義データに従って、その時点におけるセンサ信号に基づいて、発音対象の音を決定する。
<第2種フレーズ構成データDF2および同データに基づくフレーズ生成制御>
図7に示すように、第2種フレーズ構成データDF2は、発音条件データと、音定義データとにより構成されている。ここで、発音条件データは、フレーズを構成する第1音、第2音、…の各音について、当該音を発音するためにセンサ信号が満たすべき条件を定義したデータである。音定義データは、発音条件データにより定義された条件が満たされた場合に、センサ信号に基づいて発音対象とする音を決定する方法を定義したデータであり、第1種フレーズ構成データDF1の音定義データと同様である。
フレーズ生成制御部102は、演奏位置に対応したフレーズ構成データDFとして、第2種フレーズ構成データDF2を記憶部130から読み出した場合、次のようなフレーズ生成制御を行う。
フレーズ生成制御部102は、まず、各体操選手に関連したセンサ信号が第1音に対応した発音条件データにより定義された発音条件を満たしたか否かの判断を繰り返す。そして、第1音に対応した発音条件データにより定義された条件をセンサ信号が満たした場合、フレーズ生成制御部102は、第1音に対応付けられた音定義データに従って、センサ信号から発音対象の第1音を決定する。そして、第1音の生成を指示するMIDIメッセージを生成し、MIDI_I/F160から音源2に供給する。
以後、フレーズ生成制御部102は、第2音、第3音、…等の各音について同様な制御を繰り返す。
第2種フレーズ構成データDF2は、体操選手の激しい動きに合わせてフレーズの生成制御を行うのに有効である。例えば体操選手43が跳躍し、その左脛のセンシングユニット65Lからのセンサ信号が示す垂直方向の加速度の2重積分値(床からの距離)が閾値を越えたときにフレーズの第1音を発音する場合、その旨を第1音に対応した発音条件データとして定義すればよい。あるいは体操選手43が着地し、その左脛のセンシングユニット65Lからのセンサ信号が示す垂直方向の加速度は急激に変化したときにフレーズの第2音を発音する場合、その旨を第2音に対応した発音条件データとして定義すればよい。
<第3種フレーズ構成データDF3および同データに基づくフレーズ生成制御>
図8に示すように、第3種フレーズ構成データDF3は、トリガ条件データと、フレーズ定義データとにより構成されている。ここで、トリガ条件データは、フレーズの生成制御を開始するためにセンサ信号が満たすべき条件を定義したデータである。例えば体操選手41に装着された各センシングユニットのいずれかからのセンサ信号が閾値を越えたときにフレーズの生成制御を開始する場合には、その旨がトリガ条件データにより定義される。あるいは体操選手41に装着された特定のセンシングユニットからのセンサ信号に正のピークまたは負のピークが現れたときにフレーズの生成制御を開始する場合には、その旨がトリガ条件データにより定義される。フレーズ定義データは、フレーズを構成する各音を生成するためのMIDIメッセージを時系列化したデータである。
フレーズ生成制御部102は、演奏位置に対応したフレーズ構成データDFとして、第3種フレーズ構成データDF3を記憶部130から読み出した場合、次のようなフレーズ生成制御を行う。
フレーズ生成制御部102は、センサ信号がトリガ条件データにより定義された条件を満たしたか否かの判断を繰り返す。そして、トリガ条件データにより定義された条件をセンサ信号が満たした場合、フレーズ生成制御部102は、フレーズ定義データに従って、フレーズを構成する各音を生成するための各MIDIメッセージを順次生成し、MIDI_I/F160から音源2に供給する。
<第4種フレーズ構成データDF4および同データに基づくフレーズ生成制御>
図9に示すように、第4種フレーズ構成データDF4は、トリガ条件データと、フレーズ定義データとにより構成されている。ここで、トリガ条件データは、第3種フレーズ構成データDF3のトリガ条件データと同様、フレーズの生成制御を開始するためにセンサ信号が満たすべき条件を定義したデータである。フレーズ定義データは、第1種フレーズ構成データDF1の発音タイミングデータおよび音定義データに相当するデータにより構成されている。ここで、フレーズ定義データの発音タイミングデータは、フレーズを構成する第1音、第2音、…等の各音の発音タイミングを、トリガ条件データにより定義された条件が満たされたタイミングからの経過時間により定義したデータである。フレーズ定義データの音定義データは、第1種フレーズ構成データDF1の音定義データと同様、フレーズを構成する第1音、第2音、…等の各音をセンサ信号に基づいて決定する方法を定義したデータである。
フレーズ生成制御部102は、演奏位置に対応したフレーズ構成データDFとして、第4種フレーズ構成データDF4を記憶部130から読み出した場合、次のようなフレーズ生成制御を行う。
第3種フレーズ構成データDF3の場合と同様、フレーズ生成制御部102は、センサ信号がトリガ条件データにより定義された条件を満たしたか否かの判断を繰り返す。そして、トリガ条件データにより定義された条件をセンサ信号が満たした場合、フレーズ生成制御部102は、フレーズ定義データの発音タイミングデータが示す第1音の発音タイミングまで待機する。そして、第1音の発音タイミングになると、フレーズ生成制御部102は、フレーズ定義データにおける第1音の音定義データに従い、その時点におけるセンサ信号から発音対象である音を決定し、その音を生成するためのMIDIメッセージを生成し、MIDI_I/F160から音源2に供給する。フレーズを構成する第2音以降の各音についても同様である。
<第5種フレーズ構成データDF5および同データに基づくフレーズ生成制御>
図10に示すように、第5種フレーズ構成データDF5は、トリガ条件データと、フレーズ定義データとにより構成されている。ここで、トリガ条件データは、第3種フレーズ構成データDF3のトリガ条件データと同様である。フレーズ定義データは、第2種フレーズ構成データDF2の発音条件データおよび音定義データに相当するデータにより構成されている。ここで、発音条件データは、第2種フレーズ構成データDF2の発音条件データと同様、フレーズを構成する第1音、第2音、…等の各音について、当該音を発音するためにセンサ信号が満たすべき条件を定義したデータである。音定義データは、第2種フレーズ構成データDF2の音定義データと同様、フレーズを構成する第1音、第2音、…等の各音をセンサ信号に基づいて決定する方法を定義したデータである。
フレーズ生成制御部102は、演奏位置に対応したフレーズ構成データDFとして、第5種フレーズ構成データDF5を記憶部130から読み出した場合、次のようなフレーズ生成制御を行う。
第3種フレーズ構成データDF3の場合と同様、フレーズ生成制御部102は、センサ信号がトリガ条件データにより定義された条件を満たすまで待機する。そして、トリガ条件データにより定義された条件をセンサ信号が満たした場合、フレーズ生成制御部102は、フレーズ定義データの発音条件データおよび音定義データに基づいてフレーズの生成制御を行う。このフレーズの生成制御の態様は、上述した第2種フレーズ構成データDF2に基づくフレーズの生成制御の態様と同様である。
次に本実施形態の動作を説明する。図11は本実施形態におけるフレーズ生成制御部102の動作を示すフローチャートである。また、図12(a)〜(e)は、図11におけるステップS10、S20、S30、S40およびS50の処理内容を各々示すフローチャートである。なお、図11および図12には、フレーズ生成制御部102の動作のうち1演出トラック分の動作が示されている。フレーズ生成制御部102は、複数の演出トラックに各々対応した図11および図12の処理を並列に実行する。
本実施形態において、オーケストラ3による楽曲の演奏が開始され、スコアアライメント部101が楽曲の演奏位置として楽曲の開始位置を示す情報を出力すると、フレーズ生成制御部102は、図11および図12に示す処理の実行を開始する。
まず、フレーズ生成制御部102は、楽曲の演奏位置が楽曲の終了位置に達したか否かを判断する(ステップS1)。この判断結果が「YES」である場合、フレーズ生成制御部102は、図11に示す処理を終了する。一方、ステップS1の判断結果が「NO」である場合、フレーズ生成制御部102は、フレーズ構成データの更新タイミングになったか否か、すなわち、スコアアライメント部101の出力する演奏位置が小節線タイミングを越え、新たな小節に対応付けられたフレーズ構成データが演出データDD内にあるか否かを判断する。この判断結果が「NO」である場合、フレーズ生成制御部102の処理はステップS4に進む。一方、ステップS2の判断結果が「YES」である場合、フレーズ生成制御部102は、新たな小節に対応付けられたフレーズ構成データを演出データDDから読み出し、そのフレーズ構成データを処理対象とする(ステップS3)。そして、フレーズ生成制御部102の処理はステップS4に進む。
次にステップS4に進むと、フレーズ生成制御部102は、処理対象であるフレーズ構成データの種別を判断する。そして、フレーズ生成制御部102は、処理対象が第1種フレーズ構成データである場合は第1種フレーズ生成制御(ステップS10)を、処理対象が第2種フレーズ構成データである場合は第2種フレーズ生成制御(ステップS20)を、処理対象が第3種フレーズ構成データである場合は第3種フレーズ生成制御(ステップS30)を、処理対象が第4種フレーズ構成データである場合は第4種フレーズ生成制御(ステップS40)を、処理対象が第5種フレーズ構成データである場合は第5種フレーズ生成制御(ステップS50)を各々実行し、ステップS1に戻る。
次に図12(a)に示す第1種フレーズ生成制御(ステップS10)について説明する。まず、フレーズ生成制御部102は、処理対象である第1種フレーズ構成データにより定義されたフレーズが終了しているか否かを判断する(ステップS11)。ここで、フレーズが終了しているとは、当該第1種フレーズ構成データにより定義されたフレーズの全ての音についてのMIDIメッセージを生成し終えていること、あるいは当該第1種フレーズ構成データに基づくフレーズの生成制御を開始してから所定の限度時間を越えていることを意味する。この判断結果が「YES」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS11の判断結果が「NO」である場合、フレーズ生成制御部102の処理はステップS12に進む。
次にステップS12に進むと、フレーズ生成制御部102は、処理対象である第1種フレーズ構成データの発音タイミングデータにより定義された発音タイミングになったか否かを判断する。この判断結果が「NO」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS12の判断結果が「YES」である場合、フレーズ生成制御部102の処理はステップS13に進む。
次にステップS13に進むと、フレーズ生成制御部102は、処理対象である第1種フレーズ構成データの音定義データのうち当該発音タイミング(ステップS12の判断結果を「YES」にした発音タイミング)に対応付けられた音定義データに従い、その時点におけるセンサ信号から発音対象である音を決定する。
次にステップS14に進むと、フレーズ生成制御部102は、ステップS13において決定した音の生成を指示するMIDIメッセージを生成し、MIDI_I/F160から音源2に供給する。そして、フレーズ生成制御部102の処理は図11のステップS1に戻る。
次に図12(b)に示す第2種フレーズ生成制御(ステップS20)について説明する。まず、フレーズ生成制御部102は、処理対象である第2種フレーズ構成データにより定義されたフレーズが終了しているか否かを判断する(ステップS21)。この判断の内容は上述したステップS11と同様である。この判断結果が「YES」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS21の判断結果が「NO」である場合、フレーズ生成制御部102の処理はステップS22に進む。
次にステップS22に進むと、フレーズ生成制御部102は、処理対象である第2種フレーズ構成データの発音条件データのうち処理対象である発音条件データにより定義された発音条件をセンサ信号が満たしたか否かを判断する。ここで、処理対象である発音条件データとは、発音対象とする音を未だ1個も決定していない状況では第1音の発音条件データを指し、第k音までについて発音対象とする音を決定した状況では第k+1音の発音条件データを指す。ステップS22の判断結果が「NO」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS22の判断結果が「YES」である場合、フレーズ生成制御部102の処理はステップS23に進む。
次にステップS23に進むと、フレーズ生成制御部102は、処理対象である第2種フレーズ構成データの音定義データのうち当該発音条件データ(ステップS22の判断結果を「YES」にした発音条件データ)に対応付けられた音定義データに従い、その時点におけるセンサ信号から発音対象である音を決定する。
次にステップS24に進むと、フレーズ生成制御部102は、ステップS23において決定した音の生成を指示するMIDIメッセージを生成し、MIDI_I/F160から音源2に供給する。そして、フレーズ生成制御部102の処理は図11のステップS1に戻る。
次に図12(c)に示す第3種フレーズ生成制御(ステップS30)について説明する。まず、フレーズ生成制御部102は、処理対象である第3種フレーズ構成データにより定義されたフレーズが終了しているか否かを判断する(ステップS31)。この判断の内容は上述したステップS11と同様である。この判断結果が「YES」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS31の判断結果が「NO」である場合、フレーズ生成制御部102の処理はステップS32に進む。
次にステップS32に進むと、フレーズ生成制御部102は、処理対象である第3種フレーズ構成データのトリガ条件データにより定義されたトリガ条件をセンサ信号が満たしたか否かを判断する。この判断結果が「NO」である場合、フレーズ生成制御部102の処理は図11のステップS1に戻る。一方、ステップS32の判断結果が「YES」である場合、フレーズ生成制御部102の処理はステップS33のフレーズ生成に進む。なお、第3種フレーズ構成データが処理対象となり、その第3種フレーズ構成データのトルガ条件データにより定義されたトリガ条件が一旦満たされると、その時点以降、新たなフレーズ構成データが処理対象となるまでの間、ステップS32の判断結果は継続的に「YES」となり、ステップS33の処理が実行される。
次にステップS33に進むと、フレーズ生成制御部102は、処理対象である第3種フレーズ構成データのフレーズ定義データに従い、フレーズを構成する各音を生成するためのMIDIメッセージを順次生成し、MIDI_I/F160から音源2に供給する。そして、フレーズ生成制御部102の処理は図11のステップS1に戻る。
次に図12(d)に示す第4種フレーズ生成制御(ステップS40)について説明する。この第4種フレーズ生成制御(ステップS40)では、第3種フレーズ生成制御(ステップS30)のステップS31およびS32と同様な処理を行った後、フレーズ生成(ステップS43)を実行する。このフレーズ生成(ステップS43)では、第1種フレーズ生成制御(ステップS10)のステップS13〜S14と同様な処理を実行することにより、フレーズを構成する各音についてのMIDIメッセージの生成および出力を行う。
次に図12(e)に示す第5種フレーズ生成制御(ステップS50)について説明する。この第5種フレーズ生成制御(ステップS50)では、第3種フレーズ生成制御(ステップS30)のステップS31およびS32と同様な処理を行った後、フレーズ生成(ステップS53)を実行する。このフレーズ生成(ステップS53)では、第2種フレーズ生成制御(ステップS20)のステップS23〜S24と同様な処理を実行することにより、フレーズを構成する各音についてのMIDIメッセージの生成および出力を行う。
以上が本実施形態の動作である。
以上説明したように、本実施形態によれば、オーケストラ3の演奏に合わせて、体操選手41〜44が体操演技を行うと、その体操演技に応じたフレーズが生成される。従って、オーケストラ3の演奏と体操選手41〜44の体操演技に基づくフレーズ生成とのコラボレーションを実現することができる。
また、本実施形態によれば、楽曲の各種の演奏位置において、その演奏位置に対応付けられたフレーズ構成データに従ってフレーズの生成制御を行うので、センサ信号のフレーズ生成への関与の態様を演奏位置により変えることができ、演奏位置に適したフレーズを生成することができる。
例えば、ある小節において、体操選手の動きが緩やかである場合には、その小節に対応したフレーズ構成データとして、例えば第1種フレーズ構成データを利用することが考えられる。この場合、第1種フレーズ構成データの発音タイミングデータにより定義された各発音タイミングにおけるセンサ信号に基づいて、発音対象の音が決定される。従って、体操選手の身体の部位の微妙な動きを反映したセンサ信号により、発音対象である音を変化させる、といった演出が可能となる。
また、別の小節において、体操選手が跳躍する等、激しい動きをする場合には、その小節に対応したフレーズ構成データとして、例えば第3種フレーズ構成データを利用することが考えられる。この場合、第3種フレーズ構成データのトリガ条件データにより、体操選手の跳躍の瞬間にセンサ信号に現れる特徴をトリガ条件として定義しておくことにより、体操選手による跳躍をトリガとしてフレーズの生成および出力を行う演出が可能となる。なお、第3種フレーズ構成データを利用する代わりに、第2種、第4種、第5種のフレーズ構成データを利用してもよい。
また、本実施形態によれば、フレーズを構成する音がセンサ信号に基づいて決定されるので、体操選手の動きにより、フレーズを構成する音のピッチ、ベロシティ等を変化させることができ、表情豊かなフレーズを生成することができる。
<他の実施形態>
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
(1)上記実施形態では、小節単位でフレーズの生成を行ったが、フレーズを生成するタイミング、フレーズの長さは任意である。例えば楽曲における任意のタイミングをフレーズ生成開始タイミングとして設定し、そのフレーズ生成開始タイミングに対応付けられたフレーズ構成データを記憶部130に記憶させ、フレーズの生成制御に使用してもよい。
(2)上記実施形態において、楽曲演奏の途中でオーケストラ3の演奏音が継続的に途絶えるということがあり得る。その場合、例えば体操選手41〜44の誰かが一定の速度で走る等の規則的な動きを行い、スコアアライメント部101が、センサ信号の変化からその規則的な動きを検出し、その動きに合わせて演奏位置を進めるようにしてもよい。
(3)上記実施形態では、オーケストラ3による演奏と、体操選手の演技と、PC1および音源2によるフレーズの生成を同一会場において行った。しかし、これらは必ずしも同一会場において行われる必要はない。例えばオーケストラ会場において収音されたオーケストラ演奏の音信号を通信手段により別の会場に送信する。その会場において、スピーカがオーケストラ演奏の音信号を放音し、体操選手が演技を行い、PC1および音源2がオーケストラ演奏の音信号が示す演奏位置および体操選手から得られるセンサ信号に基づいてフレーズを生成して出力してもよい。
(4)上記実施形態において、オーケストラ演奏は生演奏であったが、記録媒体に録音されたオーケストラ演奏を再生してもよい。その際、PC1は、スコアアライメント技術を利用する代わりに、再生開始からの経過時間等に基づいて楽曲の演奏位置を取得してもよい。
(5)フレーズは、音長が短い複数の音の列であってもよく、持続時間の長い効果音のような音であってもよい。また、フレーズは、持続時間が長く、ピッチベンドを伴う効果音であってもよい。この場合において、上述した音定義データによりピッチベンドの態様を指定してもよい。
(6)発音条件データに加えて、消音条件データを採用してもよい。すなわち、発音条件データにより定義された発音条件をセンサ信号が満たしたとき、ある音の発音を開始し、消音条件データにより定義された消音条件をセンサ信号が満たしたとき、同音の発音を停止するのである。この態様によれば、ある音の発音を継続させ、その間に別の音を発音させる、という演出が容易になる。
(7)各種の演奏位置に対応付けて、フレーズ構成データにより生成対象であるフレーズを定義しておき、そのフレーズの生成タイミングにおいて、センサ信号に基づいてフレーズにピッチシフト等の編集処理を施すようにしてもよい。また、この態様において、センサ信号に基づいてフレーズに施す編集処理の内容をフレーズ構成データにおいて定義するようにしてもよい。
(8)上記実施形態において、発音タイミングデータ、音定義データ、発音条件データ、トリガ条件データ等と同じ役割を果たすサブルーチンを作成して記憶部130に記憶させ、フレーズ構成データ内には、これらのデータの代わりに、これらのデータの役割を果たすサブルーチンの格納先のアドレスを格納してもよい。
(9)上記実施形態において、フレーズの時間長は任意である。例えば任意の小節において、1小節よりも時間長の長いフレーズを生成してもよい。
(10)上記第2種または第5種のフレーズ構成データに基づくフレーズ生成制御において、生成中のフレーズの時間長が指定された上限に達したときにフレーズの生成制御を打ち切るようにしてもよい。その場合において、フレーズの時間長の上限をフレーズ構成データにおいて定義するようにしてもよい。
(11)上記実施形態において、1つの第3種フレーズ構成データの中で、トリガ条件データおよびフレーズ定義データの組を複数定義することができるようにしてもよい。この態様において、フレーズ生成制御部102は、トリガ条件が満たされた組のフレーズ定義データに従って、フレーズの生成制御を行う。ここで、複数組のトリガ条件データおよびフレーズ定義データにおける各組のトリガ条件データは、1つのトリガ条件データが示す条件のみが満たされる排他的な関係であってもよく、複数のトリガ条件データが示す条件が重複して満たされることがある関係であってもよい。前者の例として、第1のセンサ信号が第1の閾値以上であり、かつ、第2のセンサ信号が第2の閾値未満である場合は、第1のトリガ条件データが満たされて第1のフレーズ定義データに基づく第1のフレーズの生成制御を行い、第1のセンサ信号が第1の閾値以上であり、かつ、第2のセンサ信号が第2の閾値以上である場合は、第2のトリガ条件データが満たされて第2のフレーズ定義データに基づく第2のフレーズの生成制御を行う、といった制御が可能になる。また、後者の例として、生成対象とするフレーズを、第1のフレーズのみ、第2のフレーズのみ、あるいは第1のフレーズおよび第2のフレーズの両方という具合にセンサ信号に応じて切り換えることが可能になる。
なお、このようにする代わりに、例えば演出トラック1において、上記第1のトリガ条件データおよび第1のフレーズ定義データからなるフレーズ構成データを定義し、演奏トラック2の同じ演奏位置において上記第2のトリガ条件データおよび第2のフレーズ定義データからなるフレーズ構成データを定義してもよい。この場合も上記と同様な効果が得られる。
(12)1つの演奏位置において、直接生成モードでのフレーズ生成制御とフレーズトリガモードでのフレーズ生成制御の両方を行うようにしてもよい。具体的には、1つの演奏位置に対応したフレーズ構成データにおいて、直接生成対応フレーズ構成データと、フレーズトリガ対応フレーズ構成データの両方を定義することができるようにする。ここで、直接生成対応フレーズ構成データは、例えば第1種フレーズ構成データであり、第1のフレーズを構成する音の発音タイミングを示す発音タイミングデータと、各発音タイミングに対応付けられており、当該発音タイミングにおいて発音する音をセンサ信号に基づいて決定する方法を定義した音定義データとを含む。また、フレーズトリガ対応フレーズ構成データは、例えば第3種フレーズ構成データであり、第2のフレーズの生成制御を開始するためにセンサ信号が満たすべき条件を定義したトリガ条件データと、第2のフレーズを構成する各音を示す情報(例えばMIDIメッセージ)を時系列化したフレーズ定義データとを含む。
この態様において、フレーズ生成制御部102は、直接生成対応フレーズ構成データの発音タイミングデータが示す発音タイミングにおいて、当該発音タイミングに対応付けられた音定義データに従って、センサの出力信号に基づいて第1のフレーズを構成する音の生成制御を行う。なお、直接生成対応フレーズ構成データは、第2種フレーズ構成データであってもよい。この場合、フレーズ生成制御部102は、直接生成対応フレーズ構成データの発音条件データにより定義された条件をセンサ信号が満たしたとき、当該発音条件データに対応付けられた音定義データに従って、センサの出力信号に基づいて第1のフレーズを構成する音の生成制御を行う。
また、フレーズ生成制御部102は、トリガ条件データにより定義された条件をセンサの出力信号が満たしたとき、フレーズ定義データに従って、第2のフレーズの生成制御を行う。
この態様によれば、例えば体操選手の腕に装着されたセンシングユニットからのセンサ信号に従って直接生成モードによるフレーズ生成制御を行い、同選手の足に装着されたセンシングユニットからのセンサ信号に従ってフレーズトリガモードによるフレーズ生成制御を行う、といったことが可能になる。
なお、このようにする代わりに、例えば演出トラック1において、上記第1種または第2種のフレーズ構成データを定義し、演奏トラック2の同じ演奏位置において上記第3種フレーズ構成データを定義してもよい。この場合も上記と同様な効果が得られる。
(13)直接生成モードでは、単音のフレーズを生成してもよく、和音のフレーズを生成してもよい。また、フレーズトリガモードでは、モノフォニックなフレーズを生成してもよく、ポリフォニックなフレーズを生成してもよい。
(14)上記実施形態において、フレーズ生成制御部102は、MIDIメッセージを音源2に供給することによりフレーズを生成したが、他の手段によりフレーズを生成してもよい。例えばフレーズ生成制御部102は、MIDIメッセージの代わりに、フレーズの音波形を示すオーディオデータを生成し、このオーディオデータに基づく音信号によりスピーカを駆動してフレーズの生成を行ってもよい。