(58)【調査した分野】(Int.Cl.,DB名)
前記発音タイミング検出手段が、前記加速度センサの値に基づき、前記保持部材の長軸方向の加速度センサ値を取得し、当該長軸方向の加速度センサ値の変化に基づき、前記発音タイミングを決定することを特徴とする請求項2に記載の演奏装置。
前記加速度センサが、3軸加速度センサであり、前記発音タイミング検出手段が、前記加速度センサのそれぞれの軸方向の値の合成値を加速度センサ値として、前記加速度センサ値の変化に基づき、前記発音タイミングを決定することを特徴とする請求項2に記載の演奏装置。
指定された3以上の頂点の位置情報に基づき、前記頂点を結ぶ平面を地表面に射影することにより得られる平面を底面として、当該底面となる平面とその頂点から延びる垂線とにより画定される空間を発音可能領域と決定し、前記発音可能領域を特定する情報と音色とを対応付けて、前記領域・音色記憶手段に格納する、領域・音色設定手段を有することを特徴とする請求項1ないし5の何れか一項に記載の演奏装置。
指定された中心位置および当該中心位置と異なる他の位置を地表面に射影した地表面上の中心位置および地表面上の他の位置に基づき、前記地表面上の中心位置を中心として、前記地表面上の他の位置を通る円を底面とした円柱を発音可能領域と決定し、前記発音可能領域を特定する情報と音色とを対応付けて、前記領域・音色記憶手段に格納する、領域・音色設定手段を有することを特徴とする請求項1ないし5の何れか一項に記載の演奏装置。
前記保持部材の軌跡を、位置情報を所定の時間間隔で取得することにより特定し、当該保持部材の軌跡を地表上に射影した地表面上の閉曲線を底面とする柱状の領域を発音可能領域と決定し、前記発音可能領域を特定する情報と音色とを対応付けて、前記領域・音色記憶手段に格納する、領域・音色設定手段を有することを特徴とする請求項1ないし5の何れか一項に記載の演奏装置。
【発明を実施するための形態】
【0020】
以下、添付図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
図1に示すように、本実施の形態にかかる電子楽器10は、演奏者が手に持って振るための、長手方向に延びるスティック状の演奏装置本体11を有している。また、電子楽器10は、楽音を発生するための楽器部19を備え、楽器部19は、CPU12、インタフェース(I/F)13、ROM14、RAM15、表示部16、入力部17およびサウンドシステム18を有する。演奏装置本体11は、後述するように、演奏者が保持する根元側と反対側である先端側の付近に加速度センサ23と、地磁気センサ22とを有する。
【0021】
楽器部19のI/F13は、演奏装置本体11からのデータ(たとえばノートオンイベント)を受け入れて、RAM15に格納するとともに、CPU12にデータの受け入れを通知する。本実施の形態においては、たとえば、演奏装置本体11の根元側端部に赤外線通信装置24が設けられ、I/F13にも赤外線通信装置33が設けられている。したがって、楽器部19は、演奏装置本体11の赤外線通信装置24が発した赤外線を、I/F13の赤外線通信装置33が受信することで、演奏装置本体11からのデータを受信することができる。
【0022】
CPU12は、電子楽器10全体の制御、特に、電子楽器の楽器部19の制御、入力部17を構成するキースイッチ(図示せず)の操作の検出、I/F13を介して受信したノートオンイベントに基づく楽音の発生など、種々の処理を実行する。
【0023】
ROM14は、電子楽器10全体の制御、特に、電子楽器の楽器部19の制御、入力部17を構成するキースイッチ(図示せず)の操作の検出、I/F13を介して受信したノートオンイベントに基づく楽音の発生など、種々の処理プログラムを格納する。また、ROM14は、種々の音色の波形データ、特に、バスドラム、ハイハット、スネア、シンバルなど打楽器の波形データを格納する波形データエリアを含む。無論、打楽器の波形データに限定されず、ROM22には、フルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器、マリンバ、ヴィブラフォン、ティンパニなど他の打楽器の音色の波形データが格納されていても良い。
【0024】
RAM15は、ROM14から読み出されたプログラムや、処理の過程で生じたデータやパラメータを記憶する。処理の過程で生じたデータには、入力部17のスイッチの操作状態、I/F13を介して受信したセンサ値、楽音の発音状態(発音フラグ)などが含まれる。
【0025】
表示部16は、たとえば、液晶表示装置(図示せず)を有し、選択された音色や後述する発音可能領域と楽音の音色とを対応付けた領域・音色テーブルの内容などを表示することができる。また、入力部17は、スイッチ(図示せず)を有し、音色の指定などを指示することができる。
【0026】
サウンドシステム18は、音源部31、オーディオ回路32およびスピーカ35を備える。音源部31は、CPU12からの指示にしたがって、ROM15の波形データエリアから波形データを読み出して、楽音データを生成して出力する。オーディオ回路32は、音源部31から出力された楽音データをアナログ信号に変換し、変換されたアナログ信号を増幅してスピーカ35に出力する。これによりスピーカ35から楽音が出力される。
【0027】
図2は、本実施の形態にかかる演奏装置本体の構成を示すブロックダイヤグラムである。
図2に示すように、演奏装置本体11は、演奏者が保持する根元側と反対側である先端側に、地磁気センサ22および加速度センサ23を有する。地磁気センサ22の位置は、先端側に限定されず、根元側に配置されていても良い。しかしながら、演奏者は、演奏装置本体11の先端の位置を基準と考えて(つまり、先端を目でみながら)演奏装置本体11を振ることが多い。したがって、演奏装置本体11の先端の位置情報を取得することを考慮して、地磁気センサ22は先端側に位置するのが望ましい。加速度センサ22は、特に、加速度の変化が大きく現れるように、演奏装置本体11の先端側に配置されるのが望ましい。
【0028】
地磁気センサ22は、磁気抵抗効果素子やホール素子を有し、x、y、z方向のそれぞれの磁界の成分を検出することができる、3軸地磁気センサである。したがって、本実施の形態においては、3軸地磁気センサのセンサ値に基づいて、演奏装置本体11の位置情報(座標値)を取得することができる。また、加速度センサ23は、たとえば、静電容量型或いはピエゾ抵抗素子型のセンサであり、生じた加速度を示すデータ値を出力することができる。本実施の形態にかかる加速度センサ23は、たとえば、演奏装置本体11の長軸、長軸に垂直な2つの軸の3軸方向の加速度値(成分)を得ることができる。加速度センサから得られる3軸方向の成分のそれぞれにより、演奏装置本体11の移動量を算出することができる。また、演奏装置本体11の長軸方向の成分により、楽音の発音タイミングを決定することができる。
【0029】
また、演奏装置本体11は、CPU21、赤外線通信装置24、ROM25、RAM26、インタフェース(I/F)27および入力部28を有する。CPU21は、演奏装置本体11におけるセンサ値の取得、地磁気センサ22のセンサ値および加速度センサ23のセンサ値にしたがった位置情報の取得、楽音の発音を可能にする領域である発音可能領域の設定、加速度センサ22のセンサ値(加速度センサ値)に基づく楽音の発音タイミングの検出、ノートオンイベントの生成、I/F27および赤外線通信装置24を介したノートオンイベントの送信制御などの処理を実行する。
【0030】
ROM25には演奏装置本体11におけるセンサ値の取得、地磁気センサ22のセンサ値および加速度センサ23のセンサ値にしたがった位置情報の取得、楽音の発音を可能にする領域である発音可能領域の設定、加速度センサ値に基づく楽音の発音タイミングの検出、ノートオンイベントの生成、I/F27および赤外線通信装置24を介したノートオンイベントの送信制御などの処理プログラムが格納される。RAM26には、センサ値等、処理において取得され或いは生成された値が格納される。I/F27は、CPU21からの指示にしたがって赤外線通信装置24にデータを出力する。また、入力部28は、スイッチ(図示せず)を有する。
【0031】
図3は、本実施の形態にかかる演奏装置本体において実行される処理の例を示すフローチャートである。
図3に示すように、演奏装置本体11のCPU21は、RAM26のデータやフラグのクリアなどを含むイニシャライズ処理を実行する(ステップ301)。イニシャライズ処理においては、タイマインタラプトが解除される。タイマインタラプトが解除されると、演奏装置本体11において、所定の時間間隔で、地磁気センサ22のセンサ値、および、加速度センサ23のセンサ値が、CPU21により読み込まれ、それぞれがRAM26に格納される。また、イニシャライズ処理においては、地磁気センサ22の初期値と、加速度センサ値23の初期値とに基づいて、演奏装置本体11の初期位置が取得され、これもRAM26に格納される。以下に説明する現在位置取得処理(ステップ304)において取得される現在位置は、上記初期位置に対する相対位置となる。イニシャライズ処理の後、ステップ302〜308は繰り返し実行される。
【0032】
CPU21は、インタラプト処理により得られている加速度センサ23のセンサ値(加速度センサ値)を取得してRAM26に格納する(ステップ302)。また、CPU21は、インタラプト処理により得られている地磁気センサ22のセンサ値(地磁気センサ値)を取得する(ステップ303)。
【0033】
次いで、CPU21は、現在位置取得処理を実行する(ステップ304)。
図4は、本実施の形態にかかる現在位置取得処理の例を示すフローチャートである。
図4に示すように、CPU21は、RAM26に格納された、前回実行されたステップ303で得られた地磁気センサ値と、今回実行されたステップ303で得られた地磁気センサ値と、に基づいて、演奏装置本体11の移動方向を算出する(ステップ401)。前述したように、本実施の形態にかかる地磁気センサ22は、3軸地磁気センサであるため、x成分、y成分、z成分の各成分の差からなる3次元のベクトルに基づいて方向を得ることができる。
【0034】
また、CPU21は、RAM26に格納された、前回実行されたステップ302で得られた加速度センサ値と、今回実行されたステップ302で得られた加速度センサ値と、に基づいて、演奏装置本体11の移動量を算出する(ステップ402)。これは、加速度センサ値、および、それぞれの加速度センサ値の取得時刻の差(時間間隔)を用いて、2回積分をすることにより取得できる。次いで、CPU21は、RAM26に格納された前回の位置情報、ステップ401、402でそれぞれ得られた移動方向および移動量に基づき、現在位置の座標を算出する(ステップ403)。
【0035】
CPU21は、算出された座標が、前回の位置座標から変化があったかを判断する(ステップ404)。ステップ404でYesと判断された場合には、CPU21は、RAM26中、新たな位置情報として、算出された現在位置の座標を格納する(ステップ405)。
【0036】
現在位置取得処理(ステップ304)の後、CPU21は、領域設定処理を実行するステップ305)。本実施の形態においては、演奏者が演奏装置本体11を用いて、発音可能領域の頂点を指定し、頂点により画定される2次元平面を射影した地表面上の平面と、当該平面の頂点から延びる垂線と、により画定される領域が発音可能領域となるように構成される。以下、4つの頂点を用いて発音可能領域を設定する場合について説明する。
図5は、本実施の形態にかかる領域設定処理の例を示すフローチャートである。
図5に示すように、CPU21は、入力部18中の設定スイッチがオンされたかを判断する(ステップ501)。ステップ501でYesと判断された場合には、CPU21は、RAM26に格納された位置情報を取得して、頂点の座標(頂点座標)としてRAM26に格納する(ステップ502)。次いで、CPU21は、RAM26中、頂点数を示すパラメータNをインクリメントする(ステップ503)。なお、本実施の形態では、上記パラメータNは、イニシャライズ処理(
図3のステップ301)において「0」に初期化される。次いで、CPU21は、パラメータNが「4」より大きいかを判断する(ステップ504)。ステップ504でNoと判断された場合には、領域設定処理を終了する。
【0037】
ステップ504でYesと判断されたことは、4つの頂点座標が、RAM26中に格納されたことを意味する。したがって、ステップ504でYesと判断された場合には、CPU21は、4つの頂点座標により画定される2次元平面(四辺形)の情報を取得する(ステップ505)。次いで、CPU21は、取得した四辺形を示す情報に基づき、当該四辺形を地表面に射影して得られる四辺形の頂点の位置を取得し、発音可能領域の情報を、RAM26中の領域・音色テーブルに格納する(ステップ506)。その後、CPU21は、RAM26中のパラメータNを「0」に初期化するとともに、領域設定フラグを「1」にセットする(ステップ507)。
【0038】
本実施の形態においては、演奏者が頂点を指定することにより、頂点により画定される平面に基づく発音可能領域を設定することができる。上記実施の形態では、頂点の数が4である平面(四辺形)を発音可能領域として設定しているが、頂点の数を変更することにより、三角形など任意の多角形の発音可能領域を設定することが可能となる。
【0039】
図7は、本実施の形態にかかる発音可能領域の決定を概略的に示す図である。符号71〜74は、それぞれ、演奏者が、設定スイッチをオンしたときの演奏装置本体を示す。符号71〜74における演奏装置本体の先端位置は、それぞれ、
P1(符号71):(x
1、y
1、z
1)
P2(符号72):(x
2、y
2、z
2)
P3(符号73):(x
3、y
3、z
3)
P4(符号74):(x
4、y
4、z
4)
である。これら4つの座標を直線で結ぶことにより得られる平面が符号700で示される。
【0040】
また、平面700を地表面(z座標=z
0)に射影した平面701において頂点の座標yは、
(x
1、y
1、z
0)
(x
2、y
2、z
0)
(x
3、y
3、z
0)
(x
4、y
4、z
0)
となる。
【0041】
本実施の形態では、4つの座標(x
1、y
1、z
0)、(x
2、y
2、z
0)、(x
3、y
3、z
0)、(x
4、y
4、z
0)により画定される平面と、当該4つの座標から延びる垂線75〜78により画定される空間710を発音可能領域としている。後述するように、演奏装置本体11が、上記空間710内に位置しているときに、演奏装置本体11を振ることによる楽音の発生が可能となる。なお、領域の設定や形状については、他の形態もあり得る。これについては後述する。
【0042】
領域設定処理(ステップ305)が終了すると、CPU21は、音色設定処理を実行する(ステップ306)。
図6、本実施の形態にかかる音色設定処理の例を示すフローチャートである。
図6に示すように、CPU21は、領域設定フラグが「1」であるかを判断する(ステップ601)。ステップ601でNoと判断された場合には、音色設定処理を終了する。
【0043】
ステップ601でYesと判断された場合には、CPU21は、音色確認スイッチがオンされたかを判断する(ステップ602)。ステップ602でYesと判断された場合には、CPU21は、音色を示すパラメータTNにしたがった音色情報を含むノートオンイベントを生成する(ステップ603)。このパラメータTNは、たとえば、音色を一意的に特定するための音色番号である。このノートオンイベントにおいては、音量レベルや音高を示す情報は予め定められたものであれば良い。次いで、CPU21は、生成されたノートオンイベントをI/F26に出力する(ステップ604)。I/F27は、赤外線通信装置24にノートオンイベントを赤外線信号として送信させる。赤外線通信装置24からの赤外線信号は楽器部19の赤外線通信装置33に受信される。これにより、楽器部19において所定の音高の楽音が発音される。楽器部19における発音については後述する。
【0044】
ステップ604の後、CPU21は、確定スイッチがオンされたかを判断する(ステップ605)。ステップ605でNoと判断された場合には、CPU21は、音色を示すパラメータNNをインクリメントして(ステップ606)、ステップ602に戻る。ステップ605でYesと判断された場合には、CPU21は、パラメータNNに示す音色情報を、発音可能領域の情報と関連付けて、RAM26中の領域・音高テーブルに格納する(ステップ607)。次いで、CPU21は、領域設定フラグを「0」にリセットする(ステップ608)。
【0045】
図8は、本実施の形態にかかるRAM中の領域・音色テーブルの例を示す図である。
図8に示すように、本実施の形態にかかる領域・音色テーブル800のレコード(たとえば、符号801参照)は、領域ID、頂点位置(頂点1〜頂点4)の座標、および、音色という項目を有する。領域IDは、レコードを一意的に特定するためのもので、領域・音色テーブル800のレコード生成の際に、CPU21により採番される。本実施の形態においては、打楽器の音色が指定できるようになっている。無論、打楽器以外の楽器(鍵盤楽器、弦楽器、管楽器など)の音色が設定できるように構成しても良い。
【0046】
また、頂点位置の座標としてx方向、y方向の2次元座標(x、y)が格納される。これは、上述したように、本実施の形態にかかる発音可能領域は、地表面上の、たとえば4つの頂点に基づく平面と、当該4つの頂点から延びる垂線75〜78により画定される3次元空間であり、z座標は任意としているからである。
【0047】
音色設定処理306が終了すると、CPU21は、発音タイミング検出処理を実行する(ステップ307)。
図9は、本実施の形態にかかる発音タイミング検出処理の例を示すフローチャートである。CPU21は、RAM26に格納された位置情報を取得して(ステップ901)、位置情報により特定される演奏装置本体11の位置が、何れかの発音可能領域内にあるかを判断する(ステップ902)。ステップ902においては、位置情報(座標)中のx成分、y成分からなる2次元座標(x,y)が、領域・音色テーブルの位置情報にて画定される空間の境界或いは内部に位置しているかが判断される。
【0048】
ステップ902でNoと判断された場合には、CPU21は、RAM23中の加速度フラグを「0」にリセットする(ステップ903)。ステップ902でYesと判断された場合には、CPU21は、RAM26に格納された加速度センサ値を参照して、演奏装置本体11の長軸方向の加速度センサ値を取得する(ステップ904)。
【0049】
次いで、CPU21は、長軸方向の加速度センサ値が、所定の第1の閾値αより大きいかを判断する(ステップ905)。ステップ905でYesと判断された場合には、CPU21は、RAM26中の加速度フラグに「1」をセットする(ステップ906)。CPU21は、ステップ904で取得された軸方向の加速度センサ値が、RAM26に格納されている加速度センサ値の最大値より大きいかを判断する(ステップ907)。ステップ907でYesと判断された場合には、ステップ904で取得された長軸方向の加速度センサ値を、新たな最大値として、RAM26に格納する(ステップ908)。
【0050】
ステップ905でNoと判断された場合には、CPU21は、RAM26中の加速度フラグが「1」であるかを判断する(ステップ909)。ステップ909でNoと判断された場合には、発音タイミング検出処理は終了する。ステップ909でYesと判断された場合には、CPU21は、長軸方向の加速度センサ値が、所定の第2の閾値βより小さいかを判断する(ステップ910)。ステップ910でYesと判断された場合には、CPU21は、ノートオンイベント生成処理を実行する(ステップ911)。
【0051】
図10は、本実施の形態にかかるノートオンイベント生成処理の例を示すフローチャートである。
図10に示すノートオンイベント生成処理により、ノートオンイベントが楽器部19に送信され、その後、楽器部19において発音処理(
図12参照)が実行されることにより、楽音データが生成され、スピーカ35から楽音が発音される。
【0052】
なお、ノートオンイベント生成処理の説明に先立ち、本実施の形態にかかる電子楽器10における発音タイミングについて説明する。
図11は、演奏装置本体の加速度センサにより検出され、CPUにより取得され長軸方向の加速度センサ値の例を模式的に示したグラフである。演奏者が、演奏装置本体11の一端(根元側)を持って振ることは、手首、ひじ、肩などを支点とした回転運動を演奏装置本体11に生じさせる。この回転運動に伴って、特に、遠心力により、演奏装置本体11の長軸方向に加速度が生じる。
【0053】
演奏者が、演奏装置本体11を振ると、加速度センサ値は、次第に大きくなる(
図11の曲線1100における符号1101参照)。演奏者がスティック状の演奏装置本体11を振るときに、一般には、ドラムを打つ動作と同様に動作する。したがって、演奏者は、仮想的に設定されたドラムやマリンバなどの打撃面にスティックを打ちつける寸前に、スティック(つまりスティック状の演奏装置本体11)の動作をとめていく。したがって、ある時刻から加速度センサ値は徐々に減少する(符号1102参照)。演奏者は、仮想的な打撃面にスティックを打ちつけた瞬間に楽音が発生することを想定している。したがって、演奏者が想定するタイミングで楽音を発生できるのが望ましい。
【0054】
本発明では、演奏者が仮想的な打撃面にスティックを打ちつける瞬間或いはそのわずかに前に楽音を発生すべく、以下に述べるようなロジックを採用する。発音タイミングは、長軸方向の加速度センサ値が減少して、「0」よりわずかに大きい第2の閾値βより小さくなったときとする。しかしながら、演奏者が予期していない動作により、長軸方向の加速度センサ値が振動して、上述した第2の閾値β前後に達する可能性もある。したがって、予期しない振動を排除するために、いったん、長軸方向の加速度センサ値が上昇して、所定の第1の閾値α(αはβより十分に大きい)を越えることを条件としている。すなわち、長軸方向の加速度センサ値がいったん第1の閾値αより大きくなり(時刻t
α参照)、その後、長軸方向の加速度センサ値が減少して、第2の閾値βより小さくなったとき(時刻t
β参照)、時刻t
βを発音タイミングとしている。上述したような発音タイミングが到来したと判断されると、演奏装置本体11においてノートオンイベントが生成され、楽器部19に送信される。また、これに応答して、楽器部19において、発音処理が実行されて、楽音が発生する。
【0055】
図10に示すように、ノートオンイベント生成処理においては、CPU21は、RAM26に格納された軸方向の加速度センサ値の最大値を参照して、当該最大値に基づく楽音の音量レベル(ベロシティ)を決定する(ステップ1001)。加速度センサ値の最大値をAmax、音量レベル(ベロシティ)の最大値をVmaxとすると、音量レベルVelは、たとえば、以下のように求めることができる。
【0056】
Vel=a・Amax
(ただし、a・Amax>Vmaxであれば、Vel=Vmax、また、aは所定の正の係数)
次いで、CPU21は、RAM26中の領域・音色テーブルを参照して、演奏装置本体11が位置する発音可能領域に関するレコード中の音色を、発音すべき楽音の音色として決定する(ステップ1002)。CPU21は、決定された音量レベル(ベロシティ)および音色を含むノートオンイベントを生成する(ステップ1003)。なお、ノートオンイベント中の音高は、規定値とすれば良い。
【0057】
CPU21は、生成されたノートオンイベントをI/F27に出力する(ステップ1004)。I/F27は、赤外線通信装置24にノートオンイベントを赤外線信号として送信させる。赤外線通信装置24からの赤外線信号は楽器部19の赤外線通信装置33に受信される。その後、CPU21は、RAM26中の加速度フラグを「0」にリセットする(ステップ1005)。
【0058】
発音タイミング検出処理(ステップ307)が終了すると、CPU21は、パラメータ通信処理を実行する(ステップ308)。パラメータ通信処理(ステップ308)については、後述する楽器部19におけるパラメータ通信処理(
図12のステップ1205)とともに説明する。
【0059】
図12は、本実施の形態にかかる楽器部において実行される処理の例を示すフローチャートである。楽器部19のCPU12は、RAM15のデータのクリア、表示部16の画面上の画像のクリア、音源部31のクリアなどを含むイニシャライズ処理を実行する(ステップ1201)。次いで、CPU12は、スイッチ処理を実行する(ステップ1202)。スイッチ処理においては、たとえば、CPU12は、入力部17のスイッチ操作にしたがって、発音すべき楽音についての効果音のパラメータなどを設定する。設定された効果音のパラメータ(たとえば、リバーブのデプスなど)は、RAM15に格納される。また、スイッチ処理においては、後述するパラメータ通信処理により演奏装置本体11から送信され、楽器部19のRAM15に記憶される領域・音色テーブルを、スイッチ操作により編集することもできる。この編集では、発音可能領域を規定する頂点位置を修正し、或いは、音色を変更することもできる。
【0060】
次いで、CPU12は、I/F13が、ノートオンイベントを新たに受信しているかを判断する(ステップ1203)。ステップ1203でYesと判断された場合には、CPU12は発音処理を実行する(ステップ1204)。発音処理においては、CPU12は、受信したノートオンイベントを音源部31に出力する。音源部31は、ノートオンイベントに示される音色にしたがってROMの波形データを読み出す。打楽器の音色の楽音を発生する場合には、波形データ読み出しの際の速度は一定である。なお、後述するように音高を有する楽器(鍵盤楽器、管楽器、弦楽器、或いは、打楽器であっても音高が変化するマリンバ、ヴィブラフォン、ティンパニ等)の音色を発音する場合には、音高は、ノートオンイベントに含まれるもの(第1の実施の形態では規定値)に従う。また、音源部31は、読み出された波形データに、ノートオンイベントに含まれる音量データ(ベロシティ)にしたがった係数を乗算して、所定の音量レベルの楽音データを生成する。生成された楽音データはオーディオ回路32に出力され、最終的に、所定の楽音がスピーカ35から発生される。
【0061】
その後、CPU12は、パラメータ通信処理を実行する(ステップ1205)。パラメータ通信処理(ステップ1205)においては、CPU12の指示によって、たとえば、スイッチ処理(ステップ1202)で編集された領域・音色テーブルのデータが、演奏装置本体11に送信される。演奏装置本体11において、赤外線通信装置24が、データを受信すると、CPU21は、I/F27を介してデータを受け入れ、RAM26に格納する(
図3のステップ308)。
【0062】
図3のステップ308においても、演奏装置本体11のCPU21は、パラメータ通信処理を実行する。演奏装置本体11のパラメータ通信処理においては、ステップ305、306で設定された発音可能領域および音色に基づきレコードが生成され、RAM26中に格納された領域・音色テーブルのデータが、楽器部19に送信される。
【0063】
楽器部19のパラメータ通信処理(ステップ1205)が終了すると、CPU12は、その他の処理、たとえば、表示部16の画面上に表示される画像の更新などを実行する(ステップ1206)。
【0064】
図13は、本実施の形態にかかる演奏装置本体11の領域設定処理および音色設定処理において設定された発音可能領域および対応する音色の例を概略的に示す図である。この例は、
図8に示す領域・音色テーブルのレコードに対応している。
図13に示すように、この例では、3つの発音可能領域135〜137が設けられている。発音可能領域135〜137は、それぞれ、領域・音色テーブル中、領域ID0〜2のレコードに対応している。
【0065】
発音可能領域135は、符号130に示す平面と、当該平面から延びる垂線により画定される3次元空間である。発音可能領域136は、符号131に示す平面と、当該平面から延びる垂線とにより画定される3次元空間、また、発音可能領域137は、符号132に示す平面と、当該平面から延びる垂線とにより確定される3次元空間である。
【0066】
演奏者が、発音可能領域135内において、演奏装置本体(符号1301)を振り下ろす(或いは振り上げる)と(符号1302参照)、ヴィブラフォンの音色の楽音が発生する。また、演奏者が、発音可能領域137において、演奏装置本体(符号1311)を振り下ろす(或いは振り上げる)と(符号1312参照)、シンバルの音色の楽音が発生する。
【0067】
本実施の形態においては、CPU21が、演奏装置本体11が、空間中において画定された領域である発音可能領域内に位置し、かつ、演奏装置本体11において検知された加速度が所定の条件を満たしたときを発音タイミングとして、電子楽器本体19に対して、当該発音可能領域に対応付けられた音色にて発音するように指示を与える。これにより、発音可能領域ごとに対応付けられた種々の音色で楽音をさせることが可能となる。
【0068】
また、本実施の形態においては、演奏装置本体11は、地磁気センサ22と、加速度センサ23とを有し、CPU21は、地磁気センサ22のセンサ値に基づき、演奏装置本体11の移動方向を検出するとともに、加速度センサ23のセンサ値に基づき、演奏装置本体11の移動量を算出する。移動方向および移動量によって、演奏装置本体11の現在位置が取得される。これにより、大規模な装置を用いず、また、複雑な演算なく、演奏装置本体11の位置を得ることが可能となる。
【0069】
さらに、本実施の形態において、CPU21は、演奏装置本体11の長軸方向の加速度センサ値がいったん第1の閾値αより大きくなり、その後、長軸方向の加速度センサ値が減少して、第1の閾値αより小さな第2の閾値βより小さくなったとき、上記第2の閾値βより小さくなった時刻t発音タイミングとして、電子楽器本体19に対して、当該発音可能領域に対応付けられた音色にて発音するように指示を与える。これにより、演奏者が実際にスティックを、打楽器の打撃面に当てたときとほぼ同等のタイミングで、楽音を発音させることが可能となる。
【0070】
さらに、本実施の形態においては、CPU21は、加速度センサ23のセンサ値の最大値を検出し、当該最大値にしたがった音量レベルを算出し、算出された音量レベルで、前述した発音タイミングにおいて、楽器部19に対して発音の指示を与える。したがって、演奏者による演奏装置本体11の振りに応じて、演奏者の所望の音量で楽音を発音することが可能となる。
【0071】
また、本実施の形態においては、CPU21は、指定された3以上の頂点の位置情報に基づき、前記頂点を結ぶ平面を地表面に射影することにより得られる平面を底面として、当該底面となる平面とその頂点から延びる垂線とにより画定される空間を発音可能領域と決定し、前記発音可能領域を特定する情報と音色とを対応付けて、領域・音色テーブルに格納する。このように、演奏者が頂点を指定することにより、頂点を結んだ平面に基づく発音可能領域を設定することができる。なお、上記実施の形態では、頂点の数が4である平面(四辺形)を発音領域として設定しているが、頂点の数を変更することにより、三角形など任意の底面形状の発音可能領域を設定することが可能となる。
【0072】
次に、本発明の第2の形態について説明する。第1の実施の形態においては、演奏者が演奏装置本体11を用いて、発音可能領域の頂点を指定し、指定された頂点を結ぶ平面を地表面上に射影して得た平面と、当該平面の頂点から延びる垂線とにより規定される空間を発音可能領域としている。第2の実施の形態においては、円筒状の発音可能領域を設定するために、中心位置Cおよび通過位置Pを設定し、中心位置Cを中心とする、位置Pを通る半径d(位置Cと位置Pとの距離)の円盤(円形の平面)を画定し、当該円形の平面に基づき、発音可能領域が設定される。
【0073】
図14は、第2の実施の形態にかかる領域設定処理の例を示すフローチャートである。CPU21は、演奏装置本体11の入力部28中、中心設定スイッチがオンされたかを判断する(ステップ1401)。ステップ1401でNoと判断された場合には、領域設定処理を終了する。ステップ1401でYesと判断された場合には、CPU21は、中心設定スイッチが新規オンであるかを判断する(ステップ1402)。ステップ1402でYesと判断された場合には、CPU21は、RAM26に格納された位置情報を取得して、中心位置Cの位置情報(座標(x
c,y
c,z
c))として、RAM26に格納する(ステップ502)。
【0074】
ステップ1402でNoと判断された場合、つまり、スイッチがオン中である場合、或いは、ステップ1403が実行された後に、CPU21は、中心設定スイッチがオフされたかを判断する(ステップ1404)。ステップ1404でNoと判断された場合には、領域設定処理を終了する。ステップ1404でYesと判断された場合には、CPU21は、RAM26に格納された位置情報を取得して、中心設定スイッチがオフされたときの演奏装置本体11の位置Pの位置情報(座標(x
p,y
p,z
p))として、RAM26に格納する(ステップ1405)。
【0075】
CPU21は、中心位置Cおよび位置とを、それぞれ地表面(z座標=z
0)に射影した位置C’の座標(x
c,y
c,z
0)および位置P’の座標(x
p,y
p,z
0)を取得する(ステップ1406)。また、CPU21は、位置C’と位置P’との間の距離dを算出する(ステップ1407)。その後、CPU21は、中心位置を位置C’として位置Pを通る半径dの円形の平面に基づく発音可能領域の情報を取得する(ステップ1408)。第2の実施の形態では、位置C’を中心とする(位置P’)を通る半径dの円を底部とした円筒形の3次元空間が、発音可能領域となる。
【0076】
CPU21は、発音可能領域の情報(中心位置C’のx座標およびy座標、位置P’(通過位置P’)のx座標およびy座標)並びに半径dを、RAM26中の領域・音色テーブルに格納する(ステップ1409)。その後、CPU21は、RAM26中の領域設定フラグを「1」にセットする(ステップ1410)。なお、地表面上の円は、中心位置および半径により画定することができるので、通過位置P’の座標は保持しなくても良い。
【0077】
このように、第2の実施の形態においては、演奏者は、中心位置Cと設定したい位置にて、演奏装置本体11の設定スイッチをオンして、その状態を維持したまま、半径に相当する位置まで移動し、その位置で、設定スイッチをオフすることにより、設定スイッチがオンされた位置の地表面に射影された位置C’を中心として、設定スイッチがオフされた位置Pの地表面に射影された位置P’を通る、半径d(d:中心位置C’と位置P’との間の距離)の円を底面とする円柱を、発音可能領域として設定することができる。
【0078】
図15は、第2の実施の形態にかかる領域・音色テーブルの例を示す図である。
図15に示すように、本実施の形態にかかる領域・音色テーブル1500のレコード(たとえば、符号1501参照)は、領域ID、中心位置C’の(x,y)座標、通過位置P‘の(x,y)座標、半径d、および、音色という項目を有する。
【0079】
第2の実施の形態における音色設定処理は、第1の実施の形態(
図6)と同様である。
図16は、本実施の形態にかかる演奏装置本体11の領域設定処理および音色設定処理において設定された発音可能領域および対応する音色の例を概略的に示す図である。この例は、
図15に示す領域・音色テーブルのレコードに対応している。
図16に示すように、この例では、中心位置C’および半径dにより画定される円(符号160から163参照)のそれぞれを底面とする円柱状の4つの発音可能領域165〜168が設けられている。
【0080】
発音可能領域165〜168は、それぞれ、領域・音色テーブル中、領域ID0〜3のレコードに対応している。演奏者が、発音可能領域165内において、演奏装置本体(符号1601)を振り下ろす(或いは振り上げる)と(符号1602参照)、タムの音色の楽音が発生する。また、演奏者が、発音可能領域166内において、演奏装置本体(符号1611)を振り下ろす(或いは振り上げる)と(符号1612参照)、スネアの音色の楽音が発生する。
【0081】
なお、第2の実施の形態における他の処理(たとえば、現在位置取得処理、発音タイミング検出処理など)は、第1の実施の形態と同様である。第2の実施の形態によれば、CPU21は、指定された中心位置Cおよび中心位置Cと異なる他の位置Pのそれぞれを地表面に射影した位置C’および位置P’を通る円形を底面とする円柱を、発音可能領域として、RAM26中の領域・音色テーブルに、発音領域を特定する情報と音色とを対応付けて格納する。これにより、演奏者は2点を指定することにより、所望のサイズの発音可能領域を設定することが可能となる。
【0082】
次に、本発明の第3の実施の形態について説明する。第3の実施の形態においても、円形(或いは楕円形)を底面とする柱状の発音可能領域が設定される。第3の実施の形態においては、演奏者が、演奏装置本体11を空間において所望の領域に沿って移動させることにより、円形或いは楕円形の平面を画定し、画定された平面の地表面への射影が、円柱(或いは楕円柱)の底面となる。
図17は、第3の実施の形態にかかる領域設定処理の例を示すフローチャートである。第3の実施の形態においては、発音可能領域の設定のために、演奏装置本体11のスイッチ部28が設定開始スイッチおよび設定終了スイッチを有する。
【0083】
図17に示すように、CPU21は、設定開始スイッチがオンされたかを判断する(ステップ1701)。ステップ1701でYesと判断された場合には、CPU21は、RAM26に格納された位置情報を取得して、始点位置の座標(始点座標)として、RAM26に格納する(ステップ1702)。また、CPU21は、設定中フラグを「1」にセットする(ステップ1703)。
【0084】
ステップ1701でNoと判断された場合には、CPU21は、設定中フラグが「1」であるかを判断する(ステップ1704)。ステップ1704でYesと判断された場合には、RAM26に格納された位置情報を取得して、経過位置の座標(経過位置座標)としてRAM26に格納する(ステップ1705)。なお、ステップ1705は、演奏者により演奏装置本体11の終了スイッチがオンされるまで、複数回実行される。したがって、ステップ1705においては、RAM26に、ステップ1705の実行回数と関連付けて経過位置座標が格納される。
【0085】
その後、CPU21は、終了スイッチがオンされたかを判断する(ステップ1706)。ステップ1706でYesと判断された場合には、CPU21は、RAM26に格納された位置情報を取得して、終点位置の座標(終点座標)としてRAM26に格納する(ステップ1707)。次いで、CPU21は、終点座標が、始点座標から所定の範囲内に位置しているかを判断する(ステップ1708)。ステップ1708でNoと判断された場合には、領域設定処理を終了する。ステップ1704、1706でNoと判断された場合にも、同様に、領域設定処理は終了する。
【0086】
ステップ1708でYesと判断された場合には、始点座標、経過位置座標、終点位置座標に基づいて、これら座標を通るような楕円或いは円を特定する情報を取得する(ステップ1709)。CPU21は、隣接する座標を結ぶ閉曲線を作成し、この閉曲線に近似する円或いは楕円を得れば良い。たとえば、近似においては、最小二乗法など既知の手法を適用することができる。また、CPU21は、ステップ1709にて特定された楕円或いは円を地表面に射影したことにより得られる楕円或いは円の情報を算出し、当該射影による楕円或いは円の情報を、発音可能領域の情報として、RAM26中の領域・音色テーブルに格納する(ステップ1710)。その後、CPU21は、RAM26中の設定中フラグを「0」にリセットするとともに、領域設定フラグを「1」にセットする(ステップ1711)。
【0087】
なお、第2の実施の形態における他の処理(たとえば、現在位置取得処理、発音タイミング検出処理など)は、第1の実施の形態と同様である。第2の実施の形態においても、演奏者により所望の大きさの円或いは楕円を底面とする柱状の発音可能領域を設定することができる。特に、第2の実施の形態では、演奏者が演奏装置本体11を移動させた軌跡を外郭の側面とするような、発音可能領域を設定することが可能である。
【0088】
次に、本発明の第4の実施の形態について説明する。第1〜第3の実施の形態においては、発音可能領域ごとに音色を対応付けて、領域・音色テーブルに、発音可能領域を特定する情報と、対応付けられた音色の情報とが格納される。これにより、演奏装置本体11が発音可能領域内に位置した状態で、演奏者が演奏装置本体11を振ると、対応する音色の楽音が発音される。第4の実施の形態においては、発音可能領域ごとに音高を対応付け、演奏装置本体11が、発音可能領域内に位置した状態で、演奏者が演奏装置本体11を振ると、対応する音高の楽音が発音される。このような構成は、たとえば、マリンバ、ヴィブラフォン、ティンパニのように異なる音高の楽音を発音可能な打楽器楽音を発音するのに適する。
【0089】
第4の実施の形態においては、
図3に示す処理において、音色設定処理(ステップ306)の代わりに音高設定処理が実行される。
図18は、第4の実施の形態にかかる音高設定処理の例を示すフローチャートである。第4の実施の形態において、領域設定処理は、第1の実施の形態〜第3の実施の形態の何れかを適用することができる。第4の実施の形態においては、入力部28は、音高を指定するために、音高確認スイッチと確定スイッチとを有する。また、
図18の処理にて使用される音高を示すパラメータ(たとえば、MIDIに基づく音高情報)は、イニシャライズ処理において、初期値(たとえば、最低音)に設定される。
図18に示すように、CPU21は、領域設定フラグが「1」であるかを判断する(ステップ1801)。ステップ1801でNoと判断された場合には、音高設定処理を終了する。
【0090】
ステップ1801でYesと判断された場合には、CPU21は、音高確認スイッチがオンされたかを判断する(ステップ1802)。ステップ1802でYesと判断された場合には、CPU21は、音高を示すパラメータNNにしたがった音高情報を含むノートオンイベントを生成する(ステップ1803)。このノートオンイベントにおいては、音量レベルや音色を示す情報は予め定められたものであれば良い。次いで、CPU21は、生成されたノートオンイベントをI/F26に出力する(ステップ1804)。I/F27は、赤外線通信装置24にノートオンイベントを赤外線信号として送信させる。赤外線通信装置24からの赤外線信号は楽器部19の赤外線通信装置33に受信される。これにより、楽器部19において所定の音高の楽音が発音される。
【0091】
ステップ1804の後、CPU21は、確認スイッチがオンされたかを判断する(ステップ1805)。ステップ1805でNoと判断された場合には、CPU21は、音高を示すパラメータNNをインクリメントして(ステップ1806)、ステップ1802に戻る。ステップ1805でYesと判断された場合には、CPU21は、パラメータNNに示す音高情報を、発音可能領域の情報と関連付けて、RAM26中の領域・音高テーブルに格納する(ステップ1807)。次いで、CPU21は、領域設定フラグを「0」にリセットする(ステップ1808)。
【0092】
図18に示す音高設定処理においては、音高確認スイッチがオンされるたびに、前回より1つ高い音高の楽音が発音される。演奏者は、所望の音高の楽音が発音されたときに、確認スイッチをオンすることにより、所望の音高を、発音可能領域と対応付けることが可能となる。また、第4の実施の形態にかかる、RAM26に設けられる領域・音高テーブルは、
図8に示す領域・音色テーブルと類似した構成を備える。
図8の領域・音色テーブルにおいては、領域IDおよび発音可能領域を特定する情報(
図8の例では、頂点位置情報)と、音色とが対応付けられている。領域・音高テーブルでは、領域IDおよび発音可能領域を特定する情報と、音高とが対応付けられている。
【0093】
第4の実施の形態においても、第1の実施の形態〜第3の実施の形態と同様に、発音タイミング検出処理が実行され(
図9参照)、所定の場合にノートオンイベント生成処理が実行される。
図19は、本実施の形態にかかるノートオンイベント生成処理の例を示すフローチャートである。
図19のステップ1901は、
図10のステップ1001と同様である。ステップ1901の後、CPU21は、RAM26中の領域・音高テーブルを参照して、演奏装置本体11が位置する発音可能領域についてのレコード中の音高を、発音すべき楽音の音高として決定する(ステップ1902)。CPU21は、決定された音量レベル(ベロシティ)および音高を含むノートオンイベントを生成する(ステップ1903)。ノートオンイベントにおいて、音色は規定値とすれば良い。ステップ1904およびステップ1905は、
図10のステップ1004、1005にそれぞれ対応する。このようにして、発音可能領域に対応付けられた音高の楽音を発生することが可能となる。
【0094】
この実施の形態によれば、発音可能領域ごとに音高を対応付け、演奏装置本体11が、発音可能領域内に位置した状態で演奏者が演奏装置本体11を振ると、対応する音高の楽音が発音される。したがって、マリンバ、ヴィブラフォン、ティンパニなど音高を変化させることができる打楽器のような演奏形態で所望の音高の楽音を発音させることが可能となる。
【0095】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0096】
前記実施の形態においては、演奏装置本体11のCPU21は、演奏者が演奏装置本体11を振っている際の地磁気センサ値および加速度センサ値を検出して、これらセンサ値に基づき演奏装置本体11の位置情報を取得し、演奏装置本体11が、発音可能領域中に位置しているかを判断している。CPU21は、演奏装置本体11が発音可能領域内に位置した状態で、演奏装置本体11が振られたと判断すると、発音可能領域に対応付けられた音色(第1〜第3の実施の形態)、或いは、発音可能領域に対応付けられた音高(第4の実施の形態)を含むノートオンイベントを生成して、I/F27および赤外線通信装置24を介して楽器部19に送信している。その一方、楽器部19においては、ノートオンイベントを受信すると、CPU12が、受信したノートオンイベントを音源部31に出力して楽音を発生させている。上記構成は、楽器部19が、MIDIボードなどが取り付けられたパーソナルコンピュータやゲーム機など、楽音生成の専用機ではないときに好適である。
【0097】
しかしながら、演奏装置本体11における処理、および、楽器部19における処理の分担は、上記実施の形態のものに限定されない。たとえば、演奏装置本体11は、領域・音色テーブルの情報を楽器部19に送信し、また、センサ値に基づき演奏装置本体に位置情報を取得して、楽器部19に送信するように構成しても良い。この場合には、発音タイミング検出処理(
図9)、ノートオンイベント生成処理(
図10)は、楽器部19において実行される。上述した構成は、楽器部19が、楽音生成の専用機である電子楽器について好適である。
【0098】
また、本実施の形態においては、演奏装置本体11と楽器部19との間は、赤外線通信装置24、33を用いて赤外線信号にてデータが通信されているが、これに限定されるものではない。たとえば、打楽器本体11と楽器部19とは他の無線通信でデータ通信してもよいし、ワイヤケーブルによって有線でデータ通信するように構成しても良い。
【0099】
さらに、前記実施の形態においては、地磁気センサ23により演奏装置本体11の移動方向を検出するとともに、加速度センサ22により演奏装置本体11の移動量を検出し、これらに基づき演奏装置本体11の位置を取得しているが、このような手法に限定されず、他の位置検出装置、たとえば、3軸加速度センサによるセンサ値や、角速度センサのセンサ値を用いて、演奏装置本体11の位置を取得しても良いことは言うまでも無い。
【0100】
また、前記実施の形態においては、演奏装置本体11において、その長軸方向の加速度センサ値がいったん第1の閾値αより大きくなり、その後、長軸方向の加速度センサ値が減少して、第2の閾値βより小さくなったときの時刻を発音タイミングとしている。しかしながら、これに限定されるものではない。たとえば、演奏装置本体11の長軸方向の加速度センサ値ではなく、3軸加速度センサのx、y、z成分の値の合成値(センサ合成値:各成分の値の二乗の総和の平方根)を用いて、発音タイミングを検出しても良い。
【0101】
図20は、他の実施の形態にかかる発音タイミング検出処理の例を示すフローチャートである。
図20において、ステップ2001〜2003は、
図9のステップ901〜903と同様である。ステップ2002でYesと判断された場合には、CPU21は、RAM26から加速度センサ値(x、y、z成分)を取得する(ステップ2004)。CPU21は、取得されたx、y、z成分の値に基づき、センサ合成値を算出する(ステップ2005)。センサ合成値は、上述したように、各成分の値の二乗の総和の平方根を算出することにより得られる。
【0102】
次いで、CPU21は、RAM26に格納された加速度フラグが「0」であるかを判断する(ステップ2006)。ステップ2006でYesと判断された場合には、CPU21は、センサ合成値が(1+a)Gに相当する値より大きいかを判断する(ステップ2007)。ここで、aは、微小な正の数である。たとえば、aを「0.05」とすれば、センサ合成値が、1.05Gに相当する値より大きいかを判断することになる。ステップ2007でYesであることは、演奏者により、演奏装置本体11が振られて、センサ合成値が重力加速度1Gより大きくなったことを示している。この値aは、上記数値に限定されることはない。また、a=0として、ステップ2007において、センサ合成値が1Gに相当する値より大きいかを判断しても良い。
【0103】
ステップ2007でYesと判断された場合には、CPU21は、RAM26中の加速度フラグを「1」にセットする(ステップ2008)。ステップ2007でNoと判断された場合には、発音タイミング検出処理を終了する。
【0104】
ステップ2006でYesと判断された場合、つまり、発音フラグが「1」である場合には、CPU21は、センサ合成値が(1+a)Gに相当する値より小さいかを判断する(ステップ2009)。ステップ2009でNoと判断された場合には、CPU21は、ステップ2005で算出されたセンサ合成値が、RAM26に格納されているセンサ合成値の最大値より大きいかを判断する(ステップ2010)。ステップ2010でYesと判断された場合には、CPU21は、算出されたセンサ合成値を、新たな最大値として、RAM26に格納する(ステップ2011)。ステップ2010でNoと判断された場合には、発音タイミング検出処理を終了する。
【0105】
ステップ1009でYesと判断された場合には、CPU21は、ノートオンイベント生成処理を実行する(ステップ2012)。ノートイベント生成処理は、第1の実施の形態のもの(
図10)と略同様である。他の実施の形態では、ステップ1001において、センサ合成値の最大値に基づき音量レベルが決定される。この実施の形態では、以下のような発音タイミングにて楽音が発音される。
【0106】
図21は、演奏装置本体の加速度センサにより検出された加速度センサ値の合成値である合成センサ値の例を模式的に示したグラフである。
図21のグラフ2100に示すように、演奏者が演奏装置本体11を静止させた状態では、合成センサ値は1Gに相当する値である。演奏者が演奏装置本体11を振ることにより、合成センサ値は上昇し、演奏者が演奏装置本体11を振り終わって再度静止させることにより、合成センサ値は再度1Gに相当する値となる。
【0107】
本実施の形態では、合成センサ値が(1+a)G(aは微小な正の値)に相当する値より大きくなったタイミングが検出し、その後、合成センサ値の最大値が更新される。合成センサ値の最大値Amaxは、発音する楽音レベルを決定するために用いられる。その後、合成センサセンサ値が(1+a)G(aは微小な正の値)に相当する値より小さくなったタイミングt
1で、ノートオンイベント処理が実行され、楽音が発音されることになる。
【0108】
さらに、本実施の形態においては、加速度センサのセンサ値に基づいて発音タイミングが決定されているがこれに限定されるものではなく、他のセンサ(角速度センサなど)を用いて、そのセンサ値の変化にしたがって発音タイミングを決定するように構成しても良い。