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