JP2021105681A - 楽音生成装置および楽音生成方法 - Google Patents

楽音生成装置および楽音生成方法 Download PDF

Info

Publication number
JP2021105681A
JP2021105681A JP2019237439A JP2019237439A JP2021105681A JP 2021105681 A JP2021105681 A JP 2021105681A JP 2019237439 A JP2019237439 A JP 2019237439A JP 2019237439 A JP2019237439 A JP 2019237439A JP 2021105681 A JP2021105681 A JP 2021105681A
Authority
JP
Japan
Prior art keywords
value
pressure
striking surface
sensor
reference value
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
JP2019237439A
Other languages
English (en)
Inventor
俊治 木村
Toshiharu Kimura
俊治 木村
吉野 澄
Kiyoshi Yoshino
澄 吉野
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
Priority to JP2019237439A priority Critical patent/JP2021105681A/ja
Priority to CN202011138412.3A priority patent/CN113053341A/zh
Priority to EP20204032.5A priority patent/EP3843087A1/en
Priority to US17/083,265 priority patent/US20210201875A1/en
Publication of JP2021105681A publication Critical patent/JP2021105681A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/14Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument using mechanically actuated vibrators with pick-up means
    • G10H3/146Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument using mechanically actuated vibrators with pick-up means using a membrane, e.g. a drum; Pick-up means for vibrating surfaces, e.g. housing of an instrument
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/14Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument using mechanically actuated vibrators with pick-up means
    • G10H3/143Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument using mechanically actuated vibrators with pick-up means characterised by the use of a piezoelectric or magneto-strictive transducer
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/32Constructional details
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/461Transducers, i.e. details, positioning or use of assemblies to detect and convert mechanical vibrations or mechanical strains into an electrical signal, e.g. audio, trigger or control signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/461Transducers, i.e. details, positioning or use of assemblies to detect and convert mechanical vibrations or mechanical strains into an electrical signal, e.g. audio, trigger or control signal
    • G10H2220/561Piezoresistive transducers, i.e. exhibiting vibration, pressure, force or movement -dependent resistance, e.g. strain gauges, carbon-doped elastomers or polymers for piezoresistive drumpads, carbon microphones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments or MIDI-like control therefor
    • G10H2230/275Spint drum
    • G10H2230/281Spint drum assembly, i.e. mimicking two or more drums or drumpads assembled on a common structure, e.g. drum kit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments or MIDI-like control therefor
    • G10H2230/275Spint drum
    • G10H2230/285Spint drum tomtom, i.e. mimicking side-mounted drums without snares, e.g. in a drumkit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments or MIDI-like control therefor
    • G10H2230/275Spint drum
    • G10H2230/301Spint drum rim, i.e. mimicking using or striking the rim of a drum or percussion instrument, rimshot; Interfacing aspects of the generation of different drumsound harmonic contents when a drum sensor is struck closer to the rim
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/045Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
    • G10H2230/251Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments or MIDI-like control therefor
    • G10H2230/275Spint drum
    • G10H2230/311Spint bongo

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】打面への押圧の感度を向上できる楽音生成装置を提供すること。【解決手段】楽音生成装置は、打面と、打面の裏面側に配置されて圧力変化を検出する感圧センサと、打面と感圧センサとの間で圧縮された弾性体と、感圧センサの出力値に応じた指示を出力する制御装置と、を備え、制御装置は、感圧センサの出力値と基準値との差に基づいて打面への押圧を検出する押圧検出手段と、感圧センサの出力値に応じて基準値を更新時間毎に更新する更新手段と、を備えている。【選択図】図6

Description

本発明は楽音生成装置および楽音生成方法に関し、打面への押圧の感度を向上できる楽音生成装置および楽音生成方法に関するものである。
電子ドラムやMIDIパッドコントローラ等の楽音生成装置や、その楽音生成装置による楽音の生成方法は、打面を手などで押圧したことや、その押込量(押圧の強さ)を感圧センサで検出し、押圧の有無や押込量などに応じた指示を出力する。特許文献1に開示された電子ドラムは、打面を押したときに下がるヘッドボードと、感圧センサとを上下に離して対向させている。
特開2010−224330号公報
しかしながら、上記特許文献1に開示された技術では、打面を触れる程度に弱く押した場合にヘッドボードが感圧センサに接触しないので、打面を弱く押したことを感圧センサにより検出できず、打面への押圧の感度が低いという問題点がある。
本発明は上述した問題点を解決するためになされたものであり、打面への押圧の感度を向上できる楽音生成装置および楽音生成方法を提供することを目的とする。
この目的を達成するために本発明の楽音生成装置は、打面と、前記打面の裏面側に配置されて圧力変化を検出する感圧センサと、前記打面と前記感圧センサとの間で圧縮された弾性体と、前記感圧センサの出力値に応じた指示を出力する制御装置と、を備え、前記制御装置は、前記感圧センサの出力値と基準値との差に基づいて前記打面への押圧を検出する押圧検出手段と、前記感圧センサの出力値に応じて前記基準値を更新時間毎に更新する更新手段と、を備えている。
本発明の楽音生成方法は、打面と、前記打面の裏面側に配置されて圧力変化を検出する感圧センサと、前記打面と前記感圧センサとの間で圧縮された弾性体と、を備える楽音生成装置において、前記感圧センサの出力値に応じた指示を出力する方法であって、前記感圧センサの出力値と基準値との差に基づいて前記打面への押圧を検出する押圧検出工程と、前記感圧センサの出力値に応じて前記基準値を更新時間毎に更新する更新工程と、を備えている。
第1実施形態における電子打楽器の平面図である。 図1のII−II線における電子打楽器の断面図である。 電子打楽器の電気的構成を示すブロック図である。 (a)はクロストーク量算出用エンベロープ及びクロストークキャンセル用エンベロープの形状を示す模式図であり、(b)はクロストーク量算出用エンベロープを用いたクロストーク量の算出方法を説明する図であり、(c)はクロストークキャンセル用エンベロープを用いて行うクロストークキャンセルの判定方法を説明する図である。 (a)は感圧センサの出力波形の出力値−時間グラフであり、(b)はヘッド振動センサの電圧波形の電圧−時間グラフであり、(c)はリム振動センサの電圧波形の電圧−時間グラフである。 (a)は初期化処理のフローチャートであり、(b)は定期処理のフローチャートである。 押込検出処理のフローチャートである。 打撃検出処理のフローチャートである。 (a)は第2実施形態におけるMIDIコントローラの平面図であり、(b)は図9(a)のIXb−IXb線におけるMIDIコントローラの断面図である。 MIDIコントローラの電気的構成を示すブロック図である。 定期処理のフローチャートである。
以下、好ましい実施の形態について、添付図面を参照して説明する。まず、図1及び図2を参照して電子打楽器(楽音生成装置)1の全体構成について説明する。図1は、第1実施形態における電子打楽器1の平面図である。図2は図1のII−II線における電子打楽器1の断面図である。なお、理解を容易にするために、図1の紙面手前側および図2の上側を電子打楽器1の上方とし、図1の紙面奥側および図2の下側を電子打楽器1の下方とする。また、図1の紙面左側、紙面右側、紙面下側、紙面上側をそれぞれ電子打楽器1の左方、右方、正面側(演奏者側)、背面側とする。
図1及び図2に示すように、電子打楽器1は、演奏者が手で叩いて演奏するボンゴを模擬した電子楽器である。電子打楽器1は、1つの筐体10と、筐体10にそれぞれ取り付けられる2枚のヘッド20,21と、ヘッド20,21の外縁にそれぞれ設けられるリム22と、ヘッド20,21への押圧を検出する感圧センサ24と、ヘッド20,21の振動を検出するヘッド振動センサ28と、筐体10の振動を検出するリム振動センサ32と、楽音の発音指示を出力する制御装置40と、を主に備えている。
電子打楽器1は略左右対称に形成されている。ヘッド20は電子打楽器1の左側に設けられ、ヘッド21は電子打楽器1の右側に設けられている。それぞれのヘッド20,21に対して感圧センサ24、ヘッド振動センサ28及びリム振動センサ32が1つずつ配置されている。以下、特に指示がない限り、電子打楽器1の左側について説明し、右側の説明を省略する。
筐体10は、円筒状のシェル11と、左右両側のシェル11同士を連結する連結部13と、感圧センサ24やヘッド振動センサ28等が取り付けられるフレーム14と、を備えている。シェル11は、下端が閉塞されて上端が開口した円筒状の部材であり、合成樹脂や金属などにより形成される。連結部13は、内部がシェル11の内部に繋がるように形成されている。左右両側のシェル11と連結部13との上側半分を一体成形したトップケースと、それらの下側半分を一体成形したボトムケースとを互いに組み付けることで、左右両側のシェル11及び連結部13が形成される。
連結部13の内部には、制御装置40が設けられている。この制御装置40に電気的に繋がる複数の操作子15やLCD(液晶ディスプレイ)16が連結部13に設けられている。操作子15やLCD16は、連結部13の演奏者側に配置されている。操作子15は、後述するピーク比特徴量X1の算出に用いるユーザーパラメータ等を設定するためのものである。LCD16は、そのユーザーパラメータ等が表示される表示装置である。
フレーム14は、シェル11のトップケースに外周が一体成形された略円板状の部材である。フレーム14は、シェル11の内部を上下に区画し、ヘッド20と上下に対向する。フレーム14の径方向の中央部の下面には、上方へ向かって楽音を発音するスピーカ17が取り付けられている。スピーカ17の上方のフレーム14には、板厚方向に貫通する複数の貫通孔14aが設けられる。これにより、スピーカ17から上方へ向かって発音された楽音が貫通孔14aを通ってヘッド20へ向かう。
ヘッド20は、シェル11の上端を覆う膜状の部材であり、メッシュ状素材により形成されている。これにより、スピーカ17から発音されて貫通孔14aを通った楽音がヘッド20から電子打楽器1の外部へ放音される。ヘッド20の表面(上面)である打面20aは、演奏者の手などにより打撃される。ヘッド20の裏面20bは、フレーム14に面する。なお、左側のシェル11の上端を覆うヘッド21の表面は打面21aである。
リム22は、ヘッド20の外縁が全周に亘って固定される円環状の部材である。リム22をシェル11の上端部の外側に固定することで、張力が与えられたヘッド20が筐体10に取り付けられる。リム22の上面および外周面には、ゴム製のカバー22aが設けられている。これにより、リム22を手で打撃したときの手への負担を抑制できる。
感圧センサ24は、圧力変化を検出する円板状の感圧抵抗素子である。感圧センサ24に圧力が加わっていない状態で、感圧センサ24の出力値が最大になるように回路が構成される。感圧センサ24に加わる圧力が大きくなる程、感圧センサ24の出力値が小さくなる。感圧センサ24は、ヘッド20(打面20a)の中央部の裏面20b側に位置するように、フレーム14の上面に取り付けられる。なお、打面20aの中央部とは、打面20aの径方向中心を0%、リム22の内周縁を100%としたときの10%以内の部位であることが好ましい。さらに、打面20aの径方向中心に感圧センサ24が位置することが好ましい。
感圧センサ24と制御装置40とを繋ぐ配線(図示せず)が通る部分を除いて、感圧センサ24の周囲にはスペーサ25が設けられている。スペーサ25は、感圧センサ24よりも若干厚い板状の部材であり、フレーム14の上面に取り付けられている。
スペーサ25の上面には弾性体26が取り付けられている。弾性体26は、スポンジにより形成される四角錘台状の緩衝材であり、感圧センサ24の上方を覆っている。図2には、荷重が加わっていない状態の弾性体26が二点鎖線で示されている。弾性体26は、荷重が加わっていない状態の上下寸法(シェル11の軸方向寸法)が、筐体10に取り付けられたヘッド20と感圧センサ24との間の上下寸法よりも長く設定されている。これにより、ヘッド20(打面20a)と感圧センサ24との間で弾性体26が上下方向に圧縮される。
打面20aが打撃や押圧されると、弾性体26を介して感圧センサ24が押され、その打撃や押圧を感圧センサ24が検出する。感圧センサ24の周囲にスペーサ25があるので、打面20aを強く押す程、感圧センサ24の中央からスペーサ25へ向かって、感圧センサ24と弾性体26との接触面積を増加させることができる。これにより、打面20aの押込量や打撃の強さに応じて感圧センサ24の出力値を変動させ易くできる。さらに、打面20aへ向かって先細りの四角錘台状に弾性体26が形成されているので、打面20aからの圧力を感圧センサ24へ安定して加えることができる。
また、打面20aが押圧や打撃されていなくても、打面20aと感圧センサ24との間で弾性体26が圧縮されているので、打面20aと感圧センサ24との間に遊びがなくなる。そのため、打面20aを強く押さなくても感圧センサ24の出力値を変化させることができる。これにより、打面20aへの打撃や押圧に対する感圧センサ24の感度を向上できる。
ヘッド振動センサ28は、振動を検出する円板状のピエゾ素子により形成されている。ヘッド振動センサ28は、ヘッド20の裏面20b側に配置され、両面テープ29を介してフレーム14の上面に取り付けられる。ヘッド振動センサ28は、ヘッド20(打面20a)の周辺部のうち演奏者から離れた背面側に位置する。なお、周辺部とは、ヘッド20の径方向中心を0%、リム22の内周縁を100%としたときの70%以上の部位であることが好ましい。
両面テープ29は、クッション性を有する円板状の部材である。両面テープ29の直径は、ヘッド振動センサ28の直径よりも短い。これにより、ヘッド振動センサ28の外周側を変形し易くでき、ヘッド振動センサ28の検出感度を確保できる。
ヘッド振動センサ28の上面(ヘッド20側)には、クッション30が接着されている。クッション30は、スポンジにより形成される円柱状の緩衝材であり、ヘッド振動センサ28の上方を覆う。
クッション30は、荷重が加わっていない状態の上下寸法が、筐体10に取り付けられたヘッド20とヘッド振動センサ28との間の上下寸法よりも長く設定されている。これにより、ヘッド20(打面20a)とヘッド振動センサ28との間で弾性体26が上下方向に圧縮される。そのため、打撃により振動するヘッド20とクッション30との接触状態を維持でき、ヘッド20(打面20a)の周辺部の振動をヘッド振動センサ28により確実に検出できる。なお、本実施形態における電子打楽器1では、ヘッド振動センサ(打撃検出手段)28により打面20aへの打撃を検出し、そのヘッド振動センサ28の出力値に応じて打面20aが打撃されたと判断する。
ヘッド振動センサ28の直上の打面20aを打撃すると、打面20aのその他の位置を打撃した場合と比べてヘッド振動センサ28の出力値が急激に大きくなり易い。ヘッド振動センサ28が配置される演奏者から遠いヘッド20の背面側は、演奏者によって直接打撃され難い位置なので、ヘッド振動センサ28の出力値が急激に大きくなることを抑制できる。特に、本実施形態の電子打楽器1は、1つの筐体10に2つの打面20a,21aが設けられ、筐体10の正面側に操作子15やLCD16が位置するので、操作子15やLCD16を演奏者側に位置させてヘッド振動センサ28を確実に背面側に位置させることができる。その結果、ヘッド振動センサ28の出力値を急激に大きくなり難くできる。
リム振動センサ32は、振動を検出する円板状のピエゾ素子により形成されている。リム振動センサ32は、打面20aの平面視(図1)においてヘッド振動センサ28と重なる位置に配置される。リム振動センサ32は、両面テープ33を介してフレーム14の下面に取り付けられる。
両面テープ33は、クッション性を有する円環板状の部材である。これにより、リム振動センサ32の中心側を変形し易くでき、リム振動センサ32の検出感度を確保できる。両面テープ33の外径は、リム振動センサ32の直径よりも短い。これにより、リム振動センサ32の外周側を変形し易くでき、リム振動センサ32の検出感度を確保できる。
制御装置40は、筐体10の内部に配置される。制御装置40は、それぞれの打面20a,21aに対して設けた感圧センサ24、ヘッド振動センサ28及びリム振動センサ32の出力値に応じた発音指示を音源45(図3参照)へ出力する。制御装置40は、図示しない配線によって感圧センサ24、ヘッド振動センサ28及びリム振動センサ32等に接続されている。
次に図3を参照して電子打楽器1の電気的構成について説明する。図3は電子打楽器1の電気的構成を示すブロック図である。電子打楽器1の制御装置40は、CPU41と、ROM42と、RAM43とを有し、それぞれバスライン44を介して接続される。また、バスライン44には、打面20a側の感圧センサ24、ヘッド振動センサ28及びリム振動センサ32と、打面21a側の感圧センサ24、ヘッド振動センサ28及びリム振動センサ32と、操作子15と、LCD16と、音源45とがそれぞれ接続される。音源45にはDAC46が接続され、DAC46にはアンプ47が接続され、アンプ47にはスピーカ17が接続される。
電子打楽器1は、打面20a,21aを手で打撃した場合に、その打撃に基づく感圧センサ24、ヘッド振動センサ28及びリム振動センサ32の検出結果(出力値)に応じた発音指示をCPU41から音源45へ出力する。音源45は、CPU41からの発音指示にしたがって楽音(打撃音)の音色や各種効果などを制御する装置である。音源45には、図示しないが、波形データのフィルタやエフェクトなどの演算処理を行うDSP(Digital Signal Processor)が内蔵される。電子打楽器1は、音源45によって処理されたデジタル楽音信号をDAC46でアナログ信号に変換し、その信号をアンプ47にて増幅し、楽音信号に基づく楽音をスピーカ17から放音する。
電子打楽器1は、1つの筐体10に2つの打面20a,21aが設けられているので、打面20aの打撃に伴う楽音と、打面21aの打撃に伴う楽音とが異なるように発音指示や楽音信号を生成することができる。これにより、電子打楽器1は、打面20a,21a毎に音色が異なるアコースティックのボンゴの奏法を模擬できる。
CPU41は、バスライン44により接続された各部を制御する演算装置である。ROM42は、書き換え不可能なメモリである。ROM42には、制御プログラム42aと、重み係数データ42bとが記憶(保存)される。CPU41によって、制御プログラム42aが実行されると、電子打楽器1の電源投入直後に初期化処理(図6(a))が実行され、その後に定期処理が実行される。
また、制御プログラム42a内には、図示しないがクロストークキャンセルプログラム(クロストークキャンセル手段)が含まれている。クロストークとは、例えば打面20aを打撃した場合に、その打撃による振動が打面21a側に伝わることである。クロストークキャンセルとは、そのクロストークによる打面21aの振動をヘッド振動センサ28が検出しても、打面21aの振動に基づく楽音を発音しないようにする処理である。クロストークキャンセルを実行できるプログラムであれば、既知のクロストークキャンセルプログラムを本実施形態に最適化して用いることができる。
図4を参照してクロストークキャンセルプログラムについて説明する。以下の説明では、打面20aを打撃し、打面21aがクロストークを受ける場合について説明するが、打面21aを打撃し、打面20aがクロストークを受ける場合にも同様のことが言える。また、打面20aのヘッド振動センサ28の出力値(ヘッドセンサ値リングバッファ43aの最新値)が、後述する打撃閾値N1(図5(b)参照)を超えた場合に、打面20aからのトリガ信号が出力されたと言い、そのときの打面20aのヘッド振動センサ28のピーク値をトリガ信号のレベルと言う。打面21aのヘッド振動センサ28の出力値に対しても同様である。
図4に示すように、クロストークキャンセルにはクロストーク量算出用エンベロープ71及びクロストークキャンセル用エンベロープ72を用いる。図4(a)は、クロストーク量算出用エンベロープ71及びクロストークキャンセル用エンベロープ72の形状を示す模式図である。なお、図4(a)において、横軸は時刻を示し、縦軸はレベルを示す。
クロストーク量算出用エンベロープ71は、打面21aが、打面20aから受けたクロストークの度合いを示す値(即ち、クロストーク量)を算出するために用いるエンベロープである。一方、クロストークキャンセル用エンベロープ72は、打面20a,21aから入力されたトリガ信号に対し、クロストークキャンセルを実行するか否かを判定するために用いるエンベロープである。
クロストーク量算出用エンベロープ71及びクロストークキャンセル用エンベロープ72は、いずれも、生成対象となるトリガ信号を出力した打面20a,21aの振動状況を模した仮想的なエンベロープであり、図4(a)に示すように、生成対象となるトリガ信号のレベルに基づいて生成される。具体的に、エンベロープ71,72は、生成対象となるトリガ信号が時刻t1において発生した場合に、時刻t1におけるトリガ信号のレベルLが、一定時間(本実施形態では、200m秒)後の時刻t2においてゼロになるような一次関数により表される。つまり、クロストーク量算出用エンベロープ71及びクロストークキャンセル用エンベロープ72は、いずれも、生成対象となるトリガ信号のレベルが大きい程、減少の傾きが大きい。
生成対象となるトリガ信号は、クロストーク量算出用エンベロープ71について、打撃されたと判定された打面20aからのトリガ信号である。つまり、クロストーク量算出用エンベロープ71は、打撃されたと判定された打面20aに対して1つだけ生成される。
一方、クロストークキャンセル用エンベロープ72について、生成対象となるトリガ信号は、打撃されたと判定された打面20aからのトリガ信号、又は、打面20aから受けたクロストークにより発音されたと判定された打面21aからのトリガ信号である。つまり、クロストークキャンセル用エンベロープ72は、打撃されたと判定された打面20aと、クロストークを受けたが発音された打面21aとに対し、1または複数生成される。なお、打撃されたと判定された打面20aに対して生成されたクロストークキャンセル用エンベロープ72は、クロストーク量算出用エンベロープ71と同じ形状のエンベロープとなる。
図4(b)は、クロストーク量算出用エンベロープ71を用いたクロストーク量の算出方法を説明する図である。クロストーク量は、打面21aからトリガ信号が入力された場合に、打面20aに対するクロストーク量算出用エンベロープ71が既に生成されていれば、そのクロストーク量算出用エンベロープ71における現在値と、入力されたトリガ信号との比率として算出される。
具体的に、打面21aから時刻x1に入力されたトリガ信号のレベルをy1bとし、打面20aに対して生成されたクロストーク量算出用エンベロープ71における時刻x1に対する現在値をy1aとした場合に、打面21aが受けたクロストーク量(%)は、(y1b/y1a)×100として算出される。
図4(c)は、クロストークキャンセル用エンベロープ72を用いて行うクロストークキャンセルの判定方法を説明する図である。打面20a又は打面21aからのトリガ信号に対し、クロストークキャンセルを行うか否かの判定は、生成されているクロストークキャンセル用エンベロープ72のうち、判定対象となるトリガ信号が入力された時刻における現在値が最大となるエンベロープ72を用いて行う。より詳細には、クロストークキャンセルを行うか否かの判定は、判定に用いるクロストークキャンセル用エンベロープ72における現在値(即ち、判定対象となるトリガ信号が入力された時刻)に、判定対象となるトリガ信号の出力元の打面20a又は打面21aに対して規定されるキャンセルレートを乗算して得られるクロストークキャンセル用レベルと、判定対象となるトリガ信号のレベルとの比較によって行う。前者が後者より大きい場合、判定対象となるトリガ信号に対しクロストークキャンセルを実行すると判定される。一方、前者が後者より小さい場合、判定対象となるトリガ信号に対しクロストークキャンセルを実行しないと判定される。
「キャンセルレート」は、各打面20a,21aに対して設定されているクロストークキャンセル設定値を、100で除した値である。つまり、クロストークキャンセル設定値をAとした場合、キャンセルレートは、A/100で表される。クロストークキャンセルを行うか否かの判定を行う場合には、値A(クロストークキャンセル設定値)として、判定対象となるトリガ信号の出力元の打面20a,21aに対して設定されているクロストークキャンセル設定値を使用する。
なお、クロストークキャンセル設定値が大きい程、クロストークキャンセルが実行され難くなる。製品の出荷時にクロストークキャンセル設定値の初期値は、図示しないフラッシュメモリやROM42の図示しないエリアに記憶されている。フラッシュメモリ内のクロストークキャンセル設定値は、ユーザの必要に応じて打面20a,21a毎に変更できるように構成されている。
クロストークキャンセルの判定方法は具体的に、1または複数生成されているクロストークキャンセル用エンベロープ72のうち、打面20a又は打面21aからトリガ信号が入力された時刻x2における現在値の最大値がy2である場合に、入力されたトリガ信号のレベルと、クロストークキャンセル用レベルであるy2×(A/100)とを比較する。(A/100)は、当該トリガ信号の出力元の打面20a又は打面21aに対して規定されるキャンセルレートである。この場合、例えば、打面20a又は打面21aから入力されたトリガ信号(判定対象のトリガ信号)のレベルが、y2×(A/100)より小さいL2であれば、当該トリガ信号に対しクロストークキャンセルを実行すると判定される。一方、判定対象のトリガ信号のレベルが、y2×(A/100)より大きいL1であれば、当該トリガ信号に対しクロストークキャンセルを実行しない、即ち、発音対象のトリガ信号であると判定される。
このように、制御装置40のクロストークキャンセルプログラムは、2つの打面20a,21aのうち、例えば一方の打面21aの振動を検出するヘッド振動センサ28の出力値と、他方の打面20aの振動を検出するヘッド振動センサ28の出力値とを比較することによって、打面21aに発生した振動が、他方の打面20aの振動に基づいて発生したクロストークによるものであると判断した場合に、クロストークによる振動に基づく発音指示を出力しない。これにより、打面20aが打撃されたことによって、打撃されていない打面21aの振動を打面21aのヘッド振動センサ28が検出しても、その検出に伴う楽音の発音を防止できる。
また例えば、打面20aのヘッド振動センサ28の出力値に応じて打面20aへの打撃位置を算出する場合に、打面20a側のヘッド振動センサ28の出力値と、打面21a側のヘッド振動センサ28の出力値とを比較することによって、打面21aの振動に基づいて発生したクロストークによる打面20aの振動成分をクロストーク量に応じて除去しても良い。これにより、打面20aへの打撃位置の算出精度を向上できる。
さらに、同様に、打面20a側のリム振動センサ32の出力値と、打面21a側のリム振動センサ32の出力値とを比較することによって、打面20a側のリム振動センサ32の出力値のうち、打面21aの振動に基づいて発生したクロストークによる成分を算出しても良い。打面20aのリム振動センサ32の出力値に応じて打面20aへの打撃位置を算出する場合、打面21aの振動に基づいて発生したクロストークによる打面20a側のリム振動センサ32の出力値の成分をクロストーク量に応じて除去することで、打面20aへの打撃位置の算出精度を向上できる。
図3に戻って説明する。制御装置40は、打面20a,21a毎に各種のデータやメモリ、フラグを持ち、打面20a,21a毎に制御プログラム42aの定期処理を行うが、打面20a,21a毎のデータや処理などは同様である。そこで以下、打面20aに関するデータや処理などを説明し、打面21aに関するデータや処理などの説明は省略する。
ROM42に記憶された重み係数データ42bには、図8の打撃検出処理において打撃位置を検出するために、重み係数W1,W2,W3,bが保存されている。重み係数W1,W2,W3,bは、打面20aへの打撃位置に応じて変化する各特徴量X1,X2,X3の重要度を示す係数である。打撃検出処理では、互いに対応する各特徴量X1,X2,X3と重み係数W1,W2,W3との積と、定数項である重み係数bとを足し合わせて仮エッジ度Aを算出する。即ち、仮エッジ度Aは「A=W1×X1+W2×X2+W3×X3+b」の式で表される。
仮エッジ度Aを標準シグモイド関数に代入することで、0から1の間で表されるエッジ度Eが算出される。即ち、ネイピア数を底としてxを変数とした指数関数をexp(x)と表記する場合、エッジ度Eは「E=1/(1+exp(−A))」の式で表される。エッジ度Eは、打面20aの径方向中心が打撃されたときに0を取り、打面20aの最も径方向外側が打撃されたときに1を取るように設定された値である。
エッジ度Eの算出に用いられる重み係数W1,W2,W3,bは、電子打楽器1の製品設計毎に、機械学習の教師あり学習によって算出され、製品出荷時に固定値として重み係数データ42bに記憶される。具体的な機械学習の方法としては、まず、打面20aの径方向中心の近傍(径方向中心から30%以下の範囲)を打撃したときの各特徴量X1,X2,X3のデータを複数取得し、これらのデータを入力した場合に出力されるべきエッジ度Eを0とする。また、打面20aの最も径方向外側の近傍(径方向中心から80%以上の範囲)を打撃したときの各特徴量X1,X2,X3のデータを複数取得し、これらのデータを入力した場合に出力されるべきエッジ度Eを1とする。これらの入出力データを利用して機械学習を実行することによって、重み係数W1,W2,W3,bが算出される。
図5を参照して各特徴量X1,X2,X3について説明する。図5(a)は感圧センサ24の出力波形の出力値−時間グラフである。縦軸が感圧センサ24の出力値を示し、横軸が時間を示す。なお、感圧センサ24に加わる圧力が大きい程、感圧センサ24の出力値が小さくなる。本実施形態では感圧センサ24の出力値の最大値が1024である。
打面20aを打撃や押圧していない状態では、圧縮された弾性体26から感圧センサ24に圧力が加わるので、最大値1024よりも低い位置の基準値B1近傍に感圧センサ24の出力値がある。打面20aが打撃や押圧されると、感圧センサ24の出力値が下がってピーク値Pmを取る。打面20aが打撃や押圧される前の基準値B1からピーク値Pmを減じた数値が、感圧ピーク特徴量X2である。
感圧ピーク特徴量X2は、打面20aへの打撃位置が打面20aの中央部に近い程大きくなり、打撃位置が打面20aの周辺部に近い程小さくなる。これは、打撃位置が打面20aの中央部に近い程、打面20aが下方へ撓み易くなって打面20aから感圧センサ24へ加わる圧力が強くなるためである。
図5(b)はヘッド振動センサ28の電圧波形の電圧−時間グラフである。図5(c)はリム振動センサ32の電圧波形の電圧−時間グラフである。いずれも縦軸が電圧を示し、横軸が時間を示す。ヘッド振動センサ28の電圧波形は、打面20aが下方(ヘッド振動センサ28側)へ振れたときに負の電圧値(出力値)を取る。打面20aの揺れが大きい程、ヘッド振動センサ28の電圧波形の振幅が大きくなる。また、筐体10の揺れが大きい程、リム振動センサ32の電圧波形の振幅が大きくなる。
ヘッド振動センサ28の電圧値の絶対値が、所定の打撃閾値N1を超えた場合、打面20aが打撃されたとCPU41は判断する。この打撃されたと判断されたときから5m秒以内におけるヘッド振動センサ28の電圧値の絶対値の最大値をピーク値Pzhmとする。また、ヘッド振動センサ28の電圧波形に基づいて打撃されたと判断されたときから5m秒以内におけるリム振動センサ32の電圧値(出力値)の絶対値の最大値をピーク値Pzrmとする。
打撃位置が打面20aの中央部に近い程、打面20aが下方へ撓み易くなってヘッド振動センサ28のピーク値Pzhmが大きくなる。また、打面20aへの打撃による振動が打面20aの周辺部から筐体10に伝達されるので、打撃位置が打面20aの中央部に近い程、打撃位置から、筐体10の振動を検出するリム振動センサ32までの振動の伝達距離が長くなり、リム振動センサ32のピーク値Pzrmが小さくなる。
ヘッド振動センサ28のピーク値Pzhmをリム振動センサ32のピーク値Pzrmで除し、後述する調整値メモリ43kに記憶されたユーザーパラメータを更に乗じた値が、ピーク比特徴量X1である。ピーク比特徴量X1は、上述したヘッド振動センサ28のピーク値Pzhmやリム振動センサ32のピーク値Pzrmの特性に基づいて、打撃位置が打面20aの中央部に近い程大きくなり、打撃位置が打面20aの周辺部に近い程小さくなる。
打面20aへの打撃に基づくヘッド振動センサ28の電圧波形のうち、打面20aが最初にヘッド振動センサ28側へ振れている(負の値を取っている)初期半波のピッチがピッチ特徴量X3である。即ち、初期半波とは、ヘッド振動センサ28の電圧波形のうち、最初に打撃閾値N1と交わった位置の前後で電圧値が0となる2点間の部分である。ピッチ特徴量X3は、打撃位置が打面20aの中央部に近い程大きくなり、打撃位置が打面20aの周辺部に近い程小さくなる。これは、打面20aの中央部を打撃したときの打面20aの振動パターンと、打面20aの周辺部を打撃したときの打面20aの振動パターンとが異なるためである。
図3に戻る。RAM43は、CPU41が制御プログラム42a等のプログラム実行時に各種のワークデータやフラグ等を書き換え可能に記憶するメモリである。RAM43には、ヘッドセンサ値リングバッファ43aと、リムセンサ値リングバッファ43bと、感圧センサ値リングバッファ43cと、基準値算出リングバッファ43dと、平均値メモリ43eと、基準値メモリ43fと、打撃処理フラグ43gと、押込フラグ43hと、押込値メモリ43iと、特徴量メモリ43jと、調整値メモリ43kと、エッジ度メモリ43lとがそれぞれ設けられる。
ヘッドセンサ値リングバッファ43aは、A/D変換されたヘッド振動センサ28の出力値の過去5m秒分を記憶するバッファである。リムセンサ値リングバッファ43bは、A/D変換されたリム振動センサ32の出力値の過去5m秒分を記憶するバッファである。感圧センサ値リングバッファ43cは、A/D変換された感圧センサ24の出力値の過去5m秒分を記憶するバッファである。
ヘッドセンサ値リングバッファ43a及びリムセンサ値リングバッファ43bは、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」で埋められて初期化される。感圧センサ値リングバッファ43cは、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に無効な値で埋められて初期化される。無効な値とは、感圧センサ24の構造上取り得ない値である。本実施形態では感圧センサ24の最大値1024よりも大きい1025を無効な値として、初期化時に感圧センサ値リングバッファ43cに保存する。
図6(b)の定期処理において、感圧センサ24、ヘッド振動センサ28及びリム振動センサ32(以下「各センサ24,28,32」と表す)における、定期処理が実行された時点でのセンサ値(出力値)が、該当するヘッドセンサ値リングバッファ43a、リムセンサ値リングバッファ43b及び感圧センサ値リングバッファ43c(以下「各リングバッファ43a,43b,43c」と表す)に追加される(図6(b),S10)。
各リングバッファ43a,43b,43cには、50個分の各センサ24,28,32の出力値を記憶するメモリと、50個分の出力値のうち最新の出力値がどれかを記憶するメモリとが設けられている。これは、後述の図7の定期処理は100マイクロ秒=0.1m秒毎に実行され、且つ、過去5m秒分の出力値を記憶するからである。
各リングバッファ43a,43b,43cは、まず、No.1〜50の順で、取得したそれぞれの出力値が記憶される。そして、No.50にそれぞれの出力値が記憶されたら、再度No.1から順に出力値が記憶される。これにより、各リングバッファ43a,43b,43cには、最大過去5m秒分の出力値が記憶された状態となる。この各リングバッファ43a,43b,43cの値を用いて、ヘッド振動センサ28のピーク値Pzhmやリム振動センサ32のピーク値Pzrm、感圧センサ24のピーク値Pm、ヘッド振動センサ28の初期半波のピッチであるピッチ特徴量X3の取得を行う。
基準値算出リングバッファ43dは、感圧センサ24の基準値を算出するため、基本的に1秒毎に取得した感圧センサ24の出力値を8個分記憶するバッファである。なお、基準値算出リングバッファ43dに記憶される感圧センサ24の出力値は、感圧センサ値リングバッファ43cに記憶される感圧センサ24の出力値と異なる。基準値算出リングバッファ43dに記憶される感圧センサ24の出力値は、定期処理において0.1m秒毎に感圧センサ値リングバッファ43cに記憶される感圧センサ24の出力値のうち過去0.8m秒分を平均した値である。以下、基準値算出リングバッファ43dに記憶される感圧センサ24の出力値を感圧センサ24の平均出力値と称す。感圧センサ24の平均出力値は、感圧センサ24の電気的ノイズを除去した出力値と言える。
基準値算出リングバッファ43dは、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」で埋められて初期化される。そして、図6(b)の定期処理において、打面20aが押圧されておらずに押込フラグ43hがオフであると共に、前回の更新から1秒以上、又は、打面20aが打撃されてから10秒以上経過している場合に、その定期処理時に更新された感圧センサ24の平均出力値(平均値メモリ43eの値)が基準値算出リングバッファ43dに追加される(図6(b),S24)。
基準値算出リングバッファ43dには、8個分の感圧センサ24の平均出力値を記憶するメモリが設けられている。基準値算出リングバッファ43dは、まず、No.1〜8の順で、取得した平均出力値が記憶される。そして、No.8に平均出力値が記憶されたら、再度No.1から順に平均出力値が記憶される。
平均値メモリ43eは、感圧センサ24の平均出力値を記憶するメモリである。平均値メモリ43eの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」に初期化される。そして、図6(b)の定期処理において、0.1m秒毎に感圧センサ値リングバッファ43cに新たな感圧センサ24の出力値が記憶された後、過去0.8m秒分の感圧センサ24の出力値を平均して感圧センサ24の平均出力値を算出し、その感圧センサ24の平均出力値を平均値メモリ43eに記憶する(図6(b),S12)。
基準値メモリ43fは、感圧センサ24の基準値を記憶するメモリである。基準値メモリ43fの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に無効な値で初期化される。無効な値とは、感圧センサ24の構造上取り得ない値である。そして、図6(b)の定期処理において、基準値算出リングバッファ43dに新たな感圧センサ24の平均出力値が記憶された後、基準値算出リングバッファ43dの8個の値を平均して感圧センサ24の基準値を算出し、その基準値を基準値メモリ43fに保存する(図6(b),S25)。
図5(a)に示すように、感圧センサ24の出力値は、打面20aを打撃や押圧した前後で変動することがある。これは、感圧センサ24と打面20aとの間に挟み込まれた弾性体26の変形の仕方や打面20aの戻り方などが変わるためである。また、ヘッド20に加わる張力や、外気温などに応じても感圧センサ24の出力値が変動する。
そのため、図6(b)の定期処理において感圧センサ24の基準値を所定の更新時間毎に更新する必要がある。例えば具体的に図5(a)を用いて説明すると、打面20aを打撃する前には感圧センサ24の出力値が基準値B1に沿っており、打面20aを打撃した後には基準値B1よりも低い値で感圧センサ24の出力値が安定する。そのため、新たに安定した感圧センサ24の出力値が沿う位置に基準値B2を設ける。
なお、感圧センサ24の出力値が安定するとは、感圧センサ24の出力値が略一定になり、具体的に感圧センサ24の出力値の変化率が5%以内になることとする。ここで、感圧センサ24の出力値が最も低くなるまで(変化しなくなるまで)打面20aを強く押圧した状態から瞬間的に押圧を解除し、押圧を解除してから感圧センサ24の出力値が安定するまでの安定時間は、本実施形態の電子打楽器1では約10秒である。
図3に戻る。打撃処理フラグ43gは、打面20aへの打撃に基づいた打撃検出処理中であることを示すフラグである。打撃処理フラグ43gは、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に、打撃検出処理中でないことを示すオフに設定される。図6(b)の定期処理において、ヘッドセンサ値リングバッファ43aの最新値(現在のヘッド振動センサ28の出力値)の絶対値が打撃閾値N1を超えた場合に、打撃処理フラグ43gがオンに設定される(図6(b),S26)。また、打撃検出が終わる定期処理において打撃処理フラグ43gがオフにされる(図8,S53)。
押込フラグ43hは、打面20aが押圧されていることを示すフラグである。押込フラグ43hは、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に、打面20aが押圧されていないことを示すオフに設定される。図6(b)の定期処理中に実行される図7の押込検出処理において、押込フラグ43hがオフである間に、基準値と感圧センサ24の平均出力値との差が押圧閾値N2よりも大きいことが10m秒続いた場合、押込フラグ43hがオンに設定される(図7,S40)。また、押込フラグ43hがオンである間に、基準値と感圧センサ24の平均出力値との差が押圧閾値N2以下であることが1m秒続いた場合、押込フラグ43hがオフに設定される(図7,S47)。
押込値メモリ43iは、打面20aの押圧による感圧センサ24の出力値の変動量である押込値を記憶するメモリである。押込値メモリ43iの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」に初期化される。図7の押込検出処理において、基準値と感圧センサ24の平均出力値との差が押圧閾値N2よりも大きく、基準値から押圧閾値N2と感圧センサ24の平均出力値とを減じた値が可動閾値N3よりも大きい場合、押込値の最大値である127を押込値メモリ43iに記憶する(図7,S35)。また、基準値と感圧センサ24の平均出力値との差が押圧閾値N2よりも大きく、基準値から押圧閾値N2と感圧センサ24の平均出力値とを減じた値が可動閾値N3以下である場合、基準値から押圧閾値N2と感圧センサ24の平均出力値とを減じた値に、127を乗じて可動閾値N3で除して押込値を算出し、その押込値を押込値メモリ43iに記憶する(図7,S36)。
可動閾値N3は、押込値の可動量として確保したい範囲である。基準値から押圧閾値N2と感圧センサ24の平均出力値とを減じた値が可動閾値N3以下である場合に押込値メモリ43iに記憶された押込値は、127を乗じて算出されることで、基準値から押圧閾値N2を減じた値と、可動閾値N3に基づいて押込値の最大値を取る感圧センサ24の平均出力値との間を127段階に分割することができる。これにより、押込値を127段階のレベルで音源45などに出力できる。
特徴量メモリ43jは、上述した各特徴量X1,X2,X3をそれぞれ記憶するメモリである。特徴量メモリ43jの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」に初期化される。打面20aが打撃された直後から開始される図8の打撃検出処理において、各特徴量X1,X2,X3を算出して特徴量メモリ43jに記憶する(図8,S55,S56,S57)。
調整値メモリ43kは、ピーク比特徴量X1の算出に用いられるユーザーパラメータを記憶するメモリである。調整値メモリ43kの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「1」に初期化される。調整値メモリ43kのユーザーパラメータは、操作子15を操作することによって変更される。なお、電子打楽器1の電源投入時や図6(a)の初期化処理が実行された直後に初期化されないフラッシュメモリを制御装置40に設け、そのフラッシュメモリ内に調整値メモリ43kを設けても良い。
調整値メモリ43kのユーザーパラメータが1より大きくなると、ピーク比特徴量X1の値が大きくなってエッジ度Eが0に近づき易くなり、打面20aの中央部を打撃したときの楽音を出し易くできる。調整値メモリ43kの値が1より小さくなると、ピーク比特徴量X1の値が小さくなってエッジ度Eが1に近づき易くなり、打面20aの周辺部を打撃したときの楽音を出し易くできる。
エッジ度メモリ43lは、打撃位置を示すエッジ度Eを記憶するメモリである。エッジ度メモリ43lの値は、電子打楽器1の電源投入時および図6(a)の初期化処理が実行された直後に「0」に初期化される。打面20aが打撃された直後から開始される図8の打撃検出処理において、特徴量メモリ43jに記憶された各特徴量X1,X2,X3と、重み係数データ42bに記憶された重み係数W1,W2,W3,bとを用いてエッジ度Eを算出し、エッジ度Eをエッジ度メモリ43lに記憶する(図8,S58,S59)。
図6(a)を参照して、電子打楽器1のCPU41で実行される初期化処理について説明する。図6(a)は、初期化処理のフローチャートである。初期化処理は、電子打楽器1の電源投入直後に実行され、RAM43上の各メモリ値(変数)及びフラグの初期化を行う(S1)。特に初期化処理では、感圧センサ値リングバッファ43cを無効な値で埋め、基準値メモリ43fに無効な値を保存する。また、初期化処理では、後述する基準値更新タイマT1、押込値更新タイマT2、押込切換タイマT3、打撃タイマT4が「0秒」に初期化される。
次に図6(b)から図8を参照して、電子打楽器1のCPU41で実行される定期処理について説明する。定期処理では、定期処理が実行された時点での、各センサ24,28,32の出力値の取得や、基準値の更新、押込検出処理(図7)、打撃検出処理(図8)を実行し、楽音の発音指示を行う。定期処理は、0.1m秒毎のインターバル割り込み処理によって、0.1m秒毎に繰り返し実行される。
図6(b)は、定期処理のフローチャートである。定期処理ではまず、各センサ24,28,32のセンサ値(出力値)を取得し、各リングバッファ43a,43b,43cにそれぞれ追加する(S10)。定期処理は0.1m秒毎に実行されるので、各リングバッファ43a,43b,43cの値は0.1m秒毎に更新される。
S10の処理の後、感圧センサ値リングバッファ43cに有効な値が8以上(過去0.8m秒分)保存されているかを確認する(S11)。なお、有効な値とは、感圧センサ24が取り得る0〜1024までの値である。感圧センサ値リングバッファ43cに有効な値が8以上保存されていない場合(S11:No)、定期処理を終了し、感圧センサ値リングバッファ43cに有効な値が8以上保存されるまで、即ち、初期化処理から0.8m秒以上経過するまで待つ。
感圧センサ値リングバッファ43cに有効な値が8以上保存されている場合(S11:Yes)、感圧センサ値リングバッファ43cの値を参照して、現在の定期処理から遡って0.8m秒分の感圧センサ24の値を平均し、感圧センサ24の平均出力値を算出して平均値メモリ43eに保存する(S12)。これにより、電気的なノイズが除去された感圧センサ24の出力値(平均出力値)が得られる。
S12の処理後、基準値メモリ43fの値が有効な値かを確認する(S13)。有効な値とは、感圧センサ24が取り得る0〜1024までの値である。初期化処理において基準値メモリ43fに無効な値が保存されたので、初期化処理後の初めてのS13の処理では、基準値メモリ43fの値が有効な値ではない(S13:No)。この場合は、基準値算出リングバッファ43dを平均値メモリ43eの平均出力値で埋める(S14)。その後、基準値算出リングバッファ43dの値を平均した基準値が基準値メモリ43fに保存されるように、平均値メモリ43eの平均出力値を基準値メモリ43fに保存する(S15)。次いで、基準値メモリ43fの値を次に更新するまでの時間を示す基準値更新タイマT1に1秒をセットする(S16)。
S13の処理において、基準値メモリ43fの値が有効な値である場合には(S13:Yes)、押込検出処理を実行する(S17)。押込検出処理では、打面20aが押圧されている場合に押込フラグ43hをオンにし、打面20aが押圧されていない場合に押込フラグ43hをオフにするが、詳細については図7を参照して後述する。
S17の処理後、打面20aへの打撃に基づく図8の打撃検出処理が開始されていることを示す打撃処理フラグ43gがオフであるかを確認する(S18)。打撃処理フラグ43gがオフである場合(S18:Yes)、ヘッドセンサ値リングバッファ43aの最新値の絶対値、即ち現在の定期処理が開始されたときのヘッド振動センサ28の出力値の絶対値が、打撃閾値N1以下かを確認する(S19)。ヘッドセンサ値リングバッファ43aの最新値の絶対値が打撃閾値N1以下の場合には(S19:Yes)、打面20aが打撃されていないので、打面20aが押圧されていることを示す押込フラグ43hがオフであるかを確認する(S20)。
押込フラグ43hがオフである場合には(S20:Yes)、基準値更新タイマT1から0.1m秒を減算する(S21)。S21の処理後、基準値更新タイマT1が0秒以下になったかを確認する(S22)。基準値更新タイマT1が0秒より大きい場合には(S22:No)、基準値メモリ43fの値を更新してから、その値を次に更新するタイミングが到来していないので、定期処理を終了する。
基準値更新タイマT1が0秒以下になった場合には(S22:Yes)、基準値更新タイマT1に1秒をセットし(S23)、平均値メモリ43eに保存されている感圧センサ24の平均出力値を基準値算出リングバッファ43dに追加する(S24)。次いで、基準値算出リングバッファ43dに記憶されている計8個の感圧センサ24の平均出力値を平均して基準値を算出し、その基準値を基準値メモリ43fに保存し(S25)、定期処理を終了する。
このように、基準値算出リングバッファ43dには基本的に1秒毎に感圧センサ24の平均出力値が追加され、その追加後に基準値算出リングバッファ43dの値を平均して基準値を算出するので、基準値メモリ43fに記憶される基準値は基本的に1秒の更新時間毎に更新される。また、基本的に1秒毎に更新される8個の感圧センサ24の平均出力値を平均するので、8秒のサンプリング時間中に取得した感圧センサ24の出力値を平均して基準値が算出される。
S20の処理において押込フラグ43hがオンである場合には(S20:No)、打面20aが押圧されているので、基準値更新タイマT1に1秒をセットし(S29)、打面20aへの押圧を解除してから1秒経過するまで、基準値メモリ43fの基準値の更新を禁止する。打面20aが押圧されている間、基準値の更新を禁止することで、基準値からの感圧センサ24の平均出力値の変化量に基づく押込値が、基準値の更新によって変動することを防止できる。その結果、適切な押込値を取得できる。さらに、打面20aの押圧解除後に基準値の更新を禁止することで、押圧解除に伴う打面20aの振動に応じて変動し易い感圧センサ24の平均出力値を用いることなく、基準値メモリ43fの基準値を更新できるので、基準値を適切に設定できる。
S19の処理において、ヘッドセンサ値リングバッファ43aの最新値の絶対値が打撃閾値N1よりも大きい場合には(S19:Yes)、打面20aが打撃されたので、打撃処理フラグ43gをオンにする(S26)。次いで、基準値更新タイマT1に10秒をセットし(S27)、打撃検出処理を実行して(S28)、定期処理を終了する。打撃検出処理については、図8を参照して後述する。また、S18の処理において、打撃処理フラグ43gがオンである場合には(S18:No)、打撃検出処理を実行して(S28)、定期処理を終了する。
このように、打面20aが打撃されたときから、打面20aの振動が十分に減衰されるまでの安定時間である10秒が経過するまでは、基準値算出リングバッファ43dに新たな感圧センサ24の平均出力値を追加せず、基準値メモリ43fの基準値の更新を禁止する。その結果、打撃後に大きく振動する打面20aに応じて変動し易い感圧センサ24の平均出力値を用いることなく、基準値メモリ43fの基準値を更新できるので、基準値を適切に設定できる。
次に図7を参照して、図6(b)の定期処理中に実行される押込検出処理(S17)について説明する。押込検出処理は、打面20aが押圧されているかを判断し、打面20aが押圧されている場合には押込値を算出する。より具体的に押込検出処理(押込検出手段)では、感圧センサ24の平均出力値と基準値との差に基づいて打面20aへの押圧(押圧の有無や押込値)を検出する。
まず、押込検出処理は、基準値メモリ43fの基準値から平均値メモリ43eの平均出力値を減じた差が押圧閾値N2よりも大きいかを確認する(S30)。基準値メモリ43fの基準値から平均値メモリ43eの平均出力値を減じた差が押圧閾値N2よりも大きい場合には(S30:Yes)、打面20aが押圧されている可能性があるので、S31からS36の処理を実行し、押込値を算出する。
S31の処理では、初期化処理などにより0秒に初期化される押込値更新タイマT2に0.1m秒を加算する。押込値更新タイマT2は、打面20aが押圧されている可能性があると判断されている間に(S30:Yes)、押込値を次に更新するまでの時間を示す。S31の処理後、押込値更新タイマT2が1m秒であるかを確認する(S32)。押込値更新タイマT2が1m秒未満である場合には(S32:No)、押込値を次に更新するタイミングが到来していないので、S33からS36の処理をスキップする。
押込値更新タイマT2が1m秒である場合には(S32:Yes)、平均値メモリ43eの平均出力値の低下が打面20aへの押圧による可能性が高く、押込値を更新するタイミングが来たので、まず、次の押込値の更新のために押込値更新タイマT2を0秒に初期化する(S33)。S33の処理後、基準値メモリ43fの基準値から押圧閾値N2と平均値メモリ43eの平均出力値とを減じた値が可動閾値N3よりも大きいことを確認する(S34)。
基準値メモリ43fの基準値から押圧閾値N2と平均値メモリ43eの平均出力値とを減じた値が可動閾値N3よりも大きい場合(S34:Yes)、打面20aが十分に強く押圧されているので、押込値の最大値である127を押込値メモリ43iに保存する(S35)。
一方、基準値メモリ43fの基準値から押圧閾値N2と平均値メモリ43eの平均出力値とを減じた値が可動閾値N3以下である場合(S34:No)、押込値を127段階のレベルで表すために、「(基準値メモリ43fの基準値−押圧閾値N2−平均値メモリ43eの平均出力値)×127/可動閾値N3」の式で表される押込値を押込値メモリ43iに保存する(S36)。これにより、127段階のレベルに応じた楽音の制御が可能になる。
S30の処理において、平均値メモリ43eの平均出力値の低下に基づいて打面20aが押圧されている可能性がある場合(S30:Yes)、S31からS36の処理を実行した後、打面20aが押圧されていることを示す押込フラグ43hがオフであるかを確認する(S37)。押込フラグ43hがオンである場合には(S37:No)、押込フラグ43hを切り換える必要がないので、押込切換タイマT3を0秒に初期化して(S42)、押込検出処理を終了する。
押込フラグ43hがオフである場合には(S37:Yes)、平均値メモリ43eの平均出力値の低下が押圧によるものか打撃によるものかを判断するため、まず、初期化処理などにより0秒に初期化される押込切換タイマT3に0.1m秒を加算する(S38)。押込切換タイマT3は、平均値メモリ43eの平均出力値の変化に伴って押込フラグ43hを切り換えるまでの時間を示す。
S38の処理後、押込切換タイマT3が10m秒であるかを確認する(S39)。押込切換タイマT3が10m秒未満である場合には(S39:No)、平均値メモリ43eの平均出力値の低下が打撃によるものである可能性があるので、押込検出処理を終了する。
押込切換タイマT3が10m秒である場合(S39:Yes)、10m秒に亘って平均値メモリ43eの平均出力値が低下し続けていたので、その平均出力値の低下が押圧によるものだと判断し、押込フラグ43hをオンにし(S40)、押込切換タイマT3を0秒に初期化して(S41)、押込検出処理を終了する。
S30の処理において、基準値メモリ43fの基準値から平均値メモリ43eの平均出力値を減じた差が押圧閾値N2以下になった場合には(S30:No)、打面20aが押圧されていない可能性があるので、押込値更新タイマT2を0秒に初期化する(S43)。前回までの定期処理により打面20aが押圧されている可能性があるとして(S30:Yes)、押込値更新タイマT2による計時を開始していた場合、押込値更新タイマT2による計時を開始するに至った定期処理における平均値メモリ43eの平均出力値の低下が、打面20aへの押圧ではなく打撃による可能性が高かったので、押込値更新タイマT2を初期化して押込値を算出しない。
S43の処理後、押込フラグ43hがオンであるかを確認する(S44)。打面20aが押圧されていない可能性があり(S30:No)、押込フラグ43hがオフである場合には(S44:No)、押込フラグ43hを切り換える必要がないので、押込切換タイマT3を0秒に初期化して(S42)、押込検出処理を終了する。
なお、前回までの定期処理により打面20aが押圧されている可能性があるとして(S30:Yes)、押込フラグ43hを切り換えるために押込切換タイマT3による計時を開始していた場合、押込切換タイマT3による計時を開始するに至った定期処理における平均値メモリ43eの平均出力値の低下が、打面20aへの押圧ではなく打撃による可能性が高かったので、押込切換タイマT3を初期化して次の押込フラグ43hの切り換えに備えておく。
S44の処理において、押込フラグ43hがオンである場合には(S44:Yes)、平均値メモリ43eの平均出力値の上昇が押圧解除によるものかを判断するため、まず、押込切換タイマT3に0.1m秒を加算する(S45)。
S45の処理後、押込切換タイマT3が1m秒であるかを確認する(S46)。押込切換タイマT3が1m秒未満である場合には(S46:No)、平均値メモリ43eの平均出力値の上昇が打面20aへの打撃やノイズによるものである可能性があるので、押込検出処理を終了する。
なお、S45,S46の処理により押込切換タイマT3による計時を開始した後の定期処理において、押込切換タイマT3が1m秒になる前に、基準値メモリ43fの基準値から平均値メモリ43eの平均出力値を減じた差が押圧閾値N2よりも大きくなった場合には(S30:Yes)、S42の処理において押込切換タイマT3を0秒に初期化して、押込検出処理を終了する。
S46の処理において、押込切換タイマT3が1m秒である場合には(S46:Yes)、1m秒に亘って平均値メモリ43eの平均出力値が上昇し続けていたので、その平均出力値の上昇が押圧解除によるものだと判断し、押込フラグ43hをオフにし(S47)、押込切換タイマT3を0秒に初期化して(S48)、押込検出処理を終了する。
以上のように押込検出処理では、押込フラグ43hをオフからオンに切り換えるときには10m秒待ち、押込フラグ43hをオンからオフに切り換えるときには1m秒待つ。打面20aを押圧している状態で打面20aを打撃しても、打面20aが振動し難いため、感圧センサ24の平均出力値は上昇し難く、打面20aの振動が早期に減衰する。逆に、打面20aを押圧していない状態で打面20aを打撃すると、打面20aは振動し易く、その振動が十分に減衰するまでの時間は長い。よって、押込フラグ43hをオンからオフに切り換えるときの待ち時間を短くすることで応答性を向上しつつ、押込フラグ43hをオフからオンに切り換えるときの待ち時間を長くすることで、打面20aが押圧されたことを確実に判断できる。
次に図8を参照して、図6(b)の定期処理中に実行される打撃検出処理(S28)について説明する。打撃検出処理は、打面20aへの打撃に基づいて実行される処理であり、打面20aへの打撃位置を算出し、楽音の発音指示を出力する。
まず、打撃検出処理は、初期化処理などにより0秒に初期化される打撃タイマT4に0.1m秒を加算する(S50)。打撃タイマT4は、ヘッドセンサ値リングバッファ43aの最新値の絶対値が打撃閾値N1を超えてから(図6(b),S20:Yes)の経過時間を示す。
S50の処理後、打撃タイマT4が5m秒であるかを確認する(S51)。打撃タイマT4が5m秒未満である場合には(S51:No)、各センサ24,28,32のピーク値を取得するために必要な時間が経過していないので、S52からS60の処理をスキップして、打撃検出処理を終了する。
S51の処理において、打撃タイマT4が5m秒である場合(S51:Yes)、各センサ24,28,32のピーク値を取得するために必要な時間が経過したので、まず、次に打面20aが打撃されて打撃検出処理が実行されるときに備えて、打撃タイマT4を0秒に初期化し(S52)、打撃処理フラグ43gをオフにする(S53)。
S53の処理後、各リングバッファ43a,43b,43cの値から5m秒以内における、ヘッド振動センサ28のピーク値Pzhmと、リム振動センサ32のピーク値Pzrmと、感圧センサ24のピーク値Pmと、を取得する(S54、ピーク値取得手段)。次いで、「ピーク比特徴量X1=ピーク値Pzhm×調整値メモリ43kのユーザーパラメータ/ピーク値Pzrm」の式に基づいてピーク比特徴量X1を算出し、特徴量メモリ43jに保存する(S55)。
S55の処理後、「感圧ピーク特徴量X2=基準値メモリ43fの基準値−ピーク値Pm」の式に基づいて感圧ピーク特徴量X2を算出し、特徴量メモリ43jに保存する(S56)。その後、ヘッドセンサ値リングバッファ43aの値から、ヘッド振動センサ28の初期半波のピッチをピッチ特徴量X3として算出し、特徴量メモリ43jに保存する(S57、ピッチ取得手段)。
S57の処理後、特徴量メモリ43jに保存された各特徴量X1,X2,X3と、重み係数データ42bに保存された重み係数W1,W2,W3,bとを用い、「A=W1×X1+W2×X2+W3×X3+b」の式から仮エッジ度Aを算出する(S58)。次いで、仮エッジ度Aを標準シグモイド関数に代入し、「E=1/(1+exp(−A))」で表されるエッジ度Eを算出し、エッジ度メモリ43lに保存する(S59)。このS54〜S59までの処理が、各センサ24,28,32の出力値に応じて打撃位置を算出する位置算出手段(位置算出工程)である。
S59の処理後、エッジ度メモリ43lのエッジ度E、押込フラグ43hの状態、押込値メモリ43iの押込値、各リングバッファ43a,43b,43cの値に応じた楽音の発音指示を音源45へ出力し(S60)、打撃検出処理を終了する。
音源45は、各リングバッファ43a,43b,43cの値に応じて打面20aへの打撃の強さや打面20aの振動状態を算出し、その打撃の強さや振動状態に応じた楽音信号を出力する。また、音源45は、押込フラグ43hがオフの場合、打面20aが押圧されていない通常の楽音信号を出力する。一方、音源45は、押込フラグ43hがオンの場合には押込値に応じて、打面20aの振動が早期に減衰するような楽音信号を出力する。
音源45は、エッジ度Eが0の場合には打面20aの中央部が打撃されたときの楽音信号を出力し、エッジ度Eが1の場合には打面20aの周辺部が打撃されたときの楽音信号を出力する。エッジ度Eが0から1の間である場合には、0からエッジ度までの大きさとエッジ度Eから1までの大きさとの比と、中央部が打撃されたときの楽音と周辺部が打撃されたときの楽音との音量比と、が同一になるような楽音信号を音源45は出力する。
以上のような電子打楽器(楽音生成装置)1は、打面20aと感圧センサ24との間で弾性体26が圧縮されているので、打面20aと感圧センサ24との間に遊びがなくなり、打面20aを強く押圧しなくても感圧センサ24の出力値を変化させることができる。遊びがなくなったことにより、打面20aを押圧や打撃していなくても感圧センサ24の出力値は変動するので、打面20aが押圧されたかを判断するためや打面20aの押込量(押込値)を算出するための基準値が一定であると、押圧の判断や押込値の算出を正しく行うことが困難になる。
しかし本実施形態では、基本的に、基準値更新タイマT1にセットされる1秒の更新時間毎に、感圧センサ24の出力値に応じて感圧センサ24の基準値を更新する。これにより、押圧の判断や押込値の算出を正しく行うことができる。その結果、打面20aへの押圧の感度を向上できる。
基準値更新タイマT1にセットされる1秒の更新時間は、本実施形態の電子打楽器1の安定時間である約10秒の0.1倍である。なお、安定時間とは上述した通り、感圧センサ24の出力値が最も低くなるまで(変化しなくなるまで)打面20aを強く押圧した状態から瞬間的に押圧を解除し、押圧を解除してから感圧センサ24の出力値が安定するまでの時間である。打面20aの打撃直後や押圧解除直後に感圧センサ24の出力値が大きく変動し易く、その変動が大きな時間帯は安定時間が長いほど長くなる。そこで、更新時間を安定時間の0.1倍以上とすることで、打面20aの打撃直後や押圧解除直後に大きく変動した感圧センサ24の出力値を取得しに難くでき、基準値を適切に設定できる。その結果、打面20aへの押圧の感度をより向上できる。
また、更新時間を安定時間の0.5倍以下にすることが好ましく、更新時間を安定時間の0.3倍以下にすることがより好ましい。更新時間が短い程、感圧センサ24が安定している値に基準値を早期に近づけることができるので、打面20aへの押圧の感度を向上できる。
基準値は、定期処理の所定のタイミングで基準値算出リングバッファ43dに保存された感圧センサ24の平均出力値を平均して算出されている。即ち、所定のサンプリング時間中に取得した感圧センサ24の平均出力値を平均して基準値が算出されている。これにより、打面20aの打撃後や押圧の解除後の打面20aの振動や各種ノイズによって、感圧センサ24の出力値が一時的に大きく変動しても、その出力値を平均して基準値を算出することで、基準値を適切に設定できる。
基準値算出リングバッファ(記憶手段)43dには、更新時間毎に感圧センサ24の平均出力値が記憶(保存)される。これにより、更新時間になったら新たな感圧センサ24の平均出力値を記憶し、その新たに記憶した平均出力値と、過去に記憶した感圧センサ24の平均出力値とを平均することで、基準値を算出できる。そのため、サンプリング時間中に亘って感圧センサ24の平均出力値を記憶し続けなくても良いので、感圧センサ24の平均出力値の記憶容量を少なくできる。
基準値算出リングバッファ43dには8個の感圧センサ24の平均出力値が記憶され、新たな平均出力値が1秒の更新時間毎に基準値算出リングバッファ43dに記憶されるので、基本的なサンプリング時間は8秒になる。8秒のサンプリング時間は、10秒の安定時間の0.8倍である。
サンプリング時間が、打面20aが最も大きく揺れる状態から安定するまでの安定時間の0.8倍以上であれば、安定時間に対してサンプリング時間を十分に長く取れる。これにより、サンプリング時間中に打面20aが一時的に大きく振動しても、その振動が十分に減衰されたときの感圧センサ24の出力値を取得できる。そのため、基準値をより適切に設定できる。
また、サンプリング時間を安定時間の2倍以下にすることが好ましく、サンプリング時間を安定時間の1.5倍以下にすることがより好ましい。サンプリング時間が短い程、打撃前の感圧センサ24が安定している値を用い難く、打撃後の感圧センサ24が安定している値を用い易いので、基準値をより適切に設定できる。
電子打楽器1は、打面20aが打撃されたときから、10秒の安定時間が経過するまでは、基準値の更新を禁止する。その結果、打撃後に大きく振動する打面20aによって変動し易い感圧センサ24の平均出力値を用いることなく基準値を更新できるので、基準値を適切に設定できる。
打面20aが打撃されたときからの基準値の更新の禁止は、次に基準値を更新するまでの時間を示す基準値更新タイマT1の更新時間を、打撃後に一時的に10秒にセットすることで実行される。これにより、基準値の更新を禁止するための処理を簡略化できる。
また、打面20aが打撃されたときから、安定時間以上が経過するまで、基準値の更新を禁止しても良い。安定時間の2倍以下が経過するまで基準値の更新を禁止することが好ましく、安定時間の1.3倍以下が経過するまで基準値の更新を禁止することがより好ましい。基準値の更新を禁止する時間を短くすることで、打面20aが連続して打撃されたときに、基準値の更新ができない時間帯を短くでき、基準値を適切に設定できる。
電子打楽器1は、打面20aが押圧されている間と、打面20aへの押圧が解除されてから1秒経過するまで、基準値の更新を禁止する。これにより、上述した通り、適切な押込値を取得できると共に、基準値を適切に設定できる。この基準値の更新の禁止は、次に基準値を更新するまでの時間を示す基準値更新タイマT1の更新時間を、打面20aが押圧されている間の定期処理で毎回1秒にセットすることで実行される。これにより、基準値の更新を禁止するための処理を簡略化できる。
さらに、打面20aが押圧されている間や打撃処理中、毎回の定期処理で基準値更新タイマT1から0.1m秒を減算しないことで、打面20aが押圧されている間や打撃後に基準値の更新を禁止している。その結果、基準値の更新を禁止するための処理をより簡略化できる。
また、打面20aへの押圧解除後、安定時間の0.1倍(本実施形態では1秒)以上が経過するまで、基準値の更新を禁止しても良い。押圧解除後の打面20aの振動は、打面20aが打撃されたときの振動よりも小さくて早期に減衰し易いので、打面20aへの押圧解除後に基準値の更新を禁止する時間が安定時間の0.1倍以上であれば、基準値を適切に設定できる。
さらに、打面20aへの押圧解除後に基準値の更新を禁止する時間は、安定時間の0.5倍以下が好ましく、安定時間の0.3倍以下がより好ましい。基準値の更新を禁止する時間を短くすることで、打面20aへの押圧解除後に基準値を更新する応答性を向上できる。
電子打楽器1は、感圧センサ24の出力値と、ヘッド振動センサ28の出力値と、リム振動センサ32の出力値とに応じて打面20aへの打撃位置を算出する。感圧センサ24は、打面20aの中央部への押圧を検出するので、打撃位置が中央部に近い程、感圧センサ24の出力値が大きくなり易い。ヘッド振動センサ28は、打面20aの中央部ではなく周辺部の振動を検出するので、打撃位置に応じた感圧センサ24の出力値とヘッド振動センサ28の出力値とを異ならせ易くできる。さらに、平面視においてヘッド振動センサ28とリム振動センサ32とが重なるので、それらの出力値の比を打撃位置毎に一定に近づけ易い。電子打楽器1は、これらの出力値を利用することで、打撃位置が広がったり複数になったりしても打撃位置の検出精度を向上できる。特に、電子打楽器1は、打撃位置が広がったり複数になったりし易い、手で打面20aを打撃するコンガやボンゴ等の奏法を模擬できる。
さらに電子打楽器1は、打撃位置としてのエッジ度Eを、ヘッド振動センサ28のピーク値Pzhmとリム振動センサ32のピーク値Pzrmとの比であるピーク比特徴量X1と、感圧センサ24の基準値からの変位量のピークである感圧ピーク特徴量X2と、ヘッド振動センサ28の初期半波のピッチであるピッチ特徴量X3と、に応じて算出する。これら各特徴量X1,X2,X3は、上述した通り打撃位置に応じて変化し易い。各特徴量X1,X2,X3を利用してエッジ度Eを算出することで、打撃位置の検出精度を向上できる。
特に、エッジ度Eの算出には、電子打楽器1の製品設計毎に算出され、電子打楽器1の形状などに基づいて決定される重み係数W1,W2,W3,bが利用される。具体的に、各特徴量X1,X2,X3の重要度をそれぞれ示す重み係数W1,W2,W3と、対応する各特徴量X1,X2,X3との積を足し合わせ、さらに定数項としての重み係数bを足し合わせた仮エッジ度Aに基づいてエッジ度Eを算出する。これにより、電子打楽器1の製品設計毎、即ち電子打楽器1の形状毎に打撃位置の検出精度をより向上できる。さらに、重み係数W1,W2,W3,bは、設計段階での電子打楽器1を実際に打撃して算出するので、打撃位置が広がったり複数になったりしても打撃位置の検出精度をより一層向上できる。
仮エッジ度Aを標準シグモイド関数に代入して算出したエッジ度Eは、0以上1以下の数値を取る。そのため、エッジ度Eが0から1の間の数値である場合、その間の比に応じて、打面20aの中央部が打撃されたときの楽音信号と周辺部が打撃されたときの楽音信号とを混ぜた楽音信号を出力するとき、その楽音信号の音量比を設定し易い。
次に図9から図11を参照して第2実施形態について説明する。第1実施形態では、ボンゴを模擬した電子打楽器1について説明した。これに対し、第2実施形態では、電子楽器などへの入力を行うMIDIコントローラ(楽音生成装置)80について説明する。なお、第1実施形態で説明したものと同一の部分については、同一の符号を付して以下の説明を省略する。
まず図9(a)及び図9(b)を参照して、MIDIコントローラ80の全体構成について説明する。図9(a)は第2実施形態におけるMIDIコントローラ80の平面図である。図9(b)は図9(a)のIXb−IXb線におけるMIDIコントローラ80の断面図である。なお、理解を容易にするために、図9(a)の紙面左側、紙面右側、紙面下側、紙面上側をそれぞれMIDIコントローラ80の左方、右方、正面側(演奏者側)、背面側とし、図9(b)の紙面上側、紙面下側をそれぞれMIDIコントローラ80の上方、下方とする。
図9(a)に示すように、MIDIコントローラ80は、打面83を打撃(押圧)したことを感圧センサ(打撃検出手段)24により検出して、その打撃に基づく指示を外部へ出力する装置である。MIDIコントローラ80は、直方体状の筐体81と、筐体81の左右両側に設けられる複数の操作子82と、筐体81に設けられる16個の打面83と、その打面83が上面に形成された16個の弾性体84と、打面83への打撃を検出する感圧センサ24と、を備えている。なお、図9(a)では、複数の操作子82が設けられる領域を二点鎖線で囲み、各操作子82の図示を省略している。16個の打面83及び弾性体84は、4行×4列で並んでいる。なお、図9(a)には、左下の1個の打面83及び弾性体84のみに符号を付している。
図9(b)に示すように、筐体81の上面には、打面83に対応する位置に開口孔81aが形成されている。筐体81の内部には、打撃指示を出力する制御装置90が内蔵されている。制御装置90の上面には、開口孔81aの内周縁よりも内側に位置するように感圧センサ24が設けられている。
弾性体84は、感圧センサ24の上方を覆うゴム製の部材である。弾性体84は、開口孔81aから上方へ張り出し、上方へ張り出した弾性体84の上面により打面83が形成されている。弾性体84の側面からは、開口孔81aの縁の筐体81の内側に当たるゴム膜85が延びている。ゴム膜85が筐体81の内側に当たることで、弾性体84の上方への変位が規制される。
この上方への変位が規制された状態で、弾性体84は感圧センサ24に押し付けられる。図9(b)には、荷重が加わっていない状態の弾性体84が二点鎖線で示されている。打面83が打撃されると、弾性体84を介して感圧センサ24が押され、その打撃を感圧センサ24が検出する。感圧センサ24に当たる弾性体84の下面は、感圧センサ24に強く押し付けられる程、感圧センサ24と弾性体84との接触面積が増加するように、下方へ向かって先細り形状に形成されている。これにより、打面83の打撃の強さに応じて感圧センサ24の出力値を変動させ易くできる。
さらに、打面83と感圧センサ24との間で弾性体84が圧縮されているので、打面83と感圧センサ24との間に遊びがなくなり、打面83を強く押さなくても感圧センサ24の出力値を変化させることができる。これにより、打面83への打撃(押圧)に対する感圧センサ24の感度を向上できる。
MIDIコントローラ80において、感圧センサ24の出力値が最も低くなるまで(変化しなくなるまで)打面83を強く押圧した状態から瞬間的に押圧を解除し、押圧を解除してから感圧センサ24の出力値が安定するまでの安定時間は約1秒である。MIDIコントローラ80において押圧解除後に振動する部分は、第1実施形態のヘッド20と比べて振動し難いゴム製の弾性体84であるので、第1実施形態の電子打楽器1の安定時間と比べてMIDIコントローラ80の安定時間は短い。
次に図10を参照してMIDIコントローラ80の電気的構成について説明する。図10はMIDIコントローラ80の電気的構成を示すブロック図である。MIDIコントローラ80の制御装置90は、CPU91と、ROM92と、RAM93とを有し、それぞれバスライン94を介して接続される。また、バスライン94には、16個の打面83毎にそれぞれ設けられる16個の感圧センサ24と、操作子82と、出力部95とがそれぞれ接続される。出力部95にはPC96が接続され、PC96にはスピーカ97が接続される。
MIDIコントローラ80は、打面83を打撃した場合に、その打撃に基づく感圧センサ24の検出結果(出力値)に応じた打撃指示をCPU41から出力部95を介してPC96へ出力する。PC96では、出力部95からの打撃指示に基づいて楽曲を作成したり、打撃指示に音色や各種効果を追加したりする。その後、PC96から出力された楽音信号に基づく楽音をスピーカ97から放音する。
CPU91は、バスライン94により接続された各部を制御する演算装置である。ROM92は、書き換え不可能なメモリである。ROM92には、制御プログラム92aが記憶される。CPU91によって、制御プログラム92aが実行されると、MIDIコントローラ80の電源投入直後に初期化処理が実行され、その後に定期処理が実行される。この初期化処理は、第1実施形態における図6(a)の初期化処理と同様である。
RAM93は、CPU91が制御プログラム92a等のプログラム実行時に各種のワークデータやフラグ等を書き換え可能に記憶するメモリである。RAM93には、感圧センサ値リングバッファ43cと、基準値算出リングバッファ43dと、平均値メモリ43eと、基準値メモリ43fと、打撃処理フラグ43gと、前回平均値メモリ93aと、打撃レベルメモリ93bとがそれぞれ設けられる。
前回平均値メモリ93aは、平均値メモリ43eの値が更新される前に、そのときの平均値メモリ43eの値を記憶するメモリである。前回平均値メモリ93aの値は、MIDIコントローラ80の電源投入時および初期化処理が実行された直後に「0」に初期化される。図11の定期処理において、平均値メモリ43eの値が更新される前に、現在の平均値メモリ43eの値を前回平均値メモリ93aに保存する(図11,S72)。
打撃レベルメモリ93bは、感圧センサ24の基準値からの変位量のピークを、打撃の強さとして示した打撃レベルを記憶するメモリである。打撃レベルメモリ93bの値は、MIDIコントローラ80の電源投入時および初期化処理が実行された直後に「0」に初期化される。図11の定期処理において、打面83が打撃されて2m秒が経過した後、その2m秒以内における感圧センサ24の基準値からの変位量のピークを打撃レベルとして打撃レベルメモリ93bに記憶する(図11,S88)。
次に図11を参照して、MIDIコントローラ80のCPU91で実行される定期処理について説明する。定期処理では、定期処理が実行された時点での感圧センサ24の出力値の取得や、基準値の更新、打撃レベルの算出を実行する。定期処理は、0.1m秒毎のインターバル割り込み処理によって、0.1m秒毎に繰り返し実行される。
図11は、定期処理のフローチャートである。定期処理ではまず、感圧センサ24のセンサ値(出力値)を取得し、感圧センサ値リングバッファ43cに追加する(S70)。定期処理は0.1m秒毎に実行されるので、感圧センサ値リングバッファ43cの値は0.1m秒毎に更新される。
S70の処理の後、感圧センサ値リングバッファ43cに有効な値が8以上保存されているかを確認する(S71)。なお、有効な値とは、感圧センサ24が取り得る0〜1024までの値である。感圧センサ値リングバッファ43cに有効な値が8以上保存されていない場合(S71:No)、定期処理を終了し、感圧センサ値リングバッファ43cに有効な値が8以上保存されるまで、即ち、初期化処理から0.8m秒以上経過するまで待つ。
感圧センサ値リングバッファ43cに有効な値が8以上保存されている場合(S71:Yes)、平均値メモリ43eの値を前回平均値メモリ93aに保存する(S72)。次いで、感圧センサ値リングバッファ43cの値を参照して、現在の定期処理から遡って0.8m秒分の感圧センサ24の値を平均し、感圧センサ24の平均出力値を算出して平均値メモリ43eに記憶する(S73)。これにより、電気的なノイズが除去された感圧センサ24の出力値(平均出力値)が得られる。
S73の処理の後、基準値メモリ43fの値が有効な値かを確認する(S74)。有効な値とは、感圧センサ24が取り得る0〜1024までの値である。初期化処理において基準値メモリ43fに無効な値が保存されたので、初期化処理後の初めてのS74の処理では、基準値メモリ43fの値が有効な値ではない(S74:No)。この場合は、基準値算出リングバッファ43dを平均値メモリ43eの値で埋める(S75)。その後、基準値算出リングバッファ43dの値を平均した基準値が基準値メモリ43fに保存されるように、平均値メモリ43eの値を基準値メモリ43fに保存する(S76)。次いで、基準値メモリ43fの値を次に更新するまでの時間を示す基準値更新タイマT1に0.1秒をセットする(S77)。
S74の処理において、基準値メモリ43fの値が有効な値である場合には(S74:Yes)、基準値更新タイマT1から0.1m秒を減算する(S78)。S78の処理後、打面83への打撃に基づく処理が開始されていることを示す打撃処理フラグ43gがオフであるかを確認する(S79)。
打撃処理フラグ43gがオフである場合(S79:Yes)、打撃(押圧)に基づく処理が開始されていないので、前回平均値メモリ93aの値から現在の感圧センサ24の出力値(感圧センサ値リングバッファ43cの最新値)を減じた差が打撃閾値N4よりも大きいかを確認する(S80)。S80の処理では、打撃されていなかった前回の定期処理までの平均値メモリ43eの値(前回平均値メモリ93aの値)よりも、今回の定期処理における感圧センサ24の出力値が打撃閾値N4より大きく下がっている場合には、打面83が打撃されたと判断する。
S80の処理において、前回平均値メモリ93aの値から感圧センサ値リングバッファ43cの最新値を減じた差が打撃閾値N4よりも大きい場合(S80:Yes)、打面83が打撃されたので、打撃処理フラグ43gをオンにし(S81)、基準値更新タイマT1に1秒をセットする(S82)。
S82の処理後、初期化処理などにより0秒に初期化される打撃タイマT4に0.1m秒を加算する(S83)。打撃タイマT4は、打面83が打撃されたと判断されてからの経過時間を示す。S83の処理後、打撃タイマT4が2m秒であるかを確認する(S84)。打撃タイマT4が2m秒未満である場合には(S84:No)、感圧センサ24のピーク値Pmを取得するために必要な時間が経過していないので、定期処理を終了する。次の定期処理では、打撃処理フラグ43gがオンになっているので(S79:Yes)、S83の処理で打撃タイマT4に0.1m秒を加算し、打撃タイマT4が2m秒になるまで待つ。
S84の処理において、打撃タイマT4が2m秒である場合(S84:Yes)、感圧センサ24のピーク値Pmを取得するために必要な時間が経過したので、まず、次に打面83が打撃されたときに備えて、打撃タイマT4を0秒に初期化し(S85)、打撃処理フラグ43gをオフにする(S86)。
S86の処理後、感圧センサ値リングバッファ43cの値から、2m秒以内における、感圧センサ24のピーク値Pmを算出する(S87)。次いで、基準値メモリ43fの基準値からピーク値Pmを減じて打撃レベル(図5(a)におけるピーク値特徴量X2)を算出し、その打撃レベルを打撃レベルメモリ93bに保存する(S88)。このように、S88の処理(押圧検出手段、押圧検出工程)では、感圧センサ24の出力値(ピーク値Pm)と基準値との差に基づいて打面83への押圧を打撃レベルとして検出する。S88の処理後、打撃レベルメモリ93bの打撃レベルに応じた打撃情報(打撃指示)を出力部95を介してPC96へ送信し(S89)、定期処理を終了する。
S80の処理において、前回平均値メモリ93aの値から感圧センサ値リングバッファ43cの最新値を減じた差が打撃閾値N4以下である場合(S80:No)、打面83が打撃されていないので、基準値を更新するための処理に移行する。その基準値を更新するための処理では、まず、基準値更新タイマT1が0秒以下になったかを確認する(S90)。基準値更新タイマT1が0秒より大きい場合には(S90:No)、基準値メモリ43fの値を更新してから、その値を次に更新するタイミングが到来していないので、定期処理を終了する。
基準値更新タイマT1が0秒以下になった場合には(S90:Yes)、基準値を更新するタイミングになったので、基準値更新タイマT1に0.1秒をセットし(S91)、平均値メモリ43eに記憶されている感圧センサ24の平均出力値を基準値算出リングバッファ43dに追加する(S92)。次いで、基準値算出リングバッファ43dに記憶されている計8個の感圧センサ24の平均出力値を平均して基準値を算出し、その基準値を基準値メモリ43fに保存し(S93)、定期処理を終了する。
以上のようなMIDIコントローラ(楽音生成装置)80は、第1実施形態と同様に、打面83と感圧センサ24との間で弾性体84が圧縮されているので、打面83と感圧センサ24との間に遊びがなくなり、打面83を強く打撃(押圧)しなくても感圧センサ24の出力値を変化させることができる。さらに、基本的に、基準値更新タイマT1にセットされる0.1秒の更新時間毎に感圧センサ24の出力値に応じて感圧センサ24の基準値を更新するので、押圧の判断や押込値の算出を正しく行うことができる。その結果、打面83への押圧の感度を向上できる。
打面83が打撃されていない場合に基本的に基準値更新タイマT1にセットされる0.1秒の更新時間は、MIDIコントローラ80の安定時間である1秒の0.1倍である。これにより、第1実施形態と同様に基準値を適切に設定できる。
また、基準値算出リングバッファ43dには8個の感圧センサ24の平均出力値が記憶され、新たな平均出力値が基本的に0.1秒の更新時間毎に基準値算出リングバッファ43dに記憶されるので、基本的なサンプリング時間は0.8秒になる。MIDIコントローラ80の安定時間の0.8倍であるサンプリング時間中に取得した感圧センサ24の平均出力値を平均して基準値が算出される。その結果、第1実施形態と同様に基準値を適切に設定できる。
以上、実施形態に基づき説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。例えば、筐体10やヘッド20,21の各部形状や寸法、素材を適宜変更しても良い。電子打楽器1からスピーカ17を省略し、電子打楽器1を外部のスピーカに接続しても良い。基準値の更新時間や、基準値を更新するための感圧センサの出力値を取得するサンプリング時間を適宜変更しても良い。
上記第1実施形態では、ボンゴを模擬した電子打楽器1について説明したが、必ずしもこれに限られるものではない。スネアドラムやバスドラム、シンバル、コンガ等の他の打楽器を模擬した電子打楽器に本発明を適用しても良い。また、MIDIコントローラ80以外の入力装置や電子鍵盤楽器など、打撃や押圧(押込)の操作が行われる楽音生成装置に本発明を適用しても良い。
上記第1実施形態では、弾性体26がスポンジ製の弾性材料である場合について説明したが、必ずしもこれに限られるものではない。ゴムや熱可塑性エラストマ製の弾性材料により弾性体26を形成しても良い。また、上記第2実施形態における弾性体84をスポンジや熱可塑性エラストマ製にしても良い。また、クッション30をゴムや熱可塑性エラストマ製にしても良い。
上記第1実施形態では、感圧センサ24の出力値と、ヘッド振動センサ28の出力値と、リム振動センサ32の出力値とに応じて打撃位置を打面20aへの打撃位置を算出する場合について説明したが、必ずしもこれに限られるものではない。スティック等による打面20aの押圧の有無や押込量を感圧センサ24により検出しつつ、打面20aの振動をヘッド振動センサ28により検出しても良い。これにより、打面20aに押し付けたスティックを別のスティックで叩くスティックショットや、スティックや手を打面20aに押し付けた状態で別のスティックや手で打面20aを打撃する奏法を模擬できる。押圧されている場所と打撃位置とが同じスティックショットと、押圧されている場所と打撃位置とが異なる奏法とでは、感圧センサ24やヘッド振動センサ28の出力値に対するリム振動センサ32の出力値の比が異なるので、これらの奏法の違いを区別できる。
上記第1実施形態では、各特徴量X1,X2,X3に応じて打撃位置(エッジ度E)を算出する場合について説明したが、必ずしもこれに限られるものではない。例えば、感圧センサ24のピーク値、ヘッド振動センサ28のピーク値およびリム振動センサ32のピーク値のそれぞれの時間差に応じて打撃位置を算出しても良い。また、感圧センサ24のピーク値とヘッド振動センサ28のピーク値との比や、感圧センサ24のピーク値とリム振動センサ32のピーク値との比を用いて打撃位置を算出しても良い。
上記第1実施形態では、ヘッド振動センサ28及びリム振動センサ32がピエゾ素子により形成される場合について説明したが、必ずしもこれに限られるものではない。動電型や静電容量型等の接触式の検出素子、非接触式の検出素子によりヘッド振動センサ28及びリム振動センサ32を形成しても良い。また、接触式のヘッド振動センサ28をヘッド20,21に直接取り付けても良い。感圧センサ24が感圧抵抗素子などのピエゾ抵抗式である場合に限らず、感圧センサ24を静電容量式にしても良い。
上記形態では、感圧センサ24に加わる圧力が大きくなる程、即ち打面20aを強く押圧や打撃する程、感圧センサ24の出力値が小さくなる場合について説明したが、必ずしもこれに限られるものではない。感圧センサ24に加わる圧力が大きくなる程、感圧センサ24の出力値が大きくなるように構成しても良い。いずれの場合でも、上記第1実施形態において、基準値と感圧センサ24の出力値(平均出力値)との差の絶対値が押圧閾値N2よりも大きければ、打面20aが押圧されたと判断する。さらに、いずれの場合でも、各実施形態において、感圧センサ24のピーク値Pmと基準値との差の絶対値を特徴量X2や打撃レベルとする。
またいずれの場合でも、上記第2実施形態において、感圧センサ24の出力値(感圧センサ値リングバッファ43cの最新値)と前回の定期処理までの感圧センサ24の出力値(平均出力値)との差の絶対値が打撃閾値N4よりも大きければ、打面83が打撃されたと判断する。感圧センサ24に加わる圧力が大きくなる程、感圧センサ24の出力値が大きくなる場合、上記第1実施形態において、感圧センサ24の出力値(平均出力値)から、基準値に押圧閾値N2を足した値を減じたものに基づいて押込値を算出する。なお、押込値の算出に押圧閾値N2を用いず、基準値と、感圧センサ24の出力値(平均出力値)との差の絶対値に基づいて押込値を算出しても良い。
上記第1実施形態では、現在の各センサ24,28,32の出力値を、対応する各リングバッファ43a,43b,43cの最新値から取得する場合について説明したが、必ずしもこれに限られるものではない。現在の各センサ24,28,32の出力値を記憶するメモリを各リングバッファ43a,43b,43cと別に設けても良い。
また、各センサ24,28,32のピーク値を、対応する各リングバッファ43a,43b,43cの値から算出する場合について説明したが、必ずしもこれに限られるものではない。打面20aが打撃されてから所定時間中(例えば5m秒間)の定期処理毎に、前回までに保存された各センサ24,28,32のピーク値よりも、現在の各センサ24,28,32の出力値が大きくなった場合に、各センサ24,28,32のピーク値を更新するようにしても良い。
上記第1実施形態では、基準値から感圧センサ24の平均出力値を減じた差が押圧閾値N2よりも大きい場合に、打面20aが押圧された可能性があると判断する場合について説明したが、必ずしもこれに限られるものではない。基準値よりも感圧センサ24の平均出力値が小さくなった場合に、打面20aが押圧された可能性があると判断しても良い。但し、この場合、感圧センサ値リングバッファ43cに保存された8個の感圧センサ24の平均出力値を平均した値よりも、若干高い値を基準値とすることが好ましい。
上記第2実施形態では、前回平均値メモリ93aの値から感圧センサ値リングバッファ43cの最新値を減じた差が打撃閾値N4よりも大きい場合に、打面83が打撃(押圧)されたと判断する場合について説明したが、必ずしもこれに限られるものではない。基準値と、感圧センサ値リングバッファ43cの最新値との差に基づいて、打面83が打撃(押圧)されたと判断しても良い。
上記形態では、電子打楽器1の製品設計毎に機械学習の教師あり学習によって、重み係数W1,W2,W3,bが算出され、製品出荷時に固定値として重み係数データ42bに記憶される場合について説明したが、必ずしもこれに限られるものではない。ユーザが打面20aを打撃したときのデータを用いた機械学習によって、重み係数W1,W2,W3,bを算出しても良い。この場合、エッジ度Eが0となるべき打面20aの中央部の領域と、エッジ度Eが1となるべき打面20aの周辺部の領域とをユーザ毎に設定できるので、ユーザが望む楽音を生成し易くできる。
上記形態では、打面20aの中央部の裏面20b側に感圧センサ24が配置され、打面20aの周辺部の裏面20b側にヘッド振動センサ28が配置され、打面20aの平面視においてヘッド振動センサ28と重なる位置にリム振動センサ32が配置される場合について説明したが、必ずしもこれに限られるものではない。各センサ24,28,32の位置を適宜変更しても良い。各センサ24,28,32の位置に応じて、各センサ24,28,32の出力値に対応する重み係数W1,W2,W3,bを機械学習によって算出することで、打撃位置(エッジ度E)の算出精度を向上できる。
上記第1実施形態では、打面20aが押圧されている間や打撃処理中、毎回の定期処理で基準値更新タイマT1から0.1m秒を減算しない場合について説明したが、必ずしもこれに限られるものではない。打面20aの押圧中や打撃後に基準値更新タイマT1に1秒や10秒がセットされるので、打面20aが押圧されている間や打撃処理中、毎回の定期処理で基準値更新タイマT1から0.1m秒を減算しても良い。
1 電子打楽器(楽音生成装置)
20a,21a,83 打面
24 感圧センサ
28 ヘッド振動センサ(打撃検出手段)
26,84 弾性体
40,90 制御装置
43d 基準値算出リングバッファ(記憶手段)
80 MIDIコントローラ(楽音生成装置)
S16,S22,S23,S25,S77,S90,S91,S93 更新手段、更新工程
S17,S88 押圧検出手段、押圧検出工程
S20 押圧時更新禁止手段
S19,S22,S27,S80,S82,S90 打撃後更新禁止手段
S30,S37〜S42,S44〜S48 押圧判断手段

Claims (8)

  1. 打面と、
    前記打面の裏面側に配置されて圧力変化を検出する感圧センサと、
    前記打面と前記感圧センサとの間で圧縮された弾性体と、
    前記感圧センサの出力値に応じた指示を出力する制御装置と、を備え、
    前記制御装置は、前記感圧センサの出力値と基準値との差に基づいて前記打面への押圧を検出する押圧検出手段と、
    前記感圧センサの出力値に応じて前記基準値を更新時間毎に更新する更新手段と、を備えていることを特徴とする楽音生成装置。
  2. 前記更新手段は、サンプリング時間中に取得した前記感圧センサの出力値を平均して前記基準値を算出することを特徴とする請求項1記載の楽音生成装置。
  3. 前記感圧センサの出力値が変化しなくなるまで前記打面を押圧した状態から瞬間的に押圧を解除し、押圧を解除してから前記感圧センサの出力値が安定するまでの時間を安定時間とし、
    前記サンプリング時間は、前記安定時間の0.8倍以上であることを特徴とする請求項2記載の楽音生成装置。
  4. 前記制御装置は、前記更新時間毎に前記感圧センサの出力値を記憶する記憶手段を備え、
    前記更新手段は、前記サンプリング時間中に前記記憶手段に記憶した前記感圧センサの出力値を平均して前記基準値を算出することを特徴とする請求項2又は3に記載の楽音生成装置。
  5. 前記感圧センサの出力値が変化しなくなるまで前記打面を押圧した状態から瞬間的に押圧を解除し、押圧を解除してから前記感圧センサの出力値が安定するまでの時間を安定時間とし、
    前記更新時間は、前記安定時間の0.1倍以上であることを特徴とする請求項1から4のいずれかに記載の楽音生成装置。
  6. 前記打面への打撃を検出する打撃検出手段を備え、
    前記感圧センサの出力値が変化しなくなるまで前記打面を押圧した状態から瞬間的に押圧を解除し、押圧を解除してから前記感圧センサの出力値が安定するまでの時間を安定時間とし、
    前記制御装置は、前記打撃検出手段により前記打面への打撃を検出したときから前記安定時間以上が経過するまで、前記更新手段による前記基準値の更新を禁止する打撃後更新禁止手段を備えていることを特徴とする請求項1から5のいずれかに記載の楽音生成装置。
  7. 前記押圧検出手段は、前記感圧センサの出力値と基準値との差に基づいて前記打面が押圧されたかを判断する押圧判断手段を備え、
    前記制御装置は、前記打面が押圧されたと前記押圧判断手段により判断されている間、前記更新手段による前記基準値の更新を禁止する押圧時更新禁止手段を備えていることを特徴とする請求項1から6のいずれかに記載の楽音生成装置。
  8. 打面と、前記打面の裏面側に配置されて圧力変化を検出する感圧センサと、前記打面と前記感圧センサとの間で圧縮された弾性体と、を備える楽音生成装置において、前記感圧センサの出力値に応じた指示を出力する楽音生成方法であって、
    前記感圧センサの出力値と基準値との差に基づいて前記打面への押圧を検出する押圧検出工程と、
    前記感圧センサの出力値に応じて前記基準値を更新時間毎に更新する更新工程と、を備えていることを特徴とする楽音生成方法。
JP2019237439A 2019-12-26 2019-12-26 楽音生成装置および楽音生成方法 Pending JP2021105681A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019237439A JP2021105681A (ja) 2019-12-26 2019-12-26 楽音生成装置および楽音生成方法
CN202011138412.3A CN113053341A (zh) 2019-12-26 2020-10-22 乐音生成装置及乐音生成方法
EP20204032.5A EP3843087A1 (en) 2019-12-26 2020-10-27 Musical sound generating apparatus and musical sound generating method
US17/083,265 US20210201875A1 (en) 2019-12-26 2020-10-28 Musical sound generating apparatus and musical sound generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019237439A JP2021105681A (ja) 2019-12-26 2019-12-26 楽音生成装置および楽音生成方法

Publications (1)

Publication Number Publication Date
JP2021105681A true JP2021105681A (ja) 2021-07-26

Family

ID=73029887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019237439A Pending JP2021105681A (ja) 2019-12-26 2019-12-26 楽音生成装置および楽音生成方法

Country Status (4)

Country Link
US (1) US20210201875A1 (ja)
EP (1) EP3843087A1 (ja)
JP (1) JP2021105681A (ja)
CN (1) CN113053341A (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3523352B2 (ja) * 1995-01-26 2004-04-26 ローランド株式会社 打撃検出装置
US6326539B1 (en) * 1998-06-30 2001-12-04 Yamaha Corporation Musical tone control apparatus and sensing device for electronic musical instrument
US6075197A (en) * 1998-10-26 2000-06-13 Chan; Ying Kit Apparatus and method for providing interactive drum lessons
JP4190426B2 (ja) * 2004-01-08 2008-12-03 ローランド株式会社 電子打楽器
JP5245504B2 (ja) * 2008-04-14 2013-07-24 ヤマハ株式会社 打撃操作検出装置及び打撃操作検出プログラム
JP5245101B2 (ja) 2009-03-25 2013-07-24 株式会社コルグ 電子ドラム
JP5798494B2 (ja) * 2012-01-13 2015-10-21 ローランド株式会社 発音制御装置
JP6254391B2 (ja) * 2013-09-05 2017-12-27 ローランド株式会社 音源制御情報生成装置、電子打楽器、およびプログラム
JP2017146461A (ja) * 2016-02-17 2017-08-24 ローランド株式会社 電子打楽器
EP3291221B1 (en) * 2016-08-30 2019-03-06 Roland Corporation Electronic percussion instrument and control device thereof

Also Published As

Publication number Publication date
US20210201875A1 (en) 2021-07-01
CN113053341A (zh) 2021-06-29
EP3843087A1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
US9773480B2 (en) Electronic music controller using inertial navigation-2
JP4183626B2 (ja) 電子打楽器
US8785758B2 (en) Electronic hi-hat cymbal controller
US6815604B2 (en) Electronic percussion instrument
JP6179136B2 (ja) 電子打楽器及び電子打楽器の演奏を評価する演奏評価装置
WO2018168953A1 (ja) 信号供給装置、鍵盤装置およびプログラム
JP6676332B2 (ja) 電子打楽器
JP6758042B2 (ja) 打楽器およびカホン
JP5084484B2 (ja) 電子打楽器
JP4240134B2 (ja) 電子打楽器
JP5912483B2 (ja) 楽音制御装置
US5578782A (en) Musical tone control device for electronic keyboard instrument
JP2013125051A5 (ja)
JP2021105681A (ja) 楽音生成装置および楽音生成方法
JP2021105682A (ja) 電子打楽器および楽音生成方法
JP2018054685A (ja) 電子打楽器
JP2003108120A (ja) 楽音制御装置及び信号処理装置並びに電子打楽器
JP6986387B2 (ja) 電子打楽器
JP2018036642A (ja) 電子打楽器
JP2018036640A (ja) 電子打楽器
JP7353136B2 (ja) コントローラ
JP6394737B2 (ja) 電子鍵盤楽器、方法及びプログラム
JP2004294837A (ja) 電子ピアノ
JP2014134716A (ja) 楽音信号発生装置、楽音信号発生プログラム及び楽音信号発生方法
JP2011107445A (ja) 演奏装置