(57)【特許請求の範囲】
【請求項１】
前記時間データが付された発音指示信号を、受信する受信手段と、
前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと前記受信手段において当該発音指示信号を受信したタイミングとの差分を算出する差分算出手段と、
前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成するヒストグラム作成手段と、
前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御するタイミング制御手段と、
を備え、
前記タイミング制御手段は、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給する楽音発生装置。
【請求項２】
前記楽音発生装置はさらに、演奏者が保持可能な演奏操作子を有し、
前記演奏操作子は、
当該演奏操作子本体の動きを検知する動き検知手段と、
前記動き検出手段により検知された前記演奏操作子本体の動きに基づいて、前記発音手
段に対して発音指示を与える発音指示信号を生成する発音指示生成手段と、
前記発音指示生成手段により生成された前記発音指示信号に送信のタイミングを表わす時間データを付して送信する送信手段と、
を有する請求項１記載の楽音発生装置。
【請求項３】
前記時間データが付された発音指示信号を受信し、
前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと当該発音指示信号を受信したタイミングとの差分を算出し、
前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成し、
前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御し、
前記タイミングの制御は、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給する、楽音発生方法。
【請求項４】
コンピュータに、
前記時間データが付された発音指示信号を、受信する受信ステップと、
前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと当該発音指示信号を受信したタイミングとの差分を算出する差分算出ステップと、
前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成するヒストグラム作成ステップと、
前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御するタイミングステップと、
を実行させ、
前記タイミングステップは、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置、楽音発生方法及びプログラムに関するものである。
【背景技術】
【０００２】
演奏者が操作する演奏操作子をスピーカ等の音声出力部を備える装置から独立させ、演奏操作子から音声出力部を備える装置に対して、所定の楽音の発音を指示する信号（発音指示信号）を無線方式で送信する構成が知られている（例えば、特許文献１参照）。
このような構成を仮想空間で仮想的に楽器演奏を行う装置に適用する場合、楽音を発音させるための操作が行われてから実際の発音がなされるまでの時間が長すぎたりばらついたりすると、演奏者に演奏感覚として不自然なものとなってしまう。
このため、発音指示信号の発生から実際に音声出力部から楽音が発生されるまでの時間をできるだけ短くし、安定させることが楽器として演奏者が演奏を楽しむために重要となる。
【０００３】
この点、特許文献１には、複数の音源が接続されたコンピュータミュージックシステムにおいて、複数の音源の同期演奏を、コンピュータミュージックシステムの利用者が意識することなく行うための構成として、ディレイ制御で、複数のＭＩＤＩ音源に対するＭＩＤＩ信号の到達時間を予め測定しておき、到達時間の最も大きいＭＩＤＩ音源に合わせて、他のＭＩＤＩ音源へのＭＩＤＩ信号送出を遅らせるディレイタイムを設定し、各ＭＩＤＩ音源へＭＩＤＩ信号を遅らせて送出することにより、各ＭＩＤＩ音源での発音を同時に行うことが開示されている。
複数のＭＩＤＩ音源に対するＭＩＤＩ信号の到達時間は、予め予測可能なものであるため、こうした特許文献１に記載の手法によれば、ＭＩＤＩ信号の到達時間のばらつきを解消することができ、ストリーミング受信を安定化させることが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−２４１０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術は、データを送信する際に、データ送信側の通信方式等、外来要因に由来する遅延を解消するためのものであり、発音（再生）タイミングは音声出力部を備える受信側の装置のタイミングに依存する。
このような遅延解消技術は、演奏操作子側のシステムタイマーと音声出力部を備える装置側の備えるシステムタイマーとの間に時間のずれ（誤差）がない場合には、適切に発音タイミングのずれを解消することができるが、実際には、通信を行う装置内部のシステムタイマーには時間のずれ（誤差）があり、特許文献１に記載の技術は、このようなずれを解消することはできなかった。
【０００６】
本発明は、以上のような事情に鑑みてなされたものであり、演奏操作子から音声出力部
を備える装置に対して発音指示信号を無線方式で送信する場合に、送信側と受信側との時
間のずれによる発音タイミングのずれをできる限り防止して円滑な演奏を行うことのでき
る楽音発生装置、楽音発生方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明の楽音発生装置は、
前記時間データが付された発音指示信号を、受信する受信手段と、前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと前記受信手段において当該発音指示信号を受信したタイミングとの差分を算出する差分算出手段と、前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成するヒストグラム作成手段と、前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御するタイミング制御手段と、を備え、前記タイミング制御手段は、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給する、ことを特徴とする。
また、本発明の楽音発生方法は、
前記時間データが付された発音指示信号を受信し、前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと当該発音指示信号を受信したタイミングとの差分を算出し、前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成し、前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御し、前記タイミングの制御は、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給する、ことを特徴とする。
さらに、本発明のプログラムは、
コンピュータに、前記時間データが付された発音指示信号を、受信する受信ステップと、
前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと当該発音指示信号を受信したタイミングとの差分を算出する差分算出ステップと、前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成するヒストグラム作成ステップと、前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を、接続された発音手段に供給するタイミングを制御するタイミングステップと、を実行させ、前記タイミングステップは、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給させる、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、演奏操作子から音声出力部を備える装置に対して発音指示信号を無線方式で送信する場合に、送信側と受信側との時間のずれによる発音タイミングのずれをできる限り防止して円滑な演奏を行うことができるとの効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】（Ａ）は、本発明に係る楽音発生装置の一実施形態の概要を示す図であり、（Ｂ）は、本実施形態における仮想のドラムセットを示した図である。
【図２】楽音発生装置の機能構成を示すブロック図である。
【図３】図１に示すスティック部の斜視図である。
【図４】モーションセンサ部の垂直方向の加速度の変化を表わした図である。
【図５】（Ａ）は、タイムスタンプなしの発音指示信号の構成例を示す図であり、（Ｂ）は、タイムスタンプありの発音指示信号の構成例を示す図である。
【図６】（Ａ）は、タイムスタンプとシステムタイマーとの時間差（誤差）を示すグラフ例であり、（Ｂ）は、（Ａ）に示す直近１００個分の時間差データに基づくヒストグラムの一例を示す図である。
【図７】外来要因に基づく遅延のばらつき例を示すグラフである。
【図８】（Ａ）は、遅延時間調整をしない場合の発音タイミングのばらつきを示す図であり、（Ｂ）は、５ｍｓ遅延時間調整を行った場合の発音タイミングのばらつきを示す図であり、（Ｃ）は、１０ｍｓ遅延時間調整を行った場合の発音タイミングのばらつきを示す図であり、（Ｄ）は、１５ｍｓ遅延時間調整を行った場合の発音タイミングのばらつきを示す図である。
【図９】発音タイミング調整処理を示すフローチャートである。
【図１０】図９に示すヒストグラム更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について、図１から図１０を用いて説明する。なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【００１１】
［楽音発生装置の概要］
まず、図１（Ａ）及び図１（Ｂ）を参照して、本発明に係る楽音発生装置の一実施形態の全体構成について説明する。
図１（Ａ）は、本実施形態に係る楽音発生装置の装置構成の概要を示す図である。
図１（Ａ）に示すように、本実施形態の楽音発生装置１は、スティック部１０Ａ、１０Ｂと、センターユニット部２０と、を含んで構成されている。なお、本実施形態の楽音発生装置１は、２本のスティックを用いた仮想的なドラム演奏を実現するため、２つのスティック部１０Ａ、１０Ｂを備えることとしているが、スティック部の数はこれに限られず、１つとしてもよく、３つ以上としてもよい。なお、以下では、スティック部１０Ａ、１０Ｂを区別しない場合には、両者を総称して「スティック部１０」と称する。
【００１２】
スティック部１０は、長手方向に延在する棒状の演奏操作子本体を備え、演奏者が保持可能である演奏操作子として機能する。すなわち、演奏者は、スティック部１０の一端（根元側）を手に持ち、手首等を中心とした振り上げ振り下ろし動作を行うことにより、演奏操作を行う。
このような演奏者の演奏操作を検知するため、本実施形態では、スティック部１０の他端（先端側）に、加速度センサなどの各種センサ（後述のモーションセンサ部１４、図２参照）が設けられている。
スティック部１０は、スティック部１０から各種センサ（後述のモーションセンサ部１４）の検知結果に応じて、発音手段であるスピーカ等の音声出力部２５１から所定の楽音を発音させるための発音指示信号（ノートオンイベント）を生成し、これに時間データとしてのタイムスタンプを付してセンターユニット部２０に出力する。
【００１３】
センターユニット部２０は、演奏者の操作によって生じるスティック部１０本体の動きに基づいて所定の楽音を発音する発音手段である音声出力部２５１を備える本体装置である。
本実施形態において、センターユニット部２０は、スティック部１０から発音指示信号（ノートオンイベント）を受信すると、これに付されているタイムスタンプとセンターユニット部２０側で発音指示信号を受信した時間との時間差（差分）を算出し、発音指示信号を受信する毎に、当該差分のヒストグラムを作成する。そして、このヒストグラムに基づいて、音声出力部２５１による発音指示信号に基づく発音のタイミングを調整する。
【００１４】
［楽音発生装置１の構成］
以下、本実施形態に係る楽音発生装置１について具体的に説明する。
図２は、楽音発生装置１の機能的構成を示すブロック図である。
まず、図２を参照して、本実施形態における楽音発生装置１を構成するスティック部１０及びセンターユニット部２０の構成について詳細に説明する。
【００１５】
［スティック部１０の構成］
図２に示すように、各スティック部１０（図２においてスティック部１０Ａ，１０Ｂ）は、スティック制御ユニット１１、モーションセンサ部１４、データ通信部１６、電源回路１７、バッテリ１８等を含んで構成されている。
【００１６】
モーションセンサ部１４は、演奏者の操作によって生じるスティック部１０（演奏操作子）本体の動きを検知する動き検知手段である。
すなわち、モーションセンサ部１４は、例えばスティック部１０の内部に設けられ、スティック部１０の状態（例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等）を検知するための各種センサであり、モーションセンサ部１４は、検知結果として所定のセンサ値（モーションセンサデータ）を出力する。モーションセンサ部１４によって検知された検知結果（モーションセンサデータ）は、スティック制御ユニット１１に送られる。
ここで、モーションセンサ部１４を構成するセンサとしては、例えば、加速度センサ、角速度センサ及び磁気センサ等を用いることができる。
【００１７】
加速度センサとしては、Ｘ軸、Ｙ軸、Ｚ軸の２つの軸方向のそれぞれに生じた加速度を出力する２軸センサを用いることができる。なお、Ｘ軸、Ｙ軸、Ｚ軸については、図２に示すように、スティック部１０の長手方向の軸と一致する軸をＹ軸とし、加速度センサが配置された基板（図示せず）と平行で、かつ、Ｙ軸と直交する軸をＸ軸とし、Ｘ軸及びＹ軸と直交する軸をＺ軸とすることができる。加速度センサは、Ｘ軸、Ｙ軸、Ｚ軸のそれぞれの成分の加速度を取得するとともに、それぞれの加速度を合成したセンサ合成値を算出することとしてもよい。
本実施形態において、楽音発生装置１を用いて演奏を行う場合、演奏者は、スティック部１０の一端（根元側）を保持し、手首などを中心としてスティック部１０の他端（先端側）を上下動させる振り上げ振り下ろし動作を行うことで、スティック部１０に対して回転運動を生じさせる。ここで、スティック部１０が静止している場合には、加速度センサは、センサ合成値として重力加速度１Ｇに相当する値を算出し、スティック部１０が回転運動をしている場合には、加速度センサは、センサ合成値として重力加速度１Ｇよりも大きな値を算出する。なお、センサ合成値は、例えば、Ｘ軸、Ｙ軸、Ｚ軸の成分の加速度のそれぞれの２乗の総和の平方根を算出することで得られる。
【００１８】
また、角速度センサとしては、例えば、ジャイロスコープを備えたセンサを用いることができる。本実施形態において、角速度センサは、図２に示すように、スティック部１０のＹ軸方向の回転角５０１やスティック部１０のＸ軸方向の回転角５１１を出力するようになっている。
ここで、Ｙ軸方向の回転角５０１は、演奏者がスティック部１０を持ったとき、演奏者から見た前後軸の回転角であるため、ロール角と称することができる。ロール角は、Ｘ−Ｙ平面が、どの程度Ｘ軸に対して傾けられたかを示す角度５０２に対応し、演奏者がスティック部１０を手に持って、手首を軸にして左右に回転させることにより生じる。
また、Ｘ軸方向の回転角５１１は、演奏者がスティック部１０を持ったとき、演奏者から見た左右軸の回転角であるため、ピッチ角と称することができる。ピッチ角は、Ｘ−Ｙ平面が、どの程度Ｙ軸に対して傾けられたかを示す角度５１２に対応し、演奏者がスティック部１０を手に持って、手首を上下方向に振ることにより生じる。
なお、図示は省略しているが、角速度センサは、Ｚ軸方向の回転角も併せて出力することとしてもよい。このとき、Ｚ軸方向の回転角は、基本的にはＸ軸方向の回転角５１１と同じ性質を有し、演奏者がスティック部１０を手に持って、手首を左右方向に振ることにより生じるピッチ角である。
【００１９】
また、磁気センサとしては、図２に示すＸ軸、Ｙ軸、Ｚ軸の２軸方向の磁気センサ値を出力可能なセンサを用いることができる。このような磁気センサからは、磁石による北（磁北）を示すベクトルが、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれについて出力される。出力される各軸方向の成分は、スティック部１０の姿勢（向き）によって異なるため、これらの成分から、スティック制御ユニット１１は、スティック部１０のロール角やＸ軸方向及びＺ軸方向の回転角を算出することができる。
【００２０】
ここで、図４を参照しつつ、モーションセンサ部１４によって検知される検知結果（モーションセンサデータ）について説明する。なお、ここでは、上記各種センサのうち加速度センサによる検知結果を示す。
演奏者がスティック部１０を用いて演奏を行う場合、一般には、現実の楽器（例えば、ドラム）を打つ動作と同様の動作を行う。このような（演奏）動作では、演奏者は、まずスティック部１０を振り上げ、それから仮想的な楽器の打面（演奏面）に向かって振り下ろす。そして実際には打面が存在していないため、演奏者は、スティック部１０を仮想的な楽器に打ちつける寸前に、スティック部１０の動作を止めようとする力を働かせる。
図４は、このようなスティック部１０を用いて演奏操作を行った場合のモーションセンサ部１４の垂直方向の加速度の変化を表わした図であり、スティック部１０からセンターユニット部２０に送信されるモーションセンサデータの一例を示すものである。
なお、垂直方向の加速度とは、水平面に対する垂直方向の加速度を意味し、Ｙ軸成分の加速度から分解し算出することとしてもよく、Ｚ軸方向の加速度（ロール角によってはＸ軸方向の加速度）から分解し算出することとしてもよい。また、図４において、マイナスの加速度は、スティック部１０に加わる下向き方向の加速度を示し、プラスの加速度は、スティック部１０に加わる上向き方向の加速度を示す。
【００２１】
スティック部１０が静止している状態（図４中ａで示される部分）であっても、スティック部１０には重力加速度が加わっているため、重力加速度に逆らう形で静止するスティック部１０のモーションセンサ部１４は、垂直下向き、つまりマイナス方向の一定の加速度を検出する。なお、スティック部１０に加わる加速度が０となるのは、スティック部１０が自由落下している状態のときである。
次に、図４中ｂで示す区間のように、スティック部１０が静止している状態において、振り上げ動作に伴い演奏者がスティック部１０を持ち上げると、重力加速度に対してより逆らう方向に動作することになるため、スティック部１０に加わる加速度はマイナス方向に増加する。その後静止させようとして持ち上げる速度を減少させると、加速度は、マイナス方向からプラスの方向に転換し、振り上げ動作が最高速に到達した時点（図４中のｐ１参照）での加速度は重力加速度のみ（すなわち、重力加速度１Ｇ）になる。
【００２２】
次に、図４中ｃで示す区間のように、振り上げ動作によりスティック部１０が頂点に達すると、演奏者はスティック部１０の振り下ろし動作を行う。振り下ろし動作では、スティック部１０は、重力加速度に従う方向に動作することになるため、スティック部１０に加わる加速度は、重力加速度よりもプラス方向に増加する。その後、振り下ろし動作が最高速に到達すると、スティック部１０には、再び重力加速度のみ（すなわち、重力加速度１Ｇ）が加わる状態となる（図４中のｐ２参照）。
この後、図４中ｄで示す区間のように、再びスティック部１０に対して振り上げ動作を行うと、加わる加速度はマイナス方向に増加し、振り上げ動作を静止させようとすると、加わる加速度はマイナス方向からプラス方向に転じる。
演奏操作が続いている間、演奏者によるスティック部１０の振り上げ振り下ろし動作にしたがって、図４に示したような加速度の変化が繰り返され、この加速度の変化がモーションセンサ部１４によって検知される。
【００２３】
スティック制御ユニット１１は、例えば、ＭＣＵ（Micro Control Unit）等で構成されており、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）等のメモリ、計時手段としてのタイマー（システムタイマー）等が一つの集積回路に組み込まれたものである。なお、センターユニット部２０全体の制御を行う機能部の構成は、ここに例示したものに限定されない。例えば、ＭＣＵで構成されたものでなく、ＣＰＵ、ＲＯＭ、タイマー等が個別に基板等に搭載されたものであってもよい。
スティック制御ユニット１１のメモリには、スティック制御ユニット１１の実行する各種処理の処理プログラムが格納されている。
スティック制御ユニット１１は、スティック部１０全体の制御を実行するものである。スティック制御ユニット１１の各種機能は、ＣＰＵとメモリに記憶されたプログラムとの共働によって実現される。
本実施形態において、スティック制御ユニット１１は、モーションセンサ部１４によって取得された検知結果に基づいて発音指示信号（ノートオンイベント）を生成する発音指示生成部１１１を含んでいる。
【００２４】
発音指示生成部１１１は、演奏者によりスティック部１０（演奏操作子）を用いて演奏操作がなされる毎に、検知手段であるモーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の位置や動きに関する検知結果（モーションセンサデータ）に対応して、発音指示信号（ノートオンイベント）を生成する。
ここで、ノートオンイベント（発音指示信号）には、ショットタイミング（発音タイミング）、音量（すなわち発音強度（Velocity））、音色（すなわち楽器の種類）等の情報が含まれる。
発音指示生成部１１１によって生成された発音指示信号（ノートオンイベント）は、センターユニット部２０に対して出力され、センターユニット部２０の本体制御ユニット２１は、この発音指示信号（ノートオンイベント）に基づいて、スピーカ等の音声出力部２５１から楽音を発音させる。
【００２５】
具体的には、まず、モーションセンサ部１４によって検知されたスティック部１０（演奏操作子）の位置や動きに関する検知結果（モーションセンサデータ）が取得されると、発音指示生成部１１１は、加速度センサが出力する加速度（又はセンサ合成値）に基づいて、スティック部１０による仮想的な楽器の打撃タイミング（ショットタイミング）を検知する。
【００２６】
ここで、図４を参照しつつ、発音指示生成部１１１によるショットタイミングの検出について説明する。
前述のように、図４は、スティック部１０を用いて演奏操作を行った場合のモーションセンサ部１４の垂直方向の加速度の変化を表わした図である。
演奏者は、仮想的な楽器にスティック部１０を打ちつけた瞬間に楽音が発生することを想定しているため、楽音発生装置１においても、演奏者が想定するタイミングで楽音を発生できるのが望ましい。そこで、本実施形態では、演奏者が仮想的な楽器の打面にスティック部を打ちつける瞬間又はそのわずかに手前で楽音を発音させることとしている。
【００２７】
すなわち、本実施形態においては、発音指示生成部１１１は、演奏者が仮想的な楽器の打面にスティック部１０を打ちつける瞬間として、振り下ろし動作が行われた後、振り上げ動作が開始された瞬間を検出する。つまり、発音指示生成部１１１は、図４中ｄで示す区間において、静止状態から、言い換えれば加わる加速度が重力加速度のみとなる時点（図４中のｐ２参照）から、さらにマイナス方向に所定値だけ増加したＡ点を、ショットタイミング（発音タイミング）として検出する。
そして、発音指示生成部１１１は、このショットタイミングが検出されたときに発音を行うようにノートオンイベント（発音指示信号）を生成する。
【００２８】
また、発音指示生成部１１１は、モーションセンサ部１４によって検知されたスティック部１０の動きに関する検知結果（モーションセンサデータ）に基づいて、演奏者によるスティック部１０（演奏操作子）の振り下ろし動作の速さや強さ、スティック部１０を振り下ろした位置や角度等を検知する。具体的には、例えば磁気センサ等の検知結果からスティック部１０が振り下ろされた位置が３つの演奏エリアａｒ１〜ａｒ３のうちのどの演奏エリアであったかを判断し、加速度センサ等の検知結果から振り下ろし時の加速度等から打撃の強さ等を判断する。
【００２９】
本実施形態では、スティック制御ユニット１１の図示しないＲＯＭ等の記憶手段に、モーションセンサ部１４において識別される演奏エリアに対応付けて、仮想のドラムセットＤ（図１（Ｂ）参照）の位置座標データを記憶している。
モーションセンサ部１４において識別可能な演奏エリアの数、対応付けられる楽器の数や種類は特に限定されないが、本実施形態では、図１（Ａ）に示すように、演奏者の前の空間を仮想的に３つに分割し、演奏エリアａｒ１〜ａｒ３（図１（Ａ）参照）が設定されている。そして、例えば、演奏エリアａｒ１には「ハイハット」、演奏エリアａｒ２には「スネアドラム」、演奏エリアａｒ３には「フロアタム」というように、本実施形態において想定される仮想のドラムセットＤ（図１（Ｂ）参照）を構成する打楽器が、各楽器の空間上の演奏エリアａｒ１〜ａｒ３（図１（Ａ）参照）の位置座標等と対応付けられてＲＯＭ等の記憶手段に格納されている。
なお、各演奏エリアａｒ１〜ａｒ３に対応付けられる楽器の種類は上記例に限定されない。演奏者等が、各演奏エリアａｒ１〜ａｒ３に対応付けられる楽器の種類を事後的に変更、設定できるようになっていてもよい。
【００３０】
そして、発音指示生成部１１１は、当該仮想のドラムセットＤの位置座標データとモーションセンサ部１４による検知結果（例えば地磁気センサ等により検知される方位等）から特定される位置座標データとに基づいて、スティック部１０が打撃した楽器を特定するとともに、当該楽器が、どの程度の速さ、強さで、どのタイミングで叩かれたか等を判断し、この判断結果に基づいて、所定の楽音を、叩かれた速さや強さに対応する音量で、所定のショットタイミングで発音させるように指示する発音指示信号（ノートオンイベント）を生成する。発音指示生成部１１１において生成された発音指示信号（ノートオンイベント）は、スティック部１０Ａ、１０Ｂをそれぞれ区別可能な識別情報（スティック識別情報）と対応付けられるとともに、当該発音指示信号を送信した時間を示す時間データとしてのタイムスタンプを付して、センターユニット部２０に出力される。
【００３１】
図５（Ａ）は、タイムスタンプが付されていない発音指示信号（ノートオンイベント）のデータ構成例を示し、図５（Ｂ）は、タイムスタンプが付された発音指示信号（ノートオンイベント）のデータ構成例を示している。
図５（Ａ）に示すように、発音指示信号（ノートオンイベント）にタイムスタンプが付されていない場合には、例えば1st Byte部分に音色（すなわち、どの楽器の音であるかを示す楽音の種類）やショットの行われたタイミングを示すデータ等が割り当てられ、2nd Byte部分に音量を示す発音強度（Velocity）等のデータが割り当てられる。
また、図５（Ｂ）に示すように、発音指示信号（ノートオンイベント）にタイムスタンプが付されている場合には、タイムスタンプが付されていない場合と同様に、1st Byte部分及び2nd Byte部分に、音色、音量（発音強度（Velocity））、ショットタイミング等、発音自体の内容を決めるデータが割り当てられ、3rd Byte部分及び4th Byte部分の１４bit分がタイムスタンプのデータに割り当てられる。なお、図５（Ｂ）に示す「time stamp High」「time stamp Low」はそれぞれ時分情報、秒情報等である。なお、発音指示信号（ノートオンイベント）のデータ構成はここに例示したものに限定されない。
【００３２】
図２に戻り、データ通信部１６は、少なくともセンターユニット部２０との間で所定の無線通信を行う。所定の無線通信は、任意の方法で行うこととしてよく、本実施形態では、赤外線通信によりセンターユニット部２０との間での無線通信を行う。なお、データ通信部１６による無線通信の方式は特に限定されない。
本実施形態では、データ通信部１６は、発音指示生成部１１１により生成された発音指示信号に時間データを付して、無線方式で本体装置であるセンタユニット部２０に送信する操作子通信手段として機能する。
【００３３】
また、スティック部１０はバッテリ１８を内蔵しており、バッテリ１８は、電源回路１７を介してスティック部１０の各動作部に電源を供給する。
バッテリ１８は、一次電池でもよいし充電可能な二次電池でもよい。またバッテリ１８を内蔵していることは必須ではなく、ケーブル等を介して外部から電源供給を受ける構成としてもよい。
【００３４】
［センターユニット部２０の構成］
次に、センターユニット部２０は、図２に示すように、本体制御ユニット２１、音源データ記憶部２２、時間差データ記憶部２３、操作部２４、オーディオ回路２５、音声出力部２５１、データ通信部２６、電源回路２７、バッテリ２８等を含んで構成されている。
【００３５】
音源データ記憶部２２は、種々の音色の波形データ（すなわち各楽器の音源データ）、例えば、バスドラム、ハイハット、スネアドラム、フロアタム、シンバルなど本実施形態において想定される仮想のドラムセットＤ（図１（Ｂ）参照）を構成する打楽器の波形データを格納している。本実施形態では、なお、音源データ記憶部２２に格納されている音色の波形データは、これら打楽器に限定されず、例えばフルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器の音色の波形データが音源データ記憶部２２に格納されていてもよい。
【００３６】
また、時間差データ記憶部２３は、発音指示信号に付されたタイムスタンプそのものや、後述する本体制御ユニット２１において算出される、発音指示信号（ノートオンイベント）に付された時間データ（タイムスタンプ）に示される時間とセンターユニット部２０の本体制御ユニット２１のタイマーの時間（システムタイマーの時間）との時間差（差分、誤差）、等が保存される時間バッファとしての領域、及び時間差のヒストグラムデータを格納する領域等が設けられている。本実施形態において、時間バッファは、常に直近の１００個のデータを格納し、新たなデータ（タイムスタンプや時間差データ）が取得されると、すでに記憶されているデータのうち最も古いデータを１つ消去して新しいデータと入れ替えるように、記憶されているデータ内容が動的に変化するものである。
本実施形態では、発音指示信号のタイムスタンプとセンターユニット部２０のシステムタイマーとの時間差が、発音指示信号（ノートオンイベント）を取得する毎に算出されるようになっており、算出された時間差が、順次時間差データ記憶部２３に記憶されるようになっている。
【００３７】
本体制御ユニット２１は、例えば、ＭＣＵ（Micro Control Unit）等で構成されており、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）等のメモリ、計時手段としてのタイマー（システムタイマー）等が一つの集積回路に組み込まれたものである。
本体制御ユニット２１は、センターユニット部２０全体の制御を実行するものである。本体制御ユニット２１の各種機能は、ＣＰＵとメモリに記憶されたプログラムとの共働によって実現される。なお、センターユニット部２０全体の制御を行う機能部の構成は、ここに例示したものに限定されない。例えば、ＭＣＵで構成されたものでなく、ＣＰＵ、ＲＯＭ、タイマー等が個別に基板等に搭載されたものであってもよい。
本体制御ユニット２１のメモリには、本体制御ユニット２１の実行する各種処理の処理プログラムが格納されている。また、メモリには、スティック部１０Ａ、１０Ｂをそれぞれ区別可能な識別情報（スティック識別情報）が格納されており、本体制御ユニット２１は、各スティック部１０Ａ、１０Ｂから送られてくる情報に付しているスティック識別情報を、メモリに格納されているスティック識別情報と照合することにより、情報（信号）送信元のスティック部１０Ａ、１０Ｂを特定できるようになっている。
【００３８】
また、本実施形態において、本体制御ユニット２１は、発音指示信号（ノートオンイベント）に付された時間データ（タイムスタンプ）に示される時間と本体通信手段であるデータ通信部２６において当該発音指示信号を受信した時間との差分を算出し、発音指示信号を受信する毎に、当該差分のヒストグラムを作成するとともに、このヒストグラムに基づいて、発音手段である音声出力部２５１による発音指示信号に基づく発音のタイミングを調整する発音タイミング調整手段として機能する。
【００３９】
図６（Ａ）は、発音指示信号（ノートオンイベント）に付された時間データ（タイムスタンプ）に示される時間とセンタユニット部２０のデータ通信部２６において当該発音指示信号を受信した時間との差分（時間差、誤差）を示すグラフである。
本実施形態では、スティック部１０のスティック制御ユニット１１はシステムタイマーのク口ック入力となる独立した発振子を備えている。また、同様に、センタユニット部２０の本体制御ユニット２１もシステムタイマーのク口ック入力となる独立した発振子を備えている。このため、信号送信元であるスティック部１０のシステムタイマーと信号受信側であるセンタユニット部２０のシステムタイマーとには、不可避的にずれ（誤差）が発生する。
例えば、送信側のスティック制御ユニット１１及び受信側の本体制御ユニット２１がともに日差５秒の時計をシステムタイマーとして使っている場合、送信側のスティック制御ユニット１１及び受信側の本体制御ユニット２１との間で、２４時間に最大１０秒の誤差を持つことになり、これは一般的な曲１曲分の長さとほぼ等しい５分間の間に、３５msecのずれが生じることを意味する。一般に人間は１０msec以上の時間差があるとその時間差を感じ取ることができるとされているため、５分間に３５msecのずれが生じることは、楽器の演奏としては無視できない時間差である。
図６（Ａ）に示すように、送信側のスティック制御ユニット１１のシステムタイマーと受信側の本体制御ユニット２１のシステムタイマーとに生じる時間差（誤差）は、ほぼ直線的に増加する変位を示す。
このように、送信側と受信側のシステムクロックに時間差がある場合、何らかの手法によって両者の時間を合わせたとしても、時間の経過とともに再び時間差（誤差）が生じてしまう。
【００４０】
本実施形態では、本体制御ユニット２１は、発音指示信号（ノートオンイベント）に付された時間データ（タイムスタンプ）に示される時間と本体通信手段であるデータ通信部２６において当該発音指示信号を受信した時間との差分（時間差、誤差）を算出し、発音指示信号を受信する毎に、当該差分（時間差）のヒストグラムを作成するようになっている。
なお、新たに取得された発音指示信号のタイムスタンプデータや新たに算出された時間差データは、時間差データ記憶部２３の時間バッファに格納される。
【００４１】
図６（Ｂ）は、本体制御ユニット２１において作成される時間差のヒストグラムの一例を示すものである。
図６（Ｂ）に示すヒストグラムでは、タイムスタンプに示される時間と本体制御ユニット２１のシステムタイマーとの時間差（誤差）として、１５msecの時間差（誤差）の頻度が最も高いことを示している。
本実施形態では、図６（Ａ）に示すように、本体制御ユニット２１は、直近の１００個分の時間差データに基づいてヒストグラムを作成するようになっている。本体制御ユニット２１は、新たに発音指示信号（ノートオンイベント）を受信してタイムスタンプを取得する毎に、この発音指示信号のタイムスタンプに示される時間と本体制御ユニット２１のシステムタイマーとの時間差（誤差）を算出する。そして、新たに時間差データを取得すると、本体制御ユニット２１は、時間バッファに格納されている時間差データのうち最も古いデータを消去して、ヒストグラムを構成するデータから減算し、新たに取得した時間差データをこれに代えて時間バッファに格納するとともに、更新された時間差データに基づいてヒストグラムを作成（更新）する。
なお、ヒストグラムの作成に用いる時間差データの数は直近の１００個分に限定されず、さらに多くのデータに基づいてヒストグラムを作成してもよい。
【００４２】
本体制御ユニット２１は、このヒストグラムに基づいて、発音手段である音声出力部２５１による発音指示信号に基づく発音のタイミングを調整する。
なお、本実施形態では、本体制御ユニット２１は、通信状況や通信方式等に由来する外来要因による通信時間の遅延（ディレイ）をも考慮して発音のタイミングの調整を行う。
【００４３】
図７は、通信状況や通信方式等に由来する外来要因による通信時間の遅延（ディレイ）の一例を示すグラフであり、図６（Ａ）と同様に、一般的な曲１曲分の長さとほぼ等しい５分間の間に生じる通信時間の遅延を時間軸にしたがって示したグラフである。
図７に示すように、外来要因による通信時間の遅延は、必ずしも時間の経過とともに直線的に増加するものではなく、ランダムに生じるものである。
実際の信号の送受信においては、図６（Ａ）で示した送信側と受信側とのシステムタイマーの時間差によるずれに、図７に示す通信方式等の外来要因による通信時間の遅延が合わさって、全体の通信時間のずれとなる。
図７に示す外来要因による通信時間の遅延は、例えば頻度や平均値を求めることで、対応することができる。
本実施形態において、本体制御ユニット２１は、一定時間分のデータから外来要因による通信時間の遅延の頻度を算出し、これを後述する発音タイミング調整処理において設定ディレイである「指定時間」（図９参照）として考慮する。
【００４４】
図８（Ａ）〜図８（Ｄ）は、本体制御ユニット２１による発音タイミング調整処理を行わない場合と発音タイミング調整処理を行った場合の発音タイミングのばらつきを示したグラフである。
図８（Ａ）は、何も調整を行わなかった場合であり、発音タイミングが大きくばらついている。図８（Ｂ）は、５ｍｓだけ遅延調整を行った場合であり、図８（Ｃ）は、１０ｍｓの遅延調整を行った場合であり、図８（Ｄ）は、１５ｍｓの遅延調整を行った場合である。遅延調整時間を長くするにしたがって、全体の時間は遅くなるが、遅れて発音されるものに合わせて全体を遅らせることによって、発音タイミングのばらつきはかなり改善され、人の耳では感じられない程度の誤差の範囲のずれとなる。
【００４５】
図２に戻り、操作部２４は、演奏者等による入力操作に基づく入力情報を受け付ける。入力情報としては、例えば、発音する楽音の音量や発音する楽音の音色の変更、演奏動作の開始、終了の指示などが含まれる。
【００４６】
また、センターユニット部２０は、オーディオ回路３２と、スピーカ等で構成される音声出力部２５１とを備えている。
オーディオ回路３２には、発音指示信号に基づく楽音データが本体制御ユニット２１から出力されるようになっており、オーディオ回路３２は、本体制御ユニット２１から出力された楽音データをアナログ信号に変換し、変換されたアナログ信号を増幅して音声出力部２５１に出力する。
音声出力部２５１は、例えばスピーカ等であり、本体制御ユニット２１において生成された楽音データに基づく楽音を発音させる発音手段である。音声出力部２５１は、発音タイミング調整手段としての本体制御ユニット２１によって調整されたタイミングで、発音指示信号に基づき、所定の楽音を発音させる
なお、音声出力部２５１は、スピーカに限定されず、ヘッドホン等に音声を出力させる出力端子等であってもよい。
【００４７】
また、データ通信部２６は、少なくともスティック部１０との間で所定の無線通信を行う。所定の無線通信は、任意の方法で行うこととしてよく、本実施形態では、赤外線通信によりスティック部１０との間での無線通信を行う。なお、データ通信部１６による無線通信の方式は特に限定されない。
本実施形態において、データ通信部２６は、時間データが付された発音指示信号を、無線方式で演奏操作子であるスティック部１０から受信する本体通信手段として機能する。
【００４８】
また、センターユニット部２０はバッテリ２８を内蔵しており、バッテリ２８は、電源回路２７を介してセンターユニット部２０の各動作部に電源を供給する。
バッテリ２８は、一次電池でもよいし充電可能な二次電池でもよい。またバッテリ２８を内蔵していることは必須ではなく、ケーブル等を介して外部から電源供給を受ける構成としてもよい。
【００４９】
［楽音発生装置１の処理］
次に、図９及び図１０を参照して、楽音発生装置１の処理について説明する。
図９は、発音タイミング調整処理を示すフローチャートであり、図１０は、ヒストグラム更新処理を示すフローチャートである。
【００５０】
図９に示すように、センターユニット部２０の本体制御ユニット２１は、スティック部１０から発音指示信号（ノートオンイベント）を受信すると（ステップＳ１）、この発音指示信号（ノートオンイベント）から時間データであるタイムスタンプを抽出する（ステップＳ２）。
本体制御ユニット２１は、タイムスタンプを抽出すると、システムタイマーを読み込み（ステップＳ３）、タイムスタンプに示される時間と、システムタイマーの時間との時間差を算出する（ステップＳ４）。算出された時間差データは、時間バッファに格納される。スティック部１０側（すなわち送信側）とセンターユニット部２０側（すなわち受信側）のシステムタイマーの時間差が算出されると、本体制御ユニット２１は、ヒストグラムの更新処理を行う（ステップＳ５）。
図１０に本体制御ユニット２１によるヒストグラム更新処理を示す。
本実施形態では、新たに時間差が算出されると、本体制御ユニット２１は、時間差データ記憶部２３の時間バッファに記憶されている時間差データのうち、最も古い時間差データを時間バッファから読出し（ステップＳ１１）、当該最古の時間差データをヒストグラムの該当データから減算する（ステップＳ１２）。そして、この最古の時間差データに代えて、新たに取得された今回の（最新の）時間差データを時間バッファに格納する（ステップＳ１３）。そして、本体制御ユニット２１は、この更新された時間差データに基づいて直近の１００個の時間差データによりヒストグラムを作成し、ヒストグラムの更新を行う（ステップＳ１４）。
ヒストグラムの更新処理が完了すると、図９に戻って、本体制御ユニット２１は、今回新たに算出された時間差（タイムスタンプに示される時間とシステムタイマーの時間との時間差）は、更新されたヒストグラムにおける最大頻度の時間差（例えば図６（Ｂ）のヒストグラムの場合１５msec）に「指定時間」（すなわち外来要因による遅延時間を考慮した所定の設定ディレイ）を加算したものよりも早いか否かを判断する（ステップＳ６）。
そして、今回新たに算出された時間差が、更新されたヒストグラムにおける最大頻度の時間差に「指定時間」を加算したものよりも早くない（すなわち、同じ又は遅い）と判断した場合（ステップＳ６；ＮＯ）には、直ちに、当該発音指示信号にしたがって音声出力部２５１から所定の楽音を発音させる（ステップＳ７）。他方、今回新たに算出された時間差が、更新されたヒストグラムにおける最大頻度の時間差に「指定時間」を加算したものよりも早いと判断した場合（ステップＳ６；ＹＥＳ）には、早さの時間差分だけ発音を行わずに待機させ（ステップＳ８）、早さ分の時間が経過した後に当該発音指示信号にしたがって音声出力部２５１から所定の楽音を発音させる（ステップＳ７）。すなわち、この場合には、本体制御ユニット２１により判定された遅延時間（ヒストグラムにおける最大頻度の時間差に「指定時間」を加算した時間）を、発音指示信号に示される発音タイミングに加算して音声出力部２５１から所定の楽音を発音させる。
【００５１】
以上のように、本実施形態の楽音発生装置１によれば、スティック部１０本体の動きに基づいて発音指示信号を生成し、生成された発音指示信号に時間データを付して、無線方式でセンターユニット部２０に送信し、センターユニット部２０は、受信した発音指示信号に付された時間データに示される時間と当該発音指示信号を受信した時間との差分を算出して、発音指示信号を受信する毎に、当該差分のヒストグラムを作成するとともに、このヒストグラムに基づいて発音指示信号に基づく発音のタイミングを調整し、調整後のタイミングで、発音指示信号に基づき、音声出力部２５１から所定の楽音を発音させるようになっている。
これにより、送信側であるスティック部１０のシステムタイマーと、受信側であるセンタユニット部２０側のシステムタイマーとの時間がずれている場合にも、この時間差による発音タイミングのずれを小さくすることができる。このため、演奏者が演奏操作を行ってから楽音が発音されるまでの時間をほぼ一定に揃えることができ、例えば、打楽器において打面を連打した場合のように、早いリズムで演奏操作を行った場合等であっても、不自然さを感じることなく、違和感なく演奏を行うことができる。
特に、送信側であるスティック部１０が複数ある場合に、それぞれのスティック部１０の操作によって発音タイミングがばらつくと、演奏者に違和感を与えてしまう。この点、本実施形態のように、時間差を考慮して発音タイミングを調整することにより、同時に叩いたはずの演奏操作によって時間差のある発音が行われる等の不都合を回避することができ、違和感のない自然な演奏を行うことができる。
また、本実施形態では、発音タイミング調整手段としての本体制御ユニット２１は、ヒストグラムに基づいて、各発音指示信号毎に、発音指示信号に基づく発音を遅延させる遅延時間を判定し、判定された遅延時間を発音指示信号に示される発音タイミングに加算して発音手段である音声出力部２５１から所定の楽音を発音させるようになっている。このため、ヒストグラムに現れた最大頻度の遅延時間を考慮して発音タイミングを調整することができ、時間差による発音タイミングのずれを最小限度に抑えて、違和感のない演奏を実現することができる。
【００５２】
なお、以上本発明の実施形態について説明したが、本発明は、上記各実施形態に限定されず、その要旨を逸脱しない範囲で、種々変形が可能であることは言うまでもない。
【００５３】
例えば、上記実施形態では、スティック部１０（信号送信側）とセンターユニット部２０（信号受信側）とのシステムタイマーの時間差のみでなく、外来要因による遅延時間をも考慮して（すなわち、ヒストグラムにおける最大頻度の値に「指定時間」を加算して）発音タイミングの調整を行うものとしたが、発音タイミングの調整において外来要因による遅延時間をも考慮することは必須ではなく、信号送信側と信号受信側とのシステムタイマーの時間差のみに基づいて発音タイミングの調整を行ってもよい。
【００５４】
また、本実施形態では、検知手段としてのモーションセンサ部１４により取得されるモーションセンサデータとして、加速度センサにより計測された加速度のデータのみを例示したが、モーションセンサデータの内容はこれに限定されず、例えば、ジャイロにより角加速度を計測してその計測値を用いるようにしてもよい。
また、本実施形態では、スティック部１０に平行な軸の回りの回転はしないものとして説明したが、これらの回転等についても角加速度センサ等により計測して対応するようにしてもよい。
【００５５】
本実施形態では、楽音発生装置１が、演奏者の演奏操作に基づくスティック部１０（演奏操作子）の状態（例えば、振り下ろし位置、振り下ろし速度、振り下ろし角度等）を検知する検知手段として、スティック部１０のモーションセンサ部１４を備えている構成としたが、検知手段はここに例示したものに限定されず、例えばモーションセンサ部１４として、圧力センサ等を備えていてもよいし、各種イメージセンサの他、レーザー、超音波、その他距離や角度を計測することができる各種センサを用いた検出手段を適用してもよい。
【００５６】
また、本実施形態では、仮想的な打楽器として仮想のドラムセットＤ（図１（Ｂ）参照）を例にとって説明したが、これに限られるものではなく、本発明は、スティック部１０の振り下ろし動作で楽音を発音する木琴など他の楽器に適用することができる。
【００５７】
また、本実施形態では、発音手段である音声出力部２５１がセンターユニット部２０内に設けられている場合を例として説明したが、発音手段はセンターユニット部２０とは別体として構成されていてもよい。この場合には、発音手段とセンターユニット部２０とを有線又は無線で接続し、センターユニット部２０からの指示信号にしたがって発音手段が所定の発音を行うように構成する。
【００５８】
また、本実施形態では、演奏操作子が棒状のスティック部１０である場合を例としたが、演奏操作子はこれに限定されない。箱型等、スティック以外の形状のものでもよく、例えば携帯電話機等の携帯端末装置を演奏操作子として用いてもよい。
楽音発生装置１は、演奏操作子で空間を叩く演奏操作を行うことで所定の楽器の音を発音させるものであり、実際に演奏操作子を楽器の打面に打ち付けるものではないため、携帯端末装置等の精密な電子機器を演奏操作子として用いた場合でも、演奏操作子が破損するおそれがない。
【００５９】
以上本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
[請求項１]
演奏者が保持可能な演奏操作子と、
前記演奏者の操作によって生じる演奏操作子本体の動きに基づいて所定の楽音を発音する発音手段を備える本体装置と、
を備え、
前記演奏操作子は、
前記演奏操作子本体の動きを検知する動き検知手段と、
前記動き検出手段により検知された前記演奏操作子本体の動きに基づいて、前記発音手段に対して発音指示を与える発音指示信号を生成する発音指示生成手段と、
前記発音指示生成手段により生成された前記発音指示信号に送信のタイミングを表わす時間データを付して、無線方式で前記本体装置に送信する操作子通信手段と、
を備え、
前記本体装置は、
前記時間データが付された発音指示信号を、無線方式で前記演奏操作子から受信する本体通信手段と、
前記時間データが付された発音指示信号が受信される毎に、当該受信された時間データで示されるタイミングと前記本体通信手段において当該発音指示信号を受信したタイミングとの差分を算出する差分算出手段と、
前記差分が算出される毎に、当該算出された差分と過去に算出された差分とに基づいてヒストグラムを作成するヒストグラム作成手段と、
前記差分が算出される毎に、当該算出された差分と前記作成されたヒストグラムにおける最も頻度の高い差分とに基づいて、前記受信された発音指示信号を前記発音手段に供給するタイミングを制御するタイミング制御手段と、
を備えたことを特徴とする楽音発生装置。
[請求項２]
前記タイミング制御手段は、前記算出された差分が前記最も頻度の高い差分より大きいか否か判別し、大きいと判別された場合は前記受信された発音指示信号を直ちに前記発音手段に供給するとともに、大きくないと判別された場合は前記発音指示信号を受信したタイミングから前記最も頻度の高い差分を加算したタイミングで前記受信された発音指示信号を前記発音手段に供給することを特徴とする請求項１に記載の楽音発生装置。
【符号の説明】
【００６０】
１        楽音発生装置
１０      スティック部
１１      スティック制御ユニット
１４      モーションセンサ部
２０      センターユニット部
２１      本体制御ユニット
２２      音源データ記憶部
２３      時間差データ記憶部
１１１    発音指示生成部
２５１    音声出力部
Ｄ        ドラムセット
【図１】
0005664581.tif 000002
【図２】
0005664581.tif 000003
【図３】
0005664581.tif 000004
【図４】
0005664581.tif 000005
【図５】
0005664581.tif 000006
【図６】
0005664581.tif 000007
【図７】
0005664581.tif 000008
【図８】
0005664581.tif 000009
【図９】
0005664581.tif 000010
【図１０】
0005664581.tif 000011