説明

入力装置およびプログラム

【課題】演奏動作とは異なる動きで他の動作モードの操作入力を発生する入力装置を実現する。
【解決手段】スティック部20−1、20−2がそれぞれ個別にユーザのスティック操作に応じて変化する加速度データ/角速度データを発生して無線送信し、本体部10側がそれを受信する。本体部10では、現在から過去所定サンプル数分に亘る加速度データ/角速度データが連続して一体化条件を満たすかどうか、すなわちスティック部20−1、20−2が束ねられて一体化した状態であるか否かを判断し、一体化した状態であると判別されると、束ねられて一体化したスティック部20−1、20−2が発生する加速度データ/角速度データに基づき、予め定められた複数種の設定変更動作の内、何れかに該当する設定変更動作を検出し、検出した設定変更動作に応じたパラメータ設定変更を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば電子打楽器に用いて好適な入力装置およびプログラムに関する。
【背景技術】
【0002】
動作を検出して操作入力を発生する入力装置が知られている。例えば特許文献1には、角速度を検出する圧電ジャイロセンサをスティックに設け、ユーザがこのスティックを把持して下向きに振ったり右向きに振ったりすると、その動作を検出したセンサ出力(角速度)の下向き/右向きの各成分でスネアドラム音/シンバル音を指定し、センサ出力レベルで音量を指定する操作入力を発生する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平06−75571号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に開示の技術では、スティックの動きを検出したセンサ出力および当該センサ出力レベルを、発生すべき楽音や音量を指定する操作入力として発生するだけなので、スティックを振る演奏動作とは異なる動きに応じて、例えば楽音発生形態を指定するパラメータの設定を変更する設定変更モード等の、他の動作モードの操作入力を発生することが出来ないという問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、演奏動作とは異なる動きで他の動作モードの操作入力を発生することができる入力装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、ユーザに把持される一方のスティックに設けられ、当該スティックの動きに応じて変化する加速度および角速度を検出する第1の動作検出手段と、ユーザに把持される他方のスティックに設けられ、当該スティックの動きに応じて変化する加速度および角速度を検出する第2の動作検出手段と、前記第1および第2の動作検出手段により各々検出される加速度および角速度からスティック同士が束ねられて一体化した状態であるか否かを判別する一体化判別手段と、前記一体化判別手段によりスティック同士が束ねられて一体化した状態と判別された場合に、前記第1および第2の動作検出手段により各々検出される加速度および角速度に基づき検出される設定変更動作に応じて所定のパラメータを設定変更する設定変更手段とを具備することを特徴とする。
【0007】
上記請求項1に従属する請求項2に記載の発明では、前記一体化判別手段は、両スティックにおける長手方向の加速度が連続して一致しているか否かを判別する第1の判別手段と、両スティックにおける長手方向以外の2軸の加速度を合成した大きさが連続して一致しているか否かを判別する第2の判別手段と、両スティックにおける長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第3の判別手段と、両スティックにおける長手方向を軸とする回転の角速度が連続して一致しているか否かを判別する第4の判別手段と、両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているか否かを判別する第5の判別手段と、両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第6の判別手段とを備えることを特徴とする。
【0008】
上記請求項1に従属する請求項3に記載の発明では、前記一体化判別手段は、互いに逆向きのスティック同士が束ねられて一体化した状態であるか否かを判別することを特徴とする。
【0009】
上記請求項3に従属する請求項4に記載の発明では、前記一体化判別手段は、一方のスティックの長手方向の加速度が、他方のスティックの長手方向の加速度に「−1」を乗じたものと連続して一致してるか否かを判別する第1の判別手段と、両スティックにおける長手方向以外の2軸の加速度を合成した大きさが連続して一致しているか否かを判別する第2の判別手段と、一方のスティックの長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が、他方のスティックの長手方向以外の2軸の加速度を合成した加速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているか否かを判別する第3の判別手段と、一方のスティックの長手方向を軸とする回転の角速度が、他方のスティックの長手方向を軸とする回転の角速度に「−1」を乗じたものと連続して一致しているか否かを判別する第4の判別手段と、両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているか否かを判別する第5の判別手段と、一方のスティックの長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が、他方のスティックの長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているか否かを判別する第6の判別手段とを備えることを特徴とする。
【0010】
請求項5に記載の発明では、ユーザに把持される一方の筐体に設けられ、当該筐体の動きに応じて変化する加速度および角速度を検出する第1の動作検出手段と、ユーザに把持される他方の筐体に設けられ、当該筐体の動きに応じて変化する加速度および角速度を検出する第2の動作検出手段と、前記第1および第2の動作検出手段により各々検出される加速度および角速度から筐体同士が当接して一体化した状態であるか否かを判別する一体化判別手段と、前記一体化判別手段により筐体同士が当接して一体化した状態と判別された場合に、一方の筐体と他方の筐体との姿勢差を取得する姿勢差取得手段と、前記第1および第2の動作検出手段により各々検出される加速度および角速度に基づき検出されるユーザのジェスチャーと、前記姿勢差取得手段により取得された一方の筐体と他方の筐体との姿勢差とに応じて所定のパラメータを設定変更する設定変更手段とを具備することを特徴とする。
【0011】
上記請求項5に従属する請求項6に記載の発明では、前記一体化判別手段は、一方および他方の各筐体の3軸の加速度を合成した合成加速度ベクトルの大きさが連続して一致しているか否かを判別する第1の判別手段と、一方および他方の各筐体の3軸の加速度を合成した合成加速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第2の判別手段と、一方および他方の各筐体の3軸の角速度を合成した合成角速度ベクトルの大きさが連続して一致しているか否かを判別する第3の判別手段と、一方および他方の各筐体の3軸の角速度を合成した合成角速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第4の判別手段とを備えることを特徴とする。
【0012】
請求項7に記載の発明では、コンピュータに、ユーザに把持される一方のスティックの動きに応じて変化する加速度および角速度を検出する第1の動作検出ステップと、ユーザに把持される他方のスティックの動きに応じて変化する加速度および角速度を検出する第2の動作検出ステップと、前記第1および第2の動作検出ステップにより各々検出される加速度および角速度からスティック同士が束ねられて一体化した状態であるか否かを判別する一体化判別ステップと、前記一体化判別ステップによりスティック同士が束ねられて一体化した状態と判別された場合に、前記第1および第2の動作検出ステップにて各々検出される加速度および角速度に基づき検出される設定変更動作に応じて所定のパラメータを設定変更する設定変更ステップとを実行させることを特徴とする。
【0013】
請求項8に記載の発明では、コンピュータに、ユーザに把持される一方の筐体の動きに応じて変化する加速度および角速度を検出する第1の動作検出ステップと、ユーザに把持される他方の筐体の動きに応じて変化する加速度および角速度を検出する第2の動作検出ステップと、前記第1および第2の動作検出ステップにより各々検出される加速度および角速度から筐体同士が当接して一体化した状態であるか否かを判別する一体化判別ステップと、前記一体化判別ステップにて筐体同士が当接して一体化した状態と判別された場合に、一方の筐体と他方の筐体との姿勢差を取得する姿勢差取得ステップと、前記第1および第2の動作検出ステップにて各々検出される加速度および角速度に基づき検出されるユーザのジェスチャーと、前記姿勢差取得ステップで取得された一方の筐体と他方の筐体との姿勢差とに応じて所定のパラメータを設定変更する設定変更ステップとを実行させることを特徴とする。
【発明の効果】
【0014】
本発明では、演奏動作とは異なる動きで他の動作モードの操作入力を発生することができる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態による電子打楽器100の全体構成を示すブロック図である。
【図2】第1実施形態によるスティック部20の構成を示すブロック図である。
【図3】第1実施形態によるスティック部20が実行するスティック処理の動作を示すフローチャートである。
【図4】第1実施形態による本体部10が実行する本体処理の動作を示すフローチャートである。
【図5】スティック部20−1,20−2の一体化の一例を示す図である。
【図6】第2実施形態による本体処理の動作を示すフローチャートである。
【図7】オイラー角で表現される姿勢差(α,β,γ)を示す図である。
【図8】一体化した筐体1,2の24通りの姿勢差(左手系)を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。
[第1実施形態]
A.構成
図1は、第1実施形態による入力装置を備えた電子打楽器100の全体構成を示すブロック図である。この図に示す電子打楽器100は、本体部10とユーザの左右の手にそれぞれ把持されるスティック部20−1、20−2とに大別される。以下、本体部10の構成と、スティック部20の構成とに分けて説明を進める。
【0017】
(1)本体部10の構成
本体部10は、CPU11、ROM12、RAM13、操作部14、表示部15、通信部16、音源部17およびサウンドシステム18から構成される。CPU11は、後述する本体処理(図4参照)を実行することによって、スティックを振るドラム動作(演奏動作)が為された場合には打楽器音の発音を指示し、一方、演奏動作とは異なる動き、すなわち図5に図示する一例のように、スティック部20−1、20−2を束ねて一体化させた場合に、他の動作モード(後述する設定変更モード)の操作入力を発生する入力装置の機能を具現する。
【0018】
ROM12には、CPU11にロードされる各種プログラムデータや制御データなどが記憶される。各種プログラムとは、後述する本体処理(図4参照)を含む。RAM13は、ワークエリアおよびデータエリアを備える。RAM13のワークエリアには、CPU11の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM13のデータエリアには、後述する通信部16を介して受信復調したスティック部20−1、20−2の加速度データ/角速度データが格納される。なお、RAM13のデータエリアに格納される加速度データ/角速度データには、スティック部20−1、20−2の何れに対応するのを識別する識別データが付与される。
【0019】
操作部14は、本体部10のパワーオン/パワーオフする電源スイッチや、演奏の開始/終了を指示する演奏スイッチなどを備え、スイッチ操作に応じたイベントを発生する。操作部14が発生するイベントはCPU11により取り込まれる。表示部15は、CPU11から供給される表示制御信号に応じて、本体部10の動作状態や設定状態を画面表示する。
【0020】
通信部16は、CPU11の制御の下に、スティック部20−1、20−2から無線送信される加速度データ/角速度データ(含む識別データ)を受信復調してRAM13の所定エリアに格納する。音源部17は、周知の波形メモリ読み出し方式にて構成され、ユーザにより音色指定された楽音(打楽器音)の波形データを、CPU11から供給されるノートオンイベントに従って再生する。サウンドシステム18は、音源部17から出力される打楽器音の波形データをアナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を施してからスピーカから発音させる。
【0021】
(2)スティック部20の構成
次に、図2を参照してスティック部20−1、20−2の構成を説明する。スティック部20−1、20−2は、図2に図示する通り、筐体であるスティックの内部に構成要素20a〜20fを備える。CPU20aは、後述するスティック処理(図3参照)を実行する。スティック処理では、演奏スイッチがオン操作されると、慣性センサ部20dの出力をサンプリングしてなる加速度データ/角速度データをRAM20cにストアすると共に、RAM20cにストアされた加速度データ/角速度データを読み出して通信部20eから本体部10側へ無線送信する。
【0022】
ROM20bには、CPU20aにロードされる各種プログラムデータや制御データなどが記憶される。各種プログラムとは、後述するスティック処理(図3参照)を含む。RAM20cは、ワークエリアおよびデータエリアを備える。RAM20cのワークエリアには、CPU20aの処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM20cのデータエリアには、慣性センサ部20dから出力される加速度データ/角速度データが一時記憶される。
【0023】
慣性センサ部20dは、例えば静電容量型で構成され、直交三軸成分の加速度を検出する加速度センサと、圧電ジャイロ型で構成され、直交三軸成分の角速度を検出する角速度センサと、加速度センサおよび角速度センサの各出力をそれぞれA/D変換して加速度データ/角速度データを発生するA/D変換部とを備える。通信部20eは、RAM20cのデータエリアにストアされる加速度データ/角速度データを所定の方式で変調して本体部10側に無線送信する。なお、無線送信される加速度データ/角速度データには、スティック部20−1、20−2の何れが発生したデータであるかを識別する識別データが付加される。操作部20fは、パワーオン/パワーオフする電源スイッチや、演奏の開始/終了を指示する演奏スイッチなどを備え、スイッチ操作に応じたイベントを発生する。操作部20fが発生するイベントはCPU20aにより取り込まれる。
【0024】
B.動作
次に、図3〜図8を参照して上記構成による電子打楽器100の動作を説明する。以下では、電子打楽器100の動作として、スティック20側のCPU20aが実行するスティック処理の動作と、本体部10側のCPU11が実行する本体処理の動作とについて説明する。
【0025】
(1)スティック処理の動作
電源スイッチ操作によりスティック部20がパワーオンされると、CPU20aは図3に図示するスティック処理を実行してステップSA1に進み、演奏スイッチが演奏の開始を表すオン状態に設定されるまで待機する。そして、ユーザが演奏スイッチをオン状態にセットすると、ステップSA1の判断結果が「YES」になり、ステップSA2に進み、慣性センサ部20dの加速度センサ出力をA/D変換して得た加速度データをRAM20cにストアする。
【0026】
続いて、ステップSA3では、慣性センサ部20dの角速度センサ出力をA/D変換して得た角速度データをRAM20cにストアする。次いで、ステップSA4では、RAM20cから読み出した加速度データ/角速度データに、スティック部20−1、20−2の何れが発生したデータであるかを識別する識別データを付加して通信部20eから本体部10側へ無線送信する。以後、演奏スイッチが演奏の終了を表すオフ状態に設定されるまで上記ステップSA1〜SA4を繰り返し、ユーザのスティック操作に応じて変化する加速度データ/角速度データを発生して無線送信する。
【0027】
(2)本体処理の動作
電源スイッチ操作により本体部10がパワーオンされると、CPU11は図4に図示する本体処理を実行してステップSB1に進み、スティック部20−1、20−2からそれぞれ無線送信される加速度データ/角速度データ(含む識別データ)を受信復調してRAM13の所定エリアに格納する。
【0028】
続いて、ステップSB2では、取得した加速度データ/角速度データに基づき、図5に図示する一例のように、スティック部20−1、20−2が束ねられて一体化した状態であるか否かを判断する。具体的には、現在から過去所定サンプル数分に亘る加速度データ/角速度データが連続して一体化条件を満足しているかどうかを判断する。ここで言う一体化条件とは、下記a〜f項に記載の判別条件から構成される。
【0029】
a.両スティック部20−1、20−2の各長手方向の加速度が連続して一致しているかどうか
b.長手方向以外の2軸の加速度を合成した大きさが連続して一致しているかどうか
c.長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が連続して一致しているかどうか
d.両スティック部20−1、20−2の各長手方向を軸とする回転の角速度が連続して一致しているかどうか
e.長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているかどうか
f.長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が連続して一致しているかどうか
【0030】
上記a〜f項に記載の判別条件から構成される一体化条件を満たさない場合、すなわちユーザがスティック部20−1、20−2を個々に把持して束ねていない状態ならば、上記ステップSB2の判断結果は「NO」になり、ステップSB3に処理を進める。ステップSB3では、両スティック部20−1、20−2が発生する加速度データに基づき、ユーザが両手に把持したスティック部20−1、20−2でドラムを叩くような振りの演奏動作を行っているか否かを検出する。演奏動作を検出しなければ、判断結果は「NO」になり、上記ステップSB1に処理を戻す。
【0031】
一方、ユーザが両手に把持したスティック部20−1、20−2でドラムを叩くような振りの演奏動作を行うと、上記ステップSB3の判断結果は「YES」になり、ステップSB4に進み、取得した加速度データに基づき発音指示するノートオン処理を実行する。ノートオン処理では、前回取得した加速度データの極性と今回取得した加速度データの極性とが正から負に変化したか、つまりスティック部20を振り下ろし終えて上方へ切り返すノートオン動作であるかどうかを判断し、ノートオン動作が為されたならば、ノートオンイベントを発生して音源部17に供給する。この後、ステップSB5に進み、演奏スイッチ操作により演奏終了が指示されたか否かを判別する。演奏終了が指示されていなければ、判断結果は「NO」になり、上述のステップSB1に処理を戻す。
【0032】
これに対し、スティック部20−1、20−2が束ねられて一体化した状態であると、上記a〜f項に記載の判別条件から構成される一体化条件を満たし、上記ステップSB2の判断結果が「YES」になり、ステップSB6に進む。ステップSB6では、束ねられて一体化したスティック部20−1、20−2が発生する加速度データ/角速度データに基づき、予め定められた複数種の設定変更動作の内、何れかに該当する設定変更動作を検出したか否かを判別する。
【0033】
具体的には、束ねられて一体化したスティック部20−1、20−2を、例えば上下や左右あるいは前後の方向に移動させたり、○や△あるいは□を描いたりする動作を設定変更動作として予め定めておき、スティック部20−1、20−2が発生する加速度データ/角速度データから該当する設定変更動作の有無を検出する。該当する設定変更動作が検出されなければ、上記ステップSB6の判断結果は「NO」になり、上述のステップSB1に処理を戻すが、該当する設定変更動作が検出されると、上記ステップSB6の判断結果は「YES」になり、ステップSB7に進む。
【0034】
そして、ステップSB7では、検出した設定変更動作に対応付けられた内容のパラメータを設定変更する。例えば束ねられて一体化したスティック部20−1、20−2で○を描く動作を設定変更動作として定義しておき、その設定変更動作に音色番号をインクリメントする内容を対応付けた場合には、束ねられて一体化したスティック部20−1、20−2で○を描く設定変更動作を行うと、発生楽音(打楽器音)の音色を指定する音色番号がインクリメントされ、これにより音色パラメータの設定変更が為される。こうして、設定変更動作に応じたパラメータ設定変更が完了すると、ステップSB5に進む。そして、ステップSB5において、演奏スイッチ操作により演奏終了が指示されると、判断結果は「YES」となり、本処理を終える。
【0035】
このように、第1実施形態では、スティック部20−1、20−2がそれぞれ個別にユーザのスティック操作に応じて変化する加速度データ/角速度データを発生して無線送信し、本体部10側がそれを受信する。本体部10では、現在から過去所定サンプル数分に亘る加速度データ/角速度データが連続して一体化条件を満たすかどうか、すなわちスティック部20−1、20−2が束ねられて一体化した状態であるか否かを判断し、一体化した状態であると判別されると、束ねられて一体化したスティック部20−1、20−2が発生する加速度データ/角速度データに基づき、予め定められた複数種の設定変更動作の内、何れかに該当する設定変更動作を検出し、検出した設定変更動作に応じたパラメータ設定変更を実行するので、演奏動作とは異なる動きで他の動作モードの操作入力を発生することが可能になる。
【0036】
なお、上述した第1実施形態では、スティック部20−1、20−2を束ねて一体化する際のスティックの向きについて考慮していないが、互いに逆向きのスティック部20−1、20−2を束ねて一体化した状態であるかどうかを判断する態様とすることも出来る。この場合、上述したステップSB2において判断される一体化条件は下記g〜l項に記載する判別条件から構成される。
【0037】
g.一方のスティック部20の長手方向の加速度が、他方のスティック部20の長手方向の加速度に「−1」を乗じたものと連続して一致してるかどうか
h.長手方向以外の2軸の加速度を合成した大きさが連続して一致しているかどうか
i.一方のスティック部20の長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が、他方のスティック部20の長手方向以外の2軸の加速度を合成した加速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているかどうか
j.一方のスティック部20の長手方向を軸とする回転の角速度が、他方のスティック部20の長手方向を軸とする回転の角速度に「−1」を乗じたものと連続して一致しているかどうか
k.長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているかどうか
l.一方のスティック部20の長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が、他方のスティック部20の長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているかどうか
【0038】
そして、上記g〜l項に記載の判別条件から構成される一体化条件を満たし、スティック部20−1、20−2が互いに逆向きに束ねられて一体化した状態であると判別された場合に、スティック部20−1、20−2が発生する加速度データ/角速度データに基づき、予め定められた複数種の設定変更動作の内、何れかに該当する設定変更動作を検出し、検出した設定変更動作に応じたパラメータ設定変更を実行するので、演奏動作とは異なる動きで他の動作モードの操作入力を発生することが可能になる。
【0039】
また、上述の第1実施形態において、スティック部20−1、20−2を束ねたときに、両スティック中の加速度センサがそれぞれ離れた箇所に配置されていると、束ねて動かしているときの運動の内の回転成分により遠心力がそれぞれ異なって作用し、束ねていても両スティック部20−1、20−2で各々計測される加速度が一致しなくなる虞が生じる。この為、スティック同士を同じ方向に束ねる場合あるいは互いに逆方向に束ねる場合でも近接する位置になるようスティック中央に加速度センサを設けたり、束ねる際にスティックに配設される加速度センサ同士が離間しないようにユーザに注意喚起する態様としても構わない。
【0040】
さらに、スティック同士を束ねる際に両加速度センサが離間しないようにする方策として、例えば双方のスティックの両端近辺にそれぞれ適度な強さの永久磁石と強磁性体の金属とを設けておき、ユーザが無造作にスティック同士を同じ方向あるいは互いに逆方向に束ねても一方のスティックの端部に設けた永久磁石が他方のスティックの端部に設けた虚位磁性体の金属に磁力接合する構造としてもよい。
【0041】
また、スティック同士を束ねたときの両加速度センサの近接さを保証出来ない場合には、前述した一体化条件を構成するa〜f項に記載の判別条件の内、先ずd〜f項に記載の判別条件について検査し、角速度が比較的大きく遠心力によりa〜c項に記載の判別条件を満たさない状態ならば、当該a〜c項に記載の判別条件による検査を省略し、一方、角速度が比較的小さい状態であれば、a〜c項に記載の判別条件による検査を実行してスティック同士を束ねて一体化した状態であるか否かを判別する態様としても構わない。但し、こうした一体化判別態様では、必然的にa〜f項に記載の全ての判別条件を用いて検査する場合に比較して判断精度が低下する。
【0042】
なお、上述した第1実施形態では、加速度センサと角速度センサとを備える慣性センサ20dを用いるようにしたが、これに限らず、加速度センサおよび角速度センサの何れか一方を省いても対応可能であるし、さらに3軸磁気センサを加えてスティック同士を束ねて一体化した状態を判別する態様も勿論可能であることは言うまでもない。
【0043】
[第2実施形態]
次に、図6〜図8を参照して第2実施形態による本体処理の動作を説明する。なお、第2実施形態では、上述した第1実施形態のスティック部20−1、20−2に替えて、図7に図示するように直方体形状の筐体1、筐体2から構成されるものとする。筐体1、筐体2はそれぞれ上述した第1実施形態のスティック部20−1、20−2と同様に、加速度データ/角速度データを本体部10に無線送信するものとする。
【0044】
前述した第1実施形態と同様、電源スイッチ操作により本体部10がパワーオンされると、CPU11は図6に図示する本体処理を実行してステップSC1に進み、筐体1、筐体2からそれぞれ無線送信される加速度データ/角速度データ(含む識別データ)を受信復調してRAM13の所定エリアに格納する。
【0045】
続いて、ステップSC2では、取得した加速度データ/角速度データに基づき筐体1と筐体2とが当接して一体化した状態であるか否かを判断する。具体的には、現在から過去所定サンプル数分に亘る加速度データ/角速度データが連続して一体化条件を満足しているかどうかを判断する。ここで言う一体化条件とは、下記m〜p項に記載の判別条件から構成される。
【0046】
m.両筐体1、2の3軸の加速度を合成した合成加速度ベクトルの大きさが連続して一致しているかどうか
n.上記合成加速度ベクトルの向きの時間的変化が連続して一致しているかどうか
o.両筐体1、2の3軸の角速度を合成した合成角速度ベクトルの大きさが連続して一致しているかどうか
p.上記合成角速度ベクトルの向きの時間的変化が連続して一致しているかどうか
【0047】
上記m〜p項に記載の判別条件から構成される一体化条件を満たさない場合、すなわち筐体1と筐体2とが当接せずに個別に動かされている状態ならば、上記ステップSC2の判断結果は「NO」になり、ステップSC3に処理を進める。ステップSC3では、ユーザの動きに応じて筐体1と筐体2とがそれぞれ発生する加速度データ/角速度データに基づき、予め定められた複数種のジェスチャーの内、何れかに該当するジャスチャーを検出したか否かを判別する。該当するジャスチャーを検出しなければ、判断結果は「NO」になり、上記ステップSC1に処理を戻す。なお、ここで言うジェスチャーとは、筐体1、2を把持したユーザの身振りを指す。
【0048】
一方、ユーザの動きに応じて筐体1と筐体2とがそれぞれ発生する加速度データ/角速度データに基づき、該当するジャスチャーを検出した場合には、上記ステップSC3の判断結果は「YES」になり、ステップSC4に進み、検出したジェスチャーに対応付けられたイベントを発生する。これにより、例えば発生したイベントがコントロールチェンジであると、音源部17に音量制御を指示する。この後、ステップSC5に進み、演奏スイッチ操作により演奏終了が指示されたか否かを判別し、演奏終了が指示されていなければ、判断結果は「NO」になり、上述のステップSC1に処理を戻す。
【0049】
これに対し、上記m〜p項に記載の判別条件から構成される一体化条件を満たし、筐体1と筐体2とが当接して一体化した状態であると判別されると、上記ステップSC2の判断結果は「YES」になり、ステップSC6に進み、筐体1と筐体2との姿勢差をオイラー角(α,β,γ)として算出する。筐体1と筐体2との姿勢差は、一体化条件を満たした時に取得した加速度データ/角速度データに基づき、互いに平行でない加速度ベクトル又は角速度ベクトルを選択する。
【0050】
算出精度を上げる為、通常はベクトルの大きさが比較的大きく、互いになるべく直交した関係のものを選択するのが好ましい。この条件を満たすものならば、筐体1に関するベクトルV0と筐体2に関するベクトルV1とは、異なる時刻の二つの加速度ベクトル、異なる時刻の二つの角速度ベクトル、異なる時刻の加速度ベクトルと角速度ベクトル、同じ時刻の加速度ベクトルと角速度ベクトルの何れであっても構わない。
【0051】
図7に図示する一例のように、互いになるべく直交関係にある筐体1に関するベクトルV0と筐体2に関するベクトルV1とを選択すると、筐体1の座標系と筐体2の座標系との違いをz−y−x系のオイラー角(α,β,γ)として算出する。
【0052】
なお、図7において、(X1,Y1,Z1)は筐体1の座標系、(X2,Y2,Z2)は筐体2の座標系、(x10,y10,z10)は筐体1の座標系におけるベクトルV0座標、(x20,y20,z20)は筐体2の座標系におけるベクトルV0座標、(x11,y11,z11)は筐体1の座標系におけるベクトルV1座標、(x21,y21,z21)は筐体2の座標系におけるベクトルV1座標を示す。(X1’,Y1’,Z1’)は筐体1の座標系(X1,Y1,Z1)をZ1軸回りに角α回転させた座標系、(X1”,Y1”,Z1”)は座標系(X1’,Y1’,Z1’)をY1’軸回りに角β回転された座標系、(X1’’’,Y1’’’,Z1’’’)は座標系(X1”,Y1”,Z1”)をX1”軸回りに角γ回転させた座標系を示す。
【0053】
次に、ステップSC7に進むと、一体化された状態の筐体1および筐体2がユーザの動きに応じてそれぞれ発生する加速度データ/角速度データに基づき、予め定められた複数種のジェスチャーの内、何れかに該当するジャスチャーを検出したか否かを判別する。該当するジャスチャーを検出しなければ、判断結果は「NO」になり、上記ステップSC1に処理を戻すが、該当するジャスチャーを検出すると、判断結果が「YES」となり、ステップSC8に進む。
【0054】
そして、ステップSC8では、検出されたジェスチャーと、上記ステップSC6で算出された筐体1と筐体2との姿勢差を表すオイラー角(α,β,γ)とに応じてパラメータを設定変更する。具体的には、設定変更の対象となる複数種のパラメータの内、検出されたジェスチャーに対応付けられたパラメータを選択し、この選択したパラメータを姿勢差(α,β,γ)に応じて変更する。
【0055】
このようにすれば、筐体1と筐体2とが一体化して動かされているときのジェスチャーが同じであっても、筐体1と筐体2との姿勢差を表すオイラー角(α,β,γ)の違いによって様々に異なる設定変更態様を供することが可能になる。こうして、検出されたジェスチャーと、筐体1と筐体2との姿勢差(α,β,γ)とに応じたパラメータ設定変更が完了すると、ステップSC5に進み、演奏スイッチ操作により演奏終了が指示されていれば、ここでの判断結果が「YES」となり、本処理を終える。
【0056】
以上のように、第2実施形態では、筐体1、2がそれぞれ個別にユーザの動きに応じて変化する加速度データ/角速度データを発生して無線送信し、本体部10側がそれを受信する。本体部10では、現在から過去所定サンプル数分に亘る加速度データ/角速度データが連続して一体化条件を満たすか否かを判断し、一体化した状態であると判別されると、筐体1と筐体2との姿勢差を表すオイラー角(α,β,γ)を算出する。
【0057】
そして、筐体1、2が発生する加速度データ/角速度データに基づき、予め定められた複数種のジェスチャーの内、何れかに該当するジャスチャーを検出したか否かを判別し、該当するジャスチャーを検出すると、その検出されたジェスチャーと、筐体1と筐体2との姿勢差(α,β,γ)とに応じてパラメータを設定変更するので、演奏動作とは異なる動き(筐体1、2を一体化させるユーザ動作)で他の動作モードの操作入力として、一体化した筐体1、2を動かすジェスチャーと筐体1、2の姿勢差を(α,β,γ)とで各様に変化する操作入力を発生することが可能になる。
【0058】
なお、上述した第2実施形態では、検出されたジェスチャーに対応付けられたパラメータを姿勢差(α,β,γ)に応じて変更するようにしたが、これに替えて、次のようにしても構わない。すなわち、姿勢差(α,β,γ)を90度ごとに分けると、図8に図示するように24通りの姿勢差の組み合わせとなり、一つの組み合わせをモードとして捉えると、姿勢差(α,β,γ)は24通りのモードを有することになる。この24通りのモードのそれぞれに認識するジェスチャーとその処理動作(パラメータ設定変更の内容)を予め登録しておき、検出されたジェスチャーと算出された筐体1と筐体2との姿勢差(α,β,γ)とによって、実行すべき処理動作(パラメータ設定変更の内容)を決定する。
【0059】
算出された姿勢差として、上記24通り以外の中間的な姿勢差(α,β,γ)が得られた場合には、最も近い組み合わせを自動的に選択されるようにしてもよい。また、各モードに登録されるジェスチャーは全て同じものである必要はなく、モードごとに検出するジェスチャーに過不足があっても構わない。この場合、上述したステップSC6(図6参照)においてモードが判明するので、その後のステップSC7において該当するモード下において登録されているジェスチャーのみ検出を行い、そのモードで登録されていないジェスチャーについては検出動作をしないようにしてもよい。これらは、90度ごとに分けたうちの全てでなく、一部のみを使用するようにしてもよいし、45度などより細かい角度で規定してもよい。また、筐体の形状に合わせて色々な姿勢差を規定してもよい。
【0060】
また、上述した第2実施形態では、筐体1と筐体2との姿勢差をz−y−x系のオイラー角(α,β,γ)で定義したが、これに限らず例えば他の系のオイラー角やクォータニオン(四元数)など回転を表現できる関数とそのパラメータを用いることも可能である。
【符号の説明】
【0061】
10 本体部
11 CPU
12 ROM
13 RAM
14 操作部
15 表示部
16 通信部
17 音源部
18 サウンドシステム
20−1、20−2 スティック部
20a CPU
20b ROM
20c RAM
20d 慣性センサ部
20e 通信部
20f 操作部
100 電子打楽器

【特許請求の範囲】
【請求項1】
ユーザに把持される一方のスティックに設けられ、当該スティックの動きに応じて変化する加速度および角速度を検出する第1の動作検出手段と、
ユーザに把持される他方のスティックに設けられ、当該スティックの動きに応じて変化する加速度および角速度を検出する第2の動作検出手段と、
前記第1および第2の動作検出手段により各々検出される加速度および角速度からスティック同士が束ねられて一体化した状態であるか否かを判別する一体化判別手段と、
前記一体化判別手段によりスティック同士が束ねられて一体化した状態と判別された場合に、前記第1および第2の動作検出手段により各々検出される加速度および角速度に基づき検出される設定変更動作に応じて所定のパラメータを設定変更する設定変更手段と
を具備することを特徴とする入力装置。
【請求項2】
前記一体化判別手段は、
両スティックにおける長手方向の加速度が連続して一致しているか否かを判別する第1の判別手段と、
両スティックにおける長手方向以外の2軸の加速度を合成した大きさが連続して一致しているか否かを判別する第2の判別手段と、
両スティックにおける長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第3の判別手段と、
両スティックにおける長手方向を軸とする回転の角速度が連続して一致しているか否かを判別する第4の判別手段と、
両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているか否かを判別する第5の判別手段と、
両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第6の判別手段と
を備えることを特徴とする請求項1記載の入力装置。
【請求項3】
前記一体化判別手段は、互いに逆向きのスティック同士が束ねられて一体化した状態であるか否かを判別することを特徴とする請求項1記載の入力装置。
【請求項4】
前記一体化判別手段は、
一方のスティックの長手方向の加速度が、他方のスティックの長手方向の加速度に「−1」を乗じたものと連続して一致してるか否かを判別する第1の判別手段と、
両スティックにおける長手方向以外の2軸の加速度を合成した大きさが連続して一致しているか否かを判別する第2の判別手段と、
一方のスティックの長手方向以外の2軸の加速度を合成した加速度ベクトルの向きの時間的変化が、他方のスティックの長手方向以外の2軸の加速度を合成した加速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているか否かを判別する第3の判別手段と、
一方のスティックの長手方向を軸とする回転の角速度が、他方のスティックの長手方向を軸とする回転の角速度に「−1」を乗じたものと連続して一致しているか否かを判別する第4の判別手段と、
両スティックにおける長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した大きさが連続して一致しているか否かを判別する第5の判別手段と、
一方のスティックの長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルの向きの時間的変化が、他方のスティックの長手方向以外の2軸をそれぞれ軸とする回転の角速度を合成した角速度ベクトルに「−1」を乗じたものの向きの時間的変化と連続して一致しているか否かを判別する第6の判別手段と
を備えることを特徴とする請求項3記載の入力装置。
【請求項5】
ユーザに把持される一方の筐体に設けられ、当該筐体の動きに応じて変化する加速度および角速度を検出する第1の動作検出手段と、
ユーザに把持される他方の筐体に設けられ、当該筐体の動きに応じて変化する加速度および角速度を検出する第2の動作検出手段と、
前記第1および第2の動作検出手段により各々検出される加速度および角速度から筐体同士が当接して一体化した状態であるか否かを判別する一体化判別手段と、
前記一体化判別手段により筐体同士が当接して一体化した状態と判別された場合に、一方の筐体と他方の筐体との姿勢差を取得する姿勢差取得手段と、
前記第1および第2の動作検出手段により各々検出される加速度および角速度に基づき検出されるユーザのジェスチャーと、前記姿勢差取得手段により取得された一方の筐体と他方の筐体との姿勢差とに応じて所定のパラメータを設定変更する設定変更手段と
を具備することを特徴とする入力装置。
【請求項6】
前記一体化判別手段は、
一方および他方の各筐体の3軸の加速度を合成した合成加速度ベクトルの大きさが連続して一致しているか否かを判別する第1の判別手段と、
一方および他方の各筐体の3軸の加速度を合成した合成加速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第2の判別手段と、
一方および他方の各筐体の3軸の角速度を合成した合成角速度ベクトルの大きさが連続して一致しているか否かを判別する第3の判別手段と、
一方および他方の各筐体の3軸の角速度を合成した合成角速度ベクトルの向きの時間的変化が連続して一致しているか否かを判別する第4の判別手段と
を備えることを特徴とする請求項5記載の入力装置。
【請求項7】
コンピュータに、
ユーザに把持される一方のスティックの動きに応じて変化する加速度および角速度を検出する第1の動作検出ステップと、
ユーザに把持される他方のスティックの動きに応じて変化する加速度および角速度を検出する第2の動作検出ステップと、
前記第1および第2の動作検出ステップにより各々検出される加速度および角速度からスティック同士が束ねられて一体化した状態であるか否かを判別する一体化判別ステップと、
前記一体化判別ステップによりスティック同士が束ねられて一体化した状態と判別された場合に、前記第1および第2の動作検出ステップにて各々検出される加速度および角速度に基づき検出される設定変更動作に応じて所定のパラメータを設定変更する設定変更ステップと
を実行させることを特徴とするプログラム。
【請求項8】
コンピュータに、
ユーザに把持される一方の筐体の動きに応じて変化する加速度および角速度を検出する第1の動作検出ステップと、
ユーザに把持される他方の筐体の動きに応じて変化する加速度および角速度を検出する第2の動作検出ステップと、
前記第1および第2の動作検出ステップにより各々検出される加速度および角速度から筐体同士が当接して一体化した状態であるか否かを判別する一体化判別ステップと、
前記一体化判別ステップにて筐体同士が当接して一体化した状態と判別された場合に、一方の筐体と他方の筐体との姿勢差を取得する姿勢差取得ステップと、
前記第1および第2の動作検出ステップにて各々検出される加速度および角速度に基づき検出されるユーザのジェスチャーと、前記姿勢差取得ステップで取得された一方の筐体と他方の筐体との姿勢差とに応じて所定のパラメータを設定変更する設定変更ステップと
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−93603(P2012−93603A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−241790(P2010−241790)
【出願日】平成22年10月28日(2010.10.28)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】