【課題】筐体と打面とを有する電子機器にて、スラップ奏法のような、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を可能にする音源制御情報生成装置を提供すること。
【解決手段】本発明によれば、ある時期における、筐体および打面に対する打撃を検知する第1センサの出力値である第1出力値と、打面に対する打撃を検知する、第1センサと異なる第2センサの出力値である第2出力値とに基づいて、筐体に対する打撃があったかが、第1判断手段によって判断される。よって、第1センサからの第1出力値だけでは、筐体に対する打撃が行われたのか、打面に対する打撃が行われたのかを判断することができないが、第2センサからの第2出力値を合わせて用いることによって、筐体に対する打撃を検出できるので、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を実現し得る。
前記第1判断手段は、ある時期における前記第1出力値が、前記筐体または前記打面に対する打撃があったことを示し、かつ、当該ある時期における前記第2出力値が、前記打面に対する打撃がなかったことを示す場合に、前記筐体に対する打撃があったと判断することを特徴とする請求項1記載の音源制御情報生成装置。
前記第1判断手段により、前記筐体に対する打撃があったと判断された場合、当該判断に対応する第1出力値または当該第1出力値を特定可能な情報を、当該判断の時期を特定可能に記憶手段に記憶する記憶制御手段を備え、
前記第3判断手段は、前記第2判断手段により、前記打面に対する、発音のトリガとなる打撃があったと判断された場合に、前記記憶手段の記憶内容に基づいて、当該発音のトリガとなる打撃以前の前記所定の時間区間内に、前記第1判断手段により、前記筐体に対する打撃があったと判断されたかを判断することを特徴とする請求項1または2に記載の音源制御情報生成装置。
前記第1判断手段により、前記筐体に対する打撃があったと判断された場合、当該判断に対応する第1出力値を、当該判断の時期を特定可能に記憶手段に記憶する記憶制御手段を備え、
前記生成手段は、
前記発音のトリガとなる打撃以前の前記所定の時間区間内に前記筐体に対する打撃が行われていない場合には、発音のトリガとなる打撃に対応する第2出力値に応じた前記楽音制御情報を生成し、
前記第3判断手段により、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったと判断された場合には、発音のトリガとなる打撃に対応する第2出力値と、前記記憶手段に記憶されている第1出力値とに応じた前記楽音制御情報を生成することを特徴とする請求項5または6記載の音源制御情報生成装置。
【発明を実施するための形態】
【0018】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、
図1〜
図4を参照して、本発明の第1実施形態について説明する。
図1は、本発明の一実施形態としての電子打楽器100の電気的構成を示すブロック図である。電子打楽器100は、例えば、電子ドラムである。電子打楽器100は、CPU1と、ROM2と、RAM3と、パッド4と、音源5と、音源ROM6と、増幅器7とを有する。
【0019】
CPU1は、ROM2に記憶される固定値やプログラム、RAM3に記憶されているデータなどに従って、電子打楽器100の各部を制御する中央制御装置である。CPU1は、クロック信号を計数することにより、時刻を計時するタイマ(図示せず)を内蔵する。
【0020】
ROM2は、CPU1に実行させる制御プログラム2aを記憶するリード・オンリー・メモリである。後述する
図3および
図4のフローチャートに示す各処理は、制御プログラム2aに基づいて、CPU1が実行する。ROM2には、
図2(c)を参照して後述する基準点センサ出力テーブル等の各種テーブルも記憶される。RAM3はCPU1の作業エリアなどに利用されるランダム・アクセス・メモリである。
【0021】
なお、CPU1、ROM2、およびRAM3は、本発明の音源制御情報生成装置10を構成する。詳細は後述するが、本実施形態の音源制御情報生成装置10は、スラップ奏法の楽音が発音されるように、音源5を制御する。
【0022】
パッド4は、その打面を打撃して電子ドラムによる演奏を行うものであり、ピエゾセンサ44と、感圧センサ43とを含む。パッド4の詳細構成は、
図2(a)および
図2(b)を参照して後述する。音源5は、CPU1からの指示にしたがって発生楽音の音色や各種効果などを制御する装置である。音色ROM6は、音色データが記憶されるリード・オンリー・メモリである。音源5は、音色ROM6に記憶されている音色データを用いて音色制御を行う。増幅器7は、音源5の発生した楽音信号を増幅する装置であり、増幅した楽音信号を、図示しないスピーカシステム等に出力する。
【0023】
図2(a)は、パッド4の正面図である。
図2(b)は、
図1(a)のIIb−IIb線におけるパッド4の断面図である。パッド4は、その外形が円盤の形状をしたデバイスであり、剛体からなる円形皿板状のケース40と、ケース40の上面側に配設される、円形のゴムパッドからなる打面41とから構成される。打面41の下面(裏面)側には、円形板状のクッション材42と感圧センサ43とが、打面41とケース40によって密に挟まれる形で保持されている。
【0024】
クッション材42は、打面41を打撃した時の打撃の感覚を弾力感のある叩き心地のよいものに調整するとともに、打撃時の打撃振動が打面直下方向を経由してケース40に直接に伝わらないように、その振動を減衰させる作用を有する。クッション材42は、打面41が打撃された場合に、その打撃の振動を減衰させるが、その一方で、打撃の際に打面に加わった圧力を感圧センサ43に伝達する。
【0025】
打面41の端部41aは、ケース40のエッジ部40aと、クッション材42の端部42aとで挟み込むように固定される。ケース40の裏側における、エッジ部40aの側には、振動センサであるピエゾセンサ44が取り付けられる。打面41が打撃を受けた場合に、打面41を伝わってエッジ部40aに至った打撃振動は、エッジ部40aを介してケース40に伝達され、ピエゾセンサ44に達する。
【0026】
打面が打撃を受けた時、ピエゾセンサ44が検出する振動は、主に、打面41からエッジ部40aの側を通り、ケース40を伝達してピエゾセンサ44に到達する振動である。前述した通り、打撃した打点の直下方向に伝達する振動は、その振動がクッション材42によって吸収または減衰され、殆どの成分はピエゾセンサ44に伝達されない。ピエゾセンサ44は、打撃時の打撃振動が打点位置からピエゾセンサ44に到達するまでの経路の長さが、打面41の種々の打点位置に応じて異なる長さとなるような位置に取り付けられる。このように、ピエゾセンサ44は、打撃振動を打面41とケース40を介して検出するので、ピエゾセンサ44の出力値は、打面41のエッジE側を叩いた場合の方が、打面41のパッド中心C付近を叩いた場合よりも大きい。
【0027】
ピエゾセンサ44はまた、打面41に限らず、ケース40が打撃を受けた時に、その打撃で生じた振動も検出する。ケース40に手の平を打ち当てた場合には、ピエゾセンサ44は、手の平が打ち当てられたことに基づくケース40の振動を検出する。よって、ピエゾセンサ44の出力値だけでは、打面41に対する打撃が行われたか、ケース40に対する打撃が行われたかを区別することができない。そこで、本実施形態では、同時期におけるピエゾセンサ44および感圧センサ43の各出力値に基づいて、ケース40が「打撃された」かの判断を行う。具体的に、ピエゾセンサ44の出力値が、打面41またはケース40に対する打撃であるかを判断するための閾値である所定値P以上であり、かつ、感圧センサ43の出力値が、打面41に対する打撃であるかを判断するための閾値である所定値S未満である場合に、ケース40が「打撃された」とされる。
【0028】
感圧センサ43は、打面41が打撃を受けた時に、その打撃により打面41が受けた圧力を検出するセンサであり、打面41の裏面側の全面にわたり面状に配設されている。なお、「面状」とは、例えば、途切れのない一面状であっても、メッシュ状(網状)であっても、あるいは、渦巻き状などであってもよく、打面のいずれかの位置が打撃された時にその打撃の圧力を感知して単一の検出出力を発生するものであればよい。本実施形態では、ピエゾセンサ44の出力値が所定値Pより大きく、かつ、感圧センサ43の出力値が所定値Sより大きい場合に、打面41が「打撃された」とされる。
【0029】
本実施形態の音源制御情報生成装置10は、打面41に対する、発音のトリガとなる打撃があった場合に、当該打撃以前の所定の時間区間内(本実施形態では、12.8msec)にて、ケース40に対する打撃が検出されている場合に、スラップ奏法が行われているものとして、スラップ奏法用の音色の楽音が発生されるように、音源5を制御する。
【0030】
図2(c)は、ROM2に記憶されている基準点センサ出力テーブルの内容の一例を示す模式図である。基準点センサテーブルは、パッド4の打面41の基準点をスティックで打撃した時の感圧センサ43の出力値と、ピエゾセンサ44の出力値とを対応付けたテーブルである。本実施形態では、基準点としては、打面41のパッド中心CとエッジEとの中央付近の中間点Mを用いる。基準点センサ出力テーブルは、基準点である中間点Mを、127段階の強さで打撃したときの、各打撃強度に対応する各センサ43,44の出力値を予め求めることによって作成する。なお、
図2(c)に示す例では、第1段階目の打撃強度に対する感圧センサ43の出力値を「1」、ピエゾセンサ44の出力値を「P1」と表し、第2段階目の打撃強度に対する感圧センサ43の出力値を「2」、ピエゾセンサ44の出力値を「P2」と表し、以降同様に、第127段階目まで各センサ43,44の出力値を表している。
【0031】
次に、
図3および
図4を参照して、上記構成を有する電子打楽器100、より詳細には、音源制御情報生成装置10のCPU1が実行する処理について説明する。まず、
図3は、リングバッファ処理を示すフローチャートである。本処理は、ピエゾセンサ44の出力値を、RAM3内に設けられたリングバッファA(図示せず)に格納する処理であり、CPU1が所定の周期で定期的に実行するタイマ割込み処理である。本実施形態では、リングバッファ処理の実行周期は400μsecである。一方、本実施形態において、本処理で用いるリングバッファAは、32個分のデータを保持可能に構成される。よって、本実施形態では、ピエゾセンサ44の出力値は、12.8msecに渡りリングバッファAに保持される。
【0032】
CPU1は、電源が投入されると、初期設定として、リングバッファ処理の実行周期に相当するタイマ時間をセットする。本実施形態では、リングバッファ処理の実行周期は400μsecである。また、CPU1は、リングバッファAへのピエゾセンサ44の出力値の記憶に備え、アドレス変数RにRsを入力する。アドレス変数Rは、リングバッファAのアドレスのうち、現在のデータ入力対象アドレスを示す変数である。Rsは、リングバッファAの先頭アドレスである。
【0033】
CPU1は、初期設定においてセットされたタイマ時間が経過する毎に、
図3のリングバッファ処理を起動する。リングバッファ処理において、CPU1は、そのときのピエゾセンサ44の出力値を、PizRに記憶する(S301)。次に、CPU1は、次回に実行される本処理でのピエゾセンサ44の出力値の記憶に備えて、データ入力対象アドレスを次に進めるためアドレス変数Rに1を加算する(S302)。
【0034】
CPU1は、アドレス変数Rが示すアドレスがリングバッファAの領域外のアドレスであるかを判断する(S303)。具体的に、S303において、CPU1は、アドレス変数Rが、リングバッファAの末尾アドレスであるReを超えたかを判断する。
【0035】
アドレス変数RがReを超えたとCPU1が判断した場合(S303:Yes)、CPU1は、データ入力対象アドレスをリングバッファAの先頭に戻すために、アドレス変数RにRsを代入し(S304)、本処理を終了する。一方、アドレス変数RがReを超えていないとCPU1が判断した場合(S303:No)、本処理を終了する。
【0036】
図4は、音源制御処理を示すフローチャートである。本処理は、CPU1が所定の周期で定期的に実行するタイマ割込み処理である。本実施形態では、音源制御処理の実行周期は400μsecである。CPU1は、ピエゾセンサ44の出力値が、所定値P以上であるかを判断する(S401)。ピエゾセンサ44の出力値が所定値P未満であると、CPU1が判断した場合(S401:No)、CPU1は、本処理を終了する。一方、ピエゾセンサ44の出力値が所定値P以上であると、CPU1が判断した場合(S401:Yes)、CPU1は、感圧センサ43の出力値が、所定値S以上であるかを判断する(S402)。
【0037】
感圧センサ43の出力値が所定値S未満であると、CPU1が判断した場合(S402:No)、CPU1は、打面41でなく、ケース40に対する打撃が検出されたとし、RAM3内に設けられたフラグQ(図示せず)をセットし(S416)、本処理を終了する。なお、フラグQは、ケース40に対する打撃が検出されたか否かを示すフラグである。CPU1は、電源が投入された場合に行う初期設定において、フラグQをリセットする。
【0038】
一方、感圧センサ43の出力値が所定値S以上であると、CPU1が判断した場合(S402:Yes)、CPU1は、打面41に対する打撃が検出されたとして、S403〜S415の処理を実行する。具体的に、CPU1は、そのときの感圧センサ43およびピエゾセンサ44の出力値を、それぞれ、レジスタPrsおよびレジスタPizに記憶する(S403,S404)。次に、CPU1は、ROM2内に記憶される基準点センサ出力テーブルを参照して、この基準点センサ出力テーブルにおける、上記打撃時の感圧センサ43の出力値に対応するピエゾセンサ44の出力値を読み出し、RAM3内に設けられたバッファB(図示せず)に格納する(S405)。
【0039】
CPU1は、「(バッファBの値)−(レジスタPizの値)」の演算により差分データを算出し、この差分データを打点位置データとする(S406)。打点位置データ、すなわち、差分データは、今回の打撃が、基準点(本実施形態では、中間点M)よりどれだけエッジE側を叩いたものであるか、あるいは、どれだけパッド中心C側を叩いたものであるかを示すデータである。具体的に、打点位置データが負の値であれば、中間点MよりエッジE側を叩いたことを示す。一方、打点位置データが正の値であれば、中間点Mよりパッド中心C側を叩いたことを示す。
【0040】
CPU1は、レジスタPrsの値(すなわち、感圧センサ43の出力値)と、レジスタPizの値(ピエゾセンサ44の出力値)との和を算出し、得られた値を打撃レベルとしてRAM3内に記憶する(S407)。なお、レジスタPrsの値とレジスタPizの値とに、それぞれ、適宜係数を掛けて重み付けをした上で和を算出する構成としてもよい。
【0041】
CPU1は、ケース40に対する打撃の可能性を示すフラグQがセットされているかを判断する(S408)。フラグQがセットされていないと、CPU1が判断した場合(S408:No)、CPU1は、打面41に対する打撃が、通常奏法による打撃であるとし、通常の音色制御パラメータを割り当て(S415)、処理をS413に移行する。
【0042】
一方、フラグQがセットされている、すなわち、ケース40に対する打撃が過去にあったと、CPU1が判断した場合(S408:Yes)、CPU1は、ケース40に対する打撃が、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたか否かを判断するために、S409,S410の処理を実行する。具体的に、CPU1は、リングバッファAに格納されているピエゾセンサ44の出力値のうち、最大値PizXを取得する(S409)。つまり、CPU1は、打面41に対する打撃が検出されたタイミング以前の所定の時間区間(本実施形態では、12.8msec)内におけるピエゾセンサ44の出力の最大値PizXを取得する。
【0043】
CPU1は、PizXが所定値以上の値であるかを判断する(S410)。PizXが所定値以上の値でないと、CPU1が判断した場合(S410:No)、CPU1は、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に、ケース40に対する打撃が行われていない、すなわち、打面41に対する今回の打撃が、通常奏法による打撃であるとして、処理をS415に移行し、通常の音色制御パラメータを割り当てる。
【0044】
一方、PizXが所定値以上の値であると、CPU1が判断した場合(S410:Yes)、CPU1は、フラグQに対応する打撃が、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース40に対する打撃である、すなわち、打面41に対する今回の打撃が、スラップ奏法による打撃であるとして、スラップ奏法用の音色制御パラメータを割り当てる(S411)。具体的に、CPU1は、音色ROM6に記憶されているスラップ奏法時の音色データに基づく発音を音源5に行わせるための音色制御パラメータを割り当てる。
【0045】
なお、スラップ奏法用に、ケース40に対する手の平による打撃のレベルに応じた音色データを音色ROM6に準備しておき、S411において、CPU1が、PizXの大きさに対応した音色データが発音されるような音色制御パラメータを割り当てる構成としてもよい。かかる構成によれば、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の音色を発生させることが可能になる。
【0046】
次に、CPU1は、PizXの大きさに基づいて、S407にて算出した打撃レベルを補正する(S412)。具体的に、S412において、CPU1は、まず、ROM2内に記憶されている、PizXの値とレベル補正値とを対応付けたテーブル(図示せず)を参照して、PizXに対応するレベル補正値を読み出す。次に、CPU1は、S407にて算出した打撃レベルに、読み出したレベル補正値を乗算する。かかる演算により、S407にて算出した打撃レベルが、スラップ奏法時における手の平による打撃の大きさに基づいた値に補正される。このように打撃レベルを補正することにより、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の音量の楽音を発生させることが可能になる。
【0047】
CPU1は、S412またはS415の処理後、音源5に対する発音指示を行う発音処理を実行し(S413)、フラグをリセットし(S414)、本処理を終了する。具体的に、S413において、CPU1は、発音指示を音源5に出力するとともに、S411またはS415において割り当てた音色制御パラメータや、打撃レベルに応じた音量制御パラメータなどの、各種の制御パラメータを出力する。なお、S413にて出力する音量制御パラメータは、S412において打撃レベルの補正が行われている場合には、当該補正後の打撃レベルに応じた音量制御パラメータである。S410の処理の結果、音源5は、出力された各種の制御パラメータに応じた発音処理を実行する。
【0048】
上記S409〜S413,S415の処理によれば、打面41に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース40に対する打撃が検出されていれば、音源5からは、スラップ奏法用の音色制御パラメータに従う音色、すなわち、スラップ奏法用の音色の楽音が発音される。一方、打打面41に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース40に対する打撃が検出されていなければ、音源5からは、通常の音色制御パラメータに従う音色の楽音が発音される。
【0049】
また、楽音の音量(ボリューム)について、スラップ奏法が行われた場合の音量は、レジスタPrsの値(感圧センサ43の出力値)と、レジスタPizの値(ピエゾセンサ44の出力値)の和の値を、演奏者の手の平によるケース40に対する打撃の大きさに応じて補正した打撃レベルに応じた音量となる。一方、打面41が通常奏法で打撃された場合の音量は、レジスタPrsの値と、レジスタPizの値の和の値である打撃レベルに応じた音量となる。
【0050】
第1実施形態の音源制御情報生成装置10によれば、ピエゾセンサ44および感圧センサ43の各出力値に基づいて、ケース40に対する打撃があったと判断された場合には、当該出力値を特定可能な情報として、フラグQがセットされる。これにより、打面41に対する、発音のトリガとなる打撃があった場合に、フラグQの状態に基づいて、過去に遡って、当該発音のトリガとなる打撃以前に、ケース40に対する打撃があったかの判断を行うことができる。
【0051】
一方、リングバッファAには、ピエゾセンサ44からの過去の出力値が所定の時間区間分記憶されているので、発音のトリガとなる打撃以前に、ケース40に対する打撃が行われていると判断された場合には、リングバッファAの記憶内容に基づいて、当該ケース40に対する打撃が、発音のトリガとなる打撃以前の所定の時間区間内に行われたものであるか、すなわち、スラップ奏法を行うためのケース40に対する打撃であったかを判断できる。
【0052】
このとき、当該ケース40に対する打撃がスラップ奏法を行うための打撃であると判断された場合には、スラップ奏法用の音色制御パラメータが音源5に出力されるので、音源5から、スラップ奏法用の音色の楽音を出力させることができる。よって、音源制御情報生成装置10が搭載された電子打楽器100によれば、スラップ奏法による演奏を可能にする。
【0053】
本実施形態では、リングバッファAにデータが記憶される期間、すなわち、ケース40および打面41に対する各打撃の間隔がスラップ奏法によるものであるか否かを判断するための所定の時間区間として、12.8msecを採用する構成とした。当該所定の時間区間は、打面41が連打される間隔T(一般的に100msec程度)より短く、かつ、スラップ奏法を行う場合にケース40に対する打撃から打面41に対する打撃までに要する最小限の時間t以上の期間であれば、適宜の期間を採用できる。つまり、上記所定の時間区間をτとする場合には、T>τ≧tの関係性を満たすτの値であれば、適宜の値を採用できる。
【0054】
T>τ≧tの関係性を満たすτの値を採用することによって、発音のトリガとなる打撃が検出されたタイミングにおけるリングバッファAの記憶内容には、打面41の連打に起因するピエゾセンサ44の出力値が含まれることはない。よって、
図4のS409,S410では、リングバッファAの記憶内容、すなわち、ピエゾセンサ44の出力値だけで、ケース40に対する打撃であるか否かを判断することができる。
【0055】
なお、連打の間隔Tで打面41が打撃された場合には、2回目以降の打撃は無視する構成としてもよい。また、ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S以上である場合には、その場合のピエゾセンサ44の出力値は、ケース40に対する打撃に基づくものでなく、打面41に対する打撃によるものであると解釈して、ピエゾセンサ44の出力値をリングバッファAに格納しないようにしてもよい。
【0056】
次に、
図5を参照して、本発明の第2実施形態について説明する。上述した第1実施形態では、所定の時間区間分のピエゾセンサ44の出力値をリングバッファAに格納し、リングバッファAの記憶内容に基づいて、打面41に対する打撃が検出されたタイミング以前の所定の時間区分内に、ケース40に対する打撃が検出されたかを判断する構成とした。これに対し、第2実施形態では、リングバッファAに代えて、ケース40に対する打撃が検出されたと判断してから所定の時間区間にわたってセットされるフラグを用いて、上記判断を行う。第2実施形態において、上述した第1実施形態と同一の部分については、同一の符号を付し、その説明は省略する。
【0057】
図5は、第2実施形態の音源制御処理を示すフローチャートである。本処理は、第1実施形態の音源制御処理と同様、400μsec毎に実行されるタイマ割込み処理である。なお、
図5のフローチャートに示す各処理は、第2実施形態の制御プログラム2aに基づいて、CPU1が実行する。以下、第1実施形態の音源制御処理(
図4)との相違点を中心に説明する。
【0058】
CPU1は、第1実施形態と同様に、ピエゾセンサ44の出力値および感圧センサ43の出力値に関する判断を行う(S401、S402)。ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S未満であると、CPU1が判断した場合(S401:Yes,S402:No)、CPU1は、ケース40に対する打撃が検出されたとし、第1実施形態と同様のフラグQをセットし(S416)、タイマによる計時を開始し(S501)、本処理を終了する。S501の処理により計時が開始されると、CPU1は、図示されない計時処理を実行する。かかる計時処理において、CPU1は、計時の開始から、所定の時間区間、例えば、第1実施形態と同様の12.8msecが経過した場合に、計時の終了と、タイマのリセットと、S501においてセットされたフラグのリセットとを行う。
【0059】
一方、ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S以上である場合(S401:Yes,S402:Yes)、CPU1は、第1実施形態と同様に、S403〜S407の処理を行った後、フラグQがセットされているかを判断する(S408)。フラグQがセットされていないとCPU1が判断した場合(S408:No)、CPU1は、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に、ケース40に対する打撃が行われていない、すなわち、打面41に対する今回の打撃が、通常奏法による打撃であるとし、通常の音色制御パラメータを割り当てる(S415)。CPU1は、S415の処理後、S413,S414の処理を実行し、本処理を終了する。
【0060】
一方、フラグQがセットされているとCPU1が判断した場合(S408:Yes)、CPU1は、フラグQに対応する打撃が、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース40に対する打撃である、すなわち、打面41に対する今回の打撃が、スラップ奏法による打撃であるとして、スラップ奏法用の音色制御パラメータを割り当て(S411)、処理をS413に移行する。
【0061】
なお、フラグQがセットされた場合に、当該フラグQに、当該フラグQのセットに関わる出力値を対応付けて記憶する構成としてもよく、かかる構成では、S411の後に、第1実施形態と同様に、打撃レベルを補正するS412の処理を実行する構成としてもよい。その際には、フラグに対応付けられている出力値に基づき、打撃レベルの補正を行う。
【0062】
第2実施形態の音源制御情報生成装置10によれば、ピエゾセンサ44および感圧センサ43の各出力値に基づいて、ケース40に対する打撃があったと判断された場合には、当該出力値を特定可能な情報として、フラグQが所定の時間区間にわたってセットされる。これにより、打面41に対する、発音のトリガとなる打撃があった場合に、フラグQの状態に基づいて、過去に遡って、当該発音のトリガとなる打撃以前の所定の時間区間内に、ケース40に対する打撃があったかの判断を行うことができる。よって、本実施形態の音源制御情報生成装置10もまた、上述した第1実施形態と同様、スラップ奏法による演奏を可能にする。
【0063】
次に、
図6を参照して、本発明の第3実施形態について説明する。上述した第1,2実施形態では、打面41に対する打撃が検出された場合に、当該打撃が検出されたタイミング以前の所定の時間区間内(例えば、12.8msec)に、打面41に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース40に対する打撃が検出されたか否かに基づいて、スラップ奏法が行われたか否かを判断する構成とした。これに対し、第3実施形態では、ケース40に対する打撃が検出された場合に、当該検出タイミング以降の所定の時間区間内に、打面41に対する打撃が検出された場合に、スラップ奏法が行われたと判断する。第3実施形態において、上述した第1,2実施形態と同一の部分については、同一の符号を付し、その説明は省略する。
【0064】
図6は、第3実施形態の音源制御処理を示すフローチャートである。本処理は、第1,2形態の音源制御処理と同様、400μsec毎に実行されるタイマ割込み処理である。なお、フローチャートに示す各処理は、第3施形態の制御プログラム2aに基づいて、CPU1が実行する。CPU1は、第1実施形態のS401,S402と同様に、ピエゾセンサ44の出力値および感圧センサ43の出力値に関する判断を行う(S601,S602)。ピエゾセンサ44の出力値が所定値P未満であると、CPU1が判断した場合(S601:No)、CPU1は、本処理を終了する。
【0065】
ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S以上であると、CPU1が判断した場合(S601:Yes,S602:Yes)、CPU1は、打面41が通常奏法によって打撃されたとし、通常発音処理を実行し(S607)、本処理を終了する。具体的に、通常発音処理(S607)は、第2実施形態の音源制御処理(
図5)におけるS415,S413の処理から構成される。通常発音処理(S607)において、音量制御パラメータを設定するための打撃レベルは、例えば、そのときのピエゾセンサ44の出力値と感圧センサ43の出力値との和である。
【0066】
一方、ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S未満であると、CPU1が判断した場合(S601:Yes,S602:No)、CPU1は、ケース40に対する打撃が検出されたとし、タイマによる計時を開始する(S603)。次に、CPU1は、計時が開始されてから所定時間τが経過するまでに、所定値S以上の出力値が感圧センサ43から出力されたかを監視する(S604:No,S605:No)。本実施形態では、所定時間τ=12.8msecとする。所定値S以上の出力値が感圧センサ43から出力されることなく、所定時間τが経過したとCPU1が判断した場合(S604:Yes)、ケース40に対する打撃が検出されたが、当該打撃はスラップ奏法とは無関係であるとし、本処理を終了する。
【0067】
一方、計時が開始されてから所定時間τが経過するまでに、所定値S以上の出力値が感圧センサ43から出力されたと、CPU1が判断した場合(S605:Yes)、CPU1は、ケース40に対する打撃があってから所定時間τが経過するまでの間に、打面41が打撃された、すなわち、打面41がスラップ奏法によって打撃されたとし、スラップ発音処理を実行し(S606)、本処理を終了する。具体的に、スラップ発音処理(S606)は、第2実施形態の音源制御処理(
図5)におけるS411,S413の処理から構成される。スラップ発音処理(S606)において、音量制御パラメータを設定するための打撃レベルは、例えば、そのときのピエゾセンサ44の出力値と感圧センサ43の出力値との和である。第1実施形態のS412で得られるような、補正された打撃レベルを用いる構成としてもよい。
【0068】
第3実施形態の音源制御情報生成装置10によれば、ピエゾセンサ44および感圧センサ43の各出力値に基づいて、ケース40に対する打撃があったと判断された後、所定時間τが経過するまでの期間中に、打面41に対する、発音のトリガとなる打撃の監視が行われる。このとき、当該期間中に、打面41に対する、発音のトリガとなる打撃があれば、当該発音のトリガとなる打撃以前の所定の時間区間内に、ケース40に対する打撃があった、すなわち、スラップ奏法が行われたと判断できる。よって、本実施形態の音源制御情報生成装置10もまた、上述した第1および第2実施形態と同様、スラップ奏法による演奏を可能にする。
【0069】
なお、上記第3実施形態では、計時が開始されてから所定時間τが経過するまでの間に、感圧センサ43の出力値が所定値S以上である場合に、スラップ発音処理(S606)が行われる構成とした。つまり、本実施形態では、計時が開始されてから所定時間τが経過するまでの間に、所定値S以上の出力値が感圧センサ43から出力された場合に、当該感圧センサ43からの出力値が、打面41に対する、発音のトリガとなる打撃であると判断される構成であった。これに対し、第1,2実施形態と同様に、ピエゾセンサ44の出力値を考慮して、打面41に対する、発音のトリガとなる打撃が行われたか否かの判断を行う構成としてもよい。つまり、計時が開始されてから所定時間τが経過するまでの間に、ピエゾセンサ33の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S以上である場合に、打面41に対する、発音のトリガとなる打撃があったとして、スラップ発音処理(S606)を行う構成としてもよい。
【0070】
上記各実施形態において、音源制御情報生成装置10が、音源制御情報生成装置の一例である。制御プログラム2aが、プログラムの一例である。電子打楽器100が、電子機器の一例である。CPU1が、コンピュータの一例である。ケース40が、筐体の一例である。打面41が、打面の一例である。音源5が、音源手段の一例である。ピエゾセンサ44が、第1センサの一例である。感圧センサ43が、第2センサの一例である。リングバッファA、または、フラグQが設けられたRAM3が、記憶手段の一例である。フラグQが、出力値を特定可能な情報の一例である。
【0071】
上記実施形態において、第1,2実施形態のS401,S402の処理を実行するCPU1が、第1判断手段、第2判断手段の一例である。第3実施形態のS601、S602の処理を実行するCPU1が、第1判断手段の一例である。S605の処理を実行するCPU1が、第2判断手段の一例である。第1実施形態のS410の処理、第2実施形態のS408の処理、第3実施形態のS604の処理を実行するCPU1が、第3判断手段の一例である。第1実施形態のS411〜S413、第2実施形態のS411,S413、または、第3実施形態のS606の処理を実行するCPU1が、生成手段の一例である。第1実施形態のリングバッファ処理(
図3)、または、第2実施形態のS416の処理を実行するCPU1が、記憶制御手段の一例である。S501の処理を実行するCPU1が、計時手段の一例である。
【0072】
以上、実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【0073】
例えば、上記各実施形態で挙げた数値は一例であり、他の数値を適宜採用することは当然可能である。例えば、上記各実施形態では、スラップ奏法がされたか否かを判断するための時間区間を、打面41に対する打撃の検出以前の12.8msecとしたが、当該時間区間は12.8msecであることに限らず、打面41が連打される間隔T(一般的に100msec程度)より短く、かつ、スラップ奏法を行う場合にケース40に対する打撃から打面41に対する打撃までに要する最小限の時間t以上の時間区間であれば、適宜の数値を採用できる。
【0074】
上記各実施形態では、音源制御情報生成装置10が搭載される電子打楽器100として、パッド4を有する電子ドラムを例示したが、筐体と打面となり得るタッチパネルとを有する装置、例えば、スマートフォンや携帯電話などのモバイル端末や、タブレット端末や、タッチパネル画面を有するパーソナルコンピュータや、音楽再生装置などであっても、電子打楽器100として採用できる。
【0075】
上記各実施形態では、CPU1は、制御プログラム2aに従って、
図3から
図6のフローチャートに示す各処理を実行する構成とした。電子打楽器100が、アンドロイド(登録商標)やiOS(登録商標)などのオペレーティングシステムを搭載する装置である場合、搭載されたオペレーティングシステムをベースとするアプリケーションプログラムが、
図3から
図6のフローチャートに示す各処理をCPU1に実行させる構成としてもよい。かかる場合、アプリケーションプログラムが、本発明のプログラムの一例となる。
【0076】
上記各実施形態では、音源制御情報生成装置10が、パッド4および音源5を有する電子打楽器100に内蔵される構成としたが、音源制御情報生成装置10を、パッド4または音源5の少なくとも一方と別体の装置としてもよい。また、上記各実施形態では、音源制御情報生成装置10を、CPU1と、ROM2と、RAM3とから構成されるものとし、
図3などのフローチャートに示す各処理をCPU1が実行する構成としたが、音源制御情報生成装置10が音源5を含んで構成されるものとし、CPU1が実行するものとして説明した各処理を、音源5内のDSPに実行させる構成としてもよい。
【0077】
上記各実施形態では、打面41に対する打撃とケース40に対する打撃との両方を検出するセンサの一例として、ピエゾセンサ44を例示したが、ピエゾセンサ44に代えて、加速度センサなど、電子打楽器100の筐体の振動を検出可能な他のセンサを採用してもよい。
【0078】
上記各実施形態では、ケース40に対する打撃は検出しないが、打面41に対する打撃を検出するセンサとして、感圧センサ43を例示したが、感圧センサ43に代えて、タッチパネルまたはタッチセンサを、打撃センサとして採用する構成としてもよい。
【0079】
上記第1,2実施形態では、ピエゾセンサ44の出力値を評価するための閾値として、S401において、打面41に対する打撃の評価に用いる閾値Pのみを設ける構成とした。これに対し、閾値Pに加え、ケース40に対する打撃を評価するための閾値P’(ただし、P’>P)を設ける構成としてもよい。閾値P’を採用する本変形例では、
図4および
図5の音源制御処理において、ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S未満であると、CPU1が判断した場合(S401:Yes,S402:No)、CPU1は、ピエゾセンサ44の出力値と閾値P’との比較を行う。そして、ピエゾセンサ44の出力値が、閾値P’以上でないと、CPU1が判断した場合には、ケース40に対する打撃が、スラップ奏法として発音させるために十分な強さでないとみなし、フラグQをセットすることなく、音源制御処理を終了する。一方、ピエゾセンサ44の出力値が、閾値P’以上であると、CPU1が判断した場合、CPU1は、S416の処理、すなわち、フラグQのセットを行う。なお、本変形例では、S410の判断に用いる閾値を、閾値P’としてもよい。
【0080】
上記第1実施形態では、リングバッファAに格納されているピエゾセンサ44の出力値のうち、最大値PizXが、所定値以上の値であるか否かで、ケース40に対する打撃が検出されたか否かを判断する構成とした。ケース40に対する打撃が検出されたか否かの判断は、上記方法に限られない。例えば、リングバッファAに格納された値のうち、連続する所定数の値の平均値が、所定値以上の値であるか否かで、ケース40に対する打撃が検出されたか否かを判断する構成としてもよい。かかる方法によれば、ケース40に対する打撃が検出されたか否かを判断する場合に、ピエゾセンサ44の出力の過渡的な変動を排除した判断が可能となる。
【0081】
上記各実施形態では、
図4のS411において、スラップ奏法用の音色制御パラメータを割り当てることによって、音源5からスラップ奏法用の音色の楽音を発音させる構成とした。これに代えて、エフェクトパラメータの切り替えによって、音源5からスラップ奏法用の楽音を発音させる構成としてもよい。具体的に、スラップ奏法用のエフェクトパラメータをROM2に準備し、S413において、CPU1は、通常のエフェクトパラメータから、スラップ奏法用のエフェクトパラメータに切り替え、音源5に出力する。
【0082】
あるいは、スラップ奏法用に、ケース40に対する手の平による打撃のレベルに応じたエフェクトパラメータをROM2に準備しておき、S413において、CPU1は、PizXの大きさに対応したエフェクトパラメータに切り替える構成としてもよい。かかる構成によれば、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の発音を模擬させることが可能になる。
【0083】
上記第1実施形態では、ピエゾセンサ44の出力値を、リングバッファAに格納する構成とした。つまり、所定の時間区間分の出力値を保持する構成としたが、ピエゾセンサ44の出力値を、当該出力値を取得した時刻と対応付けて、RAM3に随時記憶する構成としてもよい。かかる変形例では、打面41に対する打撃が検出され、かつ、フラグQがセットされている場合に、当該検出時刻以前の所定の時間区間内に含まれる時刻の出力値がRAM3に記憶されている場合に、スラップ奏法が行われたとして、音源5を制御するようにすればよい。
【0084】
かかる場合、ピエゾセンサ44の出力値とともに、感圧センサ43の出力値をRAM3に記憶させる構成としてもよい。かかる構成によれば、ピエゾセンサ44の出力値が所定値P以上であり、かつ、感圧センサ43の出力値が所定値S以上である場合、すなわち、打面41に対する、発音のトリガとなる打撃があった場合に、RAM3に記憶されている、ピエゾセンサ44および感圧センサ43の過去の出力値に基づいて、当該発音のトリガとなる打撃以前の所定の時間区間内にケース40が打撃されたかを判断できる。つまり、発音のトリガとなった打撃がスラップ奏法によるものであるかを判断できる。
【0085】
上記第2実施形態では、所定値以上のピエゾセンサ44の出力があった場合に、フラグQをセットする構成としたが、ピエゾセンサ44の出力値をRAM3に記憶する構成としてもよい。また、所定値以上のピエゾセンサ44の出力がある毎に、そのときの時刻をRAM3に記憶する構成としてもよい。打面41に対する打撃が検出された場合に、RAM3に記憶されている時刻のうち、打撃が検出されたタイミング以前の所定の時間区間内の時刻がある場合に、スラップ奏法が行われたとして、音源5を制御するようにすればよい。なお、時刻を記憶する場合には、記憶されてから所定の時間区間が経過しても消去しない構成としてもよい。
【0086】
上記各実施形態では、ピエゾセンサ44の出力値や、フラグQの記憶先は、RAM3に限らず、電子打楽器100に設けられたメディアスロット(図示せず)に装着される各種の記録メディアや、外付けのハードディスクドライブなどの記憶装置であってもよい。
【0087】
上記各実施形態では、打面41に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース40に対する打撃が検出された場合に、打面41に対する打撃が検出されたタイミングと、ケース40に対する打撃が検出されたタイミングとの時間差にかかわらず、音源5に対し同一の制御を行う構成とした。これに代えて、前記時間差に応じて、音源5に対する制御を異ならせる構成としてもよい。
【0088】
上記第1および第2実施形態により説明した各特徴や、上述した各変形例を適宜組み合わせて実施する構成としてもよい。