(57)【要約】【課題】演奏者が演奏操作子を振る強さの範囲の違いに関わらず、各演奏者の意図を忠実に反映した音量の音を音源から発音させる。【手段】補正データ生成処理４２では、ＣＰＵ３８は、各演奏者が演奏操作子１０−ｎの試し振りを始めてから終えるまでの間にバッファ３２に書き込まれる加速度ａｓを分析した結果に基づいて補正関数を生成する。演奏処理４３では、ＣＰＵ３８は、演奏モードにおいて合奏曲の演奏に参加する演奏者が演奏操作子１０−ｎを振る動作を続けている間にバッファ３２に書き込まれる加速度ａｓをこの補正関数によって補正し、補正後の加速度ａｓ’に応じたベロシティＶｅｌを含むＭＩＤＩメッセージを音源６０に出力する。【選択図】図１
2010181604.tif 000002
【特許請求の範囲】
【請求項１】
演奏操作子の挙動を示す物理量を取得する取得手段と、
前記取得手段が取得した物理量を補正する補正手段と、
前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、
前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
を具備することを特徴とする演奏制御装置。
【請求項２】
演奏操作子の挙動を示す物理量を取得する取得手段と、
前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、
前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、
前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
を具備することを特徴とする演奏制御装置。
【請求項３】
前記取得手段が取得した物理量を記憶するバッファと、
前記バッファに記憶される一連の物理量の波形に出現する複数のピークを検出し、検出した複数のピークを分析した１または複数の種類の分析値に基づいて、前記補正手段による補正の態様を決定付ける補正データを生成する補正データ生成手段と
をさらに具備し、
前記補正態様制御手段は、前記補正データ生成手段が生成した補正データに基づいて前記補正手段が行う補正の態様を制御する
ことを特徴とする請求項１または２に記載の演奏制御装置。
【請求項４】
前記発音手段による発音指示の出力時刻を遅らせる遅延手段をさらに具備し、
前記補正態様制御手段は、
前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記遅延手段における発音指示の出力時刻の遅延量を制御する
ことを特徴とする請求項１から３のいずれか１項に記載の演奏制御装置。
【請求項５】
前記演奏操作子に内蔵され、当該演奏操作子に加わる加速度を当該演奏操作子の挙動を示す物理量として検出するセンサと、
前記センサが検出した加速度を送信する送信手段と、
請求項１から４のいずれか１項に記載の演奏制御装置と、
前記演奏制御装置の指示に従って音を発生する音源と
を具備することを特徴とする演奏システム。
【請求項６】
コンピュータに、
演奏操作子の挙動を示す物理量を取得する取得手段と、
前記取得手段が取得した物理量を補正する補正手段と、
前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、
前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
を実現させるプログラム。
【請求項７】
コンピュータに、
演奏操作子の挙動を示す物理量を取得する取得手段と、
前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、
前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、
前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＩＤＩ（Musical
Instrument Digital Interface）などのシーケンスデータに従って曲を演奏する技術に関する。
【背景技術】
【０００２】
演奏者の手に把持させた演奏操作子に加わる加速度を加速度センサにより定量化し、加速度の波形のピークを検出するたびに、そのピークにおける加速度の大きさに応じたベロシティの楽音を音源から発音させる演奏制御装置がある。この演奏制御装置においては、演奏操作子に加速度センサが内蔵され、そのセンサの出力信号の波形がピークになるタイミングに合わせて楽音が発音されるようになっている。この演奏制御装置によると、演奏者は、「音を出したいときは演奏操作子を振る」という簡単な操作により、演奏音を奏でることができる。なお、この種の演奏制御装置は、たとえば、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−５３９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、この種の演奏制御装置を使う演奏者が演奏操作子を振る強さの範囲には個人差がある。よって、演奏操作子に加わる加速度をその大きさに応じたベロシティに変換するにすぎない従来の技術では、演奏者が大きな音を発音させようとして演奏操作子を振ったにもかかわらずその意図する音量より小さな音が発音されたり、演奏者が小さな音を発音させようとして演奏操作子を振ったにもかかわらずその意図する音量より大きな音量の音が発音される、といったように、演奏者の意図する音量と実際に発音される音の音量との間のずれが生じることがあった。
本発明は、このような背景の下に案出されたものであり、演奏者が演奏操作子を振る強さの範囲の違いに関わらず、各演奏者の意図を忠実に反映した音量の音を発音できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、演奏操作子の挙動を示す物理量を取得する取得手段と、前記取得手段が取得した物理量を補正する補正手段と、前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段とを具備する演奏制御装置を提供する。
本発明によると、演奏操作子の挙動を示す物理量を補正し、補正後の物理量の波形に現れるピークを検出し、検出したピークにおける物理量の大きさに応じた音量の音を発生させる。さらに、演奏操作子の挙動を示す物理量を分析し、以後の補正の態様をその分析の結果に基づいて制御する。よって、演奏操作子を振る演奏者ごとにその演奏操作子の挙動を示す物理量の波形を分析し、それらの演奏者ごとの分析の結果に応じて補正の態様を変化させるようにすることにより、各演奏者の意図を忠実に反映した音量の音を音源から発音させることができる。
【０００６】
また、本発明は、演奏操作子の挙動を示す物理量を取得する取得手段と、前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段とを具備する演奏制御装置を提供する。
本発明によると、演奏操作子の挙動を示す物理量の波形に現れるピークを検出し、検出したピークにおける加速度を補正し、補正後の物理量の大きさに応じた音量の音を発生させる。さらに、演奏操作子の挙動を示す物理量を分析し、以後の補正の態様をその分析の結果に基づいて制御する。よって、本発明によっても、各演奏者の意図を忠実に反映した音量の音を音源から発音させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。
【図２】図１に示す演奏制御装置の曲データ記憶メモリに記憶された曲データのデータ構造を示す図である。
【図３】図１に示す演奏制御装置のベロシティ変換テーブル記憶メモリに記憶されたベロシティ変換テーブルのデータ構造を示す図である。
【図４】図１に示す演奏制御装置の補正データ記憶メモリに記憶される補正関数を示す図である。
【図５】本発明の第２実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。
【図６】本発明の第３実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。
【図７】本発明の第３実施形態にかかる演奏制御装置の遅延処理の動作を示す図である。
【図８】本発明の他の実施形態にかかる演奏制御装置の補正テーブルを示す図である。
【図９】本発明の他の実施形態にかかる演奏制御装置の補正関数を示す図である。
【発明を実施するための形態】
【０００８】
（第１実施形態）
以下、図面を参照し、この発明の第１実施形態を説明する。
図１は、この発明の第１実施形態である演奏制御装置２０を含む演奏システムの構成を示すブロック図である。図１において、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）は、複数の演奏者の各々が手に把持し、上下に振る動作を行う操作子である。演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）は、加速度センサ１１−ｎ（ｎ＝１，２…Ｎ）と無線信号送信部１２−ｎ（ｎ＝１，２…Ｎ）を内蔵している。加速度センサ１１−ｎ（ｎ＝１，２…Ｎ）は、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）の挙動を示す物理量である加速度を検出する。より具体的には、加速度センサ１１−ｎ（ｎ＝１，２…Ｎ）は、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）に働く加速度ベクトルを互いに直交した３軸方向の加速度成分ａｘ、ａｙ、ａｚに分解して検出し、これらの加速度成分ａｘ、ａｙ、ａｚを示すアナログ信号を各々出力する。
【０００９】
無線信号送信部１２−ｎ（ｎ＝１，２…Ｎ）は、一定時間長（例えば５ｍｓ）のサンプリング周期ごとに、加速度センサ１１−ｎ（ｎ＝１，２…Ｎ）から出力されるアナログ信号をサンプリングしてデジタル化することにより、加速度成分ａｘ，ａｙ，ａｚを示すデータを生成し、加速度成分ａｘ，ａｙ，ａｚを示すデータと演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）を特定するＩＤとを含むパケットを無線区間を介して演奏制御装置２０に送信する。
演奏制御装置２０は、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）から受信されるパケットに基づいて、ＭＩＤＩメッセージを生成し、音源６０に供給する装置である。この演奏制御装置２０の構成は、後に詳述する。
【００１０】
音源６０は、ＭＩＤＩ音源である。この音源６０は、演奏制御のためのＭＩＤＩメッセージを演奏制御装置２０からインターフェース３０を介して受け取り、そのＭＩＤＩメッセージに含まれるベロシティＶｅｌに応じた音量レベルの音信号を生成し、スピーカ６１へ出力する。以降は、音源６０が受け付けるベロシティＶｅｌの最小値をベロシティＶｅｌMINと記し、音源６０が受け付けるベロシティＶｅｌの最大値をベロシティＶｅｌMAXと記す。また、ベロシティＶｅｌMINからベロシティＶｅｌMAXまでの範囲を「有効ベロシティ範囲」と呼ぶ。
【００１１】
次に、演奏制御装置２０について、説明する。
演奏制御装置２０は、操作表示部２１、無線信号受信部２２、制御部２３、およびインターフェース３０を有する。
操作表示部２１は、各種情報を表示するとともに、演奏モードと試し振りモードのうち一方のモードを選択するモード選択操作を受け付ける。演奏モードは、合奏曲を演奏する各演奏者が演奏操作子１０−ｎを振る動作を繰り返し、その演奏操作子１０−ｎの挙動に応じた曲調の曲を音源６０から発音させるモードである。試し振りモードは、各演奏者が演奏操作子１０−ｎを様々な強さで所定回数ずつ振り、その所定回数ずつの振りから各々の振りの癖を分析するモードである。
【００１２】
各演奏者は、合奏曲の演奏の開始に先立ち、試し振りモードを選択する。試し振りモードでは、「最強」と「最弱」の２種類の強さで所定回数ずつ演奏操作子１０−ｎを振るように強勢を付けた試奏曲を音源６０から発音させ、各演奏者はこの試奏曲に合わせて試し振りを行う。音源６０は演奏制御装置２０による制御の下に試奏曲を発音する。詳しくは、後述する。
【００１３】
各演奏者は、試し振りを終えたあと、演奏モードを選択し、合奏曲を演奏する。演奏モードでは、各演奏者に合奏曲の演奏パートを１つずつ任せる。演奏者は、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）を振る動作を一斉に始め、以後、各々は演奏操作子１０−ｎを振るテンポと振りの強さを変化させることにより、各々に任された演奏パートの音のテンポと音量をコントロールする。
【００１４】
無線信号受信部２２は、一定時間長（例えば５ｍｓ）のサンプリング周期ごとに、演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）から無線区間を介して送信されたパケットを受信し、受信したパケットから演奏操作子１０−ｎのＩＤと加速度成分ａｘ，ａｙ，ａｚの対を取り出し、その対を制御部２３に引き渡す。
【００１５】
制御部２３は、加速度合成部３１、バッファ３２、曲データ記憶メモリ３３、ベロシティ変換テーブル記憶メモリ３４、補正データ記憶メモリ３５、ＲＯＭ３６、ＲＡＭ３７、およびＣＰＵ３８を有する。
加速度合成部３１は、無線信号受信部２２から演奏操作子１０−ｎのＩＤと加速度成分ａｘ，ａｙ，ａｚの対を取得すると、取得した加速度成分ａｘ，ａｙ，ａｚを次式（１）に代入することによって求めた加速度ａｓを、そのＩＤと対応づけてバッファ３２に書き込む。
ａｓ＝（ａｘ２＋ａｙ２＋ａｚ２）１/２ …（１）
【００１６】
曲データ記憶メモリ３３は、曲データを記憶したメモリである。図２に示すように、曲データは、合奏曲における各演奏パートの演奏内容を示す一連のＭＩＤＩイベントデータを、複数のトラックに分けて時系列順に記述したデータである。各トラックに記述されるＭＩＤＩイベントデータは、発音する音のピッチを決定付ける音名ＮNUMや、その音量レベルを決定付けるベロシティＶｅｌなどのパラメータを含む。
【００１７】
補正データ記憶メモリ３５は、各演奏者ごとの補正関数を記憶したメモリである。補正関数は、演奏モードにおいて演奏者が合奏曲の演奏パートを演奏している間に演奏操作子１０−ｎに加わる加速度ａｓを補正して補正済み加速度ａｓ’（以下、「加速度ａｓ’」と記す）とするための関数である。この補正関数は、試し振りモードにおいて各演奏者が演奏操作子１０−ｎの試し振りを行ったときに演奏操作子１０−ｎに加わった加速度ａｓのサンプル群の分析結果に基づいて各々生成される。詳しくは、後述する。
【００１８】
ベロシティ変換テーブル記憶メモリ３４は、ベロシティ変換テーブルを記憶したメモリである。図３に示すように、ベロシティ変換テーブルは、有効ベロシティ範囲内の各ベロシティＶｅｌと、それらのベロシティＶｅｌに応じた音量での発音を意図して演奏操作子１０−ｎが振られたものとみなす加速度ａｓ’とを対応付けたテーブルである。以降は、このベロシティ変換テーブルにおけるベロシティＶｅｌMINと対応する加速度ａｓ’からベロシティＶｅｌMAXと対応する加速度ａｓ’までの範囲を「有効加速度範囲」と呼ぶ。
【００１９】
ＲＯＭ３６は、制御プログラム３９を記憶した読み出し専用メモリである。制御プログラム３９は、試奏曲出力処理４１、補正データ生成処理４２、演奏処理４３、および補正態様制御処理４５をＣＰＵ３８に実行させるプログラムである。ＣＰＵ３８は、ＲＡＭ３７をワークエリアとして利用しつつ、ＲＯＭ３６に記憶された制御プログラム３９を実行する。
【００２０】
以下、制御プログラム３９の働きによってＣＰＵ３８が実行する各処理について説明する。
試奏曲出力処理４１は、操作表示部２１によって試し振りモードが選択されたときに、試奏曲をなす一連のＭＩＤＩメッセージをインターフェース３０を介して音源６０に出力する処理である。この試奏曲は、「最強」の強さで演奏操作子１０−ｎを振るタイミングと「最弱」の強さで演奏操作子１０−ｎを振るタイミングを異なる音色の音によって案内する曲であることが望ましい。演奏曲のＭＩＤＩメッセージの供給をうけた音源６０はそのＭＩＤＩメッセージの指示に従って試奏曲を発音し、この試奏曲に合わせて演奏者が演奏操作子１０−ｎの試し振りを行うことは、上述した通りである。
【００２１】
補正データ生成処理４２は、演奏者が演奏操作子１０−ｎの試し振りを始めてから終えるまでの間にバッファ３２に書き込まれる加速度ａｓからその演奏者の振り方の癖を分析し、分析の結果に基づいて以下の２つの式（２）、（３）の定数ａｓMAX，ａｓMIN，ａ，ｂ，ｃを決定し、定数ａｓMAX，ａｓMIN，ａ，ｂ，ｃを決定した式（２），（３）をその演奏者に固有の補正関数として補正データ記憶メモリ３５に記憶させる処理である。
ａｓNOR＝ａｓ／（ａｓMAX−ａｓMIN）…（２）
ａｓ’＝ａ・sin（π・ａｓNOR）＋ｂ＋ｃ・ａｓNOR…（３）
これらの２つの式（２），（３）のうち式（２）は、演奏操作子１０−ｎに加わった加速度ａｓを０〜１の変域内の値である正規化値ａｓNORへと変換するための式であり、式（３）は、その正規化値ａｓNORをベロシティ変換テーブル記憶メモリ３４においてベロシティＶｅｌと対応づけられた値である加速度ａｓ’へと変換するための式である。
【００２２】
試し振りモードにおいて、演奏者は、「最強」と「最弱」の２種類の強さで所定回数ずつ試し振りを行うことを促される。よって、その後の演奏モードにおいてこの演奏者が強弱振り分けながら演奏操作子１０−ｎを振った場合における振りの強さは、「最強」のつもりで振った強さから「最弱」のつもりで振った強さまでの範囲に分布するはずである。また、各演奏者は、「最強」に近い振りは鋭いが「最弱」に近い振りは曖昧である、「最強」に近い振りは曖昧だが「最弱」に近い振りは鋭い、「最強」に近い振りの大きさは細かく変化させることができるものの「最弱」に近い振りの大きさは大雑把にしか変化させることができない、「最強」に近い振りの大きさは大雑把にしか変化させることができないものの「最弱」に近い振りは細かく変化させることができる、などといった様々な振り方の癖を持っている。そして、このような演奏者ごとの振り方の癖は、「最強」のつもりで振った複数回の振りの強さやその各々の振りの鋭さ、「最弱」のつもりで振った複数回の振りの強さやその各々の振りの鋭さを分析すればある程度の確度をもって判定することが可能である。
【００２３】
そこで、ＣＰＵ３８は、前掲の式（２），（３）における定数ａｓMAX，ａｓMIN，ａ，ｂ，ｃを以下のようにして決定する。まず、ＣＰＵ３８は、バッファ３２に書き込まれた加速度ａｓの波形から、演奏者が「最強」のつもりで演奏操作子１０−ｎを振ったときのピークＰSTR−ｋ（ｋ＝１，２，…）と「最弱」のつもりで演奏操作子１０−ｎを振ったときのピークＰWEK−ｉ（ｉ＝１，２，…）を各々検出し、ピークＰSTR−ｋ（ｋ＝１，２，…）の各々の加速度ａｓのうちの最大値を式（２）における定数ａｓMAXとし、ピークＰWEK−ｉ（ｉ＝１，２，…）の各々の加速度ａｓのうちの最小値を式（２）における定数ａｓMINとする。
【００２４】
その上で、ＣＰＵ３８は、定数ａｓMAX，ａｓMINを決定した式（２）にピークＰSTR−ｋ（ｋ＝１，２，…），ＰWEK−ｉ（ｉ＝１，２，…）の加速度ａｓを代入し、ピークＰSTR−ｋ（ｋ＝１，２，…）の加速度ａｓの正規化値ａｓNOR−ｋ（ｋ＝１，２，…）とピークＰWEK−ｉ（ｉ＝１，２，…）の加速度ａｓの正規化値ａｓNOR−ｉ（ｉ＝１，２，…）を求める。
さらに、ＣＰＵ３８は、ピークＰSTR−ｋ（ｋ＝１，２，…）の加速度ａｓの正規化値ａｓNOR−ｋ（ｋ＝１，２，…）の平均値ASAVESTRと標準偏差DEVSTR、ピークＰWEK−ｉ（ｉ＝１，２，…）の加速度ａｓの正規化値ａｓNOR−ｉ（ｉ＝１，２，…）の平均値ASAVEWEKと標準偏差DEVWEK、ピークＰSTR−ｋ（ｋ＝１，２，…）におけるＱ値の平均値QAVESTR、ピークＰWEK−ｉ（ｉ＝１，２，…）におけるＱ値の平均値QAVEWEKの６種類の分析値を求める。後に詳述するように、この６種類の分析値は式（３）における定数ａの決定に用いられる。
【００２５】
次に、ＣＰＵ３８は、有効加速度範囲の下限値（具体的には、ベロシティ変換テーブルにおけるベロシティＶｅｌMINと対応する加速度ａｓ’）を式（３）における定数ｂとし、有効加速度範囲の上限値と下限値の差（具体的には、ベロシティ変換テーブルにおけるベロシティＶｅｌMAXと対応する加速度ａｓ’とベロシティＶｅｌMINと対応する加速度ａｓ’との差）を式（３）における定数ｃとする。
ここで、以上のようにして式（３）の定数ｂとｃを決定し、その定数ａを仮に０とした場合、図４（Ａ）に示すように、０〜１までの正規化値ａｓNORは有効加速度範囲内の加速度ａｓ’に線形に対応する。また、この式（３）の定数ａを正とした場合、図４（Ｂ）に示すように、式（３）における補正関数は上に凸となり、ａの絶対値が大きくなるほどその凸みの程度は大きくなる。反対に、この式（３）の定数ａを負とした場合、図４（Ｃ）に示すように、式（３）における補正関数は下に凸となり、ａの絶対値が大きくなるほどその凸みの程度は大きくなる。ＣＰＵ３８は、このような性質を有する式（３）の定数ａを、上述した６種類の分析値を用いて決定する。この分析値による定数ａの決定は、いくつかの態様で行うことが可能である。
【００２６】
第１の態様は、６種類の分析値のうち平均値QAVESTRと平均値QAVEWEKを用いて定数ａを決定する態様である。この態様では、平均値QAVESTRが閾値ｔｈQSTRより大きい場合には、「最強」に近い強い振りにおいて上下に鋭く振るような振り方の癖を持っているとみなし、平均値QAVEWEKが閾値ｔｈQWEKより大きい場合には、「最弱」に近い弱い振りにおいて上下に鋭く振るような振り方の癖を持っているとみなす。そして、この態様では、平均値QAVESTRが閾値ｔｈQSTRより大きくかつ平均値QAVEWEKが閾値ｔｈQWEKより小さい場合は、定数ａを平均値QAVESTRと閾値ｔｈQSTRの差に応じた負の値として、「最強」に近い強い振りにおいて上下に鋭く振るような振り方を加速度ａｓ’に敏感に反応させるようにする。一方、平均値QAVEWEKが閾値ｔｈQWEKより大きくかつ平均値QAVESTRが閾値ｔｈQSTRより小さい場合は、定数ａを平均値QAVEWEKと閾値ｔｈQWEKの差に応じた正の値として、「最弱」に近い振りにおいて上下に鋭く振るような振り方を加速度ａｓ’に敏感に反応させるようにする。また、以上のいずれにも該当しない場合は、定数ａを０とする。
【００２７】
第２の態様は、６種類の分析値のうち標準偏差DEVSTR、平均値QAVESTR、標準偏差DEVWEK、および平均値QAVEWEKを用いて定数ａを決定する態様である。この態様では、標準偏差DEVSTRが閾値ｔｈDSTRより小さくかつ平均値QAVESTRが閾値ｔｈQSTRより大きい場合には、振りの強さが「最強」に近くなるほど振り方が鋭くなりそのばらつきが小さくなる（強弱の振り分けが安定してくる）、という振り方の癖を持っているとみなし、標準偏差DEVWEKが閾値ｔｈDWEKより小さくかつ平均値QAVEWEKが閾値ｔｈQWEKより大きい場合には、振りの強さが「最弱」に近くなるほど振り方が鋭くなりそのばらつきが小さくなる（強弱の振り分けが安定してくる）、という振り方の癖を持っているとみなす。そして、この態様では、標準偏差DEVSTRが閾値ｔｈDSTRより小さくかつ平均値QAVESTRが閾値ｔｈQSTRより大きい、という第１の条件を満たし、さらに標準偏差DEVWEKが閾値ｔｈDWEKより小さくかつ平均値QAVEWEKが閾値ｔｈQWEKより大きい、という第２の条件を満たさない場合、定数ａを平均値QAVESTRと閾値ｔｈQSTRの差に応じた負の値とする。一方、第１の条件を満たさずさらに第２の条件を満たす場合、定数ａを平均値QAVEWEKと閾値ｔｈQWEKの差に応じた正の値とする。また、第１の条件と第２の条件をともに満たさない場合、あるいは、第１の条件と第２の条件をともに満たす場合、定数ａを０とする。
【００２８】
第３の態様は、６種類の分析値のすべてを用いて定数ａを決定する態様である。この態様では、平均値ASAVESTR、標準偏差DEVSTR、平均値QAVESTR、平均値ASAVEWEK、標準偏差DEVWEK、平均値QAVEWEKの６種類の分析値の組み合わせとそれらの組み合わせの分析値が得られたときに採用することが好ましい補正関数の定数ａとを各々対応付けたテーブルをあらかじめ準備しておき、演奏者が試し振りを始めてから終えるまでの間にバッファ３２に書き込まれた加速度ａｓから得られた６種類の分析値の組み合わせと対応する定数ａをこのテーブルから読み出す。
【００２９】
図１における演奏処理４３は、演奏モードにおいて、合奏曲の演奏に参加する演奏者の演奏操作子１０−ｎの各々と対応する演奏処理タスク４４−ｎを立ち上げ、それらの演奏処理タスク４４−ｎを並列して実行させる処理である。
１つの演奏操作子１０−ｎと対応する演奏処理タスク４４−ｎでは、ＣＰＵ３８は、加速度取得処理、補正処理、ピーク検出処理、および発音処理の４つの処理を実行する。
これら４つの処理について具体的に説明する。加速度取得処理は、加速度合成部３１によってバッファ３２に書き込まれる加速度ａｓのうち当該演奏操作子１０−ｎのＩＤと対応する加速度ａｓを取得する処理である。また、補正処理は、加速度取得処理によって取得した加速度ａｓを、補正関数である前掲の式（２），（３）のうちの式（２）に代入して正規化値ａｓNORとし、その正規化値ａｓNORを式（３）に代入して加速度ａｓ’を求める処理である。各演奏処理タスク４４−ｎの補正処理の補正に用いる補正関数は、補正態様制御処理４５によって提供される。補正態様制御処理４５の内容は後述する。
【００３０】
ピーク検出処理は、補正処理によって補正した加速度ａｓ’の波形から閾値を超える加速度ａｓ’の大きさをもったピーク（「有効ピーク」という）を検出する処理である。発音処理は、ピーク検出処理によって有効ピークが検出されるたびに、曲データにおける１つのトラックに記述されているＭＩＤＩイベントデータを時系列順に読み出し、読み出したＭＩＤＩイベントデータのベロシティＶｅｌをベロシティ変換テーブルにおいてその有効ピークの加速度ａｓ’と対応付けられているベロシティＶｅｌに置き換え、ベロシティＶｅｌを置き換えたＭＩＤＩイベントデータをＭＩＤＩメッセージとして出力する処理である。
【００３１】
補正態様制御処理４５は、演奏処理タスク４４−ｎの補正処理に用いる補正関数を提供することにより、各々の補正処理における補正の態様を制御する処理である。より具体的に説明すると、この補正態様制御処理４５では、ＣＰＵ３８は、合奏曲の演奏に参加する演奏者の演奏操作子１０−ｎの各々と対応する演奏処理タスク４４−ｎの並列処理を始める前に、それらの演奏者の各々に固有の補正関数を補正データ記憶メモリ３５から読み出し、読み出した補正関数をそれらの各演奏者の演奏操作子１０−ｎに応じた演奏処理タスク４４−ｎの補正処理に用いる補正関数として提供する。
【００３２】
本実施形態にかかる演奏制御装置２０は、試し振りモードにおいて演奏者に各々の演奏操作子１０−ｎの試し振りを行わせてその試し振りの間に演奏操作子１０−ｎに加わった加速度ａｓを分析し、その分析結果に基づいて各々に固有の補正関数を生成する。そして、演奏モードにおいてそれらの演奏者が演奏操作子１０−ｎを振る動作を行うと、演奏操作子１０−ｎに加わる加速度ａｓを各々の補正関数（式（２），（３））によって有効加速度範囲内の加速度ａｓ’へと補正し、加速度ａｓ’の波形に現れるピークを検出し、検出したピークにおける加速度ａｓ’の大きさに応じた音量で各演奏者の演奏パートの音を発音させる。よって、本実施形態によると、合奏曲に参加する演奏者の振りの強さの範囲にかかわらず、その演奏者の意図を忠実に反映した音量の音を音源６０から発音させることができる。
【００３３】
（第２実施形態）
以下、図面を参照し、この発明の第２実施形態を説明する。
図５は、この発明の第２実施形態である演奏制御装置２０Ａを含む演奏システムの構成を示すブロック図である。本実施形態において、１つの演奏操作子１０−ｎと対応する演奏処理タスク４４−ｎでは、ＣＰＵ３８は、加速度取得処理、ピーク検出処理、補正処理、および発音処理の４つの処理を実行する。加速度取得処理の内容は、第１実施形態における加速度取得処理と同様である。
【００３４】
ピーク検出処理は、加速度取得処理によって取得した加速度ａｓの波形から有効ピークを検出する処理である。補正処理は、ピーク検出処理によって検出された有効ピークにおける加速度ａｓを、補正関数である前掲の式（２），（３）のうちの式（２）に代入して正規化値ａｓNORとし、その正規化値ａｓNORを式（３）に代入して加速度ａｓ’を求める処理である。各演奏処理タスク４４−ｎの補正処理の補正に用いる補正関数は、補正態様制御処理４５によって提供される。補正態様制御処理による補正関数の提供の手順は、第１実施形態における補正関数の提供の手順と同様である。
【００３５】
発音処理は、有効ピークにおける加速度ａｓが補正処理によって補正されるたび、曲データにおける１つのトラックに記述されているＭＩＤＩイベントデータを時系列順に読み出し、読み出したＭＩＤＩイベントデータのベロシティＶｅｌをベロシティ変換テーブルにおいてその補正後の加速度ａｓ’と対応付けられているベロシティＶｅｌに置き換え、ベロシティＶｅｌを置き換えたＭＩＤＩイベントデータをＭＩＤＩメッセージとして出力する処理である。
【００３６】
以上説明した本実施形態では、加速度取得処理によって取得した加速度ａｓの波形から有効ピークを検出した後、その有効ピークの加速度ａｓを補正関数（式（２），（３））によって補正することにより有効加速度範囲内の加速度ａｓ’とする。そして、第１実施形態と同様に、試し振りモードにおいて演奏者に各々の演奏操作子１０−ｎの試し振りを行わせてその試し振りの間に演奏操作子１０−ｎに加わった加速度ａｓを分析し、その分析結果に基づいて生成した補正関数を補正処理における補正に用いる。よって、本実施形態によっても、合奏曲に参加する各演奏者の振り強さの範囲にかかわらず、各演奏パートの音を演奏者の意図にマッチした音量で発音させることができる。
【００３７】
（第３実施形態）
以下、図面を参照し、この発明の第３実施形態を説明する。
図６は、この発明の第３実施形態である演奏制御装置２０Ｂを含む演奏システムの構成を示すブロック図である。
図６において、補正データ生成処理４２は、試し振りモードにおいて演奏者が演奏操作子１０−ｎの試し振りを始めてから終えるまでの間にバッファ３２に書き込まれる加速度ａｓを分析した結果に基づいて補正関数を生成する第１の処理と、それらの加速度ａｓを分析した結果に基づいて時間補正データを生成する第２の処理とを有する。
【００３８】
時間補正データは、標準的な演奏者が演奏操作子１０−ｎを振ろうとしてから演奏操作子１０−ｎを振るまでに要する時間（「標準反応時間」という）と合奏曲の演奏を実際に行う各演奏者が演奏操作子１０−ｎを振ろうとしてから演奏操作子１０−ｎを振るまでに要する各演奏者に固有の時間（「演奏者別反応時間」という）との時間差を補正するためのデータである。
補正データ生成処理４２における第１の処理の内容は、第１実施形態における補正データ生成処理４２の内容と同じである。
【００３９】
第２の処理では、ＣＰＵ３８は、試奏曲における演奏操作子１０−ｎを振るタイミングを案内する各音が発音されるたびに、それらの音が発音された時刻からバッファ３２に書き込まれる加速度ａｓの波形に有効ピークが出現した時刻までに要した時間を演奏者別反応時間として計測し、それらの演奏者別反応時間の平均を求める。次に、ＣＰＵ３８は、その演奏者別反応時間の平均と標準反応時間との差を求め、その差を埋め合わせるために必要なオフセット量を示す時間補正データを生成する。より具体的に説明すると、ある演奏者の演奏者別反応時間の平均と標準反応時間との差が正である場合、その演奏者が演奏操作子１０−ｎを振ろうとしてからその演奏操作子１０−ｎを振るまでに要する時間は標準反応時間より長いとみなし、演奏者別反応時間の平均と標準反応時間との差の絶対値に負の符号を付した値をその演奏者の時間補正データとする。逆に、ある演奏者の演奏者別反応時間の平均と標準反応時間との差が負である場合、その演奏者が演奏操作子１０−ｎを振ろうとしてからその演奏操作子１０−ｎを振るまでに要する時間は標準反応時間より短いとみなし、演奏者別反応時間の平均と標準反応時間との差の絶対値に正の符号を付した値をその演奏者の時間補正データとする。
【００４０】
図６において、１つの演奏操作子１０−ｎと対応する演奏処理タスク４４−ｎでは、ＣＰＵ３８は、加速度取得処理、補正処理、ピーク検出処理、発音処理、および遅延処理の５つの処理を実行する。加速度取得処理、補正処理、ピーク検出処理、発音処理の内容は、第１実施形態におけるそれら４つの処理の内容と同じである。
遅延処理は、発音処理によって出力されるＭＩＤＩデータを遅延させてからインターフェース３０へ出力する処理である。詳しくは、後述する。
【００４１】
補正態様制御処理４５は、演奏処理タスク４４−ｎの補正処理に用いる補正関数と遅延処理に用いる時間補正データとを提供することにより、各々の補正処理の態様と遅延処理の態様とを制御する処理である。より具体的に説明すると、この補正態様制御処理４５では、ＣＰＵ３８は、演奏モードにおいて合奏曲の演奏に参加する演奏者の演奏操作子１０−ｎの各々と対応する演奏処理タスク４４−ｎの並列処理を始める前に、それらの演奏者の各々に固有の補正関数と補正時間データの対を補正データ記憶メモリ３５から読み出し、読み出した各対における補正関数を該当の演奏処理タスク４４−ｎの補正処理へ、それらの各対における時間補正データを該当の演奏処理タスク４４−ｎの遅延処理へ提供する。
【００４２】
遅延処理では、ＣＰＵ３８は、発音処理におけるＭＩＤＩメッセージの音源６０への出力の時刻を遅延させ、その遅延時間を補正態様制御処理４５から提供される時間補正データによって補正する。より具体的には、ＣＰＵ３８は、補正態様制御処理４５から提供される時間補正データの符号が正である場合、図７（Ａ）に示すように、標準反応時間をその時間補正データの絶対値の分だけ長くした時間を補正後の遅延時間とし、発音処理によって出力されるＭＩＤＩメッセージをその補正後の遅延時間だけ遅延させてから音源６０へ出力する。また、ＣＰＵ３８は、補正態様制御処理４５から提供される時間補正データの符号が負である場合、図７（Ｂ）に示すように、標準反応時間をその時間補正データの絶対値の分だけ短くした時間を補正後の遅延時間とし、発音処理によって出力されるＭＩＤＩデータをその補正後の遅延時間だけ遅延させてから音源６０へ出力する。
本実施形態によると、複数の演奏者が合奏曲に参加する場合に、それらの演奏者が演奏操作子１０−ｎを振ろうとしてからその演奏操作子１０−ｎを振るまでに要する各演奏者ごとの時間の差のバラツキに関わらず、各演奏パートの音の出だしをそろえ、テンポを合わせて発音させることができる。
【００４３】
（他の実施形態）
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば、以下の通りである。
（１）上記第１から第３実施形態において、試し振りモードでは、一人の演奏者の身体の様々な部位（左手、右手、左足、右足、腰、頭など）に演奏操作子１０−ｎを装着して複数回ずつ試し振りを行わせ、その部位ごとの補正関数や時間補正データを生成してもよい。
【００４４】
（２）上記第１から第３実施形態では、前掲の式（２），（３）を補正関数とし、補正処理では、ＣＰＵ３８は、加速度取得処理によって取得した加速度ａｓを式（２）に代入して正規化値ａｓNORとし、その正規化値ａｓNORを式（３）に代入して加速度ａｓ’を求めた。しかし、各演奏者に固有の補正テーブルを設け、この補正テーブルを使って加速度ａｓから加速度ａｓ’への変換を行ってもよい。たとえば、加速度ａｓの正規化値ａｓNORとその補正後の加速度ａｓ’とを対応づけた補正テーブルを演奏者ごとに準備しておき、演奏モードにおいて演奏者が演奏操作子１０−ｎを振る動作を繰り返している間に各々の演奏操作子１０−ｎに加わる加速度ａｓを式（２）に代入して正規化値ａｓNORを求めたあと、その正規化値ａｓNORと対応づけられた加速度ａｓ’を補正テーブルから読み出すようにしてもよい。また、この補正テーブルは、正規化値ａｓNORと加速度ａｓ’を式（３）のように対応づけるものである必要はない。たとえば、図８（Ａ）に示すように、演奏操作子１０−ｎに加わる加速度ａｓの正規化値ａｓNORが有効加速度範囲の上限値よりも小さな加速度ａｓ1’以下の補正値ａｓ’へと補正されるようにした補正テーブルを準備してもよいし、図８（Ｂ）に示すように、演奏操作子１０−ｎに加わる加速度ａｓの正規化値ａｓNORが有効加速度範囲の下限値よりも大きな加速度ａｓ2’以上の補正値ａｓ’へと補正されるようにした補正テーブルを準備してもよい。
【００４５】
（３）上記第１から第３実施形態においては、式（２）、（３）を補正関数とし、加速度取得処理によって取得した加速度ａｓを式（２）に代入して正規化値ａｓNORとし、その正規化値ａｓNORを式（３）に代入して加速度ａｓ’を求めた。しかし、各演奏者の意図を忠実に反映した音量の音を発音させるのに好適な別の式を補正関数としてもよい。たとえば、式（３）の代わりに次式を用いて正規化値ａｓNORから加速度ａｓ’への変換を行ってもよい。
ａｓ’＝ａ・sin（２π・ａｓNOR）＋ｂ＋ｃ・ａｓNOR…（４）
図９（Ａ）に示すように、この式（４）の定数ａを正とした場合、０≦ａｓNOR≦０．５の変域は上に凸、０．５＜ａｓNOR≦１．０の変域は下に凸となる。図９（Ｂ）に示すように、この式（４）の定数ａを負とした場合、０≦ａｓNOR≦０．５の変域は下に凸、０．５＜ａｓNOR≦１．０の変域は上に凸となる。そして、定数ａの正負にかかわらずその絶対値が大きくなるほど凸みの程度は大きくなる。よって、たとえば、ある演奏者が試し振りを行ったときに演奏操作子１０−ｎに加わった加速度ａｓから得られた６種類の分析値から、その演奏者が「最強」と「最弱」に近い強さの振りは鋭く行えるが両者の中間の強さの振りは鋭く行えない、との分析結果を得た場合は式（４）の定数ａを正にし、「最強」と「最弱」に近い強さの振りを加速度ａｓ’に敏感に反応させるようにするとよい。その一方、演奏者が「最強」と「最弱」に近い強さの振りは鋭く行えないが両者の中間の強さの振りは鋭く行える、との分析結果を得た場合は式（４）の定数ａを負にし、「最強」と「最弱」の中間あたりの強さの振りを加速度ａｓ’に敏感に反応させるようにするとよい。
【００４６】
（４）上記第１から第３実施形態においては、「最強」と「最弱」の２種類の振りの強さで複数回ずつ試し振りを行わせ、この試し振りを始めてから終えるまでにバッファ３２に書き込まれた加速度ａｓを分析した結果を基に補正関数や時間補正データを生成した。しかし、「最強」と「最弱」の２種類のほかに、「中くらいの強さ」、「素早く（鋭く）」、「緩慢に（鈍く）」などのほかの種類の振りも複数回ずつ行わせ、その間にバッファ３２に書き込まれた加速度を分析した結果を基に補正関数や時間補正テーブルを生成してもよい。「中ぐらいの強さ」でのみ複数回の試し振りを行わせ、その加速度ａｓを分析した結果を基に補正関数や時間補正データを生成するようにした場合、補正処理の精度は第１から第３実施形態のそれより劣るものの、補正関数や時間補正テーブルの生成を簡便に行うことができる。また、「素早く（鋭く）」と「緩慢に（鈍く）」の２種類の振りを複数回ずつ行わせ、その加速度ａｓを分析した結果を基に補正関数を生成するようにした場合、各演奏者の振り方の癖を正確に示すＱ値を取得して補正関数の生成に反映させることができる。
【００４７】
（５）第３実施形態において、演奏処理４３では、ＣＰＵ３８は、補正処理を行ってからピーク検出処理を行った。しかし、この第３実施形態における演奏処理４３でも、第２実施形態と同様にピーク検出処理を行ってから補正処理を行うようにしてもよい。
【００４８】
（６）上記実施形態において、磁気センサ、ジャイロセンサ、圧力センサ、傾斜センサ、速度センサ、振幅センサなどの加速度センサ以外の種類のセンサを演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）に内蔵させ、そのセンサが検出した演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）の挙動を示す物理量の波形から有効ピークを検出してもよい。
【００４９】
（７）上記実施形態において、無線信号送信部１２−ｎ（ｎ＝１，２…Ｎ）は演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）に内蔵されていた。しかし、無線信号送信部１２−ｎ（ｎ＝１，２…Ｎ）を演奏操作子１０−ｎ（ｎ＝１，２…Ｎ）とは別の筐体に内蔵させ、その無線信号送信部１２−ｎ（ｎ＝１，２…Ｎ）を内蔵させた筐体を演奏者の身体に装着させるようにしてもよい。
【００５０】
（８）上記実施形態における演奏制御装置２０，２０Ａ，２０Ｂの制御プログラム３９を、コンピュータにインストールさせ、そのコンピュータを演奏制御装置２０，２０Ａ，２０Ｂとして動作させてもよい。この場合において、たとえば、加速度センサと音源を内蔵する携帯電話機に制御プログラム３９をインストールさせ、携帯電話機そのものの筺体を演奏操作子として機能させるようにするとよい。この実施形態では、制御プログラム３９は、携帯電話機のＣＰＵ３８に、補正データ生成処理４２、演奏処理４３、補正態様制御処理４５を実行させる。
【符号の説明】
【００５１】
１０…演奏操作子、１１…加速度センサ、１２…無線信号送信部、２０,２０Ａ,２０Ｂ…演奏制御装置、２１…操作表示部、２２…無線信号受信部、２３…制御部、３０…インターフェース、３１…加速度合成部、３２…バッファ、３３…曲データ記憶メモリ、３４…ベロシティ変換テーブル記憶メモリ、３５…補正データ記憶メモリ、４１…試奏曲出力処理、４２…補正データ生成処理、４３…演奏処理、４４…演奏処理タスク、４５…補正態様制御処理、３６…ＲＯＭ、３７…ＲＡＭ、３８…ＣＰＵ、３９…制御プログラム、６０…音源、６１…スピーカ。
【図１】
2010181604.tif 000003
【図２】
2010181604.tif 000004
【図３】
2010181604.tif 000005
【図４】
2010181604.tif 000006
【図５】
2010181604.tif 000007
【図６】
2010181604.tif 000008
【図７】
2010181604.tif 000009
【図８】
2010181604.tif 000010
【図９】
2010181604.tif 000011