JP2013213744A - 姿勢検出装置、方法及びプログラム - Google Patents

姿勢検出装置、方法及びプログラム Download PDF

Info

Publication number
JP2013213744A
JP2013213744A JP2012084368A JP2012084368A JP2013213744A JP 2013213744 A JP2013213744 A JP 2013213744A JP 2012084368 A JP2012084368 A JP 2012084368A JP 2012084368 A JP2012084368 A JP 2012084368A JP 2013213744 A JP2013213744 A JP 2013213744A
Authority
JP
Japan
Prior art keywords
acceleration
angular velocity
cpu
detected
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.)
Pending
Application number
JP2012084368A
Other languages
English (en)
Inventor
Keiichi Sakurai
敬一 櫻井
Ryutaro Hayashi
龍太郎 林
Yuji Tabata
裕二 田畑
Kazutaka Kasuga
一貴 春日
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012084368A priority Critical patent/JP2013213744A/ja
Priority to US13/853,729 priority patent/US10203203B2/en
Priority to CN201310112475.5A priority patent/CN103364840B/zh
Priority to EP13162007.2A priority patent/EP2648182A1/en
Publication of JP2013213744A publication Critical patent/JP2013213744A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/16Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring distance of clearance between spaced objects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/185Stick input, e.g. drumsticks with position or contact sensors
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/395Acceleration sensing or accelerometer use, e.g. 3D movement computation by integration of accelerometer data, angle sensing with respect to the vertical, i.e. gravity sensing.
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/4013D sensing, i.e. three-dimensional (x, y, z) position or movement sensing.
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments, MIDI-like control therefor
    • G10H2230/275Spint drum
    • G10H2230/281Spint drum assembly, i.e. mimicking two or more drums or drumpads assembled on a common structure, e.g. drum kit

Abstract

【課題】スティック状の部材を高速に動作させた場合において、重力方向を補正することで、スティック状の部材の姿勢推定の精度を向上させることができる姿勢検出装置を提供する。
【解決手段】CPU11は、スティック部10の初期の静止状態において、加速度センサ122が取得した重力により生じた加速度をRAM15に記憶し、加速度センサ122が取得したスティック部10に加えられる動きによって生じる加速度を一定タイミング毎に取得し、取得した一定タイミング毎の加速度を所定区間毎に累算し、累算された加速度を、RAM15に記憶された加速度に一致させる。
【選択図】図2

Description

本発明は、姿勢検出装置、方法及びプログラムに関する。
従来、演奏者の演奏動作を検知すると、演奏動作に応じた音を発音する演奏装置が提案されている。例えば、スティック状の部材のみからなる構成で打楽器音を発音する演奏装置が知られており、この演奏装置では、スティック状の部材にセンサが設けられ、演奏者が、部材を手で保持して振ることで、センサがその演奏動作を検知して、打楽器音を発音する。
このような仮想的な演奏装置によれば、現実の楽器を必要とせずに当該楽器の楽音を発音することができるため、演奏者は、演奏場所や演奏スペースに制約を受けずに演奏を楽しむことができる。
上述のような仮想的演奏装置として、例えば、特許文献1には、スティック状の部材に加速度センサを設け、この部材を振ることにより加速度センサから得られる出力(加速度値)が所定の閾値に達した後、楽音を発音するように構成された演奏装置が開示されている。
特開2007−256736号公報
ところで、このような仮想的な演奏装置では、演奏者の異なる演奏動作毎にそれぞれ異なる楽音が用意されている場合が多い。特許文献1に開示された演奏装置においても、地磁気センサを用いてスティック状の部材の向きを判定し、この向きに応じて異なる音色の楽音を発音できるように構成されている。しかし、この場合、音源の配置は水平方向しかできないため、音源は3つから4つが最大で、それ以上の配置ができない。
これを解決する方法として、加速度センサを用いて重力方向との角度によって音源の配置を行う方法が考えられる。しかし、重力は、加速度センサによってセンスすることができるが外力との合成力になってしまうため、スティックのように高速に動作させると重力方向が特定できない。よって、スティックの姿勢推定の精度が悪くなる。
本発明は、このような状況に鑑みてなされたものであり、スティック状の部材を高速に動作させた場合において、重力方向を補正することで、スティック状の部材の姿勢推定の精度を向上させることができる姿勢検出装置を提供することを目的とする。
上記目的を達成するため、本発明の一態様の姿勢検出装置は、
ユーザが保持可能な保持部材と、
前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得手段と、
前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御手段と、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出手段と、
この算出された加速度を所定区間毎に累算する累算手段と、
この累算手段により累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正手段と、
を備えることを特徴とする。
本発明によれば、スティック状の部材を高速に動作させた場合において、重力方向を補正することで、スティック状の部材の姿勢推定の精度を向上させることができる。
本発明の演奏装置の一実施形態の概要を示す図である。 上記演奏装置のスティック部の構成を示すブロック図である。 上記演奏装置の発音部の構成を示すブロック図である。 上記演奏装置のスティック部についての詳細を説明する図である。 本発明の演奏装置の一実施形態に係るワールド座標系について説明する図である。 上記スティック部のCPUが実行する処理の流れを示すフローチャートである。 姿勢センサと姿勢の初期化処理の流れを示すフローチャートである。 姿勢推定処理の流れを示すフローチャートである。 位置推定処理の流れを示すフローチャートである。 先端動き予測処理の流れを示すフローチャートである。 上記スティック部のスティック先端回転軸とスイング方向との関係を示す図である。 第1の実施例における発音タイミング検出処理の流れを示すフローチャートである。 第2の実施例における発音タイミング検出処理の流れを示すフローチャートである。 上記スティック部の動作状態の遷移を示す図である。 発音量検出処理の流れを示すフローチャートである。 ノートイベント生成処理の流れを示すフローチャートである。 変形例におけるサウンド探索処理の流れを示すフローチャートである。 発音処理の流れを示すフローチャートである。
以下、本発明の実施形態について、図面を用いて説明する。
以下、添付図面を参照して、本発明の実施形態について説明する。
図1は、本発明の一実施形態の演奏装置1の概要を示す図である。図1に示すように本発明の演奏装置1は、スティック部10と、発音部30とから構成される。
スティック部10は、長手方向に延びるスティック状の部材である。演奏者は、スティック部10の一端(根元側)を手に持ち手首などを中心とした振り上げ及び振り下ろし動作を行うことで、演奏動作を行う。このような演奏者の演奏動作を検知するため、スティック部10の他端(先端側)には、姿勢センサ12が設けられている(図2参照)。
発音部30は、楽音を発音する。
このような演奏装置1では、スティック部10を用いた演奏動作、すなわち、スティック部10の振り下ろし動作に応じて、発音部30は、所定の楽音を発音する。これにより、演奏者による演奏が行われる。
[演奏装置1の構成]
初めに、図2及び図3を参照して、本実施形態の演奏装置1の各構成要素、具体的には、スティック部10、及び発音部30の構成について説明する。
[スティック部10の構成]
図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の軸方向の計測が可能になっている。
図4を参照して、本実施形態では、スティック部10の長手方向の軸と一致する軸をy軸とし、姿勢センサ12が配置された基板(図示せず)と平行で、かつ、y軸と直交する軸をx軸とし、x軸及びy軸と直交する軸をz軸としている。磁気センサ121は、地磁気ベクトルのx軸、y軸、z軸のそれぞれの成分の地磁気値を取得できる。また、加速度センサ122は、x軸、y軸、z軸のそれぞれの成分の加速度値を取得できる。また角速度センサ123は軸それぞれを中心とする角速度の成分の値(ωx、ωy、ωz)を取得できる。
ここで、演奏者は、スティック部10の一端(根元側)を保持し、手首などを中心とした振り上げ及び振り下ろし動作を行うことで、スティック部10に対して回転運動や平行運動などを生じさせる。これらの動きを姿勢センサ12で検出をおこない、CPU11に送り出す。
図2に戻り、CPU11は、姿勢センサ12が検出した加速度値、角速度値、地磁気方向と強度を読み出し、これらの値に応じて、スティックの姿勢、及び、発音のタイミング検出を行う。これにより、CPU11は、その発音に対応するノートオンイベントの生成を行い、I/F装置13及び無線通信装置17を介してノートオンイベントを発音部30に送信する。ここで、ノートオンイベントとは、楽音の発音を音源部371(図3参照)に対して指示するコマンド情報であり、本実施形態においては、発音する楽音の音色や音高の情報に加えて、さらに楽音の音量などの情報を含むものである。
このように、CPU11は、スティック部10が有する姿勢センサ12の各センサ値に基づいて発音部30にノートオンイベントを送信することで、発音部30は、スティック部10を用いた演奏動作に基づいて所定の楽音を発音することができる。
ROM14は、CPU11が実行する各種処理の処理プログラム、すなわち、前述したように、姿勢センサ12によるデータの取得、ノートオンイベントの生成処理、ノートオンイベントの送信処理などの処理プログラムを格納する。RAM15は、姿勢センサ12の各センサ値、処理において取得され或いは生成された値を格納する。I/F13は、CPU11からの指示にしたがって無線通信装置17にデータを出力する。
また、入力部16は、各種スイッチ(図示せず)を有し、演奏者からの各種指示入力を受け付ける。
無線通信装置17は、発音部30との間で所定の無線通信を行う。所定の無線通信は、任意の方法で行うこととしてよく、本実施形態では、無線通信装置17は、赤外線通信により発音部30との間で無線通信を行う。LED18は、CPU11からの制御に応じて発光及び消灯する。なお、LED18は、スティックの姿勢の初期化などのスティックの処理状態を示すためなどに用いられる。
[発音部30の構成]
次に、図3を参照して、発音部30の構成について説明する。図3は、発音部30の構成を示すブロック図である。図3に示すように、発音部30は、CPU31、I/F(インタフェース)32、ROM33、RAM34、表示部35、入力部36及びサウンドシステム37から構成される。発音部30のI/F32は、スティック部10からのデータ(例えば、楽音を発音する制御データであるノートオンイベント)を受け入れて、RAM34に格納するとともに、CPU31にデータの受け入れを通知する。本実施形態においては、スティック部10に無線通信装置17が、発音部30に赤外線通信装置38が設けられている。I/F32は、スティック部10の無線通信装置17が発した無線信号を、赤外線通信装置38で受信することで、スティック部10からデータを受信する。
CPU31は、演奏装置1全体の制御、特に、発音部30の制御、入力部36を構成するキースイッチ(図示せず)の操作の検出、I/F32を介して受信したスティック部10からのノートオンイベントに基づく楽音の発音など、種々の処理を実行する。
ROM33は、演奏装置1全体の制御、特に、発音部30の制御、入力部36を構成するキースイッチ(図示せず)の操作の検出、I/F32を介して受信したノートオンイベントに基づく楽音の発音など、種々の処理プログラムを格納する。また、ROM33は、種々の音色の波形データ、例えば、フルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器、バスドラム、ハイハット、スネア、シンバル、タムなど打楽器の波形データを格納する波形データエリアを含む。
RAM34は、ROM33から読み出されたプログラムや、処理の過程で生じたデータやパラメータを記憶する。処理の過程で生じたデータには、入力部36のスイッチの操作状態、I/F32を介して受信したノートオンイベントや演奏者の身体動作の状態(前進フラグや変位量)などが含まれる。
表示部35は、例えば、液晶表示装置で構成され、選択された音色や音量、演奏者の身体動作の状態(基準位置からの変位量)などを画像として表示する。また、入力部36は、各種スイッチ(図示せず)を有し、演奏者からの各種情報の入力を受け付ける。
サウンドシステム37は、音源部371、オーディオ回路372及びスピーカ373を含む。音源部371は、CPU31からの指示にしたがって、ROM33の波形データエリアから波形データを読み出して、楽音データを生成して出力する。オーディオ回路372は、音源部371から出力された楽音データをアナログ信号に変換するとともに、変換したアナログ信号を増幅してスピーカ373に出力する。これによりスピーカ373から楽音が出力される。
[座標系の説明]
次に本実施形態におけるスティックの姿勢、及びワールド座標系について図5を参照して説明する。ここでワールド座標とは、演奏者を中心とした座標系のことをいう。図5にあるように演奏者から見て右水平方向をX軸、前方水平方向をY軸、天頂方向をZ軸と定義する。図4で記載したスティック部10の3軸であるx軸、y軸、z軸とは異なる。本実施形態では、スティック部10の3軸を、ローカル座標系と呼び小文字で表すのに対して、ワールド座標系では3軸を大文字で表す。演奏者がスティック部10をスイングさせると時間とともにローカル座標とワールド座標との関係が変わっていく。ワールド座標系から見て、スティック部10のローカル座標系の向きがどのようになっているかをスティックの姿勢と呼ぶ。
また、スティック部10が移動すると、ワールド座標系の原点からみたローカル座標系の原点も移動する。ワールド座標系から見たローカル座標系の原点をスティック部10の位置と呼ぶ。
[演奏装置1の処理]
続いて、本実施形態の演奏装置1の処理について説明する。初めに、図6を参照しながらスティック部10において実行される処理について概要説明をする。
図6は、スティック部10のCPU11が実行する処理の流れを示すフローチャートである。CPU11は、ROM14からプログラムコードを読みだして実行する。
まず、CPU11は、姿勢センサ12が有する各種センサの初期化とRAM15のデータのクリアなどを含むイニシャライズ処理を実行する(ステップS11)。イニシャライズ処理が終了すると、CPU11は、姿勢センサ12が有する各種センサのもつデバイスのばらつきや温度によって変化するオフセットやゲイン調整などを実行する(ステップS12)。次に、CPU11は、入力部36のスイッチの状態を読み出してRAM15に保存する(ステップS14)。RAM15に保存された当該スイッチの状態は、後述する位置検出の補助などに用いられる。
次に、CPU11は、ユーザがスティック部10をスイングしたとき、そのスイングに応じて発音させる処理を実行する(ステップS16〜S24))。まず、CPU11は、姿勢センサ12の加速度値、角速度値、及び地磁気の方向と強度をRAM15に保存する(ステップS16)。
CPU11は、この読みだした値に応じてスティック部10の姿勢の推定を実行し(ステップS17)、次に、スティック部10の平行移動の位置推定を実行する(ステップS18)。さらに、CPU11は、スティック部10の先端の動き予測を実行し(ステップS19)、この予測された動きを用いて、発音タイミングの検出を実行する(ステップS20)。さらに、CPU11は、発音量の検出を実行する(ステップS21)。ステップS20において発音タイミングである(動作状態が後述する「SHOT」である)場合(ステップS22でYESと判定された場合)、CPU11は、スティック部10の姿勢及び位置に応じて楽音の音色や音高を決定してノートオンイベントを生成し(ステップS23)、生成されたノートオンイベントを発音部30に送信する(ステップS24)。
[姿勢センサと姿勢の初期化]
図7を参照して、図6のステップS12の姿勢センサと姿勢の初期化処理の詳細説明を行う。
図7は、姿勢センサと姿勢の初期化処理の流れを示すフローチャートである。
まず、CPU11は、ユーザにスティック部10の先端を前方方向に向けて静止してもらうように表示を行う(ステップS71)。表示の例としては、CPU11は、LED18を緑色に点灯させる。
次に、CPU11は、角速度センサ123の各軸のデータを読み出す。角速度センサ123は通常、デバイスのばらつきや温度変動により、角速度0であるときのオフセット値が変動する。CPU11は、角速度センサ123の値をオフセット値としてRAM15に記憶する(ステップS72)。以降のステップでは、CPU11は、角速度センサ123の値を読み出したとき、読み出した値からこのオフセット値を引くことで、スティック部10が静止しているときの角速度が0となるように調整する。
次に、CPU11は、加速度センサ122の各軸のデータを読み出して、前回の加速度と比較し重力方向の変化を検出したか否かを判断する(ステップS74)。具体的には、スティック部10の静止状態では、加速度センサ122の値は重力方向の各軸成分のみを示すことになるので、CPU11は、各軸成分の値に変化がない場合に、スティックが静止状態であることを検出できる。本実施形態では、CPU11は、1秒程度変化がない場合に、スティックが静止状態であることを検出する。CPU11は、スティックが静止状態であることを検出した場合には、角速度のオフセット値の登録を完了して、ステップS75に処理を移す。一方、CPU11は、スティックが動作したことを検出した場合、ステップS72に処理を移し、再度オフセット値の登録をやり直す。
続いて、CPU11は、姿勢の初期化を行う(ステップS75)。具体的には、CPU11は、ユーザが前方方向にスティック部10の先端部を向けた状態で、スティック部10の先端部が向いている方向が、ワールド座標系の前方(Y軸方向)になるようにワールド座標系とローカル座標系の関係を初期化する。また、CPU11は、当該初期化時点における角速度、加速度及び地磁気の各軸成分をRAM15に記憶する。
続いて、CPU11は、ユーザにスティック部10を様々な方向に向ける動作をさせるための表示を行う(ステップS76)。例えば、CPU11は、LED18を赤色で点滅させる。
さらに、CPU11は、磁気センサ121のオフセットとゲインの補正データを求める(ステップS77)。具体的には、CPU11は、ステップS76の処理に応じて、ユーザが様々な方向にスティック部10を向けたときの地磁気の値を磁気センサ121により計測し、計測した地磁気の値を用いて補正データを求める。オフセットとゲインの値の求め方の例としては、CPU11は、磁気センサ121の各軸の最大値及び最小値からその中央値を算出し、算出した中央値を各軸のオフセット値とする。
また、CPU11は、各軸の中央から最大値までの値が同じになるようにゲイン補正値を算出し、算出したオフセット値とゲイン補正値をRAM15に記憶する。以降のステップにおいて、CPU11は、磁気センサ121の値を読み出したとき、読み出した値からオフセット値を引いて、さらに補正ゲインを掛けることで、地磁気の値を補正して検出値とする。
続いて、CPU11は、検出された地磁気の値が一般の地上で検出される値であるか否かを判定する(ステップS78)。検出された地磁気の値が一般の地上で検出される値ではない場合には、CPU11は、処理をステップS76に戻し、再度、磁気センサ121のオフセット値とゲインの補正データを求める。検出された地磁気の値が一般の地上で検出される値である場合には、CPU11は、処理をステップS79に移行させ、ヨー補正モードを地磁気モードにセットする。
また、CPU11は、ステップS78の処理を所定回数(例えば、5回など)実行しても検出された地磁気の値が一般の地上で検出される値ではない場合には、処理をステップS80に移行させ、ヨー補正モードをショットモードにセットする。ステップS79又はステップS80の処理が終了すると、CPU11は、ステップS81に処理を移行させ、ヨー補正モードが地磁気モードであるかショットモードであるかを表示する。例えば、CPU11は、ショットモードの場合にはLED18を赤色で点灯させ、地磁気モードである場合にはLED18を緑色で点灯させる。なお、角速度センサ123及び磁気センサ121のセンサ値の補正処理の順番は、入れ替わってもよい。
[姿勢推定]
図8を参照して、図6のステップS17の姿勢推定処理の詳細説明を行う。
図8は、姿勢推定処理の流れを示すフローチャートである。
ワールド座標系から見たローカル座標系のx軸、y軸、z軸の基底ベクトルをe,e,eとして、各基底ベクトルを列に並べた行列TL→W=(e)を定義すると、ローカル座標系の点p=(xyz)と、この点pに対応するワールド座標系の点P=(XYZ)との間には、次の関係式(1)、(2)が成り立つ(演算記号Tは転置行列を意味する)。
P=TL→Wp (1) p=TL→W P (2)
このように、TL→Wは2つの座標系の関係を示すものであるので、このように、2つの座標系同士の関係などを用いて現在のスティック姿勢状態を表すことができる。なお、姿勢の表現方法としては、ピッチ、ヨー、ロールなどの角度を用いてもよい。
ところで、今回時刻tで読み取った角速度センサ123の値からローカル座標系の各軸成分を持つ3次の角速度ベクトルを取得できる。この3次の角速度ベクトルの各軸成分の値に角速度センサ123のサンプリング時間であるδTを掛け算することで、回転角ベクトルθt=(θxtθytθztを求められる。
この回転角ベクトルによってスティックの姿勢を求めることができる。具体的には、時刻tにおける姿勢TL→Wtは、x軸を中心としたθxtの回転、y軸を中心としたθytの回転、及びz軸を中心としたθztの回転の合成行列Rall(θ)と、前回の姿勢TL→Wt−1とを用いて、TL→Wt=Rall(θ)・TL→Wt−1と推定できる。このように、CPU11は、今回の角速度センサ123の値に基づいて、前回の姿勢を更新させて、今回の姿勢を推定する(ステップS101)。
ところが、このようにして求めた姿勢は誤差が累積していく。また、姿勢が一度間違ってしまうと、その後の姿勢推定の精度が著しく悪化する。例えば、スティック部10を前方水平からまっすぐに右水平に向かって回転したことを考える。最初に水平でなく垂直方向の回転に誤差が入るとスティックの先端の軌跡は斜めに上がりながら回転することになる、その後、この姿勢に関してまた、新しい回転が加わっていくので加速的に本来の姿勢からずれる。したがって、重力推定をおこなうことで、姿勢推定の補正を行い、姿勢の精度を高める。
加速度センサ122で検出される加速度ベクトルはローカル座標系での各軸の成分から構成される。この加速度ベクトルをステップS101で求めた姿勢情報を用いて、ワールド座標系ベクトルで表す。
外力が加わらなければ、加速度センサ122は重力のみを検出することになるので、加速度センサ122が検出したローカル座標系での加速度ベクトルをワールド座標系に変換すると、常に同じ方向を示すことになる。しかし、スティック部10の動作中は遠心力などの外力が加わるので常に同じ方向を向くとは限らない。ところが、ユーザは止まった状態でスティック部10をスイングしているので、スティック部10の位置は動かない。また、スティック部10を振り上げたときや、振り下げたときなど、いたるときに速度は0になる。すなわち、加速度ベクトルから重力成分を除いた外力の積分はいたるときに0になる。よってワールド座標系の加速度ベクトルを積分したベクトルは概ね重力方向を示すことになる。この性質を用いてワールド座標系の重力方向を推定する。
具体的には、CPU11は、今回時刻tで読み取った加速度センサ122が取得した各軸成分の加速度値を=(Axtytztとし、これはローカル座標系であるので、式(3)に基づいて、ワールド座標系に変換算出する(ステップS102)。
=TL→Wt (3)
次に、CPU11は、ワールド座標系に変換された加速度ベクトルの値について各成分について、現時刻から所定時間前までの平均値を算出して、平均加速度ベクトルを求める。所定時間はスイング状態などで実験的に決定される。CPU11は、この平均加速度ベクトルを重力方向ベクトルgtと推定する(ステップS103)。
具体的には、下記の式(式(4))を定義し、再帰加算によって累算を行う。Kはダンピング係数で、スイング状態などで実験的に決定される。
Gw=k・Gwt−1 (4)
このGwからワールド座標系の重力方向ベクトルgtgt=Gw/|Gw|と推定する。
次に、CPU11は、この重力方向ベクトルgtがZ軸の負の方向ベクトル(0 0 −1)になるように、姿勢パラメータTL→Wtを修正する(ステップS104)。具体的には、CPU11は、重力方向ベクトルgtと負の方向ベクトル(0 0 −1)との2つのベクトルに直行する軸を中心に、これら2つのベクトルのなす角度分を回転する操作を行うことで、姿勢パラメータTL→Wtを修正する。これにより、重力方向の補正がおこなわれるので、姿勢推定の精度が向上する。
前述した姿勢補正は重力方向のみであるので、Z軸を中心としたヨー角の誤差累積が残る。本実施形態では、ヨー角の補正は、ユーザによるスイッチ操作と、地磁気を用いた補正との2つの方法を提案する。
まず、ユーザによるスイッチ操作による補正について説明する。この補正は、ユーザが、スティック部10が前方を向いているタイミングで、スティック部10が備える入力部16(例えば、スイッチ)を、定期的に押すことにより、CPU11が、ヨー角の補正を行うというものである。CPU11は、ヨー方向強制スイッチがONされたか否かを判断する(ステップS109)。この処理では、CPU11は、入力部16から、ヨー方向強制スイッチがONされたことを示す信号を受信したか否かを判断する。
ステップS109での判断がYESの場合、CPU11は、スティック部10の先端のワールド座標系の方向ベクトルをワールド座標系のY軸の方向ベクトルと一致させるような回転行列を求め、この回転行列を用いて姿勢パラメータの補正を行う(ステップS110)。これにより、スティック部10の先端のヨー角が0度にセットされる。
この回転行列は、例えば、2つのベクトルをなす角度の長さであって、2つのベクトルに直交するベクトル方向を向いた回転角ベクトルを考える。この回転角ベクトルを角速度センサ123の姿勢補正の合成回転行列を求めた方法と同じ方法で合成行列変換を求めることができる。
次に、地磁気を用いた補正について説明する。
ステップS109での判断がNOの場合、CPU11は、ヨー方向補正モードが地磁気モードによる補正モードであるか否かを判定する(ステップS105)。地磁気モードによる補正モードでない場合は、CPU11は、姿勢推定処理を終了する。
地磁気モードによる補正モードである場合には、CPU11は、今回時刻tで読み取った磁気センサ121から求めた地磁気ベクトルの値を=(Mxtytztとし、これはローカル座標系であるので、式(5)に基づいて、ワールド座標系に変換する(ステップS106)。
=TL→Wt (5)
次に、CPU11は、例えばIIR(Infinite Impulse Response)フィルタを実行し平滑化をおこなう。この平滑して得られた方向を現在の地磁気方向mtと推定する(ステップS107)。
具体的には、下記のIIRフィルタ演算(式(6))を実行し平滑化を行う。kはフィルタ係数でスイング状態などで実験的に決定される。
Mw=(1−k)・Mwt−1+k (6)
このMwからワールド座標系の現在の地磁気方向ベクトルmt
mt=Mw/|Mw|と推定する。
続いて、CPU11は、初期状態でのワールド座標系における地磁気の方向m0
をRAM15に記録し、現在の地磁気方向mtと、初期状態でのワールド座標系における地磁気の方向m0
の方向とが、ワールド座標系のXY平面で同じ方向を向くような回転行列を求め、この回転行列を用いて姿勢パラメータTL→Wtの補正を行う(ステップS108)。これにより、地磁気方向の補正が行われるので、姿勢推定の精度が向上する。
この回転行列は、具体的には、各ベクトルのZ成分を0にしたベクトルを考え、その2つのベクトル方向から、重力補正と同様、中心に2つのベクトルをなす角度の長さの2つのベクトルに直交するベクトル方向を向いたベクトルを考え、この各成分の値の回転の合成行列変換で表現できる。
[位置推定]
図9を参照して、図6のステップS18の位置推定処理の詳細説明を行う。
図9は、位置推定処理の流れを示すフローチャートである。
姿勢推定する際に、図8のステップS103において、ワールド座標の重力方向gtを推定した。CPU11は、ワールド座標系の加速度ベクトルからその重力方向gtの成分を除いたベクトルを求め、このベクトルを外力による加速度と定義する(ステップS201)。さらに、CPU11は、外力による加速度を積分して移動速度を求め、さらにこの移動速度を積分して水平面の移動量を求める(ステップS202)。
なお、積分は完全積分では誤差累積の影響が出るので不完全積分を用いるのが望ましい。ダンピング係数(時定数)は実験にて調整をおこなう。このようにして求めた値は後のノートイベント生成処理(図16参照)で利用される、
[先端動き予測]
図10及び図11を参照して、図6のステップS19の先端動き予測処理の詳細説明を行う。
発音の強弱はスティック先端の速度で制御をおこなうことが望ましい。速度を予測するのに加速度センサから求める方法があるが精度上問題がある。また、角速度だけではスティックのスイングはひじや肩を中心とした回転運動またはひじなどを伸ばしながらスイングするので、角速度と速度が比例関係になるともいえない。そのため、本実施形態では、先端の角速度と角加速度で速度予測する。
図10は、先端動き予測処理の流れを示すフローチャートである。
求め方の一例として、まず、CPU11は、角速度ベクトルからy軸周りの成分を除いた角速度をスティック先端の角速度の観測値ωV=(ωxt0 ωztとし、その値をカルマンフィルタなどを用いて角速度ωs及び角加速度δωsと推定する(ステップS210)。
例えば、それぞれの角速度成分は、前回の角速度成分に角加速度成分を加えたもの、角加速度成分は、前回と同じ角加速度成分に駆動ノイズが加わるような状態モデルを利用して求めることができる。CPU11は、このようにして得られたスティック先端の角速度を用いて、その角速度の直近の平均したベクトル方向をスティック先端速度回転軸eとして推定する(ステップS211)。
本実施例ではカルマンフィルタで実現したが、IIRフィルタを用いてセンサの値及びその差分をスムージングしてそれぞれ角速度、角加速度を求めても良い。
スティック先端回転軸とスティックの方向y軸と直行する方向(外積方向、図11参照)をスイング方向eと定義する。先端の回転運動の接線方向はこの方向を向く。CPU11は、加速度ベクトルのスイング方向の成分Asを、とeとの内積を計算することで求める(ステップS212)。
[発音タイミング検出処理]
図12又は図13を参照して、図6のステップS20の発音タイミング検出処理の詳細説明を行う。
[発音タイミング検出処理(第1の実施例)]
図12は、第1の実施例における発音タイミング検出処理の流れを示すフローチャートである。
まず、CPU11は、動作状態に応じて分岐を行う(ステップS302)。動作状態にはIDLE、ACTION、SHOT及びDONEの4状態がある。CPU11は、IDLEの場合には、処理をステップS303に移行させ、ACTIONの場合には、処理をステップS320に移行させ、SHOTの場合には、処理をステップS330に移行させ、DONEの場合には、処理をステップS340に移行させる。
ここで、標準的な動作状態の遷移を図14に示す。図14は、横軸は、時間軸を示しており、縦軸は、図Aでは角速度の大きさ(ベクトルの長さ)を示している。符号はあまり意味がないが、便宜上、スティック部10を振り始めた方向を正とする。また、縦軸は、図Bでは角加速度の大きさ(ベクトルの長さ)を示している。符号は角速度の正方向と同じ向きを正とする。図Cは動作状態の遷移を示している。
スティックが停止している状態はIDLEであり、初期状態で動作状態はIDLEに初期化されている。初期状態の時刻t0では動作状態はIDLEである。このときCPU11は、スティック部10の角加速度が正でない場合には、発音タイミング検出処理を終了する(ステップS303)。スティック部10の角加速度が正の場合であってもスティック部10の角速度が「閾値1」以下の場合には、CPU11は、発音タイミング検出処理を終了する(ステップS304)。スティック部10の角速度が「閾値1」の値を超えた場合、CPU11は、ステップS305に処理を移行させる(ステップS304)。図14では、t2の時刻で、「閾値1」を超えたことが示されている。ステップS305では、CPU11は、動作状態をACTIONに変更させ(ステップS305)、最大角速度を0に初期化して(ステップS306)、発音タイミング検出処理を終了する。
動作状態がACTIONになると、しばらくスティックは加速し続け、この間は、角加速度が正であるので、CPU11は、ステップS320でYESと判断し、現在の角速度が保持されている最大角速度と比較し(ステップS321)、角速度が最大角速度より大きい場合には、最大角速度を更新して(ステップS322)、「閾値2」を更新する(ステップS323)。角速度が最大角速度より小さい場合には、CPU11は、発音タイミング検出処理を終了する。
「閾値2」は最大角速度の値によって決定されるようになっている。例えば、「閾値2」=(最大角速度)×Cで求める、ここで、Cは、0〜1の値で実験的に決定される。通常は0.1程度が望ましい。この「閾値2」はショットを検出してから音が発音するまでの遅延時間に相当する事前の角速度を想定している。無線の伝達遅延や、後に述べる発音処理に遅延が生じるので、その遅延分を保証するために本来の音の鳴らすタイミングより、事前に音を鳴らすためである。一般にショットの角速度のカーブは音の強弱に比例した形であることを想定し、角速度の最大値から、閾値を決定している。
スティック部10が減速状態に変わると(t3)、スティック部10の角加速度は0以下となるので、CPU11は、ステップS320でNOと判断する。ステップS324では、CPU11は、現在の角速度の絶対値が「閾値2」より小さいか否か比較する。スティックがまだ十分に減速されていない間は、CPU11は、ステップS324でNOと判断し、発音タイミング検出処理を終了して、ショットタイミングを待つことになる。
スティックが十分に減速し、「閾値2」より小さくなると、CPU11は、ショットタイミングに近づいたと判定し、ステップS324でYESと判断し(t4のタイミング)、動作状態をSHOTに設定し(ステップS325)、ショット通過時間を0に初期化する(ステップS326)。その後、CPU11は、発音タイミング検出処理を終了する。このSHOT状態は発音タイミングを知らせるものであり、図6のステップS22の発音タイミングの判断に用いられる。
動作状態がSHOTの場合には、CPU11は、動作状態をステップS330においてDONEに更新して、発音タイミング検出処理を終了する。
動作状態がDONEの場合には、CPU11は、角速度が「閾値3」以下であるか否かを判断し(ステップS340)、角速度が「閾値3」以下であると判断した場合には、動作状態をIDLEに変更し(ステップS341)、発音タイミング検出処理を終了する。ステップS340において、CPU11は、角速度が「閾値3」より大きいと判断した場合には、ショット通過時間が「閾値4」以下であるか否かを判断し(ステップS342)、ショット通過時間が「閾値4」以下であると判断した場合には、発音タイミング検出処理を終了する。一方、CPU11は、ショット通過時間が「閾値4」を超えたと判断した場合には、動作状態をIDLEに変更し(ステップS341)、発音タイミング検出処理を終了する。
すなわち、DONE状態は角速度が「閾値3」以下になるまで保持される。これは停止時に複数音が鳴ったりする誤動作を防止するためである。しかし、角速度がゆっくりと減速されて、角速度が「閾値3」以下になるまでのショット通過時間が「閾値4」を超えた場合には、動作状態はDONEからIDLEに変更される。
[発音タイミング検出処理(第2の実施例)]
図13は、第2の実施例における発音タイミング検出処理の流れを示すフローチャートである。
まず、CPU11は、動作状態に応じて分岐を行う(ステップS352)。動作状態にはIDLE、ACTION、SHOT及びDONEの4状態がある。CPU11は、IDLEの場合には、処理をステップS353に移行させ、ACTIONの場合には、処理をステップS370に移行させ、SHOTの場合には、処理をステップS380に移行させ、DONEの場合には、処理をステップS390に移行させる。ここで、標準的な動作状態の遷移は図14に示したとおり第1の実施例と同様である。
CPU11は、スティック部10の角加速度が正でない場合には、発音タイミング検出処理を終了する(ステップS353)。スティック部10の角加速度が正の場合であってもスティック部10の角速度が「閾値1」以下の場合には、CPU11は、発音タイミング検出処理を終了する(ステップS354)。スティック部10の角速度が「閾値1」の値を超えた場合、CPU11は、ステップS355に処理を移行させる(ステップS354)。図14では、t2の時刻で、「閾値1」を超えたことが示されている。ステップS355では、CPU11は、動作状態をACTIONに変更させ(ステップS355)、発音タイミング検出処理を終了する。
動作状態がACTIONになると、しばらくスティックは加速し続け、この間は、角加速度が正であるので、CPU11は、ステップS370でYESと判断し、発音タイミング検出処理を終了する。
スティック部10が減速状態に変わると(t3)、スティック部10の角加速度は0以下となるので、CPU11は、ステップS370でNOと判断する。CPU11は、ステップS371で、現在のスティック先端角速度ωs、角加速度δωsから角速度が0になるまでの時間を推測する。その推測された時間をTremとすると、
Trem=|ωs|/|δωs|でおよその時間を推定できる。
続いて、CPU11は、推定した時間が「閾値5」以下であるかを判定する(ステップS372)。例えばこの「閾値5」は10m秒程度とする。
この「閾値5」はショットを検出してから音が発音するまでの遅延時間として設定されている。無線の伝達遅延や、後に述べる発音処理に遅延が生じるので、その遅延分を保証するために本来の音の鳴らすタイミングより、事前に音を鳴らすためである。CPU11は、スティック部10が十分に減速するまでは、ステップS372ではNOと判断して発音タイミング検出処理を終了する。やがてスティック部10の角速度が0に近くなると、停止(角速度0)までの推定時間が「閾値5」以下となり、CPU11は、ステップS372ではYESと判断し(t4のタイミング)、動作状態をSHOTに設定し(ステップS373)、SHOT通過時間を0に初期化する(ステップS374)。このSHOT状態は発音タイミングを知らせるものであり、図6のステップS22の発音タイミングの判断に用いられる。
動作状態がSHOTの場合には、CPU11は、動作状態をステップS380においてDONEに更新して、発音タイミング検出処理を終了する。
動作状態がDONEの場合には、CPU11は、角速度が「閾値3」以下であるか否かを判断し(ステップS390)、角速度が「閾値3」以下であると判断した場合には、動作状態をIDLEに変更し(ステップS391)、発音タイミング検出処理を終了する。ステップS390において、CPU11は、角速度が「閾値3」より大きいと判断した場合には、ショット通過時間が「閾値4」以下であるか否かを判断し(ステップS392)、ショット通過時間が「閾値4」以下であると判断した場合には、発音タイミング検出処理を終了する。一方、CPU11は、ショット通過時間が「閾値4」を超えたと判断した場合には、動作状態をIDLEに変更し(ステップS391)、発音タイミング検出処理を終了する。
すなわち、DONE状態は角速度が「閾値3」以下になるまで保持される。これは停止時に複数音が鳴ったりする誤動作を防止するためである。しかし、角速度がゆっくりと減速されて、角速度が「閾値3」以下になるまでのショット通過時間が「閾値4」を超えた場合には、動作状態はDONEからIDLEに変更される。
[発音量検出]
図15を参照して、図6のステップS21の発音量検出処理の詳細説明を行う。
図15は、発音量検出処理の流れを示すフローチャートである。
CPU11は、動作状態を判定し、動作状態がDONE又はIDLEである場合には、ステップS402に処理を移行させ、動作状態がACTION又はSHOTである場合には、ステップS406に処理を移行させる。
動作状態がDONE又はIDLEである場合には、CPU11は、ピーク角速度値(スカラー量)ωs peak、シフト速度vs、ピークシフト速度vspeak、及びピークシフト加速度aspeakを0に初期化する(ステップS402〜S405)。
ピーク角速度値ωs peakは、スティックが発音スイング中に検出した角速度の最大値、シフト速度vsはスティックの先端の平行移動分の速度成分、現在のピークシフト速度vspeakはシフト速度Vsの最大値を保持している値である。発音タイミング検出(図12のステップS305、又は図13のステップS355)においてスティックのスイングが検出され、動作状態がACTION又はSHOTになると、CPU11は、現在のスティック先端角速度ベクトルのスカラー量|ωst|とピーク角速度値ωs peakとを比較し、|ωst|の方が大きい場合、ωs peakを|ωst|の値に更新する(ステップS406)。
次に、CPU11は、図10のステップS212で求めたスイング方向の加速度成分Asのシフト加速度のピーク値aspeakの保持と更新を行う(ステップS407)。
続いて、CPU11は、図10のステップS212で求めたスイング方向の加速度成分Asを不完全積分し、スイング方向の速度Vsを得る(ステップS408)。
CPU11は、前記のスイング方向速度Vsとピーク角速度値vspeakとを比較し、Vsの方が大きい場合、vspeakVsの値に更新する(ステップS409)。
次に、CPU11は、3つのピーク値からスティックの速度(音量)を求める。例えば、次の式(5)ような重み付き加算等で求める。
shot=a・ωs peak+a・vspeak+a・aspeak (5)
ここで、a,a,aはミキシングパラメータであり、実験にて決定される。
このPshotは、ショットの音の大きさとして利用される。
[ノートイベント生成]
図16を参照して、図6のステップS23のノートイベント生成処理の詳細説明を行う。
図16は、ノートイベント生成処理の流れを示すフローチャートである。
ショット時に、空間上に仮想的に配列された音源のどれを鳴らすかが決定されるが、ショットタイミングはシステムの遅延を考慮して先行して検出されているので、CPU11は、音が鳴るときのスティック部10の位置の推定を行う(ステップS501)。スティック部10の先端の角速度と角加速度がわかっているので、CPU11は、Trem後のスティックの姿勢を求めることにより位置を推定できる。具体的には、CPU11は、Tremをさらに時間を細分化し、その時間間隔をTとし、各時間の角速度ベクトルを前回の角速度ベクトル及び角加速度ベクトルから求める。さらに、CPU11は、この角速度ベクトルで、各時間間隔の回転角ベクトルを求め、この回転角ベクトルを用いて、合成回転行列を求め、次の姿勢を予測する。これをTremまで繰り返すことでTrem秒後の姿勢をTL→Wt+Tremと予測することができる。この姿勢パラメータからスティック部10の先端方向y軸のワールド座標系の位置P=(PyXyYyZを得ることができる。
音源がワールド座標系に6つマップ(配置)されている場合、それぞれの音源の位置(ワールド座標系)を、例えば、
音源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度方向
とする。
この各音源の位置情報と各音源番号に対応する音色は、ROM14のメモリ上に予め記憶されている。
CPU11は、ステップS501で推定した発音時のスティック部10の位置Pとそれぞれの音源位置Psi=(PsiXsiYsiZとの距離を求め、一番近いものを今回のショット対象の音源とする(ステップS502)。
距離測定は、ユークリッド距離を算出する。または、スイング方向軸の距離には鈍感になるような成分毎に重みつきユークリッド距離を用いることも有効である。スイング方向は移動方向なので精度が悪いので、回転軸方向より重みを大きくした距離を用いた方が望ましい。
または、方位はピッチ、ヨー、ロール角度表現に変換できる。この角度表記で音源位置、スティックの位置を角度表記に変換し、距離を求めても良い。この際、ピッチ方向とヨー方向で重みを変えた距離を用いても良い。ロール成分の重みは0が望ましい。
ステップS502でショット対象とした音源番号、又は、図17を参照して後述するサウンド探索処理において決定された音源番号をiとすると、CPU11は、i番目の音源に対応するノートをテーブルから読み出し(ステップS503)、発音するノートを得ることができる。
次に、CPU11は、図7のステップS79又はS80で判定されたヨー方向補正モードをチェックする(ステップS504)。ヨー方向補正モードが地磁気モードである場合、CPU11は、ノートイベント生成処理を終了する。他方、ヨー補正モードがショットモードである場合、CPU11は、音源とスティック部10とがなすヨー角エラーを求める(ステップS505)。具体的には、CPU11は、スティックの方向ベクトルは姿勢パラメータから求め、音源の方向ベクトルは前述したワールド座標系の音源の位置情報を用い、これら2つのベクトルのXY成分からなるベクトルの角度の差がヨー角エラーとして求める。このヨー角エラーはZ軸まわりの回転エラーであるので、CPU11は、Z軸を回転軸とした回転行列を求め、この回転行列を用いて姿勢の補正をおこなう(ステップS506)。
[サウンド探索]
図17を参照して、図16のステップS502の変形例であるサウンド探索処理の詳細説明を行う。
図17は、図16のステップS502の変形例であるサウンド探索処理の流れを示すフローチャートである。本処理は、図16のステップS502の処理に替えて実行される。すなわち、本処理は、図15のステップS501の処理の後に実行され、本処理のステップS613が終了すると、CPU11は、図16のステップS503に処理を移行させる。
まず、CPU11は、図16のステップS502と同様のサウンド探索方法にて、各サウンドマップから一番近い音源を探し出す(ステップS601)。
次に、CPU11は、探し出した音源番号iを今回の音源選択番号としてRAM15に記憶しておく(ステップS602)。続いて、CPU11は、前回の音源番号を読み出し、その音源番号の位置座標と今回の音源の位置座標とを比較する。このとき、垂直方向Z軸を除いた、X,Y座標を比較する(ステップS603)。垂直方向は本実施例では補正しない。
さらに、CPU11は、同じ方位であるか否か判断し(ステップS604)、同じ方位であると判断した時は、図9のS202で求めた移動量の水平成分の値が予め決められた正の閾値より大きいかを判定する(ステップS605)。この判定がYESの場合、CPU11は、予め決められた水平方向の回転角度分スティック部10の先端方向の位置Pを正方向に回転する(ステップS606)。ステップS605での判定がNOの場合、CPU11は、閾値を−1倍した負の閾値と当該移動量の水平成分とを比較して負の閾値より小さいかを判定する(ステップS607)。この判定がYESの場合、CPU11は、予め決められた水平方向の回転角度分スティック部10の先端方向の位置Pを負方向に回転する(ステップS608)。
CPU11は、このようにスティックの先端方向の方位を補正し、再度、図16のS502と同様のサウンド探索方法にて、各サウンドマップから一番近い音源を探し出す(ステップS609)。CPU11は、音源が探せたか否か判断し(ステップS610)、探せた場合(ステップS610でYESと判断された)には、新たに見つかった音源を今回の音源番号に更新しRAM15に記憶する(ステップS611)。探せなかった場合(ステップS610でNOと判断された)には、以前の音源番号が保持されることになる。
次に、CPU11は、次回のショットと今回のショットとの間の移動量をもとめるため、移動量の値を0にリセットする(ステップS612)。さらに、CPU11は、今回採用した音源番号を前回の音源番号としてRAM15に記憶する(ステップS613)。
[発音処理]
図18を参照して、発音部30において実行される発音処理について説明する。
図18は、発音部30において実行される発音処理の流れを示すフローチャートである。
図18に示すように、発音部30のCPU31は、電源投入時において、RAM34のデータのクリア、表示部35の画面に表示された画像のクリア、音源部371のクリアなどを含むイニシャライズ処理を実行する(ステップS701)。次いで、CPU31は、スイッチ処理を実行する(ステップS702)。スイッチ処理では、例えば、入力部36のスイッチ操作にしたがって、演奏者が所望する音量ボリュウム値及び音色を特定し、RAM34に格納する。
続いて、CPU31は、I/F32が、ノートオンイベントを新たに受信しているかを判断する(ステップS703)。ステップS703でYesと判断された場合には、CPU31は、この受信されたノートオンイベントに基づき、設定された音量ボリュウム値及び設定された音色の楽音の発音を音源部371に指示する処理を実行する(ステップS704)。ステップS704の処理が終了すると、CPU31は、処理をステップS702に戻す。
以上、本実施形態の演奏装置1の構成及び処理について説明した。
本実施形態においては、CPU11は、加速度センサ122が検出した加速度及び角速度センサ123が検出した角速度を一定タイミング毎に取得するとともに、スティック部10の初期の静止状態において、加速度センサ122により検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをRAM15に記憶する。そして一定タイミング毎に角速度センサ123が検出した角速度に応じて、この姿勢パラメータを更新を行い、この更新された姿勢パラメータに基づいて、検出された加速度から重力方向の加速度を算出する。さらに、この算出された加速度を所定区間毎に累算し、累算された加速度を、RAM15に記憶された加速度と一致するように補正する。
よって、スティック部10を高速に動作させた場合において、重力方向を補正することで、スティック部10の姿勢推定の精度を向上させることができる。
また、本実施形態においては、CPU11は、スティック部10の初期の静止状態において、磁気センサ121によって、スティック部10の長手方向の軸を含めた互いに直交する3軸それぞれの方向の地磁気成分を検出し、前述の姿勢パラメータに基づいて別の3軸方向の地磁気成分に変換してRAM15に記憶する。そして、磁気センサ121が検出する各軸の地磁気成分を一定タイミング毎に取得し、取得した一定タイミング毎の各軸の地磁気成分を姿勢パラメータに基づいて、前述の異なる3軸方向の地磁気成分に変換する。さらこの変換された各地磁気成分を所定区間毎に累算し、この累算された各地磁気成分を、RAM15に記憶された各地磁気成分に一致させるように補正する。
よって、スティック部10を高速に動作させた場合において、地磁気方向を補正することで、スティック部10の姿勢推定の精度を向上させることができる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度の値が「閾値1」を超えた後、「閾値2」を下回った場合に、ノートオンイベントを発音部30に送信する。また、「閾値2」は、角速度センサ123が取得した角速度の値が「閾値1」を超えた後の最大値に応じた値(具体的には、当該最大値に一定比率値を乗算した値)である。
よって、発音遅延時間を考慮して本来のショットタイミングよりも一定時間前に発音タイミングを生成することで、発音の精度を向上できる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度の値が「閾値1」を超えた後、0になるまでの時間を推定し、推定された時間が「閾値5」を下回った場合に、ノートオンイベントを発音部30に送信する。
よって、発音遅延時間を考慮して本来のショットタイミングよりも一定時間前に発音タイミングを生成することで、発音の精度を向上できる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度に基づいてスティック部10の先端部の角速度及び角加速度を算出し、算出されたスティック部10の先端部の角速度及び角加速度に基づいて、角速度センサ123が取得した角速度の値が「閾値1」を超えた後、0になるまでの時間を推定する。
よって、角速度の値が0になるまでの時間の推定精度を向上できる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度に基づいて、演奏操作中のスティック部10の回転軸方向を推定し、角速度センサ123が取得した角速度からスティック部10の長手方向の軸成分を除いた角速度に基づいて、スティック部10の先端部の角速度を算出し、推定された直近の回転軸方向、及び算出されたスティック部10の先端部の直近の角速度に基づいて、所定時間後のスティック部10のワールド座標系の位置を算出し、音源マップの複数の領域のうち、算出された当該位置に最も近い領域に対応する楽音のノートオンイベントを発音部30に送信する。
よって、スティック部10が斜めにスイングされた場合であっても、本来のショットタイミングでのスティック部10の位置の音色で発音できる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度に基づいて、演奏操作中のスティック部10の回転軸方向を推定し、角速度センサ123が取得した角速度からスティック部10の長手方向の軸成分を除いた角速度に基づいて、スティック部10の先端部の角速度を算出し、推定された直近の回転軸方向、及び算出されたスティック部10の先端部の直近の角速度に基づいて、所定時間後のスティック部10のワールド座標系の位置を算出し、加速度センサ122が取得した加速度に基づいて、移動距離を算出し、算出された当該位置、及び算出された当該移動距離に基づいて、所定時間後のスティック部10のワールド座標系の位置を補正し、音源マップの複数の領域のうち、補正された当該位置に最も近い領域に対応する楽音のノートオンイベントを発音部30に送信する。
よって、スティック部10が斜めにスイングされ、かつ平行移動した場合であっても、本来のショットタイミングでのスティック部10の位置の音色で発音できる。
また、本実施形態では、CPU11は、角速度センサ123が取得した角速度に基づいて、演奏操作中のスティック部10の角速度の最大値を算出し、加速度センサ122が取得した加速度に基づいて、演奏操作中のスティック部10の加速度の最大値を算出し、算出された角速度の最大値と、加速度の最大値とに基づいて、発音する楽音の音量を制御する。
よって、仮想的な音源がワールド座標系に垂直に配置されている場合であっても、スイング動作の強さを反映して適切な音量制御が可能となる。
以上、本発明の実施形態について説明したが、実施形態は例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換など種々の変更を行うことができる。これら実施形態やその変形は、本明細書などに記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
ユーザが保持可能な保持部材と、
前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得手段と、
前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御手段と、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出手段と、
この算出された加速度を所定区間毎に累算する累算手段と、
この累算手段により累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正手段と、
を備えることを特徴とする姿勢検出装置。
[付記2]
ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する姿勢検出装置が実行する方法であって、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得ステップと、
前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出ステップと、
この算出された加速度を所定区間毎に累算する累算ステップと、
この累算ステップにより累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正ステップと、
を含む方法。
[付記3]
ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する姿勢検出装置として用いられるコンピュータに、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得ステップと、
前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出ステップと、
この算出された加速度を所定区間毎に累算する累算ステップと、
この累算ステップにより累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正ステップと、
を実行させるプログラム。
1・・・演奏装置、10・・・スティック部、11・・・CPU、12・・・姿勢センサ、13・・・I/F装置、14・・・ROM、15・・・RAM、16・・・入力部、17・・・無線通信装置、18・・・LED、121・・・磁気センサ、122・・・か速度センサ、123・・・角速度センサ、30・・・発音部、31・・・CPU、32・・・I/F、33・・ROM、34・・・RAM、35・・・表示部、36・・・入力部、37・・・サウンドシステム、38・・・赤外線通信装置、371・・・音源部、372・・・オーディオ回路、373・・・スピーカ

Claims (3)

  1. ユーザが保持可能な保持部材と、
    前記保持部材の互いに直交する3軸それぞれの方向に生じる加速度を検出する加速度センサと、
    前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、
    前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得手段と、
    前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御手段と、
    前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
    前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出手段と、
    この算出された加速度を所定区間毎に累算する累算手段と、
    この累算手段により累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正手段と、
    を備えることを特徴とする姿勢検出装置。
  2. ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する姿勢検出装置が実行する方法であって、
    前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得ステップと、
    前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
    前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
    前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出ステップと、
    この算出された加速度を所定区間毎に累算する累算ステップと、
    この累算ステップにより累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正ステップと、
    を含む方法。
  3. ユーザが保持可能な保持部材と、前記保持部材の互いに直交する3軸のそれぞれの方向に生じる加速度を検出する加速度センサと、前記直交する3軸それぞれを中心とする角速度を検出する角速度センサと、を有する姿勢検出装置として用いられるコンピュータに、
    前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を一定タイミング毎に取得する取得ステップと、
    前記保持部材の初期の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該初期静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
    前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
    前記更新された姿勢パラメータに基づいて、前記検出された加速度から重力方向の加速度を算出する算出ステップと、
    この算出された加速度を所定区間毎に累算する累算ステップと、
    この累算ステップにより累算された加速度を、前記メモリに記憶された初期の加速度と一致するように姿勢パラメータを補正する補正ステップと、
    を実行させるプログラム。
JP2012084368A 2012-04-02 2012-04-02 姿勢検出装置、方法及びプログラム Pending JP2013213744A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012084368A JP2013213744A (ja) 2012-04-02 2012-04-02 姿勢検出装置、方法及びプログラム
US13/853,729 US10203203B2 (en) 2012-04-02 2013-03-29 Orientation detection device, orientation detection method and program storage medium
CN201310112475.5A CN103364840B (zh) 2012-04-02 2013-04-02 姿势检测装置及方法
EP13162007.2A EP2648182A1 (en) 2012-04-02 2013-04-02 Orientation detection device and orientation detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012084368A JP2013213744A (ja) 2012-04-02 2012-04-02 姿勢検出装置、方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016252883A Division JP6519578B2 (ja) 2016-12-27 2016-12-27 姿勢検出装置、及び姿勢検出方法

Publications (1)

Publication Number Publication Date
JP2013213744A true JP2013213744A (ja) 2013-10-17

Family

ID=48013859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012084368A Pending JP2013213744A (ja) 2012-04-02 2012-04-02 姿勢検出装置、方法及びプログラム

Country Status (4)

Country Link
US (1) US10203203B2 (ja)
EP (1) EP2648182A1 (ja)
JP (1) JP2013213744A (ja)
CN (1) CN103364840B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018513350A (ja) * 2015-01-15 2018-05-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ユーザに対する装置の相対的な向きを決定するシステム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012170344A2 (en) * 2011-06-07 2012-12-13 University Of Florida Research Foundation, Inc. Modular wireless sensor network for musical instruments and user interfaces for use therewith
JP5549698B2 (ja) 2012-03-16 2014-07-16 カシオ計算機株式会社 演奏装置、方法及びプログラム
JP5598490B2 (ja) * 2012-03-19 2014-10-01 カシオ計算機株式会社 演奏装置、方法及びプログラム
JP2013213946A (ja) * 2012-04-02 2013-10-17 Casio Comput Co Ltd 演奏装置、方法及びプログラム
WO2014137311A1 (en) * 2013-03-04 2014-09-12 Empire Technology Development Llc Virtual instrument playing scheme
CN105807907B (zh) * 2014-12-30 2018-09-25 富泰华工业(深圳)有限公司 体感交响乐演奏系统及方法
US9799315B2 (en) * 2015-01-08 2017-10-24 Muzik, Llc Interactive instruments and other striking objects
JP6648515B2 (ja) * 2015-12-21 2020-02-14 カシオ計算機株式会社 電子機器及びその角速度取得方法、角速度取得プログラム
CN107342070B (zh) * 2017-08-09 2023-04-07 宋汉鑫 一种小提琴用的持琴提示器
CN108430032B (zh) * 2017-12-08 2020-11-17 深圳新易乘科技有限公司 一种实现vr/ar设备位置共享的方法及设备
JP2020069260A (ja) * 2018-11-01 2020-05-07 青島海爾洗衣机有限公司QingDao Haier Washing Machine Co.,Ltd. 洗濯機
CN116504205B (zh) * 2023-03-01 2023-11-24 广州感音科技有限公司 一种音乐演奏控制方法、系统、介质及计算机

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010263930A (ja) * 2009-05-12 2010-11-25 Nintendo Co Ltd 姿勢算出装置および姿勢算出プログラム
JP2013213745A (ja) * 2012-04-02 2013-10-17 Casio Comput Co Ltd 姿勢検出装置、方法及びプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3748483B2 (ja) 1997-09-12 2006-02-22 株式会社リコー 姿勢入力装置、姿勢入力機能を備えるペン型入力装置及びそのペン型入力装置を有するペン型入力システム
EP1837858B1 (en) 2000-01-11 2013-07-10 Yamaha Corporation Apparatus and method for detecting performer´s motion to interactively control performance of music or the like
US6388183B1 (en) 2001-05-07 2002-05-14 Leh Labs, L.L.C. Virtual musical instruments with user selectable and controllable mapping of position input to sound output
AU2003900586A0 (en) * 2003-02-11 2003-02-27 Argus Solutions Pty Ltd Delivery of metered doses
KR100668298B1 (ko) 2004-03-26 2007-01-12 삼성전자주식회사 움직임에 기반한 소리 발생 방법 및 장치
KR100738072B1 (ko) 2005-02-01 2007-07-12 삼성전자주식회사 움직임 기반 소리 설정장치와 소리 발생장치 및 움직임기반 소리 설정방법과 소리 발생방법
US7402743B2 (en) 2005-06-30 2008-07-22 Body Harp Interactive Corporation Free-space human interface for interactive music, full-body musical instrument, and immersive media controller
JP2007256736A (ja) 2006-03-24 2007-10-04 Yamaha Corp 電気楽器
JP4679431B2 (ja) 2006-04-28 2011-04-27 任天堂株式会社 音出力制御プログラムおよび音出力制御装置
WO2008026357A1 (fr) 2006-08-29 2008-03-06 Microstone Corporation Procédé de capture de mouvements
JP5429918B2 (ja) * 2008-02-15 2014-02-26 任天堂株式会社 情報処理プログラムおよび情報処理装置
US8109146B2 (en) 2008-02-21 2012-02-07 Massachusetts Institute Of Technology Measurement of bowed string dynamics
EP2140919B1 (en) 2008-06-30 2018-09-05 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
US8858330B2 (en) 2008-07-14 2014-10-14 Activision Publishing, Inc. Music video game with virtual drums
JP5251482B2 (ja) 2008-12-18 2013-07-31 セイコーエプソン株式会社 入力装置およびデータ処理システム
FR2942344B1 (fr) 2009-02-13 2018-06-22 Movea Dispositif et procede de controle du defilement d'un fichier de signaux a reproduire
US8653350B2 (en) 2010-06-01 2014-02-18 Casio Computer Co., Ltd. Performance apparatus and electronic musical instrument
JP5099176B2 (ja) * 2010-06-15 2012-12-12 カシオ計算機株式会社 演奏装置および電子楽器
JP5029732B2 (ja) * 2010-07-09 2012-09-19 カシオ計算機株式会社 演奏装置および電子楽器
JP5067458B2 (ja) * 2010-08-02 2012-11-07 カシオ計算機株式会社 演奏装置および電子楽器
JP5338781B2 (ja) 2010-09-21 2013-11-13 カシオ計算機株式会社 撮影装置
EP2497547B1 (en) 2011-03-08 2018-06-27 Nintendo Co., Ltd. Information processing program, information processing apparatus, information processing system, and information processing method
JP5812663B2 (ja) * 2011-04-22 2015-11-17 任天堂株式会社 音楽演奏用プログラム、音楽演奏装置、音楽演奏システムおよび音楽演奏方法
JP2013213946A (ja) 2012-04-02 2013-10-17 Casio Comput Co Ltd 演奏装置、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010263930A (ja) * 2009-05-12 2010-11-25 Nintendo Co Ltd 姿勢算出装置および姿勢算出プログラム
JP2013213745A (ja) * 2012-04-02 2013-10-17 Casio Comput Co Ltd 姿勢検出装置、方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018513350A (ja) * 2015-01-15 2018-05-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ユーザに対する装置の相対的な向きを決定するシステム

Also Published As

Publication number Publication date
CN103364840A (zh) 2013-10-23
US20130262021A1 (en) 2013-10-03
EP2648182A1 (en) 2013-10-09
CN103364840B (zh) 2016-05-25
US10203203B2 (en) 2019-02-12

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
JP5664581B2 (ja) 楽音発生装置、楽音発生方法及びプログラム
JP6436145B2 (ja) 演奏装置、方法及びプログラム
JP6519578B2 (ja) 姿勢検出装置、及び姿勢検出方法
JP6031801B2 (ja) 演奏装置、方法及びプログラム
JP6031800B2 (ja) 演奏装置、方法及びプログラム
JP2011252994A (ja) 演奏装置および電子楽器
JP2013213947A (ja) 演奏装置、方法及びプログラム
JP2013044889A (ja) 演奏装置
JP6610120B2 (ja) 音制御装置、方法、プログラム及び電子楽器
JP2013195625A (ja) 楽音発生装置
JP2012013725A (ja) 演奏システムおよび電子楽器
JP2013044951A (ja) 操作子および演奏装置
JP2012032681A (ja) 演奏装置および電子楽器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161018