JP2010181604A - 演奏制御装置、演奏システム、プログラム - Google Patents

演奏制御装置、演奏システム、プログラム Download PDF

Info

Publication number
JP2010181604A
JP2010181604A JP2009024658A JP2009024658A JP2010181604A JP 2010181604 A JP2010181604 A JP 2010181604A JP 2009024658 A JP2009024658 A JP 2009024658A JP 2009024658 A JP2009024658 A JP 2009024658A JP 2010181604 A JP2010181604 A JP 2010181604A
Authority
JP
Japan
Prior art keywords
correction
performance
physical quantity
acceleration
peak
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009024658A
Other languages
English (en)
Inventor
Yoshiki Nishitani
善樹 西谷
Miki Arai
美希 荒井
Takeshi Sakai
毅 境
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2009024658A priority Critical patent/JP2010181604A/ja
Publication of JP2010181604A publication Critical patent/JP2010181604A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】演奏者が演奏操作子を振る強さの範囲の違いに関わらず、各演奏者の意図を忠実に反映した音量の音を音源から発音させる。
【手段】補正データ生成処理42では、CPU38は、各演奏者が演奏操作子10−nの試し振りを始めてから終えるまでの間にバッファ32に書き込まれる加速度asを分析した結果に基づいて補正関数を生成する。演奏処理43では、CPU38は、演奏モードにおいて合奏曲の演奏に参加する演奏者が演奏操作子10−nを振る動作を続けている間にバッファ32に書き込まれる加速度asをこの補正関数によって補正し、補正後の加速度as’に応じたベロシティVelを含むMIDIメッセージを音源60に出力する。
【選択図】図1

Description

本発明は、MIDI(Musical
Instrument Digital Interface)などのシーケンスデータに従って曲を演奏する技術に関する。
演奏者の手に把持させた演奏操作子に加わる加速度を加速度センサにより定量化し、加速度の波形のピークを検出するたびに、そのピークにおける加速度の大きさに応じたベロシティの楽音を音源から発音させる演奏制御装置がある。この演奏制御装置においては、演奏操作子に加速度センサが内蔵され、そのセンサの出力信号の波形がピークになるタイミングに合わせて楽音が発音されるようになっている。この演奏制御装置によると、演奏者は、「音を出したいときは演奏操作子を振る」という簡単な操作により、演奏音を奏でることができる。なお、この種の演奏制御装置は、たとえば、特許文献1に開示されている。
特開2004−53930号公報
ところで、この種の演奏制御装置を使う演奏者が演奏操作子を振る強さの範囲には個人差がある。よって、演奏操作子に加わる加速度をその大きさに応じたベロシティに変換するにすぎない従来の技術では、演奏者が大きな音を発音させようとして演奏操作子を振ったにもかかわらずその意図する音量より小さな音が発音されたり、演奏者が小さな音を発音させようとして演奏操作子を振ったにもかかわらずその意図する音量より大きな音量の音が発音される、といったように、演奏者の意図する音量と実際に発音される音の音量との間のずれが生じることがあった。
本発明は、このような背景の下に案出されたものであり、演奏者が演奏操作子を振る強さの範囲の違いに関わらず、各演奏者の意図を忠実に反映した音量の音を発音できるようにすることを目的とする。
本発明は、演奏操作子の挙動を示す物理量を取得する取得手段と、前記取得手段が取得した物理量を補正する補正手段と、前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段とを具備する演奏制御装置を提供する。
本発明によると、演奏操作子の挙動を示す物理量を補正し、補正後の物理量の波形に現れるピークを検出し、検出したピークにおける物理量の大きさに応じた音量の音を発生させる。さらに、演奏操作子の挙動を示す物理量を分析し、以後の補正の態様をその分析の結果に基づいて制御する。よって、演奏操作子を振る演奏者ごとにその演奏操作子の挙動を示す物理量の波形を分析し、それらの演奏者ごとの分析の結果に応じて補正の態様を変化させるようにすることにより、各演奏者の意図を忠実に反映した音量の音を音源から発音させることができる。
また、本発明は、演奏操作子の挙動を示す物理量を取得する取得手段と、前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段とを具備する演奏制御装置を提供する。
本発明によると、演奏操作子の挙動を示す物理量の波形に現れるピークを検出し、検出したピークにおける加速度を補正し、補正後の物理量の大きさに応じた音量の音を発生させる。さらに、演奏操作子の挙動を示す物理量を分析し、以後の補正の態様をその分析の結果に基づいて制御する。よって、本発明によっても、各演奏者の意図を忠実に反映した音量の音を音源から発音させることができる。
本発明の第1実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。 図1に示す演奏制御装置の曲データ記憶メモリに記憶された曲データのデータ構造を示す図である。 図1に示す演奏制御装置のベロシティ変換テーブル記憶メモリに記憶されたベロシティ変換テーブルのデータ構造を示す図である。 図1に示す演奏制御装置の補正データ記憶メモリに記憶される補正関数を示す図である。 本発明の第2実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。 本発明の第3実施形態にかかる演奏制御装置を含む演奏制御システムの全体構成図である。 本発明の第3実施形態にかかる演奏制御装置の遅延処理の動作を示す図である。 本発明の他の実施形態にかかる演奏制御装置の補正テーブルを示す図である。 本発明の他の実施形態にかかる演奏制御装置の補正関数を示す図である。
(第1実施形態)
以下、図面を参照し、この発明の第1実施形態を説明する。
図1は、この発明の第1実施形態である演奏制御装置20を含む演奏システムの構成を示すブロック図である。図1において、演奏操作子10−n(n=1,2…N)は、複数の演奏者の各々が手に把持し、上下に振る動作を行う操作子である。演奏操作子10−n(n=1,2…N)は、加速度センサ11−n(n=1,2…N)と無線信号送信部12−n(n=1,2…N)を内蔵している。加速度センサ11−n(n=1,2…N)は、演奏操作子10−n(n=1,2…N)の挙動を示す物理量である加速度を検出する。より具体的には、加速度センサ11−n(n=1,2…N)は、演奏操作子10−n(n=1,2…N)に働く加速度ベクトルを互いに直交した3軸方向の加速度成分a、a、aに分解して検出し、これらの加速度成分a、a、aを示すアナログ信号を各々出力する。
無線信号送信部12−n(n=1,2…N)は、一定時間長(例えば5ms)のサンプリング周期ごとに、加速度センサ11−n(n=1,2…N)から出力されるアナログ信号をサンプリングしてデジタル化することにより、加速度成分a,a,aを示すデータを生成し、加速度成分a,a,aを示すデータと演奏操作子10−n(n=1,2…N)を特定するIDとを含むパケットを無線区間を介して演奏制御装置20に送信する。
演奏制御装置20は、演奏操作子10−n(n=1,2…N)から受信されるパケットに基づいて、MIDIメッセージを生成し、音源60に供給する装置である。この演奏制御装置20の構成は、後に詳述する。
音源60は、MIDI音源である。この音源60は、演奏制御のためのMIDIメッセージを演奏制御装置20からインターフェース30を介して受け取り、そのMIDIメッセージに含まれるベロシティVelに応じた音量レベルの音信号を生成し、スピーカ61へ出力する。以降は、音源60が受け付けるベロシティVelの最小値をベロシティVelMINと記し、音源60が受け付けるベロシティVelの最大値をベロシティVelMAXと記す。また、ベロシティVelMINからベロシティVelMAXまでの範囲を「有効ベロシティ範囲」と呼ぶ。
次に、演奏制御装置20について、説明する。
演奏制御装置20は、操作表示部21、無線信号受信部22、制御部23、およびインターフェース30を有する。
操作表示部21は、各種情報を表示するとともに、演奏モードと試し振りモードのうち一方のモードを選択するモード選択操作を受け付ける。演奏モードは、合奏曲を演奏する各演奏者が演奏操作子10−nを振る動作を繰り返し、その演奏操作子10−nの挙動に応じた曲調の曲を音源60から発音させるモードである。試し振りモードは、各演奏者が演奏操作子10−nを様々な強さで所定回数ずつ振り、その所定回数ずつの振りから各々の振りの癖を分析するモードである。
各演奏者は、合奏曲の演奏の開始に先立ち、試し振りモードを選択する。試し振りモードでは、「最強」と「最弱」の2種類の強さで所定回数ずつ演奏操作子10−nを振るように強勢を付けた試奏曲を音源60から発音させ、各演奏者はこの試奏曲に合わせて試し振りを行う。音源60は演奏制御装置20による制御の下に試奏曲を発音する。詳しくは、後述する。
各演奏者は、試し振りを終えたあと、演奏モードを選択し、合奏曲を演奏する。演奏モードでは、各演奏者に合奏曲の演奏パートを1つずつ任せる。演奏者は、演奏操作子10−n(n=1,2…N)を振る動作を一斉に始め、以後、各々は演奏操作子10−nを振るテンポと振りの強さを変化させることにより、各々に任された演奏パートの音のテンポと音量をコントロールする。
無線信号受信部22は、一定時間長(例えば5ms)のサンプリング周期ごとに、演奏操作子10−n(n=1,2…N)から無線区間を介して送信されたパケットを受信し、受信したパケットから演奏操作子10−nのIDと加速度成分a,a,aの対を取り出し、その対を制御部23に引き渡す。
制御部23は、加速度合成部31、バッファ32、曲データ記憶メモリ33、ベロシティ変換テーブル記憶メモリ34、補正データ記憶メモリ35、ROM36、RAM37、およびCPU38を有する。
加速度合成部31は、無線信号受信部22から演奏操作子10−nのIDと加速度成分a,a,aの対を取得すると、取得した加速度成分a,a,aを次式(1)に代入することによって求めた加速度asを、そのIDと対応づけてバッファ32に書き込む。
as=(a +a +a 1/2 …(1)
曲データ記憶メモリ33は、曲データを記憶したメモリである。図2に示すように、曲データは、合奏曲における各演奏パートの演奏内容を示す一連のMIDIイベントデータを、複数のトラックに分けて時系列順に記述したデータである。各トラックに記述されるMIDIイベントデータは、発音する音のピッチを決定付ける音名NNUMや、その音量レベルを決定付けるベロシティVelなどのパラメータを含む。
補正データ記憶メモリ35は、各演奏者ごとの補正関数を記憶したメモリである。補正関数は、演奏モードにおいて演奏者が合奏曲の演奏パートを演奏している間に演奏操作子10−nに加わる加速度asを補正して補正済み加速度as’(以下、「加速度as’」と記す)とするための関数である。この補正関数は、試し振りモードにおいて各演奏者が演奏操作子10−nの試し振りを行ったときに演奏操作子10−nに加わった加速度asのサンプル群の分析結果に基づいて各々生成される。詳しくは、後述する。
ベロシティ変換テーブル記憶メモリ34は、ベロシティ変換テーブルを記憶したメモリである。図3に示すように、ベロシティ変換テーブルは、有効ベロシティ範囲内の各ベロシティVelと、それらのベロシティVelに応じた音量での発音を意図して演奏操作子10−nが振られたものとみなす加速度as’とを対応付けたテーブルである。以降は、このベロシティ変換テーブルにおけるベロシティVelMINと対応する加速度as’からベロシティVelMAXと対応する加速度as’までの範囲を「有効加速度範囲」と呼ぶ。
ROM36は、制御プログラム39を記憶した読み出し専用メモリである。制御プログラム39は、試奏曲出力処理41、補正データ生成処理42、演奏処理43、および補正態様制御処理45をCPU38に実行させるプログラムである。CPU38は、RAM37をワークエリアとして利用しつつ、ROM36に記憶された制御プログラム39を実行する。
以下、制御プログラム39の働きによってCPU38が実行する各処理について説明する。
試奏曲出力処理41は、操作表示部21によって試し振りモードが選択されたときに、試奏曲をなす一連のMIDIメッセージをインターフェース30を介して音源60に出力する処理である。この試奏曲は、「最強」の強さで演奏操作子10−nを振るタイミングと「最弱」の強さで演奏操作子10−nを振るタイミングを異なる音色の音によって案内する曲であることが望ましい。演奏曲のMIDIメッセージの供給をうけた音源60はそのMIDIメッセージの指示に従って試奏曲を発音し、この試奏曲に合わせて演奏者が演奏操作子10−nの試し振りを行うことは、上述した通りである。
補正データ生成処理42は、演奏者が演奏操作子10−nの試し振りを始めてから終えるまでの間にバッファ32に書き込まれる加速度asからその演奏者の振り方の癖を分析し、分析の結果に基づいて以下の2つの式(2)、(3)の定数asMAX,asMIN,a,b,cを決定し、定数asMAX,asMIN,a,b,cを決定した式(2),(3)をその演奏者に固有の補正関数として補正データ記憶メモリ35に記憶させる処理である。
asNOR=as/(asMAX−asMIN)…(2)
as’=a・sin(π・asNOR)+b+c・asNOR…(3)
これらの2つの式(2),(3)のうち式(2)は、演奏操作子10−nに加わった加速度asを0〜1の変域内の値である正規化値asNORへと変換するための式であり、式(3)は、その正規化値asNORをベロシティ変換テーブル記憶メモリ34においてベロシティVelと対応づけられた値である加速度as’へと変換するための式である。
試し振りモードにおいて、演奏者は、「最強」と「最弱」の2種類の強さで所定回数ずつ試し振りを行うことを促される。よって、その後の演奏モードにおいてこの演奏者が強弱振り分けながら演奏操作子10−nを振った場合における振りの強さは、「最強」のつもりで振った強さから「最弱」のつもりで振った強さまでの範囲に分布するはずである。また、各演奏者は、「最強」に近い振りは鋭いが「最弱」に近い振りは曖昧である、「最強」に近い振りは曖昧だが「最弱」に近い振りは鋭い、「最強」に近い振りの大きさは細かく変化させることができるものの「最弱」に近い振りの大きさは大雑把にしか変化させることができない、「最強」に近い振りの大きさは大雑把にしか変化させることができないものの「最弱」に近い振りは細かく変化させることができる、などといった様々な振り方の癖を持っている。そして、このような演奏者ごとの振り方の癖は、「最強」のつもりで振った複数回の振りの強さやその各々の振りの鋭さ、「最弱」のつもりで振った複数回の振りの強さやその各々の振りの鋭さを分析すればある程度の確度をもって判定することが可能である。
そこで、CPU38は、前掲の式(2),(3)における定数asMAX,asMIN,a,b,cを以下のようにして決定する。まず、CPU38は、バッファ32に書き込まれた加速度asの波形から、演奏者が「最強」のつもりで演奏操作子10−nを振ったときのピークPSTR−k(k=1,2,…)と「最弱」のつもりで演奏操作子10−nを振ったときのピークPWEK−i(i=1,2,…)を各々検出し、ピークPSTR−k(k=1,2,…)の各々の加速度asのうちの最大値を式(2)における定数asMAXとし、ピークPWEK−i(i=1,2,…)の各々の加速度asのうちの最小値を式(2)における定数asMINとする。
その上で、CPU38は、定数asMAX,asMINを決定した式(2)にピークPSTR−k(k=1,2,…),PWEK−i(i=1,2,…)の加速度asを代入し、ピークPSTR−k(k=1,2,…)の加速度asの正規化値asNOR−k(k=1,2,…)とピークPWEK−i(i=1,2,…)の加速度asの正規化値asNOR−i(i=1,2,…)を求める。
さらに、CPU38は、ピークPSTR−k(k=1,2,…)の加速度asの正規化値asNOR−k(k=1,2,…)の平均値ASAVESTRと標準偏差DEVSTR、ピークPWEK−i(i=1,2,…)の加速度asの正規化値asNOR−i(i=1,2,…)の平均値ASAVEWEKと標準偏差DEVWEK、ピークPSTR−k(k=1,2,…)におけるQ値の平均値QAVESTR、ピークPWEK−i(i=1,2,…)におけるQ値の平均値QAVEWEKの6種類の分析値を求める。後に詳述するように、この6種類の分析値は式(3)における定数aの決定に用いられる。
次に、CPU38は、有効加速度範囲の下限値(具体的には、ベロシティ変換テーブルにおけるベロシティVelMINと対応する加速度as’)を式(3)における定数bとし、有効加速度範囲の上限値と下限値の差(具体的には、ベロシティ変換テーブルにおけるベロシティVelMAXと対応する加速度as’とベロシティVelMINと対応する加速度as’との差)を式(3)における定数cとする。
ここで、以上のようにして式(3)の定数bとcを決定し、その定数aを仮に0とした場合、図4(A)に示すように、0〜1までの正規化値asNORは有効加速度範囲内の加速度as’に線形に対応する。また、この式(3)の定数aを正とした場合、図4(B)に示すように、式(3)における補正関数は上に凸となり、aの絶対値が大きくなるほどその凸みの程度は大きくなる。反対に、この式(3)の定数aを負とした場合、図4(C)に示すように、式(3)における補正関数は下に凸となり、aの絶対値が大きくなるほどその凸みの程度は大きくなる。CPU38は、このような性質を有する式(3)の定数aを、上述した6種類の分析値を用いて決定する。この分析値による定数aの決定は、いくつかの態様で行うことが可能である。
第1の態様は、6種類の分析値のうち平均値QAVESTRと平均値QAVEWEKを用いて定数aを決定する態様である。この態様では、平均値QAVESTRが閾値thQSTRより大きい場合には、「最強」に近い強い振りにおいて上下に鋭く振るような振り方の癖を持っているとみなし、平均値QAVEWEKが閾値thQWEKより大きい場合には、「最弱」に近い弱い振りにおいて上下に鋭く振るような振り方の癖を持っているとみなす。そして、この態様では、平均値QAVESTRが閾値thQSTRより大きくかつ平均値QAVEWEKが閾値thQWEKより小さい場合は、定数aを平均値QAVESTRと閾値thQSTRの差に応じた負の値として、「最強」に近い強い振りにおいて上下に鋭く振るような振り方を加速度as’に敏感に反応させるようにする。一方、平均値QAVEWEKが閾値thQWEKより大きくかつ平均値QAVESTRが閾値thQSTRより小さい場合は、定数aを平均値QAVEWEKと閾値thQWEKの差に応じた正の値として、「最弱」に近い振りにおいて上下に鋭く振るような振り方を加速度as’に敏感に反応させるようにする。また、以上のいずれにも該当しない場合は、定数aを0とする。
第2の態様は、6種類の分析値のうち標準偏差DEVSTR、平均値QAVESTR、標準偏差DEVWEK、および平均値QAVEWEKを用いて定数aを決定する態様である。この態様では、標準偏差DEVSTRが閾値thDSTRより小さくかつ平均値QAVESTRが閾値thQSTRより大きい場合には、振りの強さが「最強」に近くなるほど振り方が鋭くなりそのばらつきが小さくなる(強弱の振り分けが安定してくる)、という振り方の癖を持っているとみなし、標準偏差DEVWEKが閾値thDWEKより小さくかつ平均値QAVEWEKが閾値thQWEKより大きい場合には、振りの強さが「最弱」に近くなるほど振り方が鋭くなりそのばらつきが小さくなる(強弱の振り分けが安定してくる)、という振り方の癖を持っているとみなす。そして、この態様では、標準偏差DEVSTRが閾値thDSTRより小さくかつ平均値QAVESTRが閾値thQSTRより大きい、という第1の条件を満たし、さらに標準偏差DEVWEKが閾値thDWEKより小さくかつ平均値QAVEWEKが閾値thQWEKより大きい、という第2の条件を満たさない場合、定数aを平均値QAVESTRと閾値thQSTRの差に応じた負の値とする。一方、第1の条件を満たさずさらに第2の条件を満たす場合、定数aを平均値QAVEWEKと閾値thQWEKの差に応じた正の値とする。また、第1の条件と第2の条件をともに満たさない場合、あるいは、第1の条件と第2の条件をともに満たす場合、定数aを0とする。
第3の態様は、6種類の分析値のすべてを用いて定数aを決定する態様である。この態様では、平均値ASAVESTR、標準偏差DEVSTR、平均値QAVESTR、平均値ASAVEWEK、標準偏差DEVWEK、平均値QAVEWEKの6種類の分析値の組み合わせとそれらの組み合わせの分析値が得られたときに採用することが好ましい補正関数の定数aとを各々対応付けたテーブルをあらかじめ準備しておき、演奏者が試し振りを始めてから終えるまでの間にバッファ32に書き込まれた加速度asから得られた6種類の分析値の組み合わせと対応する定数aをこのテーブルから読み出す。
図1における演奏処理43は、演奏モードにおいて、合奏曲の演奏に参加する演奏者の演奏操作子10−nの各々と対応する演奏処理タスク44−nを立ち上げ、それらの演奏処理タスク44−nを並列して実行させる処理である。
1つの演奏操作子10−nと対応する演奏処理タスク44−nでは、CPU38は、加速度取得処理、補正処理、ピーク検出処理、および発音処理の4つの処理を実行する。
これら4つの処理について具体的に説明する。加速度取得処理は、加速度合成部31によってバッファ32に書き込まれる加速度asのうち当該演奏操作子10−nのIDと対応する加速度asを取得する処理である。また、補正処理は、加速度取得処理によって取得した加速度asを、補正関数である前掲の式(2),(3)のうちの式(2)に代入して正規化値asNORとし、その正規化値asNORを式(3)に代入して加速度as’を求める処理である。各演奏処理タスク44−nの補正処理の補正に用いる補正関数は、補正態様制御処理45によって提供される。補正態様制御処理45の内容は後述する。
ピーク検出処理は、補正処理によって補正した加速度as’の波形から閾値を超える加速度as’の大きさをもったピーク(「有効ピーク」という)を検出する処理である。発音処理は、ピーク検出処理によって有効ピークが検出されるたびに、曲データにおける1つのトラックに記述されているMIDIイベントデータを時系列順に読み出し、読み出したMIDIイベントデータのベロシティVelをベロシティ変換テーブルにおいてその有効ピークの加速度as’と対応付けられているベロシティVelに置き換え、ベロシティVelを置き換えたMIDIイベントデータをMIDIメッセージとして出力する処理である。
補正態様制御処理45は、演奏処理タスク44−nの補正処理に用いる補正関数を提供することにより、各々の補正処理における補正の態様を制御する処理である。より具体的に説明すると、この補正態様制御処理45では、CPU38は、合奏曲の演奏に参加する演奏者の演奏操作子10−nの各々と対応する演奏処理タスク44−nの並列処理を始める前に、それらの演奏者の各々に固有の補正関数を補正データ記憶メモリ35から読み出し、読み出した補正関数をそれらの各演奏者の演奏操作子10−nに応じた演奏処理タスク44−nの補正処理に用いる補正関数として提供する。
本実施形態にかかる演奏制御装置20は、試し振りモードにおいて演奏者に各々の演奏操作子10−nの試し振りを行わせてその試し振りの間に演奏操作子10−nに加わった加速度asを分析し、その分析結果に基づいて各々に固有の補正関数を生成する。そして、演奏モードにおいてそれらの演奏者が演奏操作子10−nを振る動作を行うと、演奏操作子10−nに加わる加速度asを各々の補正関数(式(2),(3))によって有効加速度範囲内の加速度as’へと補正し、加速度as’の波形に現れるピークを検出し、検出したピークにおける加速度as’の大きさに応じた音量で各演奏者の演奏パートの音を発音させる。よって、本実施形態によると、合奏曲に参加する演奏者の振りの強さの範囲にかかわらず、その演奏者の意図を忠実に反映した音量の音を音源60から発音させることができる。
(第2実施形態)
以下、図面を参照し、この発明の第2実施形態を説明する。
図5は、この発明の第2実施形態である演奏制御装置20Aを含む演奏システムの構成を示すブロック図である。本実施形態において、1つの演奏操作子10−nと対応する演奏処理タスク44−nでは、CPU38は、加速度取得処理、ピーク検出処理、補正処理、および発音処理の4つの処理を実行する。加速度取得処理の内容は、第1実施形態における加速度取得処理と同様である。
ピーク検出処理は、加速度取得処理によって取得した加速度asの波形から有効ピークを検出する処理である。補正処理は、ピーク検出処理によって検出された有効ピークにおける加速度asを、補正関数である前掲の式(2),(3)のうちの式(2)に代入して正規化値asNORとし、その正規化値asNORを式(3)に代入して加速度as’を求める処理である。各演奏処理タスク44−nの補正処理の補正に用いる補正関数は、補正態様制御処理45によって提供される。補正態様制御処理による補正関数の提供の手順は、第1実施形態における補正関数の提供の手順と同様である。
発音処理は、有効ピークにおける加速度asが補正処理によって補正されるたび、曲データにおける1つのトラックに記述されているMIDIイベントデータを時系列順に読み出し、読み出したMIDIイベントデータのベロシティVelをベロシティ変換テーブルにおいてその補正後の加速度as’と対応付けられているベロシティVelに置き換え、ベロシティVelを置き換えたMIDIイベントデータをMIDIメッセージとして出力する処理である。
以上説明した本実施形態では、加速度取得処理によって取得した加速度asの波形から有効ピークを検出した後、その有効ピークの加速度asを補正関数(式(2),(3))によって補正することにより有効加速度範囲内の加速度as’とする。そして、第1実施形態と同様に、試し振りモードにおいて演奏者に各々の演奏操作子10−nの試し振りを行わせてその試し振りの間に演奏操作子10−nに加わった加速度asを分析し、その分析結果に基づいて生成した補正関数を補正処理における補正に用いる。よって、本実施形態によっても、合奏曲に参加する各演奏者の振り強さの範囲にかかわらず、各演奏パートの音を演奏者の意図にマッチした音量で発音させることができる。
(第3実施形態)
以下、図面を参照し、この発明の第3実施形態を説明する。
図6は、この発明の第3実施形態である演奏制御装置20Bを含む演奏システムの構成を示すブロック図である。
図6において、補正データ生成処理42は、試し振りモードにおいて演奏者が演奏操作子10−nの試し振りを始めてから終えるまでの間にバッファ32に書き込まれる加速度asを分析した結果に基づいて補正関数を生成する第1の処理と、それらの加速度asを分析した結果に基づいて時間補正データを生成する第2の処理とを有する。
時間補正データは、標準的な演奏者が演奏操作子10−nを振ろうとしてから演奏操作子10−nを振るまでに要する時間(「標準反応時間」という)と合奏曲の演奏を実際に行う各演奏者が演奏操作子10−nを振ろうとしてから演奏操作子10−nを振るまでに要する各演奏者に固有の時間(「演奏者別反応時間」という)との時間差を補正するためのデータである。
補正データ生成処理42における第1の処理の内容は、第1実施形態における補正データ生成処理42の内容と同じである。
第2の処理では、CPU38は、試奏曲における演奏操作子10−nを振るタイミングを案内する各音が発音されるたびに、それらの音が発音された時刻からバッファ32に書き込まれる加速度asの波形に有効ピークが出現した時刻までに要した時間を演奏者別反応時間として計測し、それらの演奏者別反応時間の平均を求める。次に、CPU38は、その演奏者別反応時間の平均と標準反応時間との差を求め、その差を埋め合わせるために必要なオフセット量を示す時間補正データを生成する。より具体的に説明すると、ある演奏者の演奏者別反応時間の平均と標準反応時間との差が正である場合、その演奏者が演奏操作子10−nを振ろうとしてからその演奏操作子10−nを振るまでに要する時間は標準反応時間より長いとみなし、演奏者別反応時間の平均と標準反応時間との差の絶対値に負の符号を付した値をその演奏者の時間補正データとする。逆に、ある演奏者の演奏者別反応時間の平均と標準反応時間との差が負である場合、その演奏者が演奏操作子10−nを振ろうとしてからその演奏操作子10−nを振るまでに要する時間は標準反応時間より短いとみなし、演奏者別反応時間の平均と標準反応時間との差の絶対値に正の符号を付した値をその演奏者の時間補正データとする。
図6において、1つの演奏操作子10−nと対応する演奏処理タスク44−nでは、CPU38は、加速度取得処理、補正処理、ピーク検出処理、発音処理、および遅延処理の5つの処理を実行する。加速度取得処理、補正処理、ピーク検出処理、発音処理の内容は、第1実施形態におけるそれら4つの処理の内容と同じである。
遅延処理は、発音処理によって出力されるMIDIデータを遅延させてからインターフェース30へ出力する処理である。詳しくは、後述する。
補正態様制御処理45は、演奏処理タスク44−nの補正処理に用いる補正関数と遅延処理に用いる時間補正データとを提供することにより、各々の補正処理の態様と遅延処理の態様とを制御する処理である。より具体的に説明すると、この補正態様制御処理45では、CPU38は、演奏モードにおいて合奏曲の演奏に参加する演奏者の演奏操作子10−nの各々と対応する演奏処理タスク44−nの並列処理を始める前に、それらの演奏者の各々に固有の補正関数と補正時間データの対を補正データ記憶メモリ35から読み出し、読み出した各対における補正関数を該当の演奏処理タスク44−nの補正処理へ、それらの各対における時間補正データを該当の演奏処理タスク44−nの遅延処理へ提供する。
遅延処理では、CPU38は、発音処理におけるMIDIメッセージの音源60への出力の時刻を遅延させ、その遅延時間を補正態様制御処理45から提供される時間補正データによって補正する。より具体的には、CPU38は、補正態様制御処理45から提供される時間補正データの符号が正である場合、図7(A)に示すように、標準反応時間をその時間補正データの絶対値の分だけ長くした時間を補正後の遅延時間とし、発音処理によって出力されるMIDIメッセージをその補正後の遅延時間だけ遅延させてから音源60へ出力する。また、CPU38は、補正態様制御処理45から提供される時間補正データの符号が負である場合、図7(B)に示すように、標準反応時間をその時間補正データの絶対値の分だけ短くした時間を補正後の遅延時間とし、発音処理によって出力されるMIDIデータをその補正後の遅延時間だけ遅延させてから音源60へ出力する。
本実施形態によると、複数の演奏者が合奏曲に参加する場合に、それらの演奏者が演奏操作子10−nを振ろうとしてからその演奏操作子10−nを振るまでに要する各演奏者ごとの時間の差のバラツキに関わらず、各演奏パートの音の出だしをそろえ、テンポを合わせて発音させることができる。
(他の実施形態)
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば、以下の通りである。
(1)上記第1から第3実施形態において、試し振りモードでは、一人の演奏者の身体の様々な部位(左手、右手、左足、右足、腰、頭など)に演奏操作子10−nを装着して複数回ずつ試し振りを行わせ、その部位ごとの補正関数や時間補正データを生成してもよい。
(2)上記第1から第3実施形態では、前掲の式(2),(3)を補正関数とし、補正処理では、CPU38は、加速度取得処理によって取得した加速度asを式(2)に代入して正規化値asNORとし、その正規化値asNORを式(3)に代入して加速度as’を求めた。しかし、各演奏者に固有の補正テーブルを設け、この補正テーブルを使って加速度asから加速度as’への変換を行ってもよい。たとえば、加速度asの正規化値asNORとその補正後の加速度as’とを対応づけた補正テーブルを演奏者ごとに準備しておき、演奏モードにおいて演奏者が演奏操作子10−nを振る動作を繰り返している間に各々の演奏操作子10−nに加わる加速度asを式(2)に代入して正規化値asNORを求めたあと、その正規化値asNORと対応づけられた加速度as’を補正テーブルから読み出すようにしてもよい。また、この補正テーブルは、正規化値asNORと加速度as’を式(3)のように対応づけるものである必要はない。たとえば、図8(A)に示すように、演奏操作子10−nに加わる加速度asの正規化値asNORが有効加速度範囲の上限値よりも小さな加速度as1’以下の補正値as’へと補正されるようにした補正テーブルを準備してもよいし、図8(B)に示すように、演奏操作子10−nに加わる加速度asの正規化値asNORが有効加速度範囲の下限値よりも大きな加速度as2’以上の補正値as’へと補正されるようにした補正テーブルを準備してもよい。
(3)上記第1から第3実施形態においては、式(2)、(3)を補正関数とし、加速度取得処理によって取得した加速度asを式(2)に代入して正規化値asNORとし、その正規化値asNORを式(3)に代入して加速度as’を求めた。しかし、各演奏者の意図を忠実に反映した音量の音を発音させるのに好適な別の式を補正関数としてもよい。たとえば、式(3)の代わりに次式を用いて正規化値asNORから加速度as’への変換を行ってもよい。
as’=a・sin(2π・asNOR)+b+c・asNOR…(4)
図9(A)に示すように、この式(4)の定数aを正とした場合、0≦asNOR≦0.5の変域は上に凸、0.5<asNOR≦1.0の変域は下に凸となる。図9(B)に示すように、この式(4)の定数aを負とした場合、0≦asNOR≦0.5の変域は下に凸、0.5<asNOR≦1.0の変域は上に凸となる。そして、定数aの正負にかかわらずその絶対値が大きくなるほど凸みの程度は大きくなる。よって、たとえば、ある演奏者が試し振りを行ったときに演奏操作子10−nに加わった加速度asから得られた6種類の分析値から、その演奏者が「最強」と「最弱」に近い強さの振りは鋭く行えるが両者の中間の強さの振りは鋭く行えない、との分析結果を得た場合は式(4)の定数aを正にし、「最強」と「最弱」に近い強さの振りを加速度as’に敏感に反応させるようにするとよい。その一方、演奏者が「最強」と「最弱」に近い強さの振りは鋭く行えないが両者の中間の強さの振りは鋭く行える、との分析結果を得た場合は式(4)の定数aを負にし、「最強」と「最弱」の中間あたりの強さの振りを加速度as’に敏感に反応させるようにするとよい。
(4)上記第1から第3実施形態においては、「最強」と「最弱」の2種類の振りの強さで複数回ずつ試し振りを行わせ、この試し振りを始めてから終えるまでにバッファ32に書き込まれた加速度asを分析した結果を基に補正関数や時間補正データを生成した。しかし、「最強」と「最弱」の2種類のほかに、「中くらいの強さ」、「素早く(鋭く)」、「緩慢に(鈍く)」などのほかの種類の振りも複数回ずつ行わせ、その間にバッファ32に書き込まれた加速度を分析した結果を基に補正関数や時間補正テーブルを生成してもよい。「中ぐらいの強さ」でのみ複数回の試し振りを行わせ、その加速度asを分析した結果を基に補正関数や時間補正データを生成するようにした場合、補正処理の精度は第1から第3実施形態のそれより劣るものの、補正関数や時間補正テーブルの生成を簡便に行うことができる。また、「素早く(鋭く)」と「緩慢に(鈍く)」の2種類の振りを複数回ずつ行わせ、その加速度asを分析した結果を基に補正関数を生成するようにした場合、各演奏者の振り方の癖を正確に示すQ値を取得して補正関数の生成に反映させることができる。
(5)第3実施形態において、演奏処理43では、CPU38は、補正処理を行ってからピーク検出処理を行った。しかし、この第3実施形態における演奏処理43でも、第2実施形態と同様にピーク検出処理を行ってから補正処理を行うようにしてもよい。
(6)上記実施形態において、磁気センサ、ジャイロセンサ、圧力センサ、傾斜センサ、速度センサ、振幅センサなどの加速度センサ以外の種類のセンサを演奏操作子10−n(n=1,2…N)に内蔵させ、そのセンサが検出した演奏操作子10−n(n=1,2…N)の挙動を示す物理量の波形から有効ピークを検出してもよい。
(7)上記実施形態において、無線信号送信部12−n(n=1,2…N)は演奏操作子10−n(n=1,2…N)に内蔵されていた。しかし、無線信号送信部12−n(n=1,2…N)を演奏操作子10−n(n=1,2…N)とは別の筐体に内蔵させ、その無線信号送信部12−n(n=1,2…N)を内蔵させた筐体を演奏者の身体に装着させるようにしてもよい。
(8)上記実施形態における演奏制御装置20,20A,20Bの制御プログラム39を、コンピュータにインストールさせ、そのコンピュータを演奏制御装置20,20A,20Bとして動作させてもよい。この場合において、たとえば、加速度センサと音源を内蔵する携帯電話機に制御プログラム39をインストールさせ、携帯電話機そのものの筺体を演奏操作子として機能させるようにするとよい。この実施形態では、制御プログラム39は、携帯電話機のCPU38に、補正データ生成処理42、演奏処理43、補正態様制御処理45を実行させる。
10…演奏操作子、11…加速度センサ、12…無線信号送信部、20,20A,20B…演奏制御装置、21…操作表示部、22…無線信号受信部、23…制御部、30…インターフェース、31…加速度合成部、32…バッファ、33…曲データ記憶メモリ、34…ベロシティ変換テーブル記憶メモリ、35…補正データ記憶メモリ、41…試奏曲出力処理、42…補正データ生成処理、43…演奏処理、44…演奏処理タスク、45…補正態様制御処理、36…ROM、37…RAM、38…CPU、39…制御プログラム、60…音源、61…スピーカ。

Claims (7)

  1. 演奏操作子の挙動を示す物理量を取得する取得手段と、
    前記取得手段が取得した物理量を補正する補正手段と、
    前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、
    前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
    前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
    を具備することを特徴とする演奏制御装置。
  2. 演奏操作子の挙動を示す物理量を取得する取得手段と、
    前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、
    前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、
    前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
    前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
    を具備することを特徴とする演奏制御装置。
  3. 前記取得手段が取得した物理量を記憶するバッファと、
    前記バッファに記憶される一連の物理量の波形に出現する複数のピークを検出し、検出した複数のピークを分析した1または複数の種類の分析値に基づいて、前記補正手段による補正の態様を決定付ける補正データを生成する補正データ生成手段と
    をさらに具備し、
    前記補正態様制御手段は、前記補正データ生成手段が生成した補正データに基づいて前記補正手段が行う補正の態様を制御する
    ことを特徴とする請求項1または2に記載の演奏制御装置。
  4. 前記発音手段による発音指示の出力時刻を遅らせる遅延手段をさらに具備し、
    前記補正態様制御手段は、
    前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記遅延手段における発音指示の出力時刻の遅延量を制御する
    ことを特徴とする請求項1から3のいずれか1項に記載の演奏制御装置。
  5. 前記演奏操作子に内蔵され、当該演奏操作子に加わる加速度を当該演奏操作子の挙動を示す物理量として検出するセンサと、
    前記センサが検出した加速度を送信する送信手段と、
    請求項1から4のいずれか1項に記載の演奏制御装置と、
    前記演奏制御装置の指示に従って音を発生する音源と
    を具備することを特徴とする演奏システム。
  6. コンピュータに、
    演奏操作子の挙動を示す物理量を取得する取得手段と、
    前記取得手段が取得した物理量を補正する補正手段と、
    前記補正手段が補正した物理量の波形に現れるピークを検出するピーク検出手段と、
    前記ピーク検出手段が検出したピークにおける物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
    前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
    を実現させるプログラム。
  7. コンピュータに、
    演奏操作子の挙動を示す物理量を取得する取得手段と、
    前記取得した物理量の波形に現れるピークを検出するピーク検出手段と、
    前記ピーク検出手段が検出したピークにおける物理量を補正する補正手段と、
    前記補正手段が補正した物理量の大きさに応じた音量の音の発生指示を音源に出力する発音手段と、
    前記取得手段が取得した物理量の波形を分析した結果に基づいて、前記補正手段が行う補正の態様を制御する補正態様制御手段と
    を実現させるプログラム。
JP2009024658A 2009-02-05 2009-02-05 演奏制御装置、演奏システム、プログラム Withdrawn JP2010181604A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009024658A JP2010181604A (ja) 2009-02-05 2009-02-05 演奏制御装置、演奏システム、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009024658A JP2010181604A (ja) 2009-02-05 2009-02-05 演奏制御装置、演奏システム、プログラム

Publications (1)

Publication Number Publication Date
JP2010181604A true JP2010181604A (ja) 2010-08-19

Family

ID=42763194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009024658A Withdrawn JP2010181604A (ja) 2009-02-05 2009-02-05 演奏制御装置、演奏システム、プログラム

Country Status (1)

Country Link
JP (1) JP2010181604A (ja)

Similar Documents

Publication Publication Date Title
US10902830B2 (en) Signal supply device, keyboard device and non-transitory computer-readable storage medium
JP5182655B2 (ja) 電子打楽器およびプログラム
US8653350B2 (en) Performance apparatus and electronic musical instrument
US10937403B2 (en) Signal supply device, keyboard device and non-transitory computer-readable storage medium
US8710347B2 (en) Performance apparatus and electronic musical instrument
EP3010013A2 (en) Phoneme information synthesis device, voice synthesis device, and phoneme information synthesis method
JPWO2020054070A1 (ja) 音信号生成装置、鍵盤楽器およびプログラム
JP6825718B2 (ja) 音出力装置
US8525006B2 (en) Input device and recording medium with program recorded therein
Wagner Analysis of drumbeats: Interaction between drummer, drumstick and instrument
JP7140083B2 (ja) 電子管楽器、電子管楽器の制御方法及びプログラム
JP5088398B2 (ja) 演奏装置および電子楽器
JPWO2019092775A1 (ja) 音源、鍵盤楽器およびプログラム
JP7024864B2 (ja) 信号処理装置、プログラムおよび音源
EP3757984A1 (en) Electronic musical instrument, method and program
JP2010181604A (ja) 演奏制御装置、演奏システム、プログラム
JP2010271440A (ja) 演奏制御装置およびプログラム
JP2014048504A (ja) セッション装置、方法及びプログラム
JP6443093B2 (ja) 信号処理装置、および信号処理システム
JP2017072623A (ja) 楽器の音響効果設定方法
JP2012013725A (ja) 演奏システムおよび電子楽器
JP2013044889A (ja) 演奏装置
JP4238807B2 (ja) 音源用波形データの決定装置
JP2008249771A (ja) 演奏処理システム、演奏処理装置及び演奏処理プログラム
JP2010020145A (ja) 演奏制御装置、演奏操作子、プログラム、演奏制御システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120501