(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について、図面を用いて説明する。なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【0010】
[楽音発生装置の概要]
まず、
図1(A)及び
図1(B)を参照して、本発明に係る楽音発生装置の一実施形態の概要について説明する。
図1(A)は、本実施形態に係る楽音発生装置の装置構成の概要を示す図である。
図1(A)に示すように、本実施形態の楽音発生装置1は、スティック部10A、10Bと、カメラユニット部20と、センターユニット部30と、を含んで構成されている。なお、本実施形態の楽音発生装置1は、2本のスティックを用いた仮想的なドラム演奏を実現するため、2つのスティック部10A、10Bを備えることとしているが、スティック部の数はこれに限られず、1つとしてもよく、3つ以上としてもよい。なお、以下では、スティック部10A、10Bを区別しない場合には、両者を総称して「スティック部10」と称する。
【0011】
スティック部10は、長手方向に延在する棒状の部材であり、演奏者が操作する演奏操作子として機能する。すなわち、演奏者は、スティック部10の一端(根元側)を手に持ち、手首等を中心とした振り上げ振り下ろし動作を行うことにより、演奏動作を行う。
このような演奏者の演奏動作を検知するため、本実施形態では、スティック部10の他端(先端側)に、加速度センサなどの各種センサ(後述のモーションセンサ部14、
図2参照)が設けられている。本実施形態において、モーションセンサ部14は、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態を検知する状態検知手段として機能する。
各種センサによって検知された検知結果(例えば各種センサによって取得された生データ等)が、センターユニット部30に送信されるようになっている。
また、スティック部10の先端側には、マーカー部15が設けられており、撮像時にカメラユニット部20がスティック部10の先端を容易に判別可能であるように構成されている。
【0012】
カメラユニット部20は、スティック部10を保持して演奏動作を行う演奏者の動画を所定のフレームレートで撮像する撮像部24(例えば光学式のカメラ、
図4参照)等を備える撮像装置である。
本実施形態では、カメラユニット部20は、状態検知手段としての撮像部24によって取得された画像からスティック部10のマーカー部15の位置を検出することによって、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態としてスティック部10の演奏動作時における操作位置を検出する。
【0013】
センターユニット部30は、スティック部10から各種センサ(後述のモーションセンサ部14)によって検知された検知結果を受信すると、この検知結果及び当該検知結果受信時におけるマーカー部15の位置座標データに応じて、所定の楽音を発音手段である発音部36のスピーカ等の音声出力部362から発音させる。
具体的には、センターユニット部30は、その記憶手段であるROM(後述する)等に、カメラユニット部20の撮像空間に対応付けて、
図1(B)に示すような仮想のドラムセットDの位置座標データを記憶している。センターユニット部30は、当該仮想のドラムセットDの位置座標データとモーションセンサ部14による検知結果受信時におけるマーカー部15の位置座標データとに基づいて、スティック部10が打撃した楽器を特定し、当該楽器に対応する所定の楽音を発音させる。
また、本実施形態では、センターユニット部30は、状態検知手段であるモーションセンサ部14により検知されたスティック部10(演奏操作子)の状態に基づいて、演奏の速度(テンポ)を検出し、この検出結果に基づいて、演奏エリア5の大きさ(エリアサイズ)を変更するようになっている。
以下、本実施形態に係る楽音発生装置1について具体的に説明する。
【0014】
[楽音発生装置1の構成]
まず、
図2から
図5を参照して、本実施形態における楽音発生装置1を構成するスティック部10、カメラユニット部20及びセンターユニット部30の構成について詳細に説明する。
図2は、スティック部10のハードウェア構成を示すブロック図であり、
図3は、スティック部10の斜視図であり、
図4は、カメラユニット部20のハードウェア構成を示すブロック図であり、
図5は、センターユニット部30のハードウェア構成を示すブロック図である。
【0015】
[スティック部10の構成]
図2に示すように、スティック部10は、CPU(Central Processing Unit)等で構成されるスティック制御部11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、モーションセンサ部14と、マーカー部15と、データ通信部16と、を含んで構成されている。また、スティック部10は、各部に電源を供給する図示しない電源部を備えている。
【0016】
ROM12は、スティック制御部11の実行する各種処理の処理プログラムを格納している。
また、ROM12は、マーカー部15の発光制御に用いるマーカー特徴情報を格納している。
ここで、マーカー特徴情報とは、同じ撮像空間に複数のマーカー部15が存在している場合に、各マーカー部15(本実施形態では、スティック部10Aの第1マーカーとスティック部10Bの第2マーカー)を区別するための情報であり、例えば、発光時の形状、大きさ、色相、彩度、あるいは輝度に加え、発光時の点滅スピードなどを用いることができる。スティック部10が複数ある場合には、各スティック部10はそれぞれ異なるマーカー特徴情報を有しており、各マーカー特徴情報にしたがった発光制御が行われるようになっている。
【0017】
RAM13は、モーションセンサ部14が出力した各種センサ値等、処理において取得され又は生成された値を格納する。
【0018】
スティック制御部11は、スティック部10全体の制御を実行するものである。
例えば、モーションセンサ部14から検知結果としてのセンサ値(以下、これを「モーションセンサデータ」と称する。)が出力されると、このモーションセンサデータを、データ通信部16を介してセンターユニット部30に送信する等、センターユニット部30との間の通信制御を行う。
また、スティック制御部11は、マーカー特徴情報をROM12から読み出し、当該マーカー特徴情報にしたがって、マーカー部15の発光制御を行う。前述のように、複数のスティック部10A,10Bがある場合には、各スティック部10A,10Bはそれぞれ異なるマーカー特徴情報にしたがった発光制御が行われる。これは、カメラユニット部20の撮像部24によって撮像された画像から、スティック部10Aのマーカー部15(第1マーカー)と、スティック部10Bのマーカー部15(第2マーカー)とを区別して検出できるようにするためである。すなわち、スティック部10が複数ある場合に、マーカー部15が同じように発光すると、カメラユニット部20で撮影した際に、各マーカー部15がいずれのスティック部10のものであるか判別できないおそれがある。このため、スティック部10Aのスティック制御部11及びスティック部10Bのスティック制御部11がそれぞれ異なるマーカー特徴情報を読み出し、これにしたがってマーカー部15の発光制御を行うことで、各マーカー部15の発光を異ならせ、両者の区別を容易としている。
なお、スティック制御部11によって行われる制御はこれに限定されず、例えば、センターユニット部30からの指示又はモーションセンサ部14による検知結果であるセンサ値(モーションセンサデータ)等に基づいて、マーカー部15の点灯/消灯等の発光制御を行うようにしてもよい。
【0019】
モーションセンサ部14は、例えばスティック部10の内部に設けられ、スティック部10の状態(例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等)を検知するための各種センサであり、本実施形態では、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態を検知する状態検知手段として機能する。
ここで、モーションセンサ部14によって検知される演奏者の演奏動作に基づく演奏操作子の状態とは、スティック部10(演奏操作子)の演奏動作時における振り下ろし速度や、操作位置等である。
モーションセンサ部14は、検知結果として所定のセンサ値(モーションセンサデータ)を出力する。
モーションセンサ部14によって検知された検知結果(モーションセンサデータ)は、データ通信部16を介してセンターユニット部30に送信される。
ここで、モーションセンサ部14を構成するセンサとしては、例えば、加速度センサ、角速度センサ及び磁気センサ等を用いることができる。
【0020】
加速度センサとしては、X軸、Y軸、Z軸の3つの軸方向のそれぞれに生じた加速度を出力する3軸センサを用いることができる。なお、X軸、Y軸、Z軸については、
図3に示すように、スティック部10の長手方向の軸と一致する軸をY軸とし、加速度センサが配置された基板(図示せず)と平行で、かつ、Y軸と直交する軸をX軸とし、X軸及びY軸と直交する軸をZ軸とすることができる。加速度センサは、X軸、Y軸、Z軸のそれぞれの成分の加速度を取得するとともに、それぞれの加速度を合成したセンサ合成値を算出することとしてもよい。
本実施形態において、楽音発生装置1を用いて演奏を行う場合、演奏者は、スティック部10の一端(根元側)を保持し、手首などを中心としてスティック部10の他端(先端側)を上下動させる振り上げ振り下ろし動作を行うことで、スティック部10に対して回転運動を生じさせる。ここで、スティック部10が静止している場合には、加速度センサは、センサ合成値として重力加速度1Gに相当する値を算出し、スティック部10が回転運動をしている場合には、加速度センサは、センサ合成値として重力加速度1Gよりも大きな値を算出する。なお、センサ合成値は、例えば、X軸、Y軸、Z軸の成分の加速度のそれぞれの2乗の総和の平方根を算出することで得られる。
【0021】
また、角速度センサとしては、例えば、ジャイロスコープを備えたセンサを用いることができる。本実施形態において、角速度センサは、
図3に示すように、スティック部10のY軸方向の回転角501やスティック部10のX軸方向の回転角511を出力するようになっている。
ここで、Y軸方向の回転角501は、演奏者がスティック部10を持ったとき、演奏者から見た前後軸の回転角であるため、ロール角と称することができる。ロール角は、X−Y平面が、どの程度X軸に対して傾けられたかを示す角度502に対応し、演奏者がスティック部10を手に持って、手首を軸にして左右に回転させることにより生じる。
また、X軸方向の回転角511は、演奏者がスティック部10を持ったとき、演奏者から見た左右軸の回転角であるため、ピッチ角と称することができる。ピッチ角は、X−Y平面が、どの程度Y軸に対して傾けられたかを示す角度512に対応し、演奏者がスティック部10を手に持って、手首を上下方向に振ることにより生じる。
なお、図示は省略しているが、角速度センサは、Z軸方向の回転角も併せて出力することとしてもよい。このとき、Z軸方向の回転角は、基本的にはX軸方向の回転角511と同じ性質を有し、演奏者がスティック部10を手に持って、手首を左右方向に振ることにより生じるピッチ角である。
【0022】
また、磁気センサとしては、
図3に示すX軸、Y軸、Z軸の3軸方向の磁気センサ値を出力可能なセンサを用いることができる。このような磁気センサからは、磁石による北(磁北)を示すベクトルが、X軸方向、Y軸方向、Z軸方向のそれぞれについて出力される。出力される各軸方向の成分は、スティック部10の姿勢(向き)によって異なるため、これらの成分から、スティック制御部11は、スティック部10のロール角やX軸方向及びZ軸方向の回転角を算出することができる。
【0023】
ここで、
図6を参照しつつ、モーションセンサ部14によって検知される検知結果(モーションセンサデータ)について説明する。なお、ここでは、上記各種センサのうち加速度センサによる検知結果を示す。
演奏者がスティック部10を用いて演奏を行う場合、一般には、現実の楽器(例えば、ドラム)を打つ動作と同様の動作を行う。このような(演奏)動作では、演奏者は、まずスティック部10を振り上げ、それから仮想的な楽器の打面(演奏面)に向かって振り下ろす。そして実際には打面が存在していないため、演奏者は、スティック部10を仮想的な楽器に打ちつける寸前に、スティック部10の動作を止めようとする力を働かせる。
図6は、このようなスティック部10を用いて演奏動作を行った場合のモーションセンサ部14の垂直方向の加速度の変化を表わした図であり、スティック部10からセンターユニット部30に送信されるモーションセンサデータの一例を示すものである。
なお、垂直方向の加速度とは、水平面に対する垂直方向の加速度を意味し、Y軸成分の加速度から分解し算出することとしてもよく、Z軸方向の加速度(ロール角によってはX軸方向の加速度)から分解し算出することとしてもよい。また、
図6において、マイナスの加速度は、スティック部10に加わる下向き方向の加速度を示し、プラスの加速度は、スティック部10に加わる上向き方向の加速度を示す。
【0024】
スティック部10が静止している状態(
図6中aで示される部分)であっても、スティック部10には重力加速度が加わっているため、重力加速度に逆らう形で静止するスティック部10のモーションセンサ部14は、垂直下向き、つまりマイナス方向の一定の加速度を検出する。なお、スティック部10に加わる加速度が0となるのは、スティック部10が自由落下している状態のときである。
次に、
図6中bで示す区間のように、スティック部10が静止している状態において、振り上げ動作に伴い演奏者がスティック部10を持ち上げると、重力加速度に対してより逆らう方向に動作することになるため、スティック部10に加わる加速度はマイナス方向に増加する。その後静止させようとして持ち上げる速度を減少させると、加速度は、マイナス方向からプラスの方向に転換し、振り上げ動作が最高速に到達した時点(
図6中のp1参照)での加速度は重力加速度のみ(すなわち、重力加速度1G)になる。
【0025】
次に、
図6中cで示す区間のように、振り上げ動作によりスティック部10が頂点に達すると、演奏者はスティック部10の振り下ろし動作を行う。振り下ろし動作では、スティック部10は、重力加速度に従う方向に動作することになるため、スティック部10に加わる加速度は、重力加速度よりもプラス方向に増加する。その後、振り下ろし動作が最高速に到達すると、スティック部10には、再び重力加速度のみ(すなわち、重力加速度1G)が加わる状態となる(
図6中のp2参照)。
この後、
図6中dで示す区間のように、再びスティック部10に対して振り上げ動作を行うと、加わる加速度はマイナス方向に増加し、振り上げ動作を静止させようとすると、加わる加速度はマイナス方向からプラス方向に転じる。
演奏動作が続いている間、演奏者によるスティック部10の振り上げ振り下ろし動作にしたがって、
図6に示したような加速度の変化が繰り返され、この加速度の変化がモーションセンサ部14によって検知される。
【0026】
図2に戻り、マーカー部15は、スティック部10の先端側に設けられた、例えば、LEDなどの発光体であり、スティック制御部11からの制御に応じて発光及び消灯する。
具体的には、マーカー部15は、スティック制御部11がROM12から読み出したマーカー特徴情報に基づいて発光する。前述のように、スティック部10Aのマーカー特徴情報と、スティック部10Bのマーカー特徴情報とは異なるように設定されている。このため、後述するように、カメラユニット部20は、スティック部10Aのマーカー部(第1マーカー)とスティック部10Bのマーカー部(第2マーカー)とを判別することができ、それぞれの位置座標を、いずれのスティック部10のものかを区別して取得することができる。
【0027】
データ通信部16は、少なくともセンターユニット部30との間で所定の無線通信を行う。所定の無線通信は、任意の方法で行うこととしてよく、本実施形態では、赤外線通信によりセンターユニット部30との間での無線通信を行う。なお、データ通信部16は、カメラユニット部20との間で無線通信を行うこととしてもよく、また、スティック部10A及びスティック部10Bとの間で無線通信を行うこととしてもよい。また、データ通信部16による通信方式は無線通信に限定されない。例えばスティック部10とセンターユニット部30等とをケーブルにより接続し、データ通信部16により有線通信を行う構成としてもよい。
【0028】
[カメラユニット部20の構成]
次に、
図4を参照して、カメラユニット部20の構成について説明する。
カメラユニット部20は、CPU等で構成されるカメラ制御部21と、ROM22と、RAM23と、撮像部24と、データ通信部25と、を含んで構成される。また、カメラユニット部20は、各部に電源を供給する図示しない電源部を備えている。
【0029】
ROM22は、カメラ制御部21の実行する各種処理の処理プログラムを格納している。
RAM23は、撮像部24により得られたマーカー部15の位置を示すデータ(演奏動作を行う演奏者の画像等)、この位置を示すデータから算出されたスティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれの位置座標のデータ等、処理において取得され又は生成された値を格納する。
また、RAM23は、センターユニット部30から送信されるマーカー検出条件情報を格納する。マーカー検出条件情報とは、スティック部10A,10Bのマーカー部15のそれぞれを区別して検出するための条件であり、センターユニット部30の本体制御部31によりマーカー特徴情報から生成されるものである。
【0030】
カメラ制御部21は、カメラユニット部20全体の制御を実行するものである。
本実施形態では、カメラ制御部21は、例えば、撮像部24により得られたマーカー部15の位置を示すデータ(すなわち、スティック部10を持って演奏動作を行う演奏者の画像等、少なくともマーカー部15を含むスティック部10周辺を撮像した画像のデータ)及びマーカー検出条件情報に基づいて、スティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれの位置座標を算出するマーカー位置検出処理を行う。
すなわち、カメラ制御部21は、撮像部24によって得られた画像からスティック部10のマーカー部15を検出して、その空間上の位置座標(撮像空間内におけるスティック部10のマーカー部15の位置座標)を特定する。また、複数のスティック部10A,10Bのマーカー部15が検出された場合には、カメラ制御部21は、RAM23からマーカー検出条件情報を読み出して、各マーカー部15がスティック部10Aのマーカー部15(第1マーカー)であるか、スティック部10Bのマーカー部15(第1マーカー及び第2マーカー)であるかを判別する。
また、カメラ制御部21は、算出されたスティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれの位置座標のデータ(すなわち、第1マーカー及び第2マーカーの判別結果を伴う各マーカー部15の位置座標のデータ。以下、これを「マーカー検出位置情報」という。)を、データ通信部25を介してセンターユニット部30に送信する通信制御を行う。
【0031】
撮像部24は、例えば、光学式のカメラであり、スティック部10を持って演奏動作を行う演奏者の動画等、少なくともマーカー部15を含むスティック部10周辺を所定のフレームレートで撮像する。
【0032】
撮像部24により撮像されたフレームごとの撮像データはカメラ制御部21に出力される。なお、カメラユニット部20は、撮像空間内におけるスティック部10のマーカー部15の位置座標を特定することとしているが、マーカー部15の位置座標の特定(すなわち、マーカー位置検出処理、
図15参照)については、撮像部24で行うこととしてもよいし、カメラ制御部21が行うこととしてもよい。同様に、撮像した画像内のマーカー部15がいずれのスティック部10A,10Bのマーカー部15(第1マーカー及び第2マーカー)であるかの判別についても、撮像部24において行ってもよいし、カメラ制御部21において行うこととしてもよい。
【0033】
データ通信部25は、少なくともセンターユニット部30との間で所定の無線通信(例えば、赤外線通信)を行う。本実施形態では、データ通信部25は、センターユニット部30からマーカー検出条件情報を受信する。また、データ通信部25は、マーカー検出位置情報をセンターユニット部30に送信する。
なお、データ通信部16は、スティック部10との間で無線通信を行うこととしてもよい。また、データ通信部25による通信方式は無線通信に限定されない。例えばカメラユニット部20とセンターユニット部30等とをケーブルにより接続し、データ通信部25により有線通信を行う構成としてもよい。
【0034】
[センターユニット部30の構成]
次に、
図5を参照して、センターユニット部30の構成について説明する。
センターユニット部30は、CPU等で構成される本体制御部31と、ROM32と、RAM33と、スイッチ操作検出回路34と、表示回路35と、発音部36と、データ通信部37と、を含んで構成される。また、センターユニット部30は、各部に電源を供給する図示しない電源部を備えている。
【0035】
ROM32は、本体制御部31の実行する各種処理の処理プログラムを格納している。
また、ROM32は、種々の音色の波形データ(すなわち各楽器の音源データ)、例えば、バスドラム、ハイハット、スネア、シンバル、タムなど本実施形態において想定される仮想のドラムセットD(
図1(B)参照)を構成する打楽器の波形データを、各楽器の空間上の演奏エリア5(
図2等参照)の位置座標等と対応付けて格納している。なお、ROM32に格納されている音色の波形データは、これら打楽器に限定されず、例えばフルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器の音色の波形データがROM32に格納されていてもよい。
【0036】
RAM33は、スティック部10から受信したスティック部10の状態に関する情報、すなわち、スティック部10のモーションセンサ部14によって検知されたスティック部10(演奏操作子)の動きに関する検知結果(モーションセンサデータ)等や、状態検知手段であるカメラユニット部20から受信したスティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれの位置座標のデータ(第1マーカー検出位置情報及び第2マーカー検出位置情報)等を格納する。
また、RAM33は、スティック部10A,10Bから送信されたスティック部10Aのマーカー部15(第1マーカー)、スティック部10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれのマーカー特徴情報を格納している。
【0037】
本体制御部31は、センターユニット部30全体の制御を実行するものである。
本実施形態では、本体制御部31は、機能的に見た場合、発音制御部311、演奏速度検出部312、エリアサイズ変更部313等を備えている。これら発音制御部311、演奏速度検出部312、エリアサイズ変更部313等としての機能は、CPUとROM32等に記憶されたプログラムとの共働によって実現される。
【0038】
発音制御部311は、演奏操作子であるスティック部10の演奏動作時における操作位置が所定の演奏エリア5内である場合に、所定の楽音を発音する発音手段である発音部36に対して発音指示を与える発音制御手段である。
すなわち、発音制御部311は、状態検知手段であるモーションセンサ部14によって検知されたスティック部10(演奏操作子)の状態に関する検知結果(モーションセンサデータ)及びカメラユニット部20から送られるマーカー検出位置情報に対応して、発音手段である発音部36に対して所定の楽音を発音するように発音指示の信号(ノートオンイベント)を与える。ここで、ノートオンイベント(発音指示信号)には、ショットタイミング(発音タイミング)、音量、音色(すなわち楽器の種類)等の情報が含まれる。
【0039】
具体的には、まず、モーションセンサ部14によって検知されたスティック部10(演奏操作子)の動きに関する検知結果(モーションセンサデータ)が各スティック部10(演奏操作子)から送信されると、発音制御部311は、これに基づいて、演奏者が持っているスティック部10の向きや角度等の状態(演奏者の演奏状態と換言することもできる)を検知する。また、発音制御部311は、加速度センサが出力する加速度(又はセンサ合成値)に基づいて、スティック部10による仮想的な楽器の打撃タイミング(ショットタイミング)を検知する。
【0040】
ここで、
図6を参照しつつ、発音制御部311によるショットタイミングの検出について説明する。
前述のように、
図6は、スティック部10を用いて演奏動作を行った場合のモーションセンサ部14の垂直方向の加速度の変化を表わした図である。
演奏者は、仮想的な楽器にスティック部10を打ちつけた瞬間に楽音が発生することを想定しているため、楽音発生装置1においても、演奏者が想定するタイミングで楽音を発生できるのが望ましい。そこで、本実施形態では、演奏者が仮想的な楽器の打面にスティック部を打ちつける瞬間又はそのわずかに手前で楽音を発音させることとしている。
【0041】
すなわち、本実施形態においては、センターユニット部30の発音制御部311は、演奏者が仮想的な楽器の打面にスティック部10を打ちつける瞬間として、振り下ろし動作が行われた後、振り上げ動作が開始された瞬間を検出する。つまり、発音制御部311は、
図6中dで示す区間において、静止状態から、言い換えれば加わる加速度が重力加速度のみとなる時点(
図6中のp2参照)から、さらにマイナス方向に所定値だけ増加したA点を、ショットタイミング(発音タイミング)として検出する。
そして、発音制御部311は、このショットタイミングが検出されたときに発音を行うようにノートオンイベント(発音指示信号)を生成する。
【0042】
また、発音制御部311は、モーションセンサ部14によって検知されたスティック部10(演奏操作子)の動きに関する検知結果(モーションセンサデータ)に基づいて、演奏者によるスティック部10の振り下ろし動作の速さや強さ、スティック部10を振り下ろした位置や角度等を検知する。また、本実施形態では、発音制御部311は、発音部36に対する発音制御を行うにあたって、モーションセンサ部14によって検知されたスティック部10(演奏操作子)の動きに関する検知結果(センサ値)のみでなく、カメラユニット部20から受信したスティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)それぞれのマーカー検出位置情報も加味する。
そして、発音制御部311は、こうした演奏者の演奏動作に応じたノートオンイベントを生成する。すなわち、モーションセンサデータ及びマーカー検出位置情報に基づいて、どの楽器が、どの程度の速さ、強さで、どのタイミングで叩かれたか等を判断し、この判断結果に合致する楽器種類(音色)に対応する波形データをROM33から読み出すとともに、この所定の楽音を、叩かれた速さや強さに対応する音量で、所定のショットタイミングで発音させるように発音指示信号(ノートオンイベント)を発音部36に出力する。
【0043】
演奏速度検出部312は、状態検知手段であるモーションセンサ部14により検知されたスティック部10(演奏操作子)の状態に基づいて、演奏の速度を検出する演奏速度検出手段である。
本実施形態の楽音発生装置1は、通常の演奏モードの他に必要に応じて演奏エリア5の大きさ(エリアサイズ)を変更する処理が行われる練習モードを選択可能となっており、この練習モードが選択されたときには、演奏速度検出部312は、演奏動作間の時間間隔、すなわち各ショットの時間差(
図7において「時間差st」)に基づいて演奏の速度を検出するようになっている。
具体的には、演奏速度検出部312は、当該ショットと前回のショットとの時間差(
図7において「時間差st」)を検出し、検出された時間差をRAM33等に記憶させる。そして、演奏速度検出部312は、RAM33等に記憶(蓄積)されている直近の所定数分(例えば10)の時間差(すなわち、例えば
図7において時刻aの時点であれば「時間差st1」から「時間差st10」)について移動平均値を算出する。なお、演奏速度検出部312が移動平均値を算出するためにどの程度の数のショット間の時間差を用いるか(すなわち、上記「所定数」をいくつとするか)は特に限定されないが、多くの時間差を用いて移動平均値を算出する方がより正確に演奏速度(演奏のテンポ)を検出することができる。
【0044】
エリアサイズ変更部313は、演奏速度検出手段である演奏速度検出部312による検出結果に基づいて、所定の演奏エリア5の大きさ(エリアサイズ)を変更するエリアサイズ変更手段である。
エリアサイズ変更部313は、演奏速度検出部312によって算出された移動平均値が所定の閾値以下であると判断したときに、
図8に示すように、演奏エリア5の大きさ(エリアサイズ)を拡大する。また、算出された移動平均値が所定の閾値を超えていると判断したときには、演奏エリア5の大きさ(エリアサイズ)を維持するか又は縮小する。なお、どの程度の大きさにエリアサイズを変更するかは特に限定されず、仮想の演奏エリア5同士の重なり合いが大きくなり過ぎない程度の範囲で適宜設定することが可能である。
なお、本実施形態では、エリアサイズとして、エリアサイズ変更処理前の初期サイズと拡大後のサイズの2段階で演奏エリア5のエリアサイズを変更するようになっており、ここでいうエリアサイズの縮小とは、一旦エリアサイズが拡大された後のもとの初期サイズへの復帰を意味する。
エリアサイズ変更部313が演奏エリア5のエリアサイズを変更するか否かを判断する際の所定の閾値をどの程度に設定するかは特に限定されず、適宜定めることができる。また、事後的に演奏者等によって閾値の調整を行うことができるようにしてもよい。
【0045】
図7は、各ショットの時間差stとエリアサイズ変更部313によるエリアサイズ変更タイミングとの関係を時間軸上で示したものである。
図7に示すように、時刻aの時点では、演奏の速度(テンポ)は徐々に速くなっているが、演奏速度検出部312が、当該時刻aにおけるショットと前回のショットとの時間差st10から過去に10個分遡って時間差の移動平均値(すなわち、時間差st1から時間差st10の移動平均値)を算出したときには、時間差st1から時間差st3の値が大きいために移動平均値が大きくなる。エリアサイズ変更部313は、この移動平均値が所定の閾値を超えていると判断する場合、時刻aにおいて演奏エリア5のサイズが初期サイズのままであれば、エリアサイズ変更部313は、現在の演奏エリア5のエリアサイズ(すなわち初期サイズ)をそのまま維持する。
これに対して、時刻bの時点では、演奏のテンポの速い状態が続いており、演奏速度検出部312が、当該時刻bにおけるショットと前回のショットとの時間差st13から過去に10個分遡って時間差の移動平均値(すなわち、時間差st4から時間差st13の移動平均値)を算出したときには、全ての時間差stの値が小さく移動平均値が小さくなる。エリアサイズ変更部313は、この移動平均値が所定の閾値以下となったと判断する場合、現在の演奏エリア5のエリアサイズを拡大する。
また、その後演奏のテンポが遅くなり、時刻cの時点では、演奏速度検出部312が、当該時刻cにおけるショットと前回のショットとの時間差st15から過去に10個分遡って時間差の移動平均値(すなわち、時間差st6から時間差st15の移動平均値)を算出したとき、時間差st14及び時間差st15の値が大きいために移動平均値が大きくなる。エリアサイズ変更部313がこの移動平均値が所定の閾値を超えたと判断する場合、演奏エリア5のエリアサイズは時刻bにおいてすでに拡大されているため、エリアサイズ変更部313は、現在の演奏エリア5のエリアサイズを初期サイズまで縮小する。
【0046】
また、本体制御部31は、データ通信部37を介して、スティック部10及びカメラユニット部20との間の通信制御を行う。
本実施形態では、本体制御部31は、データ通信部37を介して、スティック部10からモーションセンサデータを受信するとともに、カメラユニット部20から第1マーカー及び第1マーカーのマーカー検出位置情報を受信する。
また、本体制御部31は、マーカー特徴情報に基づいてマーカー検出条件情報を生成し、データ通信部37を介して、カメラユニット部20に対して、マーカー検出条件情報を送信する。
【0047】
スイッチ操作検出回路34は、スイッチ341と接続され、当該スイッチ341を介した入力情報を受け付ける。入力情報としては、例えば、発音する楽音の音量や発音する楽音の音色の変更、表示装置351の表示の切り替えなどが含まれる。また、本実施形態では、前述のように、通常の演奏モードの他に演奏エリア5のエリアサイズの変更処理を行う練習モードを選択可能となっており、スイッチ341からは、モード切り替えの指示を入力することができる。スイッチ341を介してモード切り替えの入力情報が入力されると、スイッチ操作検出回路34はこの入力情報を受け付けて、本体制御部31において入力情報にしたがったモードの切り替えが行われる。
また、データ通信部37は、スティック部10及びカメラユニット部20との間で所定の無線通信(例えば、赤外線通信)を行う。
【0048】
また、表示回路35は、表示装置351と接続され、表示装置351の表示制御を行う。
表示装置351は、例えば液晶ディスプレイ(LCD:Liquid Crystal Display)等で構成された表示手段である。
【0049】
発音部36は、所定の楽音を発音する発音手段であり、楽音データ生成部361と、音声出力部362とを含んでいる。
楽音データ生成部361は、発音制御部311からの発音指示にしたがって、ROM32から波形データを読み出し、楽音データを生成するとともに、生成した楽音データをアナログ信号に変換する機能部である。
音声出力部362は、例えばスピーカ等であり、楽音データ生成部361において生成された楽音データに基づく楽音を発音させるものである。なお、音声出力部362は、スピーカに限定されず、ヘッドホン等に音声を出力させる出力端子等であってもよい。
【0050】
[楽音発生装置1の処理]
次に、
図9から
図11を参照して、楽音発生装置1の処理について説明する。
図9は、スティック部10の処理を示すフローチャートであり、
図10は、カメラユニット部20の処理を示すフローチャートであり、
図11は、センターユニット部30の処理を示すフローチャートである。
【0051】
[スティック部10の処理]
図9に示すように、スティック部10のスティック制御部11は、ROM12に格納されているマーカー特徴情報を読み出す(ステップS1)。この処理では、スティック部10A,10Bのスティック制御部11は、それぞれ異なるマーカー特徴情報を読み出す。異なるマーカー特徴情報の読み出しは、任意の方法で行うことができ、例えば、スティック部10A、10Bが直接又はセンターユニット部30を介して通信することで行うこととしてもよく、また、個々のスティック部10毎に予め1のマーカー特徴情報を対応付けておき、スティック部10A、10Bのスティック制御部11は、それぞれ対応付けられた独自のマーカー特徴情報を読み出すこととしてもよい。
【0052】
スティック制御部11は、マーカー特徴情報を読み出すと、当該マーカー特徴情報をRAM13に格納するとともに、データ通信部16を介してセンターユニット部30に送信する(ステップS2)。このとき、スティック制御部11は、スティック部10A、10Bをそれぞれ区別可能な識別情報(スティック識別情報)と対応付けて、マーカー特徴情報をセンターユニット部30に送信する。
また、スティック制御部11は、マーカー特徴情報にしたがってマーカー部15を点灯させる(ステップS3)。
【0053】
続いて、スティック制御部11は、モーションセンサ部14からモーションセンサデータ、すなわち、各種センサが出力するセンサ値(検知結果)を読み出して、RAM13に格納する(ステップS4)。その後、スティック制御部11は、読み出したモーションセンサデータをスティック識別情報と対応付けて、データ通信部16を介してセンターユニット部30に送信する(ステップS5)。
スティック制御部11は、演奏動作が終了したか否かを判断し(ステップS6)、演奏動作が終了したと判断する場合(ステップS6;YES)には、マーカー部15を消灯させる(ステップS7)。なお、スティック制御部11が演奏動作終了と判断するのは、例えばモーションセンサ部14が出力するセンサ値に一定以上の変化があるか否かや、スティック部のスイッチ(図示せず)がOFFとされた場合、センターユニット部30から演奏終了の信号が送信された場合等である。他方、スティック制御部11が、演奏動作が終了していないと判断する場合(ステップS6;NO)には、ステップS4に戻って処理を繰り返す。
【0054】
[カメラユニット部20の処理]
図10に示すように、カメラユニット部20のカメラ制御部21は、センターユニット部30から送信されるマーカー検出条件情報を取得して、RAM23に格納する。(ステップS11)。なお、マーカー検出条件情報とは、スティック部10A,10Bのマーカー部15のそれぞれを検出するための条件であり、マーカー特徴情報から生成される(
図11のステップS23,ステップS24参照)。マーカー特徴情報としては、上述のように、例えば、マーカーの形状、大きさ、色相、彩度、あるいは輝度を用いることができる。
続いて、カメラ制御部21は、マーカー検出条件情報に基づいて、撮像部24の各種設定を行う(ステップS12)。
【0055】
続いて、カメラ制御部21は、撮像部24のカメラによってスティック部10のマーカー部15等を含む画像を撮像させて、第1マーカー位置検出処理(ステップS13)及び第2マーカー位置検出処理(ステップS14)を行う。これらの処理では、カメラ制御部21は、撮像部24によって撮像された画像から、スティック部10Aのマーカー部15(第1マーカー)及びスティック部10Bのマーカー部15(第2マーカー)それぞれの位置座標、サイズ、角度等のマーカー検出位置情報(本実施形態における演奏操作子の演奏動作時における操作位置の情報)を取得し、RAM23に格納する。
【0056】
続いて、カメラ制御部21は、ステップS13及びステップS14で取得したマーカー検出位置情報を、データ通信部25を介してセンターユニット部30に送信する(ステップS15)。
カメラ制御部21は、演奏動作が終了したか否かを判断し(ステップS16)、演奏動作が終了したと判断する場合(ステップS16;YES)には、処理を終了し、演奏動作が終了していないと判断する場合(ステップS16;NO)には、ステップS13に戻って処理を繰り返す。
【0057】
[センターユニット部30の処理]
図11に示すように、まず、楽音発生装置1の電源がONとなると、センターユニット部30の本体制御部31は、時間経過の計時をスタートする(ステップS21)。また、スイッチ341からの入力操作によって通常の演奏モード又は練習モードが設定される(ステップS22)。なお、モード設定はスイッチ341からの入力で行われる場合に限定されない。また、モード設定について何も入力がない場合には通常の演奏モードとし、練習モードとする場合のみその旨の入力操作が行われるようにしてもよい。
センターユニット部30の本体制御部31は、マーカー特徴情報をスティック部10から受信し、RAM33に格納する(ステップS23)。続いて、本体制御部31は、マーカー特徴情報及びスイッチ341を介して設定された検出条件から、マーカー検出条件情報を生成し、データ通信部37を介して、カメラユニット部20に送信する(ステップS24)。
【0058】
続いて、本体制御部31は、カメラユニット部20から、第1マーカー及び第2マーカーそれぞれのマーカー検出位置情報を受信し、RAM33に格納する(ステップS25)。また、本体制御部31は、スティック部10A、10Bのそれぞれから、スティック識別情報と対応付けられた姿勢情報、ショット情報及びアクション情報等のモーションセンサデータを受信し、RAM33に格納する(ステップS26)。
【0059】
続いて、本体制御部31は、受信したモーションセンサデータに基づいて、ショットありか否かを判断する(ステップS27)。すなわち、例えば
図6に示すようなモーションセンサデータである場合、
図6に示すA点、すなわち、演奏操作子であるスティック部10を一旦振り上げた後に振り下ろす動作がある場合、当該振り下ろし動作が行われた後、振り上げ動作が開始された瞬間の時点をショットタイミング(発音タイミング)として検出する。ショットなしと判断した場合(ステップS27;NO)には、本体制御部31は、ステップS25に戻って処理を繰り返す。
他方、ショットありと判断した場合(ステップS27;YES)には、本体制御部31は、さらに、モード設定として練習モードが設定されているか否かを判断する(ステップS28)。そして、練習モードが設定されていると判断した場合(ステップS28;YES)には、本体制御部31(演奏速度検出部312)は、当該ショットと前回のショットとの時間差(
図7において「時間差st」)を検出し(ステップS29)、検出された時間差をRAM33等に記憶させる(ステップS30)。そして、演奏速度検出部312は、RAM33等に記憶されている所定数分(例えば10)の時間差stについて移動平均値を算出する(ステップS31)。
【0060】
本体制御部31(エリアサイズ変更部313)は、演奏速度検出部312によって算出された移動平均値が所定の閾値以下であるか否かを判断する(ステップS32)。そして、算出された移動平均値が所定の閾値以下であると判断した場合(ステップS32;YES)には、エリアサイズ変更部313は、仮想の演奏エリア5のエリアサイズを拡大するエリアサイズ変更処理を行う(ステップS33、例えば
図7の時刻bの時点及び
図8参照)。
他方、算出された移動平均値が所定の閾値以下でないと判断した場合(ステップS32;NO)には、エリアサイズ変更部313は、さらに、現在の演奏エリア5のサイズが初期サイズ(拡大前の当初のサイズ)であるか否かを判断する(ステップS34)。そして、現在の演奏エリア5のサイズが初期サイズでない(すなわちすでにエリアサイズが拡大されている)と判断した場合(ステップS34;NO)には、エリアサイズ変更部313は、演奏エリア5のサイズを初期サイズまで縮小する(ステップS35、例えば
図7の時刻cの時点参照)。また、現在の演奏エリア5のサイズが初期サイズであると判断した場合(ステップS34;YES)には、エリアサイズ変更部313は、演奏エリア5のサイズをそのまま維持する(ステップS36、例えば
図7の時刻aの時点参照)。
【0061】
練習モードが設定されていない場合(ステップS28;NO)、及び練習モードが設定されている場合においてエリアサイズ変更部313により所定のエリアサイズ変更処理が行われた場合(すなわち、ステップS33、ステップS35、ステップS36)には、本体制御部31(発音制御部311)は、マーカー部15の位置が演奏エリア5内にあるか否かを判断する(ステップS37)。なお、エリアサイズ変更処理が行われた場合には、発音制御部311は、変更後のサイズの演奏エリア5(すなわち、
図8の下の図において実線で示す範囲)との関係でマーカー部15の位置を判断する。そして、マーカー部15の位置が演奏エリア5内にあると判断した場合(ステップS37;YES)には、発音制御部311は、ステップS27で検出したショットタイミングにおいて演奏エリア5に対応する楽器の楽音を発音させるように発音指示信号(ノートオンイベント)を生成し、発音部36に出力する。これにより、スピーカ等の音声出力部362から所定の楽音が発音される(ステップS38)。このように演奏エリア5のエリアサイズが変更されている場合には、変更後の演奏エリア5内でショットがあったか否かが判断されるため、マーカー検出位置情報等により示されるスティック部10(演奏操作子)の操作位置が当初の(初期サイズの)演奏エリア5内にない場合でも、拡大後の演奏エリア5内であれば発音制御部311による発音処理が行われる。
所定の楽音が発音された場合、またはショットの操作位置が所定の演奏エリア5でないと判断して(ステップS37;NO)発音指示を行わなかった場合には、本体制御部31は、常に演奏動作が終了したか否かを判断し(ステップS39)、演奏動作が終了したと判断した場合(ステップS39;YES)には、楽音発生処理を終了する。また、演奏動作が終了していないと判断した場合(ステップS39;NO)には、ステップS25に戻って処理を繰り返す。
【0062】
以上のように、本実施形態の楽音発生装置1によれば、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態を検知する状態検知手段であるモーションセンサ部14により検知されたスティック部10(演奏操作子)の状態に基づいて、演奏の速度を検出し、検出された演奏速度に応じて所定の演奏エリア5の大きさを変更する。これにより、現実には何も存在しない空間を叩くことで演奏を行う仮想の楽器演奏を行う装置において、演奏速度が速くなることにより演奏エリア5を外れて本来なら楽音が発音されない打ちミス(操作ミス)となるようなショットが行われた場合でも、演奏者の意図に沿った楽音が発音され、演奏に慣れていない初心者であっても楽音発生装置1による演奏を楽しむことができる。
また、実際に打ちミスを生じていなくても演奏の速度が速くなった場合に演奏エリアを拡大するため、打ちミスによる演奏の中断を未然に防ぐことができる。
また、本実施形態では、演奏動作間の時間間隔に基づいて演奏の速度を検出するため、各ショット間の時間差の移動平均値を算出することで、容易に演奏速度の検出を行うことができる。
また、本実施形態では、練習モードのみでなく、正確なショットを行った場合(すなわち操作位置がすなわち初期サイズの演奏エリア5内である場合)のみ所定の楽音を発音させる通常の演奏を行うモードも備えている。このため、演奏に習熟した者であれば、この通常の演奏モードを選択して演奏を行うことで、正しい操作位置をマスターすることができ、演奏の習熟度に合わせて、正確な演奏ができるように補助することができる。
【0063】
なお、以上本発明の実施形態について説明したが、本発明は、上記各実施形態に限定されず、その要旨を逸脱しない範囲で、種々変形が可能であることは言うまでもない。
【0064】
例えば、本実施形態では、楽音発生装置1が、スティック部10とカメラユニット部20とセンターユニット部30とを備えて構成されている場合を例としたが、スティック部10の各種センサ(モーションセンサ部14)によってスティック部10(演奏操作子)の操作位置を検知する場合には、楽音発生装置1が撮像部24を含むカメラユニット部20を備えない構成とすることも可能である。
この場合には、例えば、磁気センサ等のモーションセンサ部14は、スティック部10の先端が向いている方向や角度等から、スティック部10の演奏動作時における操作位置を検知する。
【0065】
また、本実施形態では、スティック部10の各種センサ(モーションセンサ部14)が演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態としてスティック部10の演奏動作時における操作位置を検出する状態検知手段として機能する場合を例としたが、状態検知手段はモーションセンサ部14に限定されない。
例えば、カメラユニット部20の撮像部24が、モーションセンサ部14に代わって、又はモーションセンサ部14とともに、演奏者の演奏動作に基づく演奏操作子の状態を検知する状態検知手段として機能してもよい。この場合には、例えば、マーカー検出位置情報等に基づいて、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態としてのショットタイミングのテンポ(演奏速度)を検出する。
【0066】
また、本実施形態では、演奏速度検出手段である演奏速度検出部312が、演奏動作間の時間間隔に基づいて演奏の速度を検出する場合を例として説明したが、演奏の速度を検出する手法はこれに限定されない。例えば、演奏速度検出手段である演奏速度検出部312は、所定時間内の演奏動作(ショット)の回数に基づいて前記演奏の速度を検出するものであってもよい。
すなわち、
図12に示すように、現在時刻から所定時間遡った間に何回の演奏動作が行われたか、すなわち何回ショットが行われたかのショットデータの数が、所定の閾値以上である場合に、演奏速度検出手段が演奏速度が速くなったと判断して、エリアサイズ変更手段が演奏エリア5のエリアサイズを拡大するように構成してもよい。この場合、所定時間をどの程度とするか、所定時間内に何回以上の演奏動作があったときにエリアサイズを拡大するかは、特に限定されず、適宜設定することができる。また、演奏者等によって事後的に設定を変更できるようにしてもよい。
このように構成した場合にも、所定時間内の演奏動作の回数をカウントするだけで演奏の速度を検出するため、容易に演奏速度の検出を行うことができる。
【0067】
また、本実施形態では、演奏速度のみに基づいて演奏エリア5の大きさを変更する場合について説明したが、エリアサイズ変更手段であるエリアサイズ変更部313が演奏エリア5を拡大するか否かの判断を行う際に、演奏速度以外の要素を考慮する構成としてもよい。
例えば、モーションセンサ部14や撮像部24等の状態検知手段により検知されたスティック部10(演奏操作子)の状態に基づいて、演奏動作のばらつき度合を検出するばらつき検出手段をさらに備え、エリアサイズ変更部313は、演奏速度検出手段による検出結果に加えてばらつき検出手段による検出結果を加味し、両検出結果に基づいて、演奏エリア5のエリアサイズを変更するか否かの判断を行うようにしてもよい。
この場合、ばらつき検出手段は、例えばカメラユニット部20から受信した第1マーカー及び第1マーカーのマーカー検出位置情報により特定されるショットタイミングにおけるスティック部10(演奏操作子)の先端部の位置(これを以下「操作位置」という)の座標情報を取得して、スティック部10(演奏操作子)の演奏動作時における実際の操作位置が、所定の演奏エリア5内に設定されている操作目標位置(例えば演奏エリア5の中心点)からどの程度ずれているかのずれ量のばらつきを、演奏動作のばらつき度合として検出する。そして、演奏速度が速く、演奏動作のばらつき度合いも大きくなっていると判断される場合に、エリアサイズ変更部313が演奏エリア5を拡大する。なお、ばらつき度合いの判断手法はここに例示したものに限定されない。例えば、スティック部10(演奏操作子)の演奏動作時における移動速度(振り上げ振り下ろし速度)のばらつきを、演奏動作のばらつき度合として検出してもよい。
演奏エリア5を拡大すると、打ちミス(操作ミス)を減少させることができる一方で、互いに隣り合う仮想の演奏エリア同士が重なり合って、いずれの楽器を演奏しようとした演奏動作であるのか判別しにくくなるおそれもある。この点、演奏速度に加えて演奏動作のばらつき度合いをも考慮して演奏エリア5のエリアサイズを拡大するか否かを判断する構成とした場合には、演奏速度が速くなっても実際には演奏動作にばらつきがなく、打ちミスを生じるおそれがないような場合には、不必要な演奏エリア5の拡大が行われずに済む。これにより、例えば演奏に習熟した者が演奏速度の速い曲を演奏するような場合に、演奏エリア5の重なり合いを防ぐことができる。
【0068】
また、本実施形態では、練習モードに設定した場合のみ、演奏速度に応じた演奏エリア5のエリアサイズの変更処理を行うようにしたが、特にモードを分けずに、全ての場合において演奏エリア5のエリアサイズの変更処理を行うようにしてもよい。
【0069】
また、本実施形態では、一旦演奏エリア5のサイズを拡大した後は、当該変更後のサイズを維持し、演奏速度が遅くなったと判断された場合(すなわち、例えばショット間の時間差の移動平均値が所定の閾値を超えた場合)に、演奏エリア5を初期サイズまで縮小する場合を例としたが、エリアサイズの変更の手法は、これに限定されない。
例えば、一旦演奏エリア5のサイズを拡大した後は、当該ショットが行われた後にすぐに初期のエリアサイズに戻すようにしてもよい。前述のように、演奏エリア5を拡大すると、互いに隣り合う仮想の演奏エリア同士が重なり合って、いずれの楽器を演奏しようとした演奏動作であるのか判別しにくくなるおそれもある。この点、ショット後にエリアサイズを初期サイズに戻すようにすれば、エリアサイズを拡大しておく時間を打ちミスを生じるおそれのある最小限の時間に止めることができる。
【0070】
また、本実施形態では、演奏エリア5のエリアサイズ変更は、拡大するか、もとの初期サイズに戻すかという1段階しかない場合を例としたが、演奏エリア5のエリアサイズを複数段階で変更可能としてもよい。
この場合には、例えばショット間の時間差の程度に複数の閾値を設定したり、所定時間内のショットデータ数に応じて段階的なレベル分けを行う等により、演奏速度の速さの程度や、演奏動作のばらつき度合い等に基づいて、段階的にエリアサイズの拡大・縮小を行う。
また、演奏の習熟度に応じたレベル分けを行い、例えば習熟度初級を選択すれば演奏エリア5のエリアサイズの拡大率が大きくなって、より広い範囲での打ちミスをサイズ変更後の演奏エリア5内に収めて救済することができ、習熟度上級を選択するとエリアサイズの拡大率が小さくなって、初期サイズから僅かに外れた打ちミスのみを救済するというように、習熟度に応じて段階的にエリアサイズの拡大・縮小を行ってもよい。
このようにした場合には、必要な限度だけ演奏エリア5のエリアサイズを変更することができる。
【0071】
また、演奏エリア5の変更は、演奏速度が速くなったと判断されたときに、その時点でショットが行われる楽器の演奏エリア5(例えば、スティック部10の操作位置がスネアドラムの演奏エリア5であればスネアドラムの演奏エリア5)のみエリアサイズを拡大してもよいし、演奏エリア5のエリアサイズを変更する対象をショットが行われる楽器に対応した演奏エリア5のみに限定せず、演奏速度が速くなったときには全ての演奏エリア5を拡大してもよい。例えば演奏速度が速い状態が継続しているような場合には、他の楽器の演奏エリア5をショットする次の演奏動作においても打ちミス(操作ミス)を生じるおそれがあるため、このように全ての演奏エリア5を拡大しておくことで打ちミスを未然に防ぐことが可能となる。
【0072】
また、上記実施形態でスティック部10、カメラユニット部20及びセンターユニット部30で行うこととしている処理のうちの任意の処理は、他のユニット(スティック部10、カメラユニット部20及びセンターユニット部30)で行うこととしてもよい。
すなわち、例えば、スティック部10(演奏操作子)のスティック制御部11が発音制御手段、演奏速度検出手段、エリアサイズ変更手段として機能し、スティック制御部11において各種センサの検知結果の分析等が行われてもよい。この場合には、状態検知手段としてのモーションセンサ部14の検知結果(各種センサの生データ等)ではなく、各種センサの検知結果に基づいたノートオンイベント(発音指示の信号)がセンターユニット部30に送信される。
また、例えばセンターユニット部30の本体制御部31において、カメラユニット部20の撮像部24が検出したマーカー部15の位置を示すデータ(すなわち、演奏者等を撮像した画像のデータ)及びマーカー特徴情報に基づいて、スティック部10A、10Bのマーカー部15(第1マーカー及び第2マーカー)のそれぞれの位置座標を算出する処理を行ってもよい。この場合には、カメラユニット部20は、単に画像を撮像してセンターユニット部30に送信すれば足りるため、カメラユニット部20のRAM23にスティック部10A、10Bのそれぞれのマーカー部15を識別するためのマーカー検出条件情報を格納しておく必要はない。
【0073】
また、本実施形態では、状態検知手段としてのモーションセンサ部14により取得されるモーションセンサデータとして、加速度センサにより計測された加速度のデータのみを例示したが、モーションセンサデータの内容はこれに限定されず、例えば、ジャイロにより角加速度を計測してその計測値を用いるようにしてもよい。
また、本実施形態では、スティック部10に平行な軸の回りの回転はしないものとして説明したが、これらの回転等についても角加速度センサ等により計測して対応するようにしてもよい。
【0074】
本実施形態では、楽音発生装置1が、演奏者の演奏動作に基づくスティック部10(演奏操作子)の状態(例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等)を検知する状態検知手段として、スティック部10のモーションセンサ部14を備えている構成としたが、状態検知手段はここに例示したものに限定されず、例えばモーションセンサ部14として、圧力センサ等を備えていてもよいし、マーカー部15を検出する手段として、撮像部24に設けられるような各種イメージセンサの他、レーザー、超音波、その他距離や角度を計測することができる各種センサを用いた検出手段を適用してもよい。
【0075】
また、本実施形態では、仮想的な打楽器として仮想のドラムセットD(
図1(B)参照)を例にとって説明したが、これに限られるものではなく、本発明は、スティック部10の振り下ろし動作で楽音を発音する木琴など他の楽器に適用することができる。
【0076】
また、本実施形態では、発音手段である発音部36がセンターユニット部30内に設けられている場合を例として説明したが、発音手段はセンターユニット部30とは別体として構成されていてもよい。この場合には、発音手段とセンターユニット部30とを有線又は無線で接続し、センターユニット部30からの指示信号にしたがって発音手段が所定の発音を行うように構成する。
【0077】
また、本実施形態では、演奏操作子が棒状のスティック部10である場合を例としたが、演奏操作子はこれに限定されない。箱型等、スティック以外の形状のものでもよく、例えば携帯電話機等の携帯端末装置を演奏操作子として用いてもよい。
楽音発生装置1は、演奏操作子で空間を叩く演奏動作を行うことで所定の楽器の音を発音させるものであり、実際に演奏操作子を楽器の打面に打ち付けるものではないため、携帯端末装置等の精密な電子機器を演奏操作子として用いた場合でも、演奏操作子が破損するおそれがない。
【0078】
また、本実施形態では、スティック部10、カメラユニット部20、センターユニット部30が、いずれも内部に電源部を備えている構成としたが、スティック部10、カメラユニット部20、センターユニット部30を外部の電源と接続し、外部電源から電源供給を行う構成としてもよい。
【0079】
以上本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
[請求項1]
演奏操作子と、
前記演奏操作子本体に与えられる演奏操作の状態を検知する状態検知手段と、
演奏操作時における前記演奏操作子の位置が所定の演奏エリアに含まれる場合に、楽音を発音する楽音発生手段に対して発音指示を与える発音指示手段と、
前記状態検知手段により検知された前記演奏操作の状態に基づいて、演奏速度を検出する演奏速度検出手段と、
この演奏速度検出手段による検出結果に基づいて、前記所定の演奏エリアの大きさを変更するエリアサイズ変更手段と、
を備えていることを特徴とする楽音発生装置。
[請求項2]
前記状態検知手段は、演奏操作の状態として当該演奏操作が与えられる時間間隔を検知し、
前記演奏速度検出手段は、当該時間間隔に基づいた前記演奏速度を検出することを特徴とする請求項1に記載の楽音発生装置。
[請求項3]
前記状態検知手段は、演奏操作の状態として所定時間内に当該演奏操作が行われた回数を検知し、
前記演奏速度検出手段は、前記所定時間内に演奏操作が行われた回数に基づいて前記演奏速度を検出するものであることを特徴とする請求項1に記載の楽音発生装置。
[請求項4]
演奏操作時における前記演奏操作子の位置を、前記演奏操作のばらつき度合として検出するばらつき検出手段をさらに備え、
前記エリアサイズ変更手段は、前記演奏速度検出手段による検出結果及び前記ばらつき検出手段による検出結果に基づいて、前記所定の演奏エリアの大きさを変更することを特徴とする請求項1から請求項3のいずれか一項に記載の楽音発生装置。