JP2018036642A - 電子打楽器 - Google Patents

電子打楽器 Download PDF

Info

Publication number
JP2018036642A
JP2018036642A JP2017160884A JP2017160884A JP2018036642A JP 2018036642 A JP2018036642 A JP 2018036642A JP 2017160884 A JP2017160884 A JP 2017160884A JP 2017160884 A JP2017160884 A JP 2017160884A JP 2018036642 A JP2018036642 A JP 2018036642A
Authority
JP
Japan
Prior art keywords
sensor
peripheral
hit
hitting
central
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017160884A
Other languages
English (en)
Inventor
量 高▲崎▼
Ryo Takasaki
量 高▲崎▼
良彰 森
Yoshiaki Mori
良彰 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Publication of JP2018036642A publication Critical patent/JP2018036642A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器を提供する。【解決手段】中央センサ10と第1周辺センサ20〜第3周辺センサ40とは同構造に構成されるので、別構造の打撃センサを用いる場合に比べて、電子ドラム1の製造コストを低減できると共に、中央センサ10と第1周辺センサ20〜第3周辺センサ40との打撃出力の特性の合わせ込みが不要となるので、その分、設計を容易化できる。しかも、第1周辺センサ20〜第3周辺センサ40は、中央センサ10より、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。よって、打面の中央部が打撃された場合に、その打撃を中央センサ10が検出してから、第1周辺センサ20〜第3周辺センサ40が検出するまでの時間を短くでき、発音制御の遅延時間を短くできる。【選択図】図1

Description

本発明は、電子打楽器に関し、特に、製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器に関するものである。
電子打楽器の一種として、種々の電子ドラムが開発されている。これらの電子ドラムでは、打撃を検出するための打撃センサを、打面の中央部と、打面の外周部(周辺部)とに配設して、各打撃センサの検出結果に応じて、打撃強度や打撃位置を検出し、打撃音を発音制御している。特許文献1,2の電子ドラムでは、打面の中央部に1個、打面の周辺部に4個の打撃センサがそれぞれ配設されている。また、特許文献3の電子ドラムでは、打面の中央部に1個の打撃センサが配設され、打面の周辺部に円環状のリングセンサが配設されている。特許文献4〜6の電子ドラムでは、打面の中央部に1個の打撃センサが配設され、打面の周辺部に円環状のキャリアを支持する複数の打撃センサが配設されている。
実開昭54−172726号公報 特開2012−203191号公報 特開2009−186886号公報 米国特許8,563,843号公報 米国特許8,816,181号公報 米国特許8,940,991号公報
しかしながら、特許文献1,2の電子ドラムでは、中央の打撃センサと、周辺部の打撃センサとは同構造であるので、打面中央部に比べて打面の振動(振幅)が小さい周辺部では打撃の検出感度が低下する。また打面中央部が打撃された場合、中央の打撃センサが打撃を検出してから周辺の打撃センサが打撃を検出し、信号到達時刻やピークレベルなどの必要情報を取得できるまでに時間を要すので、打撃音を発音制御するまでの遅延時間が長くなる。しかも、これらの現象は打面の口径が大きくなるほど顕著になるという問題点があった。
また、特許文献3〜6の電子ドラムでは、中央の打撃センサと周辺部の円環状のリングセンサやキャリアとは構造が全く異なるので、電子ドラムの製造コストは必然的に高くなる。しかも、構造の異なるセンサからの打撃出力の特性(波形、レベル、反応時間など)を合わせこむ必要があるという問題点があった。
本発明は、上記問題点を解決するためになされたものであり、製造コストを低減しつつ、発音制御の遅延時間を短くできると共に、打面の周辺側においても打撃の検出感度の低下を抑制できる電子打楽器を提供することを目的としている。
この目的を達成するために本発明の電子打楽器は、打面と、その打面への打撃を検出する打撃センサとを備え、前記打撃センサは、前記打面の裏面側に複数配設されると共に、前記打面の中央側に配設される打撃センサと、前記打面の周辺側に配設される打撃センサとは、同構造に構成され、前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。
請求項1記載の電子打楽器によれば、打面の中央側に配設される打撃センサと打面の周辺側に配設される打撃センサとは同構造に構成されるので、別構造の打撃センサを用いる場合に比べて、電子ドラムの製造コストを低減できると共に、中央側と周辺側との打撃センサの打撃出力の特性の合わせ込みが不要となるので、その分、設計を容易化できるという効果がある。しかも、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されている。よって、打面の中央部が打撃された場合に、その打撃を中央側の打撃センサが検出してから、周辺側の打撃センサが検出するまでの時間を短くできる。よって、発音制御の遅延時間を短くできるという効果がある。
請求項2記載の電子打楽器によれば、請求項1の奏する効果に加え、次の効果を奏する。即ち、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面に近い位置に配設されている。よって、打面の中央部が打撃された場合に、その打撃を中央側の打撃センサが検出してから、周辺側の打撃センサが検出するまでの時間を短くできる。よって、発音制御の遅延時間を短くできるという効果がある。
また打面の中央部が打撃された場合、打面の中央部に比べて、周辺部では打撃の振動(振幅)が小さくなるので、その分、打撃検出の感度が低下する。しかし、打面の周辺側に配設された打撃センサは、打面の中央側に配設された打撃センサより、打面に近い位置に配設されているので、かかる検出感度の低下を補うことができるという効果がある。
請求項3から6のいずれかに記載の電子打楽器によれば、請求項2の奏する効果に加え、次の効果を奏する。即ち、打撃センサは、打面の裏面側にクッション部材を介して配設されているので、打撃センサの直上を打撃された場合にも、クッション部材により、かかる打撃センサを保護して、その破損を抑制できるという効果がある。また一般に、電子打楽器では、打面はその外周端にテンションがかけられて張設されるので、打撃時における打面のたわみ量は、中央部が大きく、周辺部は中央部に比べて小さくなる。該電子打楽器によれば、打撃時における打面のたわみ量に合わせて、打面中央側のクッション部材を周辺側のクッション部材より肉厚に形成することで、即ち、打面周辺側のクッション部材を中央側のクッション部材より肉薄に形成することで、打面周辺側の打撃センサを、打面中央側の打撃センサより、打面に近い位置に配設できる。このように、クッション部材の肉厚を打面のたわみ量に合わせて変更することで、クッション部材により打撃センサを保護しつつ、打撃センサの打面からの配設位置を、打面の中央側と周辺側とで適切に調整できるという効果がある。
請求項7記載の電子打楽器によれば、請求項1から6のいずれかの奏する効果に加え、次の効果を奏する。即ち、打面を平面視した場合において、打撃センサは、打面の中央に配設された1個の中央センサと、その中央センサを円中心とした円周上に等間隔に配設された少なくとも3個の周辺センサとを有して構成されている。よって、少なくとも3個の周辺センサによる打撃信号の検出時間差により、その3個の周辺センサが配設された円周内の打面中央からの打撃位置を検出できると共に、1個の中央センサによる打撃信号の検出波形によって、3個の周辺センサが配設された円周外の打面中央からの打撃位置を検出できるという効果がある。即ち、打面中央からの打撃位置を適切に検出できるという効果がある。なお、打面の形状は、円形でも矩形状でも、いずれの形状に構成されていても良い。
本発明の一実施形態における電子ドラムの分解斜視図である。 電子ドラムの断面図である。 電子ドラムの各センサ配置を模式的に表した平面図である。 電子ドラムの電気的構成を示すブロック図である。 (a)は、中央センサ打撃位置テーブルを模式的に表した図であり、(b)は、周辺センサ打撃位置テーブルを模式的に表した図であり、(c)は、センサ値リングバッファを模式的に表した図である。 (a)は、中央センサにおける打撃に基づく電圧波形(中央センサからの出力波形)の電圧−時間グラフであり、(b)は、電子ドラムの打面への、ある打撃に対して検出される、第1周辺センサ、第2周辺センサ、第3周辺センサにおける電圧波形の電圧−時間グラフである。 (a)は、初期化処理のフローチャートであり、(b)は、MIDI受信処理のフローチャートである。 定期処理のフローチャートである。 中央センサ打撃処理のフローチャートである。 周辺センサ打撃処理のフローチャートである。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図1及び図2を参照して、電子ドラム1の全体構成について説明する。図1は、本発明の一実施形態における電子ドラム1の分解斜視図であり、図2は、電子ドラム1の断面図である。なお、図1及び図2では、理解を容易にするために、電子ドラム1の一部が省略して図示される。また、図1及び図2の上側を電子ドラム1の上方、その下側を電子ドラム1の下方とする。
図1に示すように、電子ドラム1は、演奏者が持つスティック等を使用して演奏されるドラムを模擬した電子打楽器である。この電子ドラム1は、上端(図1及び図2の上側の端部)が開口するシェル2と、そのシェル2の上端の開口を覆うヘッド3と、そのヘッド3の外縁に連結されるリム4と、そのリム4が取り付けられる固定部5と、ヘッド3に対向配置されてシェル2の内周側に配設されるフレーム6と、そのフレーム6に支持される制御装置7と、ヘッド3及びフレーム6の間に介設されると共に平面視において打面(後述する膜部材3a)の中央側に配設される中央センサ10と、その中央センサ10よりも平面視において打面の周辺側(膜部材3aの径方向外側)に配設される複数の周辺センサ(第1周辺センサ20、第2周辺センサ30及び第3周辺センサ40)とを備える。
電子ドラム1は、演奏者がスティック等(図示せず)を用いて打面を打撃した場合に、その打撃に基づく中央センサ10及び第1周辺センサ20〜第3周辺センサ40からの検出結果を音源76(図4参照)へ出力するものであり、かかる検出結果に基づいた楽音信号が音源76により生成される。その楽音信号がアンプ77を介してスピーカ78へ出力され(図4参照)、その楽音信号に基づく電子楽音がスピーカ78から放音される。
シェル2は、その軸方向両端(上下の両端)が開口する円筒状に形成され、その外径が14インチに形成される。なお、シェル2の外径は14インチに限らず、その外径を14インチ未満または14インチよりも大きい外径に設定することも可能である。
ヘッド3は、打面として形成される膜部材3aと、その膜部材3aの外縁が接着される円環状の枠部3bとを備える。膜部材3aは、合成繊維を編み上げたメッシュ状素材や合成樹脂により形成されたフィルム状素材によって円板状に形成される。枠部3bは、合成樹脂または金属材料によって形成され、この枠部3bに膜部材3aが固定される。
リム4は、ヘッド3に張力を付与する円環状の部材である。このリム4は、下端(固定部5側の端部。図2の下側の端部)が枠部3bに接触する円筒状の枠接触部4aと、その枠接触部4aの上端(枠部3bに接触する端部とは反対側の端部)に全周に沿って配設される円環状の弾性部材4bと、枠接触部4aの下端からその径方向外側へ張り出す円環状のフランジ部4cとを備える。
枠接触部4aは、後述するボルトB1の締結力を枠部3bに付与し、膜部材3aを張設するための部位である。この枠接触部4aの内径は、シェル2の外径よりも大きく、且つ、枠部3bの外径よりも小さい寸法に設定される。弾性部材4bは、演奏者によって打撃される部位であり、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される。フランジ部4cには、ボルトB1を挿入するための複数の貫通孔が後述する被締結部5cに対応した位置に形成される。
固定部5は、ヘッド3及びリム4をシェル2に固定するための部材である。この固定部5は、シェル2の下端(図2の下側の端部)に固定される環状部5aと、その環状部5aから径方向外側へ張り出して形成される複数の張出部5bと、それら複数の張出部5bから上方へ向けて立設される複数の被締結部5cとを備える。
環状部5aは、合成樹脂または金属材料によって円環状に形成され、この環状部5aと張出部5bとが一体に形成される。張出部5bには、ねじ(図示せず)によって被締結部5cが固定され、この被締結部5cは、金属材料によって円筒状に形成され、その内周面にめねじが形成される。フランジ部4cに挿入されたボルトB1が被締結部5cに螺合されることにより、ヘッド3及びリム4がシェル2に固定される。
フレーム6は、シェル2の内周側で中央センサ10や第1周辺センサ20〜第3周辺センサ40等の各種部材を支持するための椀状の部材であり、合成樹脂によって形成される。このフレーム6は、ヘッド3と所定距離を隔てて対向配置される底部6aと、その底部6aの外縁から立設される側壁部6bと、底部6aからヘッド3側へ立設される複数の中央突起部6cと、それら複数の中央突起部6c同士を連結する連結部6dと、中央突起部6c及び連結部6dから放射状に側壁部6b側へ延設される複数のリブ6eと、そのリブ6eに一体に形成される周辺突起部6fとを備える。
側壁部6bの上端には、その径方向外側へ向けて張り出すと共に、下方へ向けて湾曲する湾曲部6b1が形成される。この湾曲部6b1がシェル2の上端の縁に沿って係合されることでシェル2の上端側の開口の縁にフレーム6が支持される。
中央突起部6cは、中央センサ10が取り付けられる部位であり、その基端が底部6aと一体に形成され、シェル2の周方向に沿って複数(本実施形態では、3個)配設される。これら複数の中央突起部6c同士をシェル2の周方向に沿って連結する態様で連結部6dが形成され、それら中央突起部6c及び連結部6dに複数(本実施形態では、12個)のリブ6eが連結される。
複数のリブ6eは、底部6aから平板状に立設するようにそれぞれ形成されると共に、シェル2の周方向に沿って等間隔に配置され、それら複数のリブ6eのうち、3個のリブ6eのそれぞれに一対の周辺突起部6fが形成される。
周辺突起部6fは、リブ6eの延設方向に沿って一対に形成され、それら一対の周辺突起部6fの上端にはめねじ孔がそれぞれ形成される。この一対の周辺突起部6fは、シェル2の周方向に沿って3箇所に配設され、これら3箇所の周辺突起部6fに第1周辺センサ20〜第3周辺センサ40がそれぞれ配設される。よって、第1周辺センサ20〜第3周辺センサ40は、シェル2の周方向に沿って等間隔に配設される。
中央センサ10は、打面が打撃されたことを検出するセンサであり、平面視においてフレーム6の中央に配設される。この中央センサ10は、中央突起部6cの先端に取り付けられるプレート11と、そのプレート11のヘッド3側に両面テープ12を介して接着されるヘッドセンサ13と、そのヘッドセンサ13のヘッド3側に接着されるクッション部材14とを備える。
プレート11は、金属材料によって円板状に形成され、その外縁にはシェル2の径方向外側に張り出す3個の被固定部11aが形成される。この被固定部11aがボルトB2によって中央突起部6cの先端に固定される。
ヘッドセンサ13は、打面が打撃されたことを検出する円板状のセンサであり、圧電素子から構成される。クッション部材14は、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される円錐台形状の緩衝材であり、その上端が膜部材3aに当接して配設される。
第1周辺センサ20、第2周辺センサ30及び第3周辺センサ40は、打面が打撃されたことを検出するセンサであり、平面視において中央センサ10を円中心とした円周上に等間隔に配設される。
なお、第1周辺センサ20、第2周辺センサ30及び第3周辺センサ40は、配設される位置が異なる以外は同じセンサとして構成される。よって、第2周辺センサ30及び第3周辺センサ40には、第1周辺センサ20と同一の符号を付してその詳細な説明を省略する。
第1周辺センサ20(第2周辺センサ30及び第3周辺センサ40)は、一対の第1周辺突起部6fの先端に取り付けられるプレート21と、そのプレート21のヘッド3側の面に両面テープ22を介して接着されるヘッドセンサ23と、そのヘッドセンサ23のヘッド3側の面に接着されるクッション部材24とを備える。
プレート21は、金属材料によって円板状に形成され、その外縁にはリブ6eの延設方向に沿って張り出す2個の被固定部21aが形成される。この被固定部21aがボルトB3によって周辺突起部6fに固定される。
ヘッドセンサ23は、打面が打撃されたことを検出する円板状のセンサであり、圧電素子から構成される。このヘッドセンサ23は、中央センサ10のヘッドセンサ13よりも打面に近い位置に配設される(即ち、ヘッドセンサ13と膜部材3aとの対向間隔よりもヘッドセンサ23と膜部材3aとの対向間隔のほうが短く形成される)。
クッション部材24は、スポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成される円錐台形状の緩衝材であり、中央センサ10のクッション部材14と同じ弾性材料によって形成される。
即ち、第1周辺センサ20〜第3周辺センサ40は、実質的に中央センサ10と同構造のセンサ(膜部材3aにクッション部材14,24が当接され、そのクッション部材14,24の下面にヘッドセンサ13,23が配設されるセンサ)として構成される。これにより、中央センサ10と、第1周辺センサ20〜第3周辺センサ40とを別構造のセンサから構成する場合に比べて、電子ドラム1の製造コストを低減できる。また、中央センサ10の打撃出力の特性と、第1周辺センサ20〜第3周辺センサ40の打撃出力の特性との合わせ込みが不要となるので、その分、設計を容易化できる。
ここで、クッション部材24の厚み(ヘッドセンサ23からの立設高さ)は、クッション部材14の厚み(ヘッドセンサ13からの立設高さ)よりも薄く(立設高さが低く)設定される(即ち、クッション部材24よりもクッション部材14が肉厚に形成される)。即ち、中央センサ10は、第1周辺センサ20〜第3周辺センサ40よりも打面から離れた位置に配設される。
これにより、ヘッドセンサ23と打面との対向間隔を短くすることができるので、打面の中央部(クッション部材14が当接する付近)が打撃された場合に、その打撃を中央センサ10のヘッドセンサ13が検出してから、第1周辺センサ20〜第3周辺センサ40のヘッドセンサ23が検出するまでの時間を短くできる。即ち、中央センサ10と第1周辺センサ20〜第3周辺センサ40とにそれぞれ同じ厚みのクッション部材を設ける場合に比べ、第1周辺センサ20〜第3周辺センサ40のヘッドセンサ23が打撃を検出するまでの時間(即ち、信号到達時刻やピークレベルなどの必要情報を取得できるまでの時間)を短くすることができるので、制御装置7による発音制御の遅延時間を短くできる。
また、打面の中央部が打撃された場合、周辺部(膜部材3aにおける中央部よりもシェル2の径方向外側)では打撃の振動(膜部材3aの振幅)が打面の中央部に比べて小さくなるので、その分、打撃検出の感度が低下する。
これに対して、本実施形態の電子ドラム1によれば、ヘッドセンサ23は、ヘッドセンサ13よりも打面に近い位置に配設される(ヘッドセンサ13と膜部材3aとの対向間隔よりもヘッドセンサ23と膜部材3aとの対向間隔のほうが短く形成される)ので、かかる検出感度の低下を補うことができる。
また、ヘッドセンサ13,23は、打面の裏面側にクッション部材14,24を介して配設されているので、ヘッドセンサ13,23の直上を打撃された場合であっても、その打撃の衝撃をクッション部材14,24によって吸収することができる。よって、打撃の衝撃からヘッドセンサ13,23を保護して、その破損を抑制できる。
ここで、打撃検出の感度を高めるためには、クッション部材14,24の厚みを薄く設定し、ヘッドセンサ13,23は、打面に極力近い位置に配設されることが好ましい。しかしながら、クッション部材14,24の厚みを薄くしてヘッドセンサ13,23を打面に近づけ過ぎると、打面が強打されることでヘッドセンサ13,23へ底当たりする。即ち、クッション部材14,24では打撃による衝撃を吸収しきれず、ヘッドセンサ13,23が実質的に直接強打される状態となるため、ヘッドセンサ13,23が破損する。
よって、クッション部材14,24は、打面が強打された場合に、ヘッドセンサ13,23へ底当たりしない厚みに形成されることが好ましい。この場合、クッション部材14,24の厚みをヘッドセンサ13,23へ底当たりしない厚みに設定するには、まず、クッション部材14,24と打面とが当接する付近を、クッション部材14,24を取り外した状態でスティックによって強打し、打面(膜部材3a)の最大たわみ量を測定する。このたわみ量は、打面のテンションによって変化するが、想定される範囲(演奏可能な範囲)における最も低いテンションで打面を張設した状態で測定する。
この場合、打面が強打された場合の打面の最大たわみ量に対し、クッション部材14,24の厚みは、その最大たわみ量の約1.5〜2倍の厚みに設定されることが好ましい。クッション部材14,24の厚みが強打時の打面の最大たわみ量の1.5倍よりも薄い場合は、ヘッドセンサ13,23へ底当たりしやすくなる。また、クッション部材14,24の厚みが強打時の打面の最大たわみ量の2倍よりも厚い場合は、その厚みが過剰になるため、ヘッドセンサ13,23の検出感度が低下する。
即ち、クッション部材14,24の厚みを、打面が強打された場合の打面の最大たわみ量の約1.5〜2倍の厚みに形成することにより、ヘッドセンサ13,23が破損することを抑制しつつ、その検出感度を高めることができる。
本実施形態では、強打時の打面の最大たわみ量が、打面の中心付近(クッション部材14が当接する付近)で20mm、それよりも周辺側(クッション部材24が当接する付近)で14mmであった。よって、クッション部材14の厚みを35mm(最大たわみ量20mmの1.75倍)に、クッション部材24の厚みを25mm(最大たわみ量14mmの1.78倍)に、それぞれ設定した。これにより、打面が強打された場合であっても、ヘッドセンサ13,23へ底当たりすることを抑制できると共に、ヘッドセンサ13,23の検出感度を高めることができる。
このように、打面はその外周端にテンションがかけられて張設されるので、打撃時における打面の最大たわみ量は、中央付近が大きく、それよりも周辺側は中央付近に比べて小さくなる。よって、その最大たわみ量に合わせて、クッション部材14をクッション部材24より肉厚に形成する(クッション部材24をクッション部材14より肉薄に形成する)ことで、ヘッドセンサ23を、ヘッドセンサ13より、打面に近い位置に配設できる。
従って、打撃時における打面のたわみ量に合わせてクッション部材14,24の厚みを設定(本実施形態では、たわみ量の約1.75倍の厚みに設定)することにより、クッション部材14,24によってヘッドセンサ13,23を保護しつつ、ヘッドセンサ13,23の打面からの配設位置(膜部材3aとの対向間隔)をそれぞれ適切に調整することができる。
即ち、打面のたわみ量に合わせて予めクッション部材14,24の高さを設定し、そのクッション部材14,24の下面にヘッドセンサ13,23を配設すれば、底当たりせず、且つ、検出感度を高めることができる高さにヘッドセンサ13,23を配設することができる。
また、打面を平面視した場合において、その打面の中央に配設される1個の中央センサ10と、その中央センサ10を円中心とした円周上に沿って等間隔に配設された複数(本実施形態では、3個)の周辺センサとが配設されているので、3個の周辺センサが配設される円周内が打撃された場合、それら3個の周辺センサそれぞれで検出される打撃信号(後述するピーク、電圧波形の立ち下がり、又は、立ち上がり)の検出時間差によって、打面の中央からの打撃位置を検出できる。更に、中央センサ10による打撃信号の検出波形によって、3個の周辺センサが配設された円周外において、打面の中央からの打撃位置を検出できる。よって、中央センサ10と3個の周辺センサとによって、打面の中央からの打撃位置を適切に検出できる。
また、クッション部材24の厚みは、打面の中央が打撃された場合の打撃信号(後述するピーク)をヘッドセンサ23によって所定時間(本実施形態では、中央センサ10が打撃を検出してから2ms)以内に検出できる厚みに設定されている。この2msは、後述する中央センサ10によるスキャンタイムである。このスキャンタイム内に第1周辺センサ20〜第3周辺センサ40で打撃のピークを検出させる(即ち、打撃の有無とその強度を検出させる)ことにより、第1周辺センサ20〜第3周辺センサ40で検出されるピークの時間差から打面の中央付近の打撃位置の検出を行うことができる。よって、後述する初期半波ピッチに基づいて、打面の中央付近の打撃位置を中央センサ10によって検出する場合に比べ、打撃位置の検出をより短い時間で行うことができる。
次に、電子ドラム1に対する打撃を、中央センサ10及び、第1周辺センサ20〜第3周辺センサ40のセンサ出力値に応じて、その打撃位置およびベロシティを算出し、ドラム音の演奏を行う制御プログラムについて説明する。
まず、図3を参照して、電子ドラム1の各センサの配置について説明する。図3は、電子ドラム1のセンサ配置を模式的に表した平面図である。電子ドラム1は、打面を平面視した場合において、打面は円形に形成され、中央センサ10は、打面の中央に配設されると共に、第1周辺センサ20〜第3周辺センサ40は、中央センサ10を円中心とした同心円の円周上に等間隔に配設されている。よって、円形に形成された打面の全域について、打撃を適切に検出して、そのベロシティを算出することができる。また、打面の中央は打面の周辺部に比べて打面の変形量(たわみ量)が大きいので、打面の中央に配設された中央センサ10は、打面の周辺部に配設される第1周辺センサ20〜第3周辺センサ40に比べて打撃に対するセンサ出力値のレンジが広く、打撃の検出感度が良い。
なお、第1周辺センサ20〜第3周辺センサ40は、中央センサ10による打撃の検出から2msのウエイト処理(以下「中央センサ10によるスキャンタイム」と称する)中に、同じ打撃によるセンサ出力値の絶対値の最大値(以下「ピーク」と称する)が、第1周辺センサ20〜第3周辺センサ40の全てで検出でき、且つ、中央センサ10が打撃を検出してから、中央センサ10によるスキャンタイム内に、中央センサ10のセンサ出力値による打撃における最初のマイナス値の波形、即ち、初期半波が検出できる位置に配設される。具体的に、第1周辺センサ20〜第3周辺センサ40は、図3における「100」の位置に配設される。
本実施形態においては、打面の中央付近の打撃位置の検出を第1周辺センサ20〜第3周辺センサ40のセンサ出力値により行い、それ以外の打撃位置の検出を中央センサ10のセンサ出力値と、第1周辺センサ20〜第3周辺センサ40のセンサ出力値とにより行う。詳細は後述するが、中央センサ10による打撃位置は、中央センサ10のセンサ出力値による打撃における最初のマイナス値の波形、即ち、初期半波のピッチの大きさによって算出される。一方、第1周辺センサ20〜第3周辺センサ40の打撃位置の検出は、第1周辺センサ20と第2周辺センサ30とのピークを検出する時間差と、第1周辺センサ20と第3周辺センサ40とのピークを検出する時間差とから算出される。
中央センサ10によるスキャンタイム内に、中央センサ10における初期半波が完全に検出され、且つ、同一の打撃による、第1周辺センサ20〜第3周辺センサ40のピークが検出される場合は、中央センサ10により算出される打撃位置と、第1周辺センサ20〜第3周辺センサ40による打撃位置との重み付け演算によって打撃位置が算出される。
一方、打面の中央付近、即ち、中央センサ10付近に対する打撃の場合(図3の「75」の位置より内周側)は、中央センサ10で検出される初期半波のピッチが大きく、中央センサ10によるスキャンタイム内に収まらない場合があり、その時は中央センサ10による正確な打撃位置が算出できない。即ち中央センサ10で検出される、初期半波のピッチの大きさに基づいて、打撃位置を算出できる領域は、打面の中央付近よりも外周側に限定される。
これに対して、第1周辺センサ20〜第3周辺センサ40による打撃位置は、第1周辺センサ20と第2周辺センサ30とのピークを検出する時間差と、第1周辺センサ20と第3周辺センサ40とのピークを検出する時間差とから算出される。また、上述した通り、第1周辺センサ20〜第3周辺センサ40は、中央センサ10の打撃を検出してからの中央センサ10によるスキャンタイム内に、その打撃の初期半波が検出できる位置に配設される。
ここで、中央センサ10と、第1周辺センサ20〜第3周辺センサ40との距離が大きいと、中央センサ10が打撃を検出してから、第1周辺センサ20〜第3周辺センサ40が、その打撃を検出するまでの時間が長くなる。従って、第1周辺センサ20〜第3周辺センサ40が、中央センサ10によるスキャンタイム内に、その打撃を検出できる位置より外周側に配設されると、中央センサ10によるスキャンタイム内に第1周辺センサ20〜第3周辺センサ40によって打撃が検出されず、打撃位置が算出できない。さらに、かかる第1周辺センサ20〜第3周辺センサ40の配設位置において、打面の中央付近を打撃すると、中央センサ10によるスキャンタイム内に、第1周辺センサ20〜第3周辺センサ40による打撃位置が算出できない上に、上述した通り、中央センサ10によって正確な打撃位置も算出できない。即ち中央センサ10によるスキャンタイム内に、打撃位置が正確に算出できない領域が存在してしまう。
そこで、本実施形態における第1周辺センサ20〜第3周辺センサ40は、打面が打撃された場合に、中央センサ10が打撃を検出してから、中央センサ10によるスキャンタイム内にその打撃を検出でき、且つ、中央センサ10によるスキャンタイム内に、その打撃の初期半波を検出できる位置(図3における「100」の位置)に配設される。これにより、打面の中央付近の打撃であっても、中央センサ10によるスキャンタイム内に、第1周辺センサ20〜第3周辺センサ40による打撃位置の算出が可能となる。そして、第1周辺センサ20〜第3周辺センサ40により検出される打撃位置が、打面の中央付近であると判断される場合は、算出可能な第1周辺センサ20〜第3周辺センサ40による打撃位置のみから、打撃位置が算出される。これにより、正確な打撃位置を取得することができる。
また、打撃強度(ベロシティ)の算出は、打撃によって検出される、中央センサ10のピークと、第1周辺センサ20〜第3周辺センサ40のピークとによる重み付け演算に応じて行う。詳細は後述するが、中央センサ10によるスキャンタイム内に、中央センサ10及び第1周辺センサ20〜第3周辺センサ40によって打撃が検出された場合は、中央センサ10のピークと、第1周辺センサ20〜第3周辺センサ40のピークとから、ベロシティを算出する。これにより、打撃の感度が高い中央センサ10と、第1周辺センサ20〜第3周辺センサ40とからベロシティが算出されるので、より正確にベロシティが算出できる。
これに対して、第1周辺センサ20〜第3周辺センサ40による打撃の検出から2msのウエイト処理(以下「周辺センサによるスキャンタイム」と称する)内において、中央センサ10によって打撃を検出しない場合は、第1周辺センサ20〜第3周辺センサ40ピークからベロシティが算出される。これにより、打面の外周部等で、中央センサ10で打撃が検出できない程の弱い打撃を行ったとしても、確実にベロシティが算出され、そのベロシティに基づいて楽音の生成指示が行われる。
なお、本実施形態においては、打面の中央の位置を「0」とし、打面における最外周の位置を「127」とする。また、第1周辺センサ20〜第3周辺センサ40は、「100」の位置に、等間隔に配設される(即ち、第1周辺センサ20〜第3周辺センサ40は正三角形の頂点の位置)。また、打撃位置の算出を、第1周辺センサ20〜第3周辺センサ40により検出される打撃位置のみで行うかどうかの閾値を「75」の位置とする。
次に、図4を参照して、電子ドラム1の電気的構成について説明する。図4は電子ドラム1の電気的構成を示すブロック図である。電子ドラム1は、電子ドラム1の各部を制御するための制御装置7を備えている。制御装置7は、CPU71と、ROM72と、RAM73とを有し、それぞれバスライン74を介して接続される。また、バスライン74には、中央センサ10と、第1周辺センサ20と、第2周辺センサ30と、第3周辺センサ40と、外部入出力端子75とがそれぞれ接続される。外部入出力端子75には、音源76又は検査PC79が接続される(図面には、説明のために、音源76と検査PC79との両方が接続された状態を図示している)。音源76にはアンプ77が接続され、アンプ77にはスピーカ78が接続される。
CPU71は、バスライン74により接続された各部を制御する演算装置である。ROM72は、書き換え不可能なメモリであり、制御プログラム72aと、中央センサ打撃位置テーブル72bと、周辺センサ打撃位置テーブル72cとが記憶される。CPU71によって、制御プログラム72aが実行されると、初期化処理(図7(a))が実行される。中央センサ打撃位置テーブル72bは、中央センサ10に対する打撃の出力値による、初期半波のピッチΔThwから、電子ドラム1の打撃位置を取得するテーブルである。ここで、この初期半波のピッチΔThwについて、図6(a)を参照して説明する。
図6(a)は、中央センサ10における打撃に基づく電圧波形(中央センサ10からの出力波形)の電圧−時間グラフである。縦軸が電圧を示し、横軸が時間を示す。中央センサ10が出力する打撃に基づく電圧波形の開始の時刻Tsと、その直後の電圧波形のゼロクロス点となる時刻Teとの間の電圧波形はマイナス値となる。これは、電子ドラムの打面が打撃されることにより、打面が負方向に「たわむ」からである。本実施形態においては、この打撃の検出開始における時刻TsからTeまでに出力されるマイナス値の電圧波形のことを「初期半波」と称する。一般的に、中央センサ10と打撃位置との距離に応じて、中央センサ10によって検出される初期半波のピッチΔThw,即ち、時刻Teと時刻Tsとの時間差は変化するという特性を持つ。具体的には、打撃位置が中央センサ10に近いほど、初期半波のピッチΔThwが大きくなり、打撃位置が中央センサ10から離れるほど、初期半波のピッチΔThwが小さい特性を持つ。この関係性を実測値から算出し、テーブル化したものが、中央センサ打撃位置テーブル72bである。図5(a)を参照して、中央センサ打撃位置テーブル72bについて説明する。
図5(a)は、中央センサ打撃位置テーブル72bを模式的に表した図である。中央センサ打撃位置テーブル72bは、初期半波のピッチΔThwに応じて、実測値から算出された打撃位置が記憶されるテーブルである。中央センサ10における打撃に基づく電圧波形から算出された初期半波のピッチΔThwを中央センサ打撃位置テーブル72bの初期半波のピッチΔThwと参照し、該当する打撃位置が取得される。取得された打撃位置と、後述の第1周辺センサ20〜第3周辺センサ40から求めた打撃位置とを用いて、打撃位置を算出し、それに基づいて電子ドラム1の演奏情報が生成される。なお、図5(a)における、中央センサ打撃位置テーブル72bの各数値は、必ずしもこれに限られるものではなく、ヘッド3や中央センサ10やクッション部材14の素材や特性、中央センサ10の配置、クッション部材14の高さなどに応じて、適宜設定してもよい。
図4に戻る。周辺センサ打撃位置テーブル72cは、第1周辺センサ20〜第3周辺センサ40における打撃検出の時間差によって、電子ドラム1の打撃位置を取得するテーブルである。ここで、第1周辺センサ20〜第3周辺センサ40における打撃検出の時間差について、図6(b)を参照して説明する。
図6(b)は、電子ドラム1の打面への、ある打撃に対して検出される、第1周辺センサ20,第2周辺センサ30,第3周辺センサ40における電圧波形の電圧−時間グラフである。それぞれ、縦軸が電圧を示し、横軸が時間を示す。第1周辺センサ20に検出される、ある打撃によるピークを検出する時刻をピーク時刻Tm1とし、第2周辺センサ30,第3周辺センサ40によって検出される、同じ打撃によるピークが検出される時刻をそれぞれピーク時刻Tm2,ピーク時刻Tm3とする。また、ピーク時刻Tm1とピーク時刻Tm2との時間差をΔT1,ピーク時刻Tm1とピーク時刻Tm3との時間差をΔT2とする。第1周辺センサ20,第2周辺センサ30,第3周辺センサ40はそれぞれ、打面の中央から「100」の位置に等間隔で配設されるので(図3参照)、打面の中央を打撃された場合は、検出されるピーク時刻Tm1,Tm2,Tm3が等しい。一方、打面の中央以外を打撃された場合は、検出されるピーク時刻Tm1,Tm2,Tm3は、その打撃位置に応じて変化する。即ち、打撃位置に応じてΔT1,ΔT2は変化する。そこで、本実施形態において、第1周辺センサ20を周辺センサの基点として、第2周辺センサ30,第3周辺センサ40との打撃のピークの時間差ΔT1,ΔT2に応じた、打撃位置を実測値から算出し、テーブル化したものが、周辺センサ打撃位置テーブル72cである。図5(b)を参照して、周辺センサ打撃位置テーブル72cについて説明する。
図5(b)は、周辺センサ打撃位置テーブル72cを模式的に表した図である。周辺センサ打撃位置テーブル72cは、第1周辺センサ20と、第2周辺センサ30,第3周辺センサ40との打撃のピークの時間差ΔT1,ΔT2に応じて、実測値から算出された打撃位置が記憶されるテーブルである。打撃のピークの時間差ΔT1及びΔT2を、周辺センサ打撃位置テーブル72cの時間差ΔT1及びΔT2と参照し、該当する打撃位置が取得される。これにより、第1周辺センサ20〜第3周辺センサ40による打撃位置を、その都度、打撃のピークの時間差ΔT1及びΔT2から算出する場合と比較して、迅速に取得することができる。取得された打撃位置と、中央センサ10から求めた打撃位置とを用いて、打撃位置を算出し、それに基づいて電子ドラム1の演奏情報が生成される。なお、打撃のピークの時間差ΔT1及びΔT2による打撃位置は、第1周辺センサ20〜第3周辺センサ40の位置より外周側では算出できない。これは、例えば、第1周辺センサ20の位置(位置A)で打撃された場合の打撃のピークの時間差ΔT1及びΔT2と、位置Aと打面中央とを結ぶ延長線上かつ、第1周辺センサ20の外周側の位置で打撃された場合の打撃のピークの時間差ΔT1及びΔT2とが、同じ値となるからである。従って、周辺センサ打撃位置テーブル72cにおいても、時間差ΔT1及びΔT2により、第1周辺センサ20〜第3周辺センサ40よりも外周側である場合の記憶位置には、第1周辺センサ20〜第3周辺センサ40の位置と同じ「100」が記憶される。
なお、図5(b)における周辺センサ打撃位置テーブル72cの各数値は、必ずしもこれに限られるものではなく、ヘッド3や第1周辺センサ20〜第3周辺センサ40やクッション部材24の素材や特性、第1周辺センサ20〜第3周辺センサ40の配置、クッション部材24の高さなどに応じて、適宜設定される。
また、図5(b)における周辺センサ打撃位置テーブル72cは、時間差ΔT1及びΔT2の絶対値に対して、打撃位置が算出されるが、時間差ΔT1及びΔT2の正負の符号を含めて、打撃位置が算出されてもよい。即ち、打撃のピークの時間差ΔT1及びΔT2の正負の符号によって、算出される打撃位置(中央センサ10からの距離)が異なる構成としてもよい。
図4に戻る。RAM73は、CPU71が制御プログラム72a等のプログラム実行時に各種のワークデータやフラグ等を書き換え可能に記憶するメモリであり、センサ値メモリ73aと、センサ値リングバッファ73bと、センサピーク値メモリ73cと、中央センサスキャンフラグ73dと、周辺センサスキャンフラグ73eと、中央センサ打撃位置ゲインメモリ73fと、中央センサ打撃位置メモリ73gと、周辺センサ打撃位置メモリ73hと、打撃位置メモリ73iと、ベロシティメモリ73jと、テストモードフラグ73kとがそれぞれ設けられる。
センサ値メモリ73aは、A/D変換された中央センサ10および第1周辺センサ20〜第3周辺センサ40のセンサ出力値(単位は無し)を記憶するメモリである。図示しないが、センサ値メモリ73aには、中央センサ10,第1周辺センサ20〜第3周辺センサ40のそれぞれのセンサ出力値が個別に記憶される。センサ値メモリ73aは、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。そして、図8の定期処理において、中央センサ10,第1周辺センサ20〜第3周辺センサ40における、定期処理が実行された時点でのセンサ出力値が、該当するセンサ値メモリ73aに記憶される(図8,S10)。
センサ値リングバッファ73bは、中央センサ10および第1周辺センサ20〜第3周辺センサ40における、それぞれのA/D変換されたセンサ出力値の過去5ms分を記憶するバッファである。図5(c)を参照してセンサ値リングバッファ73bを説明する。
図5(c)は、センサ値リングバッファ73bを模式的に表した図である。センサ値リングバッファ73bは、中央センサ値メモリ73b1と、第1周辺センサ値メモリ73b2と、第2周辺センサ値メモリ73b3と、第3周辺センサ値メモリ73b4とを有し、それぞれが対応付けられて記憶される。中央センサ値メモリ73b1は、A/D変換された中央センサ10のセンサ出力値(単位は無し)を記憶するメモリであり、第1周辺センサ値メモリ73b2〜第3周辺センサ値メモリ73b4は、それぞれ、第1周辺センサ20〜第3周辺センサ40のA/D変換されたセンサ出力値(単位は無し)を記憶するメモリであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。そして、図8の定期処理において、中央センサ10,第1周辺センサ20〜第3周辺センサ40における、定期処理が実行された時点でのセンサ出力値が、該当する中央センサ値メモリ73b1と、第1周辺センサ値メモリ73b2〜第3周辺センサ値メモリ73b4に追加される(図8,S10)。
センサ値リングバッファ73bは、50個分のセンサ出力値を記憶するメモリが設けられる。これは、後述の図8の定期処理は100マイクロ秒(以下「μs」と表す)毎に実行され、且つ、過去5ms分のそれぞれのセンサ出力値を記憶するからである。センサ値リングバッファ73bは、まず、No.1〜50の順で、取得したそれぞれのセンサ出力値が記憶される。そして、No.50にそれぞれのセンサ出力値が記憶されたら、再度No.1から順にセンサ出力値が記憶される。これにより、センサ値リングバッファ73bには、最大過去5ms分のセンサ出力値が記憶された状態となる。このセンサ値リングバッファ73bの値を用いて、それぞれのセンサ出力値のピークの取得や、中央センサ10の初期半波のピッチΔThwの取得を行う。
図4に戻る。センサピーク値メモリ73cは、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値のピーク(絶対値の最大値)を記憶するメモリである。図示しないが、センサピーク値メモリ73cには、中央センサ10,第1周辺センサ20〜第3周辺センサ40のそれぞれのセンサ出力値のピークが個別に記憶される。センサピーク値メモリ73cの値は、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。そして、図8の定期処理において、中央センサ10,第1周辺センサ20〜第3周辺センサ40により打撃が検出された場合、センサ値リングバッファ73bから中央センサ10,第1周辺センサ20〜第3周辺センサ40における、センサ出力値のピークが、センサピーク値メモリ73cに記憶される(図8,S16,S19)。その後は、中央センサ10,第1周辺センサ20〜第3周辺センサ40におけるセンサ値メモリ73aの値と、該当するセンサピーク値メモリ73cの値とを比較し、大きい方がセンサピーク値メモリ73cに記憶される(図8,S21,S25)。中央センサ10,第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値による重み付け演算によって、打撃によるベロシティが算出される(図9,S33,図10,S53)。
中央センサスキャンフラグ73dは、2msのウエイト処理である、中央センサ10によるスキャンタイム中であることを示すフラグである。中央センサスキャンフラグ73dは、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に、中央センサ10によるスキャンタイム中でないことを示す、オフに設定される。そして、図8の定期処理において、中央センサ10において、打撃が検出されたと判断した場合、中央センサスキャンフラグ73dにオンが設定され(図8,S17)、図9の中央センサ打撃処理において、中央センサ10のスキャンタイムが終わった時点で中央センサスキャンフラグ73dにオフが設定される(図9,S31)。
周辺センサスキャンフラグ73eは、2msのウエイト処理である、周辺センサによるスキャンタイム中であることを示すフラグである。周辺センサスキャンフラグ73eは、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に、周辺センサによるスキャンタイム中でないことを示す、オフに設定される。そして、図8の定期処理において、第1周辺センサ20〜第3周辺センサ40のいずれかにおいて、打撃が検出されたと判断した場合、周辺センサスキャンフラグ73eにオンが設定され(図8,S20)、図10の周辺センサ打撃処理において、第1周辺センサ20〜第3周辺センサ40のスキャンタイムが終わった時点で周辺センサスキャンフラグ73eにオフが設定される(図10,S51)。また、周辺センサスキャンフラグ73eがオンの状態で、中央センサ10による打撃を検出した場合は、周辺センサスキャンフラグ73eにオフが設定される(図8,S24)。詳細は後述するが、これは、周辺センサによるスキャンタイム内に、中央センサ10による打撃を検出した場合は、周辺センサによるスキャンタイムを中止し、改めて中央センサ10によるスキャンタイムを行い、中央センサ10によるスキャンタイム後に中央センサ10と、第1周辺センサ20〜第3周辺センサ40とによる打撃位置およびベロシティの算出を行うからである。
中央センサ打撃位置ゲインメモリ73fは、打撃位置を算出する際に用いられる、中央センサ10による打撃位置に対する、重み係数を記憶するメモリである。中央センサ打撃位置ゲインメモリ73fは、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。本実施形態において中央センサ打撃位置ゲインメモリ73fには、打撃位置の算出に対して、中央センサ10による打撃位置がどの程度考慮されるかを示す割合(0以上1以下の値)が、重み係数として記憶される。一方、1から中央センサ打撃位置ゲインメモリ73fの値を減じた値が、打撃位置の算出に対して、第1周辺センサ20〜第3周辺センサ40による打撃位置がどの程度考慮されるかを示す割合(重み係数)とされる。
即ち図9の中央センサ打撃処理において、第1周辺センサ20〜第3周辺センサ40による打撃位置が、第1周辺センサ20〜第3周辺センサ40により検出される打撃位置のみで行うかどうかの閾値である「75」以上の場合は、中央センサ打撃位置ゲインメモリ73fに「0.5」が設定され、第1周辺センサ20〜第3周辺センサ40による打撃位置が「75」より小さい場合は「0」が設定される(図9,S38,S39)。そして、中央センサ打撃位置ゲインメモリ73fの値と、中央センサ10による打撃位置(即ち、後述の中央センサ打撃位置メモリ73gの値)と、第1周辺センサ20〜第3周辺センサ40による打撃位置(即ち、周辺センサ打撃位置メモリ73hの値)とによる重み付け演算によって、打撃位置が算出される(図9,S40)。
中央センサ打撃位置メモリ73gは、中央センサ10によって取得された打撃位置を記憶するメモリであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。そして、図9の中央センサ打撃処理において、センサ値リングバッファ73bから算出された、中央センサ10の初期半波のピッチΔThwを中央センサ打撃位置テーブル72bで参照し、取得された打撃位置が、中央センサ打撃位置メモリ73gに記憶される(図9,S34)。
周辺センサ打撃位置メモリ73hは、第1周辺センサ20〜第3周辺センサ40によって取得された打撃位置を記憶するメモリであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。そして、センサ値リングバッファ73bから算出した、第1周辺センサ20と第2周辺センサ30とのピークの時間差ΔT1及び、第1周辺センサ20と第3周辺センサ40とのピークの時間差ΔT2を周辺センサ打撃位置テーブル72cで参照し、取得された打撃位置が、周辺センサ打撃位置メモリ73hに記憶される(図9,S36)。
打撃位置メモリ73iは、電子ドラム1の打面への打撃の検出結果によって算出された、打撃位置を記憶するメモリであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。中央センサ10が打撃を検出した場合は、中央センサ10によるスキャンタイム後に、中央センサ10による打撃位置と第1周辺センサ20〜第3周辺センサ40による打撃位置とから、打撃位置が算出される(図9,S40)。
一方で、第1周辺センサ20〜第3周辺センサ40で打撃を検出し、周辺センサによるスキャンタイム内に、中央センサ10が打撃を検出しない場合は、打撃位置メモリ73iに「100」が記憶される。即ち、打面の外周部が弱打された場合等、中央センサ10がその打撃を検出しない一方で、第1周辺センサ20〜第3周辺センサ40で打撃を検出した場合は、第1周辺センサ20〜第3周辺センサ40の位置で打撃されたものとして(図10,S54)、その打撃位置に基づいて楽音の生成指示が行われる。これにより、打面の外周部の弱打による、楽音の生成指示を行うことができ、且つ、楽音の生成指示を遅延させることがない。なお、中央センサ10が打撃を検出しない場合に、打撃位置メモリ73iに記憶される値は、必ずしも「100」に限られるものではなく、「100」〜「127」の範囲の、任意の値が記憶されてもよい。
ベロシティメモリ73jは、電子ドラム1の打面への打撃の検出結果によって算出された、ベロシティ(打撃強度)を記憶するメモリであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に「0」で初期化される。図9の中央センサ打撃処理において、センサピーク値メモリ73cに記憶された、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値のピークを重み付け演算することで、算出されたベロシティがベロシティメモリ73jに記憶される(図9,S33)。また、図10の周辺センサ打撃処理において、センサピーク値メモリ73cに記憶された第1周辺センサ20〜第3周辺センサ40のセンサ出力値のピークを重み付け演算することで、算出されたベロシティがベロシティメモリ73jに記憶される(図10,S53)。そして、このベロシティメモリ73jの値と、打撃位置メモリ73iの値とに応じた楽音の生成指示を、後述の音源76に対して行う(図9,S41,図10,S55)。
テストモードフラグ73kは、電子ドラム1がテストモード中であることを示すフラグであり、電子ドラム1の電源投入時および図7(a)の初期化処理が実行された直後に、テストモード中でないことを示すオフに設定される。図7(b)のMIDI受信処理において、テストモードへの切替メッセージを受信した場合に、テストモードフラグ73kはオンに設定される(図7(b),S3)。本実施形態において、テストモード中の電子ドラム1は、中央センサ10又は第1周辺センサ20〜第3周辺センサ40による打撃を検出した場合、320ms後に、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値、即ち、センサピーク値メモリ73cの値をMIDIのシステム・エクスクルーシブ(以下「SysEx」と称する)メッセージに含めたものを、後述の外部入出力端子75を介して送信する。外部入出力端子75に接続された、後述の検査PC79は、受信したSysExメッセージを解析し、その中に含まれる中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値から、各センサが正常動作をしているかを判断する。
外部入出力端子75は、電子ドラム1と、後述の音源76,検査PC79又は、他のコンピュータとのデータの送受信を行うためのインターフェイスである。外部入出力端子75を経由して、電子ドラム1が生成した楽音の生成指示を音源76に送信し、外部入出力端子75を経由して、センサピーク値メモリ73cの値を含めたMIDIのSysExメッセージを検査PC79に送信する。また、検査PC79からも、MIDIのSysExメッセージを受信する。
音源76は、CPU71からの指示にしたがって楽音(打撃音)の音色や各種効果などを制御する装置である。音源76には、波形データのフィルタやエフェクトなどの演算処理を行うDSP(Digital Signal Processor)76aが内蔵される。音源76によって処理された楽音は、アナログ楽音信号として出力される。
アンプ77は、音源76が出力したアナログ楽音信号を増幅する装置であり、増幅したアナログ楽音信号を、スピーカ78に出力する。スピーカ78は、アンプ77により増幅されたアナログ楽音信号を楽音として発音(出力)する。
検査PC79は、テストモードにおいて、電子ドラム1から受信したMIDIのSysExメッセージに含まれる、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値を解析するためのコンピュータである。検査PC79は、電子ドラム1に対して、外部入出力端子75経由で、テストモード切替メッセージを含んだMIDIのSysExメッセージを送信する。電子ドラム1はテストモード切替メッセージを受信した場合は、テストモードに移行し、電子ドラム1が打撃を検出した場合は、320ms後にセンサピーク値メモリ73cの値をMIDIのSysExメッセージに含めたものを、検査PC79に送信する。そして、検査PC79は、検査PC79が実行する検査治具アプリケーション上において、受信したセンサピーク値メモリ73cの値を含んだMIDIのSysExメッセージを解析し、中央センサ10及び第1周辺センサ20〜第3周辺センサ40が正常に動作しているかを判断する。
図7(a)を参照して、電子ドラム1のCPU71で実行される、初期化処理について説明する。図7(a)は、初期化処理のフローチャートである。初期化処理は、電子ドラム1の電源投入直後に実行され、RAM73上の各メモリ値およびフラグの初期化を行う(S1)。
次に、図7(b)を参照して、電子ドラム1のCPU71で実行される、MIDI受信処理について説明する。MIDI受信処理は、外部入出力端子75を介して、MIDIデータを受信したことを契機に行われる、割り込み処理によって実行される。
図7(b)は、MIDI受信処理のフローチャートである。MIDI受信処理ではまず、受信したMIDIデータを解析し、その結果がテストモードへの切替メッセージかどうかを確認する(S2)。受信したMIDIデータがテストモードへの切替メッセージである場合は(S2:Yes)、テストモードフラグ73kにオンを設定する(S3)。一方、受信したMIDIデータがテストモードへの切替メッセージでない場合は(S2:No)、S3の処理をスキップする。S2,S3の処理の後、MIDI受信処理を終了する。これにより、検査PC79から受信したMIDIデータが、テストモードへの切替メッセージである場合は、電子ドラム1はテストモードに移行する。そして、電子ドラム1は、電子ドラム1が打撃を検出した場合は、320ms後にセンサピーク値メモリ73cの値をMIDIのSysExメッセージに含めたものを、検査PC79に送信する。なお、オンに設定されたテストモードフラグ73kは、電子ドラム1の電源がオフされるまで、オンの状態が継続され、次回の電子ドラム1の電源投入直後の図7(a)のS1の処理によって、オフに設定される。
次に、図8〜図10を参照して、電子ドラム1のCPU71で実行される、定期処理について説明する。定期処理では、定期処理が実行された時点での、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値の取得や、スキャンタイムを経過した場合は、打撃位置およびベロシティを算出して、楽音の生成指示を行う、中央センサ打撃処理(図9)または周辺センサ打撃処理(図10)を実行する。定期処理は、100μs毎のインターバル割り込み処理によって、100μs毎に繰り返し実行される。
図8は、定期処理のフローチャートである。定期処理ではまず、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサ出力値を取得し、センサ値メモリ73aに保存し、センサ値リングバッファ73bに追加する(S10)。センサ値リングバッファ73bへは、まず、図5(c)におけるNo.1がセンサ出力値の記憶位置となる。その後、No.2,No.3・・・と昇順に記憶位置が移動し、その領域にセンサ出力値が記憶される。No.50まで記憶された場合は、再びNo.1に記憶される。なお、定期処理は100μs毎に実行されるので、センサ値メモリ73aの値およびセンサ値リングバッファ73bの値も、100μs毎に更新される。
S10の処理の後、中央センサスキャンフラグ73dがオンかを確認する(S11)。中央センサスキャンフラグ73dがオフの場合(S11:No)、即ち、中央センサ10によるスキャンタイム中ではない場合は、周辺センサスキャンフラグ73eがオンかを確認する(S12)。
周辺センサスキャンフラグ73eがオフの場合(S12:No)、即ち、周辺センサによるスキャンタイム中ではない場合は、中央センサ10が打撃を検出したかを確認する(S13)。中央センサ10による打撃の検出は、中央センサ10のセンサ値リングバッファ73bによる電圧波形において、立ち下り(又は立ち上り)を検出したかどうかで判断される。
中央センサ10が打撃を検出した場合は(S13:Yes)、中央センサ10及び、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cに0を設定する(S15)。センサピーク値メモリ73cには、前回以前に記憶されたセンサ出力値のピークが記憶されている場合があるので、中央センサ10が打撃を検出した時点で、センサピーク値メモリ73cの値を「0」で初期化する。
S15の処理の後、センサ値リングバッファ73bの値から、中央センサ10及び、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cのピークを取得し、該当するセンサのセンサピーク値メモリ73cに保存する(S16)。
S16の処理の後、中央センサスキャンフラグ73dにオンを設定して、スキャンタイムの計時を0から開始する(S17)。以後スキャンタイムは定期処理が実行される毎に計時される。これにより「中央センサ10によるスキャンタイム」の計時が開始される。
S13の処理において、中央センサ10が打撃を検出しなかった場合は(S13:No)、第1周辺センサ20〜第3周辺センサ40のいずれかが打撃を検出したかを確認する(S14)。第1周辺センサ20〜第3周辺センサ40による打撃の検出も、第1周辺センサ20〜第3周辺センサ40のいずれかのセンサ値リングバッファ73bによる電圧波形において、立ち下り(又は立ち上り)を検出したかどうかで判断される。
第1周辺センサ20〜第3周辺センサ40のいずれかが打撃を検出した場合は(S14:Yes)、中央センサ10及び、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cに0を設定し(S18)、センサ値リングバッファ73bの値から、中央センサ10及び、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cのピークを取得し、該当するセンサのセンサピーク値メモリ73cに保存する(S19)。
S19の処理の後、周辺センサスキャンフラグ73eにオンを設定して、スキャンタイムの計時を0から開始する(S20)。以後、スキャンタイムは定期処理が実行される毎に計時される。これにより、「周辺センサによるスキャンタイム」の計時が開始される。
中央センサ10によるスキャンタイム又は、周辺センサによるスキャンタイムの開始時に、センサ値リングバッファ73bに記憶された、直近の5msにおける各センサのピークを取得し、センサピーク値メモリ73cに保存する。これは、中央センサ10又は、第1周辺センサ20〜第3周辺センサ40が打撃を検出した場合でも、先に第1周辺センサ20〜第3周辺センサ40のいずれか又は、中央センサ10が打撃を検出し、その打撃による電圧波形におけるピークが、センサピーク値メモリ73cに記憶されている可能性があるからである。まず、各スキャンタイムの開始時に、センサ値リングバッファ73bの値からピークを検索して、そのピークがセンサピーク値メモリ73cに記憶される。その後は、後述のS21,S25の処理において、各スキャンタイム中に、定期処理が実行される毎に、定期処理が実行された時点でのセンサ出力値が記憶されるセンサ値メモリ73aの値と、センサピーク値メモリ73cの値とが比較され、絶対値の最大値が大きい値が、センサピーク値メモリ73cに記憶される。これにより、中央センサ10によるスキャンタイム前後における、センサ出力値のピークがセンサピーク値メモリ73cに記憶される。
一方、第1周辺センサ20〜第3周辺センサ40のいずれも打撃を検出しなかった場合は(S14:No)、S18〜S20の処理をスキップする。
S11の処理において、中央センサスキャンフラグ73dがオンの場合は(S11:Yes)、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値の絶対値と、該当するセンサのセンサ値メモリ73aの絶対値とを比較し、それぞれ大きい値を、センサピーク値メモリ73cに保存する(S21)。センサピーク値メモリ73cには、中央センサ10による打撃が検出された(S13:Yes)直後の、S16の処理において、各センサのセンサ値リングバッファ73bにおけるピークの値が記憶されている。これ以降のタイミングでも、各センサからピークの値が検出される可能性があるので、中央センサスキャンフラグ73dがオン、即ち、中央センサ10によるスキャンタイム中は、その時点で各センサから取得されたセンサ出力値(即ち、センサ値メモリ73aの値)の絶対値と、該当するセンサのセンサピーク値メモリ73cの値の絶対値とを比較して、大きい方の値がセンサピーク値メモリ73cに記憶される。S21の処理の後は、中央センサ打撃処理を実行する(S22)。中央センサ打撃処理については、図9を参照して後述する。
S12の処理において、周辺センサスキャンフラグ73eがオンの場合は(S12:Yes)、中央センサ10が打撃を検出したかを確認する(S23)。なお、中央センサ10が打撃を検出したかを確認する方法は、S13の処理と同一である。中央センサ10が打撃を検出した場合は(S23:Yes)、周辺センサスキャンフラグ73eにオフを設定し、スキャンタイムの計時を停止し(S24)、S16以降の処理を行う。即ち、周辺センサによるスキャンタイム中において、中央センサ10による打撃を検出した場合は、中央センサ10によるスキャンタイムを開始する。
即ち、打面の中央は打面の周辺部に比べて打面の変形量(たわみ量)が大きいので、打面中央に配設された中央センサ10は、打面の周辺部に配設される第1周辺センサ20〜第3周辺センサ40に比べて打撃に対するセンサ出力値のレンジが広く、打撃の検出感度が良い。よって、中央センサ10より先に第1周辺センサ20〜第3周辺センサ40が打撃を検出した場合でも、周辺センサによるスキャンタイム内に中央センサ10が打撃を検出すれば、中央センサ10によるスキャンタイムを経た上で、中央センサ10及び第1周辺センサ20〜第3周辺センサ40の打撃の検出結果に基づいてベロシティが算出される。従って、中央センサ10より先に第1周辺センサ20〜第3周辺センサ40が打撃を検出した場合にも、中央センサ10より後で第1周辺センサ20〜第3周辺センサ40が打撃を検出した場合にも、感度の良い中央センサ10の検出結果を使ってベロシティを算出することができる。
なお、この場合、第1周辺センサ20〜第3周辺センサ40の打撃の検出から中央センサ10の打撃の検出までの時間分、楽音の生成指示は遅延する。しかし、中央センサ10の打撃の検出があるか否かを判断する期間は、第1周辺センサ20〜第3周辺センサ40の打撃の検出からの周辺センサによるスキャンタイム内であるので、楽音の生成指示の遅延時間を周辺センサによるスキャンタイム(即ち、2ms)内に止めることができる。即ち、周辺センサによるスキャンタイムの計時時間を調整することにより、楽音の生成指示の遅延時間を設計値の範囲内に止めることができる。
S23の処理において、中央センサ10が打撃を検出しなかった場合は(S23:No)、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値の絶対値と、該当するセンサのセンサ値メモリ73aの絶対値とを比較し、それぞれ大きい値を、センサピーク値メモリ73cに保存する(S25)。S25の処理の後、周辺センサ打撃処理を実行する(S26)。周辺センサ打撃処理については、図10を参照して後述する。S14,S17,S20,S22,S26の処理の後、定期処理は終了する。
次に、図9を参照して、中央センサ10によるスキャンタイム中に実行される、中央センサ打撃処理(図8,S22)について説明する。中央センサ打撃処理は、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値や、センサ値リングバッファ73bの値から、打撃位置およびベロシティを算出し、その打撃位置およびベロシティに応じた楽音の生成指示を音源76に行い、電子ドラム1の楽音の生成を行う。
まず、中央センサ打撃処理は、スキャンタイムが2ms以上となったかを確認する(S30)。中央センサ10が打撃を検出した後の、2msにおける中央センサ10によるスキャンタイムは、打撃による各センサの出力値を監視し、打撃による打撃位置およびベロシティの算出を行わない、所謂「ウエイト処理」中であるので、そのスキャンタイムが経過したかを確認する。
スキャンタイムが2ms以上となった場合は(S30:Yes)、中央センサ10によるスキャンタイムが終了したので、中央センサ10によるスキャンタイム中であることを示す中央センサスキャンフラグ73dにオフを設定し、スキャンタイムの計時を停止する(S31)。
S31の処理の後、テストモードフラグ73kがオフかどうかを確認する(S32)。即ち、電子ドラム1がテストモードかどうかを確認する。テストモードフラグ73kがオフの場合は(S32:Yes)、中央センサ10のセンサピーク値メモリ73cの値と、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値とを重み付け演算し、その結果をベロシティメモリ73jに保存する(S33)。即ち、中央センサ打撃処理における、打撃によるベロシティ(打撃強度)は、各センサのピーク値の重み付け演算により算出される。中央センサ10のセンサピーク値メモリ73cの値をpeak_c,第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値をそれぞれ、peak_s1,peak_s2,peak_s3とすると、ベロシティVlは、数式1の重み付け演算で算出される。
Figure 2018036642
ここで、gain_c,gain_s1,gain_s2,gain_s3はゲイン定数であり、それぞれ、「0.3」,「0.2」,「0.2」,「0.2」である。また、gain_Mix_vは、ユーザによって設定される値であり、電子ドラム1の入力装置(図示せず)によって設定される値である。数式1で算出された、ベロシティVlがベロシティメモリ73jに記憶される。なお、各ゲイン定数は、必ずしも上述した値に限られるものではなく、打面の大きさや素材、中央センサ10や第1周辺センサ20〜第3周辺センサ40の感度等に応じて、適宜設定してもよい。
S33の処理の後、センサ値リングバッファ73bの値から、中央センサ10の打撃による初期半波を取得し、その初期半波のピッチΔThwで、中央センサ打撃位置テーブル72bを参照し、該当する打撃位置を中央センサ打撃位置メモリ73gに保存する(S34)。具体的には、センサ値リングバッファ73bの中央センサ値メモリ73b1の値を
参照し、最小値となる位置を取得する。まず、その位置から、遡る方向にセンサ値リングバッファ73bの中央センサ値メモリ73b1の値を参照し、その値が0となる位置を取得する。即ち、この時点が図6(a)における時刻Tsである。
そして、センサ値リングバッファ73bの中央センサ値メモリ73b1の値から、時間を下る方向にセンサ値リングバッファ73bの中央センサ値メモリ73b1の値を参照し、その値が0となる位置を取得する。即ち、この時点が図6(a)における時刻Teである。なお、時間を下る方向にセンサ値リングバッファ73bの中央センサ値メモリ73b1の値を参照した結果、0となる位置が存在しない場合は、現在のセンサ値リングバッファ73bの位置を時刻Teとする。これは、電子ドラム1の打面の中央付近が打撃された場合、中央センサ10によるスキャンタイム内にその振動による初期半波を、全て検出できなかった場合である。この場合の対応については、S37〜S39の処理で後述する。
この時刻Tsと時刻Teとの時間差、即ち、初期半波のピッチΔThwの値で、中央センサ打撃位置テーブル72bを参照し、該当する打撃位置を中央センサ打撃位置メモリ73gに記憶する。
S34の処理の後、センサ値リングバッファ73bの値から、第1周辺センサ20〜第3周辺センサ40の打撃の検出時刻を取得する(S35)。具体的には、センサ値リングバッファ73bの第1周辺センサ値メモリ73b2,第2周辺センサ値メモリ73b3,第3周辺センサ値メモリ73b4の値をそれぞれ参照し、最小値となる位置(即ち、図5(c)における「No.」)を取得する。そして、その位置と、現在のセンサ値リングバッファ73bの記憶位置(即ち、図8のS10で記憶された記憶位置)との差に100μsを乗じることで、最小値となる時刻、即ち、図6(b)における、ピーク時刻Tm1,Tm2,Tm3をそれぞれ算出する。
そして、ピーク時刻Tm1とTm2との時間差ΔT1と、ピーク時刻Tm1とTm3との時間差ΔT2とで、周辺センサ打撃位置テーブル72cを参照し、該当する打撃位置を、周辺センサ打撃位置メモリ73hに保存する(S36)。
S36の処理の後、周辺センサ打撃位置メモリ73hの値が75以上かを確認する(S37)。周辺センサ打撃位置メモリ73hの値が75以上の場合は(S37:Yes)、中央センサ打撃位置ゲインメモリ73fに「0.5」を設定する(S38)。一方、周辺センサ打撃位置メモリ73hの値が75より小の場合は(S37:No)、中央センサ打撃位置ゲインメモリ73fに「0」を設定する(S39)。前述した通り、電子ドラム1の打面の中央付近を打撃された場合、打面の中央付近が大きく振動することで、中央センサ10が、スキャンタイム内にその初期半波を検出できない場合がある。中央センサ10による打撃位置は、この初期半波のピッチΔThwによって中央センサ打撃位置テーブル72bから取得される。従って、初期半波が完全に検出できなければ、その打撃位置を取得することができない。
しかし、この場合であっても、S35の処理で前述した、第1周辺センサ20〜第3周辺センサ40の打撃検出の時間差による、打撃位置は正確に取得される。これは、中央センサ10による初期半波のピッチΔThwの完全な検出よりも、第1周辺センサ20〜第3周辺センサ40による打撃検出の方が早いからである。従って、第1周辺センサ20〜第3周辺センサ40の打撃検出の時間差による打撃位置(即ち、周辺センサ打撃位置メモリ73hの値)が「75」より小さい場合は、即ち、電子ドラム1の打面の中央付近に近い場合は、中央センサ打撃位置ゲインメモリ73fに「0」が設定され、後述する重み付け演算による、打撃位置の算出には、中央センサ10による打撃位置が考慮されない。これにより、電子ドラム1の打面の中央付近で打撃が行われ、中央センサ10によって正確に打撃位置が取得されない可能性がある場合は、第1周辺センサ20〜第3周辺センサ40によって取得された打撃位置のみで打撃位置が算出されるので、正確な打撃位置を取得することができる。
一方で、周辺センサ打撃位置メモリ73hの値が「75」以上の場合は、即ち、電子ドラム1の打面の中央から離れている場合は、中央センサ打撃位置ゲインメモリ73fに「0.5」が設定され、後述する重み付け演算による、打撃位置の算出に中央センサ10による打撃位置が考慮される。中央センサ10による打撃位置は、その位置が「75」以上であれば、正確に算出され、第1周辺センサ20〜第3周辺センサ40による打撃位置は、その位置が「100」未満であれば、正確に打撃位置が算出される。従って、中央センサ10による打撃位置と、第1周辺センサ20〜第3周辺センサ40による打撃位置とを組み合わせて打撃位置を算出することで、より精度の高い打撃位置が取得できる。なお、この場合に中央センサ打撃位置ゲインメモリ73fに設定される値は、必ずしも「0.5」に限られるものではなく、打面の大きさや素材等に応じて、適宜設定してもよい。
S38,S39の処理の後、中央センサ打撃位置メモリ73gの値と、周辺センサ打撃位置メモリ73hの値と、中央センサ打撃位置ゲインメモリ73fの値との重み付け演算により、打撃位置を算出し、打撃位置メモリ73iに保存する(S40)。中央センサ打撃位置メモリ73gの値をposition_center,周辺センサ打撃位置メモリ73hの値をposition_subとすると、打撃位置positionは、数式2の重み付け演算で算出される。
Figure 2018036642
ここで、pre_gain_cは中央センサ打撃位置ゲインメモリ73fの値である。また、1-pre_gain_cは第1周辺センサ20〜第3周辺センサ40による打撃位置への重み係数である。即ちpre_gain_cは、打撃位置の算出において、中央センサ10による打撃位置がどの程度考慮されるかを示す割合なので、1-pre_gain_cは、打撃位置の算出において、第1周辺センサ20〜第3周辺センサ40による打撃位置が考慮される割合を示す割合(重み係数)である。また、gain_Mix_pは、ユーザによって設定される値であり、電子ドラム1の入力装置(図示せず)によって設定される値である。数式2で算出された、打撃位置positionが打撃位置メモリ73iに記憶される。S40の処理の後、打撃位置メモリ73iの値およびベロシティメモリ73jの値に応じた楽音の生成指示を音源76に出力する(S41)。
S32の処理において、テストモードフラグ73kがオンの場合は(S32:No)、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値をMIDIのSysExメッセージに含めたものを出力する(S42)。また、S30の処理において、スキャンタイムが2msより小さい場合は、S31〜S42の処理をスキップする。そして、S30,S41,S42の処理の後、中央センサ打撃処理は終了し、図8の定期処理へ戻る。
次に、図10を参照して、打面の外周側が弱打される等、周辺センサによるスキャンタイム中に、中央センサ10によって打撃が検知されない場合に実行される、周辺センサ打撃処理(図8,S26)について説明する。周辺センサ打撃処理は、第1周辺センサ20〜第3周辺センサ40のセンサ値リングバッファ73bの値から、打撃位置およびベロシティを算出する。なお、この場合の打撃位置は「100(固定値)」とする(図3参照)。そして、その打撃位置およびベロシティに応じた楽音の生成指示を音源76に行い、電子ドラム1の楽音の生成を行う。
まず、周辺センサ打撃処理は、スキャンタイムが2ms以上となったかを確認する(S50)。第1周辺センサ20〜第3周辺センサ40が打撃を検出した後の2msにおける周辺センサによるスキャンタイムは、打撃による各センサの出力値を監視し、打撃による打撃位置およびベロシティの算出を行わない、所謂「ウエイト処理」中であるので、そのスキャンタイムが経過したかを確認する。
スキャンタイムが2ms以上となった場合は(S50:Yes)、第1周辺センサ20〜第3周辺センサ40によるスキャンタイムが経過したので、第1周辺センサ20〜第3周辺センサ40がスキャンタイム中であることを示す周辺センサスキャンフラグ73eにオフを設定し、スキャンタイムの計時を停止する(S51)。
S51の処理の後、テストモードフラグ73kがオフかどうかを確認する(S52)。テストモードフラグ73kがオフの場合は(S52:Yes)、第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値を重み付け演算し、その結果をベロシティメモリ73jに保存する(S53)。即ち、周辺センサ打撃処理における、打撃によるベロシティ(打撃強度)は、第1周辺センサ20〜第3周辺センサ40のピーク値の重み付け演算により算出される。第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値をそれぞれ、peak_s1,peak_s2,peak_s3とすると、ベロシティVlは、数式3の重み付け演算で算出される。
Figure 2018036642
ここで、gain_s1,gain_s2,gain_s3はゲイン定数であり、それぞれ、「0.2」,「0.2」,「0.2」である。なお、各ゲイン定数は、必ずしも上述した値に限られるものではなく、打面の大きさや素材、第1周辺センサ20〜第3周辺センサ40の検出感度等に応じて、適宜設定してもよい。また、gain_Mix_vは、ユーザによって設定される値であり、電子ドラム1の入力装置(図示せず)によって設定される値である。なお、gain_Mix_vは、数式1におけるgain_Mix_vと同じ値に限られるものではなく、別の値が設定されてもよい。
S53の処理の後、打撃位置メモリ73iへ「100」を保存する(S54)。このS54が実行される条件は、周辺センサスキャンフラグ73eがオン(図8,S12:Yes)、且つ、中央センサ10が打撃を検出していない(図8,S22:No)、且つ、スキャンタイムが2ms以上となった場合(S50:Yes)である。即ち、第1周辺センサ20〜第3周辺センサ40のいずれかでは打撃を検出したが、そのスキャンタイム内に、中央センサ10での打撃の検出されない場合である。言い換えると、打面の周辺部において、電子ドラム1の打面が弱打された場合である。これには、第1周辺センサ20〜第3周辺センサ40より外周側が弱打された場合のみならず、第1周辺センサ20〜第3周辺センサ40より内周側が弱打され、中央センサ10がその打撃を検出しない場合も含まれる。第1周辺センサ20〜第3周辺センサ40より内周側が弱打された場合は、打撃のピークの時間差ΔT1及びΔT2から打撃位置が正確に算出される。一方、外周側が弱打された場合は、前述した通り、打撃のピークの時間差ΔT1及びΔT2から打撃位置が正確には算出されず、第1周辺センサ20〜第3周辺センサ40の位置が打撃位置とされる。また、中央センサ10がその打撃を検出しないので、中央センサ10の初期半波のピッチΔThwから打撃位置の算出ができない。そこで、本実施形態においては、処理の簡略化のため、第1周辺センサ20〜第3周辺センサ40のいずれかでは打撃を検出したが、中央センサ10での打撃の検出されない場合は、打撃位置を第1周辺センサ20〜第3周辺センサ40の位置と同じ「100」とし、その打撃位置を楽音の生成指示に用いる。
S54の処理の後、打撃位置メモリ73iの値およびベロシティメモリ73jの値に応じた楽音の生成指示を音源76に出力する(S55)。
打面の周辺部で、中央センサ10が検出できないほどの弱打が行われた等、周辺センサによるスキャンタイム内に、中央センサ10によって打撃が検出されなかった場合は、第1周辺センサ20〜第3周辺センサ40によって、その弱打が検出され、楽音の生成指示が行われる。即ち、第1周辺センサ20〜第3周辺センサ40の打撃が検出された後、周辺センサによるスキャンタイム内に中央センサ10によって打撃が検出されない場合は、中央センサ10による打撃の検出を待つことなく楽音の生成指示が行われる。従って、この場合にも、楽音の生成指示を遅延させることがない。
S52の処理において、テストモードフラグ73kがオンの場合は(S52:No)、中央センサ10及び第1周辺センサ20〜第3周辺センサ40のセンサピーク値メモリ73cの値をMIDIのSysExメッセージに含めたものを出力する(S56)。また、S50の処理において、スキャンタイムが2msより小さい場合は、S51〜S56の処理をスキップする。そして、S50,S55,S56の処理の後、周辺センサ打撃処理は終了し、図8の定期処理へ戻る。
以上より、第1周辺センサ20〜第3周辺センサ40による打撃位置が0〜75の間は、電子ドラム1の打面の中央部による打撃であり、中央センサ10では、初期半波のピッチΔThwを完全に検出できない可能性があるので、第1周辺センサ20〜第3周辺センサ40による打撃位置のみで、打撃位置が算出される。即ち、数式2のpre_gain_c(中央センサ打撃位置ゲインメモリ73fの値)に「0」を設定する。そして、第1周辺センサ20〜第3周辺センサ40による打撃位置が75〜100の間においては、中央センサ10,第1周辺センサ20〜第3周辺センサ40共に打撃位置が検出される範囲であるので、両者の重み付け演算によって打撃位置が算出される。このとき、数式2のpre_gain_c(中央センサ打撃位置ゲインメモリ73fの値)に「0.5」を設定する。なお、この場合に設定されるpre_gain_cの値は、必ずしも「0.5」に限られるものではなく、打面の大きさや素材等に応じて、適宜設定してもよい。
そして、第1周辺センサ20〜第3周辺センサ40による打撃位置が100以上の場合は、即ち、第1周辺センサ20〜第3周辺センサ40の位置(図3の「100」の位置)より外周側である。本実施形態では、図5(b)の通り、第1周辺センサ20〜第3周辺センサ40による打撃位置は、第1周辺センサ20〜第3周辺センサ40より外周側の場合、第1周辺センサ20〜第3周辺センサ40の位置と同じく「100」の位置となる。一方で、中央センサ10による打撃位置は、正確に取得されるので、両者の重み付け演算により打撃位置が算出される。
また、中央センサ10が第1周辺センサ20〜第3周辺センサ40よりも先に打撃を検出した場合には、2msの中央センサ10によるスキャンタイム後に楽音の生成が指示される。第1周辺センサ20〜第3周辺センサ40が中央センサ10よりも先に打撃を検出し、その後中央センサ10が打撃を検出しなかった場合でも、2msの周辺センサによるスキャンタイム後に楽音の生成が指示される。第1周辺センサ20〜第3周辺センサ40が中央センサ10よりも先に打撃を検出し、その後中央センサ10が打撃を検出した場合、最大4msのスキャンタイム(中央センサ10によるスキャンタイム+周辺センサによるスキャンタイム)後まで、楽音の生成が指示されない。しかし、従来技術でも、中央センサ10が打撃を検出してから2msのスキャンタイム後に、楽音の生成が指示されていた。本実施形態においても、中央センサ10が打撃を検出してから2msの中央センサ10によるスキャンタイム後に楽音の生成が指示される点は従来技術と変わりない。中央センサ10が打撃を検出するよりも前に、第1周辺センサ20〜第3周辺センサ40が打撃を検出する点が異なる。従って、中央センサ10又は第1周辺センサ20〜第3周辺センサ40で打撃を検出してから、中央センサ10によるスキャンタイム及び/又は周辺センサによるスキャンタイム後に、即ち最大4ms後には打撃位置およびベロシティが算出されるので、楽音の生成指示を遅延させることがない。従って、打撃に対して、レスポンス性のよい電子ドラム1の演奏が可能となる。
以上から、検出される打撃位置に応じて、打撃位置を算出するために用いられる、中央センサ10,第1周辺センサ20〜第3周辺センサ40による打撃の重み付けを変更することにより、より正確な打撃位置を算出することができる。
以上説明したように、本実施形態における電子ドラム1は、打面の中央に配設された中央センサ10と、打面の周辺部に配設された第1周辺センサ20〜第3周辺センサ40とを有して構成される。また、第1周辺センサ20〜第3周辺センサ40は、中央センサ10を円中心とした円周上に、等間隔に配設され、円周内のいずれの位置が打撃された場合にも、中央センサ10が打撃を検出した後の2msの中央センサ10によるスキャンタイム内に、第1周辺センサ20〜第3周辺センサ40がすべて打撃を検出できる位置に配設されている。そして、電子ドラム1の打面に対する打撃によって各センサで検出される、それぞれのセンサ出力値に応じてベロシティ(打撃強度)及び打撃位置が算出され、その算出されたベロシティ及び打撃位置に基づいて、楽音の生成指示が行われる。
まず、ベロシティは、中央センサ10及び第1周辺センサ20〜第3周辺センサ40で検出された打撃のピークに基づいて算出される。具体的に、電子ドラム1の打面に対する打撃によって、第1周辺センサ20〜第3周辺センサ40より先に中央センサ10が打撃を検出した場合、中央センサ10の打撃の検出から、中央センサ10によるスキャンタイムの計時が行われ、このスキャンタイムの終了後に、中央センサ10及び第1周辺センサ20〜第3周辺センサ40で検出された打撃のピークに基づいて、ベロシティが算出される。
このように、中央センサ10と第1周辺センサ20〜第3周辺センサ40とで検出された打撃のピークに基づいてベロシティが算出されるので、打面の打撃感度の分布を略均一にすることができ、中央センサ10のある打面の中央部で打撃音が異様に大きくなる、所謂ホットスポットを解消できる。また打面が大きく形成された結果、中央センサ10と第1周辺センサ20〜第3周辺センサ40とによる打撃の検出の時間差が大きくなったとしても、ベロシティの算出は、第1周辺センサ20〜第3周辺センサ40より先に中央センサ10が打撃を検出した場合に、その中央センサ10の打撃の検出からスキャンタイム(即ち、2ms)後に行われるので、楽音の生成指示を遅延させることがない。
打面の周辺部で、中央センサ10が検出できないほどの弱打が行われた等、周辺センサによるスキャンタイム内に、中央センサ10によって打撃が検出されなかった場合は、第1周辺センサ20〜第3周辺センサ40によって、その弱打が検出され、楽音の生成指示が行われる。即ち、第1周辺センサ20〜第3周辺センサ40の打撃が検出された後、周辺センサによるスキャンタイム内に中央センサ10によって打撃が検出されない場合は、中央センサ10による打撃の検出を待つことなく楽音の生成指示が行われる。従って、この場合にも、楽音の生成指示を遅延させることがない。
一方、打撃位置は、中央センサ10による打撃位置と第1周辺センサ20〜第3周辺センサ40による打撃位置とから算出される。具体的には、まず、電子ドラム1の第1周辺センサ20〜第3周辺センサ40による打撃位置が、第1周辺センサ20と第2周辺センサ30とのピークを検出する時間差ΔT1と、第1周辺センサ20と第3周辺センサ40とのピークを検出する時間差ΔT2とを、周辺センサ打撃位置テーブル72cで参照することで算出される。一方、中央センサ10による打撃位置が、中央センサ10で検出される打撃の初期半波のピッチΔThwを中央センサ打撃位置テーブル72bで参照することで算出される。そして、第1周辺センサ20〜第3周辺センサ40による打撃位置と、中央センサ10による打撃位置とを重み付け演算することで、打撃位置が算出される。
第1周辺センサ20〜第3周辺センサ40は、円周内のいずれの位置が打撃された場合にも、中央センサ10が打撃を検出した後の2msの中央センサ10によるスキャンタイム内に、第1周辺センサ20〜第3周辺センサ40の全てで打撃を検出できる位置に配設されている。よって、第1周辺センサ20〜第3周辺センサ40による打撃の検出を、中央センサ10によるスキャンタイム内に行って、第1周辺センサ20〜第3周辺センサ40による、第1周辺センサ20〜第3周辺センサ40が配設される円周内の打撃位置を算出することができる。一方、中央センサ10で検出される初期半波のピッチΔThwに基づいて、打面の周辺部の打撃位置が算出される。そして、第1周辺センサ20〜第3周辺センサ40によって算出された打撃位置が示す打撃位置に応じて、第1周辺センサ20〜第3周辺センサ40から得られる打撃位置と、中央センサ10から得られる打撃位置との重み付け演算により、打撃位置を算出する。この重み付け演算によって打撃位置が算出されるので、一層的確な打撃位置の算出が可能となる。
ここで、第1周辺センサ20〜第3周辺センサ40は、打面が打撃された場合に中央センサ10がその打撃を検出した後の2msの中央センサ10によるスキャンタイム内に、同じ打撃によるピークが、第1周辺センサ20〜第3周辺センサ40の全てで検出できる位置(図3の「100」の位置)に配設される。よって、第1周辺センサ20〜第3周辺センサ40による検出を中央センサ10によるスキャンタイム内に行って、第1周辺センサ20〜第3周辺センサ40が配設される円周内における、第1周辺センサ20〜第3周辺センサ40による打撃位置を算出することができる。一方、中央センサ10が検出する初期半波のピッチΔThwに基づいて、中央センサ10による打撃位置が算出される。
ここで、第1周辺センサ20〜第3周辺センサ40は、打面が打撃された場合に中央センサ10がその打撃を検出してから中央センサ10によるスキャンタイム内にその初期半波のピッチΔThwを検出できる位置に配設されている。よって、円周外の位置が打撃された場合には、中央センサ10は中央センサ10によるスキャンタイム内に初期半波のピッチΔThwを検出でき、これに基づき、中央センサ10による打撃位置が算出される。そして、この中央センサ10による打撃位置と、第1周辺センサ20〜第3周辺センサ40による打撃位置とを重み付け演算することで、打撃位置が算出される。一方、円周内であって、電子ドラム1の打面の中央付近が打撃された場合は、中央センサ10によって初期半波のピッチΔThwが完全に検出できない可能性がある。そこで、第1周辺センサ20〜第3周辺センサ40による打撃位置が電子ドラム1の打面の中央付近(即ち「75」以下の位置)である場合は、中央センサ10によるスキャンタイム後の打撃位置の算出において、第1周辺センサ20〜第3周辺センサ40による打撃位置を打撃位置とする。従って、中央センサ10によって初期半波のピッチΔThwが完全に検出できない場合であっても、中央センサ10によるスキャンタイム内に打撃位置を算出することができる。
このように、円周内の打撃位置が、第1周辺センサ20と第2周辺センサ30とのピークの時間差ΔT1及び、第1周辺センサ20と第3周辺センサ40とのピークの時間差ΔT2を周辺センサ打撃位置テーブル72cで参照して算出され、円周外の打撃位置が、中央センサ10で検出される初期半波のピッチΔThwを、中央センサ打撃位置テーブル72bで参照して算出されるので、円周内外の打撃位置を中央センサ10によるスキャンタイム内の打撃の検出結果に基づいて算出することができる。従って、打面が大きく形成された場合にも、打撃位置の算出を迅速に行うことができるので、楽音の生成指示を遅延させることがない。
打撃強度(ベロシティ)を検出するために中央センサ10のみを用いる場合、打面中央付近に所謂ホットスポットが出現する。また、打面周辺を弱打された場合、打撃を検出できない恐れがある。これを軽減するために、本実施形態においては、第1周辺センサ20〜第3周辺センサ40を追加する。
また、打撃位置を検出するために第1周辺センサ20〜第3周辺センサ40のみを用いる場合、第1周辺センサ20〜第3周辺センサ40よりも外周側の打撃位置を検出することができない。これを解決するために、第1周辺センサ20〜第3周辺センサ40を打面の最外周に置くと、すべての第1周辺センサ20〜第3周辺センサ40が打撃を検出するまでに時間を要し、楽音の生成指示が遅延する。遅延を軽減するために周辺センサを内周側に置くと、第1周辺センサ20〜第3周辺センサ40より外周側の打撃位置を検出できない。そこで、本実施形態においては、第1周辺センサ20〜第3周辺センサ40に加えて中央センサ10を用いることによって、楽音生成指示の遅延を軽減しつつ打面の周辺部(即ち、第1周辺センサ20〜第3周辺センサ40よりも外周側)の打撃位置を検出することができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
上記実施形態において、電子打楽器の例として電子ドラム1を説明した。しかし、必ずしもこれに限られるものではなく、バスドラム、スネア、タム、シンバル等の、他の打楽器などの模擬に適用してもよい。
上記実施形態において、第1周辺センサ20〜第3周辺センサ40のクッション部材24が中央センサ10のクッション部材14と同じ弾性材料によって形成される場合について説明した。しかし、必ずしもこれに限られるものではない。例えば、クッション部材24をスポンジやゴム、熱可塑性エラストマ等の弾性材料によって形成する場合には、クッション部材14よりも硬度が高い弾性材料を用いることが好ましい。これにより、打面の中央部が打撃された場合に、その打撃を中央センサ10が検出してから、第1周辺センサ20〜第3周辺センサ40が検出するまでの時間を短くできるので、発音制御の遅延時間を短くできる。
上記実施形態において、中央センサ10のクッション部材14の厚みに対し、第1周辺センサ20〜第3周辺センサ40のクッション部材24の厚みを薄くする(ヘッドセンサ23と打面との対向間隔を短くする)ことにより、第1周辺センサ20〜第3周辺センサ40のヘッドセンサ23が打撃を検出するまでの時間を短くする場合について説明した。しかし、必ずしもこれに限られるものではない。例えば、クッション部材14とクッション部材24とを同じ厚みで形成する(若しくは、クッション部材24の厚みをクッション部材14の厚みよりも厚く形成する)構成でも良い。
この場合には、クッション部材24の材質の硬度を高める(クッション部材24を打撃の振動が伝達しやすいものから構成する)ことで、第1周辺センサ20〜第3周辺センサ40のヘッドセンサ23が打撃を検出するまでの時間を短くすることができる。即ち、少なくとも第1周辺センサ20〜第3周辺センサ40を、中央センサ10より、打面を打撃した場合の打撃信号の伝達時間が短くなるように構成すれば良く、その手段は限定されない。これにより、打面の中央部が打撃された場合に、その打撃を中央センサ10が検出してから、第1周辺センサ20〜第3周辺センサ40が検出するまでの時間を短くできるので、発音制御の遅延時間を短くできる(楽音の生成指示の遅延を短くできる)。
また、クッション部材24の材質の硬度をクッション部材14より高める場合には、クッション部材14とクッション部材24とを同一の材質の弾性材料から構成し、クッション部材24の硬度のみを高めることがより好ましい。これにより、クッション部材14とクッション部材24との硬度に相違がある場合であっても(硬度および材質の双方に相違がある場合に比べ)、中央センサ10及び第1周辺センサ20〜第3周辺センサ40における打撃出力の特性(波形、レベル、反応時間など)を容易に合わせこむことができる。
上記実施形態において、中央センサ10及び第1周辺センサ20〜第3周辺センサ40は、圧電素子から構成されるものとした。しかし、必ずしもこれに限られるものではなく、加速度センサや圧力センサ等、打面の打撃を検知できるものであれば、中央センサ10及び第1周辺センサ20〜第3周辺センサ40に適用できる。
上記実施形態において、打面(膜部材3a)が円盤状に形成される場合について説明した。しかし、必ずしもこれに限られるものではなく、矩形状や、多角形状、または、曲線および直線を組み合わせた形状で打面を形成するようにしても良い。即ち、打面がどのような形状の場合であっても、本実施形態のように、1個の中央センサ10と、その中央センサ10を円中心とした円周上に沿って等間隔に配設される少なくとも3個の第1周辺センサ20〜第3周辺センサ40とを、打面として形成される領域内に配置すれば良い。
即ち、これにより、第1周辺センサ20〜第3周辺センサ40で検出されるピークの時間差から、その第1周辺センサ20〜第3周辺センサ40が配設された円周内の打撃位置を検出できる。また、1個の中央センサによる打撃信号の検出波形によって、第1周辺センサ20〜第3周辺センサ40が配設された円周外の打撃位置を検出できる。よって、矩形状や、多角形状、または、曲線および直線を組み合わせた形状で打面が形成される場合であっても、打面中央からの打撃位置を中央センサ10及び第1周辺センサ20〜第3周辺センサ40によって適切に検出できる。
この場合、中央センサ10を中央から外れた位置に配設される構成でもよく、少なくとも、第1周辺センサ20〜第3周辺センサ40を、中央センサ10を円中心とした円周上に等間隔に配設する構成とすればよい。これにより、打撃位置の算出に関しては、中央センサ10及び第1周辺センサ20〜第3周辺センサ40の検出結果によって、適切に行うことができる。
上記実施形態において、第1周辺センサ20〜第3周辺センサ40は、中央センサ10を円中心とした円周上に沿って等間隔に配設されるとした。しかし、必ずしもこれに限られるものではなく、第1周辺センサ20〜第3周辺センサ40は、中央センサ10を円中心とした円周上ではなく、中央センサ10を囲む多角形状や楕円状等の線上に配設されるものとしてもよいし、不等間隔に配設されるものとしてもよい。この場合は、そのような配置に対応した周辺センサ打撃位置テーブル72cを、実測等により作成して打撃位置を算出すればよい。また、数式1における各ゲイン定数も実測などにより適宜設定し、ベロシティを算出すればよい。
上記実施形態において、中央センサ10は、打面の中央に1個配設される構成とした。しかし、必ずしもこれに限られるものではなく、中央センサ10を2個以上配設する構成としてもよい。その場合は、上記実施形態における1個の中央センサ10による打撃の検出結果の代わりに、複数の中央センサ10による打撃の検出結果の平均値等を、ベロシティ及び打撃位置の算出に用いればよい。
上記実施形態において、第1周辺センサ20〜第3周辺センサ40の3個の周辺センサを、中央センサ10を円中心とした円周上に、等間隔に配設されるものとした。しかし、必ずしもこれに限られるものではなく、周辺センサは3個以上配設されるものとしてもよい。この場合、周辺センサは、中央センサ10を円中心とした円周上に、等間隔に配設し、周辺センサを基点として、各周辺センサにおける、打撃のピーク時間差を、周辺センサ打撃位置テーブル72cに記憶して、打撃が検知された場合に、周辺センサ打撃位置テーブル72cを各周辺センサにおける、打撃のピーク時間差を参照することで、打撃位置を取得すればよい。
また、周辺センサは2個配設されるものとしてもよい。この場合でも、2つの周辺センサを結ぶ直線方向の打撃位置を検出できる。2つの周辺センサから得られた打撃位置と、中央センサ10の初期半波のピッチΔThwから得られた打撃位置との重み付け演算によって、打撃位置を算出することができる。ただし、2つの周辺センサを結ぶ直線に交差する方向の打撃位置を検出することはできない。
さらに、周辺センサは1個配設されるものとしてもよい。この場合の周辺センサは、中央センサ10を円中心とした円状の1個のリングセンサ(センサ自体がリング形状のもの、又は、ヘッドに接触するリング状の部材の振動を検出する1個のセンサ)とする。この場合のベロシティは、中央センサ10が検出する打撃のピーク値と、リングセンサが検出する打撃のピーク値との重み付け演算によって算出される。そして、打撃位置は、まず、リングセンサが検出した打撃のピークと、中央センサ10が検出した打撃のピークとの時間差により、打撃位置(以下「時間差による打撃位置」と称する)が算出される。これにより、リングセンサが配設される円周内の打撃位置を算出することができる。
この時間差による打撃位置が、中央センサ10によるスキャンタイム内に、中央センサ10の初期半波のピッチΔThwが完全に検出できる位置(例えば、図3の「75」の位置より外周側)である場合は、時間差による打撃位置と、中央センサ10の初期半波のピッチΔThwにより算出される打撃位置とを重み付け演算することで、打撃位置が算出される。一方、時間差による打撃位置の結果が、中央センサ10によるスキャンタイム内に中央センサ10の初期半波のピッチΔThwを完全に検出できない位置である場合は、時間差による打撃位置を打撃位置とする。
このように、リングセンサが配設される円周内の打撃位置を、リングセンサが検出した打撃のピークと、中央センサ10が検出した打撃のピークとの時間差により、算出し、円周外の打撃位置を中央センサ10の初期半波のピッチΔThwに基づいて算出することで、円周内外の打撃位置を中央センサ10によるスキャンタイム内の打撃の検出結果に基づいて算出することができる。従って、打面が大きく形成された場合にも、打撃位置の算出を迅速に行うことができるので、楽音の生成指示を遅延させることがない。
また、時間差による打撃位置が、リングセンサの位置である場合は、リングセンサの位置が打撃されたのか、リングセンサより外周側が打撃されたのかが判別できない。この場合は、中央センサ10の初期半波のピッチΔThwにより算出される打撃位置を、打撃位置としてもよい。
時間差による打撃位置を、リングセンサが検出した打撃のピークと、中央センサ10が検出した打撃のピークとの時間差によって算出したが、リングセンサが検出した打撃のピーク値と、中央センサ10が検出した打撃のピーク値との差や比によって、打撃位置を算出してもよい。また、リングセンサと中央センサ10との立ち下り(又は立ち上り)の検出時間差(即ち、信号到達時刻の差)によって、打撃位置を算出してもよい。
中央センサ10による打撃位置を、初期半波のピッチΔThwによって算出したが、中央センサ10で検出される初期半波のピーク位置や初期半波の面積などに基づいて打撃位置を算出してもよい。
以上より、中央センサ10及び少なくとも1つの周辺センサの内の、複数のセンサ(の打撃検出時間または打撃強度の差や比)から得られる打撃位置と、中央センサ10の初期半波から得られた打撃位置との重み付け演算により、打撃位置を算出することができる。
上記実施形態において、中央センサ10によるスキャンタイム及び、周辺センサによるスキャンタイムの計時時間を共に2msとした。しかし、必ずしもこれに限られるものではなく、打面の大きさや、打面の素材に応じて計時時間を、2ms以上としてもよいし、2ms以下としてもよい。また、中央センサ10によるスキャンタイムと、周辺センサによるスキャンタイムとの計時時間は、異なるものとしてもよい。例えば、中央センサ10はピークの出現が第1周辺センサ20〜第3周辺センサ40に比べて遅いのでスキャンタイムを長くし、第1周辺センサ20〜第3周辺センサ40はピークの出現が早いのでスキャンタイムを短くする構成としてもよい。
上記実施形態において、周辺センサによるスキャンタイム中に、中央センサ10による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、中央センサ10によるスキャンタイムを開始するものとした。しかし、必ずしもこれに限られるものではなく、周辺センサによるスキャンタイム中に、中央センサ10による打撃を検出しても、中央センサ10によるスキャンタイムを行わず、周辺センサによるスキャンタイム後に、それまでに得られたセンサ値リングバッファ73bの値及びセンサピーク値メモリ73cの値からベロシティ及び打撃位置を算出して、楽音の生成指示を行ってもよい。この場合、ベロシティについては、周辺センサによるスキャンタイム内に得られた中央センサ10のセンサピーク値メモリ73cの値を、中央センサ10のピーク値とすればよい。
また、打撃位置については、第1周辺センサ20〜第3周辺センサ40のいずれかがが先に打撃を検出したということは、中央センサ10よりも第1周辺センサ20〜第3周辺センサ40に近い位置が打撃されたと考えられるので、中央センサ10と第1周辺センサ20〜第3周辺センサ40の中間位置(「50」の位置)から最外周(「127」の位置)までの所定の位置(例えば、「100」の位置)を打撃位置とすればよい。又は、周辺センサによるスキャンタイム内に得られた中央センサ10の初期半波の開始時刻から周辺センサによるスキャンタイム終了までの時刻の差を、中央センサ10の初期半波のピッチΔThwとし、数式2のpre_gain_c(即ち、中央センサ打撃位置ゲインメモリ73fの値)に通常よりも大きな値(例えば、0.6)を設定し、数式2の重み付け演算によって打撃位置を算出すればよい。これにより、中央センサ10によるスキャンタイムを待つことがなくなるので、楽音の生成指示の遅延がさらに小さくなり、打撃に対するレスポンス性が高くなる。
上記実施形態において、周辺センサによるスキャンタイム中に、中央センサ10による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、中央センサ10によるスキャンタイムを開始するものとした。しかし、必ずしもこれに限られるものではなく、周辺センサによるスキャンタイム中に、中央センサ10による打撃を検出した場合は、周辺センサによるスキャンタイムを停止して、「中央センサ10+周辺センサによるスキャンタイム」を開始するものとし、「中央センサ10によるスキャンタイム」と区別する構成としてもよい。この場合は、中央センサ10+周辺センサによるスキャンタイムの時間を2msより短くする等、適宜調整することで楽音の生成指示の遅延を小さくすることができる。
上記実施形態において、第1周辺センサ20〜第3周辺センサ40によって算出された打撃位置が「75」以上の場合は、中央センサ10による打撃位置と、第1周辺センサ20〜第3周辺センサ40による打撃位置との重み付け演算で打撃位置を算出し、「75」より小さい場合は、第1周辺センサ20〜第3周辺センサ40によって算出された打撃位置のみで、打撃位置を算出した。しかし、必ずしもこれに限られるものではなく、第1周辺センサ20〜第3周辺センサ40によって算出された打撃位置のみで、打撃位置を算出する打面の領域と、中央センサ10によって算出された打撃位置のみで、打撃位置を算出する打面の領域とを隣接させる構成としてもよい。
上記実施形態において、打撃位置の算出を、第1周辺センサ20〜第3周辺センサ40により検出される打撃位置のみで行うかどうかの閾値を「75」の位置とした。しかし、必ずしもこれに限られるものではなく、打面の大きさや素材等、中央センサ10及び第1周辺センサ20〜第3周辺センサ40の打撃の検出特性に応じて、境界値を「75」以下の値としてもよいし、「75」以上の値としてもよい。
上記実施形態において、中央センサ打撃位置テーブル72bを、中央センサ10の打撃による電圧波形の初期半波のピッチΔThwで参照することで、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、演算によって、初期半波のピッチΔThwから打撃位置を取得するものとしてもよい。その場合は、中央センサ打撃位置テーブル72bを省いた構成とすることができるので、ROM72のサイズを小さくすることができる。
上記実施形態において、中央センサ10による打撃位置は、中央センサ10で検出される初期半波のピッチΔThwを中央センサ打撃位置テーブル72bで参照することで算出した。しかし、必ずしもこれに限られるものではなく、中央センサ10で検出される初期半波のピーク位置や初期半波の面積などに基づいて打撃位置を算出してもよい。
上記実施形態において、周辺センサ打撃位置テーブル72cを第1周辺センサ20と、第2周辺センサ30,第3周辺センサ40との打撃のピークの時間差ΔT1,ΔT2で参照することで、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、打撃のピークの時間差ΔT1,ΔT2から演算によって、打撃位置を取得するものとしてもよい。その場合は、周辺センサ打撃位置テーブル72cを省いた構成とすることができるので、ROM72のサイズを小さくすることができる。
上記実施形態において、第1周辺センサ20〜第3周辺センサ40による打撃位置は、第1周辺センサ20と第2周辺センサとの30のピークの時間差ΔT1及び、第1周辺センサ20と第3周辺センサ40とのピークの時間差ΔT2を周辺センサ打撃位置テーブル72cを参照することで算出した。しかし、必ずしもこれに限られるものではなく、第1周辺センサ20〜第3周辺センサ40間のピーク値の差や、ピーク値の比に基づいて打撃位置を算出してもよい。
上記実施形態において、第1周辺センサ20と第2周辺センサ30とのピークの時間差をΔT1,第1周辺センサ20と第3周辺センサ40とのピークの時間差をΔT2とした。しかし、必ずしもこれに限られるものではなく、第1周辺センサ20と第2周辺センサ30との立ち下り(又は立ち上り)の検出時間差(即ち、信号到達時刻の差)をΔT1,第1周辺センサ20と第3周辺センサ40との立ち下り(又は立ち上り)の検出時間差をΔT2とし、このΔT1とΔT2とを用いて、周辺センサ打撃位置テーブル72cから、第1周辺センサ20〜第3周辺センサ40による打撃位置を算出してもよい。
上記実施形態において、打撃位置の取得を第1周辺センサ20〜第3周辺センサ40の、打撃の検出時間差によって、打撃位置を取得するものとした。しかし、必ずしもこれに限られるものではなく、第1周辺センサ20〜第3周辺センサ40と、中央センサ10とによる打撃の検出時間差によって打撃位置を取得してもよい。その場合は、中央センサ10と、第1周辺センサ20〜第3周辺センサ40とのピークの時間差に応じた打撃位置を周辺センサ打撃位置テーブル72cに追加する構成とすればよい。
1 電子ドラム(電子打楽器)
3a 膜部材(打面)
7 制御装置(発音制御手段)
10 中央センサ(打撃センサの一部)
14 クッション部材
20 第1周辺センサ(周辺センサの一部、打撃センサの一部)
24 クッション部材
30 第2周辺センサ(周辺センサの一部、打撃センサの一部)
40 第3周辺センサ(周辺センサの一部、打撃センサの一部)

Claims (7)

  1. 打面と、その打面への打撃を検出する打撃センサとを備えた電子打楽器において、
    前記打撃センサは、
    前記打面の裏面側に複数配設されると共に、前記打面の中央側に配設される打撃センサと、前記打面の周辺側に配設される打撃センサとは、同構造に構成され、
    前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されていることを特徴とする電子打楽器。
  2. 前記打面の周辺側に配設された打撃センサは、前記打面の中央側に配設された打撃センサより前記打面に近い位置に配設されることで、前記打面の中央側に配設された打撃センサより、前記打面を打撃した場合の打撃信号の伝達時間が短くなるように構成されていることを特徴とする請求項1記載の電子打楽器。
  3. 前記打撃センサは、前記打面の裏面側にクッション部材を介して配設されており、
    そのクッション部材は、前記打面の周辺側に配設されたものの方が中央側に配設されたものより肉薄に形成されることで、前記打面の周辺側に配設された打撃センサが、前記打面の中央側に配設された打撃センサより前記打面から近い位置に配設されることを特徴とする請求項2記載の電子打楽器。
  4. 前記打撃センサのクッション部材は、その打撃センサの配設部分の打面が強打された場合に、その打撃センサへ底当たりしない肉厚に形成されていることを特徴とする請求項3記載の電子打楽器。
  5. 前記打撃センサのクッション部材は、その打撃センサの配設部分の打面が強打された場合のその打面のたわみ量の約1.5〜2倍の肉厚に形成されていることを特徴とする請求項3又は4に記載の電子打楽器。
  6. 前記打面の周辺側に配設された打撃センサのクッション部材は、前記打面の中央が打撃された場合に、その打撃のピーク値を所定時間以内に検出できる肉厚に形成されていることを特徴とする請求項3から5のいずれかに記載の電子打楽器。
  7. 前記打撃センサは、前記打面を平面視した場合において、その打面の中央に配設された1個の中央センサと、その中央センサを円中心とした円周上に等間隔に配設された少なくとも3個の周辺センサとを有して構成されていることを特徴とする請求項1から6のいずれかに記載の電子打楽器。
JP2017160884A 2016-08-30 2017-08-24 電子打楽器 Pending JP2018036642A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016168459 2016-08-30
JP2016168459 2016-08-30

Publications (1)

Publication Number Publication Date
JP2018036642A true JP2018036642A (ja) 2018-03-08

Family

ID=61567409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017160884A Pending JP2018036642A (ja) 2016-08-30 2017-08-24 電子打楽器

Country Status (1)

Country Link
JP (1) JP2018036642A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD1042882S1 (en) * 2023-12-26 2024-09-17 Iromascents A.B. Ltd. Modular drum

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD1042882S1 (en) * 2023-12-26 2024-09-17 Iromascents A.B. Ltd. Modular drum

Similar Documents

Publication Publication Date Title
EP3291221B1 (en) Electronic percussion instrument and control device thereof
JP4183626B2 (ja) 電子打楽器
US8173886B2 (en) Electronic percussion instrument
US9099070B2 (en) Electric drum and cymbal with spider web-like sensor
US8841527B2 (en) Electric drum and cymbal with spider web-like sensor
JP6676332B2 (ja) 電子打楽器
JP2009186886A (ja) 電子打楽器
JP6207113B1 (ja) 電子打楽器
JP6986387B2 (ja) 電子打楽器
JP2018036642A (ja) 電子打楽器
CN105448285B (zh) 具有蛛网状传感器的电子鼓和钹
JP2018036640A (ja) 電子打楽器
US11600253B2 (en) Electronic percussion instrument, electronic musical instrument, information processing device, and information processing method
JP2009128426A (ja) 電子打楽器
WO2018154866A1 (ja) 電子ドラム
JP4556894B2 (ja) 電子打楽器装置
US20230049103A1 (en) Electronic percussion instrument and musical sound generating method
WO2023234256A1 (ja) 電子打楽器
JP2021105681A (ja) 楽音生成装置および楽音生成方法
JP2021105702A (ja) 電子打楽器および打撃検出方法
CN113129858A (zh) 电子打击乐器以及打击检测方法
JP2017072633A (ja) 電子打楽器