(57)【要約】【課題】筐体と打面とを有する電子機器にて、スラップ奏法のような、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を可能にする音源制御情報生成装置を提供すること。【解決手段】本発明によれば、ある時期における、筐体および打面に対する打撃を検知する第１センサの出力値である第１出力値と、打面に対する打撃を検知する、第１センサと異なる第２センサの出力値である第２出力値とに基づいて、筐体に対する打撃があったかが、第１判断手段によって判断される。よって、第１センサからの第１出力値だけでは、筐体に対する打撃が行われたのか、打面に対する打撃が行われたのかを判断することができないが、第２センサからの第２出力値を合わせて用いることによって、筐体に対する打撃を検出できるので、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を実現し得る。【選択図】図４
2015068912.tif 000002
【特許請求の範囲】
【請求項１】
筐体と打面とを有する電子機器の前記打面に対する打撃に基づく楽音を発生する音源手段を制御する音源制御情報を生成する音源制御情報生成装置であって、
ある時期における、前記筐体および前記打面に対する打撃を検知する第１センサの出力値である第１出力値と、前記打面に対する打撃を検知する、前記第１センサと異なる第２センサの出力値である第２出力値とに基づいて、前記筐体に対する打撃があったかを判断する第１判断手段と、
少なくとも前記第２出力値に基づいて、前記打面に対する、発音のトリガとなる打撃があったかを判断する第２判断手段と、
前記第１判断手段による判断と前記第２判断手段による判断とに基づいて、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったかを判断する第３判断手段と、
前記第３判断手段により、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったと判断された場合には、前記発音のトリガとなる打撃以前の前記所定の時間区間内に前記筐体に対する打撃が行われていない場合とは異なる楽音制御情報を生成する生成手段と、
を備えていることを特徴とする音源制御情報生成装置。
【請求項２】
前記第１判断手段は、ある時期における前記第１出力値が、前記筐体または前記打面に対する打撃があったことを示し、かつ、当該ある時期における前記第２出力値が、前記打面に対する打撃がなかったことを示す場合に、前記筐体に対する打撃があったと判断することを特徴とする請求項１記載の音源制御情報生成装置。
【請求項３】
前記第１出力値を、出力の時系列を特定可能に記憶手段に記憶させる記憶制御手段を備え、
前記第３判断手段は、前記第２判断手段により、前記打面に対する、発音のトリガとなる打撃があったと判断された場合に、前記記憶手段の記憶内容に基づいて、当該発音のトリガとなる打撃以前の前記所定の時間区間内に、前記第１判断手段により、前記筐体に対する打撃があったと判断されたかを判断することを特徴とする請求項１または２に記載の音源制御情報生成装置。
【請求項４】
前記生成手段は、
前記発音のトリガとなる打撃以前の前記所定の時間区間内に前記筐体に対する打撃が行われていない場合には、発音のトリガとなる打撃に対応する第２出力値に応じた前記楽音制御情報を生成し、
前記第３判断手段により、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったと判断された場合には、発音のトリガとなる打撃に対応する第２出力値と、前記記憶手段に記憶されている第１出力値とに応じた前記楽音制御情報を生成することを特徴とする請求項３記載の音源制御情報生成装置。
【請求項５】
前記第１判断手段により、前記筐体に対する打撃があったと判断された場合、当該判断に対応する第１出力値または当該第１出力値を特定可能な情報を、当該判断の時期を特定可能に記憶手段に記憶する記憶制御手段を備え、
前記第３判断手段は、前記第２判断手段により、前記打面に対する、発音のトリガとなる打撃があったと判断された場合に、前記記憶手段の記憶内容に基づいて、当該発音のトリガとなる打撃以前の前記所定の時間区間内に、前記第１判断手段により、前記筐体に対する打撃があったと判断されたかを判断することを特徴とする請求項１または２に記載の音源制御情報生成装置。
【請求項６】
前記第１判断手段により、前記筐体に対する打撃があったと判断された場合に、計時を開始する計時手段を備え、
前記第３判断手段は、前記計時手段により前記所定の時間区間が経過するまでの間に、前記第２判断手段により、前記打面に対する、発音のトリガとなる打撃があったと判断された場合に、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったと判断することを特徴とする請求項１または２に記載の音源制御情報生成装置。
【請求項７】
前記第１判断手段により、前記筐体に対する打撃があったと判断された場合、当該判断に対応する第１出力値を、当該判断の時期を特定可能に記憶手段に記憶する記憶制御手段を備え、
前記生成手段は、
前記発音のトリガとなる打撃以前の前記所定の時間区間内に前記筐体に対する打撃が行われていない場合には、発音のトリガとなる打撃に対応する第２出力値に応じた前記楽音制御情報を生成し、
前記第３判断手段により、前記発音のトリガとなる打撃以前の所定の時間区間内に、前記筐体に対する打撃があったと判断された場合には、発音のトリガとなる打撃に対応する第２出力値と、前記記憶手段に記憶されている第１出力値とに応じた前記楽音制御情報を生成することを特徴とする請求項５または６記載の音源制御情報生成装置。
【請求項８】
前記楽音制御情報は、音色制御パラメータまたは音量制御パラメータであることを特徴とする請求項１から７のいずれかに記載の音源制御情報生成装置。
【請求項９】
請求項１から８のいずれかに記載の音源制御情報生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音源制御情報生成装置に関し、筐体と打面とを有する電子機器にて、スラップ奏法のような、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を可能にする音源制御情報生成装置およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、打面の裏面側に全面にわたって面状に配置された感圧センサと、ケース（筐体）の裏面側に配置されたピエゾセンサとを用いて、打面が打撃された場合に、その打撃と打点位置とを検出する電子打楽器が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２５５８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
打楽器の演奏には、スラップ奏法と呼ばれる奏法がある。スラップ奏法は、打面外の本体端に手の平を打ち当て、その際の慣性を利用してはじくように打面を指で叩く奏法である。しかしながら、特許文献１に記載される電子打楽器は、ケースに対する打撃を検出するピエゾセンサが打面に対する打撃も検出してしまうため、スラップ奏法による打面の打撃と、打面に対する通常の打撃とを区別することができず、スラップ奏法による演奏を行うことができなかった。
【０００５】
本発明は、上述した事情を解決するためになされたものであり、筐体と打面とを有する電子機器にて、スラップ奏法のような、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を可能にする音源制御情報生成装置およびプログラムを提供することを目的としている。
【課題を解決するための手段および発明の効果】
【０００６】
この目的を達成するために、請求項１記載の音源制御情報生成装置によれば、ある時期における、筐体および打面に対する打撃を検知する第１センサの出力値である第１出力値と、打面に対する打撃を検知する、第１センサと異なる第２センサの出力値である第２出力値とに基づいて、筐体に対する打撃があったかが、第１判断手段によって判断される。よって、第１センサからの第１出力値だけでは、筐体に対する打撃が行われたのか、打面に対する打撃が行われたのかを判断することができないが、第２センサからの第２出力値を合わせて用いることによって、筐体に対する打撃を検出できる。
【０００７】
その一方で、少なくとも第２出力値に基づいて、打面に対し、発音のトリガとなる打撃があったかが、第２判断手段により判断される。当該第２判断手段による判断と、第１判断手段による判断とに基づいて、発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があったかが、第３判断手段により判断される。そして、第３判断手段により、発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があったと判断された場合には、発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃が行われていない場合とは異なる楽音制御情報が生成される。これにより、筐体が打撃されてから所定の時間区間内に打面に対して打撃が行われた場合と、そうでない場合とで、それぞれ異なる楽音を音源手段から出力させることができる。よって、筐体と打面とを有する電子機器にて、スラップ奏法のような、筐体の振動を伴う動作を利用して打面を打撃する奏法による演奏を実現し得る。
【０００８】
なお、特許請求の範囲において、「筐体および打面に対する打撃を検知する第１センサ」は、当該第１センサが、筐体および打面に対する打撃を少なくとも検知できるセンサであれば、筐体および打面に対する打撃を検知する用途に限って設けられていることを意図しない。つまり、第１センサは、筐体および打面に対する打撃を検出する用途以外の用途で使用されるものであってもよい。同様に「打面に対する打撃を検知する第２センサ」は、当該第２センサが、打面に対する打撃を検出する用途以外の用途に使用されるものであってもよい。
【０００９】
請求項２記載の音源制御情報生成装置によれば、請求項１が奏する効果に加え、次の効果を奏する。ある時期における第１出力値が、筐体または打面に対する打撃があったことを示し、かつ、当該ある時期における第２出力値が、打面に対する、発音のトリガとなる打撃がなかったことを示す場合に、第１判断手段によって、筐体に対する打撃があったと判断される。これにより、筐体に対する打撃を検出できる。
【００１０】
請求項３記載の音源制御情報生成装置によれば、請求項１または２が奏する効果に加え、次の効果を奏する。第１出力値を、出力の時系列を特定可能に記憶手段に記憶させておき、第２判断手段により、打面に対する、発音のトリガとなる打撃があったと判断された場合には、記憶手段の記憶内容に基づいて、当該発音のトリガとなる打撃以前の所定の時間区間内に、第１判断手段により、筐体に対する打撃があったと判断されたかが、第３判断手段によって判断される。よって、打面に対する、発音のトリガとなる打撃があった場合に、過去に遡って、当該発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃があったかの判断を行うことができる。
【００１１】
請求項４記載の音源制御情報生成装置によれば、請求項３が奏する効果に加え、次の効果を奏する。発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃が行われていない場合には、発音のトリガとなる打撃に対応する第２出力値に応じた楽音制御情報が生成される。一方で、発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があったと判断されたと、第３判断手段により判断された場合には、発音のトリガとなる打撃に対応する第２出力値と、記憶手段に記憶されている第１出力値とに応じた楽音制御情報が生成される。よって、筐体と打面とを有する電子機器にて、筐体の振動を伴う動作を利用して打面を打撃する奏法が行われた場合に、当該奏法に応じた楽音を音源手段から発生させることができる。
【００１２】
請求項５記載の音源制御情報生成装置によれば、請求項１または２が奏する効果に加え、次の効果を奏する。第１判断手段により、筐体に対する打撃があったと判断された場合には、当該判断に対応する第１出力値または当該第１出力値を特定可能な情報が、当該判断の時期を特定可能に記憶手段に記憶される。そして、第２判断手段により、打面に対する、発音のトリガとなる打撃があったと判断された場合には、記憶手段の記憶内容に基づいて、当該発音のトリガとなる打撃以前の所定の時間区間内に、第１判断手段により、筐体に対する打撃があったと判断されたかが、第３判断手段によって判断される。よって、打面に対する、発音のトリガとなる打撃があった場合に、過去に遡って、当該発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃があったかの判断を行うことができる。
【００１３】
請求項６記載の音源制御情報生成装置によれば、請求項１または２が奏する効果に加え、次の効果を奏する。第１判断手段により、筐体に対する打撃があったと判断された場合には、計時手段による計時が開始され、その後、所定の時間区間が経過するまでの間に、第２判断手段により、打面に対する、発音のトリガとなる打撃があったと判断された場合に、発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があったと、第３判断手段によって判断される。このように、筐体に対する打撃があったと判断された場合に、その後の打面に対する打撃を監視することによって、打面に対する、発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃があったかの判断を行うことができる。
【００１４】
請求項７記載の音源制御情報生成装置によれば、請求項５または６が奏する効果に加え、次の効果を奏する。第１判断手段により、筐体に対する打撃があったと判断された場合には、当該判断に対応する第１出力値が、当該判断の時期を特定可能に記憶手段に記憶される。そして、発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃が行われていない場合には、発音のトリガとなる打撃に対応する第２出力値に応じた楽音制御情報が生成される。一方で、発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があったと判断されたと、第３判断手段により判断された場合には、発音のトリガとなる打撃に対応する第２出力値と、記憶手段に記憶されている第１出力値とに応じた楽音制御情報が生成される。よって、筐体と打面とを有する電子機器にて、筐体の振動を伴う動作を利用して打面を打撃する奏法が行われた場合に、当該奏法に応じた楽音を音源手段から発生させることができる。
【００１５】
請求項８記載の音源制御情報生成装置によれば、請求項１から７のいずれかが奏する効果に加え、次の効果を奏する。発音のトリガとなる打撃以前の所定の時間区間内に、筐体に対する打撃があった場合と、発音のトリガとなる打撃以前の所定の時間区間内に筐体に対する打撃が行われていない場合とで異ならせる楽音制御情報は、音色制御パラメータまたは音量制御パラメータである。よって、筐体と打面とを有する電子機器にて、筐体の振動を伴う動作を利用して打面を打撃する奏法が行われた場合に、当該奏法に応じた音色または音量の楽音を音源手段から発生させることができる。
【００１６】
請求項９記載のプログラムによれば、請求項１から８のいずれかに記載の音源制御情報生成装置と同様の効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】電子打楽器の電気的構成を示すブロック図である。
【図２】（ａ）は、パッドの正面図であり、（ｂ）は、（ａ）のＩＩｂ−ＩＩｂ線におけるパッドの断面図であり、（ｃ）は、基準点センサ出力テーブルの内容の一例を示す模式図である。
【図３】リングバッファ処理を示すフローチャートである。
【図４】音源制御処理を示すフローチャートである。
【図５】ピエゾセンサ監視処理を示すフローチャートで
【図６】第２実施形態の音源制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図１〜図４を参照して、本発明の第１実施形態について説明する。図１は、本発明の一実施形態としての電子打楽器１００の電気的構成を示すブロック図である。電子打楽器１００は、例えば、電子ドラムである。電子打楽器１００は、ＣＰＵ１と、ＲＯＭ２と、ＲＡＭ３と、パッド４と、音源５と、音源ＲＯＭ６と、増幅器７とを有する。
【００１９】
ＣＰＵ１は、ＲＯＭ２に記憶される固定値やプログラム、ＲＡＭ３に記憶されているデータなどに従って、電子打楽器１００の各部を制御する中央制御装置である。ＣＰＵ１は、クロック信号を計数することにより、時刻を計時するタイマ（図示せず）を内蔵する。
【００２０】
ＲＯＭ２は、ＣＰＵ１に実行させる制御プログラム２ａを記憶するリード・オンリー・メモリである。後述する図３および図４のフローチャートに示す各処理は、制御プログラム２ａに基づいて、ＣＰＵ１が実行する。ＲＯＭ２には、図２（ｃ）を参照して後述する基準点センサ出力テーブル等の各種テーブルも記憶される。ＲＡＭ３はＣＰＵ１の作業エリアなどに利用されるランダム・アクセス・メモリである。
【００２１】
なお、ＣＰＵ１、ＲＯＭ２、およびＲＡＭ３は、本発明の音源制御情報生成装置１０を構成する。詳細は後述するが、本実施形態の音源制御情報生成装置１０は、スラップ奏法の楽音が発音されるように、音源５を制御する。
【００２２】
パッド４は、その打面を打撃して電子ドラムによる演奏を行うものであり、ピエゾセンサ４４と、感圧センサ４３とを含む。パッド４の詳細構成は、図２（ａ）および図２（ｂ）を参照して後述する。音源５は、ＣＰＵ１からの指示にしたがって発生楽音の音色や各種効果などを制御する装置である。音色ＲＯＭ６は、音色データが記憶されるリード・オンリー・メモリである。音源５は、音色ＲＯＭ６に記憶されている音色データを用いて音色制御を行う。増幅器７は、音源５の発生した楽音信号を増幅する装置であり、増幅した楽音信号を、図示しないスピーカシステム等に出力する。
【００２３】
図２（ａ）は、パッド４の正面図である。図２（ｂ）は、図１（ａ）のＩＩｂ−ＩＩｂ線におけるパッド４の断面図である。パッド４は、その外形が円盤の形状をしたデバイスであり、剛体からなる円形皿板状のケース４０と、ケース４０の上面側に配設される、円形のゴムパッドからなる打面４１とから構成される。打面４１の下面（裏面）側には、円形板状のクッション材４２と感圧センサ４３とが、打面４１とケース４０によって密に挟まれる形で保持されている。
【００２４】
クッション材４２は、打面４１を打撃した時の打撃の感覚を弾力感のある叩き心地のよいものに調整するとともに、打撃時の打撃振動が打面直下方向を経由してケース４０に直接に伝わらないように、その振動を減衰させる作用を有する。クッション材４２は、打面４１が打撃された場合に、その打撃の振動を減衰させるが、その一方で、打撃の際に打面に加わった圧力を感圧センサ４３に伝達する。
【００２５】
打面４１の端部４１ａは、ケース４０のエッジ部４０ａと、クッション材４２の端部４２ａとで挟み込むように固定される。ケース４０の裏側における、エッジ部４０ａの側には、振動センサであるピエゾセンサ４４が取り付けられる。打面４１が打撃を受けた場合に、打面４１を伝わってエッジ部４０ａに至った打撃振動は、エッジ部４０ａを介してケース４０に伝達され、ピエゾセンサ４４に達する。
【００２６】
打面が打撃を受けた時、ピエゾセンサ４４が検出する振動は、主に、打面４１からエッジ部４０ａの側を通り、ケース４０を伝達してピエゾセンサ４４に到達する振動である。前述した通り、打撃した打点の直下方向に伝達する振動は、その振動がクッション材４２によって吸収または減衰され、殆どの成分はピエゾセンサ４４に伝達されない。ピエゾセンサ４４は、打撃時の打撃振動が打点位置からピエゾセンサ４４に到達するまでの経路の長さが、打面４１の種々の打点位置に応じて異なる長さとなるような位置に取り付けられる。このように、ピエゾセンサ４４は、打撃振動を打面４１とケース４０を介して検出するので、ピエゾセンサ４４の出力値は、打面４１のエッジＥ側を叩いた場合の方が、打面４１のパッド中心Ｃ付近を叩いた場合よりも大きい。
【００２７】
ピエゾセンサ４４はまた、打面４１に限らず、ケース４０が打撃を受けた時に、その打撃で生じた振動も検出する。ケース４０に手の平を打ち当てた場合には、ピエゾセンサ４４は、手の平が打ち当てられたことに基づくケース４０の振動を検出する。よって、ピエゾセンサ４４の出力値だけでは、打面４１に対する打撃が行われたか、ケース４０に対する打撃が行われたかを区別することができない。そこで、本実施形態では、同時期におけるピエゾセンサ４４および感圧センサ４３の各出力値に基づいて、ケース４０が「打撃された」かの判断を行う。具体的に、ピエゾセンサ４４の出力値が、打面４１またはケース４０に対する打撃であるかを判断するための閾値である所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が、打面４１に対する打撃であるかを判断するための閾値である所定値Ｓ未満である場合に、ケース４０が「打撃された」とされる。
【００２８】
感圧センサ４３は、打面４１が打撃を受けた時に、その打撃により打面４１が受けた圧力を検出するセンサであり、打面４１の裏面側の全面にわたり面状に配設されている。なお、「面状」とは、例えば、途切れのない一面状であっても、メッシュ状（網状）であっても、あるいは、渦巻き状などであってもよく、打面のいずれかの位置が打撃された時にその打撃の圧力を感知して単一の検出出力を発生するものであればよい。本実施形態では、ピエゾセンサ４４の出力値が所定値Ｐより大きく、かつ、感圧センサ４３の出力値が所定値Ｓより大きい場合に、打面４１が「打撃された」とされる。
【００２９】
本実施形態の音源制御情報生成装置１０は、打面４１に対する、発音のトリガとなる打撃があった場合に、当該打撃以前の所定の時間区間内（本実施形態では、１２．８ｍｓｅｃ）にて、ケース４０に対する打撃が検出されている場合に、スラップ奏法が行われているものとして、スラップ奏法用の音色の楽音が発生されるように、音源５を制御する。
【００３０】
図２（ｃ）は、ＲＯＭ２に記憶されている基準点センサ出力テーブルの内容の一例を示す模式図である。基準点センサテーブルは、パッド４の打面４１の基準点をスティックで打撃した時の感圧センサ４３の出力値と、ピエゾセンサ４４の出力値とを対応付けたテーブルである。本実施形態では、基準点としては、打面４１のパッド中心ＣとエッジＥとの中央付近の中間点Ｍを用いる。基準点センサ出力テーブルは、基準点である中間点Ｍを、１２７段階の強さで打撃したときの、各打撃強度に対応する各センサ４３，４４の出力値を予め求めることによって作成する。なお、図２（ｃ）に示す例では、第１段階目の打撃強度に対する感圧センサ４３の出力値を「１」、ピエゾセンサ４４の出力値を「Ｐ１」と表し、第２段階目の打撃強度に対する感圧センサ４３の出力値を「２」、ピエゾセンサ４４の出力値を「Ｐ２」と表し、以降同様に、第１２７段階目まで各センサ４３，４４の出力値を表している。
【００３１】
次に、図３および図４を参照して、上記構成を有する電子打楽器１００、より詳細には、音源制御情報生成装置１０のＣＰＵ１が実行する処理について説明する。まず、図３は、リングバッファ処理を示すフローチャートである。本処理は、ピエゾセンサ４４の出力値を、ＲＡＭ３内に設けられたリングバッファＡ（図示せず）に格納する処理であり、ＣＰＵ１が所定の周期で定期的に実行するタイマ割込み処理である。本実施形態では、リングバッファ処理の実行周期は４００μｓｅｃである。一方、本実施形態において、本処理で用いるリングバッファＡは、３２個分のデータを保持可能に構成される。よって、本実施形態では、ピエゾセンサ４４の出力値は、１２．８ｍｓｅｃに渡りリングバッファＡに保持される。
【００３２】
ＣＰＵ１は、電源が投入されると、初期設定として、リングバッファ処理の実行周期に相当するタイマ時間をセットする。本実施形態では、リングバッファ処理の実行周期は４００μｓｅｃである。また、ＣＰＵ１は、リングバッファＡへのピエゾセンサ４４の出力値の記憶に備え、アドレス変数ＲにＲｓを入力する。アドレス変数Ｒは、リングバッファＡのアドレスのうち、現在のデータ入力対象アドレスを示す変数である。Ｒｓは、リングバッファＡの先頭アドレスである。
【００３３】
ＣＰＵ１は、初期設定においてセットされたタイマ時間が経過する毎に、図３のリングバッファ処理を起動する。リングバッファ処理において、ＣＰＵ１は、そのときのピエゾセンサ４４の出力値を、ＰｉｚＲに記憶する（Ｓ３０１）。次に、ＣＰＵ１は、次回に実行される本処理でのピエゾセンサ４４の出力値の記憶に備えて、データ入力対象アドレスを次に進めるためアドレス変数Ｒに１を加算する（Ｓ３０２）。
【００３４】
ＣＰＵ１は、アドレス変数Ｒが示すアドレスがリングバッファＡの領域外のアドレスであるかを判断する（Ｓ３０３）。具体的に、Ｓ３０３において、ＣＰＵ１は、アドレス変数Ｒが、リングバッファＡの末尾アドレスであるＲｅを超えたかを判断する。
【００３５】
アドレス変数ＲがＲｅを超えたとＣＰＵ１が判断した場合（Ｓ３０３：Ｙｅｓ）、ＣＰＵ１は、データ入力対象アドレスをリングバッファＡの先頭に戻すために、アドレス変数ＲにＲｓを代入し（Ｓ３０４）、本処理を終了する。一方、アドレス変数ＲがＲｅを超えていないとＣＰＵ１が判断した場合（Ｓ３０３：Ｎｏ）、本処理を終了する。
【００３６】
図４は、音源制御処理を示すフローチャートである。本処理は、ＣＰＵ１が所定の周期で定期的に実行するタイマ割込み処理である。本実施形態では、音源制御処理の実行周期は４００μｓｅｃである。ＣＰＵ１は、ピエゾセンサ４４の出力値が、所定値Ｐ以上であるかを判断する（Ｓ４０１）。ピエゾセンサ４４の出力値が所定値Ｐ未満であると、ＣＰＵ１が判断した場合（Ｓ４０１：Ｎｏ）、ＣＰＵ１は、本処理を終了する。一方、ピエゾセンサ４４の出力値が所定値Ｐ以上であると、ＣＰＵ１が判断した場合（Ｓ４０１：Ｙｅｓ）、ＣＰＵ１は、感圧センサ４３の出力値が、所定値Ｓ以上であるかを判断する（Ｓ４０２）。
【００３７】
感圧センサ４３の出力値が所定値Ｓ未満であると、ＣＰＵ１が判断した場合（Ｓ４０２：Ｎｏ）、ＣＰＵ１は、打面４１でなく、ケース４０に対する打撃が検出されたとし、ＲＡＭ３内に設けられたフラグＱ（図示せず）をセットし（Ｓ４１６）、本処理を終了する。なお、フラグＱは、ケース４０に対する打撃が検出されたか否かを示すフラグである。ＣＰＵ１は、電源が投入された場合に行う初期設定において、フラグＱをリセットする。
【００３８】
一方、感圧センサ４３の出力値が所定値Ｓ以上であると、ＣＰＵ１が判断した場合（Ｓ４０２：Ｙｅｓ）、ＣＰＵ１は、打面４１に対する打撃が検出されたとして、Ｓ４０３〜Ｓ４１５の処理を実行する。具体的に、ＣＰＵ１は、そのときの感圧センサ４３およびピエゾセンサ４４の出力値を、それぞれ、レジスタＰｒｓおよびレジスタＰｉｚに記憶する（Ｓ４０３，Ｓ４０４）。次に、ＣＰＵ１は、ＲＯＭ２内に記憶される基準点センサ出力テーブルを参照して、この基準点センサ出力テーブルにおける、上記打撃時の感圧センサ４３の出力値に対応するピエゾセンサ４４の出力値を読み出し、ＲＡＭ３内に設けられたバッファＢ（図示せず）に格納する（Ｓ４０５）。
【００３９】
ＣＰＵ１は、「（バッファＢの値）−（レジスタＰｉｚの値）」の演算により差分データを算出し、この差分データを打点位置データとする（Ｓ４０６）。打点位置データ、すなわち、差分データは、今回の打撃が、基準点（本実施形態では、中間点Ｍ）よりどれだけエッジＥ側を叩いたものであるか、あるいは、どれだけパッド中心Ｃ側を叩いたものであるかを示すデータである。具体的に、打点位置データが負の値であれば、中間点ＭよりエッジＥ側を叩いたことを示す。一方、打点位置データが正の値であれば、中間点Ｍよりパッド中心Ｃ側を叩いたことを示す。
【００４０】
ＣＰＵ１は、レジスタＰｒｓの値（すなわち、感圧センサ４３の出力値）と、レジスタＰｉｚの値（ピエゾセンサ４４の出力値）との和を算出し、得られた値を打撃レベルとしてＲＡＭ３内に記憶する（Ｓ４０７）。なお、レジスタＰｒｓの値とレジスタＰｉｚの値とに、それぞれ、適宜係数を掛けて重み付けをした上で和を算出する構成としてもよい。
【００４１】
ＣＰＵ１は、ケース４０に対する打撃の可能性を示すフラグＱがセットされているかを判断する（Ｓ４０８）。フラグＱがセットされていないと、ＣＰＵ１が判断した場合（Ｓ４０８：Ｎｏ）、ＣＰＵ１は、打面４１に対する打撃が、通常奏法による打撃であるとし、通常の音色制御パラメータを割り当て（Ｓ４１５）、処理をＳ４１３に移行する。
【００４２】
一方、フラグＱがセットされている、すなわち、ケース４０に対する打撃が過去にあったと、ＣＰＵ１が判断した場合（Ｓ４０８：Ｙｅｓ）、ＣＰＵ１は、ケース４０に対する打撃が、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたか否かを判断するために、Ｓ４０９，Ｓ４１０の処理を実行する。具体的に、ＣＰＵ１は、リングバッファＡに格納されているピエゾセンサ４４の出力値のうち、最大値ＰｉｚＸを取得する（Ｓ４０９）。つまり、ＣＰＵ１は、打面４１に対する打撃が検出されたタイミング以前の所定の時間区間（本実施形態では、１２．８ｍｓｅｃ）内におけるピエゾセンサ４４の出力の最大値ＰｉｚＸを取得する。
【００４３】
ＣＰＵ１は、ＰｉｚＸが所定値以上の値であるかを判断する（Ｓ４１０）。ＰｉｚＸが所定値以上の値でないと、ＣＰＵ１が判断した場合（Ｓ４１０：Ｎｏ）、ＣＰＵ１は、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に、ケース４０に対する打撃が行われていない、すなわち、打面４１に対する今回の打撃が、通常奏法による打撃であるとして、処理をＳ４１５に移行し、通常の音色制御パラメータを割り当てる。
【００４４】
一方、ＰｉｚＸが所定値以上の値であると、ＣＰＵ１が判断した場合（Ｓ４１０：Ｙｅｓ）、ＣＰＵ１は、フラグＱに対応する打撃が、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース４０に対する打撃である、すなわち、打面４１に対する今回の打撃が、スラップ奏法による打撃であるとして、スラップ奏法用の音色制御パラメータを割り当てる（Ｓ４１１）。具体的に、ＣＰＵ１は、音色ＲＯＭ６に記憶されているスラップ奏法時の音色データに基づく発音を音源５に行わせるための音色制御パラメータを割り当てる。
【００４５】
なお、スラップ奏法用に、ケース４０に対する手の平による打撃のレベルに応じた音色データを音色ＲＯＭ６に準備しておき、Ｓ４１１において、ＣＰＵ１が、ＰｉｚＸの大きさに対応した音色データが発音されるような音色制御パラメータを割り当てる構成としてもよい。かかる構成によれば、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の音色を発生させることが可能になる。
【００４６】
次に、ＣＰＵ１は、ＰｉｚＸの大きさに基づいて、Ｓ４０７にて算出した打撃レベルを補正する（Ｓ４１２）。具体的に、Ｓ４１２において、ＣＰＵ１は、まず、ＲＯＭ２内に記憶されている、ＰｉｚＸの値とレベル補正値とを対応付けたテーブル（図示せず）を参照して、ＰｉｚＸに対応するレベル補正値を読み出す。次に、ＣＰＵ１は、Ｓ４０７にて算出した打撃レベルに、読み出したレベル補正値を乗算する。かかる演算により、Ｓ４０７にて算出した打撃レベルが、スラップ奏法時における手の平による打撃の大きさに基づいた値に補正される。このように打撃レベルを補正することにより、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の音量の楽音を発生させることが可能になる。
【００４７】
ＣＰＵ１は、Ｓ４１２またはＳ４１５の処理後、音源５に対する発音指示を行う発音処理を実行し（Ｓ４１３）、フラグをリセットし（Ｓ４１４）、本処理を終了する。具体的に、Ｓ４１３において、ＣＰＵ１は、発音指示を音源５に出力するとともに、Ｓ４１１またはＳ４１５において割り当てた音色制御パラメータや、打撃レベルに応じた音量制御パラメータなどの、各種の制御パラメータを出力する。なお、Ｓ４１３にて出力する音量制御パラメータは、Ｓ４１２において打撃レベルの補正が行われている場合には、当該補正後の打撃レベルに応じた音量制御パラメータである。Ｓ４１０の処理の結果、音源５は、出力された各種の制御パラメータに応じた発音処理を実行する。
【００４８】
上記Ｓ４０９〜Ｓ４１３，Ｓ４１５の処理によれば、打面４１に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース４０に対する打撃が検出されていれば、音源５からは、スラップ奏法用の音色制御パラメータに従う音色、すなわち、スラップ奏法用の音色の楽音が発音される。一方、打打面４１に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース４０に対する打撃が検出されていなければ、音源５からは、通常の音色制御パラメータに従う音色の楽音が発音される。
【００４９】
また、楽音の音量（ボリューム）について、スラップ奏法が行われた場合の音量は、レジスタＰｒｓの値（感圧センサ４３の出力値）と、レジスタＰｉｚの値（ピエゾセンサ４４の出力値）の和の値を、演奏者の手の平によるケース４０に対する打撃の大きさに応じて補正した打撃レベルに応じた音量となる。一方、打面４１が通常奏法で打撃された場合の音量は、レジスタＰｒｓの値と、レジスタＰｉｚの値の和の値である打撃レベルに応じた音量となる。
【００５０】
第１実施形態の音源制御情報生成装置１０によれば、ピエゾセンサ４４および感圧センサ４３の各出力値に基づいて、ケース４０に対する打撃があったと判断された場合には、当該出力値を特定可能な情報として、フラグＱがセットされる。これにより、打面４１に対する、発音のトリガとなる打撃があった場合に、フラグＱの状態に基づいて、過去に遡って、当該発音のトリガとなる打撃以前に、ケース４０に対する打撃があったかの判断を行うことができる。
【００５１】
一方、リングバッファＡには、ピエゾセンサ４４からの過去の出力値が所定の時間区間分記憶されているので、発音のトリガとなる打撃以前に、ケース４０に対する打撃が行われていると判断された場合には、リングバッファＡの記憶内容に基づいて、当該ケース４０に対する打撃が、発音のトリガとなる打撃以前の所定の時間区間内に行われたものであるか、すなわち、スラップ奏法を行うためのケース４０に対する打撃であったかを判断できる。
【００５２】
このとき、当該ケース４０に対する打撃がスラップ奏法を行うための打撃であると判断された場合には、スラップ奏法用の音色制御パラメータが音源５に出力されるので、音源５から、スラップ奏法用の音色の楽音を出力させることができる。よって、音源制御情報生成装置１０が搭載された電子打楽器１００によれば、スラップ奏法による演奏を可能にする。
【００５３】
本実施形態では、リングバッファＡにデータが記憶される期間、すなわち、ケース４０および打面４１に対する各打撃の間隔がスラップ奏法によるものであるか否かを判断するための所定の時間区間として、１２．８ｍｓｅｃを採用する構成とした。当該所定の時間区間は、打面４１が連打される間隔Ｔ（一般的に１００ｍｓｅｃ程度）より短く、かつ、スラップ奏法を行う場合にケース４０に対する打撃から打面４１に対する打撃までに要する最小限の時間ｔ以上の期間であれば、適宜の期間を採用できる。つまり、上記所定の時間区間をτとする場合には、Ｔ＞τ≧ｔの関係性を満たすτの値であれば、適宜の値を採用できる。
【００５４】
Ｔ＞τ≧ｔの関係性を満たすτの値を採用することによって、発音のトリガとなる打撃が検出されたタイミングにおけるリングバッファＡの記憶内容には、打面４１の連打に起因するピエゾセンサ４４の出力値が含まれることはない。よって、図４のＳ４０９，Ｓ４１０では、リングバッファＡの記憶内容、すなわち、ピエゾセンサ４４の出力値だけで、ケース４０に対する打撃であるか否かを判断することができる。
【００５５】
なお、連打の間隔Ｔで打面４１が打撃された場合には、２回目以降の打撃は無視する構成としてもよい。また、ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ以上である場合には、その場合のピエゾセンサ４４の出力値は、ケース４０に対する打撃に基づくものでなく、打面４１に対する打撃によるものであると解釈して、ピエゾセンサ４４の出力値をリングバッファＡに格納しないようにしてもよい。
【００５６】
次に、図５を参照して、本発明の第２実施形態について説明する。上述した第１実施形態では、所定の時間区間分のピエゾセンサ４４の出力値をリングバッファＡに格納し、リングバッファＡの記憶内容に基づいて、打面４１に対する打撃が検出されたタイミング以前の所定の時間区分内に、ケース４０に対する打撃が検出されたかを判断する構成とした。これに対し、第２実施形態では、リングバッファＡに代えて、ケース４０に対する打撃が検出されたと判断してから所定の時間区間にわたってセットされるフラグを用いて、上記判断を行う。第２実施形態において、上述した第１実施形態と同一の部分については、同一の符号を付し、その説明は省略する。
【００５７】
図５は、第２実施形態の音源制御処理を示すフローチャートである。本処理は、第１実施形態の音源制御処理と同様、４００μｓｅｃ毎に実行されるタイマ割込み処理である。なお、図５のフローチャートに示す各処理は、第２実施形態の制御プログラム２ａに基づいて、ＣＰＵ１が実行する。以下、第１実施形態の音源制御処理（図４）との相違点を中心に説明する。
【００５８】
ＣＰＵ１は、第１実施形態と同様に、ピエゾセンサ４４の出力値および感圧センサ４３の出力値に関する判断を行う（Ｓ４０１、Ｓ４０２）。ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ未満であると、ＣＰＵ１が判断した場合（Ｓ４０１：Ｙｅｓ，Ｓ４０２：Ｎｏ）、ＣＰＵ１は、ケース４０に対する打撃が検出されたとし、第１実施形態と同様のフラグＱをセットし（Ｓ４１６）、タイマによる計時を開始し（Ｓ５０１）、本処理を終了する。Ｓ５０１の処理により計時が開始されると、ＣＰＵ１は、図示されない計時処理を実行する。かかる計時処理において、ＣＰＵ１は、計時の開始から、所定の時間区間、例えば、第１実施形態と同様の１２．８ｍｓｅｃが経過した場合に、計時の終了と、タイマのリセットと、Ｓ５０１においてセットされたフラグのリセットとを行う。
【００５９】
一方、ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ以上である場合（Ｓ４０１：Ｙｅｓ，Ｓ４０２：Ｙｅｓ）、ＣＰＵ１は、第１実施形態と同様に、Ｓ４０３〜Ｓ４０７の処理を行った後、フラグＱがセットされているかを判断する（Ｓ４０８）。フラグＱがセットされていないとＣＰＵ１が判断した場合（Ｓ４０８：Ｎｏ）、ＣＰＵ１は、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に、ケース４０に対する打撃が行われていない、すなわち、打面４１に対する今回の打撃が、通常奏法による打撃であるとし、通常の音色制御パラメータを割り当てる（Ｓ４１５）。ＣＰＵ１は、Ｓ４１５の処理後、Ｓ４１３，Ｓ４１４の処理を実行し、本処理を終了する。
【００６０】
一方、フラグＱがセットされているとＣＰＵ１が判断した場合（Ｓ４０８：Ｙｅｓ）、ＣＰＵ１は、フラグＱに対応する打撃が、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース４０に対する打撃である、すなわち、打面４１に対する今回の打撃が、スラップ奏法による打撃であるとして、スラップ奏法用の音色制御パラメータを割り当て（Ｓ４１１）、処理をＳ４１３に移行する。
【００６１】
なお、フラグＱがセットされた場合に、当該フラグＱに、当該フラグＱのセットに関わる出力値を対応付けて記憶する構成としてもよく、かかる構成では、Ｓ４１１の後に、第１実施形態と同様に、打撃レベルを補正するＳ４１２の処理を実行する構成としてもよい。その際には、フラグに対応付けられている出力値に基づき、打撃レベルの補正を行う。
【００６２】
第２実施形態の音源制御情報生成装置１０によれば、ピエゾセンサ４４および感圧センサ４３の各出力値に基づいて、ケース４０に対する打撃があったと判断された場合には、当該出力値を特定可能な情報として、フラグＱが所定の時間区間にわたってセットされる。これにより、打面４１に対する、発音のトリガとなる打撃があった場合に、フラグＱの状態に基づいて、過去に遡って、当該発音のトリガとなる打撃以前の所定の時間区間内に、ケース４０に対する打撃があったかの判断を行うことができる。よって、本実施形態の音源制御情報生成装置１０もまた、上述した第１実施形態と同様、スラップ奏法による演奏を可能にする。
【００６３】
次に、図６を参照して、本発明の第３実施形態について説明する。上述した第１，２実施形態では、打面４１に対する打撃が検出された場合に、当該打撃が検出されたタイミング以前の所定の時間区間内（例えば、１２．８ｍｓｅｃ）に、打面４１に対する今回の打撃が検出されたタイミング以前の所定の時間区間内に行われたケース４０に対する打撃が検出されたか否かに基づいて、スラップ奏法が行われたか否かを判断する構成とした。これに対し、第３実施形態では、ケース４０に対する打撃が検出された場合に、当該検出タイミング以降の所定の時間区間内に、打面４１に対する打撃が検出された場合に、スラップ奏法が行われたと判断する。第３実施形態において、上述した第１，２実施形態と同一の部分については、同一の符号を付し、その説明は省略する。
【００６４】
図６は、第３実施形態の音源制御処理を示すフローチャートである。本処理は、第１，２形態の音源制御処理と同様、４００μｓｅｃ毎に実行されるタイマ割込み処理である。なお、フローチャートに示す各処理は、第３施形態の制御プログラム２ａに基づいて、ＣＰＵ１が実行する。ＣＰＵ１は、第１実施形態のＳ４０１，Ｓ４０２と同様に、ピエゾセンサ４４の出力値および感圧センサ４３の出力値に関する判断を行う（Ｓ６０１，Ｓ６０２）。ピエゾセンサ４４の出力値が所定値Ｐ未満であると、ＣＰＵ１が判断した場合（Ｓ６０１：Ｎｏ）、ＣＰＵ１は、本処理を終了する。
【００６５】
ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ以上であると、ＣＰＵ１が判断した場合（Ｓ６０１：Ｙｅｓ，Ｓ６０２：Ｙｅｓ）、ＣＰＵ１は、打面４１が通常奏法によって打撃されたとし、通常発音処理を実行し（Ｓ６０７）、本処理を終了する。具体的に、通常発音処理（Ｓ６０７）は、第２実施形態の音源制御処理（図５）におけるＳ４１５，Ｓ４１３の処理から構成される。通常発音処理（Ｓ６０７）において、音量制御パラメータを設定するための打撃レベルは、例えば、そのときのピエゾセンサ４４の出力値と感圧センサ４３の出力値との和である。
【００６６】
一方、ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ未満であると、ＣＰＵ１が判断した場合（Ｓ６０１：Ｙｅｓ，Ｓ６０２：Ｎｏ）、ＣＰＵ１は、ケース４０に対する打撃が検出されたとし、タイマによる計時を開始する（Ｓ６０３）。次に、ＣＰＵ１は、計時が開始されてから所定時間τが経過するまでに、所定値Ｓ以上の出力値が感圧センサ４３から出力されたかを監視する（Ｓ６０４：Ｎｏ，Ｓ６０５：Ｎｏ）。本実施形態では、所定時間τ＝１２．８ｍｓｅｃとする。所定値Ｓ以上の出力値が感圧センサ４３から出力されることなく、所定時間τが経過したとＣＰＵ１が判断した場合（Ｓ６０４：Ｙｅｓ）、ケース４０に対する打撃が検出されたが、当該打撃はスラップ奏法とは無関係であるとし、本処理を終了する。
【００６７】
一方、計時が開始されてから所定時間τが経過するまでに、所定値Ｓ以上の出力値が感圧センサ４３から出力されたと、ＣＰＵ１が判断した場合（Ｓ６０５：Ｙｅｓ）、ＣＰＵ１は、ケース４０に対する打撃があってから所定時間τが経過するまでの間に、打面４１が打撃された、すなわち、打面４１がスラップ奏法によって打撃されたとし、スラップ発音処理を実行し（Ｓ６０６）、本処理を終了する。具体的に、スラップ発音処理（Ｓ６０６）は、第２実施形態の音源制御処理（図５）におけるＳ４１１，Ｓ４１３の処理から構成される。スラップ発音処理（Ｓ６０６）において、音量制御パラメータを設定するための打撃レベルは、例えば、そのときのピエゾセンサ４４の出力値と感圧センサ４３の出力値との和である。第１実施形態のＳ４１２で得られるような、補正された打撃レベルを用いる構成としてもよい。
【００６８】
第３実施形態の音源制御情報生成装置１０によれば、ピエゾセンサ４４および感圧センサ４３の各出力値に基づいて、ケース４０に対する打撃があったと判断された後、所定時間τが経過するまでの期間中に、打面４１に対する、発音のトリガとなる打撃の監視が行われる。このとき、当該期間中に、打面４１に対する、発音のトリガとなる打撃があれば、当該発音のトリガとなる打撃以前の所定の時間区間内に、ケース４０に対する打撃があった、すなわち、スラップ奏法が行われたと判断できる。よって、本実施形態の音源制御情報生成装置１０もまた、上述した第１および第２実施形態と同様、スラップ奏法による演奏を可能にする。
【００６９】
なお、上記第３実施形態では、計時が開始されてから所定時間τが経過するまでの間に、感圧センサ４３の出力値が所定値Ｓ以上である場合に、スラップ発音処理（Ｓ６０６）が行われる構成とした。つまり、本実施形態では、計時が開始されてから所定時間τが経過するまでの間に、所定値Ｓ以上の出力値が感圧センサ４３から出力された場合に、当該感圧センサ４３からの出力値が、打面４１に対する、発音のトリガとなる打撃であると判断される構成であった。これに対し、第１，２実施形態と同様に、ピエゾセンサ４４の出力値を考慮して、打面４１に対する、発音のトリガとなる打撃が行われたか否かの判断を行う構成としてもよい。つまり、計時が開始されてから所定時間τが経過するまでの間に、ピエゾセンサ３３の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ以上である場合に、打面４１に対する、発音のトリガとなる打撃があったとして、スラップ発音処理（Ｓ６０６）を行う構成としてもよい。
【００７０】
上記各実施形態において、音源制御情報生成装置１０が、音源制御情報生成装置の一例である。制御プログラム２ａが、プログラムの一例である。電子打楽器１００が、電子機器の一例である。ＣＰＵ１が、コンピュータの一例である。ケース４０が、筐体の一例である。打面４１が、打面の一例である。音源５が、音源手段の一例である。ピエゾセンサ４４が、第１センサの一例である。感圧センサ４３が、第２センサの一例である。リングバッファＡ、または、フラグＱが設けられたＲＡＭ３が、記憶手段の一例である。フラグＱが、出力値を特定可能な情報の一例である。
【００７１】
上記実施形態において、第１，２実施形態のＳ４０１，Ｓ４０２の処理を実行するＣＰＵ１が、第１判断手段、第２判断手段の一例である。第３実施形態のＳ６０１、Ｓ６０２の処理を実行するＣＰＵ１が、第１判断手段の一例である。Ｓ６０５の処理を実行するＣＰＵ１が、第２判断手段の一例である。第１実施形態のＳ４１０の処理、第２実施形態のＳ４０８の処理、第３実施形態のＳ６０４の処理を実行するＣＰＵ１が、第３判断手段の一例である。第１実施形態のＳ４１１〜Ｓ４１３、第２実施形態のＳ４１１，Ｓ４１３、または、第３実施形態のＳ６０６の処理を実行するＣＰＵ１が、生成手段の一例である。第１実施形態のリングバッファ処理（図３）、または、第２実施形態のＳ４１６の処理を実行するＣＰＵ１が、記憶制御手段の一例である。Ｓ５０１の処理を実行するＣＰＵ１が、計時手段の一例である。
【００７２】
以上、実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【００７３】
例えば、上記各実施形態で挙げた数値は一例であり、他の数値を適宜採用することは当然可能である。例えば、上記各実施形態では、スラップ奏法がされたか否かを判断するための時間区間を、打面４１に対する打撃の検出以前の１２．８ｍｓｅｃとしたが、当該時間区間は１２．８ｍｓｅｃであることに限らず、打面４１が連打される間隔Ｔ（一般的に１００ｍｓｅｃ程度）より短く、かつ、スラップ奏法を行う場合にケース４０に対する打撃から打面４１に対する打撃までに要する最小限の時間ｔ以上の時間区間であれば、適宜の数値を採用できる。
【００７４】
上記各実施形態では、音源制御情報生成装置１０が搭載される電子打楽器１００として、パッド４を有する電子ドラムを例示したが、筐体と打面となり得るタッチパネルとを有する装置、例えば、スマートフォンや携帯電話などのモバイル端末や、タブレット端末や、タッチパネル画面を有するパーソナルコンピュータや、音楽再生装置などであっても、電子打楽器１００として採用できる。
【００７５】
上記各実施形態では、ＣＰＵ１は、制御プログラム２ａに従って、図３から図６のフローチャートに示す各処理を実行する構成とした。電子打楽器１００が、アンドロイド（登録商標）やｉＯＳ（登録商標）などのオペレーティングシステムを搭載する装置である場合、搭載されたオペレーティングシステムをベースとするアプリケーションプログラムが、図３から図６のフローチャートに示す各処理をＣＰＵ１に実行させる構成としてもよい。かかる場合、アプリケーションプログラムが、本発明のプログラムの一例となる。
【００７６】
上記各実施形態では、音源制御情報生成装置１０が、パッド４および音源５を有する電子打楽器１００に内蔵される構成としたが、音源制御情報生成装置１０を、パッド４または音源５の少なくとも一方と別体の装置としてもよい。また、上記各実施形態では、音源制御情報生成装置１０を、ＣＰＵ１と、ＲＯＭ２と、ＲＡＭ３とから構成されるものとし、図３などのフローチャートに示す各処理をＣＰＵ１が実行する構成としたが、音源制御情報生成装置１０が音源５を含んで構成されるものとし、ＣＰＵ１が実行するものとして説明した各処理を、音源５内のＤＳＰに実行させる構成としてもよい。
【００７７】
上記各実施形態では、打面４１に対する打撃とケース４０に対する打撃との両方を検出するセンサの一例として、ピエゾセンサ４４を例示したが、ピエゾセンサ４４に代えて、加速度センサなど、電子打楽器１００の筐体の振動を検出可能な他のセンサを採用してもよい。
【００７８】
上記各実施形態では、ケース４０に対する打撃は検出しないが、打面４１に対する打撃を検出するセンサとして、感圧センサ４３を例示したが、感圧センサ４３に代えて、タッチパネルまたはタッチセンサを、打撃センサとして採用する構成としてもよい。
【００７９】
上記第１，２実施形態では、ピエゾセンサ４４の出力値を評価するための閾値として、Ｓ４０１において、打面４１に対する打撃の評価に用いる閾値Ｐのみを設ける構成とした。これに対し、閾値Ｐに加え、ケース４０に対する打撃を評価するための閾値Ｐ’（ただし、Ｐ’＞Ｐ）を設ける構成としてもよい。閾値Ｐ’を採用する本変形例では、図４および図５の音源制御処理において、ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ未満であると、ＣＰＵ１が判断した場合（Ｓ４０１：Ｙｅｓ，Ｓ４０２：Ｎｏ）、ＣＰＵ１は、ピエゾセンサ４４の出力値と閾値Ｐ’との比較を行う。そして、ピエゾセンサ４４の出力値が、閾値Ｐ’以上でないと、ＣＰＵ１が判断した場合には、ケース４０に対する打撃が、スラップ奏法として発音させるために十分な強さでないとみなし、フラグＱをセットすることなく、音源制御処理を終了する。一方、ピエゾセンサ４４の出力値が、閾値Ｐ’以上であると、ＣＰＵ１が判断した場合、ＣＰＵ１は、Ｓ４１６の処理、すなわち、フラグＱのセットを行う。なお、本変形例では、Ｓ４１０の判断に用いる閾値を、閾値Ｐ’としてもよい。
【００８０】
上記第１実施形態では、リングバッファＡに格納されているピエゾセンサ４４の出力値のうち、最大値ＰｉｚＸが、所定値以上の値であるか否かで、ケース４０に対する打撃が検出されたか否かを判断する構成とした。ケース４０に対する打撃が検出されたか否かの判断は、上記方法に限られない。例えば、リングバッファＡに格納された値のうち、連続する所定数の値の平均値が、所定値以上の値であるか否かで、ケース４０に対する打撃が検出されたか否かを判断する構成としてもよい。かかる方法によれば、ケース４０に対する打撃が検出されたか否かを判断する場合に、ピエゾセンサ４４の出力の過渡的な変動を排除した判断が可能となる。
【００８１】
上記各実施形態では、図４のＳ４１１において、スラップ奏法用の音色制御パラメータを割り当てることによって、音源５からスラップ奏法用の音色の楽音を発音させる構成とした。これに代えて、エフェクトパラメータの切り替えによって、音源５からスラップ奏法用の楽音を発音させる構成としてもよい。具体的に、スラップ奏法用のエフェクトパラメータをＲＯＭ２に準備し、Ｓ４１３において、ＣＰＵ１は、通常のエフェクトパラメータから、スラップ奏法用のエフェクトパラメータに切り替え、音源５に出力する。
【００８２】
あるいは、スラップ奏法用に、ケース４０に対する手の平による打撃のレベルに応じたエフェクトパラメータをＲＯＭ２に準備しておき、Ｓ４１３において、ＣＰＵ１は、ＰｉｚＸの大きさに対応したエフェクトパラメータに切り替える構成としてもよい。かかる構成によれば、スラップ奏法時には、演奏者の手の平による打撃の大きさに応じたスラップ奏法独自の発音を模擬させることが可能になる。
【００８３】
上記第１実施形態では、ピエゾセンサ４４の出力値を、リングバッファＡに格納する構成とした。つまり、所定の時間区間分の出力値を保持する構成としたが、ピエゾセンサ４４の出力値を、当該出力値を取得した時刻と対応付けて、ＲＡＭ３に随時記憶する構成としてもよい。かかる変形例では、打面４１に対する打撃が検出され、かつ、フラグＱがセットされている場合に、当該検出時刻以前の所定の時間区間内に含まれる時刻の出力値がＲＡＭ３に記憶されている場合に、スラップ奏法が行われたとして、音源５を制御するようにすればよい。
【００８４】
かかる場合、ピエゾセンサ４４の出力値とともに、感圧センサ４３の出力値をＲＡＭ３に記憶させる構成としてもよい。かかる構成によれば、ピエゾセンサ４４の出力値が所定値Ｐ以上であり、かつ、感圧センサ４３の出力値が所定値Ｓ以上である場合、すなわち、打面４１に対する、発音のトリガとなる打撃があった場合に、ＲＡＭ３に記憶されている、ピエゾセンサ４４および感圧センサ４３の過去の出力値に基づいて、当該発音のトリガとなる打撃以前の所定の時間区間内にケース４０が打撃されたかを判断できる。つまり、発音のトリガとなった打撃がスラップ奏法によるものであるかを判断できる。
【００８５】
上記第２実施形態では、所定値以上のピエゾセンサ４４の出力があった場合に、フラグＱをセットする構成としたが、ピエゾセンサ４４の出力値をＲＡＭ３に記憶する構成としてもよい。また、所定値以上のピエゾセンサ４４の出力がある毎に、そのときの時刻をＲＡＭ３に記憶する構成としてもよい。打面４１に対する打撃が検出された場合に、ＲＡＭ３に記憶されている時刻のうち、打撃が検出されたタイミング以前の所定の時間区間内の時刻がある場合に、スラップ奏法が行われたとして、音源５を制御するようにすればよい。なお、時刻を記憶する場合には、記憶されてから所定の時間区間が経過しても消去しない構成としてもよい。
【００８６】
上記各実施形態では、ピエゾセンサ４４の出力値や、フラグＱの記憶先は、ＲＡＭ３に限らず、電子打楽器１００に設けられたメディアスロット（図示せず）に装着される各種の記録メディアや、外付けのハードディスクドライブなどの記憶装置であってもよい。
【００８７】
上記各実施形態では、打面４１に対する打撃が検出されたタイミング以前の所定の時間区間内に、ケース４０に対する打撃が検出された場合に、打面４１に対する打撃が検出されたタイミングと、ケース４０に対する打撃が検出されたタイミングとの時間差にかかわらず、音源５に対し同一の制御を行う構成とした。これに代えて、前記時間差に応じて、音源５に対する制御を異ならせる構成としてもよい。
【００８８】
上記第１および第２実施形態により説明した各特徴や、上述した各変形例を適宜組み合わせて実施する構成としてもよい。
【符号の説明】
【００８９】
５      音源
１０    音源制御情報生成装置
４３    感圧センサ
４４    ピエゾセンサ
１００  電子打楽器
【図１】
2015068912.tif 000003
【図２】
2015068912.tif 000004
【図３】
2015068912.tif 000005
【図４】
2015068912.tif 000006
【図５】
2015068912.tif 000007
【図６】
2015068912.tif 000008