(57)【要約】      （修正有）【課題】演奏者の演奏操作をより適確に反映した発音を行う。【解決手段】演奏装置１は、スティック部１０Ａ・１０Ｂと、カメラユニット部２０と、センターユニット部３０とを備える。スティック部は演奏者に保持される。スティック部のモーションセンサ部は、予め設定された仮想平面上における仮想楽器に対して、スティック部にて予め定められた操作が行われたことを検出する。また、スティック部のモーションセンサ部は、操作が行われたときのスティック部の角度を取得する。また、センターユニット部３０は、仮想楽器に予め対応付けられている発音角度と、スティック部が取得した角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定する。さらに、センターユニット部３０は、特定された楽音の発音を音源に対して指示する。【選択図】図１
2015210350.tif 000002
【特許請求の範囲】
【請求項１】
演奏者に保持される演奏部材と、
予め設定された仮想平面上における仮想楽器に対して、前記演奏部材にて予め定められた操作が行われたことを検出する操作検出手段と、
前記操作が行われたときの前記演奏部材の角度を取得する角度取得手段と、
前記仮想楽器に予め対応付けられている発音角度と、前記角度取得手段が取得した前記角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定する発音特定手段と、
前記発音特定手段により特定された前記楽音の発音を音源に対して指示する発音指示手段と、
を備える演奏装置。
【請求項２】
前記仮想楽器は前記仮想平面上に複数設けられ、
前記演奏装置はさらに、
前記仮想楽器それぞれについて、当該仮想楽器の中心位置座標、サイズ及び発音角度を含む情報を記憶する記憶手段と、
前記仮想平面上における前記演奏部材の位置座標を検出する位置検出手段と、
前記操作が行われたことが検出された場合に、前記位置検出手段により検出された位置座標と、前記各仮想楽器の中心位置座標との間の距離のそれぞれを、対応する前記各仮想楽器のサイズに基づいて算出する距離算出手段と、
前記距離算出手段により算出された各距離のうち最も短い距離に対応する仮想楽器を特定する楽器特定手段と、
を有することを特徴とする請求項１に記載の演奏装置。
【請求項３】
前記演奏部材を被写体とする撮像画像を撮像する撮像手段をさらに備え、
前記位置検出手段は、前記仮想平面としての撮像画像平面における前記演奏部材の位置座標を検出する、請求項２に記載の演奏装置。
【請求項４】
前記発音特定手段は、当該仮想楽器の設置角度を前記角度取得手段が取得した前記角度に加算し、該角度が、前記楽器特定手段により特定された仮想楽器に対応する発音角度に適合する場合に、当該発音角度に対応付けられた楽音の発音を特定する、請求項２又は３に記載の演奏装置。
【請求項５】
前記仮想楽器には、複数の楽音に対応する前記発音角度が対応づけられ、
前記角度取得手段が取得した前記角度と、前記仮想楽器に対応付けられた前記発音角度とに基づいて、前記発音特定手段によって特定された複数の楽音の混合比を算出する混合比算出手段をさらに備え、
前記発音指示手段は、
前記混合比に基づいて、前記発音特定手段により特定された前記楽音の発音を指示する、請求項１から４のいずれか１項に記載の演奏装置。
【請求項６】
演奏者に保持される演奏部材を有する演奏装置に用いられる演奏方法であって、
前記演奏装置が、
予め設定された仮想平面上における仮想楽器に対して、前記演奏部材にて予め定められた操作が行われたことを検出し、
前記操作が行われたときの前記演奏部材の角度を取得し、
前記仮想楽器に予め対応付けられている発音角度と、前記取得した角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定し、
前記特定された前記楽音の発音を音源に対して指示する、演奏方法。
【請求項７】
演奏者に保持され、予め設定された仮想平面上における仮想楽器に対して、演奏部材にて予め定められた操作が行われたことを検出すると共に、前記操作が行われたときの当該演奏部材の角度を取得する演奏部材を備える演奏装置として用いられるコンピュータに、
前記仮想楽器に予め対応付けられている発音角度と、前記演奏部材が取得した前記角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定するステップと、
前記特定された前記楽音の発音を音源に対して指示するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏装置、演奏方法及びプログラムに関する。
【背景技術】
【０００２】
従来、演奏者の演奏動作を検知すると、演奏動作に応じた電子音を発音する演奏装置が提案されている。
例えば、特許文献１には、演奏者のスティック状の演奏部材を用いた演奏動作を撮像すると共に、当該演奏動作の撮像画像と、楽器セットを示す仮想画像とを合成した合成画像をモニタに表示する楽器ゲーム装置が提案されている。この楽器ゲーム装置は、撮像画像における演奏部材の位置が複数の楽器エリアを有する仮想画像の中のいずれかの楽器エリアに入った場合、当該位置が入った楽器エリアに対応する音を発音する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３５９９１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の楽器ゲーム装置のように、楽器セットの各パーツを楽器エリアに関連付けておき、当該楽器エリアに基づいて音を発生させる場合、演奏部材の位置を取得する際のフレームレートが十分高くないと、高速に移動される演奏部材を正確に検出することができない。
そのため、いずれの楽器エリアに演奏装置による打撃が行われたか、あるいは、楽器エリアにどのような状態で演奏装置による打撃が行われたか等を正確に判定することができず、演奏者の演奏操作を適確に反映した発音を行うことが困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、演奏者の演奏操作をより適確に反映した発音を行うことができる演奏装置、演奏方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の演奏装置は、
演奏者に保持される演奏部材と、予め設定された仮想平面上における仮想楽器に対して、前記演奏部材にて予め定められた操作が行われたことを検出する操作検出手段と、前記操作が行われたときの前記演奏部材の角度を取得する角度取得手段と、前記仮想楽器に予め対応付けられている発音角度と、前記角度取得手段が取得した前記角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定する発音特定手段と、前記発音特定手段により特定された前記楽音の発音を音源に対して指示する発音指示手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、演奏者の演奏操作をより適確に反映した発音を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の演奏装置の一実施形態の概要を示す図である。
【図２】上記演奏装置を構成するスティック部のハードウェア構成を示すブロック図である。
【図３】上記スティック部の斜視図である。
【図４】上記演奏装置を構成するカメラユニット部のハードウェア構成を示すブロック図である。
【図５】上記演奏装置を構成するセンターユニット部のハードウェア構成を示すブロック図である。
【図６】本発明の演奏装置の一実施形態に係る仮想楽器セット情報、仮想楽器情報及び音色情報のデータ構造及びそれぞれの情報の関連性を示す概念図である。
【図７】上記情報が示す仮想楽器セット情報が示す概念を仮想平面上で可視化した図である。
【図８】仮想パッドの形状の特徴を表す概念図である。
【図９】仮想楽器情報が示す概念を可視化した図である。
【図１０】スティック部処理の流れを示すフローチャートである。
【図１１】カメラユニット部処理の流れを示すフローチャートである。
【図１２】センターユニット部処理の流れを示すフローチャートである。
【図１３】仮想楽器特定処理の流れを示すフローチャートである。
【図１４】音色特定処理の流れを示すフローチャートである。
【図１５】混合比算出処理の流れを示すフローチャートである。
【図１６】同時に打撃した場合におけるヘッド部分の音色とリム部分の音色との関係を示す概念図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
［演奏装置１の概要］
初めに、図１を参照して、本発明の一実施形態としての演奏装置１の概要について説明する。
図１（１）に示すように、本実施形態の演奏装置１は、スティック部１０Ａ，１０Ｂと、カメラユニット部２０と、センターユニット部３０と、を含んで構成される。本実施形態の演奏装置１は、左右２本のスティックを用いた仮想的なドラム演奏を実現するため、２つのスティック部１０Ａ，１０Ｂを備えることとしているが、スティック部の数は、これに限られない。例えば、スティック部の数を１つとしたり、３つ以上としたりしてもよい。なお、以下では、スティック部１０Ａ，１０Ｂを個々に区別する必要がない場合には、両者を総称して「スティック部１０」と呼ぶ。
【００１１】
スティック部１０は、長手方向に延びるスティック状の演奏部材である。演奏者は、スティック部１０の一端（根元側）を手に持ち、手首等を中心として振り上げたり振り下ろしたりする動作を、演奏動作として行う。このような演奏者の演奏動作を検知するため、スティック部１０の他端（先端側）には、加速度センサ及び角速度センサ等の各種センサが設けられている（後述のモーションセンサ部１４）。スティック部１０は、これらの各種センサにより検知された演奏動作に基づいて、センターユニット部３０にノートオンイベントを送信する。
また、スティック部１０の先端側には、後述するマーカー部１５（図２参照）が設けられており、撮像時にカメラユニット部２０がスティック部１０の先端を判別可能に構成されている。
また、スティック部１０は、各種センサが設けられていることにより、スティック部１０の角度を検出可能に構成されている。スティック部１０は、センターユニット部３０にノートオンイベントを送信する際に、スティック部１０の角度をショット角度データとして送信する。
【００１２】
カメラユニット部２０は、光学式の撮像装置として構成され、スティック部１０を保持して演奏動作を行う演奏者を被写体として含む空間（以下、「撮像空間」と呼ぶ）を、所定のフレームレートで撮像し、動画像のデータとして出力する。カメラユニット部２０は、撮像空間内における発光中のマーカー部１５の位置座標を特定し、当該位置座標を示すデータ（以下、「位置座標データ」と呼ぶ）をセンターユニット部３０に送信する。
【００１３】
センターユニット部３０は、スティック部１０からノートオンイベントを受信すると、ノートオンイベント受信時のマーカー部１５の位置座標データ及びスティック部１０のショット角度データに応じて、所定の楽音を発音する。具体的には、センターユニット部３０は、カメラユニット部２０の撮像空間に対応付けて、仮想楽器セット情報を記憶している。仮想楽器セット情報は、各種の仮想楽器セットを示す情報が記憶されており、例えば、図１（２）に示す仮想ドラムセットＤの情報を仮想楽器セット情報として記憶している。仮想楽器セット情報は、仮想楽器セットを構成する仮想楽器の配置を示す楽器レイアウト情報から構成されている。また、センターユニット部３０は、仮想楽器情報や音色情報を記憶している。仮想楽器情報は、仮想楽器セットを構成する各種の仮想楽器に関する情報を含んでいる。音色情報は、仮想楽器に対応する音色に関する情報を含んでいる。仮想楽器セット情報、仮想楽器情報及び音色情報に関するデータ構造は、図６の説明において詳述する。
センターユニット部３０は、仮想楽器セット情報と、ノートオンイベント受信時のマーカー部１５の位置座標データ及びスティック部１０のショット角度データとに基づいて、スティック部１０が仮想的に打撃した仮想楽器を特定する。センターユニット部３０は、特定した仮想楽器の仮想楽器情報及び音色情報と、スティック部１０のショット角度とに基づいて、楽音を発音する。
【００１４】
次に、このような本実施形態の演奏装置１の構成について具体的に説明する。
【００１５】
［演奏装置１の構成］
初めに、図２〜図５を参照して、本実施形態の演奏装置１の各構成要素、具体的には、スティック部１０、カメラユニット部２０及びセンターユニット部３０の構成について説明する。
【００１６】
［スティック部１０の構成］
図２は、スティック部１０のハードウェア構成を示すブロック図である。
図２に示すように、スティック部１０は、ＣＰＵ１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、モーションセンサ部１４と、マーカー部１５と、データ通信部１６と、スイッチ操作検出回路１７と、を含んで構成される。
【００１７】
ＣＰＵ１１は、スティック部１０全体の制御を実行し、例えば、モーションセンサ部１４から出力されるセンサ値に基づいて、スティック部１０の姿勢の検知、ショット検出及びアクション検出に加え、マーカー部１５の発光・消灯等の制御を実行する。このとき、ＣＰＵ１１は、マーカー特徴情報をＲＯＭ１２から読み出し、当該マーカー特徴情報に従い、マーカー部１５の発光制御を実行する。また、ＣＰＵ１１は、データ通信部１６を介して、センターユニット部３０との間の通信制御を実行する。
【００１８】
ＲＯＭ１２は、ＣＰＵ１１により各種処理が実行されるための処理プログラムを格納する。また、ＲＯＭ１２は、マーカー部１５の発光制御に用いるマーカー特徴情報を格納する。マーカー特徴情報とは、スティック部１０Ａのマーカー部１５（以下、「第１マーカー」と適宜呼ぶ）と、スティック部１０Ｂのマーカー部１５（以下、「第２マーカー」と適宜呼ぶ）とを区別するための情報である。マーカー特徴情報には、例えば、発光時の形状、大きさ、色相、彩度、あるいは輝度に加え、発光時の点滅スピード等を用いることができる。
ここで、スティック部１０ＡのＣＰＵ１１及びスティック部１０ＢのＣＰＵ１１は、スティック部１０Ａ、１０Ｂにそれぞれ設けられたＲＯＭ１２から、それぞれ異なるマーカー特徴情報を読み出し、それぞれのマーカーの発光制御を実行する。
【００１９】
ＲＡＭ１３は、モーションセンサ部１４が出力した各種センサ値等、処理において取得され又は生成された値を格納する。
【００２０】
モーションセンサ部１４は、スティック部１０の状態を検知する。即ち、モーションセンサ部１４は、演奏者によりスティック部１０で仮想的な楽器を打撃する等の所定の操作が行われたことを検出するための各種センサである。また、モーションセンサ部１４は、演奏者が仮想楽器を打撃した際のショット角度を検出するための各種センサである。ここで、モーションセンサ部１４を構成するセンサとしては、例えば、加速度センサ、角速度センサ及び磁気センサ等を用いることができる。
【００２１】
図３は、スティック部１０の斜視図であり、外部にはスイッチ１７１とマーカー部１５が配置されている。
演奏者は、スティック部１０の一端（根元側）を保持し、手首等を中心とした振り上げ振り下ろし動作を行うことで、スティック部１０に対して運動を生じさせる。その際にこの運動に応じたセンサ値がモーションセンサ部１４から出力されるようになっている。
【００２２】
モーションセンサ部１４からのセンサ値を受け付けたＣＰＵ１１は、演奏者が持っているスティック部１０の状態を検知する。一例としては、ＣＰＵ１１は、スティック部１０による仮想的な楽器の打撃タイミング（以下、「ショットタイミング」とも呼ぶ）を検知する。ショットタイミングは、スティック部１０が振り下ろされてから停止される直前のタイミングであり、スティック部１０にかかる振り下ろし方向とは逆向きの加速度の大きさがある閾値を超えたタイミングである。
【００２３】
図２に戻り、マーカー部１５は、スティック部１０の先端側に設けられた発光体であり、例えばＬＥＤ等で構成される。マーカー部１５は、ＣＰＵ１１からの制御に応じて発光及び消灯する。具体的には、マーカー部１５は、ＣＰＵ１１によってＲＯＭ１２から読み出されたマーカー特徴情報に基づいて発光する。このとき、スティック部１０Ａのマーカー特徴情報と、スティック部１０Ｂのマーカー特徴情報とは異なるため、カメラユニット部２０は、スティック部１０Ａのマーカー部１５（第１マーカー）の位置座標と、スティック部１０Ｂのマーカー部１５（第２マーカー）の位置座標とを個々に区別し取得することができる。
【００２４】
データ通信部１６は、少なくともセンターユニット部３０との間で所定の無線通信を行う。データ通信部１６は、任意の方法で所定の無線通信を行うこととしてよく、本実施形態では、赤外線通信によりセンターユニット部３０との間での無線通信を行う。なお、データ通信部１６は、カメラユニット部２０との間で無線通信を行うこととしてもよい。また、スティック部１０Ａのデータ通信部１６と、スティック部１０Ｂのデータ通信部１６との間で無線通信を行うこととしてもよい。
【００２５】
スイッチ操作検出回路１７は、スイッチ１７１と接続され、当該スイッチ１７１を介した入力情報を受け付ける。入力情報としては、例えば、後述するセットレイアウト情報を直接指定するためのトリガーとなる信号情報等が含まれる。
【００２６】
［カメラユニット部２０の構成］
スティック部１０の構成についての説明は、以上である。続いて、図を参照して、位置検出装置としてのカメラユニット部２０の構成について説明する。
図４は、カメラユニット部２０のハードウェア構成を示すブロック図である。
カメラユニット部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、イメージセンサ部２４と、データ通信部２５と、を含んで構成される。
【００２７】
ＣＰＵ２１は、カメラユニット部２０全体の制御を実行する。ＣＰＵ２１は、例えば、イメージセンサ部２４が検出したマーカー部１５の位置座標データ及びマーカー特徴情報に基づいて、スティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標（Ｍｘａ，Ｍｙａ）、（Ｍｘｂ，Ｍｙｂ）を算出し、それぞれの算出結果を示す位置座標データを出力する制御を実行する。また、ＣＰＵ２１は、データ通信部２５を介して、算出した位置座標データ等をセンターユニット部３０に送信する通信制御を実行する。
【００２８】
ＲＯＭ２２は、ＣＰＵ２１により各種処理が実行されるための処理プログラムを格納する。ＲＡＭ２３は、イメージセンサ部２４が検出したマーカー部１５の位置座標データ等、処理において取得され又は生成された値を格納する。また、ＲＡＭ２３は、センターユニット部３０から受信したスティック部１０Ａ、１０Ｂのそれぞれのマーカー特徴情報も併せて格納する。
【００２９】
イメージセンサ部２４は、例えば、光学式のカメラであり、スティック部１０を持って演奏動作を行う演奏者の動画を所定のフレームレートで撮像する。また、イメージセンサ部２４は、フレームごとの撮像データをＣＰＵ２１に出力する。なお、イメージセンサ部２４は、撮像画像内におけるスティック部１０のマーカー部１５の位置座標の特定を、ＣＰＵ２１に代わって行うこととしてもよい。また、イメージセンサ部２４は、撮像したマーカー特徴情報に基づくスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標を算出についても、ＣＰＵ２１に代わって行うこととしてもよい。
【００３０】
データ通信部２５は、少なくともセンターユニット部３０との間で所定の無線通信（例えば、赤外線通信）を行う。なお、データ通信部１６は、スティック部１０との間で無線通信を行うこととしてもよい。カメラユニット部２０の構成についての説明は、以上である。
【００３１】
［センターユニット部３０の構成］
続いて、図５を参照して、センターユニット部３０の構成について説明する。
図５は、センターユニット部３０のハードウェア構成を示すブロック図である。
センターユニット部３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、スイッチ操作検出回路３４と、表示回路３５と、音源装置３６と、データ通信部３７と、を含んで構成される。
【００３２】
ＣＰＵ３１は、センターユニット部３０全体の制御を実行する。ＣＰＵ３１は、例えば、スティック部１０から受信したショット角度及びカメラユニット部２０から受信したマーカー部１５の位置座標と、複数の仮想楽器それぞれの中心位置座標との距離及び設置角度に基づいて、発音対象の仮想楽器を特定する。ＣＰＵ３１は、特定した仮想楽器の発音角度データに対応する楽音を発音する制御等を実行する。また、ＣＰＵ３１は、データ通信部３７を介して、スティック部１０及びカメラユニット部２０との間の通信制御を実行する。
【００３３】
ＲＯＭ３２は、ＣＰＵ３１の実行する各種処理の処理プログラムを格納する。また、ＲＯＭ３２は、仮想楽器セット情報、仮想楽器情報及び音色情報を記憶する。
なお、仮想楽器としては、例えば、フルート、サックス、トランペット等の管楽器、ピアノ等の鍵盤楽器、ギター等の弦楽器、バスドラム、ハイハット、スネア、シンバル、タム、太鼓等の打楽器等があげられる。
【００３４】
ここで、ＲＯＭ３２に記憶される仮想楽器セット情報、仮想楽器情報及び音色情報のデータ構造について、図６を参照して説明する。
図６は、仮想楽器セット情報、仮想楽器情報及び音色情報のデータ構造及びそれぞれの情報の関連性を示す概念図である。
仮想楽器セット情報は、仮想平面上に設けられる複数の仮想楽器セットそれぞれに関する情報である。仮想楽器セット情報は、図６（１）に示すように、仮想楽器セットを構成する仮想楽器のセットレイアウトを示すセットレイアウト情報を含んで構成される。セットレイアウト情報には、仮想楽器セットを構成する仮想楽器の位置座標（Ｃｘ，Ｃｙ）及び設置角度（θｏｆｆｓｅｔ）並びに仮想楽器を特定する楽器番号が対応付けて格納されている。
仮想楽器情報は、仮想楽器のサイズや発音する音色に関する情報である。仮想楽器情報には、仮想楽器セット情報に記憶される楽器番号と対応する楽器番号、サイズ（仮想楽器の形状、径、縦方向の長さ、横方向の長さ等）、発音角度のデータが対応付けて格納されている。発音角度のデータは、境界角度（θＨ、θＬ）及び音色番号を含んでいる。
音色情報は、仮想楽器情報に含まれる音色番号と対応付けて格納され、仮想楽器が発音する音色に関する波形データが含まれている。
【００３５】
ここで、図７を参照して、具体的なセットレイアウトについて説明する。
図７は、センターユニット部３０のＲＯＭ３２に格納された仮想楽器セット情報が示す概念を仮想平面上で可視化した図である。
【００３６】
図７（１）は、６個の仮想パッド８１〜８６が仮想平面上に配置されている様子を示している。これら６つの仮想パッド８１〜８６は、パッドに関連付けられている位置座標（Ｃｘ，Ｃｙ）とサイズとに基づいて配置されている。
図７（２）は、６個の仮想パッド８１〜８６のうち、仮想パッド８１及び仮想パッド８２の設置角度を示している。なお、図７（２）は、仮想パッド８１，８２を側方から見た状態を示しており、水平面を基準とする設置角度を示している。
図７（２）に示すように、仮想パッド８１は、設置角度が０°に設定され、仮想パッド８２は、設置角度が−２０°に設定されている。
【００３７】
仮想パッド８１〜８６はそれぞれに発音角度（スティック部１０のショット角度の範囲）が対応付けられており、発音角度毎に音色情報が関連付けられている。図８を参照して、仮想パッド８１と発音角度及び音色情報との関係について説明する。
図８は、仮想パッド８１の形状の特徴を表す概念図である。なお、図８においては、仮想パッド８１を上面視した状態を示している。
図８において、仮想パッド８１は、領域毎に発音する音色が異なるようになっており、ベルカップ領域８１Ａ、ライド領域８１Ｂ及びクラッシュ領域８１Ｃのそれぞれに異なる音色が関連付けられている。各領域は、その領域を特定するために、発音角度が設定されている。即ち、スティック部１０のショット角度と発音角度との関係に基づいて、仮想パッド８１の領域が特定され、その領域の音色が特定される。
なお、仮想楽器に対応付けられる複数の音色の発音角度は、互いの角度の範囲を重複して設定することができる。例えば、ある仮想楽器に、１つの音色の発音角度（θＨ＝２０°，θＬ＝０°）と他の音色の発音角度（θＨ＝１０°，θＬ＝−２０°）とを設定することができる。
【００３８】
図５に戻って、ＲＡＭ３３は、スティック部１０から受信したスティック部１０の状態（ショット検出等）、カメラユニット部２０から受信したマーカー部１５の位置座標等、処理において取得され又は生成された値を格納する。
これにより、ＣＰＵ３１は、ショット検出時（即ち、ノートオンイベント受信時）にマーカー部１５の位置座標に対応する仮想楽器を特定する。ＣＰＵ３１は、ショット角度に基づいて、特定した仮想楽器の発音角度に関連付けられている音色番号を特定する。そして、ＣＰＵ３１は、特定した音色番号に対応する音色情報（波形データ）をＲＯＭ３２から読み出して、演奏者の演奏動作に応じた楽音の発音を制御する。
【００３９】
具体的には、ＣＰＵ３１は、複数の仮想楽器それぞれについて、当該仮想楽器の中心位置座標とマーカー部１５の位置座標との距離を、仮想楽器に関連付けられたサイズ（縦方向の長さ、横方向の長さ）が大きいほど短くなるように調整を行って算出する。続いて、ＣＰＵ３１は、算出された距離のうち、最も短い距離に対応する仮想楽器を出音対象の仮想楽器として特定する。続いて、ＣＰＵ３１は、特定した仮想楽器の情報を参照して取得した発音角度の境界角と、スティック部１０のショット角度とに基づいて、対応する音色番号を特定する。ＣＰＵ３１は、特定した音色番号が複数である場合には、それぞれの音色の混合比を算出する。
ＣＰＵ３１は、特定した音色が単数である場合には、その楽音の発音制御を行い、特定した音色が複数である場合には、算出した混合比に基づいて、それぞれの楽音の発音制御を行う。
【００４０】
ここで、図９を参照して、音色を混合して発音する場合について説明する。
図９は、センターユニット部３０のＲＯＭ３２に格納された仮想楽器情報が示す概念を可視化した図である。
【００４１】
図９（１）は、仮想パッド８３の仮想的な形状を示しており、仮想パッドは、ヘッド部分８３Ａと、リム部分８３Ｂとを有している。図９（１）では、スティック部１０により、ヘッド部分８３Ａが打撃されている。この場合、発音する音色はヘッド部分８３Ａに対応する単一の音色となる。
他方、図９（２）では、スティック部１０により、ヘッド部分８３Ａとリム部分８３Ｂとが同時に打撃されている。この場合、ヘッド部分８３Ａとリム部分８３Ｂの双方に対応する音色を発音させる。
即ち、スティック部１０のショット角度に基づいて、仮想楽器のいずれの部分が打撃されたかを特定し、ショット角度が複数の部分に対応する発音角度の範囲に含まれる場合には、音色を混合して発音させる。
【００４２】
図５に戻って、スイッチ操作検出回路３４は、スイッチ３４１と接続され、当該スイッチ３４１を介した入力情報を受け付ける。入力情報としては、例えば、発音する楽音の音量や発音する楽音の音色の変更、表示装置３５１の表示の切り替え、所定の閾値の調整、仮想パッド８１の中心位置座標の変更等が含まれる。
また、表示回路３５は、表示装置３５１と接続され、表示装置３５１の表示制御を実行する。
【００４３】
音源装置３６は、ＣＰＵ３１からの指示に従って、ＲＯＭ３２から波形データを読み出して、楽音データを生成すると共に、楽音データをアナログ信号に変換し、図示しないスピーカから楽音を発音する。
また、データ通信部３７は、スティック部１０及びカメラユニット部２０との間で所定の無線通信（例えば、赤外線通信）を行う。
【００４４】
［演奏装置１の処理］
以上、演奏装置１を構成するスティック部１０、カメラユニット部２０及びセンターユニット部３０の構成について説明した。続いて、図１０〜図１５を参照して、演奏装置１の処理について説明する。
【００４５】
［スティック部１０の処理］
図１０は、スティック部１０が実行する処理（以下、「スティック部処理」と呼ぶ）の流れを示すフローチャートである。
図１０を参照して、スティック部１０のＣＰＵ１１は、モーションセンサ部１４からモーションセンサ情報としてのセンサ値を読み出すと共に、センサ値をＲＡＭ１３に格納する（ステップＳ１）。その後、ＣＰＵ１１は、読み出したモーションセンサ情報に基づいて、スティック部１０の姿勢検知処理を実行する（ステップＳ２）。姿勢検知処理では、ＣＰＵ１１は、モーションセンサ情報に基づいて、スティック部１０のロール角及びピッチ角等のショット角度を算出する。
【００４６】
続いて、ＣＰＵ１１は、モーションセンサ情報に基づいて、ショット検出処理を実行する（ステップＳ３）。演奏者は、スティック部１０を用いて演奏を行う場合において、仮想的な楽器（例えば、仮想的なドラム）があるとして、現実の楽器（例えば、ドラム）がある場合の演奏動作と同様の演奏動作を行う。演奏者は、このような演奏動作として、まずスティック部１０を振り上げ、それから仮想的な楽器に向かって振り下ろす。そして、演奏者は、仮想的な楽器にスティック部１０を打撃した瞬間に楽音が発生することを想定し、スティック部１０を仮想楽器に打撃する寸前にスティック部１０の動作を止めようとする力を働かせる。これに対して、ＣＰＵ１１は、モーションセンサ情報（例えば、加速度センサのセンサ合成値）に基づいて、スティック部１０の動作を止めようとする動作を検出する。
【００４７】
即ち、本実施形態においては、ショット検出のタイミングは、スティック部１０が振り下ろされてから停止される直前のタイミングであり、スティック部１０にかかる振り下ろし方向とは逆向きの加速度の大きさがある閾値を超えたタイミングである。本実施形態では、このショット検出のタイミングを発音タイミングとする。
スティック部１０のＣＰＵ１１は、スティック部１０の動作を止めようとする動作を検出して発音タイミングが到来したと判断すると、ノートオンイベントを生成し、センターユニット部３０に送信する。ここで、ＣＰＵ１１は、ノートオンイベントを生成する場合に、モーションセンサ情報（例えば、加速度センサのセンサ合成値の最大値）に基づいて、発音する楽音の音量を決定するためのショット速度を、ノートオンイベントに含ませるようにしてもよい。
【００４８】
続いて、ＣＰＵ１１は、ステップＳ２及びステップＳ３の処理で検出した情報、即ち、ショット角度及びショット速度を、データ通信部１６を介してセンターユニット部３０に送信する（ステップＳ４）。このとき、ＣＰＵ１１は、スティック識別情報と対応付けて、ショット角度及びショット速度をセンターユニット部３０に送信する。
続いて、ＣＰＵ１１は、処理をステップＳ１に戻す。これにより、ステップＳ１からステップＳ４の処理が繰り返される。
【００４９】
［カメラユニット部２０の処理］
図１１は、カメラユニット部２０が実行する処理（以下、「カメラユニット部処理」と呼ぶ）の流れを示すフローチャートである。
図１１を参照して、カメラユニット部２０のＣＰＵ２１は、イメージデータ取得処理を実行する（ステップＳ１１）。この処理では、ＣＰＵ２１は、イメージセンサ部２４からイメージデータを取得する。
【００５０】
続いて、ＣＰＵ２１は、第１マーカー検出処理（ステップＳ１２）及び第２マーカー検出処理（ステップＳ１３）を実行する。これらの処理では、ＣＰＵ２１は、イメージセンサ部２４が検出した、スティック部１０Ａのマーカー部１５（第１マーカー）及びスティック部１０Ｂのマーカー部１５（第２マーカー）の位置座標、サイズ、角度等のマーカー検出情報を取得し、ＲＡＭ２３に格納する。このとき、イメージセンサ部２４は、発光中のマーカー部１５について、マーカー検出情報を検出する。
【００５１】
続いて、ＣＰＵ２１は、ステップＳ１２及びステップＳ１３で取得したマーカー検出情報を、データ通信部２５を介してセンターユニット部３０に送信し（ステップＳ１４）、ステップＳ１１に処理を移行させる。これにより、ステップＳ１１からステップＳ１４の処理が繰り返される。
【００５２】
［センターユニット部３０の処理］
図１２は、センターユニット部３０が実行する処理（以下、「センターユニット部処理」と呼ぶ）の流れを示すフローチャートである。
図１２を参照して、センターユニット部３０のＣＰＵ３１は、センターユニット部処理に必要な情報を初期化する（ステップＳ２１）。ここで、センターユニット部処理に必要な情報は、仮想楽器セット番号（Ｓｅｔ＿ＩＤ）、仮想楽器番号（Ｐａｒｔｓ＿ＩＤ）、スティック部１０の位置座標（Ｓｉｔｃｋ．Ｃｏｏｒｄ．ｘ，Ｓｉｔｃｋ．Ｃｏｏｒｄ．ｙ）、スティック部１０のショット角度（Ｓｉｔｃｋ．ＳｈｏｔＡｎｇｌｅ）、スティック部１０のショット速度（Ｓｉｔｃｋ．Ｖｅｌｏｃｉｔｙ）である。これらは、適宜、スイッチ３４１等を介して入力される。
また、ＣＰＵ３１は、仮想楽器セット番号の選択値を取得（Ｓｅｔ＿ＩＤに値を設定）する（ステップＳ２２）。
【００５３】
続いて、ＣＰＵ３１は、カメラユニット部２０から、第１マーカー及び第２マーカーそれぞれのマーカー検出情報を受信し、ＲＡＭ３３に格納する（ステップＳ２３）。また、ＣＰＵ３１は、スティック部１０Ａ、１０Ｂのそれぞれから、スティック識別情報と対応付けられたショット角度（Ｓｉｔｃｋ．Ｃｏｏｒｄ．ｘ，Ｓｉｔｃｋ．Ｃｏｏｒｄ．ｙ）及びショット速度（Ｓｉｔｃｋ．Ｖｅｌｏｃｉｔｙ）をスティック情報として受信し、ＲＡＭ３３に格納する（ステップＳ２４）。
【００５４】
続いて、ＣＰＵ３１は、ショットありか否かを判断する（ステップＳ２５）。この処理では、ＣＰＵ３１は、スティック部１０からノートオンイベントを受信したか否かによって、ショットの有無を判断する。このとき、ショットなしと判断した場合には、ＣＰＵ３１は、ステップＳ２２に処理を移行する。ショットありと判断した場合には、ＣＰＵ３１は、ステップＳ２６に処理を移行する。
【００５５】
続いて、ＣＰＵ３１は、仮想楽器特定処理を実行し（ステップＳ２６）、発音させる仮想楽器を特定する。仮想楽器特定処理については、図１３を参照して詳述する。
また、ＣＰＵ３１は、音色特定処理を実行し（ステップＳ２７）、特定した仮想楽器のショット角度に対応した音色を特定すると共に、特定した音色の混合比率を算出する。音色特定処理については、図１４を参照して詳述する。
そして、ＣＰＵ３１は、特定した音色番号に対応する波形データを取得して、波形データを混合比率に基づいて混合し、発音処理を行う（ステップＳ２８）。
続いて、ＣＰＵ３１は、処理をステップＳ２２に戻す。これにより、ステップＳ２２からステップＳ２８の処理が繰り返される。
【００５６】
次に、図１３を参照して、仮想楽器特定処理について説明する。
図１３は、センターユニット部３０が実行する仮想楽器特定処理の流れを示すフローチャートである。
センターユニット部３０のＣＰＵ３１は、仮想楽器特定処理に必要な情報について、情報の初期化処理を行う（ステップＳ２６１）。仮想楽器特定処理に必要な情報は、セットレイアウト情報、候補仮想楽器番号（Ｐａｒｔｓ＿ＩＤ）、最短距離情報（ｍｉｎ＿ｄｉｓｔａｎｃｅ）、カウンタ（ｐａｒｔｓ＿ｃｏｕｎｔｅｒ）、マーカー位置座標（Ｍｘ，Ｍｙ）である。
具体的には、ＣＰＵ３１は、仮想楽器セット情報に設定された仮想楽器セット番号（Ｓｅｔ＿ＩＤ）に基づいて、セットレイアウト情報を取得する。また、候補仮想楽器番号に楽器数（例えば、仮想楽器番号が０〜５の場合は６）を代入し、最短距離情報に最大値を代入する。また、カウンタ（ｐａｒｔｓ＿ｃｏｕｎｔｅｒ）を０に設定する。また、マーカー位置座標にスティック部１０の位置座標を設定する。
【００５７】
続いて、ＣＰＵ３１は、仮想楽器情報を取得する（ステップＳ２６２）。このとき取得される仮想楽器情報は、仮想楽器番号がカウンタ（ｐａｒｔｓ＿ｃｏｕｎｔｅｒ）値である仮想楽器の中心座標（Ｃｘ，Ｃｙ）及びサイズ（Ｓｘ，Ｓｙ）である。
【００５８】
続いて、ＣＰＵ３１は、取得した仮想楽器の中心座標（Ｃｘ，Ｃｙ）及びサイズと、マーカー座標（Ｓｘ，Ｓｙ）とに基づいて、距離Ｌを算出する（ステップＳ２６３）。
具体的には、ＣＰＵ３１は、距離Ｌを算出するために、横方向の距離Ｌｘと縦方向の距離Ｌｙとを以下に示される式（１）、（２）で算出する。そして、ＣＰＵ３１は、算出した横方向の距離Ｌｘと縦方向の距離Ｌｙとに基づいて、距離Ｌを以下に示される式（３）で算出する。
【００５９】
Ｌｘ＝（Ｃｘ−Ｍｘ）＊（Ｋ／Ｓｘ）・・・（１）
Ｌｙ＝（Ｃｙ−Ｍｙ）＊（Ｋ／Ｓｙ）・・・（２）
Ｌ＝（（Ｌｘ＊Ｌｘ）＋（Ｌｙ＊Ｌｙ））＾（１／２）・・・（３）
ここで、Ｋは、サイズの重み付け係数であり、各パーツの計算において共通の定数である。また、演算記号「＾」は、べき乗を意味する。即ち、式（３）における「＾（１／２）」は、１／２乗を示すものである。なお、この重み付け係数Ｋは、横方向の距離Ｌｘを算出する場合と、縦方向Ｌｙの距離を算出する場合とで異なるように設定してもよい。
【００６０】
即ち、ＣＰＵ３１は、横方向の距離Ｌｘ、縦方向の距離Ｌｙを算出した後、算出されたそれぞれの距離に対して、Ｓｘ，Ｓｙで除算することにより、仮想楽器のサイズが大きいほど距離が小さくなるように調整を行う。
【００６１】
続いて、ＣＰＵ３１は、算出した距離Ｌと最短距離情報（ｍｉｎ＿ｄｉｓｔａｎｃｅ）とを比較して、算出した距離Ｌが最短距離情報（ｍｉｎ＿ｄｉｓｔａｎｃｅ）より小さいか否かを確認する（ステップＳ２６４）。
このとき、ＣＰＵ３１が算出した距離Ｌが最短距離情報よりも小さいと判断した場合に、ＣＰＵ３１は、ステップＳ２６５に処理を移行する。ＣＰＵ３１が算出した距離Ｌが最短距離情報よりも大きいと判断した場合に、ＣＰＵ３１は、ステップＳ２６６に処理を移行する。
【００６２】
続いて、ＣＰＵ３１は、算出した距離Ｌに基づいて、最短距離情報を更新（ｍｉｎ＿ｄｉｓｔａｎｃｅに距離Ｌの値を設定）する（ステップＳ２６５）。このとき、ＣＰＵ３１は、候補仮想楽器番号も更新（Ｐａｒｔｓ＿ＩＤにｐａｒｔｓ＿ｃｏｕｎｔｅｒを設定）する。
【００６３】
続いて、ＣＰＵ３１は、全ての仮想楽器を確認したか否かを判断する（ステップＳ２６６）。このとき、全ての仮想楽器を確認していない場合、ＣＰＵ３１は、カウンタ（ｐａｒｔｓ＿ｃｏｕｎｔｅｒ）をインクリメントして（ステップＳ２６７）、ステップＳ２６２に処理を移行する。また、全ての仮想楽器を確認した場合、ＣＰＵ３１は、センターユニット部処理に処理を戻す。
【００６４】
次に、図１４を参照して、音色特定処理について説明する。
図１４は、センターユニット部３０が実行する音色特定処理の流れを示すフローチャートである。
センターユニット部３０のＣＰＵ３１は、音色特定処理に必要な情報について、情報の初期化処理を行う（ステップＳ２７１）。音色特定処理に必要な情報は、有効発音角フラグ（Ａｖａｉｌａｂｌｅ＿Ｆｌａｇ）、カウンタ（Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ）であり、それぞれに０が設定される。
【００６５】
続いて、ＣＰＵ３１は、ショット角度（Ｓｔｉｃｋ．ＳｈｏｔＡｎｇｌｅ）と設置角度（θｏｆｆｓｅｔ）とを加算して、設置角度を加味したショット角度（θｓ）を算出する（ステップＳ２７２）。
【００６６】
続いて、ＣＰＵ３１は、カウンタに対応する発音角度の情報（Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ［Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ］）を取得する（ステップＳ２７３）。
また、ＣＰＵ３１は、カウンタに対応する発音角度の情報について、混合比を初期化（Ｇａｉｎ［Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ］＝０．０）する（ステップＳ２７４）。
【００６７】
続いて、ＣＰＵ３１は、設置角度を加味したショット角度（θｓ）がカウンタに対応する発音角度の範囲内（θＬ＜θｓ＝＜θＨ）であるか否か、即ち、有効なショット角度であるか否かを判断する（ステップＳ２７５）。なお、ここでの境界角θＬ、θＨは、注目する発音角度について設定された各境界角である。
このとき、設置角度を加味したショット角度（θｓ）がカウンタに対応する発音角度の範囲内である、即ち、有効なショット角度である場合、ＣＰＵ３１は、ステップＳ２７６に処理を移行する。また、設置角度を加味したショット角度（θｓ）がカウンタに対応する発音角度の範囲外である、即ち、有効なショット角度でない場合、ＣＰＵ３１は、ステップＳ２７７に処理を移行する。
【００６８】
ＣＰＵ３１は、設置角度を加味したショット角度（θｓ）がカウンタに対応する発音角度の範囲内である場合、混合比に暫定値（Ｇａｉｎ［Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ］＝１．０）を設定する（ステップＳ２７６）。この際、ＣＰＵ３１は、設置角度を加味したショット角度（θｓ）が発音角度の範囲内であることを特定できるように、有効発音フラグをセット（Ａｖａｉｌａｂｌｅ＿Ｆｌａｇ｜＝（１＜＜Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ））する。
即ち、ステップＳ２７６の処理では、発音する音色を特定する情報とその音色の混合比率の暫定値が設定される。
なお、Ａｖａｉｌａｂｌｅ＿Ｆｌａｇ｜＝（１＜＜Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ）で表される演算は、２進数の１を左にＡｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ分ビットシフトし（例えば、Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒが２であれば、１００となる）、Ａｖａｉｌａｂｌｅ＿Ｆｌａｇが有する値（例えば、００１）と論理和を取った値（例えば、００１と１００との論理和１０１）がＡｖａｉｌａｂｌｅ＿Ｆｌａｇに設定されることを意味する。
【００６９】
続いて、ＣＰＵ３１は、カウンタをインクリメント（Ａｎｇｌｅ＿Ｓｅｐａｒａｔｅ＿Ｃｏｕｎｔｅｒ＋＋）する（ステップＳ２７７）。
ＣＰＵ３１は、全ての発音角度を確認したか否かを判断する（ステップＳ２７８）。全ての発音角度を確認した場合、ＣＰＵ３１は、ステップＳ２７９に処理を移行する。全ての発音角度を確認していない場合、ＣＰＵ３１は、ステップＳ２７３に処理を移行する。
続いて、ＣＰＵ３１は、混合比算出処理を実行し（ステップＳ２７９）、センターユニット部処理に処理を戻す。混合比算出処理については、図１５を参照して詳述する。
【００７０】
次に、図１５を参照して、混合比の算出処理について説明する。
図１５は、センターユニット部３０が実行する混合比算出処理の流れを示すフローチャートである。
センターユニット部３０のＣＰＵ３１は、複数の音色を同時に発音する場合かを判断する（ステップＳ２７９１）。このとき、複数の音色を同時に発音する場合には、ＣＰＵ３１は、処理をステップＳ２７９２に移す。また、複数の音色を同時に発音しない場合には、ＣＰＵ３１は、処理を音色特定処理に戻す。
なお、ＣＰＵ３１は、Ａｖａｉｌａｂｌｅ＿Ｆｌａｇを参照して、複数のビットが立っているか否かによって、複数の音色を同時に発音する場合か否かを判断する。即ち、ＣＰＵ３１は、Ａｖａｉｌａｂｌｅ＿Ｆｌａｇが、例えば、１１（１０進数では３）である場合には、複数のビットが立っているため、同時に発音する場合であると判断する。
【００７１】
続いて、ＣＰＵ３１は、同時に発音する音色の混合比を算出する（ステップＳ２７９２）。
図１６は、仮想パッド８３のヘッド部分８３Ａとリム部分８３Ｂとを同時に打撃した場合におけるヘッド部分８３Ａの音色とリム部分８３Ｂの音色との関係を示す概念図である。
仮想パッド８３において、ヘッド部分８３Ａは、スティック部１０のショット角度θｓが上限の境界角θＴ１Ｈから下限の境界角θＴ１Ｌの間にある場合に、音色Ａを発音する。他方、リム部分８３Ｂは、スティック部１０のショット角度θｓが上限の境界角θＴ２Ｈから下限の境界角θＴ２Ｌの間にある場合に、音色Ｂを発音する。そのため、スティック部１０のショット角度θｓは、リム部分８３Ｂの上限の境界角θＴ２Ｈからヘッド部分８３Ａの下限の境界角θＴ１Ｌの間にある場合に、音色Ａと音色Ｂとを同時に発音する。
【００７２】
ＣＰＵ３１は、このようにスティック部１０のショット角度θｓが複数の部分を打撃したと考えられる場合に、同時に発音する音声の混合比を算出する。ＣＰＵ３１は、音色Ｂの上限の境界角から音色Ａの下限の境界角を減算（θＴ２Ｈ−θＴ１Ｌ）して、音色Ａ及びＢの重複する発音角度の範囲を算出する。また、ＣＰＵ３１は、スティック部１０のショット角度から音色Ａの下限の境界角を減算（θＴ１Ｌ−θｓ）して、重複する発音角度の範囲のうち上部分の範囲を算出する。そして、ＣＰＵ３１は、算出した上部分の範囲を重複する発音角度の範囲で除算する（｜θＴ１Ｌ−θｓ｜／｜θＴ２Ｈ−θＴ１Ｌ｜）。さらに、ＣＰＵ３１は、除算して算出した値を、円周におけるベクトルとして、それぞれの正弦の値と余弦の値を算出する（ｓｉｎ（（｜θｓ−θＴ１Ｌ｜／｜θＴ２Ｈ−θＴ１Ｌ｜）×（π／２）），ｃｏｓ（（｜θｓ−θＴ１Ｌ｜／｜θＴ２Ｈ−θＴ１Ｌ｜）×（π／２）））。そして、ＣＰＵ３１は、算出した正弦の値及び余弦の値をそれぞれの音色の混合比率として特定する。
これにより、全体の音量を適切に保ちながら、ショット角度θｓに応じて、音色Ａ及び音色Ｂを混合することができる。
【００７３】
以上のように構成される演奏装置１は、スティック部１０と、カメラユニット部２０と、センターユニット部３０とを備える。
スティック部１０は、演奏者に保持される。
スティック部１０のモーションセンサ部１４は、予め設定された仮想平面上における仮想楽器に対して、スティック部１０にて予め定められた操作が行われたことを検出する。
また、スティック部１０のモーションセンサ部１４は、操作が行われたときのスティック部１０の角度を取得する。
また、センターユニット部３０は、仮想楽器に予め対応付けられている発音角度と、スティック部１０が取得した角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定する。
さらに、センターユニット部３０は、特定された楽音の発音を音源に対して指示する。
したがって、演奏装置１は、演奏者が操作したスティック部１０の打撃の状態をより正確に特定することができ、特定した打撃の状態に基づいて演奏者が意図したように発音することができる。
即ち、演奏装置１によれば、演奏者の演奏操作をより適確に反映した発音を行うことが可能となる。
【００７４】
また、仮想楽器は仮想平面上に複数設けられる。
センターユニット部３０は、仮想楽器それぞれについて、当該仮想楽器の中心位置座標、サイズ及び発音角度を含む情報を記憶する。
スティック部１０のモーションセンサ部１４は、仮想平面上における演奏部材の位置座標を検出する。
センターユニット部３０は、操作が行われたことが検出された場合に、カメラユニット部２０により検出された位置座標と、各仮想楽器の中心位置座標との間の距離のそれぞれを、対応する各仮想楽器のサイズに基づいて算出する。
また、センターユニット部３０は、算出した各距離のうち最も短い距離に対応する仮想楽器を特定する。
したがって、演奏装置１は、複数の仮想楽器について、演奏者が操作したスティック部１０の打撃の状態をより正確に特定することができ、特定した打撃の状態に基づいて演奏者が意図したように発音することができる。
即ち、演奏装置１によれば、複数の仮想楽器について、演奏者の演奏操作をより適確に反映した発音を行うことが可能となる。
【００７５】
また、カメラユニット部２０は、スティック部１０を被写体とする撮像画像を撮像する。
カメラユニット部２０は、仮想平面としての撮像画像平面におけるスティック部１０の位置座標を検出する。
したがって、撮像装置を用いて、演奏者が操作したスティック部１０の打撃部位や打撃の状態を簡単かつ正確に特定することができる。
【００７６】
また、センターユニット部３０は、当該仮想楽器の設置角度をスティック部１０が取得した角度に加算し、該角度が、特定した仮想楽器に対応する発音角度に適合する場合に、当該発音角度に対応付けられた楽音の発音を特定する。
したがって、演奏者により設定された仮想楽器の傾きを適確に反映して、演奏者が意図したように発音することができる。
【００７７】
また、仮想楽器には、複数の楽音に対応する発音角度が対応づけられる。
また、センターユニット部３０は、スティック部１０が取得した角度と、発音角度に基づいて、特定した複数の楽音の混合比を算出する。
したがって、演奏装置１は、演奏者が仮想楽器の複数部位を同時に打撃して発音しようと意図した場合においても、演奏者が意図したように発音することができる。
【００７８】
以上、本発明の実施形態について説明したが、実施形態は例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等、種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７９】
上記実施形態では、仮想的な打楽器として仮想ドラムセットＤ（図１参照）を例にとって説明したが、これに限られるものではなく、本発明は、スティック部１０の振り下ろし動作で楽音を発音する木琴等他の楽器に適用することができる。
【００８０】
また、上記実施形態でスティック部１０の位置座標を、位置検出装置としてのカメラユニット部２０が取得したイメージデータに基づいて検出したが、これに限られず、種々のセンサを組み合わせて位置検出装置を構成し、スティック部１０の位置座標を検出してもよい。例えば、スティック部１０のモーションセンサ部１４に備えられた各種センサを用いて、スティック部１０の位置座標を検出してもよい。
【００８１】
また、上記実施形態でスティック部１０、カメラユニット部２０及びセンターユニット部３０で実行することとしている処理のうちの任意の処理は、他のユニット（スティック部１０、カメラユニット部２０及びセンターユニット部３０）で実行することとしてもよい。例えば、スティック部１０のＣＰＵ１１が実行することとしているショット検出及びロール角の算出等の処理を、センターユニット部３０が実行することとしてもよい。
【００８２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２、４、５の構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が演奏装置１に備えられていれば足り、この機能を実現するためにどのような構成を構築するのかは特に図２、４、５の例に限定されない。
【００８３】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
このコンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータであってもよい。
【００８４】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
演奏者に保持される演奏部材と、
予め設定された仮想平面上における仮想楽器に対して、前記演奏部材にて予め定められた操作が行われたことを検出する操作検出手段と、
前記操作が行われたときの前記演奏部材の角度を取得する角度取得手段と、
前記仮想楽器に予め対応付けられている発音角度と、前記角度取得手段が取得した前記角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定する発音特定手段と、
前記発音特定手段により特定された前記楽音の発音を音源に対して指示する発音指示手段と、
を備える演奏装置。
［付記２］
前記仮想楽器は前記仮想平面上に複数設けられ、
前記演奏装置はさらに、
前記仮想楽器それぞれについて、当該仮想楽器の中心位置座標、サイズ及び発音角度を含む情報を記憶する記憶手段と、
前記仮想平面上における前記演奏部材の位置座標を検出する位置検出手段と、
前記操作が行われたことが検出された場合に、前記位置検出手段により検出された位置座標と、前記各仮想楽器の中心位置座標との間の距離のそれぞれを、対応する前記各仮想楽器のサイズに基づいて算出する距離算出手段と、
前記距離算出手段により算出された各距離のうち最も短い距離に対応する仮想楽器を特定する楽器特定手段と、
を有することを特徴とする付記１に記載の演奏装置。
［付記３］
前記演奏部材を被写体とする撮像画像を撮像する撮像手段をさらに備え、
前記位置検出手段は、前記仮想平面としての撮像画像平面における前記演奏部材の位置座標を検出する、付記２に記載の演奏装置。
［付記４］
前記発音特定手段は、当該仮想楽器の設置角度を前記角度取得手段が取得した前記角度に加算し、該角度が、前記楽器特定手段により特定された仮想楽器に対応する発音角度に適合する場合に、当該発音角度に対応付けられた楽音の発音を特定する、付記２又は３に記載の演奏装置。
［付記５］
前記仮想楽器には、複数の楽音に対応する前記発音角度が対応づけられ、
前記角度取得手段が取得した前記角度と、前記仮想楽器に対応付けられた前記発音角度とに基づいて、前記発音特定手段によって特定された複数の楽音の混合比を算出する混合比算出手段をさらに備え、
前記発音指示手段は、
前記混合比に基づいて、前記発音特定手段により特定された前記楽音の発音を指示する、付記１から４のいずれか１つに記載の演奏装置。
［付記６］
演奏者に保持される演奏部材を有する演奏装置に用いられる演奏方法であって、
前記演奏装置が、
予め設定された仮想平面上における仮想楽器に対して、前記演奏部材にて予め定められた操作が行われたことを検出し、
前記操作が行われたときの前記演奏部材の角度を取得し、
前記仮想楽器に予め対応付けられている発音角度と、前記取得した角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定し、
前記特定された前記楽音の発音を音源に対して指示する、演奏方法。
［付記７］
演奏者に保持され、予め設定された仮想平面上における仮想楽器に対して、演奏部材にて予め定められた操作が行われたことを検出すると共に、前記操作が行われたときの当該演奏部材の角度を取得する演奏部材を備える演奏装置として用いられるコンピュータに、
前記仮想楽器に予め対応付けられている発音角度と、前記演奏部材が取得した前記角度とが適合する場合に、当該発音角度に対応付けられた楽音を特定するステップと、
前記特定された前記楽音の発音を音源に対して指示するステップと、
を実行させるプログラム。
【符号の説明】
【００８５】
１・・・演奏装置、１０・・・スティック部、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・モーションセンサ部、１５・・・マーカー部、１６・・・データ通信部、１７・・・スイッチ操作検出回路、１７１・・・スイッチ、２０・・・カメラユニット部、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・イメージセンサ部、２５・・・データ通信部、３０・・・センターユニット、３１・・・ＣＰＵ、３２・・ＲＯＭ、３３・・・ＲＡＭ、３４・・・スイッチ操作検出回路、３４１・・・スイッチ、３５・・・表示回路、３５１・・・表示装置、３６・・・音源装置、３７・・・データ通信部
【図１】
2015210350.tif 000003
【図２】
2015210350.tif 000004
【図３】
2015210350.tif 000005
【図４】
2015210350.tif 000006
【図５】
2015210350.tif 000007
【図６】
2015210350.tif 000008
【図７】
2015210350.tif 000009
【図８】
2015210350.tif 000010
【図９】
2015210350.tif 000011
【図１０】
2015210350.tif 000012
【図１１】
2015210350.tif 000013
【図１２】
2015210350.tif 000014
【図１３】
2015210350.tif 000015
【図１４】
2015210350.tif 000016
【図１５】
2015210350.tif 000017
【図１６】
2015210350.tif 000018