(57)【特許請求の範囲】
【請求項１】
演奏操作子と、
前記演奏操作子本体に与えられる演奏操作の状態を検知する状態検知手段と、
演奏操作時における前記演奏操作子の位置が所定の演奏エリアに含まれる場合に、楽音を発音する楽音発生手段に対して発音指示を与える発音指示手段と、
前記状態検知手段により検知された前記演奏操作の状態に基づいて、演奏速度を検出する演奏速度検出手段と、
この演奏速度検出手段によって検出された前記演奏速度が所定の閾値以上である場合は、前記所定の演奏エリアのサイズを拡大し、前記演奏速度が所定の閾値以上で無い場合であって前記所定の演奏エリアのサイズが初期サイズである場合は、前記所定の演奏エリアのサイズを維持し、前記演奏速度が所定の閾値以上で無い場合であって前記所定の演奏エリアのサイズが初期サイズより大きいサイズである場合は、前記所定の演奏エリアのサイズを前記初期サイズに縮小するエリアサイズ変更手段と、
を備えていることを特徴とする楽音発生装置。
【請求項２】
前記状態検知手段は、演奏操作の状態として当該演奏操作が与えられる時間間隔を検知し、
前記演奏速度検出手段は、当該時間間隔に基づいた前記演奏速度を検出することを特徴とする請求項１に記載の楽音発生装置。
【請求項３】
前記状態検知手段は、演奏操作の状態として所定時間内に当該演奏操作が行われた回数を検知し、
前記演奏速度検出手段は、前記所定時間内に演奏操作が行われた回数に基づいて前記演奏速度を検出するものであることを特徴とする請求項１に記載の楽音発生装置。
【請求項４】
演奏操作時における前記演奏操作子の位置を、前記演奏操作のばらつき度合として検出するばらつき検出手段をさらに備え、
前記エリアサイズ変更手段は、前記演奏速度検出手段による検出結果及び前記ばらつき検出手段による検出結果から、前記演奏速度が速く且つ前記演奏操作のばらつき度合いが大きいと判断された場合、前記所定の演奏エリアのサイズを拡大することを特徴とする請求項１から請求項３のいずれか一項に記載の楽音発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置に関するものである。
【背景技術】
【０００２】
従来、演奏者（ユーザ）の演奏動作を検知すると、演奏動作に応じた電子音（楽音）を発音する楽音発生装置（楽器ゲーム装置）が提案されている（例えば、特許文献１参照）。また、こうした電子音を発音させる装置において、演奏者が打楽器のスティックに相当する部材（コントローラ）を手に持って振る動作を行うと、それに応じて打楽器音を発音する装置（バーチャルドラム装置）も知られており（例えば、特許文献２参照）、このような装置では、コントローラにセンサを設け、演奏者がこの部材を手で保持して振ると、センサがその動作を検知し、この検知結果に応じた打楽器音を発音させるように構成されている。
例えば打楽器等の現実の楽器は、重量も重く、設置に広いスペースを要することから、自宅等で手軽に演奏や練習を行うことが難しい。
この点、演奏者の演奏動作を検知し、これに応じた楽音を発生させて、仮想の楽器演奏を行う楽音発生装置によれば、現実の楽器を必要とせずに当該楽器の楽音を発音させることができるため、演奏場所や演奏スペースに制約を受けずに手軽に演奏を楽しむことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３５９９１１５号公報
【特許文献２】特許４５８６５２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような仮想の楽器演奏を行う装置は、現実には何も存在しない空間で所定の演奏エリアを叩く等の演奏動作を行うことで所定の楽音を発生させるものである。このため、演奏に慣れるまでは、演奏動作の速度が速くなると操作位置が演奏エリアから外れてしまう操作ミスを生じやすい。
演奏エリアを外してしまうと、楽音が発音されず、演奏が中断されてしまうため、演奏になれていない初心者等には楽器演奏を十分に楽しむことができないという問題があった。
【０００５】
本発明は以上のような事情に鑑みてなされたものであり、仮想の楽器演奏を行う場合に、演奏エリアを外してしまう操作ミス（打ちミス）を減少させて演奏に習熟していない者でも楽器演奏を楽しむことのできる楽音発生装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明の楽音発生装置は、
演奏操作子と、
前記演奏操作子本体に与えられる演奏操作の状態を検知する状態検知手段と、
演奏操作時における前記演奏操作子の位置が所定の演奏エリアに含まれる場合に、楽音を発音する楽音発生手段に対して発音指示を与える発音指示手段と、
前記状態検知手段により検知された前記演奏操作の状態に基づいて、演奏速度を検出する演奏速度検出手段と、
この演奏速度検出手段によって検出された前記演奏速度が所定の閾値以上である場合は、前記所定の演奏エリアのサイズを拡大し、前記演奏速度が所定の閾値以上で無い場合であって前記所定の演奏エリアのサイズが初期サイズである場合は、前記所定の演奏エリアのサイズを維持し、前記演奏速度が所定の閾値以上で無い場合であって前記所定の演奏エリアのサイズが初期サイズより大きいサイズである場合は、前記所定の演奏エリアのサイズを前記初期サイズに縮小するエリアサイズ変更手段と、
を備えていることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、仮想の楽器演奏を行う場合に、演奏エリアを外してしまう操作ミス（打ちミス）を減少させて演奏に習熟していない者でも楽器演奏を楽しむことができるとの効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】（Ａ）は、本発明に係る楽音発生装置の一実施形態の概要を示す図であり、（Ｂ）は、本実施形態における仮想のドラムセットを示した図である。
【図２】図１に示すスティック部のハードウェア構成を示すブロック図である。
【図３】図１に示すスティック部の斜視図である。
【図４】図１に示すカメラユニット部のハードウェア構成を示すブロック図である。
【図５】図１に示すセンターユニット部のハードウェア構成を示すブロック図である。
【図６】モーションセンサ部の垂直方向の加速度の変化を表わした図である。
【図７】各ショットの時間差とエリアサイズ変更のタイミングとの関係を時間軸上で示した説明図である。
【図８】演奏エリアの拡大を模式的に示す説明図である。
【図９】スティック部の処理の流れを示すフローチャートである。
【図１０】カメラユニット部の処理の流れを示すフローチャートである。
【図１１】センターユニット部の処理の流れを示すフローチャートである。
【図１２】演奏動作の速度を検出する手法の変形例に関する説明図である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態について、図面を用いて説明する。なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【００１０】
［楽音発生装置の概要］
まず、図１（Ａ）及び図１（Ｂ）を参照して、本発明に係る楽音発生装置の一実施形態の概要について説明する。
図１（Ａ）は、本実施形態に係る楽音発生装置の装置構成の概要を示す図である。
図１（Ａ）に示すように、本実施形態の楽音発生装置１は、スティック部１０Ａ、１０Ｂと、カメラユニット部２０と、センターユニット部３０と、を含んで構成されている。なお、本実施形態の楽音発生装置１は、２本のスティックを用いた仮想的なドラム演奏を実現するため、２つのスティック部１０Ａ、１０Ｂを備えることとしているが、スティック部の数はこれに限られず、１つとしてもよく、３つ以上としてもよい。なお、以下では、スティック部１０Ａ、１０Ｂを区別しない場合には、両者を総称して「スティック部１０」と称する。
【００１１】
スティック部１０は、長手方向に延在する棒状の部材であり、演奏者が操作する演奏操作子として機能する。すなわち、演奏者は、スティック部１０の一端（根元側）を手に持ち、手首等を中心とした振り上げ振り下ろし動作を行うことにより、演奏動作を行う。
このような演奏者の演奏動作を検知するため、本実施形態では、スティック部１０の他端（先端側）に、加速度センサなどの各種センサ（後述のモーションセンサ部１４、図２参照）が設けられている。本実施形態において、モーションセンサ部１４は、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態を検知する状態検知手段として機能する。
各種センサによって検知された検知結果（例えば各種センサによって取得された生データ等）が、センターユニット部３０に送信されるようになっている。
また、スティック部１０の先端側には、マーカー部１５が設けられており、撮像時にカメラユニット部２０がスティック部１０の先端を容易に判別可能であるように構成されている。
【００１２】
カメラユニット部２０は、スティック部１０を保持して演奏動作を行う演奏者の動画を所定のフレームレートで撮像する撮像部２４（例えば光学式のカメラ、図４参照）等を備える撮像装置である。
本実施形態では、カメラユニット部２０は、状態検知手段としての撮像部２４によって取得された画像からスティック部１０のマーカー部１５の位置を検出することによって、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態としてスティック部１０の演奏動作時における操作位置を検出する。
【００１３】
センターユニット部３０は、スティック部１０から各種センサ（後述のモーションセンサ部１４）によって検知された検知結果を受信すると、この検知結果及び当該検知結果受信時におけるマーカー部１５の位置座標データに応じて、所定の楽音を発音手段である発音部３６のスピーカ等の音声出力部３６２から発音させる。
具体的には、センターユニット部３０は、その記憶手段であるＲＯＭ（後述する）等に、カメラユニット部２０の撮像空間に対応付けて、図１（Ｂ）に示すような仮想のドラムセットＤの位置座標データを記憶している。センターユニット部３０は、当該仮想のドラムセットＤの位置座標データとモーションセンサ部１４による検知結果受信時におけるマーカー部１５の位置座標データとに基づいて、スティック部１０が打撃した楽器を特定し、当該楽器に対応する所定の楽音を発音させる。
また、本実施形態では、センターユニット部３０は、状態検知手段であるモーションセンサ部１４により検知されたスティック部１０（演奏操作子）の状態に基づいて、演奏の速度（テンポ）を検出し、この検出結果に基づいて、演奏エリア５の大きさ（エリアサイズ）を変更するようになっている。
以下、本実施形態に係る楽音発生装置１について具体的に説明する。
【００１４】
［楽音発生装置１の構成］
まず、図２から図５を参照して、本実施形態における楽音発生装置１を構成するスティック部１０、カメラユニット部２０及びセンターユニット部３０の構成について詳細に説明する。
図２は、スティック部１０のハードウェア構成を示すブロック図であり、図３は、スティック部１０の斜視図であり、図４は、カメラユニット部２０のハードウェア構成を示すブロック図であり、図５は、センターユニット部３０のハードウェア構成を示すブロック図である。
【００１５】
［スティック部１０の構成］
図２に示すように、スティック部１０は、ＣＰＵ（Central Processing Unit）等で構成されるスティック制御部１１と、ＲＯＭ（Read Only Memory）１２と、ＲＡＭ（Random Access Memory）１３と、モーションセンサ部１４と、マーカー部１５と、データ通信部１６と、を含んで構成されている。また、スティック部１０は、各部に電源を供給する図示しない電源部を備えている。
【００１６】
ＲＯＭ１２は、スティック制御部１１の実行する各種処理の処理プログラムを格納している。
また、ＲＯＭ１２は、マーカー部１５の発光制御に用いるマーカー特徴情報を格納している。
ここで、マーカー特徴情報とは、同じ撮像空間に複数のマーカー部１５が存在している場合に、各マーカー部１５（本実施形態では、スティック部１０Ａの第１マーカーとスティック部１０Ｂの第２マーカー）を区別するための情報であり、例えば、発光時の形状、大きさ、色相、彩度、あるいは輝度に加え、発光時の点滅スピードなどを用いることができる。スティック部１０が複数ある場合には、各スティック部１０はそれぞれ異なるマーカー特徴情報を有しており、各マーカー特徴情報にしたがった発光制御が行われるようになっている。
【００１７】
ＲＡＭ１３は、モーションセンサ部１４が出力した各種センサ値等、処理において取得され又は生成された値を格納する。
【００１８】
スティック制御部１１は、スティック部１０全体の制御を実行するものである。
例えば、モーションセンサ部１４から検知結果としてのセンサ値（以下、これを「モーションセンサデータ」と称する。）が出力されると、このモーションセンサデータを、データ通信部１６を介してセンターユニット部３０に送信する等、センターユニット部３０との間の通信制御を行う。
また、スティック制御部１１は、マーカー特徴情報をＲＯＭ１２から読み出し、当該マーカー特徴情報にしたがって、マーカー部１５の発光制御を行う。前述のように、複数のスティック部１０Ａ，１０Ｂがある場合には、各スティック部１０Ａ，１０Ｂはそれぞれ異なるマーカー特徴情報にしたがった発光制御が行われる。これは、カメラユニット部２０の撮像部２４によって撮像された画像から、スティック部１０Ａのマーカー部１５（第１マーカー）と、スティック部１０Ｂのマーカー部１５（第２マーカー）とを区別して検出できるようにするためである。すなわち、スティック部１０が複数ある場合に、マーカー部１５が同じように発光すると、カメラユニット部２０で撮影した際に、各マーカー部１５がいずれのスティック部１０のものであるか判別できないおそれがある。このため、スティック部１０Ａのスティック制御部１１及びスティック部１０Ｂのスティック制御部１１がそれぞれ異なるマーカー特徴情報を読み出し、これにしたがってマーカー部１５の発光制御を行うことで、各マーカー部１５の発光を異ならせ、両者の区別を容易としている。
なお、スティック制御部１１によって行われる制御はこれに限定されず、例えば、センターユニット部３０からの指示又はモーションセンサ部１４による検知結果であるセンサ値（モーションセンサデータ）等に基づいて、マーカー部１５の点灯／消灯等の発光制御を行うようにしてもよい。
【００１９】
モーションセンサ部１４は、例えばスティック部１０の内部に設けられ、スティック部１０の状態（例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等）を検知するための各種センサであり、本実施形態では、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態を検知する状態検知手段として機能する。
ここで、モーションセンサ部１４によって検知される演奏者の演奏動作に基づく演奏操作子の状態とは、スティック部１０（演奏操作子）の演奏動作時における振り下ろし速度や、操作位置等である。
モーションセンサ部１４は、検知結果として所定のセンサ値（モーションセンサデータ）を出力する。
モーションセンサ部１４によって検知された検知結果（モーションセンサデータ）は、データ通信部１６を介してセンターユニット部３０に送信される。
ここで、モーションセンサ部１４を構成するセンサとしては、例えば、加速度センサ、角速度センサ及び磁気センサ等を用いることができる。
【００２０】
加速度センサとしては、Ｘ軸、Ｙ軸、Ｚ軸の３つの軸方向のそれぞれに生じた加速度を出力する３軸センサを用いることができる。なお、Ｘ軸、Ｙ軸、Ｚ軸については、図３に示すように、スティック部１０の長手方向の軸と一致する軸をＹ軸とし、加速度センサが配置された基板（図示せず）と平行で、かつ、Ｙ軸と直交する軸をＸ軸とし、Ｘ軸及びＹ軸と直交する軸をＺ軸とすることができる。加速度センサは、Ｘ軸、Ｙ軸、Ｚ軸のそれぞれの成分の加速度を取得するとともに、それぞれの加速度を合成したセンサ合成値を算出することとしてもよい。
本実施形態において、楽音発生装置１を用いて演奏を行う場合、演奏者は、スティック部１０の一端（根元側）を保持し、手首などを中心としてスティック部１０の他端（先端側）を上下動させる振り上げ振り下ろし動作を行うことで、スティック部１０に対して回転運動を生じさせる。ここで、スティック部１０が静止している場合には、加速度センサは、センサ合成値として重力加速度１Ｇに相当する値を算出し、スティック部１０が回転運動をしている場合には、加速度センサは、センサ合成値として重力加速度１Ｇよりも大きな値を算出する。なお、センサ合成値は、例えば、Ｘ軸、Ｙ軸、Ｚ軸の成分の加速度のそれぞれの２乗の総和の平方根を算出することで得られる。
【００２１】
また、角速度センサとしては、例えば、ジャイロスコープを備えたセンサを用いることができる。本実施形態において、角速度センサは、図３に示すように、スティック部１０のＹ軸方向の回転角５０１やスティック部１０のＸ軸方向の回転角５１１を出力するようになっている。
ここで、Ｙ軸方向の回転角５０１は、演奏者がスティック部１０を持ったとき、演奏者から見た前後軸の回転角であるため、ロール角と称することができる。ロール角は、Ｘ−Ｙ平面が、どの程度Ｘ軸に対して傾けられたかを示す角度５０２に対応し、演奏者がスティック部１０を手に持って、手首を軸にして左右に回転させることにより生じる。
また、Ｘ軸方向の回転角５１１は、演奏者がスティック部１０を持ったとき、演奏者から見た左右軸の回転角であるため、ピッチ角と称することができる。ピッチ角は、Ｘ−Ｙ平面が、どの程度Ｙ軸に対して傾けられたかを示す角度５１２に対応し、演奏者がスティック部１０を手に持って、手首を上下方向に振ることにより生じる。
なお、図示は省略しているが、角速度センサは、Ｚ軸方向の回転角も併せて出力することとしてもよい。このとき、Ｚ軸方向の回転角は、基本的にはＸ軸方向の回転角５１１と同じ性質を有し、演奏者がスティック部１０を手に持って、手首を左右方向に振ることにより生じるピッチ角である。
【００２２】
また、磁気センサとしては、図３に示すＸ軸、Ｙ軸、Ｚ軸の３軸方向の磁気センサ値を出力可能なセンサを用いることができる。このような磁気センサからは、磁石による北（磁北）を示すベクトルが、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれについて出力される。出力される各軸方向の成分は、スティック部１０の姿勢（向き）によって異なるため、これらの成分から、スティック制御部１１は、スティック部１０のロール角やＸ軸方向及びＺ軸方向の回転角を算出することができる。
【００２３】
ここで、図６を参照しつつ、モーションセンサ部１４によって検知される検知結果（モーションセンサデータ）について説明する。なお、ここでは、上記各種センサのうち加速度センサによる検知結果を示す。
演奏者がスティック部１０を用いて演奏を行う場合、一般には、現実の楽器（例えば、ドラム）を打つ動作と同様の動作を行う。このような（演奏）動作では、演奏者は、まずスティック部１０を振り上げ、それから仮想的な楽器の打面（演奏面）に向かって振り下ろす。そして実際には打面が存在していないため、演奏者は、スティック部１０を仮想的な楽器に打ちつける寸前に、スティック部１０の動作を止めようとする力を働かせる。
図６は、このようなスティック部１０を用いて演奏動作を行った場合のモーションセンサ部１４の垂直方向の加速度の変化を表わした図であり、スティック部１０からセンターユニット部３０に送信されるモーションセンサデータの一例を示すものである。
なお、垂直方向の加速度とは、水平面に対する垂直方向の加速度を意味し、Ｙ軸成分の加速度から分解し算出することとしてもよく、Ｚ軸方向の加速度（ロール角によってはＸ軸方向の加速度）から分解し算出することとしてもよい。また、図６において、マイナスの加速度は、スティック部１０に加わる下向き方向の加速度を示し、プラスの加速度は、スティック部１０に加わる上向き方向の加速度を示す。
【００２４】
スティック部１０が静止している状態（図６中ａで示される部分）であっても、スティック部１０には重力加速度が加わっているため、重力加速度に逆らう形で静止するスティック部１０のモーションセンサ部１４は、垂直下向き、つまりマイナス方向の一定の加速度を検出する。なお、スティック部１０に加わる加速度が０となるのは、スティック部１０が自由落下している状態のときである。
次に、図６中ｂで示す区間のように、スティック部１０が静止している状態において、振り上げ動作に伴い演奏者がスティック部１０を持ち上げると、重力加速度に対してより逆らう方向に動作することになるため、スティック部１０に加わる加速度はマイナス方向に増加する。その後静止させようとして持ち上げる速度を減少させると、加速度は、マイナス方向からプラスの方向に転換し、振り上げ動作が最高速に到達した時点（図６中のｐ１参照）での加速度は重力加速度のみ（すなわち、重力加速度１Ｇ）になる。
【００２５】
次に、図６中ｃで示す区間のように、振り上げ動作によりスティック部１０が頂点に達すると、演奏者はスティック部１０の振り下ろし動作を行う。振り下ろし動作では、スティック部１０は、重力加速度に従う方向に動作することになるため、スティック部１０に加わる加速度は、重力加速度よりもプラス方向に増加する。その後、振り下ろし動作が最高速に到達すると、スティック部１０には、再び重力加速度のみ（すなわち、重力加速度１Ｇ）が加わる状態となる（図６中のｐ２参照）。
この後、図６中ｄで示す区間のように、再びスティック部１０に対して振り上げ動作を行うと、加わる加速度はマイナス方向に増加し、振り上げ動作を静止させようとすると、加わる加速度はマイナス方向からプラス方向に転じる。
演奏動作が続いている間、演奏者によるスティック部１０の振り上げ振り下ろし動作にしたがって、図６に示したような加速度の変化が繰り返され、この加速度の変化がモーションセンサ部１４によって検知される。
【００２６】
図２に戻り、マーカー部１５は、スティック部１０の先端側に設けられた、例えば、ＬＥＤなどの発光体であり、スティック制御部１１からの制御に応じて発光及び消灯する。
具体的には、マーカー部１５は、スティック制御部１１がＲＯＭ１２から読み出したマーカー特徴情報に基づいて発光する。前述のように、スティック部１０Ａのマーカー特徴情報と、スティック部１０Ｂのマーカー特徴情報とは異なるように設定されている。このため、後述するように、カメラユニット部２０は、スティック部１０Ａのマーカー部（第１マーカー）とスティック部１０Ｂのマーカー部（第２マーカー）とを判別することができ、それぞれの位置座標を、いずれのスティック部１０のものかを区別して取得することができる。
【００２７】
データ通信部１６は、少なくともセンターユニット部３０との間で所定の無線通信を行う。所定の無線通信は、任意の方法で行うこととしてよく、本実施形態では、赤外線通信によりセンターユニット部３０との間での無線通信を行う。なお、データ通信部１６は、カメラユニット部２０との間で無線通信を行うこととしてもよく、また、スティック部１０Ａ及びスティック部１０Ｂとの間で無線通信を行うこととしてもよい。また、データ通信部１６による通信方式は無線通信に限定されない。例えばスティック部１０とセンターユニット部３０等とをケーブルにより接続し、データ通信部１６により有線通信を行う構成としてもよい。
【００２８】
［カメラユニット部２０の構成］
次に、図４を参照して、カメラユニット部２０の構成について説明する。
カメラユニット部２０は、ＣＰＵ等で構成されるカメラ制御部２１と、ＲＯＭ２２と、ＲＡＭ２３と、撮像部２４と、データ通信部２５と、を含んで構成される。また、カメラユニット部２０は、各部に電源を供給する図示しない電源部を備えている。
【００２９】
ＲＯＭ２２は、カメラ制御部２１の実行する各種処理の処理プログラムを格納している。
ＲＡＭ２３は、撮像部２４により得られたマーカー部１５の位置を示すデータ（演奏動作を行う演奏者の画像等）、この位置を示すデータから算出されたスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標のデータ等、処理において取得され又は生成された値を格納する。
また、ＲＡＭ２３は、センターユニット部３０から送信されるマーカー検出条件情報を格納する。マーカー検出条件情報とは、スティック部１０Ａ，１０Ｂのマーカー部１５のそれぞれを区別して検出するための条件であり、センターユニット部３０の本体制御部３１によりマーカー特徴情報から生成されるものである。
【００３０】
カメラ制御部２１は、カメラユニット部２０全体の制御を実行するものである。
本実施形態では、カメラ制御部２１は、例えば、撮像部２４により得られたマーカー部１５の位置を示すデータ（すなわち、スティック部１０を持って演奏動作を行う演奏者の画像等、少なくともマーカー部１５を含むスティック部１０周辺を撮像した画像のデータ）及びマーカー検出条件情報に基づいて、スティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標を算出するマーカー位置検出処理を行う。
すなわち、カメラ制御部２１は、撮像部２４によって得られた画像からスティック部１０のマーカー部１５を検出して、その空間上の位置座標（撮像空間内におけるスティック部１０のマーカー部１５の位置座標）を特定する。また、複数のスティック部１０Ａ，１０Ｂのマーカー部１５が検出された場合には、カメラ制御部２１は、ＲＡＭ２３からマーカー検出条件情報を読み出して、各マーカー部１５がスティック部１０Ａのマーカー部１５（第１マーカー）であるか、スティック部１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）であるかを判別する。
また、カメラ制御部２１は、算出されたスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標のデータ（すなわち、第１マーカー及び第２マーカーの判別結果を伴う各マーカー部１５の位置座標のデータ。以下、これを「マーカー検出位置情報」という。）を、データ通信部２５を介してセンターユニット部３０に送信する通信制御を行う。
【００３１】
撮像部２４は、例えば、光学式のカメラであり、スティック部１０を持って演奏動作を行う演奏者の動画等、少なくともマーカー部１５を含むスティック部１０周辺を所定のフレームレートで撮像する。
【００３２】
撮像部２４により撮像されたフレームごとの撮像データはカメラ制御部２１に出力される。なお、カメラユニット部２０は、撮像空間内におけるスティック部１０のマーカー部１５の位置座標を特定することとしているが、マーカー部１５の位置座標の特定（すなわち、マーカー位置検出処理、図１５参照）については、撮像部２４で行うこととしてもよいし、カメラ制御部２１が行うこととしてもよい。同様に、撮像した画像内のマーカー部１５がいずれのスティック部１０Ａ，１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）であるかの判別についても、撮像部２４において行ってもよいし、カメラ制御部２１において行うこととしてもよい。
【００３３】
データ通信部２５は、少なくともセンターユニット部３０との間で所定の無線通信（例えば、赤外線通信）を行う。本実施形態では、データ通信部２５は、センターユニット部３０からマーカー検出条件情報を受信する。また、データ通信部２５は、マーカー検出位置情報をセンターユニット部３０に送信する。
なお、データ通信部１６は、スティック部１０との間で無線通信を行うこととしてもよい。また、データ通信部２５による通信方式は無線通信に限定されない。例えばカメラユニット部２０とセンターユニット部３０等とをケーブルにより接続し、データ通信部２５により有線通信を行う構成としてもよい。
【００３４】
［センターユニット部３０の構成］
次に、図５を参照して、センターユニット部３０の構成について説明する。
センターユニット部３０は、ＣＰＵ等で構成される本体制御部３１と、ＲＯＭ３２と、ＲＡＭ３３と、スイッチ操作検出回路３４と、表示回路３５と、発音部３６と、データ通信部３７と、を含んで構成される。また、センターユニット部３０は、各部に電源を供給する図示しない電源部を備えている。
【００３５】
ＲＯＭ３２は、本体制御部３１の実行する各種処理の処理プログラムを格納している。
また、ＲＯＭ３２は、種々の音色の波形データ（すなわち各楽器の音源データ）、例えば、バスドラム、ハイハット、スネア、シンバル、タムなど本実施形態において想定される仮想のドラムセットＤ（図１（Ｂ）参照）を構成する打楽器の波形データを、各楽器の空間上の演奏エリア５（図２等参照）の位置座標等と対応付けて格納している。なお、ＲＯＭ３２に格納されている音色の波形データは、これら打楽器に限定されず、例えばフルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器の音色の波形データがＲＯＭ３２に格納されていてもよい。
【００３６】
ＲＡＭ３３は、スティック部１０から受信したスティック部１０の状態に関する情報、すなわち、スティック部１０のモーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の動きに関する検知結果（モーションセンサデータ）等や、状態検知手段であるカメラユニット部２０から受信したスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標のデータ（第１マーカー検出位置情報及び第２マーカー検出位置情報）等を格納する。
また、ＲＡＭ３３は、スティック部１０Ａ，１０Ｂから送信されたスティック部１０Ａのマーカー部１５（第１マーカー）、スティック部１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれのマーカー特徴情報を格納している。
【００３７】
本体制御部３１は、センターユニット部３０全体の制御を実行するものである。
本実施形態では、本体制御部３１は、機能的に見た場合、発音制御部３１１、演奏速度検出部３１２、エリアサイズ変更部３１３等を備えている。これら発音制御部３１１、演奏速度検出部３１２、エリアサイズ変更部３１３等としての機能は、ＣＰＵとＲＯＭ３２等に記憶されたプログラムとの共働によって実現される。
【００３８】
発音制御部３１１は、演奏操作子であるスティック部１０の演奏動作時における操作位置が所定の演奏エリア５内である場合に、所定の楽音を発音する発音手段である発音部３６に対して発音指示を与える発音制御手段である。
すなわち、発音制御部３１１は、状態検知手段であるモーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の状態に関する検知結果（モーションセンサデータ）及びカメラユニット部２０から送られるマーカー検出位置情報に対応して、発音手段である発音部３６に対して所定の楽音を発音するように発音指示の信号（ノートオンイベント）を与える。ここで、ノートオンイベント（発音指示信号）には、ショットタイミング（発音タイミング）、音量、音色（すなわち楽器の種類）等の情報が含まれる。
【００３９】
具体的には、まず、モーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の動きに関する検知結果（モーションセンサデータ）が各スティック部１０（演奏操作子）から送信されると、発音制御部３１１は、これに基づいて、演奏者が持っているスティック部１０の向きや角度等の状態（演奏者の演奏状態と換言することもできる）を検知する。また、発音制御部３１１は、加速度センサが出力する加速度（又はセンサ合成値）に基づいて、スティック部１０による仮想的な楽器の打撃タイミング（ショットタイミング）を検知する。
【００４０】
ここで、図６を参照しつつ、発音制御部３１１によるショットタイミングの検出について説明する。
前述のように、図６は、スティック部１０を用いて演奏動作を行った場合のモーションセンサ部１４の垂直方向の加速度の変化を表わした図である。
演奏者は、仮想的な楽器にスティック部１０を打ちつけた瞬間に楽音が発生することを想定しているため、楽音発生装置１においても、演奏者が想定するタイミングで楽音を発生できるのが望ましい。そこで、本実施形態では、演奏者が仮想的な楽器の打面にスティック部を打ちつける瞬間又はそのわずかに手前で楽音を発音させることとしている。
【００４１】
すなわち、本実施形態においては、センターユニット部３０の発音制御部３１１は、演奏者が仮想的な楽器の打面にスティック部１０を打ちつける瞬間として、振り下ろし動作が行われた後、振り上げ動作が開始された瞬間を検出する。つまり、発音制御部３１１は、図６中ｄで示す区間において、静止状態から、言い換えれば加わる加速度が重力加速度のみとなる時点（図６中のｐ２参照）から、さらにマイナス方向に所定値だけ増加したＡ点を、ショットタイミング（発音タイミング）として検出する。
そして、発音制御部３１１は、このショットタイミングが検出されたときに発音を行うようにノートオンイベント（発音指示信号）を生成する。
【００４２】
また、発音制御部３１１は、モーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の動きに関する検知結果（モーションセンサデータ）に基づいて、演奏者によるスティック部１０の振り下ろし動作の速さや強さ、スティック部１０を振り下ろした位置や角度等を検知する。また、本実施形態では、発音制御部３１１は、発音部３６に対する発音制御を行うにあたって、モーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の動きに関する検知結果（センサ値）のみでなく、カメラユニット部２０から受信したスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）それぞれのマーカー検出位置情報も加味する。
そして、発音制御部３１１は、こうした演奏者の演奏動作に応じたノートオンイベントを生成する。すなわち、モーションセンサデータ及びマーカー検出位置情報に基づいて、どの楽器が、どの程度の速さ、強さで、どのタイミングで叩かれたか等を判断し、この判断結果に合致する楽器種類（音色）に対応する波形データをＲＯＭ３３から読み出すとともに、この所定の楽音を、叩かれた速さや強さに対応する音量で、所定のショットタイミングで発音させるように発音指示信号（ノートオンイベント）を発音部３６に出力する。
【００４３】
演奏速度検出部３１２は、状態検知手段であるモーションセンサ部１４により検知されたスティック部１０（演奏操作子）の状態に基づいて、演奏の速度を検出する演奏速度検出手段である。
本実施形態の楽音発生装置１は、通常の演奏モードの他に必要に応じて演奏エリア５の大きさ（エリアサイズ）を変更する処理が行われる練習モードを選択可能となっており、この練習モードが選択されたときには、演奏速度検出部３１２は、演奏動作間の時間間隔、すなわち各ショットの時間差（図７において「時間差st」）に基づいて演奏の速度を検出するようになっている。
具体的には、演奏速度検出部３１２は、当該ショットと前回のショットとの時間差（図７において「時間差st」）を検出し、検出された時間差をＲＡＭ３３等に記憶させる。そして、演奏速度検出部３１２は、ＲＡＭ３３等に記憶（蓄積）されている直近の所定数分（例えば１０）の時間差（すなわち、例えば図７において時刻ａの時点であれば「時間差st1」から「時間差st10」）について移動平均値を算出する。なお、演奏速度検出部３１２が移動平均値を算出するためにどの程度の数のショット間の時間差を用いるか（すなわち、上記「所定数」をいくつとするか）は特に限定されないが、多くの時間差を用いて移動平均値を算出する方がより正確に演奏速度（演奏のテンポ）を検出することができる。
【００４４】
エリアサイズ変更部３１３は、演奏速度検出手段である演奏速度検出部３１２による検出結果に基づいて、所定の演奏エリア５の大きさ（エリアサイズ）を変更するエリアサイズ変更手段である。
エリアサイズ変更部３１３は、演奏速度検出部３１２によって算出された移動平均値が所定の閾値以下であると判断したときに、図８に示すように、演奏エリア５の大きさ（エリアサイズ）を拡大する。また、算出された移動平均値が所定の閾値を超えていると判断したときには、演奏エリア５の大きさ（エリアサイズ）を維持するか又は縮小する。なお、どの程度の大きさにエリアサイズを変更するかは特に限定されず、仮想の演奏エリア５同士の重なり合いが大きくなり過ぎない程度の範囲で適宜設定することが可能である。
なお、本実施形態では、エリアサイズとして、エリアサイズ変更処理前の初期サイズと拡大後のサイズの２段階で演奏エリア５のエリアサイズを変更するようになっており、ここでいうエリアサイズの縮小とは、一旦エリアサイズが拡大された後のもとの初期サイズへの復帰を意味する。
エリアサイズ変更部３１３が演奏エリア５のエリアサイズを変更するか否かを判断する際の所定の閾値をどの程度に設定するかは特に限定されず、適宜定めることができる。また、事後的に演奏者等によって閾値の調整を行うことができるようにしてもよい。
【００４５】
図７は、各ショットの時間差stとエリアサイズ変更部３１３によるエリアサイズ変更タイミングとの関係を時間軸上で示したものである。
図７に示すように、時刻ａの時点では、演奏の速度（テンポ）は徐々に速くなっているが、演奏速度検出部３１２が、当該時刻ａにおけるショットと前回のショットとの時間差st10から過去に１０個分遡って時間差の移動平均値（すなわち、時間差st1から時間差st10の移動平均値）を算出したときには、時間差st1から時間差st3の値が大きいために移動平均値が大きくなる。エリアサイズ変更部３１３は、この移動平均値が所定の閾値を超えていると判断する場合、時刻ａにおいて演奏エリア５のサイズが初期サイズのままであれば、エリアサイズ変更部３１３は、現在の演奏エリア５のエリアサイズ（すなわち初期サイズ）をそのまま維持する。
これに対して、時刻ｂの時点では、演奏のテンポの速い状態が続いており、演奏速度検出部３１２が、当該時刻ｂにおけるショットと前回のショットとの時間差st13から過去に１０個分遡って時間差の移動平均値（すなわち、時間差st4から時間差st13の移動平均値）を算出したときには、全ての時間差stの値が小さく移動平均値が小さくなる。エリアサイズ変更部３１３は、この移動平均値が所定の閾値以下となったと判断する場合、現在の演奏エリア５のエリアサイズを拡大する。
また、その後演奏のテンポが遅くなり、時刻ｃの時点では、演奏速度検出部３１２が、当該時刻ｃにおけるショットと前回のショットとの時間差st15から過去に１０個分遡って時間差の移動平均値（すなわち、時間差st6から時間差st15の移動平均値）を算出したとき、時間差st14及び時間差st15の値が大きいために移動平均値が大きくなる。エリアサイズ変更部３１３がこの移動平均値が所定の閾値を超えたと判断する場合、演奏エリア５のエリアサイズは時刻ｂにおいてすでに拡大されているため、エリアサイズ変更部３１３は、現在の演奏エリア５のエリアサイズを初期サイズまで縮小する。
【００４６】
また、本体制御部３１は、データ通信部３７を介して、スティック部１０及びカメラユニット部２０との間の通信制御を行う。
本実施形態では、本体制御部３１は、データ通信部３７を介して、スティック部１０からモーションセンサデータを受信するとともに、カメラユニット部２０から第１マーカー及び第１マーカーのマーカー検出位置情報を受信する。
また、本体制御部３１は、マーカー特徴情報に基づいてマーカー検出条件情報を生成し、データ通信部３７を介して、カメラユニット部２０に対して、マーカー検出条件情報を送信する。
【００４７】
スイッチ操作検出回路３４は、スイッチ３４１と接続され、当該スイッチ３４１を介した入力情報を受け付ける。入力情報としては、例えば、発音する楽音の音量や発音する楽音の音色の変更、表示装置３５１の表示の切り替えなどが含まれる。また、本実施形態では、前述のように、通常の演奏モードの他に演奏エリア５のエリアサイズの変更処理を行う練習モードを選択可能となっており、スイッチ３４１からは、モード切り替えの指示を入力することができる。スイッチ３４１を介してモード切り替えの入力情報が入力されると、スイッチ操作検出回路３４はこの入力情報を受け付けて、本体制御部３１において入力情報にしたがったモードの切り替えが行われる。
また、データ通信部３７は、スティック部１０及びカメラユニット部２０との間で所定の無線通信（例えば、赤外線通信）を行う。
【００４８】
また、表示回路３５は、表示装置３５１と接続され、表示装置３５１の表示制御を行う。
表示装置３５１は、例えば液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）等で構成された表示手段である。
【００４９】
発音部３６は、所定の楽音を発音する発音手段であり、楽音データ生成部３６１と、音声出力部３６２とを含んでいる。
楽音データ生成部３６１は、発音制御部３１１からの発音指示にしたがって、ＲＯＭ３２から波形データを読み出し、楽音データを生成するとともに、生成した楽音データをアナログ信号に変換する機能部である。
音声出力部３６２は、例えばスピーカ等であり、楽音データ生成部３６１において生成された楽音データに基づく楽音を発音させるものである。なお、音声出力部３６２は、スピーカに限定されず、ヘッドホン等に音声を出力させる出力端子等であってもよい。
【００５０】
［楽音発生装置１の処理］
次に、図９から図１１を参照して、楽音発生装置１の処理について説明する。
図９は、スティック部１０の処理を示すフローチャートであり、図１０は、カメラユニット部２０の処理を示すフローチャートであり、図１１は、センターユニット部３０の処理を示すフローチャートである。
【００５１】
［スティック部１０の処理］
図９に示すように、スティック部１０のスティック制御部１１は、ＲＯＭ１２に格納されているマーカー特徴情報を読み出す（ステップＳ１）。この処理では、スティック部１０Ａ，１０Ｂのスティック制御部１１は、それぞれ異なるマーカー特徴情報を読み出す。異なるマーカー特徴情報の読み出しは、任意の方法で行うことができ、例えば、スティック部１０Ａ、１０Ｂが直接又はセンターユニット部３０を介して通信することで行うこととしてもよく、また、個々のスティック部１０毎に予め１のマーカー特徴情報を対応付けておき、スティック部１０Ａ、１０Ｂのスティック制御部１１は、それぞれ対応付けられた独自のマーカー特徴情報を読み出すこととしてもよい。
【００５２】
スティック制御部１１は、マーカー特徴情報を読み出すと、当該マーカー特徴情報をＲＡＭ１３に格納するとともに、データ通信部１６を介してセンターユニット部３０に送信する（ステップＳ２）。このとき、スティック制御部１１は、スティック部１０Ａ、１０Ｂをそれぞれ区別可能な識別情報（スティック識別情報）と対応付けて、マーカー特徴情報をセンターユニット部３０に送信する。
また、スティック制御部１１は、マーカー特徴情報にしたがってマーカー部１５を点灯させる（ステップＳ３）。
【００５３】
続いて、スティック制御部１１は、モーションセンサ部１４からモーションセンサデータ、すなわち、各種センサが出力するセンサ値（検知結果）を読み出して、ＲＡＭ１３に格納する（ステップＳ４）。その後、スティック制御部１１は、読み出したモーションセンサデータをスティック識別情報と対応付けて、データ通信部１６を介してセンターユニット部３０に送信する（ステップＳ５）。
スティック制御部１１は、演奏動作が終了したか否かを判断し（ステップＳ６）、演奏動作が終了したと判断する場合（ステップＳ６；ＹＥＳ）には、マーカー部１５を消灯させる（ステップＳ７）。なお、スティック制御部１１が演奏動作終了と判断するのは、例えばモーションセンサ部１４が出力するセンサ値に一定以上の変化があるか否かや、スティック部のスイッチ（図示せず）がＯＦＦとされた場合、センターユニット部３０から演奏終了の信号が送信された場合等である。他方、スティック制御部１１が、演奏動作が終了していないと判断する場合（ステップＳ６；ＮＯ）には、ステップＳ４に戻って処理を繰り返す。
【００５４】
［カメラユニット部２０の処理］
図１０に示すように、カメラユニット部２０のカメラ制御部２１は、センターユニット部３０から送信されるマーカー検出条件情報を取得して、ＲＡＭ２３に格納する。（ステップＳ１１）。なお、マーカー検出条件情報とは、スティック部１０Ａ，１０Ｂのマーカー部１５のそれぞれを検出するための条件であり、マーカー特徴情報から生成される（図１１のステップＳ２３，ステップＳ２４参照）。マーカー特徴情報としては、上述のように、例えば、マーカーの形状、大きさ、色相、彩度、あるいは輝度を用いることができる。
続いて、カメラ制御部２１は、マーカー検出条件情報に基づいて、撮像部２４の各種設定を行う（ステップＳ１２）。
【００５５】
続いて、カメラ制御部２１は、撮像部２４のカメラによってスティック部１０のマーカー部１５等を含む画像を撮像させて、第１マーカー位置検出処理（ステップＳ１３）及び第２マーカー位置検出処理（ステップＳ１４）を行う。これらの処理では、カメラ制御部２１は、撮像部２４によって撮像された画像から、スティック部１０Ａのマーカー部１５（第１マーカー）及びスティック部１０Ｂのマーカー部１５（第２マーカー）それぞれの位置座標、サイズ、角度等のマーカー検出位置情報（本実施形態における演奏操作子の演奏動作時における操作位置の情報）を取得し、ＲＡＭ２３に格納する。
【００５６】
続いて、カメラ制御部２１は、ステップＳ１３及びステップＳ１４で取得したマーカー検出位置情報を、データ通信部２５を介してセンターユニット部３０に送信する（ステップＳ１５）。
カメラ制御部２１は、演奏動作が終了したか否かを判断し（ステップＳ１６）、演奏動作が終了したと判断する場合（ステップＳ１６；ＹＥＳ）には、処理を終了し、演奏動作が終了していないと判断する場合（ステップＳ１６；ＮＯ）には、ステップＳ１３に戻って処理を繰り返す。
【００５７】
［センターユニット部３０の処理］
図１１に示すように、まず、楽音発生装置１の電源がＯＮとなると、センターユニット部３０の本体制御部３１は、時間経過の計時をスタートする（ステップＳ２１）。また、スイッチ３４１からの入力操作によって通常の演奏モード又は練習モードが設定される（ステップＳ２２）。なお、モード設定はスイッチ３４１からの入力で行われる場合に限定されない。また、モード設定について何も入力がない場合には通常の演奏モードとし、練習モードとする場合のみその旨の入力操作が行われるようにしてもよい。
センターユニット部３０の本体制御部３１は、マーカー特徴情報をスティック部１０から受信し、ＲＡＭ３３に格納する（ステップＳ２３）。続いて、本体制御部３１は、マーカー特徴情報及びスイッチ３４１を介して設定された検出条件から、マーカー検出条件情報を生成し、データ通信部３７を介して、カメラユニット部２０に送信する（ステップＳ２４）。
【００５８】
続いて、本体制御部３１は、カメラユニット部２０から、第１マーカー及び第２マーカーそれぞれのマーカー検出位置情報を受信し、ＲＡＭ３３に格納する（ステップＳ２５）。また、本体制御部３１は、スティック部１０Ａ、１０Ｂのそれぞれから、スティック識別情報と対応付けられた姿勢情報、ショット情報及びアクション情報等のモーションセンサデータを受信し、ＲＡＭ３３に格納する（ステップＳ２６）。
【００５９】
続いて、本体制御部３１は、受信したモーションセンサデータに基づいて、ショットありか否かを判断する（ステップＳ２７）。すなわち、例えば図６に示すようなモーションセンサデータである場合、図６に示すＡ点、すなわち、演奏操作子であるスティック部１０を一旦振り上げた後に振り下ろす動作がある場合、当該振り下ろし動作が行われた後、振り上げ動作が開始された瞬間の時点をショットタイミング（発音タイミング）として検出する。ショットなしと判断した場合（ステップＳ２７；ＮＯ）には、本体制御部３１は、ステップＳ２５に戻って処理を繰り返す。
他方、ショットありと判断した場合（ステップＳ２７；ＹＥＳ）には、本体制御部３１は、さらに、モード設定として練習モードが設定されているか否かを判断する（ステップＳ２８）。そして、練習モードが設定されていると判断した場合（ステップＳ２８；ＹＥＳ）には、本体制御部３１（演奏速度検出部３１２）は、当該ショットと前回のショットとの時間差（図７において「時間差st」）を検出し（ステップＳ２９）、検出された時間差をＲＡＭ３３等に記憶させる（ステップＳ３０）。そして、演奏速度検出部３１２は、ＲＡＭ３３等に記憶されている所定数分（例えば１０）の時間差stについて移動平均値を算出する（ステップＳ３１）。
【００６０】
本体制御部３１（エリアサイズ変更部３１３）は、演奏速度検出部３１２によって算出された移動平均値が所定の閾値以下であるか否かを判断する（ステップＳ３２）。そして、算出された移動平均値が所定の閾値以下であると判断した場合（ステップＳ３２；ＹＥＳ）には、エリアサイズ変更部３１３は、仮想の演奏エリア５のエリアサイズを拡大するエリアサイズ変更処理を行う（ステップＳ３３、例えば図７の時刻ｂの時点及び図８参照）。
他方、算出された移動平均値が所定の閾値以下でないと判断した場合（ステップＳ３２；ＮＯ）には、エリアサイズ変更部３１３は、さらに、現在の演奏エリア５のサイズが初期サイズ（拡大前の当初のサイズ）であるか否かを判断する（ステップＳ３４）。そして、現在の演奏エリア５のサイズが初期サイズでない（すなわちすでにエリアサイズが拡大されている）と判断した場合（ステップＳ３４；ＮＯ）には、エリアサイズ変更部３１３は、演奏エリア５のサイズを初期サイズまで縮小する（ステップＳ３５、例えば図７の時刻ｃの時点参照）。また、現在の演奏エリア５のサイズが初期サイズであると判断した場合（ステップＳ３４；ＹＥＳ）には、エリアサイズ変更部３１３は、演奏エリア５のサイズをそのまま維持する（ステップＳ３６、例えば図７の時刻ａの時点参照）。
【００６１】
練習モードが設定されていない場合（ステップＳ２８；ＮＯ）、及び練習モードが設定されている場合においてエリアサイズ変更部３１３により所定のエリアサイズ変更処理が行われた場合（すなわち、ステップＳ３３、ステップＳ３５、ステップＳ３６）には、本体制御部３１（発音制御部３１１）は、マーカー部１５の位置が演奏エリア５内にあるか否かを判断する（ステップＳ３７）。なお、エリアサイズ変更処理が行われた場合には、発音制御部３１１は、変更後のサイズの演奏エリア５（すなわち、図８の下の図において実線で示す範囲）との関係でマーカー部１５の位置を判断する。そして、マーカー部１５の位置が演奏エリア５内にあると判断した場合（ステップＳ３７；ＹＥＳ）には、発音制御部３１１は、ステップＳ２７で検出したショットタイミングにおいて演奏エリア５に対応する楽器の楽音を発音させるように発音指示信号（ノートオンイベント）を生成し、発音部３６に出力する。これにより、スピーカ等の音声出力部３６２から所定の楽音が発音される（ステップＳ３８）。このように演奏エリア５のエリアサイズが変更されている場合には、変更後の演奏エリア５内でショットがあったか否かが判断されるため、マーカー検出位置情報等により示されるスティック部１０（演奏操作子）の操作位置が当初の（初期サイズの）演奏エリア５内にない場合でも、拡大後の演奏エリア５内であれば発音制御部３１１による発音処理が行われる。
所定の楽音が発音された場合、またはショットの操作位置が所定の演奏エリア５でないと判断して（ステップＳ３７；ＮＯ）発音指示を行わなかった場合には、本体制御部３１は、常に演奏動作が終了したか否かを判断し（ステップＳ３９）、演奏動作が終了したと判断した場合（ステップＳ３９；ＹＥＳ）には、楽音発生処理を終了する。また、演奏動作が終了していないと判断した場合（ステップＳ３９；ＮＯ）には、ステップＳ２５に戻って処理を繰り返す。
【００６２】
以上のように、本実施形態の楽音発生装置１によれば、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態を検知する状態検知手段であるモーションセンサ部１４により検知されたスティック部１０（演奏操作子）の状態に基づいて、演奏の速度を検出し、検出された演奏速度に応じて所定の演奏エリア５の大きさを変更する。これにより、現実には何も存在しない空間を叩くことで演奏を行う仮想の楽器演奏を行う装置において、演奏速度が速くなることにより演奏エリア５を外れて本来なら楽音が発音されない打ちミス（操作ミス）となるようなショットが行われた場合でも、演奏者の意図に沿った楽音が発音され、演奏に慣れていない初心者であっても楽音発生装置１による演奏を楽しむことができる。
また、実際に打ちミスを生じていなくても演奏の速度が速くなった場合に演奏エリアを拡大するため、打ちミスによる演奏の中断を未然に防ぐことができる。
また、本実施形態では、演奏動作間の時間間隔に基づいて演奏の速度を検出するため、各ショット間の時間差の移動平均値を算出することで、容易に演奏速度の検出を行うことができる。
また、本実施形態では、練習モードのみでなく、正確なショットを行った場合（すなわち操作位置がすなわち初期サイズの演奏エリア５内である場合）のみ所定の楽音を発音させる通常の演奏を行うモードも備えている。このため、演奏に習熟した者であれば、この通常の演奏モードを選択して演奏を行うことで、正しい操作位置をマスターすることができ、演奏の習熟度に合わせて、正確な演奏ができるように補助することができる。
【００６３】
なお、以上本発明の実施形態について説明したが、本発明は、上記各実施形態に限定されず、その要旨を逸脱しない範囲で、種々変形が可能であることは言うまでもない。
【００６４】
例えば、本実施形態では、楽音発生装置１が、スティック部１０とカメラユニット部２０とセンターユニット部３０とを備えて構成されている場合を例としたが、スティック部１０の各種センサ（モーションセンサ部１４）によってスティック部１０（演奏操作子）の操作位置を検知する場合には、楽音発生装置１が撮像部２４を含むカメラユニット部２０を備えない構成とすることも可能である。
この場合には、例えば、磁気センサ等のモーションセンサ部１４は、スティック部１０の先端が向いている方向や角度等から、スティック部１０の演奏動作時における操作位置を検知する。
【００６５】
また、本実施形態では、スティック部１０の各種センサ（モーションセンサ部１４）が演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態としてスティック部１０の演奏動作時における操作位置を検出する状態検知手段として機能する場合を例としたが、状態検知手段はモーションセンサ部１４に限定されない。
例えば、カメラユニット部２０の撮像部２４が、モーションセンサ部１４に代わって、又はモーションセンサ部１４とともに、演奏者の演奏動作に基づく演奏操作子の状態を検知する状態検知手段として機能してもよい。この場合には、例えば、マーカー検出位置情報等に基づいて、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態としてのショットタイミングのテンポ（演奏速度）を検出する。
【００６６】
また、本実施形態では、演奏速度検出手段である演奏速度検出部３１２が、演奏動作間の時間間隔に基づいて演奏の速度を検出する場合を例として説明したが、演奏の速度を検出する手法はこれに限定されない。例えば、演奏速度検出手段である演奏速度検出部３１２は、所定時間内の演奏動作（ショット）の回数に基づいて前記演奏の速度を検出するものであってもよい。
すなわち、図１２に示すように、現在時刻から所定時間遡った間に何回の演奏動作が行われたか、すなわち何回ショットが行われたかのショットデータの数が、所定の閾値以上である場合に、演奏速度検出手段が演奏速度が速くなったと判断して、エリアサイズ変更手段が演奏エリア５のエリアサイズを拡大するように構成してもよい。この場合、所定時間をどの程度とするか、所定時間内に何回以上の演奏動作があったときにエリアサイズを拡大するかは、特に限定されず、適宜設定することができる。また、演奏者等によって事後的に設定を変更できるようにしてもよい。
このように構成した場合にも、所定時間内の演奏動作の回数をカウントするだけで演奏の速度を検出するため、容易に演奏速度の検出を行うことができる。
【００６７】
また、本実施形態では、演奏速度のみに基づいて演奏エリア５の大きさを変更する場合について説明したが、エリアサイズ変更手段であるエリアサイズ変更部３１３が演奏エリア５を拡大するか否かの判断を行う際に、演奏速度以外の要素を考慮する構成としてもよい。
例えば、モーションセンサ部１４や撮像部２４等の状態検知手段により検知されたスティック部１０（演奏操作子）の状態に基づいて、演奏動作のばらつき度合を検出するばらつき検出手段をさらに備え、エリアサイズ変更部３１３は、演奏速度検出手段による検出結果に加えてばらつき検出手段による検出結果を加味し、両検出結果に基づいて、演奏エリア５のエリアサイズを変更するか否かの判断を行うようにしてもよい。
この場合、ばらつき検出手段は、例えばカメラユニット部２０から受信した第１マーカー及び第１マーカーのマーカー検出位置情報により特定されるショットタイミングにおけるスティック部１０（演奏操作子）の先端部の位置（これを以下「操作位置」という）の座標情報を取得して、スティック部１０（演奏操作子）の演奏動作時における実際の操作位置が、所定の演奏エリア５内に設定されている操作目標位置（例えば演奏エリア５の中心点）からどの程度ずれているかのずれ量のばらつきを、演奏動作のばらつき度合として検出する。そして、演奏速度が速く、演奏動作のばらつき度合いも大きくなっていると判断される場合に、エリアサイズ変更部３１３が演奏エリア５を拡大する。なお、ばらつき度合いの判断手法はここに例示したものに限定されない。例えば、スティック部１０（演奏操作子）の演奏動作時における移動速度（振り上げ振り下ろし速度）のばらつきを、演奏動作のばらつき度合として検出してもよい。
演奏エリア５を拡大すると、打ちミス（操作ミス）を減少させることができる一方で、互いに隣り合う仮想の演奏エリア同士が重なり合って、いずれの楽器を演奏しようとした演奏動作であるのか判別しにくくなるおそれもある。この点、演奏速度に加えて演奏動作のばらつき度合いをも考慮して演奏エリア５のエリアサイズを拡大するか否かを判断する構成とした場合には、演奏速度が速くなっても実際には演奏動作にばらつきがなく、打ちミスを生じるおそれがないような場合には、不必要な演奏エリア５の拡大が行われずに済む。これにより、例えば演奏に習熟した者が演奏速度の速い曲を演奏するような場合に、演奏エリア５の重なり合いを防ぐことができる。
【００６８】
また、本実施形態では、練習モードに設定した場合のみ、演奏速度に応じた演奏エリア５のエリアサイズの変更処理を行うようにしたが、特にモードを分けずに、全ての場合において演奏エリア５のエリアサイズの変更処理を行うようにしてもよい。
【００６９】
また、本実施形態では、一旦演奏エリア５のサイズを拡大した後は、当該変更後のサイズを維持し、演奏速度が遅くなったと判断された場合（すなわち、例えばショット間の時間差の移動平均値が所定の閾値を超えた場合）に、演奏エリア５を初期サイズまで縮小する場合を例としたが、エリアサイズの変更の手法は、これに限定されない。
例えば、一旦演奏エリア５のサイズを拡大した後は、当該ショットが行われた後にすぐに初期のエリアサイズに戻すようにしてもよい。前述のように、演奏エリア５を拡大すると、互いに隣り合う仮想の演奏エリア同士が重なり合って、いずれの楽器を演奏しようとした演奏動作であるのか判別しにくくなるおそれもある。この点、ショット後にエリアサイズを初期サイズに戻すようにすれば、エリアサイズを拡大しておく時間を打ちミスを生じるおそれのある最小限の時間に止めることができる。
【００７０】
また、本実施形態では、演奏エリア５のエリアサイズ変更は、拡大するか、もとの初期サイズに戻すかという１段階しかない場合を例としたが、演奏エリア５のエリアサイズを複数段階で変更可能としてもよい。
この場合には、例えばショット間の時間差の程度に複数の閾値を設定したり、所定時間内のショットデータ数に応じて段階的なレベル分けを行う等により、演奏速度の速さの程度や、演奏動作のばらつき度合い等に基づいて、段階的にエリアサイズの拡大・縮小を行う。
また、演奏の習熟度に応じたレベル分けを行い、例えば習熟度初級を選択すれば演奏エリア５のエリアサイズの拡大率が大きくなって、より広い範囲での打ちミスをサイズ変更後の演奏エリア５内に収めて救済することができ、習熟度上級を選択するとエリアサイズの拡大率が小さくなって、初期サイズから僅かに外れた打ちミスのみを救済するというように、習熟度に応じて段階的にエリアサイズの拡大・縮小を行ってもよい。
このようにした場合には、必要な限度だけ演奏エリア５のエリアサイズを変更することができる。
【００７１】
また、演奏エリア５の変更は、演奏速度が速くなったと判断されたときに、その時点でショットが行われる楽器の演奏エリア５（例えば、スティック部１０の操作位置がスネアドラムの演奏エリア５であればスネアドラムの演奏エリア５）のみエリアサイズを拡大してもよいし、演奏エリア５のエリアサイズを変更する対象をショットが行われる楽器に対応した演奏エリア５のみに限定せず、演奏速度が速くなったときには全ての演奏エリア５を拡大してもよい。例えば演奏速度が速い状態が継続しているような場合には、他の楽器の演奏エリア５をショットする次の演奏動作においても打ちミス（操作ミス）を生じるおそれがあるため、このように全ての演奏エリア５を拡大しておくことで打ちミスを未然に防ぐことが可能となる。
【００７２】
また、上記実施形態でスティック部１０、カメラユニット部２０及びセンターユニット部３０で行うこととしている処理のうちの任意の処理は、他のユニット（スティック部１０、カメラユニット部２０及びセンターユニット部３０）で行うこととしてもよい。
すなわち、例えば、スティック部１０（演奏操作子）のスティック制御部１１が発音制御手段、演奏速度検出手段、エリアサイズ変更手段として機能し、スティック制御部１１において各種センサの検知結果の分析等が行われてもよい。この場合には、状態検知手段としてのモーションセンサ部１４の検知結果（各種センサの生データ等）ではなく、各種センサの検知結果に基づいたノートオンイベント（発音指示の信号）がセンターユニット部３０に送信される。
また、例えばセンターユニット部３０の本体制御部３１において、カメラユニット部２０の撮像部２４が検出したマーカー部１５の位置を示すデータ（すなわち、演奏者等を撮像した画像のデータ）及びマーカー特徴情報に基づいて、スティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）のそれぞれの位置座標を算出する処理を行ってもよい。この場合には、カメラユニット部２０は、単に画像を撮像してセンターユニット部３０に送信すれば足りるため、カメラユニット部２０のＲＡＭ２３にスティック部１０Ａ、１０Ｂのそれぞれのマーカー部１５を識別するためのマーカー検出条件情報を格納しておく必要はない。
【００７３】
また、本実施形態では、状態検知手段としてのモーションセンサ部１４により取得されるモーションセンサデータとして、加速度センサにより計測された加速度のデータのみを例示したが、モーションセンサデータの内容はこれに限定されず、例えば、ジャイロにより角加速度を計測してその計測値を用いるようにしてもよい。
また、本実施形態では、スティック部１０に平行な軸の回りの回転はしないものとして説明したが、これらの回転等についても角加速度センサ等により計測して対応するようにしてもよい。
【００７４】
本実施形態では、楽音発生装置１が、演奏者の演奏動作に基づくスティック部１０（演奏操作子）の状態（例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等）を検知する状態検知手段として、スティック部１０のモーションセンサ部１４を備えている構成としたが、状態検知手段はここに例示したものに限定されず、例えばモーションセンサ部１４として、圧力センサ等を備えていてもよいし、マーカー部１５を検出する手段として、撮像部２４に設けられるような各種イメージセンサの他、レーザー、超音波、その他距離や角度を計測することができる各種センサを用いた検出手段を適用してもよい。
【００７５】
また、本実施形態では、仮想的な打楽器として仮想のドラムセットＤ（図１（Ｂ）参照）を例にとって説明したが、これに限られるものではなく、本発明は、スティック部１０の振り下ろし動作で楽音を発音する木琴など他の楽器に適用することができる。
【００７６】
また、本実施形態では、発音手段である発音部３６がセンターユニット部３０内に設けられている場合を例として説明したが、発音手段はセンターユニット部３０とは別体として構成されていてもよい。この場合には、発音手段とセンターユニット部３０とを有線又は無線で接続し、センターユニット部３０からの指示信号にしたがって発音手段が所定の発音を行うように構成する。
【００７７】
また、本実施形態では、演奏操作子が棒状のスティック部１０である場合を例としたが、演奏操作子はこれに限定されない。箱型等、スティック以外の形状のものでもよく、例えば携帯電話機等の携帯端末装置を演奏操作子として用いてもよい。
楽音発生装置１は、演奏操作子で空間を叩く演奏動作を行うことで所定の楽器の音を発音させるものであり、実際に演奏操作子を楽器の打面に打ち付けるものではないため、携帯端末装置等の精密な電子機器を演奏操作子として用いた場合でも、演奏操作子が破損するおそれがない。
【００７８】
また、本実施形態では、スティック部１０、カメラユニット部２０、センターユニット部３０が、いずれも内部に電源部を備えている構成としたが、スティック部１０、カメラユニット部２０、センターユニット部３０を外部の電源と接続し、外部電源から電源供給を行う構成としてもよい。
【００７９】
以上本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
[請求項１]
演奏操作子と、
前記演奏操作子本体に与えられる演奏操作の状態を検知する状態検知手段と、
演奏操作時における前記演奏操作子の位置が所定の演奏エリアに含まれる場合に、楽音を発音する楽音発生手段に対して発音指示を与える発音指示手段と、
前記状態検知手段により検知された前記演奏操作の状態に基づいて、演奏速度を検出する演奏速度検出手段と、
この演奏速度検出手段による検出結果に基づいて、前記所定の演奏エリアの大きさを変更するエリアサイズ変更手段と、
を備えていることを特徴とする楽音発生装置。
[請求項２]
前記状態検知手段は、演奏操作の状態として当該演奏操作が与えられる時間間隔を検知し、
前記演奏速度検出手段は、当該時間間隔に基づいた前記演奏速度を検出することを特徴とする請求項１に記載の楽音発生装置。
[請求項３]
前記状態検知手段は、演奏操作の状態として所定時間内に当該演奏操作が行われた回数を検知し、
前記演奏速度検出手段は、前記所定時間内に演奏操作が行われた回数に基づいて前記演奏速度を検出するものであることを特徴とする請求項１に記載の楽音発生装置。
[請求項４]
演奏操作時における前記演奏操作子の位置を、前記演奏操作のばらつき度合として検出するばらつき検出手段をさらに備え、
前記エリアサイズ変更手段は、前記演奏速度検出手段による検出結果及び前記ばらつき検出手段による検出結果に基づいて、前記所定の演奏エリアの大きさを変更することを特徴とする請求項１から請求項３のいずれか一項に記載の楽音発生装置。 
【符号の説明】
【００８０】
１        楽音発生装置
１０      スティック部
１４      モーションセンサ部
１５      マーカー部
２０      カメラユニット部
２４      撮像部
３０      センターユニット部
３１      本体制御部
３６      発音部
３１１    発音制御部
３１２    演奏速度検出部
３１３    エリアサイズ変更部
Ｄ        ドラムセット
【図１】
0005974567.tif 000002
【図２】
0005974567.tif 000003
【図３】
0005974567.tif 000004
【図４】
0005974567.tif 000005
【図５】
0005974567.tif 000006
【図６】
0005974567.tif 000007
【図７】
0005974567.tif 000008
【図８】
0005974567.tif 000009
【図９】
0005974567.tif 000010
【図１０】
0005974567.tif 000011
【図１１】
0005974567.tif 000012
【図１２】
0005974567.tif 000013