JP6031801B2 - 演奏装置、方法及びプログラム - Google Patents
演奏装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6031801B2 JP6031801B2 JP2012084373A JP2012084373A JP6031801B2 JP 6031801 B2 JP6031801 B2 JP 6031801B2 JP 2012084373 A JP2012084373 A JP 2012084373A JP 2012084373 A JP2012084373 A JP 2012084373A JP 6031801 B2 JP6031801 B2 JP 6031801B2
- Authority
- JP
- Japan
- Prior art keywords
- angular velocity
- acceleration
- cpu
- holding member
- sensor
- 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.)
- Active
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
このような仮想的な演奏装置によれば、現実の楽器を必要とせずに当該楽器の楽音を発音することができるため、演奏者は、演奏場所や演奏スペースに制約を受けずに演奏を楽しむことができる。
ユーザが保持可能な保持部材と、
前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する3軸それぞれを中心として回転した場合に生じる角速度を検出する角速度センサと、
前記角速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる角速度に基づいて、演奏操作中の前記保持部材の角速度の最大値を取得する第1取得手段と、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の加速度の最大値を取得する第2取得手段と、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の速度の最大値を取得する第3取得手段と、
前記第1取得手段により取得された前記角速度の最大値と、前記第2取得手段により取得された前記加速度の最大値と、前記第3取得手段により取得された前記速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御手段と、を備える、
ことを特徴とする。
図1は、本発明の一実施形態の演奏装置1の概要を示す図である。図1に示すように本発明の演奏装置1は、スティック部10と、発音部30とから構成される。
スティック部10は、長手方向に延びるスティック状の部材である。演奏者は、スティック部10の一端(根元側)を手に持ち手首などを中心とした振り上げ及び振り下ろし動作を行うことで、演奏動作を行う。このような演奏者の演奏動作を検知するため、スティック部10の他端(先端側)には、姿勢センサ12が設けられている(図2参照)。
このような演奏装置1では、スティック部10を用いた演奏動作、すなわち、スティック部10の振り下ろし動作に応じて、発音部30は、所定の楽音を発音する。これにより、演奏者による演奏が行われる。
初めに、図2及び図3を参照して、本実施形態の演奏装置1の各構成要素、具体的には、スティック部10、及び発音部30の構成について説明する。
図2は、スティック部10の構成を示すブロック図である。図2に示すように、スティック部10は、CPU(Central Processing Unit)11、姿勢センサ12、I/F(インタフェース)装置13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、入力部16、無線通信装置17及びLED18から構成される。
姿勢センサ12は、地磁気方向を計測する3軸の磁気センサ121、スティックに加わる加速度を測定するための3軸の加速度センサ122、及びスティックの回転動作を計測する3軸の角速度センサ123から構成される。各センサは3つの軸x、y、zの軸方向の計測が可能になっている。
ここで、演奏者は、スティック部10の一端(根元側)を保持し、手首などを中心とした振り上げ及び振り下ろし動作を行うことで、スティック部10に対して回転運動や平行運動などを生じさせる。これらの動きを姿勢センサ12で検出をおこない、CPU11に送り出す。
次に本実施形態におけるスティックの姿勢、及びワールド座標系について図5を参照して説明する。ここでワールド座標とは、演奏者を中心とした座標系のことをいう。図5にあるように演奏者から見て右水平方向をX軸、前方水平方向をY軸、天頂方向をZ軸と定義する。図4で記載したスティック部10の3軸であるx軸、y軸、z軸とは異なる。本実施形態では、スティック部10の3軸を、ローカル座標系と呼び小文字で表すのに対して、ワールド座標系では3軸を大文字で表す。演奏者がスティック部10をスイングさせると時間とともにローカル座標とワールド座標との関係が変わっていく。ワールド座標系から見て、スティック部10のローカル座標系の向きがどのようになっているかをスティックの姿勢と呼ぶ。
図7を参照して、図6のステップS12の姿勢センサと姿勢の初期化処理の詳細説明を行う。
まず、CPU11は、ユーザにスティック部10の先端を前方方向に向けて静止してもらうように表示を行う(ステップS71)。表示の例としては、CPU11は、LED18を緑色に点灯させる。
図8を参照して、図6のステップS17の姿勢推定処理の詳細説明を行う。
ワールド座標系から見たローカル座標系のx軸、y軸、z軸の基底ベクトルをex,ey,ezとして、各基底ベクトルを列に並べた行列TL→W=(exeyez)を定義すると、ローカル座標系の点p=(xyz)Tと、この点pに対応するワールド座標系の点P=(XYZ)Tとの間には、次の関係式(1)、(2)が成り立つ(演算記号Tは転置行列を意味する)。
P=TL→Wp (1) p=TL→W TP (2)
WAT=TL→Wt・LAT (3)
具体的には、下記の式(式(4))を定義し、再帰加算によって累算を行う。Kgはダンピング係数で、スイング状態などで実験的に決定される。
Gwt=kg・Gwt−1+WAt (4)
このGwtからワールド座標系の重力方向ベクトルWegtをWegt=Gwt/|Gwt|と推定する。
この回転行列は、例えば、2つのベクトルをなす角度の長さであって、2つのベクトルに直交するベクトル方向を向いた回転角ベクトルを考える。この回転角ベクトルを角速度センサ123の姿勢補正の合成回転行列を求めた方法と同じ方法で合成行列変換を求めることができる。
地磁気モードによる補正モードである場合には、CPU11は、今回時刻tで読み取った磁気センサ121から求めた地磁気ベクトルの値をLMT=(MxtMytMzt)Tとし、これはローカル座標系であるので、式(5)に基づいて、ワールド座標系に変換する(ステップS106)。
WMT=TL→Wt・LMT (5)
具体的には、下記のIIRフィルタ演算(式(6))を実行し平滑化を行う。kmはフィルタ係数でスイング状態などで実験的に決定される。
Mwt=(1−km)・Mwt−1+km・WAt (6)
このMwtからワールド座標系の現在の地磁気方向ベクトルWemtを
Wemt=Mwt/|Mwt|と推定する。
をRAM15に記録し、現在の地磁気方向Wemtと、初期状態でのワールド座標系における地磁気の方向Wem0
の方向とが、ワールド座標系のXY平面で同じ方向を向くような回転行列を求め、この回転行列を用いて姿勢パラメータTL→Wtの補正を行う(ステップS108)。これにより、地磁気方向の補正が行われるので、姿勢推定の精度が向上する。
この回転行列は、具体的には、各ベクトルのZ成分を0にしたベクトルを考え、その2つのベクトル方向から、重力補正と同様、中心に2つのベクトルをなす角度の長さの2つのベクトルに直交するベクトル方向を向いたベクトルを考え、この各成分の値の回転の合成行列変換で表現できる。
図9を参照して、図6のステップS18の位置推定処理の詳細説明を行う。
姿勢推定する際に、図8のステップS103において、ワールド座標の重力方向Wegtを推定した。CPU11は、ワールド座標系の加速度ベクトルからその重力方向Wegtの成分を除いたベクトルを求め、このベクトルを外力による加速度WFTと定義する(ステップS201)。さらに、CPU11は、外力による加速度WFTを積分して移動速度Wvtを求め、さらにこの移動速度Wvtを積分して水平面の移動量WDtを求める(ステップS202)。
図10及び図11を参照して、図6のステップS19の先端動き予測処理の詳細説明を行う。
求め方の一例として、まず、CPU11は、角速度ベクトルからy軸周りの成分を除いた角速度をスティック先端の角速度の観測値ωVt=(ωxt0 ωzt)Tとし、その値をカルマンフィルタなどを用いて角速度ωs及び角加速度δωsと推定する(ステップS210)。
図12又は図13を参照して、図6のステップS20の発音タイミング検出処理の詳細説明を行う。
図12は、第1の実施例における発音タイミング検出処理の流れを示すフローチャートである。
まず、CPU11は、動作状態に応じて分岐を行う(ステップS302)。動作状態にはIDLE、ACTION、SHOT及びDONEの4状態がある。CPU11は、IDLEの場合には、処理をステップS303に移行させ、ACTIONの場合には、処理をステップS320に移行させ、SHOTの場合には、処理をステップS330に移行させ、DONEの場合には、処理をステップS340に移行させる。
動作状態がACTIONになると、しばらくスティックは加速し続け、この間は、角加速度が正であるので、CPU11は、ステップS320でYESと判断し、現在の角速度が保持されている最大角速度と比較し(ステップS321)、角速度が最大角速度より大きい場合には、最大角速度を更新して(ステップS322)、「閾値2」を更新する(ステップS323)。角速度が最大角速度より小さい場合には、CPU11は、発音タイミング検出処理を終了する。
まず、CPU11は、動作状態に応じて分岐を行う(ステップS352)。動作状態にはIDLE、ACTION、SHOT及びDONEの4状態がある。CPU11は、IDLEの場合には、処理をステップS353に移行させ、ACTIONの場合には、処理をステップS370に移行させ、SHOTの場合には、処理をステップS380に移行させ、DONEの場合には、処理をステップS390に移行させる。ここで、標準的な動作状態の遷移は図14に示したとおり第1の実施例と同様である。
Trem=|ωst|/|δωst|でおよその時間を推定できる。
図15を参照して、図6のステップS21の発音量検出処理の詳細説明を行う。
CPU11は、動作状態を判定し、動作状態がDONE又はIDLEである場合には、ステップS402に処理を移行させ、動作状態がACTION又はSHOTである場合には、ステップS406に処理を移行させる。
Pshot=a1・ωs peak+a2・vspeak+a3・aspeak (5)
ここで、a1,a2,a3はミキシングパラメータであり、実験にて決定される。
このPshotは、ショットの音の大きさとして利用される。
図16を参照して、図6のステップS23のノートイベント生成処理の詳細説明を行う。
ショット時に、空間上に仮想的に配列された音源のどれを鳴らすかが決定されるが、ショットタイミングはシステムの遅延を考慮して先行して検出されているので、CPU11は、音が鳴るときのスティック部10の位置の推定を行う(ステップS501)。スティック部10の先端の角速度と角加速度がわかっているので、CPU11は、Trem後のスティックの姿勢を求めることにより位置を推定できる。具体的には、CPU11は、Tremをさらに時間を細分化し、その時間間隔をTとし、各時間の角速度ベクトルを前回の角速度ベクトル及び角加速度ベクトルから求める。さらに、CPU11は、この角速度ベクトルで、各時間間隔の回転角ベクトルを求め、この回転角ベクトルを用いて、合成回転行列を求め、次の姿勢を予測する。これをTremまで繰り返すことでTrem秒後の姿勢をTL→Wt+Tremと予測することができる。この姿勢パラメータからスティック部10の先端方向y軸のワールド座標系の位置Py=(PyXPyYPyZ)Tを得ることができる。
音源1:(0,1,0)前方
音源2:(sin60,cos60,0)前方右60度方向
音源3:(−sin60,cos60,0)前方左60度方向
音源4:(0,cos45,sin45)前方上部45度方向
音源5:(cos45sin60,cos45cos60,sin45)前方右60度、上部45度方向
音源6:(−cos45sin60,cos45cos60,sin45)前方左60度、上部45度方向
とする。
CPU11は、ステップS501で推定した発音時のスティック部10の位置Pyとそれぞれの音源位置Psi=(PsiXPsiYPsiZ)Tとの距離を求め、一番近いものを今回のショット対象の音源とする(ステップS502)。
[サウンド探索]
図17を参照して、図16のステップS502の変形例であるサウンド探索処理の詳細説明を行う。
次に、CPU11は、探し出した音源番号iを今回の音源選択番号としてRAM15に記憶しておく(ステップS602)。続いて、CPU11は、前回の音源番号を読み出し、その音源番号の位置座標と今回の音源の位置座標とを比較する。このとき、垂直方向Z軸を除いた、X,Y座標を比較する(ステップS603)。垂直方向は本実施例では補正しない。
図18を参照して、発音部30において実行される発音処理について説明する。
本実施形態においては、CPU11は、加速度センサ122が検出した加速度及び角速度センサ123が検出した角速度を一定タイミング毎に取得するとともに、スティック部10の初期の静止状態において、加速度センサ122により検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをRAM15に記憶する。そして一定タイミング毎に角速度センサ123が検出した角速度に応じて、この姿勢パラメータを更新を行い、この更新された姿勢パラメータに基づいて、検出された加速度から重力方向の加速度を算出する。さらに、この算出された加速度を所定区間毎に累算し、累算された加速度を、RAM15に記憶された加速度と一致するように補正する。
よって、スティック部10を高速に動作させた場合において、重力方向を補正することで、スティック部10の姿勢推定の精度を向上させることができる。
よって、スティック部10を高速に動作させた場合において、地磁気方向を補正することで、スティック部10の姿勢推定の精度を向上させることができる。
よって、発音遅延時間を考慮して本来のショットタイミングよりも一定時間前に発音タイミングを生成することで、発音の精度を向上できる。
よって、発音遅延時間を考慮して本来のショットタイミングよりも一定時間前に発音タイミングを生成することで、発音の精度を向上できる。
よって、角速度の値が0になるまでの時間の推定精度を向上できる。
よって、スティック部10が斜めにスイングされた場合であっても、本来のショットタイミングでのスティック部10の位置の音色で発音できる。
よって、スティック部10が斜めにスイングされ、かつ平行移動した場合であっても、本来のショットタイミングでのスティック部10の位置の音色で発音できる。
よって、仮想的な音源がワールド座標系に垂直に配置されている場合であっても、スイング動作の強さを反映して適切な音量制御が可能となる。
[付記1]
ユーザが保持可能な保持部材と、
前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、
前記角速度センサが検出した角速度に基づいて、演奏操作中の前記演奏部材の角速度の最大値を算出する第1算出手段と、
前記加速度センサが検出した加速度に基づいて、前記保持部材の加速度の最大値を算出する第2算出手段と、
前記第1算出手段により算出された前記角速度の最大値と、前記第2算出手段により算出された前記加速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御手段と、を備える、
ことを特徴とする演奏装置。
[付記2]
ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する演奏装置が実行する方法であって、
前記角速度センサが検出した角速度に基づいて、演奏操作中の前記演奏部材の角速度の最大値を算出する第1算出ステップと、
前記加速度センサが検出した加速度に基づいて、前記保持部材の加速度の最大値を算出する第2算出ステップと、
前記第1算出ステップにて算出された前記角速度の最大値と、前記第2算出ステップにて算出された前記加速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御ステップと、
を含む方法。
[付記3]
ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する演奏装置として用いられるコンピュータに、
前記角速度センサが検出した角速度に基づいて、演奏操作中の前記演奏部材の角速度の最大値を算出する第1算出ステップと、
前記加速度センサが検出した加速度に基づいて、前記保持部材の加速度の最大値を算出する第2算出ステップと、
前記第1算出ステップにて算出された前記角速度の最大値と、前記第2算出ステップにて算出された前記加速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御ステップと、
を実行させるプログラム。
Claims (3)
- ユーザが保持可能な保持部材と、
前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する3軸それぞれを中心として回転した場合に生じる角速度を検出する角速度センサと、
前記角速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる角速度に基づいて、演奏操作中の前記保持部材の角速度の最大値を取得する第1取得手段と、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の加速度の最大値を取得する第2取得手段と、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の速度の最大値を取得する第3取得手段と、
前記第1取得手段により取得された前記角速度の最大値と、前記第2取得手段により取得された前記加速度の最大値と、前記第3取得手段により取得された前記速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御手段と、を備える、
ことを特徴とする演奏装置。 - ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心として回転した場合に生じる角速度を検出する角速度センサと、を有する演奏装置が実行する方法であって、
前記角速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる角速度に基づいて、演奏操作中の前記保持部材の角速度の最大値を取得する第1取得ステップと、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の加速度の最大値を取得する第2取得ステップと、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の速度の最大値を取得する第3取得ステップと、
前記第1取得ステップにて取得された前記角速度の最大値と、前記第2取得ステップにて取得された前記加速度の最大値と、前記第3取得ステップにより取得された前記速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御ステップと、
を含む方法。 - ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心として回転した場合に生じる角速度を検出する角速度センサと、を有する演奏装置として用いられるコンピュータに、
前記角速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる角速度に基づいて、演奏操作中の前記保持部材の角速度の最大値を取得する第1取得ステップと、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の加速度の最大値を取得する第2取得ステップと、
前記加速度センサが検出した前記保持部材の振り下ろし動作に対応して生じる加速度に基づいて、前記保持部材の速度の最大値を取得する第3取得ステップと、
前記第1取得ステップにて取得された前記角速度の最大値と、前記第2取得ステップにて取得された前記加速度の最大値と、前記第3取得ステップにより取得された前記速度の最大値とに基づいて、発音する楽音の音量を制御する音量制御ステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012084373A JP6031801B2 (ja) | 2012-04-02 | 2012-04-02 | 演奏装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012084373A JP6031801B2 (ja) | 2012-04-02 | 2012-04-02 | 演奏装置、方法及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016208409A Division JP6436145B2 (ja) | 2016-10-25 | 2016-10-25 | 演奏装置、方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013213948A JP2013213948A (ja) | 2013-10-17 |
JP2013213948A5 JP2013213948A5 (ja) | 2015-05-21 |
JP6031801B2 true JP6031801B2 (ja) | 2016-11-24 |
Family
ID=49587315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012084373A Active JP6031801B2 (ja) | 2012-04-02 | 2012-04-02 | 演奏装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6031801B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011128427A (ja) * | 2009-12-18 | 2011-06-30 | Yamaha Corp | 演奏装置、演奏制御装置及びプログラム |
JP2012013725A (ja) * | 2010-06-29 | 2012-01-19 | Casio Comput Co Ltd | 演奏システムおよび電子楽器 |
JP5668353B2 (ja) * | 2010-08-02 | 2015-02-12 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
-
2012
- 2012-04-02 JP JP2012084373A patent/JP6031801B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013213948A (ja) | 2013-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044099B2 (ja) | 姿勢検出装置、方法及びプログラム | |
JP2013213946A (ja) | 演奏装置、方法及びプログラム | |
JP2013213744A (ja) | 姿勢検出装置、方法及びプログラム | |
US8609972B2 (en) | Performance apparatus and electronic musical instrument operable in plural operation modes determined based on movement operation of performance apparatus | |
US8445769B2 (en) | Performance apparatus and electronic musical instrument | |
CN102568453B (zh) | 演奏装置及电子乐器 | |
US8445771B2 (en) | Performance apparatus and electronic musical instrument | |
US8710347B2 (en) | Performance apparatus and electronic musical instrument | |
JP6436145B2 (ja) | 演奏装置、方法及びプログラム | |
JP6031801B2 (ja) | 演奏装置、方法及びプログラム | |
JP6519578B2 (ja) | 姿勢検出装置、及び姿勢検出方法 | |
JP6031800B2 (ja) | 演奏装置、方法及びプログラム | |
JP2011252994A (ja) | 演奏装置および電子楽器 | |
JP2013213947A (ja) | 演奏装置、方法及びプログラム | |
JP6111526B2 (ja) | 楽音発生装置 | |
JP2013044889A (ja) | 演奏装置 | |
JP2012013725A (ja) | 演奏システムおよび電子楽器 | |
JP2013044951A (ja) | 操作子および演奏装置 | |
JP2012032681A (ja) | 演奏装置および電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150401 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161010 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6031801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |