説明

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

【課題】MIDIの規格によって記述された曲データの曲を各演奏者の意図を忠実に反映した音量の音として発音させるようにする。
【手段】演奏制御装置20は、曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベルの平均値LVAVEを算出する。さらに、この平均値LVAVEの音量レベルが音源50の出力音量のダイナミックレンジDRの中心値DR/2と一致するようなマスタボリューム係数cmをインターフェース30を介して音源50に引き渡し、このマスタボリューム係数cmを音源50の乗算器53に上書きさせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MIDI(Musical Instrument Digital Interface)などのシーケンスデータに従って曲を演奏する技術に関する。
【背景技術】
【0002】
演奏者の手に把持させた演奏操作子の挙動を基に演奏者が発音を意図するタイミングを検出し、そのタイミングに合わせて音源から音を発音させる演奏制御装置がある。この演奏制御装置においては、演奏操作子に加速度センサが内蔵され、そのセンサの出力信号の波形がピークになるタイミングに合わせて楽音が発音されるようになっている。この演奏制御装置によると、演奏者は、「音を出したいときは演奏操作子を振る」という簡単な操作により、その意図にマッチした演奏音を奏でることができる。なお、この種の演奏制御装置は、たとえば、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−53930号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、この種の演奏制御装置の中には、MIDI規格に準拠したフォーマットの曲データをメモリに記憶しておき、その中から演奏者が選んだ曲の音を演奏者が演奏操作子を振る動作に合わせて発音させるものがある。周知のように、MIDIにおいては、音源から発音させる音の大きさを、ベロシティと呼ばれるパラメータにより定義する。しかしながら、MIDIの規格により記述された複数の曲データが演奏制御装置のメモリに記憶されている場合、ある曲データはベロシティの大きな音を多く含み、別の曲の曲データはベロシティの小さな音を多く含む、といように、曲データ間でベロシティにバラツキが生じていることもある。この場合、演奏者は、演奏操作子を振る動作に合わせて演奏させる曲の種類を変えるたびに、その音の音量が聴き取りやすい大きさであるかを確認する作業を行わねばならなかった。
本発明は、このような背景の下に案出されたものであり、音源の音量レベル範囲を有効に利用し、MIDIの規格によって記述された曲データの曲を各演奏者の意図を忠実に反映した音量の音として発音させるようにすることを目的とする。
【課題を解決するための手段】
【0005】
本発明は、楽音信号の発生を指示するイベントデータとこのイベントデータの実行タイミングを指示するタイミングデータとを含む曲データを記憶する記憶手段と、前記曲データに含まれるイベントデータを順次読み出して音源に供給する演奏制御手段と、前記曲データを構成する各イベントデータの指示に従った楽音信号の発生をそれらのイベントデータに対応したタイミングデータが示す実行タイミングで行った場合に曲の始まりから終わりまでの間に音として出力される各楽音信号の音量を求め、求めた各音量を代表する代表値に基づいて、前記音源がイベントデータの指示に従って発生する楽音信号に乗算するマスタボリューム係数を制御するマスタボリューム制御手段とを具備する演奏制御装置を提供する。
本発明によると、マスタボリューム制御手段は、曲データを構成する各イベントデータの指示に従った楽音信号の発生をそれらのイベントデータに対応したタイミングデータが示す実行タイミングで行った場合に、曲の始まりから終わりまでの間に音として出力される各楽音信号の音量を求め、それらの音量を代表する代表値に基づいて、音源がイベントデータの指示に従って発生する楽音信号に乗算するマスタボリューム係数を制御する。よって、音源のダイナミックレンジを有効に利用し、イベントデータとして記述された曲データの曲を各演奏者の意図を忠実に反映した音量の音として発音させることができる。

た演奏を行うことができる。
【図面の簡単な説明】
【0006】
【図1】本発明の一実施形態にかかる演奏制御装置を含む演奏システムの構成を示すブロック図である。
【図2】図1に示す演奏制御装置の曲データ記憶メモリに記憶された曲データのデータ構造を示す図である。
【図3】図1に示す演奏制御装置の動作を示すフローチャートである。
【図4】ノートオンとエクスプレッションのイベントデータの供給を受けた音発生部が発生する楽音信号を示す図である。
【図5】図3のフローチャートにおけるステップS130の処理の内容を示す図である。
【図6】本発明の他の実施形態にかかる演奏システムの音源を示す図である。
【発明を実施するための形態】
【0007】
以下、図面を参照し、この発明の実施の形態を説明する。
図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を示すアナログ信号を各々出力する。
【0008】
無線信号送信部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に送信する。
【0009】
演奏制御装置20は、演奏操作子10−n(n=1,2…N)から受信されるパケットに基づいて、演奏制御のためのイベントデータを生成し、音源50に供給する装置である。この演奏制御装置20の構成については、後述する。
【0010】
音源50は、M個の発音チャネルch(m=1,2…M)を有するMIDI音源である。この音源50は、各発音チャネルch(m=1,2…M)の楽音信号Sch(m=1,2…M)を発生する音発生部51−m(m=1,2…M)と、楽音信号Sch(m=1,2…M)を加算する加算器52と、加算器52から出力される楽音信号Sadに係数cm(「マスタボリューム係数cm」という)を乗算する乗算器53と、乗算器53から出力される楽音信号Scmをデジタル形式からアナログ形式に変換してスピーカ60へ出力するD/A変換器54とを有する。音発生部51−m(m=1,2…M)が発生する楽音信号Sch(m=1,2…M)のピッチや音量レベルは、演奏制御装置20からインターフェース30を介して供給されるイベントデータによって決まる。また、乗算器53のマスタボリューム係数cmは、演奏制御装置20からインターフェース30を介して供給されるマスタボリューム係数cmによって書き換えられる。詳しくは、後述する。
【0011】
次に、演奏制御装置20の構成を説明する。
演奏制御装置20は、音源50と当該演奏制御装置20とを接続する役割を果たすインターフェース30のほか、無線信号受信部31、操作表示部32、および制御部40を有する。
無線信号受信部31は、一定時間長(例えば5ms)のサンプリング周期ごとに、演奏操作子10−n(n=1,2…N)から無線区間を介して送信されたパケットを受信し、受信したパケットから演奏操作子10−nのIDと加速度成分a,a,aの対を取り出し、その対を制御部40に引き渡す。
【0012】
制御部40は、曲データ記憶メモリ41、加速度取得部42、バッファ43、および演奏制御部44を有する。
曲データ記憶メモリ41は、複数の種類の曲の曲データmd−i(i=1,2…)を記憶した読み出し専用メモリである。曲データmd−i(i=1,2…)のデータ構造について、図2を参照して説明する。図2の例に示すように、曲データmd−iは、デルタタイムとイベントデータを複数のトラックに分けて時系列順に記述したデータである。
【0013】
デルタタイムは、イベントデータの実行タイミングを指示するタイミングデータである。各トラックに記述されたデルタタイムは、これらデルタタイムの各々と同じトラックに先行して記述されたイベントデータの実行タイミングから後続して記述されたイベントデータの実行タイミングまでの時間間隔を示す。
イベントデータは、音源50の制御を指示するデータであり、チャネル、イベント種、パラメータの3種類のデータから構成される。チャネルは、音源50における当該イベントデータの供給先となる音発生部51−mの発音チャネルchの番号を示す。ここで、曲データ記憶メモリ41に記憶されている曲データmd−i(i=1,2…)は、トラック1の一連のイベントデータのチャネル番号は「1」、トラック2の一連のイベントデータのチャネル番号は「2」、というように、1つのトラックにおける一連のイベントデータの供給先が音源50の1つの音発生部51−mとなるように記述されている。
【0014】
イベント種は、当該イベントデータにおける音源50の制御の指示の種類を示し、パラメータは、その指示の具体的な内容を示す。たとえば、図2の例に示すように、イベントデータのイベント種が、楽音信号の発生を指示する「ノートオン」であった場合、そのパラメータは、ノートナンバNum、ベロシティVel、およびゲートタイムGtmとなる。また、パラメータのイベント種が、発生中の楽音信号の音量レベルをある時間長TEXPをかけて別の音量レベルまで変化させることを指示する「エクスプレッション」であった場合、そのパラメータはベロシティVelのみとなる。
イベントデータには、図2の例に示された「ノートオン」および「エクスプレッション」のほかにも、「パンポット」や「プログラムチェンジ」などの様々な種類があり、そのパラメータも各々の種類に応じて変わる。
【0015】
図1において、操作表示部32は、演奏者に各種情報を表示するとともに、演奏準備操作と演奏開始操作とを受け付ける。演奏準備操作は、曲データ記憶メモリ41に記憶されている曲データmd−i(i=1,2…)のうち1つを選択し、選択した曲データmd−iのトラックのうち演奏操作子10−n(n=1,2…N)を使う演奏者の演奏パートとするトラックのトラック番号とそれらの演奏操作子10−n(n=1,2…N)のIDとの対を指定する操作である。演奏開始操作は、演奏準備操作によって選択した曲データmd−iによる演奏の開始を指示する操作である。
【0016】
バッファ43は、演奏操作子10−n(n=1,2…N)の各々の挙動を示す加速度を記憶するための個別の記憶領域(「加速度記憶領域ar−n(n=1,2…N)」と記す)が確保されたバッファである。
加速度取得部42は、無線信号受信部31から演奏操作子10−nのIDと加速度成分a,a,aの対を取得すると、取得した加速度成分a,a,aを次式(1)に代入することによって求めた加速度絶対値asを、その加速度成分a,a,aと対をなすIDに応じた加速度記憶領域ar−nに記憶する。
as=(a+a+a1/2 …(1)
【0017】
演奏制御部44は、ROM45、RAM46、CPU47を有する。
ROM45は、制御プログラム48を記憶した読み出し専用メモリである。CPU47は、RAM46をワークエリアとして利用しつつ、ROM45に記憶された制御プログラム48を実行する。制御プログラム48は、以下に示す3つの機能を有する。
a.曲データ記憶機能
これは、操作表示部32によって演奏準備操作が行われたとき、その操作において選択された曲データを曲データ記憶メモリ41から読み出してRAM46に記憶させる機能である。
b.マスタボリューム制御機能
これは、演奏準備操作によって選択された曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータと対応するデルタタイムが示すタイミングで行わせた場合に曲の始まりから終わりまでの間に加算器52から出力されるであろう各楽音信号Sadの音量レベルを求め、求めた楽音信号Sadの各音量レベルを代表する代表値に基づいてマスタボリューム係数cmを制御する機能である。
c.演奏制御機能
これは、操作表示部32によって演奏開始操作が行われたとき、曲データmd−iに含まれるイベントデータを順次読み出して音源50に供給する処理と演奏操作子10−n(n=1,2…N)の挙動を示す加速度絶対値asの波形に現れる特徴を検出する処理とを行い、加速度絶対値asの波形に現れる特徴に応じて、音源50へのイベントデータの供給のタイミングを制御する機能である。
【0018】
次に、本実施形態の動作を説明する。図3は、本実施形態の動作を示すフローチャートである。
図3において、CPU47は、操作表示部32によって演奏準備操作が行われると(S100:Yes)、その操作において選択された曲データmd−iを曲データ記憶メモリ41からRAM46へ読み出す(S110)。
【0019】
次に、CPU47は、RAM46における曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに応じたデルタタイムが示す実行タイミングで行わせた場合に、曲の始まりから終わりまでの間に加算器52から音として出力される各楽音信号Sadの音量レベルを求め、求めた楽音信号Sadの各音量レベルの平均値LVAVEをそれらの音量レベルを代表する代表値として算出する(S120)。音量レベルの平均値LVAVEの算出は、曲データmd−iのトラックに記述されたイベントデータのうち「ノートオン」と「エクスプレッション」のイベントデータのベロシティVelを対象として行う。
【0020】
図4に示すように、曲データmd−iのあるトラック(たとえば、トラック1とする)に記述された「ノートオン」のイベントデータが音発生部51−1に供給されると、音発生部51−1は、イベントデータが供給された時からそのゲートタイムGtmが経過する時までそのベロシティVelに応じた音量レベルの楽音信号Schを発生させる。また、トラック1にデルタタイムを挟んで記述された「エクスプレッション」のイベントデータが音発生部51−1へ供給されると、音発生部51−1は、イベントデータが供給された時において発生している楽音信号Schの音量レベルを時間長TEXPをかけてそのベロシティVelに応じた音量レベルまで変化させる。そして、各トラックにおける「ノートオン」および「エクスプレッション」のイベントデータの供給のタイミングは、各々のイベントデータに先行して記述されているデルタタイムによって決まる。
【0021】
そこで、このステップ120では、曲データmd−iの各トラックに記述されているデルタタイムと「ノートオン」および「エクスプレッション」のイベントデータのベロシティVelとを走査し、1曲の始まりから終りまでの間の各時刻t(k=0,1,2…K;ただし、k=0は1曲の始まりの時刻の順番を示し、k=Kは1曲の終りの時刻の順番を示す)において音発生部51−m(m=1,2…M)が各々発生する楽音信号Sch(m=1,2…M)の音量レベルを求める。そして、それらの楽音信号Sch(m=1,2…M)の音量レベルを所定の関数に入力することにより、各時刻t(k=0,1,2…K)において加算器52が出力する楽音信号Sadの音量レベルLVt(k=0,1,2…K)を求め、求めた音量レベルLVt(k=0,1,2…K)の総計をKで除算することにより平均値LVAVEを求める。
【0022】
次に、CPU47は、ステップS120で求めた音量レベルの平均値LVAVEに応じて乗算器53のマスタボリューム係数cmを書き換える(S130)。
より具体的には、このステップS130では、図5に示すように、ステップS120で求めた平均値LVAVEが音源50の出力音量のダイナミックレンジDRの中心値DR/2と一致するようなマスタボリューム係数cmをインターフェース30を介して音源50に引き渡し、このマスタボリューム係数cmを音源50の乗算器53に上書きさせる。
【0023】
CPU47は、ステップS130において乗算器53のマスタボリューム係数cmを書き換えた後、演奏準備操作において指定されたトラック番号と演奏操作子10−nのIDとの対に応じた複数の演奏制御処理タスクtsk−n(n=1,2…N)を立ち上げ(S140)、操作表示部32によって演奏開始操作が行われると(S150:Yes)、演奏操作子10−n(n=1,2…N)の各々に応じた演奏制御処理タスクtsk−n(n=1,2…N)の並列処理を開始する(S160)。
【0024】
1つの演奏操作子10−nと対応する演奏制御処理タスクtsk−nでは、CPU47は、加速度記憶領域ar−nに書き込まれる加速度絶対値asを参照し、加速度記憶領域ar−nに書き込まれる加速度絶対値asの波形から演奏操作子10−nが振られたものとみなし得る加速度絶対値asの大きさをもったピーク(「有効ピーク」という)を検出し、加速度絶対値asの波形に有効ピークが現れるたびに、曲データmd−iにおける該当のトラックに記述されたイベントデータを1つずつ読み出して音源50へ供給する。
【0025】
演奏制御処理タスクtsk−n(n=1,2…N)の並列処理が開始された後、演奏操作子10−n(n=1,2…N)のうちのある演奏操作子10−nを振る動作のテンポが速くなると、加速度記憶領域ar−nに書き込まれる加速度絶対値asの波形における有効ピークの出現の時間間隔は短くなり、その演奏操作子10−nのIDと対をなすトラックに記述されたイベントデータの音源50への供給の時間間隔も短くなる。一方、ある演奏操作子10−nを振る動作のテンポが遅くなると、加速度記憶領域ar−nに書き込まれる加速度絶対値asの波形における有効ピークの出現の時間間隔は長くなり、その演奏操作子10−nのIDと対をなすトラックに記述されたイベントデータの音源50への供給の時間間隔も長くなる。よって、演奏操作子10−n(n=1,2…N)を使う演奏者の演奏パートとされたトラックのイベントデータに従って音源50から発音される音のテンポは、演奏者がそれらの演奏操作子10−n(n=1,2…N)を振るテンポに追随して変化する。
【0026】
以上説明したように、本実施形態における演奏制御装置20は、曲データ記憶メモリ41に記憶された曲データmd−i(i=1,2…)の1つが選択されると、その選択された曲データmd−iをRAM46に読み出し、その曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力されるであろう楽音信号Sadの音量レベルの平均値LVAVEを算出する。さらに、この平均値LVAVEの音量レベルが音源50の出力音量のダイナミックレンジDRの中心DR/2と一致するようなマスタボリューム係数cmをインターフェース30を介して音源50に引き渡し、このマスタボリューム係数cmを音源50の乗算器53に上書きさせる。よって、選択された曲データmd−iに含まれるイベントデータのベロシティVelの如何に関わらず、音源50の出力音量のダイナミックレンジDRを有効に利用した曲の演奏を行うことができる。
また、本実施形態にかかる演奏制御装置20は、曲データmd−iにおける各トラックに記述されたイベントデータの音源50への供給のタイミングを演奏者がそれらの演奏操作子10−n(n=1,2…N)を振るテンポに追随して変化させることなく、各々のイベントデータに先行するデルタタイムが示す実行タイミングに合わせて音源50へ供給するMIDIシーケンサとして動作させることも可能である。
【0027】
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば、以下の通りである。
【0028】
(1)上記実施形態では、音源50の加算器52のマスタボリューム係数cmを書き換えることにより、音源50が出力し得る音の音量レベル幅を調整した。しかし、図6に示すように、音源50Aの音発生部51−m(m=1,2…M)と加算器52の間に乗算器65−m(m=1,2…M)をそれぞれ介挿し、この乗算器65−m(m=1,2…M)において音発生部51−m(m=1,2…M)の出力信号に乗算する係数をM個の発音チャネルごとに個別に書き換えるようにしてもよい。この実施形態では、先生の演奏パートの発音チャネル(たとえば、発音チャネル1とする)と、生徒の演奏パートの発音チャネル(たとえば、発音チャネル2、3、4とする)とを決め、先生に割り当てた発音チャネル1の乗算器65−1によって乗算する係数を生徒に割り当てた発音チャネル2,3,4の乗算器65−2,65−3,65−4によって乗算する係数よりも高くすることにより、先生の演奏パートの音が生徒の演奏パートの音よりも大音量で出力されるようにすることがあり得る。このような場合、演奏制御装置20は、曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベルの代表値の算出を、乗算器65−m(m=1,2…M)において乗算される係数を加味して行うとよい。
【0029】
(2)上記実施形態において、演奏制御装置20は、曲データmd−iを構成する各種イベントデータのうちベロシティvelをパラメータとして含む「ノートオン」と「エクスプレッション」だけを対象として音量レベルの代表値を算出する処理を行った。しかし、スピーカ60から出力される音の音圧レベル(SPL)の時間波形の各時刻の振幅を決定づける他の種類のイベントデータとそのパラメータと対をなすタイミングデータの内容を加味して代表値を算出してもよい。
たとえば、演奏操作子10−nを把持した演奏者が左右に移動しながら演奏操作子10−nを振る場合において演奏者が音源50,50Aの音を良好に聴取できるように、音量レベルの平均値LVAVEを「パニング」のイベントデータの内容に応じて補正した値を代表値としてもよいし、演奏操作子10−nを把持した演奏者が前後に移動しながら演奏操作子10−nを振る場合において演奏者が音源50,50Aの音を良好に聴取できるように、音量レベルの代表値LVAVEを「リバーブ」のイベントデータの内容に応じて補正した値を代表値としてもよい。
また、「ノートオン」のイベントデータにパラメータとして含まれるノートナンバNumが示す音高を加味して音量レベルの代表値を算出してもよい。たとえば、ある時刻を実行タイミングとする「ノートオン」のイベントデータに含まれるノートナンバNumが示す音高が高い場合は、その時刻の楽音信号Sadの音量レベルに正のオフセット値を加算し、ノートナンバNumが示す音高が低い場合は、その時刻の楽音信号Sadの音量レベルに負のオフセット値を加算する、といった補正処理を行いながら各時刻の音量レベルを求めていき、曲の始まりから終わりまでの間の音量レベルの平均値LVAVEを求めてもよい。この実施形態によると、曲データmd−iが示す曲に音高の高い音が多く含まれるほどマスタボリューム係数cmが大きくなる。よって、高い音を聞き取り難いと感じる演奏者に対してその聴感によりマッチした音量の再生音を聞かせることができる。
【0030】
(3)上記実施形態において、CPU47は、曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベルの最大値LVMAXを代表値として算出し、この音量レベルの最大値LVMAXと音源50の出力音量のダイナミックレンジDRの最大値とが一致するように、マスタボリューム係数cmを制御してもよい。また、CPU47は、曲データmd−iを構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベルの最小値LVMINを代表値として算出し、この音量レベルの最小値LVMINと音源50の出力音量のダイナミックレンジDRの最小値とが一致するように、マスタボリューム係数cmを制御してもよい。曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベル群をその曲の音量範囲を示す母集団とし、その音量レベル群に対して所定の統計的処理を行って得られる値でありさえすれば、平均値LVAVE,最大値LVMAX,最小値LVMIN以外の値を代表値としてマスタボリューム係数cmを制御してもよい。
【0031】
(4)上記実施形態における演奏準備操作では、曲データ記憶メモリ41に記憶されている曲データmd−i(i=1,2…)のうち1つを選択した。しかし、曲データmd−i(i=1,2…)のうち2つ以上を選択できるようにしてもよい。この実施形態では、曲データmd−i(i=1,2…)のうち2つ以上が選択された場合、CPU47は、選択された複数の曲データmd−iをRAM46に読み出し、読み出した複数の曲データmd−iを各々構成するイベントデータの指示に従った楽音信号の発生をそれらのイベントデータに先行するデルタタイムが示す実行タイミングで行わせた場合に曲の始まりから終わりまでの間に音として出力される楽音信号Sadの音量レベルの平均値LVAVEを代表値とする。
【0032】
(5)上記実施形態において、スピーカ60の音響特性(指向特性、能率、設置条件など)やその設置環境(演奏者とスピーカ60との距離、室内音響条件など)を加味してマスタボリューム係数mcを決定してもよい。
【0033】
(6)上記実施形態において、磁気センサ、ジャイロセンサ、圧力センサ、傾斜センサ、速度センサ、振幅センサなどの加速度センサ以外の種類のセンサを演奏操作子10−n(n=1,2…N)に内蔵させ、そのセンサが検出した演奏操作子10−n(n=1,2…N)の挙動を示す物理量の波形から有効ピークを検出してもよい。
【0034】
(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)を内蔵させた筐体を演奏者の身体に装着させるようにしてもよい。
【0035】
(8)上記実施形態における演奏制御装置20の加速度取得部42および演奏制御部44と同様の機能を実現させる制御プログラムを、コンピュータにインストールさせ、そのコンピュータを演奏制御装置20として動作させてもよい。この場合において、たとえば、加速度センサと音源を内蔵する携帯電話機に制御プログラムをインストールさせ、携帯電話機そのものの筺体を演奏操作子として機能させるようにするとよい。この実施形態では、制御プログラムは、携帯電話機のCPUに、加速度取得部42および演奏制御部44を実現させる。
【符号の説明】
【0036】
10…演奏操作子、11…加速度センサ、12…無線信号送信部、20…演奏制御装置、30…インターフェース、31…無線信号受信部、32…操作表示部、40…制御部、41…曲データ記憶メモリ、42…加速度取得部、43…バッファ、44…演奏制御部、45…ROM、46…RAM、47…CPU、48…制御プログラム、50…音源、51…音発生部、52…加算器、53…乗算器、54…D/A変換器、60…スピーカ。

【特許請求の範囲】
【請求項1】
楽音信号の発生を指示するイベントデータとこのイベントデータの実行タイミングを指示するタイミングデータとを含む曲データを記憶する記憶手段と、
前記曲データに含まれるイベントデータを順次読み出して音源に供給する演奏制御手段と、
前記曲データを構成する各イベントデータの指示に従った楽音信号の発生をそれらのイベントデータに対応したタイミングデータが示す実行タイミングで行った場合に曲の始まりから終わりまでの間に音として出力される各楽音信号の音量を求め、求めた各音量を代表する代表値に基づいて、前記音源がイベントデータの指示に従って発生する楽音信号に乗算するマスタボリューム係数を制御するマスタボリューム制御手段と
を具備すること特徴とする演奏制御装置。
【請求項2】
前記マスタボリューム制御手段は、
前記曲の始まりから終わりまでの間に音として出力される各楽音信号の音量を求め、求めた各音量の平均値を前記代表値とし、この平均値と前記音源のダイナミックレンジの中心値が一致するように前記マスタボリューム係数を制御する
ことを特徴とする請求項1に記載の演奏制御装置。
【請求項3】
演奏操作子の挙動を示す物理量を取得する取得手段をさらに具備し、
前記演奏制御手段は、
前記取得手段が取得した物理量の波形に現れる特徴に基づいて、前記曲データに含まれるイベントデータの前記音源への供給のタイミングを制御する
ことを特徴とする請求項1または2に記載の演奏制御装置。
【請求項4】
前記演奏操作子に内蔵され、当該演奏操作子に加わる加速度を当該演奏操作子の挙動を示す物理量として検出するセンサと、
前記センサが検出した加速度を送信する送信手段と、
請求項3に記載の演奏制御装置と、
前記演奏制御装置から供給されたイベントデータが示す指示に従って楽音信号を発生する音源と
を具備することを特徴とする演奏システム。
【請求項5】
コンピュータに、
楽音信号の発生を指示するイベントデータとこのイベントデータの実行タイミングを指示するタイミングデータとを含む曲データを記憶する記憶手段と、
前記曲データに含まれるイベントデータを順次読み出して音源に供給する演奏制御手段と、
前記曲データを構成する各イベントデータの指示に従った楽音信号の発生をそれらのイベントデータに対応したタイミングデータが示す実行タイミングで行った場合に曲の始まりから終わりまでの間に音として出力される各楽音信号の音量を求め、それらの音量を代表する代表値に基づいて、前記音源がイベントデータの指示に従って発生する楽音信号に乗算するマスタボリューム係数を制御するマスタボリューム制御手段と
を実現させるプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate