(57)【要約】      （修正有）【課題】製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器を提供する。【解決手段】中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０とは同構造に構成されるので、別構造の打撃センサを用いる場合に比べて、電子ドラム１の製造コストを低減できると共に、中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０との打撃出力の特性の合わせ込みが不要となるので、その分、設計を容易化できる。しかも、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０より、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。よって、打面の中央部が打撃された場合に、その打撃を中央センサ１０が検出してから、第１周辺センサ２０〜第３周辺センサ４０が検出するまでの時間を短くでき、発音制御の遅延時間を短くできる。【選択図】図１
2018036642.tif 000002
【特許請求の範囲】
【請求項１】
打面と、その打面への打撃を検出する打撃センサとを備えた電子打楽器において、
前記打撃センサは、
前記打面の裏面側に複数配設されると共に、前記打面の中央側に配設される打撃センサと、前記打面の周辺側に配設される打撃センサとは、同構造に構成され、
前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されていることを特徴とする電子打楽器。
【請求項２】
前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより前記打面に近い位置に配設されることで、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されていることを特徴とする請求項１記載の電子打楽器。
【請求項３】
前記打撃センサは、前記打面の裏面側にクッション部材を介して配設されており、
そのクッション部材は、前記打面の周辺側に配設されたものの方が中央側に配設されたものより肉薄に形成されることで、前記打面の周辺側に配設された打撃センサが、前記打面の中央側に配設された打撃センサより前記打面から近い位置に配設されることを特徴とする請求項２記載の電子打楽器。
【請求項４】
前記打撃センサのクッション部材は、その打撃センサの配設部分の打面が強打された場合に、その打撃センサへ底当たりしない肉厚に形成されていることを特徴とする請求項３記載の電子打楽器。
【請求項５】
前記打撃センサのクッション部材は、その打撃センサの配設部分の打面が強打された場合のその打面のたわみ量の約１．５〜２倍の肉厚に形成されていることを特徴とする請求項３又は４に記載の電子打楽器。
【請求項６】
前記打面の周辺側に配設された打撃センサのクッション部材は、前記打面の中央が打撃された場合に、その打撃のピーク値を所定時間以内に検出できる肉厚に形成されていることを特徴とする請求項３から５のいずれかに記載の電子打楽器。
【請求項７】
前記打撃センサは、前記打面を平面視した場合において、その打面の中央に配設された１個の中央センサと、その中央センサを円中心とした円周上に等間隔に配設された少なくとも３個の周辺センサとを有して構成されていることを特徴とする請求項１から６のいずれかに記載の電子打楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子打楽器に関し、特に、製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器に関するものである。
【背景技術】
【０００２】
電子打楽器の一種として、種々の電子ドラムが開発されている。これらの電子ドラムでは、打撃を検出するための打撃センサを、打面の中央部と、打面の外周部（周辺部）とに配設して、各打撃センサの検出結果に応じて、打撃強度や打撃位置を検出し、打撃音を発音制御している。特許文献１，２の電子ドラムでは、打面の中央部に１個、打面の周辺部に４個の打撃センサがそれぞれ配設されている。また、特許文献３の電子ドラムでは、打面の中央部に１個の打撃センサが配設され、打面の周辺部に円環状のリングセンサが配設されている。特許文献４〜６の電子ドラムでは、打面の中央部に１個の打撃センサが配設され、打面の周辺部に円環状のキャリアを支持する複数の打撃センサが配設されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実開昭５４−１７２７２６号公報
【特許文献２】特開２０１２−２０３１９１号公報
【特許文献３】特開２００９−１８６８８６号公報
【特許文献４】米国特許８，５６３，８４３号公報
【特許文献５】米国特許８，８１６，１８１号公報
【特許文献６】米国特許８，９４０，９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１，２の電子ドラムでは、中央の打撃センサと、周辺部の打撃センサとは同構造であるので、打面中央部に比べて打面の振動（振幅）が小さい周辺部では打撃の検出感度が低下する。また打面中央部が打撃された場合、中央の打撃センサが打撃を検出してから周辺の打撃センサが打撃を検出し、信号到達時刻やピークレベルなどの必要情報を取得できるまでに時間を要すので、打撃音を発音制御するまでの遅延時間が長くなる。しかも、これらの現象は打面の口径が大きくなるほど顕著になるという問題点があった。
【０００５】
また、特許文献３〜６の電子ドラムでは、中央の打撃センサと周辺部の円環状のリングセンサやキャリアとは構造が全く異なるので、電子ドラムの製造コストは必然的に高くなる。しかも、構造の異なるセンサからの打撃出力の特性（波形、レベル、反応時間など）を合わせこむ必要があるという問題点があった。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この目的を達成するために本発明の電子打楽器は、打面と、その打面への打撃を検出する打撃センサとを備え、前記打撃センサは、前記打面の裏面側に複数配設されると共に、前記打面の中央側に配設される打撃センサと、前記打面の周辺側に配設される打撃センサとは、同構造に構成され、前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。
【発明の効果】
【０００８】
請求項１記載の電子打楽器によれば、打面の中央側に配設される打撃センサと打面の周辺側に配設される打撃センサとは同構造に構成されるので、別構造の打撃センサを用いる場合に比べて、電子ドラムの製造コストを低減できると共に、中央側と周辺側との打撃センサの打撃出力の特性の合わせ込みが不要となるので、その分、設計を容易化できるという効果がある。しかも、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。よって、打面の中央部が打撃された場合に、その打撃を中央側の打撃センサが検出してから、周辺側の打撃センサが検出するまでの時間を短くできる。よって、発音制御の遅延時間を短くできるという効果がある。
【０００９】
請求項２記載の電子打楽器によれば、請求項１の奏する効果に加え、次の効果を奏する。即ち、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面に近い位置に配設されている。よって、打面の中央部が打撃された場合に、その打撃を中央側の打撃センサが検出してから、周辺側の打撃センサが検出するまでの時間を短くできる。よって、発音制御の遅延時間を短くできるという効果がある。
【００１０】
また打面の中央部が打撃された場合、打面の中央部に比べて、周辺部では打撃の振動（振幅）が小さくなるので、その分、打撃検出の感度が低下する。しかし、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面に近い位置に配設されているので、かかる検出感度の低下を補うことができるという効果がある。
【００１１】
請求項３から６のいずれかに記載の電子打楽器によれば、請求項２の奏する効果に加え、次の効果を奏する。即ち、打撃センサは、打面の裏面側にクッション部材を介して配設されているので、打撃センサの直上を打撃された場合にも、クッション部材により、かかる打撃センサを保護して、その破損を抑制できるという効果がある。また一般に、電子打楽器では、打面はその外周端にテンションがかけられて張設されるので、打撃時における打面のたわみ量は、中央部が大きく、周辺部は中央部に比べて小さくなる。該電子打楽器によれば、打撃時における打面のたわみ量に合わせて、打面中央側のクッション部材を周辺側のクッション部材より肉厚に形成することで、即ち、打面周辺側のクッション部材を中央側のクッション部材より肉薄に形成することで、打面周辺側の打撃センサを、打面中央側の打撃センサより、打面に近い位置に配設できる。このように、クッション部材の肉厚を打面のたわみ量に合わせて変更することで、クッション部材により打撃センサを保護しつつ、打撃センサの打面からの配設位置を、打面の中央側と周辺側とで適切に調整できるという効果がある。
【００１２】
請求項７記載の電子打楽器によれば、請求項１から６のいずれかの奏する効果に加え、次の効果を奏する。即ち、打面を平面視した場合において、打撃センサは、打面の中央に配設された１個の中央センサと、その中央センサを円中心とした円周上に等間隔に配設された少なくとも３個の周辺センサとを有して構成されている。よって、少なくとも３個の周辺センサによる打撃信号の検出時間差により、その３個の周辺センサが配設された円周内の打面中央からの打撃位置を検出できると共に、１個の中央センサによる打撃信号の検出波形によって、３個の周辺センサが配設された円周外の打面中央からの打撃位置を検出できるという効果がある。即ち、打面中央からの打撃位置を適切に検出できるという効果がある。なお、打面の形状は、円形でも矩形状でも、いずれの形状に構成されていても良い。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における電子ドラムの分解斜視図である。
【図２】電子ドラムの断面図である。
【図３】電子ドラムの各センサ配置を模式的に表した平面図である。
【図４】電子ドラムの電気的構成を示すブロック図である。
【図５】（ａ）は、中央センサ打撃位置テーブルを模式的に表した図であり、（ｂ）は、周辺センサ打撃位置テーブルを模式的に表した図であり、（ｃ）は、センサ値リングバッファを模式的に表した図である。
【図６】（ａ）は、中央センサにおける打撃に基づく電圧波形（中央センサからの出力波形）の電圧−時間グラフであり、（ｂ）は、電子ドラムの打面への、ある打撃に対して検出される、第１周辺センサ、第２周辺センサ、第３周辺センサにおける電圧波形の電圧−時間グラフである。
【図７】（ａ）は、初期化処理のフローチャートであり、（ｂ）は、ＭＩＤＩ受信処理のフローチャートである。
【図８】定期処理のフローチャートである。
【図９】中央センサ打撃処理のフローチャートである。
【図１０】周辺センサ打撃処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図１及び図２を参照して、電子ドラム１の全体構成について説明する。図１は、本発明の一実施形態における電子ドラム１の分解斜視図であり、図２は、電子ドラム１の断面図である。なお、図１及び図２では、理解を容易にするために、電子ドラム１の一部が省略して図示される。また、図１及び図２の上側を電子ドラム１の上方、その下側を電子ドラム１の下方とする。
【００１５】
図１に示すように、電子ドラム１は、演奏者が持つスティック等を使用して演奏されるドラムを模擬した電子打楽器である。この電子ドラム１は、上端（図１及び図２の上側の端部）が開口するシェル２と、そのシェル２の上端の開口を覆うヘッド３と、そのヘッド３の外縁に連結されるリム４と、そのリム４が取り付けられる固定部５と、ヘッド３に対向配置されてシェル２の内周側に配設されるフレーム６と、そのフレーム６に支持される制御装置７と、ヘッド３及びフレーム６の間に介設されると共に平面視において打面（後述する膜部材３ａ）の中央側に配設される中央センサ１０と、その中央センサ１０よりも平面視において打面の周辺側（膜部材３ａの径方向外側）に配設される複数の周辺センサ（第１周辺センサ２０、第２周辺センサ３０及び第３周辺センサ４０）とを備える。
【００１６】
電子ドラム１は、演奏者がスティック等（図示せず）を用いて打面を打撃した場合に、その打撃に基づく中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０からの検出結果を音源７６（図４参照）へ出力するものであり、かかる検出結果に基づいた楽音信号が音源７６により生成される。その楽音信号がアンプ７７を介してスピーカ７８へ出力され（図４参照）、その楽音信号に基づく電子楽音がスピーカ７８から放音される。
【００１７】
シェル２は、その軸方向両端（上下の両端）が開口する円筒状に形成され、その外径が１４インチに形成される。なお、シェル２の外径は１４インチに限らず、その外径を１４インチ未満または１４インチよりも大きい外径に設定することも可能である。
【００１８】
ヘッド３は、打面として形成される膜部材３ａと、その膜部材３ａの外縁が接着される円環状の枠部３ｂとを備える。膜部材３ａは、合成繊維を編み上げたメッシュ状素材や合成樹脂により形成されたフィルム状素材によって円板状に形成される。枠部３ｂは、合成樹脂または金属材料によって形成され、この枠部３ｂに膜部材３ａが固定される。
【００１９】
リム４は、ヘッド３に張力を付与する円環状の部材である。このリム４は、下端（固定部５側の端部。図２の下側の端部）が枠部３ｂに接触する円筒状の枠接触部４ａと、その枠接触部４ａの上端（枠部３ｂに接触する端部とは反対側の端部）に全周に沿って配設される円環状の弾性部材４ｂと、枠接触部４ａの下端からその径方向外側へ張り出す円環状のフランジ部４ｃとを備える。
【００２０】
枠接触部４ａは、後述するボルトＢ１の締結力を枠部３ｂに付与し、膜部材３ａを張設するための部位である。この枠接触部４ａの内径は、シェル２の外径よりも大きく、且つ、枠部３ｂの外径よりも小さい寸法に設定される。弾性部材４ｂは、演奏者によって打撃される部位であり、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される。フランジ部４ｃには、ボルトＢ１を挿入するための複数の貫通孔が後述する被締結部５ｃに対応した位置に形成される。
【００２１】
固定部５は、ヘッド３及びリム４をシェル２に固定するための部材である。この固定部５は、シェル２の下端（図２の下側の端部）に固定される環状部５ａと、その環状部５ａから径方向外側へ張り出して形成される複数の張出部５ｂと、それら複数の張出部５ｂから上方へ向けて立設される複数の被締結部５ｃとを備える。
【００２２】
環状部５ａは、合成樹脂または金属材料によって円環状に形成され、この環状部５ａと張出部５ｂとが一体に形成される。張出部５ｂには、ねじ（図示せず）によって被締結部５ｃが固定され、この被締結部５ｃは、金属材料によって円筒状に形成され、その内周面にめねじが形成される。フランジ部４ｃに挿入されたボルトＢ１が被締結部５ｃに螺合されることにより、ヘッド３及びリム４がシェル２に固定される。
【００２３】
フレーム６は、シェル２の内周側で中央センサ１０や第１周辺センサ２０〜第３周辺センサ４０等の各種部材を支持するための椀状の部材であり、合成樹脂によって形成される。このフレーム６は、ヘッド３と所定距離を隔てて対向配置される底部６ａと、その底部６ａの外縁から立設される側壁部６ｂと、底部６ａからヘッド３側へ立設される複数の中央突起部６ｃと、それら複数の中央突起部６ｃ同士を連結する連結部６ｄと、中央突起部６ｃ及び連結部６ｄから放射状に側壁部６ｂ側へ延設される複数のリブ６ｅと、そのリブ６ｅに一体に形成される周辺突起部６ｆとを備える。
【００２４】
側壁部６ｂの上端には、その径方向外側へ向けて張り出すと共に、下方へ向けて湾曲する湾曲部６ｂ１が形成される。この湾曲部６ｂ１がシェル２の上端の縁に沿って係合されることでシェル２の上端側の開口の縁にフレーム６が支持される。
【００２５】
中央突起部６ｃは、中央センサ１０が取り付けられる部位であり、その基端が底部６ａと一体に形成され、シェル２の周方向に沿って複数（本実施形態では、３個）配設される。これら複数の中央突起部６ｃ同士をシェル２の周方向に沿って連結する態様で連結部６ｄが形成され、それら中央突起部６ｃ及び連結部６ｄに複数（本実施形態では、１２個）のリブ６ｅが連結される。
【００２６】
複数のリブ６ｅは、底部６ａから平板状に立設するようにそれぞれ形成されると共に、シェル２の周方向に沿って等間隔に配置され、それら複数のリブ６ｅのうち、３個のリブ６ｅのそれぞれに一対の周辺突起部６ｆが形成される。
【００２７】
周辺突起部６ｆは、リブ６ｅの延設方向に沿って一対に形成され、それら一対の周辺突起部６ｆの上端にはめねじ孔がそれぞれ形成される。この一対の周辺突起部６ｆは、シェル２の周方向に沿って３箇所に配設され、これら３箇所の周辺突起部６ｆに第１周辺センサ２０〜第３周辺センサ４０がそれぞれ配設される。よって、第１周辺センサ２０〜第３周辺センサ４０は、シェル２の周方向に沿って等間隔に配設される。
【００２８】
中央センサ１０は、打面が打撃されたことを検出するセンサであり、平面視においてフレーム６の中央に配設される。この中央センサ１０は、中央突起部６ｃの先端に取り付けられるプレート１１と、そのプレート１１のヘッド３側に両面テープ１２を介して接着されるヘッドセンサ１３と、そのヘッドセンサ１３のヘッド３側に接着されるクッション部材１４とを備える。
【００２９】
プレート１１は、金属材料によって円板状に形成され、その外縁にはシェル２の径方向外側に張り出す３個の被固定部１１ａが形成される。この被固定部１１ａがボルトＢ２によって中央突起部６ｃの先端に固定される。
【００３０】
ヘッドセンサ１３は、打面が打撃されたことを検出する円板状のセンサであり、圧電素子から構成される。クッション部材１４は、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される円錐台形状の緩衝材であり、その上端が膜部材３ａに当接して配設される。
【００３１】
第１周辺センサ２０、第２周辺センサ３０及び第３周辺センサ４０は、打面が打撃されたことを検出するセンサであり、平面視において中央センサ１０を円中心とした円周上に等間隔に配設される。
【００３２】
なお、第１周辺センサ２０、第２周辺センサ３０及び第３周辺センサ４０は、配設される位置が異なる以外は同じセンサとして構成される。よって、第２周辺センサ３０及び第３周辺センサ４０には、第１周辺センサ２０と同一の符号を付してその詳細な説明を省略する。
【００３３】
第１周辺センサ２０（第２周辺センサ３０及び第３周辺センサ４０）は、一対の第１周辺突起部６ｆの先端に取り付けられるプレート２１と、そのプレート２１のヘッド３側の面に両面テープ２２を介して接着されるヘッドセンサ２３と、そのヘッドセンサ２３のヘッド３側の面に接着されるクッション部材２４とを備える。
【００３４】
プレート２１は、金属材料によって円板状に形成され、その外縁にはリブ６ｅの延設方向に沿って張り出す２個の被固定部２１ａが形成される。この被固定部２１ａがボルトＢ３によって周辺突起部６ｆに固定される。
【００３５】
ヘッドセンサ２３は、打面が打撃されたことを検出する円板状のセンサであり、圧電素子から構成される。このヘッドセンサ２３は、中央センサ１０のヘッドセンサ１３よりも打面に近い位置に配設される（即ち、ヘッドセンサ１３と膜部材３ａとの対向間隔よりもヘッドセンサ２３と膜部材３ａとの対向間隔のほうが短く形成される）。
【００３６】
クッション部材２４は、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される円錐台形状の緩衝材であり、中央センサ１０のクッション部材１４と同じ弾性材料によって形成される。
【００３７】
即ち、第１周辺センサ２０〜第３周辺センサ４０は、実質的に中央センサ１０と同構造のセンサ（膜部材３ａにクッション部材１４，２４が当接され、そのクッション部材１４，２４の下面にヘッドセンサ１３，２３が配設されるセンサ）として構成される。これにより、中央センサ１０と、第１周辺センサ２０〜第３周辺センサ４０とを別構造のセンサから構成する場合に比べて、電子ドラム１の製造コストを低減できる。また、中央センサ１０の打撃出力の特性と、第１周辺センサ２０〜第３周辺センサ４０の打撃出力の特性との合わせ込みが不要となるので、その分、設計を容易化できる。
【００３８】
ここで、クッション部材２４の厚み（ヘッドセンサ２３からの立設高さ）は、クッション部材１４の厚み（ヘッドセンサ１３からの立設高さ）よりも薄く（立設高さが低く）設定される（即ち、クッション部材２４よりもクッション部材１４が肉厚に形成される）。即ち、中央センサ１０は、第１周辺センサ２０〜第３周辺センサ４０よりも打面から離れた位置に配設される。
【００３９】
これにより、ヘッドセンサ２３と打面との対向間隔を短くすることができるので、打面の中央部（クッション部材１４が当接する付近）が打撃された場合に、その打撃を中央センサ１０のヘッドセンサ１３が検出してから、第１周辺センサ２０〜第３周辺センサ４０のヘッドセンサ２３が検出するまでの時間を短くできる。即ち、中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０とにそれぞれ同じ厚みのクッション部材を設ける場合に比べ、第１周辺センサ２０〜第３周辺センサ４０のヘッドセンサ２３が打撃を検出するまでの時間（即ち、信号到達時刻やピークレベルなどの必要情報を取得できるまでの時間）を短くすることができるので、制御装置７による発音制御の遅延時間を短くできる。
【００４０】
また、打面の中央部が打撃された場合、周辺部（膜部材３ａにおける中央部よりもシェル２の径方向外側）では打撃の振動（膜部材３ａの振幅）が打面の中央部に比べて小さくなるので、その分、打撃検出の感度が低下する。
【００４１】
これに対して、本実施形態の電子ドラム１によれば、ヘッドセンサ２３は、ヘッドセンサ１３よりも打面に近い位置に配設される（ヘッドセンサ１３と膜部材３ａとの対向間隔よりもヘッドセンサ２３と膜部材３ａとの対向間隔のほうが短く形成される）ので、かかる検出感度の低下を補うことができる。
【００４２】
また、ヘッドセンサ１３，２３は、打面の裏面側にクッション部材１４，２４を介して配設されているので、ヘッドセンサ１３，２３の直上を打撃された場合であっても、その打撃の衝撃をクッション部材１４，２４によって吸収することができる。よって、打撃の衝撃からヘッドセンサ１３，２３を保護して、その破損を抑制できる。
【００４３】
ここで、打撃検出の感度を高めるためには、クッション部材１４，２４の厚みを薄く設定し、ヘッドセンサ１３，２３は、打面に極力近い位置に配設されることが好ましい。しかしながら、クッション部材１４，２４の厚みを薄くしてヘッドセンサ１３，２３を打面に近づけ過ぎると、打面が強打されることでヘッドセンサ１３，２３へ底当たりする。即ち、クッション部材１４，２４では打撃による衝撃を吸収しきれず、ヘッドセンサ１３，２３が実質的に直接強打される状態となるため、ヘッドセンサ１３，２３が破損する。
【００４４】
よって、クッション部材１４，２４は、打面が強打された場合に、ヘッドセンサ１３，２３へ底当たりしない厚みに形成されることが好ましい。この場合、クッション部材１４，２４の厚みをヘッドセンサ１３，２３へ底当たりしない厚みに設定するには、まず、クッション部材１４，２４と打面とが当接する付近を、クッション部材１４，２４を取り外した状態でスティックによって強打し、打面（膜部材３ａ）の最大たわみ量を測定する。このたわみ量は、打面のテンションによって変化するが、想定される範囲（演奏可能な範囲）における最も低いテンションで打面を張設した状態で測定する。
【００４５】
この場合、打面が強打された場合の打面の最大たわみ量に対し、クッション部材１４，２４の厚みは、その最大たわみ量の約１．５〜２倍の厚みに設定されることが好ましい。クッション部材１４，２４の厚みが強打時の打面の最大たわみ量の１．５倍よりも薄い場合は、ヘッドセンサ１３，２３へ底当たりしやすくなる。また、クッション部材１４，２４の厚みが強打時の打面の最大たわみ量の２倍よりも厚い場合は、その厚みが過剰になるため、ヘッドセンサ１３，２３の検出感度が低下する。
【００４６】
即ち、クッション部材１４，２４の厚みを、打面が強打された場合の打面の最大たわみ量の約１．５〜２倍の厚みに形成することにより、ヘッドセンサ１３，２３が破損することを抑制しつつ、その検出感度を高めることができる。
【００４７】
本実施形態では、強打時の打面の最大たわみ量が、打面の中心付近（クッション部材１４が当接する付近）で２０ｍｍ、それよりも周辺側（クッション部材２４が当接する付近）で１４ｍｍであった。よって、クッション部材１４の厚みを３５ｍｍ（最大たわみ量２０ｍｍの１．７５倍）に、クッション部材２４の厚みを２５ｍｍ（最大たわみ量１４ｍｍの１．７８倍）に、それぞれ設定した。これにより、打面が強打された場合であっても、ヘッドセンサ１３，２３へ底当たりすることを抑制できると共に、ヘッドセンサ１３，２３の検出感度を高めることができる。
【００４８】
このように、打面はその外周端にテンションがかけられて張設されるので、打撃時における打面の最大たわみ量は、中央付近が大きく、それよりも周辺側は中央付近に比べて小さくなる。よって、その最大たわみ量に合わせて、クッション部材１４をクッション部材２４より肉厚に形成する（クッション部材２４をクッション部材１４より肉薄に形成する）ことで、ヘッドセンサ２３を、ヘッドセンサ１３より、打面に近い位置に配設できる。
【００４９】
従って、打撃時における打面のたわみ量に合わせてクッション部材１４，２４の厚みを設定（本実施形態では、たわみ量の約１．７５倍の厚みに設定）することにより、クッション部材１４，２４によってヘッドセンサ１３，２３を保護しつつ、ヘッドセンサ１３，２３の打面からの配設位置（膜部材３ａとの対向間隔）をそれぞれ適切に調整することができる。
【００５０】
即ち、打面のたわみ量に合わせて予めクッション部材１４，２４の高さを設定し、そのクッション部材１４，２４の下面にヘッドセンサ１３，２３を配設すれば、底当たりせず、且つ、検出感度を高めることができる高さにヘッドセンサ１３，２３を配設することができる。
【００５１】
また、打面を平面視した場合において、その打面の中央に配設される１個の中央センサ１０と、その中央センサ１０を円中心とした円周上に沿って等間隔に配設された複数（本実施形態では、３個）の周辺センサとが配設されているので、３個の周辺センサが配設される円周内が打撃された場合、それら３個の周辺センサそれぞれで検出される打撃信号（後述するピーク、電圧波形の立ち下がり、又は、立ち上がり）の検出時間差によって、打面の中央からの打撃位置を検出できる。更に、中央センサ１０による打撃信号の検出波形によって、３個の周辺センサが配設された円周外において、打面の中央からの打撃位置を検出できる。よって、中央センサ１０と３個の周辺センサとによって、打面の中央からの打撃位置を適切に検出できる。
【００５２】
また、クッション部材２４の厚みは、打面の中央が打撃された場合の打撃信号（後述するピーク）をヘッドセンサ２３によって所定時間（本実施形態では、中央センサ１０が打撃を検出してから２ｍｓ）以内に検出できる厚みに設定されている。この２ｍｓは、後述する中央センサ１０によるスキャンタイムである。このスキャンタイム内に第１周辺センサ２０〜第３周辺センサ４０で打撃のピークを検出させる（即ち、打撃の有無とその強度を検出させる）ことにより、第１周辺センサ２０〜第３周辺センサ４０で検出されるピークの時間差から打面の中央付近の打撃位置の検出を行うことができる。よって、後述する初期半波ピッチに基づいて、打面の中央付近の打撃位置を中央センサ１０によって検出する場合に比べ、打撃位置の検出をより短い時間で行うことができる。
【００５３】
次に、電子ドラム１に対する打撃を、中央センサ１０及び、第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値に応じて、その打撃位置およびベロシティを算出し、ドラム音の演奏を行う制御プログラムについて説明する。
【００５４】
まず、図３を参照して、電子ドラム１の各センサの配置について説明する。図３は、電子ドラム１のセンサ配置を模式的に表した平面図である。電子ドラム１は、打面を平面視した場合において、打面は円形に形成され、中央センサ１０は、打面の中央に配設されると共に、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０を円中心とした同心円の円周上に等間隔に配設されている。よって、円形に形成された打面の全域について、打撃を適切に検出して、そのベロシティを算出することができる。また、打面の中央は打面の周辺部に比べて打面の変形量（たわみ量）が大きいので、打面の中央に配設された中央センサ１０は、打面の周辺部に配設される第１周辺センサ２０〜第３周辺センサ４０に比べて打撃に対するセンサ出力値のレンジが広く、打撃の検出感度が良い。
【００５５】
なお、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０による打撃の検出から２ｍｓのウエイト処理（以下「中央センサ１０によるスキャンタイム」と称する）中に、同じ打撃によるセンサ出力値の絶対値の最大値（以下「ピーク」と称する）が、第１周辺センサ２０〜第３周辺センサ４０の全てで検出でき、且つ、中央センサ１０が打撃を検出してから、中央センサ１０によるスキャンタイム内に、中央センサ１０のセンサ出力値による打撃における最初のマイナス値の波形、即ち、初期半波が検出できる位置に配設される。具体的に、第１周辺センサ２０〜第３周辺センサ４０は、図３における「１００」の位置に配設される。
【００５６】
本実施形態においては、打面の中央付近の打撃位置の検出を第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値により行い、それ以外の打撃位置の検出を中央センサ１０のセンサ出力値と、第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値とにより行う。詳細は後述するが、中央センサ１０による打撃位置は、中央センサ１０のセンサ出力値による打撃における最初のマイナス値の波形、即ち、初期半波のピッチの大きさによって算出される。一方、第１周辺センサ２０〜第３周辺センサ４０の打撃位置の検出は、第１周辺センサ２０と第２周辺センサ３０とのピークを検出する時間差と、第１周辺センサ２０と第３周辺センサ４０とのピークを検出する時間差とから算出される。
【００５７】
中央センサ１０によるスキャンタイム内に、中央センサ１０における初期半波が完全に検出され、且つ、同一の打撃による、第１周辺センサ２０〜第３周辺センサ４０のピークが検出される場合は、中央センサ１０により算出される打撃位置と、第１周辺センサ２０〜第３周辺センサ４０による打撃位置との重み付け演算によって打撃位置が算出される。
【００５８】
一方、打面の中央付近、即ち、中央センサ１０付近に対する打撃の場合（図３の「７５」の位置より内周側）は、中央センサ１０で検出される初期半波のピッチが大きく、中央センサ１０によるスキャンタイム内に収まらない場合があり、その時は中央センサ１０による正確な打撃位置が算出できない。即ち中央センサ１０で検出される、初期半波のピッチの大きさに基づいて、打撃位置を算出できる領域は、打面の中央付近よりも外周側に限定される。
【００５９】
これに対して、第１周辺センサ２０〜第３周辺センサ４０による打撃位置は、第１周辺センサ２０と第２周辺センサ３０とのピークを検出する時間差と、第１周辺センサ２０と第３周辺センサ４０とのピークを検出する時間差とから算出される。また、上述した通り、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０の打撃を検出してからの中央センサ１０によるスキャンタイム内に、その打撃の初期半波が検出できる位置に配設される。
【００６０】
ここで、中央センサ１０と、第１周辺センサ２０〜第３周辺センサ４０との距離が大きいと、中央センサ１０が打撃を検出してから、第１周辺センサ２０〜第３周辺センサ４０が、その打撃を検出するまでの時間が長くなる。従って、第１周辺センサ２０〜第３周辺センサ４０が、中央センサ１０によるスキャンタイム内に、その打撃を検出できる位置より外周側に配設されると、中央センサ１０によるスキャンタイム内に第１周辺センサ２０〜第３周辺センサ４０によって打撃が検出されず、打撃位置が算出できない。さらに、かかる第１周辺センサ２０〜第３周辺センサ４０の配設位置において、打面の中央付近を打撃すると、中央センサ１０によるスキャンタイム内に、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が算出できない上に、上述した通り、中央センサ１０によって正確な打撃位置も算出できない。即ち中央センサ１０によるスキャンタイム内に、打撃位置が正確に算出できない領域が存在してしまう。
【００６１】
そこで、本実施形態における第１周辺センサ２０〜第３周辺センサ４０は、打面が打撃された場合に、中央センサ１０が打撃を検出してから、中央センサ１０によるスキャンタイム内にその打撃を検出でき、且つ、中央センサ１０によるスキャンタイム内に、その打撃の初期半波を検出できる位置（図３における「１００」の位置）に配設される。これにより、打面の中央付近の打撃であっても、中央センサ１０によるスキャンタイム内に、第１周辺センサ２０〜第３周辺センサ４０による打撃位置の算出が可能となる。そして、第１周辺センサ２０〜第３周辺センサ４０により検出される打撃位置が、打面の中央付近であると判断される場合は、算出可能な第１周辺センサ２０〜第３周辺センサ４０による打撃位置のみから、打撃位置が算出される。これにより、正確な打撃位置を取得することができる。
【００６２】
また、打撃強度（ベロシティ）の算出は、打撃によって検出される、中央センサ１０のピークと、第１周辺センサ２０〜第３周辺センサ４０のピークとによる重み付け演算に応じて行う。詳細は後述するが、中央センサ１０によるスキャンタイム内に、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０によって打撃が検出された場合は、中央センサ１０のピークと、第１周辺センサ２０〜第３周辺センサ４０のピークとから、ベロシティを算出する。これにより、打撃の感度が高い中央センサ１０と、第１周辺センサ２０〜第３周辺センサ４０とからベロシティが算出されるので、より正確にベロシティが算出できる。
【００６３】
これに対して、第１周辺センサ２０〜第３周辺センサ４０による打撃の検出から２ｍｓのウエイト処理（以下「周辺センサによるスキャンタイム」と称する）内において、中央センサ１０によって打撃を検出しない場合は、第１周辺センサ２０〜第３周辺センサ４０ピークからベロシティが算出される。これにより、打面の外周部等で、中央センサ１０で打撃が検出できない程の弱い打撃を行ったとしても、確実にベロシティが算出され、そのベロシティに基づいて楽音の生成指示が行われる。
【００６４】
なお、本実施形態においては、打面の中央の位置を「０」とし、打面における最外周の位置を「１２７」とする。また、第１周辺センサ２０〜第３周辺センサ４０は、「１００」の位置に、等間隔に配設される（即ち、第１周辺センサ２０〜第３周辺センサ４０は正三角形の頂点の位置）。また、打撃位置の算出を、第１周辺センサ２０〜第３周辺センサ４０により検出される打撃位置のみで行うかどうかの閾値を「７５」の位置とする。
【００６５】
次に、図４を参照して、電子ドラム１の電気的構成について説明する。図４は電子ドラム１の電気的構成を示すブロック図である。電子ドラム１は、電子ドラム１の各部を制御するための制御装置７を備えている。制御装置７は、ＣＰＵ７１と、ＲＯＭ７２と、ＲＡＭ７３とを有し、それぞれバスライン７４を介して接続される。また、バスライン７４には、中央センサ１０と、第１周辺センサ２０と、第２周辺センサ３０と、第３周辺センサ４０と、外部入出力端子７５とがそれぞれ接続される。外部入出力端子７５には、音源７６又は検査ＰＣ７９が接続される（図面には、説明のために、音源７６と検査ＰＣ７９との両方が接続された状態を図示している）。音源７６にはアンプ７７が接続され、アンプ７７にはスピーカ７８が接続される。
【００６６】
ＣＰＵ７１は、バスライン７４により接続された各部を制御する演算装置である。ＲＯＭ７２は、書き換え不可能なメモリであり、制御プログラム７２ａと、中央センサ打撃位置テーブル７２ｂと、周辺センサ打撃位置テーブル７２ｃとが記憶される。ＣＰＵ７１によって、制御プログラム７２ａが実行されると、初期化処理（図７（ａ））が実行される。中央センサ打撃位置テーブル７２ｂは、中央センサ１０に対する打撃の出力値による、初期半波のピッチΔＴｈｗから、電子ドラム１の打撃位置を取得するテーブルである。ここで、この初期半波のピッチΔＴｈｗについて、図６（ａ）を参照して説明する。
【００６７】
図６（ａ）は、中央センサ１０における打撃に基づく電圧波形（中央センサ１０からの出力波形）の電圧−時間グラフである。縦軸が電圧を示し、横軸が時間を示す。中央センサ１０が出力する打撃に基づく電圧波形の開始の時刻Ｔｓと、その直後の電圧波形のゼロクロス点となる時刻Ｔｅとの間の電圧波形はマイナス値となる。これは、電子ドラムの打面が打撃されることにより、打面が負方向に「たわむ」からである。本実施形態においては、この打撃の検出開始における時刻ＴｓからＴｅまでに出力されるマイナス値の電圧波形のことを「初期半波」と称する。一般的に、中央センサ１０と打撃位置との距離に応じて、中央センサ１０によって検出される初期半波のピッチΔＴｈｗ，即ち、時刻Ｔｅと時刻Ｔｓとの時間差は変化するという特性を持つ。具体的には、打撃位置が中央センサ１０に近いほど、初期半波のピッチΔＴｈｗが大きくなり、打撃位置が中央センサ１０から離れるほど、初期半波のピッチΔＴｈｗが小さい特性を持つ。この関係性を実測値から算出し、テーブル化したものが、中央センサ打撃位置テーブル７２ｂである。図５（ａ）を参照して、中央センサ打撃位置テーブル７２ｂについて説明する。
【００６８】
図５（ａ）は、中央センサ打撃位置テーブル７２ｂを模式的に表した図である。中央センサ打撃位置テーブル７２ｂは、初期半波のピッチΔＴｈｗに応じて、実測値から算出された打撃位置が記憶されるテーブルである。中央センサ１０における打撃に基づく電圧波形から算出された初期半波のピッチΔＴｈｗを中央センサ打撃位置テーブル７２ｂの初期半波のピッチΔＴｈｗと参照し、該当する打撃位置が取得される。取得された打撃位置と、後述の第１周辺センサ２０〜第３周辺センサ４０から求めた打撃位置とを用いて、打撃位置を算出し、それに基づいて電子ドラム１の演奏情報が生成される。なお、図５（ａ）における、中央センサ打撃位置テーブル７２ｂの各数値は、必ずしもこれに限られるものではなく、ヘッド３や中央センサ１０やクッション部材１４の素材や特性、中央センサ１０の配置、クッション部材１４の高さなどに応じて、適宜設定してもよい。
【００６９】
図４に戻る。周辺センサ打撃位置テーブル７２ｃは、第１周辺センサ２０〜第３周辺センサ４０における打撃検出の時間差によって、電子ドラム１の打撃位置を取得するテーブルである。ここで、第１周辺センサ２０〜第３周辺センサ４０における打撃検出の時間差について、図６（ｂ）を参照して説明する。
【００７０】
図６（ｂ）は、電子ドラム１の打面への、ある打撃に対して検出される、第１周辺センサ２０，第２周辺センサ３０，第３周辺センサ４０における電圧波形の電圧−時間グラフである。それぞれ、縦軸が電圧を示し、横軸が時間を示す。第１周辺センサ２０に検出される、ある打撃によるピークを検出する時刻をピーク時刻Ｔｍ１とし、第２周辺センサ３０，第３周辺センサ４０によって検出される、同じ打撃によるピークが検出される時刻をそれぞれピーク時刻Ｔｍ２，ピーク時刻Ｔｍ３とする。また、ピーク時刻Ｔｍ１とピーク時刻Ｔｍ２との時間差をΔＴ１，ピーク時刻Ｔｍ１とピーク時刻Ｔｍ３との時間差をΔＴ２とする。第１周辺センサ２０，第２周辺センサ３０，第３周辺センサ４０はそれぞれ、打面の中央から「１００」の位置に等間隔で配設されるので（図３参照）、打面の中央を打撃された場合は、検出されるピーク時刻Ｔｍ１，Ｔｍ２，Ｔｍ３が等しい。一方、打面の中央以外を打撃された場合は、検出されるピーク時刻Ｔｍ１，Ｔｍ２，Ｔｍ３は、その打撃位置に応じて変化する。即ち、打撃位置に応じてΔＴ１，ΔＴ２は変化する。そこで、本実施形態において、第１周辺センサ２０を周辺センサの基点として、第２周辺センサ３０，第３周辺センサ４０との打撃のピークの時間差ΔＴ１，ΔＴ２に応じた、打撃位置を実測値から算出し、テーブル化したものが、周辺センサ打撃位置テーブル７２ｃである。図５（ｂ）を参照して、周辺センサ打撃位置テーブル７２ｃについて説明する。
【００７１】
図５（ｂ）は、周辺センサ打撃位置テーブル７２ｃを模式的に表した図である。周辺センサ打撃位置テーブル７２ｃは、第１周辺センサ２０と、第２周辺センサ３０，第３周辺センサ４０との打撃のピークの時間差ΔＴ１，ΔＴ２に応じて、実測値から算出された打撃位置が記憶されるテーブルである。打撃のピークの時間差ΔＴ１及びΔＴ２を、周辺センサ打撃位置テーブル７２ｃの時間差ΔＴ１及びΔＴ２と参照し、該当する打撃位置が取得される。これにより、第１周辺センサ２０〜第３周辺センサ４０による打撃位置を、その都度、打撃のピークの時間差ΔＴ１及びΔＴ２から算出する場合と比較して、迅速に取得することができる。取得された打撃位置と、中央センサ１０から求めた打撃位置とを用いて、打撃位置を算出し、それに基づいて電子ドラム１の演奏情報が生成される。なお、打撃のピークの時間差ΔＴ１及びΔＴ２による打撃位置は、第１周辺センサ２０〜第３周辺センサ４０の位置より外周側では算出できない。これは、例えば、第１周辺センサ２０の位置（位置Ａ）で打撃された場合の打撃のピークの時間差ΔＴ１及びΔＴ２と、位置Ａと打面中央とを結ぶ延長線上かつ、第１周辺センサ２０の外周側の位置で打撃された場合の打撃のピークの時間差ΔＴ１及びΔＴ２とが、同じ値となるからである。従って、周辺センサ打撃位置テーブル７２ｃにおいても、時間差ΔＴ１及びΔＴ２により、第１周辺センサ２０〜第３周辺センサ４０よりも外周側である場合の記憶位置には、第１周辺センサ２０〜第３周辺センサ４０の位置と同じ「１００」が記憶される。
【００７２】
なお、図５（ｂ）における周辺センサ打撃位置テーブル７２ｃの各数値は、必ずしもこれに限られるものではなく、ヘッド３や第１周辺センサ２０〜第３周辺センサ４０やクッション部材２４の素材や特性、第１周辺センサ２０〜第３周辺センサ４０の配置、クッション部材２４の高さなどに応じて、適宜設定される。
【００７３】
また、図５（ｂ）における周辺センサ打撃位置テーブル７２ｃは、時間差ΔＴ１及びΔＴ２の絶対値に対して、打撃位置が算出されるが、時間差ΔＴ１及びΔＴ２の正負の符号を含めて、打撃位置が算出されてもよい。即ち、打撃のピークの時間差ΔＴ１及びΔＴ２の正負の符号によって、算出される打撃位置（中央センサ１０からの距離）が異なる構成としてもよい。
【００７４】
図４に戻る。ＲＡＭ７３は、ＣＰＵ７１が制御プログラム７２ａ等のプログラム実行時に各種のワークデータやフラグ等を書き換え可能に記憶するメモリであり、センサ値メモリ７３ａと、センサ値リングバッファ７３ｂと、センサピーク値メモリ７３ｃと、中央センサスキャンフラグ７３ｄと、周辺センサスキャンフラグ７３ｅと、中央センサ打撃位置ゲインメモリ７３ｆと、中央センサ打撃位置メモリ７３ｇと、周辺センサ打撃位置メモリ７３ｈと、打撃位置メモリ７３ｉと、ベロシティメモリ７３ｊと、テストモードフラグ７３ｋとがそれぞれ設けられる。
【００７５】
センサ値メモリ７３ａは、Ａ／Ｄ変換された中央センサ１０および第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値（単位は無し）を記憶するメモリである。図示しないが、センサ値メモリ７３ａには、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０のそれぞれのセンサ出力値が個別に記憶される。センサ値メモリ７３ａは、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。そして、図８の定期処理において、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０における、定期処理が実行された時点でのセンサ出力値が、該当するセンサ値メモリ７３ａに記憶される（図８，Ｓ１０）。
【００７６】
センサ値リングバッファ７３ｂは、中央センサ１０および第１周辺センサ２０〜第３周辺センサ４０における、それぞれのＡ／Ｄ変換されたセンサ出力値の過去５ｍｓ分を記憶するバッファである。図５（ｃ）を参照してセンサ値リングバッファ７３ｂを説明する。
【００７７】
図５（ｃ）は、センサ値リングバッファ７３ｂを模式的に表した図である。センサ値リングバッファ７３ｂは、中央センサ値メモリ７３ｂ１と、第１周辺センサ値メモリ７３ｂ２と、第２周辺センサ値メモリ７３ｂ３と、第３周辺センサ値メモリ７３ｂ４とを有し、それぞれが対応付けられて記憶される。中央センサ値メモリ７３ｂ１は、Ａ／Ｄ変換された中央センサ１０のセンサ出力値（単位は無し）を記憶するメモリであり、第１周辺センサ値メモリ７３ｂ２〜第３周辺センサ値メモリ７３ｂ４は、それぞれ、第１周辺センサ２０〜第３周辺センサ４０のＡ／Ｄ変換されたセンサ出力値（単位は無し）を記憶するメモリであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。そして、図８の定期処理において、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０における、定期処理が実行された時点でのセンサ出力値が、該当する中央センサ値メモリ７３ｂ１と、第１周辺センサ値メモリ７３ｂ２〜第３周辺センサ値メモリ７３ｂ４に追加される（図８，Ｓ１０）。
【００７８】
センサ値リングバッファ７３ｂは、５０個分のセンサ出力値を記憶するメモリが設けられる。これは、後述の図８の定期処理は１００マイクロ秒（以下「μｓ」と表す）毎に実行され、且つ、過去５ｍｓ分のそれぞれのセンサ出力値を記憶するからである。センサ値リングバッファ７３ｂは、まず、Ｎｏ．１〜５０の順で、取得したそれぞれのセンサ出力値が記憶される。そして、Ｎｏ．５０にそれぞれのセンサ出力値が記憶されたら、再度Ｎｏ．１から順にセンサ出力値が記憶される。これにより、センサ値リングバッファ７３ｂには、最大過去５ｍｓ分のセンサ出力値が記憶された状態となる。このセンサ値リングバッファ７３ｂの値を用いて、それぞれのセンサ出力値のピークの取得や、中央センサ１０の初期半波のピッチΔＴｈｗの取得を行う。
【００７９】
図４に戻る。センサピーク値メモリ７３ｃは、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値のピーク（絶対値の最大値）を記憶するメモリである。図示しないが、センサピーク値メモリ７３ｃには、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０のそれぞれのセンサ出力値のピークが個別に記憶される。センサピーク値メモリ７３ｃの値は、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。そして、図８の定期処理において、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０により打撃が検出された場合、センサ値リングバッファ７３ｂから中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０における、センサ出力値のピークが、センサピーク値メモリ７３ｃに記憶される（図８，Ｓ１６，Ｓ１９）。その後は、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０におけるセンサ値メモリ７３ａの値と、該当するセンサピーク値メモリ７３ｃの値とを比較し、大きい方がセンサピーク値メモリ７３ｃに記憶される（図８，Ｓ２１，Ｓ２５）。中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値による重み付け演算によって、打撃によるベロシティが算出される（図９，Ｓ３３，図１０，Ｓ５３）。
【００８０】
中央センサスキャンフラグ７３ｄは、２ｍｓのウエイト処理である、中央センサ１０によるスキャンタイム中であることを示すフラグである。中央センサスキャンフラグ７３ｄは、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に、中央センサ１０によるスキャンタイム中でないことを示す、オフに設定される。そして、図８の定期処理において、中央センサ１０において、打撃が検出されたと判断した場合、中央センサスキャンフラグ７３ｄにオンが設定され（図８，Ｓ１７）、図９の中央センサ打撃処理において、中央センサ１０のスキャンタイムが終わった時点で中央センサスキャンフラグ７３ｄにオフが設定される（図９，Ｓ３１）。
【００８１】
周辺センサスキャンフラグ７３ｅは、２ｍｓのウエイト処理である、周辺センサによるスキャンタイム中であることを示すフラグである。周辺センサスキャンフラグ７３ｅは、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に、周辺センサによるスキャンタイム中でないことを示す、オフに設定される。そして、図８の定期処理において、第１周辺センサ２０〜第３周辺センサ４０のいずれかにおいて、打撃が検出されたと判断した場合、周辺センサスキャンフラグ７３ｅにオンが設定され（図８，Ｓ２０）、図１０の周辺センサ打撃処理において、第１周辺センサ２０〜第３周辺センサ４０のスキャンタイムが終わった時点で周辺センサスキャンフラグ７３ｅにオフが設定される（図１０，Ｓ５１）。また、周辺センサスキャンフラグ７３ｅがオンの状態で、中央センサ１０による打撃を検出した場合は、周辺センサスキャンフラグ７３ｅにオフが設定される（図８，Ｓ２４）。詳細は後述するが、これは、周辺センサによるスキャンタイム内に、中央センサ１０による打撃を検出した場合は、周辺センサによるスキャンタイムを中止し、改めて中央センサ１０によるスキャンタイムを行い、中央センサ１０によるスキャンタイム後に中央センサ１０と、第１周辺センサ２０〜第３周辺センサ４０とによる打撃位置およびベロシティの算出を行うからである。
【００８２】
中央センサ打撃位置ゲインメモリ７３ｆは、打撃位置を算出する際に用いられる、中央センサ１０による打撃位置に対する、重み係数を記憶するメモリである。中央センサ打撃位置ゲインメモリ７３ｆは、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。本実施形態において中央センサ打撃位置ゲインメモリ７３ｆには、打撃位置の算出に対して、中央センサ１０による打撃位置がどの程度考慮されるかを示す割合（０以上１以下の値）が、重み係数として記憶される。一方、１から中央センサ打撃位置ゲインメモリ７３ｆの値を減じた値が、打撃位置の算出に対して、第１周辺センサ２０〜第３周辺センサ４０による打撃位置がどの程度考慮されるかを示す割合（重み係数）とされる。
【００８３】
即ち図９の中央センサ打撃処理において、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が、第１周辺センサ２０〜第３周辺センサ４０により検出される打撃位置のみで行うかどうかの閾値である「７５」以上の場合は、中央センサ打撃位置ゲインメモリ７３ｆに「０．５」が設定され、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が「７５」より小さい場合は「０」が設定される（図９，Ｓ３８，Ｓ３９）。そして、中央センサ打撃位置ゲインメモリ７３ｆの値と、中央センサ１０による打撃位置（即ち、後述の中央センサ打撃位置メモリ７３ｇの値）と、第１周辺センサ２０〜第３周辺センサ４０による打撃位置（即ち、周辺センサ打撃位置メモリ７３ｈの値）とによる重み付け演算によって、打撃位置が算出される（図９，Ｓ４０）。
【００８４】
中央センサ打撃位置メモリ７３ｇは、中央センサ１０によって取得された打撃位置を記憶するメモリであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。そして、図９の中央センサ打撃処理において、センサ値リングバッファ７３ｂから算出された、中央センサ１０の初期半波のピッチΔＴｈｗを中央センサ打撃位置テーブル７２ｂで参照し、取得された打撃位置が、中央センサ打撃位置メモリ７３ｇに記憶される（図９，Ｓ３４）。
【００８５】
周辺センサ打撃位置メモリ７３ｈは、第１周辺センサ２０〜第３周辺センサ４０によって取得された打撃位置を記憶するメモリであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。そして、センサ値リングバッファ７３ｂから算出した、第１周辺センサ２０と第２周辺センサ３０とのピークの時間差ΔＴ１及び、第１周辺センサ２０と第３周辺センサ４０とのピークの時間差ΔＴ２を周辺センサ打撃位置テーブル７２ｃで参照し、取得された打撃位置が、周辺センサ打撃位置メモリ７３ｈに記憶される（図９，Ｓ３６）。
【００８６】
打撃位置メモリ７３ｉは、電子ドラム１の打面への打撃の検出結果によって算出された、打撃位置を記憶するメモリであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。中央センサ１０が打撃を検出した場合は、中央センサ１０によるスキャンタイム後に、中央センサ１０による打撃位置と第１周辺センサ２０〜第３周辺センサ４０による打撃位置とから、打撃位置が算出される（図９，Ｓ４０）。
【００８７】
一方で、第１周辺センサ２０〜第３周辺センサ４０で打撃を検出し、周辺センサによるスキャンタイム内に、中央センサ１０が打撃を検出しない場合は、打撃位置メモリ７３ｉに「１００」が記憶される。即ち、打面の外周部が弱打された場合等、中央センサ１０がその打撃を検出しない一方で、第１周辺センサ２０〜第３周辺センサ４０で打撃を検出した場合は、第１周辺センサ２０〜第３周辺センサ４０の位置で打撃されたものとして（図１０，Ｓ５４）、その打撃位置に基づいて楽音の生成指示が行われる。これにより、打面の外周部の弱打による、楽音の生成指示を行うことができ、且つ、楽音の生成指示を遅延させることがない。なお、中央センサ１０が打撃を検出しない場合に、打撃位置メモリ７３ｉに記憶される値は、必ずしも「１００」に限られるものではなく、「１００」〜「１２７」の範囲の、任意の値が記憶されてもよい。
【００８８】
ベロシティメモリ７３ｊは、電子ドラム１の打面への打撃の検出結果によって算出された、ベロシティ（打撃強度）を記憶するメモリであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に「０」で初期化される。図９の中央センサ打撃処理において、センサピーク値メモリ７３ｃに記憶された、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値のピークを重み付け演算することで、算出されたベロシティがベロシティメモリ７３ｊに記憶される（図９，Ｓ３３）。また、図１０の周辺センサ打撃処理において、センサピーク値メモリ７３ｃに記憶された第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値のピークを重み付け演算することで、算出されたベロシティがベロシティメモリ７３ｊに記憶される（図１０，Ｓ５３）。そして、このベロシティメモリ７３ｊの値と、打撃位置メモリ７３ｉの値とに応じた楽音の生成指示を、後述の音源７６に対して行う（図９，Ｓ４１，図１０，Ｓ５５）。
【００８９】
テストモードフラグ７３ｋは、電子ドラム１がテストモード中であることを示すフラグであり、電子ドラム１の電源投入時および図７（ａ）の初期化処理が実行された直後に、テストモード中でないことを示すオフに設定される。図７（ｂ）のＭＩＤＩ受信処理において、テストモードへの切替メッセージを受信した場合に、テストモードフラグ７３ｋはオンに設定される（図７（ｂ），Ｓ３）。本実施形態において、テストモード中の電子ドラム１は、中央センサ１０又は第１周辺センサ２０〜第３周辺センサ４０による打撃を検出した場合、３２０ｍｓ後に、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値、即ち、センサピーク値メモリ７３ｃの値をＭＩＤＩのシステム・エクスクルーシブ（以下「ＳｙｓＥｘ」と称する）メッセージに含めたものを、後述の外部入出力端子７５を介して送信する。外部入出力端子７５に接続された、後述の検査ＰＣ７９は、受信したＳｙｓＥｘメッセージを解析し、その中に含まれる中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値から、各センサが正常動作をしているかを判断する。
【００９０】
外部入出力端子７５は、電子ドラム１と、後述の音源７６，検査ＰＣ７９又は、他のコンピュータとのデータの送受信を行うためのインターフェイスである。外部入出力端子７５を経由して、電子ドラム１が生成した楽音の生成指示を音源７６に送信し、外部入出力端子７５を経由して、センサピーク値メモリ７３ｃの値を含めたＭＩＤＩのＳｙｓＥｘメッセージを検査ＰＣ７９に送信する。また、検査ＰＣ７９からも、ＭＩＤＩのＳｙｓＥｘメッセージを受信する。
【００９１】
音源７６は、ＣＰＵ７１からの指示にしたがって楽音（打撃音）の音色や各種効果などを制御する装置である。音源７６には、波形データのフィルタやエフェクトなどの演算処理を行うＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）７６ａが内蔵される。音源７６によって処理された楽音は、アナログ楽音信号として出力される。
【００９２】
アンプ７７は、音源７６が出力したアナログ楽音信号を増幅する装置であり、増幅したアナログ楽音信号を、スピーカ７８に出力する。スピーカ７８は、アンプ７７により増幅されたアナログ楽音信号を楽音として発音（出力）する。
【００９３】
検査ＰＣ７９は、テストモードにおいて、電子ドラム１から受信したＭＩＤＩのＳｙｓＥｘメッセージに含まれる、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値を解析するためのコンピュータである。検査ＰＣ７９は、電子ドラム１に対して、外部入出力端子７５経由で、テストモード切替メッセージを含んだＭＩＤＩのＳｙｓＥｘメッセージを送信する。電子ドラム１はテストモード切替メッセージを受信した場合は、テストモードに移行し、電子ドラム１が打撃を検出した場合は、３２０ｍｓ後にセンサピーク値メモリ７３ｃの値をＭＩＤＩのＳｙｓＥｘメッセージに含めたものを、検査ＰＣ７９に送信する。そして、検査ＰＣ７９は、検査ＰＣ７９が実行する検査治具アプリケーション上において、受信したセンサピーク値メモリ７３ｃの値を含んだＭＩＤＩのＳｙｓＥｘメッセージを解析し、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０が正常に動作しているかを判断する。
【００９４】
図７（ａ）を参照して、電子ドラム１のＣＰＵ７１で実行される、初期化処理について説明する。図７（ａ）は、初期化処理のフローチャートである。初期化処理は、電子ドラム１の電源投入直後に実行され、ＲＡＭ７３上の各メモリ値およびフラグの初期化を行う（Ｓ１）。
【００９５】
次に、図７（ｂ）を参照して、電子ドラム１のＣＰＵ７１で実行される、ＭＩＤＩ受信処理について説明する。ＭＩＤＩ受信処理は、外部入出力端子７５を介して、ＭＩＤＩデータを受信したことを契機に行われる、割り込み処理によって実行される。
【００９６】
図７（ｂ）は、ＭＩＤＩ受信処理のフローチャートである。ＭＩＤＩ受信処理ではまず、受信したＭＩＤＩデータを解析し、その結果がテストモードへの切替メッセージかどうかを確認する（Ｓ２）。受信したＭＩＤＩデータがテストモードへの切替メッセージである場合は（Ｓ２：Ｙｅｓ）、テストモードフラグ７３ｋにオンを設定する（Ｓ３）。一方、受信したＭＩＤＩデータがテストモードへの切替メッセージでない場合は（Ｓ２：Ｎｏ）、Ｓ３の処理をスキップする。Ｓ２，Ｓ３の処理の後、ＭＩＤＩ受信処理を終了する。これにより、検査ＰＣ７９から受信したＭＩＤＩデータが、テストモードへの切替メッセージである場合は、電子ドラム１はテストモードに移行する。そして、電子ドラム１は、電子ドラム１が打撃を検出した場合は、３２０ｍｓ後にセンサピーク値メモリ７３ｃの値をＭＩＤＩのＳｙｓＥｘメッセージに含めたものを、検査ＰＣ７９に送信する。なお、オンに設定されたテストモードフラグ７３ｋは、電子ドラム１の電源がオフされるまで、オンの状態が継続され、次回の電子ドラム１の電源投入直後の図７（ａ）のＳ１の処理によって、オフに設定される。
【００９７】
次に、図８〜図１０を参照して、電子ドラム１のＣＰＵ７１で実行される、定期処理について説明する。定期処理では、定期処理が実行された時点での、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値の取得や、スキャンタイムを経過した場合は、打撃位置およびベロシティを算出して、楽音の生成指示を行う、中央センサ打撃処理（図９）または周辺センサ打撃処理（図１０）を実行する。定期処理は、１００μｓ毎のインターバル割り込み処理によって、１００μｓ毎に繰り返し実行される。
【００９８】
図８は、定期処理のフローチャートである。定期処理ではまず、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサ出力値を取得し、センサ値メモリ７３ａに保存し、センサ値リングバッファ７３ｂに追加する（Ｓ１０）。センサ値リングバッファ７３ｂへは、まず、図５（ｃ）におけるＮｏ．１がセンサ出力値の記憶位置となる。その後、Ｎｏ．２，Ｎｏ．３・・・と昇順に記憶位置が移動し、その領域にセンサ出力値が記憶される。Ｎｏ．５０まで記憶された場合は、再びＮｏ．１に記憶される。なお、定期処理は１００μｓ毎に実行されるので、センサ値メモリ７３ａの値およびセンサ値リングバッファ７３ｂの値も、１００μｓ毎に更新される。
【００９９】
Ｓ１０の処理の後、中央センサスキャンフラグ７３ｄがオンかを確認する（Ｓ１１）。中央センサスキャンフラグ７３ｄがオフの場合（Ｓ１１：Ｎｏ）、即ち、中央センサ１０によるスキャンタイム中ではない場合は、周辺センサスキャンフラグ７３ｅがオンかを確認する（Ｓ１２）。
【０１００】
周辺センサスキャンフラグ７３ｅがオフの場合（Ｓ１２：Ｎｏ）、即ち、周辺センサによるスキャンタイム中ではない場合は、中央センサ１０が打撃を検出したかを確認する（Ｓ１３）。中央センサ１０による打撃の検出は、中央センサ１０のセンサ値リングバッファ７３ｂによる電圧波形において、立ち下り（又は立ち上り）を検出したかどうかで判断される。
【０１０１】
中央センサ１０が打撃を検出した場合は（Ｓ１３：Ｙｅｓ）、中央センサ１０及び、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃに０を設定する（Ｓ１５）。センサピーク値メモリ７３ｃには、前回以前に記憶されたセンサ出力値のピークが記憶されている場合があるので、中央センサ１０が打撃を検出した時点で、センサピーク値メモリ７３ｃの値を「０」で初期化する。
【０１０２】
Ｓ１５の処理の後、センサ値リングバッファ７３ｂの値から、中央センサ１０及び、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃのピークを取得し、該当するセンサのセンサピーク値メモリ７３ｃに保存する（Ｓ１６）。
【０１０３】
Ｓ１６の処理の後、中央センサスキャンフラグ７３ｄにオンを設定して、スキャンタイムの計時を０から開始する（Ｓ１７）。以後スキャンタイムは定期処理が実行される毎に計時される。これにより「中央センサ１０によるスキャンタイム」の計時が開始される。
【０１０４】
Ｓ１３の処理において、中央センサ１０が打撃を検出しなかった場合は（Ｓ１３：Ｎｏ）、第１周辺センサ２０〜第３周辺センサ４０のいずれかが打撃を検出したかを確認する（Ｓ１４）。第１周辺センサ２０〜第３周辺センサ４０による打撃の検出も、第１周辺センサ２０〜第３周辺センサ４０のいずれかのセンサ値リングバッファ７３ｂによる電圧波形において、立ち下り（又は立ち上り）を検出したかどうかで判断される。
【０１０５】
第１周辺センサ２０〜第３周辺センサ４０のいずれかが打撃を検出した場合は（Ｓ１４：Ｙｅｓ）、中央センサ１０及び、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃに０を設定し（Ｓ１８）、センサ値リングバッファ７３ｂの値から、中央センサ１０及び、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃのピークを取得し、該当するセンサのセンサピーク値メモリ７３ｃに保存する（Ｓ１９）。
【０１０６】
Ｓ１９の処理の後、周辺センサスキャンフラグ７３ｅにオンを設定して、スキャンタイムの計時を０から開始する（Ｓ２０）。以後、スキャンタイムは定期処理が実行される毎に計時される。これにより、「周辺センサによるスキャンタイム」の計時が開始される。
【０１０７】
中央センサ１０によるスキャンタイム又は、周辺センサによるスキャンタイムの開始時に、センサ値リングバッファ７３ｂに記憶された、直近の５ｍｓにおける各センサのピークを取得し、センサピーク値メモリ７３ｃに保存する。これは、中央センサ１０又は、第１周辺センサ２０〜第３周辺センサ４０が打撃を検出した場合でも、先に第１周辺センサ２０〜第３周辺センサ４０のいずれか又は、中央センサ１０が打撃を検出し、その打撃による電圧波形におけるピークが、センサピーク値メモリ７３ｃに記憶されている可能性があるからである。まず、各スキャンタイムの開始時に、センサ値リングバッファ７３ｂの値からピークを検索して、そのピークがセンサピーク値メモリ７３ｃに記憶される。その後は、後述のＳ２１，Ｓ２５の処理において、各スキャンタイム中に、定期処理が実行される毎に、定期処理が実行された時点でのセンサ出力値が記憶されるセンサ値メモリ７３ａの値と、センサピーク値メモリ７３ｃの値とが比較され、絶対値の最大値が大きい値が、センサピーク値メモリ７３ｃに記憶される。これにより、中央センサ１０によるスキャンタイム前後における、センサ出力値のピークがセンサピーク値メモリ７３ｃに記憶される。
【０１０８】
一方、第１周辺センサ２０〜第３周辺センサ４０のいずれも打撃を検出しなかった場合は（Ｓ１４：Ｎｏ）、Ｓ１８〜Ｓ２０の処理をスキップする。
【０１０９】
Ｓ１１の処理において、中央センサスキャンフラグ７３ｄがオンの場合は（Ｓ１１：Ｙｅｓ）、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値の絶対値と、該当するセンサのセンサ値メモリ７３ａの絶対値とを比較し、それぞれ大きい値を、センサピーク値メモリ７３ｃに保存する（Ｓ２１）。センサピーク値メモリ７３ｃには、中央センサ１０による打撃が検出された（Ｓ１３：Ｙｅｓ）直後の、Ｓ１６の処理において、各センサのセンサ値リングバッファ７３ｂにおけるピークの値が記憶されている。これ以降のタイミングでも、各センサからピークの値が検出される可能性があるので、中央センサスキャンフラグ７３ｄがオン、即ち、中央センサ１０によるスキャンタイム中は、その時点で各センサから取得されたセンサ出力値（即ち、センサ値メモリ７３ａの値）の絶対値と、該当するセンサのセンサピーク値メモリ７３ｃの値の絶対値とを比較して、大きい方の値がセンサピーク値メモリ７３ｃに記憶される。Ｓ２１の処理の後は、中央センサ打撃処理を実行する（Ｓ２２）。中央センサ打撃処理については、図９を参照して後述する。
【０１１０】
Ｓ１２の処理において、周辺センサスキャンフラグ７３ｅがオンの場合は（Ｓ１２：Ｙｅｓ）、中央センサ１０が打撃を検出したかを確認する（Ｓ２３）。なお、中央センサ１０が打撃を検出したかを確認する方法は、Ｓ１３の処理と同一である。中央センサ１０が打撃を検出した場合は（Ｓ２３：Ｙｅｓ）、周辺センサスキャンフラグ７３ｅにオフを設定し、スキャンタイムの計時を停止し（Ｓ２４）、Ｓ１６以降の処理を行う。即ち、周辺センサによるスキャンタイム中において、中央センサ１０による打撃を検出した場合は、中央センサ１０によるスキャンタイムを開始する。
【０１１１】
即ち、打面の中央は打面の周辺部に比べて打面の変形量（たわみ量）が大きいので、打面中央に配設された中央センサ１０は、打面の周辺部に配設される第１周辺センサ２０〜第３周辺センサ４０に比べて打撃に対するセンサ出力値のレンジが広く、打撃の検出感度が良い。よって、中央センサ１０より先に第１周辺センサ２０〜第３周辺センサ４０が打撃を検出した場合でも、周辺センサによるスキャンタイム内に中央センサ１０が打撃を検出すれば、中央センサ１０によるスキャンタイムを経た上で、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０の打撃の検出結果に基づいてベロシティが算出される。従って、中央センサ１０より先に第１周辺センサ２０〜第３周辺センサ４０が打撃を検出した場合にも、中央センサ１０より後で第１周辺センサ２０〜第３周辺センサ４０が打撃を検出した場合にも、感度の良い中央センサ１０の検出結果を使ってベロシティを算出することができる。
【０１１２】
なお、この場合、第１周辺センサ２０〜第３周辺センサ４０の打撃の検出から中央センサ１０の打撃の検出までの時間分、楽音の生成指示は遅延する。しかし、中央センサ１０の打撃の検出があるか否かを判断する期間は、第１周辺センサ２０〜第３周辺センサ４０の打撃の検出からの周辺センサによるスキャンタイム内であるので、楽音の生成指示の遅延時間を周辺センサによるスキャンタイム（即ち、２ｍｓ）内に止めることができる。即ち、周辺センサによるスキャンタイムの計時時間を調整することにより、楽音の生成指示の遅延時間を設計値の範囲内に止めることができる。
【０１１３】
Ｓ２３の処理において、中央センサ１０が打撃を検出しなかった場合は（Ｓ２３：Ｎｏ）、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値の絶対値と、該当するセンサのセンサ値メモリ７３ａの絶対値とを比較し、それぞれ大きい値を、センサピーク値メモリ７３ｃに保存する（Ｓ２５）。Ｓ２５の処理の後、周辺センサ打撃処理を実行する（Ｓ２６）。周辺センサ打撃処理については、図１０を参照して後述する。Ｓ１４，Ｓ１７，Ｓ２０，Ｓ２２，Ｓ２６の処理の後、定期処理は終了する。
【０１１４】
次に、図９を参照して、中央センサ１０によるスキャンタイム中に実行される、中央センサ打撃処理（図８，Ｓ２２）について説明する。中央センサ打撃処理は、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値や、センサ値リングバッファ７３ｂの値から、打撃位置およびベロシティを算出し、その打撃位置およびベロシティに応じた楽音の生成指示を音源７６に行い、電子ドラム１の楽音の生成を行う。
【０１１５】
まず、中央センサ打撃処理は、スキャンタイムが２ｍｓ以上となったかを確認する（Ｓ３０）。中央センサ１０が打撃を検出した後の、２ｍｓにおける中央センサ１０によるスキャンタイムは、打撃による各センサの出力値を監視し、打撃による打撃位置およびベロシティの算出を行わない、所謂「ウエイト処理」中であるので、そのスキャンタイムが経過したかを確認する。
【０１１６】
スキャンタイムが２ｍｓ以上となった場合は（Ｓ３０：Ｙｅｓ）、中央センサ１０によるスキャンタイムが終了したので、中央センサ１０によるスキャンタイム中であることを示す中央センサスキャンフラグ７３ｄにオフを設定し、スキャンタイムの計時を停止する（Ｓ３１）。
【０１１７】
Ｓ３１の処理の後、テストモードフラグ７３ｋがオフかどうかを確認する（Ｓ３２）。即ち、電子ドラム１がテストモードかどうかを確認する。テストモードフラグ７３ｋがオフの場合は（Ｓ３２：Ｙｅｓ）、中央センサ１０のセンサピーク値メモリ７３ｃの値と、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値とを重み付け演算し、その結果をベロシティメモリ７３ｊに保存する（Ｓ３３）。即ち、中央センサ打撃処理における、打撃によるベロシティ（打撃強度）は、各センサのピーク値の重み付け演算により算出される。中央センサ１０のセンサピーク値メモリ７３ｃの値をpeak_c，第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値をそれぞれ、peak_s1，peak_s2，peak_s3とすると、ベロシティＶｌは、数式１の重み付け演算で算出される。
【数１】
2018036642.tif 000003
ここで、gain_c，gain_s1，gain_s2，gain_s3はゲイン定数であり、それぞれ、「０．３」，「０．２」，「０．２」，「０．２」である。また、gain_Mix_vは、ユーザによって設定される値であり、電子ドラム１の入力装置（図示せず）によって設定される値である。数式１で算出された、ベロシティＶｌがベロシティメモリ７３ｊに記憶される。なお、各ゲイン定数は、必ずしも上述した値に限られるものではなく、打面の大きさや素材、中央センサ１０や第１周辺センサ２０〜第３周辺センサ４０の感度等に応じて、適宜設定してもよい。
【０１１８】
Ｓ３３の処理の後、センサ値リングバッファ７３ｂの値から、中央センサ１０の打撃による初期半波を取得し、その初期半波のピッチΔＴｈｗで、中央センサ打撃位置テーブル７２ｂを参照し、該当する打撃位置を中央センサ打撃位置メモリ７３ｇに保存する（Ｓ３４）。具体的には、センサ値リングバッファ７３ｂの中央センサ値メモリ７３ｂ１の値を
参照し、最小値となる位置を取得する。まず、その位置から、遡る方向にセンサ値リングバッファ７３ｂの中央センサ値メモリ７３ｂ１の値を参照し、その値が０となる位置を取得する。即ち、この時点が図６（ａ）における時刻Ｔｓである。
【０１１９】
そして、センサ値リングバッファ７３ｂの中央センサ値メモリ７３ｂ１の値から、時間を下る方向にセンサ値リングバッファ７３ｂの中央センサ値メモリ７３ｂ１の値を参照し、その値が０となる位置を取得する。即ち、この時点が図６（ａ）における時刻Ｔｅである。なお、時間を下る方向にセンサ値リングバッファ７３ｂの中央センサ値メモリ７３ｂ１の値を参照した結果、０となる位置が存在しない場合は、現在のセンサ値リングバッファ７３ｂの位置を時刻Ｔｅとする。これは、電子ドラム１の打面の中央付近が打撃された場合、中央センサ１０によるスキャンタイム内にその振動による初期半波を、全て検出できなかった場合である。この場合の対応については、Ｓ３７〜Ｓ３９の処理で後述する。
【０１２０】
この時刻Ｔｓと時刻Ｔｅとの時間差、即ち、初期半波のピッチΔＴｈｗの値で、中央センサ打撃位置テーブル７２ｂを参照し、該当する打撃位置を中央センサ打撃位置メモリ７３ｇに記憶する。
【０１２１】
Ｓ３４の処理の後、センサ値リングバッファ７３ｂの値から、第１周辺センサ２０〜第３周辺センサ４０の打撃の検出時刻を取得する（Ｓ３５）。具体的には、センサ値リングバッファ７３ｂの第１周辺センサ値メモリ７３ｂ２，第２周辺センサ値メモリ７３ｂ３，第３周辺センサ値メモリ７３ｂ４の値をそれぞれ参照し、最小値となる位置（即ち、図５（ｃ）における「Ｎｏ．」）を取得する。そして、その位置と、現在のセンサ値リングバッファ７３ｂの記憶位置（即ち、図８のＳ１０で記憶された記憶位置）との差に１００μｓを乗じることで、最小値となる時刻、即ち、図６（ｂ）における、ピーク時刻Ｔｍ１，Ｔｍ２，Ｔｍ３をそれぞれ算出する。
【０１２２】
そして、ピーク時刻Ｔｍ１とＴｍ２との時間差ΔＴ１と、ピーク時刻Ｔｍ１とＴｍ３との時間差ΔＴ２とで、周辺センサ打撃位置テーブル７２ｃを参照し、該当する打撃位置を、周辺センサ打撃位置メモリ７３ｈに保存する（Ｓ３６）。
【０１２３】
Ｓ３６の処理の後、周辺センサ打撃位置メモリ７３ｈの値が７５以上かを確認する（Ｓ３７）。周辺センサ打撃位置メモリ７３ｈの値が７５以上の場合は（Ｓ３７：Ｙｅｓ）、中央センサ打撃位置ゲインメモリ７３ｆに「０．５」を設定する（Ｓ３８）。一方、周辺センサ打撃位置メモリ７３ｈの値が７５より小の場合は（Ｓ３７：Ｎｏ）、中央センサ打撃位置ゲインメモリ７３ｆに「０」を設定する（Ｓ３９）。前述した通り、電子ドラム１の打面の中央付近を打撃された場合、打面の中央付近が大きく振動することで、中央センサ１０が、スキャンタイム内にその初期半波を検出できない場合がある。中央センサ１０による打撃位置は、この初期半波のピッチΔＴｈｗによって中央センサ打撃位置テーブル７２ｂから取得される。従って、初期半波が完全に検出できなければ、その打撃位置を取得することができない。
【０１２４】
しかし、この場合であっても、Ｓ３５の処理で前述した、第１周辺センサ２０〜第３周辺センサ４０の打撃検出の時間差による、打撃位置は正確に取得される。これは、中央センサ１０による初期半波のピッチΔＴｈｗの完全な検出よりも、第１周辺センサ２０〜第３周辺センサ４０による打撃検出の方が早いからである。従って、第１周辺センサ２０〜第３周辺センサ４０の打撃検出の時間差による打撃位置（即ち、周辺センサ打撃位置メモリ７３ｈの値）が「７５」より小さい場合は、即ち、電子ドラム１の打面の中央付近に近い場合は、中央センサ打撃位置ゲインメモリ７３ｆに「０」が設定され、後述する重み付け演算による、打撃位置の算出には、中央センサ１０による打撃位置が考慮されない。これにより、電子ドラム１の打面の中央付近で打撃が行われ、中央センサ１０によって正確に打撃位置が取得されない可能性がある場合は、第１周辺センサ２０〜第３周辺センサ４０によって取得された打撃位置のみで打撃位置が算出されるので、正確な打撃位置を取得することができる。
【０１２５】
一方で、周辺センサ打撃位置メモリ７３ｈの値が「７５」以上の場合は、即ち、電子ドラム１の打面の中央から離れている場合は、中央センサ打撃位置ゲインメモリ７３ｆに「０．５」が設定され、後述する重み付け演算による、打撃位置の算出に中央センサ１０による打撃位置が考慮される。中央センサ１０による打撃位置は、その位置が「７５」以上であれば、正確に算出され、第１周辺センサ２０〜第３周辺センサ４０による打撃位置は、その位置が「１００」未満であれば、正確に打撃位置が算出される。従って、中央センサ１０による打撃位置と、第１周辺センサ２０〜第３周辺センサ４０による打撃位置とを組み合わせて打撃位置を算出することで、より精度の高い打撃位置が取得できる。なお、この場合に中央センサ打撃位置ゲインメモリ７３ｆに設定される値は、必ずしも「０．５」に限られるものではなく、打面の大きさや素材等に応じて、適宜設定してもよい。
【０１２６】
Ｓ３８，Ｓ３９の処理の後、中央センサ打撃位置メモリ７３ｇの値と、周辺センサ打撃位置メモリ７３ｈの値と、中央センサ打撃位置ゲインメモリ７３ｆの値との重み付け演算により、打撃位置を算出し、打撃位置メモリ７３ｉに保存する（Ｓ４０）。中央センサ打撃位置メモリ７３ｇの値をposition_center，周辺センサ打撃位置メモリ７３ｈの値をposition_subとすると、打撃位置positionは、数式２の重み付け演算で算出される。
【数２】
2018036642.tif 000004
ここで、pre_gain_cは中央センサ打撃位置ゲインメモリ７３ｆの値である。また、1-pre_gain_cは第１周辺センサ２０〜第３周辺センサ４０による打撃位置への重み係数である。即ちpre_gain_cは、打撃位置の算出において、中央センサ１０による打撃位置がどの程度考慮されるかを示す割合なので、1-pre_gain_cは、打撃位置の算出において、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が考慮される割合を示す割合（重み係数）である。また、gain_Mix_pは、ユーザによって設定される値であり、電子ドラム１の入力装置（図示せず）によって設定される値である。数式２で算出された、打撃位置positionが打撃位置メモリ７３ｉに記憶される。Ｓ４０の処理の後、打撃位置メモリ７３ｉの値およびベロシティメモリ７３ｊの値に応じた楽音の生成指示を音源７６に出力する（Ｓ４１）。
【０１２７】
Ｓ３２の処理において、テストモードフラグ７３ｋがオンの場合は（Ｓ３２：Ｎｏ）、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値をＭＩＤＩのＳｙｓＥｘメッセージに含めたものを出力する（Ｓ４２）。また、Ｓ３０の処理において、スキャンタイムが２ｍｓより小さい場合は、Ｓ３１〜Ｓ４２の処理をスキップする。そして、Ｓ３０，Ｓ４１，Ｓ４２の処理の後、中央センサ打撃処理は終了し、図８の定期処理へ戻る。
【０１２８】
次に、図１０を参照して、打面の外周側が弱打される等、周辺センサによるスキャンタイム中に、中央センサ１０によって打撃が検知されない場合に実行される、周辺センサ打撃処理（図８，Ｓ２６）について説明する。周辺センサ打撃処理は、第１周辺センサ２０〜第３周辺センサ４０のセンサ値リングバッファ７３ｂの値から、打撃位置およびベロシティを算出する。なお、この場合の打撃位置は「１００（固定値）」とする（図３参照）。そして、その打撃位置およびベロシティに応じた楽音の生成指示を音源７６に行い、電子ドラム１の楽音の生成を行う。
【０１２９】
まず、周辺センサ打撃処理は、スキャンタイムが２ｍｓ以上となったかを確認する（Ｓ５０）。第１周辺センサ２０〜第３周辺センサ４０が打撃を検出した後の２ｍｓにおける周辺センサによるスキャンタイムは、打撃による各センサの出力値を監視し、打撃による打撃位置およびベロシティの算出を行わない、所謂「ウエイト処理」中であるので、そのスキャンタイムが経過したかを確認する。
【０１３０】
スキャンタイムが２ｍｓ以上となった場合は（Ｓ５０：Ｙｅｓ）、第１周辺センサ２０〜第３周辺センサ４０によるスキャンタイムが経過したので、第１周辺センサ２０〜第３周辺センサ４０がスキャンタイム中であることを示す周辺センサスキャンフラグ７３ｅにオフを設定し、スキャンタイムの計時を停止する（Ｓ５１）。
【０１３１】
Ｓ５１の処理の後、テストモードフラグ７３ｋがオフかどうかを確認する（Ｓ５２）。テストモードフラグ７３ｋがオフの場合は（Ｓ５２：Ｙｅｓ）、第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値を重み付け演算し、その結果をベロシティメモリ７３ｊに保存する（Ｓ５３）。即ち、周辺センサ打撃処理における、打撃によるベロシティ（打撃強度）は、第１周辺センサ２０〜第３周辺センサ４０のピーク値の重み付け演算により算出される。第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値をそれぞれ、peak_s1，peak_s2，peak_s3とすると、ベロシティＶｌは、数式３の重み付け演算で算出される。
【数３】
2018036642.tif 000005
ここで、gain_s1，gain_s2，gain_s3はゲイン定数であり、それぞれ、「０．２」，「０．２」，「０．２」である。なお、各ゲイン定数は、必ずしも上述した値に限られるものではなく、打面の大きさや素材、第１周辺センサ２０〜第３周辺センサ４０の検出感度等に応じて、適宜設定してもよい。また、gain_Mix_vは、ユーザによって設定される値であり、電子ドラム１の入力装置（図示せず）によって設定される値である。なお、gain_Mix_vは、数式１におけるgain_Mix_vと同じ値に限られるものではなく、別の値が設定されてもよい。
【０１３２】
Ｓ５３の処理の後、打撃位置メモリ７３ｉへ「１００」を保存する（Ｓ５４）。このＳ５４が実行される条件は、周辺センサスキャンフラグ７３ｅがオン（図８，Ｓ１２：Ｙｅｓ）、且つ、中央センサ１０が打撃を検出していない（図８，Ｓ２２：Ｎｏ）、且つ、スキャンタイムが２ｍｓ以上となった場合（Ｓ５０：Ｙｅｓ）である。即ち、第１周辺センサ２０〜第３周辺センサ４０のいずれかでは打撃を検出したが、そのスキャンタイム内に、中央センサ１０での打撃の検出されない場合である。言い換えると、打面の周辺部において、電子ドラム１の打面が弱打された場合である。これには、第１周辺センサ２０〜第３周辺センサ４０より外周側が弱打された場合のみならず、第１周辺センサ２０〜第３周辺センサ４０より内周側が弱打され、中央センサ１０がその打撃を検出しない場合も含まれる。第１周辺センサ２０〜第３周辺センサ４０より内周側が弱打された場合は、打撃のピークの時間差ΔＴ１及びΔＴ２から打撃位置が正確に算出される。一方、外周側が弱打された場合は、前述した通り、打撃のピークの時間差ΔＴ１及びΔＴ２から打撃位置が正確には算出されず、第１周辺センサ２０〜第３周辺センサ４０の位置が打撃位置とされる。また、中央センサ１０がその打撃を検出しないので、中央センサ１０の初期半波のピッチΔＴｈｗから打撃位置の算出ができない。そこで、本実施形態においては、処理の簡略化のため、第１周辺センサ２０〜第３周辺センサ４０のいずれかでは打撃を検出したが、中央センサ１０での打撃の検出されない場合は、打撃位置を第１周辺センサ２０〜第３周辺センサ４０の位置と同じ「１００」とし、その打撃位置を楽音の生成指示に用いる。
【０１３３】
Ｓ５４の処理の後、打撃位置メモリ７３ｉの値およびベロシティメモリ７３ｊの値に応じた楽音の生成指示を音源７６に出力する（Ｓ５５）。
【０１３４】
打面の周辺部で、中央センサ１０が検出できないほどの弱打が行われた等、周辺センサによるスキャンタイム内に、中央センサ１０によって打撃が検出されなかった場合は、第１周辺センサ２０〜第３周辺センサ４０によって、その弱打が検出され、楽音の生成指示が行われる。即ち、第１周辺センサ２０〜第３周辺センサ４０の打撃が検出された後、周辺センサによるスキャンタイム内に中央センサ１０によって打撃が検出されない場合は、中央センサ１０による打撃の検出を待つことなく楽音の生成指示が行われる。従って、この場合にも、楽音の生成指示を遅延させることがない。
【０１３５】
Ｓ５２の処理において、テストモードフラグ７３ｋがオンの場合は（Ｓ５２：Ｎｏ）、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０のセンサピーク値メモリ７３ｃの値をＭＩＤＩのＳｙｓＥｘメッセージに含めたものを出力する（Ｓ５６）。また、Ｓ５０の処理において、スキャンタイムが２ｍｓより小さい場合は、Ｓ５１〜Ｓ５６の処理をスキップする。そして、Ｓ５０，Ｓ５５，Ｓ５６の処理の後、周辺センサ打撃処理は終了し、図８の定期処理へ戻る。
【０１３６】
以上より、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が０〜７５の間は、電子ドラム１の打面の中央部による打撃であり、中央センサ１０では、初期半波のピッチΔＴｈｗを完全に検出できない可能性があるので、第１周辺センサ２０〜第３周辺センサ４０による打撃位置のみで、打撃位置が算出される。即ち、数式２のpre_gain_c（中央センサ打撃位置ゲインメモリ７３ｆの値）に「０」を設定する。そして、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が７５〜１００の間においては、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０共に打撃位置が検出される範囲であるので、両者の重み付け演算によって打撃位置が算出される。このとき、数式２のpre_gain_c（中央センサ打撃位置ゲインメモリ７３ｆの値）に「０．５」を設定する。なお、この場合に設定されるpre_gain_cの値は、必ずしも「０．５」に限られるものではなく、打面の大きさや素材等に応じて、適宜設定してもよい。
【０１３７】
そして、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が１００以上の場合は、即ち、第１周辺センサ２０〜第３周辺センサ４０の位置（図３の「１００」の位置）より外周側である。本実施形態では、図５（ｂ）の通り、第１周辺センサ２０〜第３周辺センサ４０による打撃位置は、第１周辺センサ２０〜第３周辺センサ４０より外周側の場合、第１周辺センサ２０〜第３周辺センサ４０の位置と同じく「１００」の位置となる。一方で、中央センサ１０による打撃位置は、正確に取得されるので、両者の重み付け演算により打撃位置が算出される。
【０１３８】
また、中央センサ１０が第１周辺センサ２０〜第３周辺センサ４０よりも先に打撃を検出した場合には、２ｍｓの中央センサ１０によるスキャンタイム後に楽音の生成が指示される。第１周辺センサ２０〜第３周辺センサ４０が中央センサ１０よりも先に打撃を検出し、その後中央センサ１０が打撃を検出しなかった場合でも、２ｍｓの周辺センサによるスキャンタイム後に楽音の生成が指示される。第１周辺センサ２０〜第３周辺センサ４０が中央センサ１０よりも先に打撃を検出し、その後中央センサ１０が打撃を検出した場合、最大４ｍｓのスキャンタイム（中央センサ１０によるスキャンタイム＋周辺センサによるスキャンタイム）後まで、楽音の生成が指示されない。しかし、従来技術でも、中央センサ１０が打撃を検出してから２ｍｓのスキャンタイム後に、楽音の生成が指示されていた。本実施形態においても、中央センサ１０が打撃を検出してから２ｍｓの中央センサ１０によるスキャンタイム後に楽音の生成が指示される点は従来技術と変わりない。中央センサ１０が打撃を検出するよりも前に、第１周辺センサ２０〜第３周辺センサ４０が打撃を検出する点が異なる。従って、中央センサ１０又は第１周辺センサ２０〜第３周辺センサ４０で打撃を検出してから、中央センサ１０によるスキャンタイム及び／又は周辺センサによるスキャンタイム後に、即ち最大４ｍｓ後には打撃位置およびベロシティが算出されるので、楽音の生成指示を遅延させることがない。従って、打撃に対して、レスポンス性のよい電子ドラム１の演奏が可能となる。
【０１３９】
以上から、検出される打撃位置に応じて、打撃位置を算出するために用いられる、中央センサ１０，第１周辺センサ２０〜第３周辺センサ４０による打撃の重み付けを変更することにより、より正確な打撃位置を算出することができる。
【０１４０】
以上説明したように、本実施形態における電子ドラム１は、打面の中央に配設された中央センサ１０と、打面の周辺部に配設された第１周辺センサ２０〜第３周辺センサ４０とを有して構成される。また、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０を円中心とした円周上に、等間隔に配設され、円周内のいずれの位置が打撃された場合にも、中央センサ１０が打撃を検出した後の２ｍｓの中央センサ１０によるスキャンタイム内に、第１周辺センサ２０〜第３周辺センサ４０がすべて打撃を検出できる位置に配設されている。そして、電子ドラム１の打面に対する打撃によって各センサで検出される、それぞれのセンサ出力値に応じてベロシティ（打撃強度）及び打撃位置が算出され、その算出されたベロシティ及び打撃位置に基づいて、楽音の生成指示が行われる。
【０１４１】
まず、ベロシティは、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０で検出された打撃のピークに基づいて算出される。具体的に、電子ドラム１の打面に対する打撃によって、第１周辺センサ２０〜第３周辺センサ４０より先に中央センサ１０が打撃を検出した場合、中央センサ１０の打撃の検出から、中央センサ１０によるスキャンタイムの計時が行われ、このスキャンタイムの終了後に、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０で検出された打撃のピークに基づいて、ベロシティが算出される。
【０１４２】
このように、中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０とで検出された打撃のピークに基づいてベロシティが算出されるので、打面の打撃感度の分布を略均一にすることができ、中央センサ１０のある打面の中央部で打撃音が異様に大きくなる、所謂ホットスポットを解消できる。また打面が大きく形成された結果、中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０とによる打撃の検出の時間差が大きくなったとしても、ベロシティの算出は、第１周辺センサ２０〜第３周辺センサ４０より先に中央センサ１０が打撃を検出した場合に、その中央センサ１０の打撃の検出からスキャンタイム（即ち、２ｍｓ）後に行われるので、楽音の生成指示を遅延させることがない。
【０１４３】
打面の周辺部で、中央センサ１０が検出できないほどの弱打が行われた等、周辺センサによるスキャンタイム内に、中央センサ１０によって打撃が検出されなかった場合は、第１周辺センサ２０〜第３周辺センサ４０によって、その弱打が検出され、楽音の生成指示が行われる。即ち、第１周辺センサ２０〜第３周辺センサ４０の打撃が検出された後、周辺センサによるスキャンタイム内に中央センサ１０によって打撃が検出されない場合は、中央センサ１０による打撃の検出を待つことなく楽音の生成指示が行われる。従って、この場合にも、楽音の生成指示を遅延させることがない。
【０１４４】
一方、打撃位置は、中央センサ１０による打撃位置と第１周辺センサ２０〜第３周辺センサ４０による打撃位置とから算出される。具体的には、まず、電子ドラム１の第１周辺センサ２０〜第３周辺センサ４０による打撃位置が、第１周辺センサ２０と第２周辺センサ３０とのピークを検出する時間差ΔＴ１と、第１周辺センサ２０と第３周辺センサ４０とのピークを検出する時間差ΔＴ２とを、周辺センサ打撃位置テーブル７２ｃで参照することで算出される。一方、中央センサ１０による打撃位置が、中央センサ１０で検出される打撃の初期半波のピッチΔＴｈｗを中央センサ打撃位置テーブル７２ｂで参照することで算出される。そして、第１周辺センサ２０〜第３周辺センサ４０による打撃位置と、中央センサ１０による打撃位置とを重み付け演算することで、打撃位置が算出される。
【０１４５】
第１周辺センサ２０〜第３周辺センサ４０は、円周内のいずれの位置が打撃された場合にも、中央センサ１０が打撃を検出した後の２ｍｓの中央センサ１０によるスキャンタイム内に、第１周辺センサ２０〜第３周辺センサ４０の全てで打撃を検出できる位置に配設されている。よって、第１周辺センサ２０〜第３周辺センサ４０による打撃の検出を、中央センサ１０によるスキャンタイム内に行って、第１周辺センサ２０〜第３周辺センサ４０による、第１周辺センサ２０〜第３周辺センサ４０が配設される円周内の打撃位置を算出することができる。一方、中央センサ１０で検出される初期半波のピッチΔＴｈｗに基づいて、打面の周辺部の打撃位置が算出される。そして、第１周辺センサ２０〜第３周辺センサ４０によって算出された打撃位置が示す打撃位置に応じて、第１周辺センサ２０〜第３周辺センサ４０から得られる打撃位置と、中央センサ１０から得られる打撃位置との重み付け演算により、打撃位置を算出する。この重み付け演算によって打撃位置が算出されるので、一層的確な打撃位置の算出が可能となる。
【０１４６】
ここで、第１周辺センサ２０〜第３周辺センサ４０は、打面が打撃された場合に中央センサ１０がその打撃を検出した後の２ｍｓの中央センサ１０によるスキャンタイム内に、同じ打撃によるピークが、第１周辺センサ２０〜第３周辺センサ４０の全てで検出できる位置（図３の「１００」の位置）に配設される。よって、第１周辺センサ２０〜第３周辺センサ４０による検出を中央センサ１０によるスキャンタイム内に行って、第１周辺センサ２０〜第３周辺センサ４０が配設される円周内における、第１周辺センサ２０〜第３周辺センサ４０による打撃位置を算出することができる。一方、中央センサ１０が検出する初期半波のピッチΔＴｈｗに基づいて、中央センサ１０による打撃位置が算出される。
【０１４７】
ここで、第１周辺センサ２０〜第３周辺センサ４０は、打面が打撃された場合に中央センサ１０がその打撃を検出してから中央センサ１０によるスキャンタイム内にその初期半波のピッチΔＴｈｗを検出できる位置に配設されている。よって、円周外の位置が打撃された場合には、中央センサ１０は中央センサ１０によるスキャンタイム内に初期半波のピッチΔＴｈｗを検出でき、これに基づき、中央センサ１０による打撃位置が算出される。そして、この中央センサ１０による打撃位置と、第１周辺センサ２０〜第３周辺センサ４０による打撃位置とを重み付け演算することで、打撃位置が算出される。一方、円周内であって、電子ドラム１の打面の中央付近が打撃された場合は、中央センサ１０によって初期半波のピッチΔＴｈｗが完全に検出できない可能性がある。そこで、第１周辺センサ２０〜第３周辺センサ４０による打撃位置が電子ドラム１の打面の中央付近（即ち「７５」以下の位置）である場合は、中央センサ１０によるスキャンタイム後の打撃位置の算出において、第１周辺センサ２０〜第３周辺センサ４０による打撃位置を打撃位置とする。従って、中央センサ１０によって初期半波のピッチΔＴｈｗが完全に検出できない場合であっても、中央センサ１０によるスキャンタイム内に打撃位置を算出することができる。
【０１４８】
このように、円周内の打撃位置が、第１周辺センサ２０と第２周辺センサ３０とのピークの時間差ΔＴ１及び、第１周辺センサ２０と第３周辺センサ４０とのピークの時間差ΔＴ２を周辺センサ打撃位置テーブル７２ｃで参照して算出され、円周外の打撃位置が、中央センサ１０で検出される初期半波のピッチΔＴｈｗを、中央センサ打撃位置テーブル７２ｂで参照して算出されるので、円周内外の打撃位置を中央センサ１０によるスキャンタイム内の打撃の検出結果に基づいて算出することができる。従って、打面が大きく形成された場合にも、打撃位置の算出を迅速に行うことができるので、楽音の生成指示を遅延させることがない。
【０１４９】
打撃強度（ベロシティ）を検出するために中央センサ１０のみを用いる場合、打面中央付近に所謂ホットスポットが出現する。また、打面周辺を弱打された場合、打撃を検出できない恐れがある。これを軽減するために、本実施形態においては、第１周辺センサ２０〜第３周辺センサ４０を追加する。
【０１５０】
また、打撃位置を検出するために第１周辺センサ２０〜第３周辺センサ４０のみを用いる場合、第１周辺センサ２０〜第３周辺センサ４０よりも外周側の打撃位置を検出することができない。これを解決するために、第１周辺センサ２０〜第３周辺センサ４０を打面の最外周に置くと、すべての第１周辺センサ２０〜第３周辺センサ４０が打撃を検出するまでに時間を要し、楽音の生成指示が遅延する。遅延を軽減するために周辺センサを内周側に置くと、第１周辺センサ２０〜第３周辺センサ４０より外周側の打撃位置を検出できない。そこで、本実施形態においては、第１周辺センサ２０〜第３周辺センサ４０に加えて中央センサ１０を用いることによって、楽音生成指示の遅延を軽減しつつ打面の周辺部（即ち、第１周辺センサ２０〜第３周辺センサ４０よりも外周側）の打撃位置を検出することができる。
【０１５１】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１５２】
上記実施形態において、電子打楽器の例として電子ドラム１を説明した。しかし、必ずしもこれに限られるものではなく、バスドラム、スネア、タム、シンバル等の、他の打楽器などの模擬に適用してもよい。
【０１５３】
上記実施形態において、第１周辺センサ２０〜第３周辺センサ４０のクッション部材２４が中央センサ１０のクッション部材１４と同じ弾性材料によって形成される場合について説明した。しかし、必ずしもこれに限られるものではない。例えば、クッション部材２４をスポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成する場合には、クッション部材１４よりも硬度が高い弾性材料を用いることが好ましい。これにより、打面の中央部が打撃された場合に、その打撃を中央センサ１０が検出してから、第１周辺センサ２０〜第３周辺センサ４０が検出するまでの時間を短くできるので、発音制御の遅延時間を短くできる。
【０１５４】
上記実施形態において、中央センサ１０のクッション部材１４の厚みに対し、第１周辺センサ２０〜第３周辺センサ４０のクッション部材２４の厚みを薄くする（ヘッドセンサ２３と打面との対向間隔を短くする）ことにより、第１周辺センサ２０〜第３周辺センサ４０のヘッドセンサ２３が打撃を検出するまでの時間を短くする場合について説明した。しかし、必ずしもこれに限られるものではない。例えば、クッション部材１４とクッション部材２４とを同じ厚みで形成する（若しくは、クッション部材２４の厚みをクッション部材１４の厚みよりも厚く形成する）構成でも良い。
【０１５５】
この場合には、クッション部材２４の材質の硬度を高める（クッション部材２４を打撃の振動が伝達しやすいものから構成する）ことで、第１周辺センサ２０〜第３周辺センサ４０のヘッドセンサ２３が打撃を検出するまでの時間を短くすることができる。即ち、少なくとも第１周辺センサ２０〜第３周辺センサ４０を、中央センサ１０より、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成すれば良く、その手段は限定されない。これにより、打面の中央部が打撃された場合に、その打撃を中央センサ１０が検出してから、第１周辺センサ２０〜第３周辺センサ４０が検出するまでの時間を短くできるので、発音制御の遅延時間を短くできる（楽音の生成指示の遅延を短くできる）。
【０１５６】
また、クッション部材２４の材質の硬度をクッション部材１４より高める場合には、クッション部材１４とクッション部材２４とを同一の材質の弾性材料から構成し、クッション部材２４の硬度のみを高めることがより好ましい。これにより、クッション部材１４とクッション部材２４との硬度に相違がある場合であっても（硬度および材質の双方に相違がある場合に比べ）、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０における打撃出力の特性（波形、レベル、反応時間など）を容易に合わせこむことができる。
【０１５７】
上記実施形態において、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０は、圧電素子から構成されるものとした。しかし、必ずしもこれに限られるものではなく、加速度センサや圧力センサ等、打面の打撃を検知できるものであれば、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０に適用できる。
【０１５８】
上記実施形態において、打面（膜部材３ａ）が円盤状に形成される場合について説明した。しかし、必ずしもこれに限られるものではなく、矩形状や、多角形状、または、曲線および直線を組み合わせた形状で打面を形成するようにしても良い。即ち、打面がどのような形状の場合であっても、本実施形態のように、１個の中央センサ１０と、その中央センサ１０を円中心とした円周上に沿って等間隔に配設される少なくとも３個の第１周辺センサ２０〜第３周辺センサ４０とを、打面として形成される領域内に配置すれば良い。
【０１５９】
即ち、これにより、第１周辺センサ２０〜第３周辺センサ４０で検出されるピークの時間差から、その第１周辺センサ２０〜第３周辺センサ４０が配設された円周内の打撃位置を検出できる。また、１個の中央センサによる打撃信号の検出波形によって、第１周辺センサ２０〜第３周辺センサ４０が配設された円周外の打撃位置を検出できる。よって、矩形状や、多角形状、または、曲線および直線を組み合わせた形状で打面が形成される場合であっても、打面中央からの打撃位置を中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０によって適切に検出できる。
【０１６０】
この場合、中央センサ１０を中央から外れた位置に配設される構成でもよく、少なくとも、第１周辺センサ２０〜第３周辺センサ４０を、中央センサ１０を円中心とした円周上に等間隔に配設する構成とすればよい。これにより、打撃位置の算出に関しては、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０の検出結果によって、適切に行うことができる。
【０１６１】
上記実施形態において、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０を円中心とした円周上に沿って等間隔に配設されるとした。しかし、必ずしもこれに限られるものではなく、第１周辺センサ２０〜第３周辺センサ４０は、中央センサ１０を円中心とした円周上ではなく、中央センサ１０を囲む多角形状や楕円状等の線上に配設されるものとしてもよいし、不等間隔に配設されるものとしてもよい。この場合は、そのような配置に対応した周辺センサ打撃位置テーブル７２ｃを、実測等により作成して打撃位置を算出すればよい。また、数式１における各ゲイン定数も実測などにより適宜設定し、ベロシティを算出すればよい。
【０１６２】
上記実施形態において、中央センサ１０は、打面の中央に１個配設される構成とした。しかし、必ずしもこれに限られるものではなく、中央センサ１０を２個以上配設する構成としてもよい。その場合は、上記実施形態における１個の中央センサ１０による打撃の検出結果の代わりに、複数の中央センサ１０による打撃の検出結果の平均値等を、ベロシティ及び打撃位置の算出に用いればよい。
【０１６３】
上記実施形態において、第１周辺センサ２０〜第３周辺センサ４０の３個の周辺センサを、中央センサ１０を円中心とした円周上に、等間隔に配設されるものとした。しかし、必ずしもこれに限られるものではなく、周辺センサは３個以上配設されるものとしてもよい。この場合、周辺センサは、中央センサ１０を円中心とした円周上に、等間隔に配設し、周辺センサを基点として、各周辺センサにおける、打撃のピーク時間差を、周辺センサ打撃位置テーブル７２ｃに記憶して、打撃が検知された場合に、周辺センサ打撃位置テーブル７２ｃを各周辺センサにおける、打撃のピーク時間差を参照することで、打撃位置を取得すればよい。
【０１６４】
また、周辺センサは２個配設されるものとしてもよい。この場合でも、２つの周辺センサを結ぶ直線方向の打撃位置を検出できる。２つの周辺センサから得られた打撃位置と、中央センサ１０の初期半波のピッチΔＴｈｗから得られた打撃位置との重み付け演算によって、打撃位置を算出することができる。ただし、２つの周辺センサを結ぶ直線に交差する方向の打撃位置を検出することはできない。
【０１６５】
さらに、周辺センサは１個配設されるものとしてもよい。この場合の周辺センサは、中央センサ１０を円中心とした円状の１個のリングセンサ（センサ自体がリング形状のもの、又は、ヘッドに接触するリング状の部材の振動を検出する１個のセンサ）とする。この場合のベロシティは、中央センサ１０が検出する打撃のピーク値と、リングセンサが検出する打撃のピーク値との重み付け演算によって算出される。そして、打撃位置は、まず、リングセンサが検出した打撃のピークと、中央センサ１０が検出した打撃のピークとの時間差により、打撃位置（以下「時間差による打撃位置」と称する）が算出される。これにより、リングセンサが配設される円周内の打撃位置を算出することができる。
【０１６６】
この時間差による打撃位置が、中央センサ１０によるスキャンタイム内に、中央センサ１０の初期半波のピッチΔＴｈｗが完全に検出できる位置（例えば、図３の「７５」の位置より外周側）である場合は、時間差による打撃位置と、中央センサ１０の初期半波のピッチΔＴｈｗにより算出される打撃位置とを重み付け演算することで、打撃位置が算出される。一方、時間差による打撃位置の結果が、中央センサ１０によるスキャンタイム内に中央センサ１０の初期半波のピッチΔＴｈｗを完全に検出できない位置である場合は、時間差による打撃位置を打撃位置とする。
【０１６７】
このように、リングセンサが配設される円周内の打撃位置を、リングセンサが検出した打撃のピークと、中央センサ１０が検出した打撃のピークとの時間差により、算出し、円周外の打撃位置を中央センサ１０の初期半波のピッチΔＴｈｗに基づいて算出することで、円周内外の打撃位置を中央センサ１０によるスキャンタイム内の打撃の検出結果に基づいて算出することができる。従って、打面が大きく形成された場合にも、打撃位置の算出を迅速に行うことができるので、楽音の生成指示を遅延させることがない。
【０１６８】
また、時間差による打撃位置が、リングセンサの位置である場合は、リングセンサの位置が打撃されたのか、リングセンサより外周側が打撃されたのかが判別できない。この場合は、中央センサ１０の初期半波のピッチΔＴｈｗにより算出される打撃位置を、打撃位置としてもよい。
【０１６９】
時間差による打撃位置を、リングセンサが検出した打撃のピークと、中央センサ１０が検出した打撃のピークとの時間差によって算出したが、リングセンサが検出した打撃のピーク値と、中央センサ１０が検出した打撃のピーク値との差や比によって、打撃位置を算出してもよい。また、リングセンサと中央センサ１０との立ち下り（又は立ち上り）の検出時間差（即ち、信号到達時刻の差）によって、打撃位置を算出してもよい。
【０１７０】
中央センサ１０による打撃位置を、初期半波のピッチΔＴｈｗによって算出したが、中央センサ１０で検出される初期半波のピーク位置や初期半波の面積などに基づいて打撃位置を算出してもよい。
【０１７１】
以上より、中央センサ１０及び少なくとも１つの周辺センサの内の、複数のセンサ（の打撃検出時間または打撃強度の差や比）から得られる打撃位置と、中央センサ１０の初期半波から得られた打撃位置との重み付け演算により、打撃位置を算出することができる。
【０１７２】
上記実施形態において、中央センサ１０によるスキャンタイム及び、周辺センサによるスキャンタイムの計時時間を共に２ｍｓとした。しかし、必ずしもこれに限られるものではなく、打面の大きさや、打面の素材に応じて計時時間を、２ｍｓ以上としてもよいし、２ｍｓ以下としてもよい。また、中央センサ１０によるスキャンタイムと、周辺センサによるスキャンタイムとの計時時間は、異なるものとしてもよい。例えば、中央センサ１０はピークの出現が第１周辺センサ２０〜第３周辺センサ４０に比べて遅いのでスキャンタイムを長くし、第１周辺センサ２０〜第３周辺センサ４０はピークの出現が早いのでスキャンタイムを短くする構成としてもよい。
【０１７３】
上記実施形態において、周辺センサによるスキャンタイム中に、中央センサ１０による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、中央センサ１０によるスキャンタイムを開始するものとした。しかし、必ずしもこれに限られるものではなく、周辺センサによるスキャンタイム中に、中央センサ１０による打撃を検出しても、中央センサ１０によるスキャンタイムを行わず、周辺センサによるスキャンタイム後に、それまでに得られたセンサ値リングバッファ７３ｂの値及びセンサピーク値メモリ７３ｃの値からベロシティ及び打撃位置を算出して、楽音の生成指示を行ってもよい。この場合、ベロシティについては、周辺センサによるスキャンタイム内に得られた中央センサ１０のセンサピーク値メモリ７３ｃの値を、中央センサ１０のピーク値とすればよい。
【０１７４】
また、打撃位置については、第１周辺センサ２０〜第３周辺センサ４０のいずれかがが先に打撃を検出したということは、中央センサ１０よりも第１周辺センサ２０〜第３周辺センサ４０に近い位置が打撃されたと考えられるので、中央センサ１０と第１周辺センサ２０〜第３周辺センサ４０の中間位置（「５０」の位置）から最外周（「１２７」の位置）までの所定の位置（例えば、「１００」の位置）を打撃位置とすればよい。又は、周辺センサによるスキャンタイム内に得られた中央センサ１０の初期半波の開始時刻から周辺センサによるスキャンタイム終了までの時刻の差を、中央センサ１０の初期半波のピッチΔＴｈｗとし、数式２のpre_gain_c（即ち、中央センサ打撃位置ゲインメモリ７３ｆの値）に通常よりも大きな値（例えば、０．６）を設定し、数式２の重み付け演算によって打撃位置を算出すればよい。これにより、中央センサ１０によるスキャンタイムを待つことがなくなるので、楽音の生成指示の遅延がさらに小さくなり、打撃に対するレスポンス性が高くなる。
【０１７５】
上記実施形態において、周辺センサによるスキャンタイム中に、中央センサ１０による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、中央センサ１０によるスキャンタイムを開始するものとした。しかし、必ずしもこれに限られるものではなく、周辺センサによるスキャンタイム中に、中央センサ１０による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、「中央センサ１０＋周辺センサによるスキャンタイム」を開始するものとし、「中央センサ１０によるスキャンタイム」と区別する構成としてもよい。この場合は、中央センサ１０＋周辺センサによるスキャンタイムの時間を２ｍｓより短くする等、適宜調整することで楽音の生成指示の遅延を小さくすることができる。
【０１７６】
上記実施形態において、第１周辺センサ２０〜第３周辺センサ４０によって算出された打撃位置が「７５」以上の場合は、中央センサ１０による打撃位置と、第１周辺センサ２０〜第３周辺センサ４０による打撃位置との重み付け演算で打撃位置を算出し、「７５」より小さい場合は、第１周辺センサ２０〜第３周辺センサ４０によって算出された打撃位置のみで、打撃位置を算出した。しかし、必ずしもこれに限られるものではなく、第１周辺センサ２０〜第３周辺センサ４０によって算出された打撃位置のみで、打撃位置を算出する打面の領域と、中央センサ１０によって算出された打撃位置のみで、打撃位置を算出する打面の領域とを隣接させる構成としてもよい。
【０１７７】
上記実施形態において、打撃位置の算出を、第１周辺センサ２０〜第３周辺センサ４０により検出される打撃位置のみで行うかどうかの閾値を「７５」の位置とした。しかし、必ずしもこれに限られるものではなく、打面の大きさや素材等、中央センサ１０及び第１周辺センサ２０〜第３周辺センサ４０の打撃の検出特性に応じて、境界値を「７５」以下の値としてもよいし、「７５」以上の値としてもよい。
【０１７８】
上記実施形態において、中央センサ打撃位置テーブル７２ｂを、中央センサ１０の打撃による電圧波形の初期半波のピッチΔＴｈｗで参照することで、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、演算によって、初期半波のピッチΔＴｈｗから打撃位置を取得するものとしてもよい。その場合は、中央センサ打撃位置テーブル７２ｂを省いた構成とすることができるので、ＲＯＭ７２のサイズを小さくすることができる。
【０１７９】
上記実施形態において、中央センサ１０による打撃位置は、中央センサ１０で検出される初期半波のピッチΔＴｈｗを中央センサ打撃位置テーブル７２ｂで参照することで算出した。しかし、必ずしもこれに限られるものではなく、中央センサ１０で検出される初期半波のピーク位置や初期半波の面積などに基づいて打撃位置を算出してもよい。
【０１８０】
上記実施形態において、周辺センサ打撃位置テーブル７２ｃを第１周辺センサ２０と、第２周辺センサ３０，第３周辺センサ４０との打撃のピークの時間差ΔＴ１，ΔＴ２で参照することで、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、打撃のピークの時間差ΔＴ１，ΔＴ２から演算によって、打撃位置を取得するものとしてもよい。その場合は、周辺センサ打撃位置テーブル７２ｃを省いた構成とすることができるので、ＲＯＭ７２のサイズを小さくすることができる。
【０１８１】
上記実施形態において、第１周辺センサ２０〜第３周辺センサ４０による打撃位置は、第１周辺センサ２０と第２周辺センサとの３０のピークの時間差ΔＴ１及び、第１周辺センサ２０と第３周辺センサ４０とのピークの時間差ΔＴ２を周辺センサ打撃位置テーブル７２ｃを参照することで算出した。しかし、必ずしもこれに限られるものではなく、第１周辺センサ２０〜第３周辺センサ４０間のピーク値の差や、ピーク値の比に基づいて打撃位置を算出してもよい。
【０１８２】
上記実施形態において、第１周辺センサ２０と第２周辺センサ３０とのピークの時間差をΔＴ１，第１周辺センサ２０と第３周辺センサ４０とのピークの時間差をΔＴ２とした。しかし、必ずしもこれに限られるものではなく、第１周辺センサ２０と第２周辺センサ３０との立ち下り（又は立ち上り）の検出時間差（即ち、信号到達時刻の差）をΔＴ１，第１周辺センサ２０と第３周辺センサ４０との立ち下り（又は立ち上り）の検出時間差をΔＴ２とし、このΔＴ１とΔＴ２とを用いて、周辺センサ打撃位置テーブル７２ｃから、第１周辺センサ２０〜第３周辺センサ４０による打撃位置を算出してもよい。
【０１８３】
上記実施形態において、打撃位置の取得を第１周辺センサ２０〜第３周辺センサ４０の、打撃の検出時間差によって、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、第１周辺センサ２０〜第３周辺センサ４０と、中央センサ１０とによる打撃の検出時間差によって打撃位置を取得してもよい。その場合は、中央センサ１０と、第１周辺センサ２０〜第３周辺センサ４０とのピークの時間差に応じた打撃位置を周辺センサ打撃位置テーブル７２ｃに追加する構成とすればよい。
【符号の説明】
【０１８４】
１              電子ドラム（電子打楽器）
３ａ            膜部材（打面）
７              制御装置（発音制御手段）
１０            中央センサ（打撃センサの一部）
１４            クッション部材
２０            第１周辺センサ（周辺センサの一部、打撃センサの一部）
２４            クッション部材
３０            第２周辺センサ（周辺センサの一部、打撃センサの一部）
４０            第３周辺センサ（周辺センサの一部、打撃センサの一部）
【図１】
2018036642.tif 000006
【図２】
2018036642.tif 000007
【図３】
2018036642.tif 000008
【図４】
2018036642.tif 000009
【図５】
2018036642.tif 000010
【図６】
2018036642.tif 000011
【図７】
2018036642.tif 000012
【図８】
2018036642.tif 000013
【図９】
2018036642.tif 000014
【図１０】
2018036642.tif 000015