説明

電子音響信号発生装置およびその制御方法を実現するためのプログラム

【課題】ユーザがタッチ操作によって期待した音響信号特性に、より合致した音響信号特性を決定することが可能となる電子音響信号発生装置を提供する。
【解決手段】3軸加速度センサからの各軸のセンサ出力は最新のものと、その1周期前のものとが保存され、最新のものとその1周期前のものとの差分の二乗和平方根が取られ、その演算結果が、最新のものから過去に遡って複数個、保存される。ユーザのタッチがあったことが検出回路によって検出されると、その後k個(図示例では、2個)の演算結果が保存されるのを待ち、このk個の演算結果を含むn個(図示例では、5個)の演算結果から所定の条件(図示例では、最大値を採るもの)に該当するものが選択される。したがって図示例では、「採用される値」と記載された矢印が指示する演算結果が選択される。選択された演算結果は、発音する音の音量の決定に使用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチパネルディスプレイ(以下、「タッチパネル」と略して言う)上に表示された操作子に対するユーザのタッチ操作の強さを検出し、該検出された強さに応じて音響信号特性を決定する電子音響信号発生装置およびその制御方法を実現するためのプログラムに関する。
【背景技術】
【0002】
タッチパネル上に表示された操作子に対するユーザのタッチ操作の強さを検出し、該検出された強さに応じて音響信号特性を決定する電子音響信号発生装置は、従来から知られている。
【0003】
このような電子音響信号発生装置として、タッチパネルおよび加速度センサを備え、タッチパネル上に表示された鍵盤の鍵をユーザが叩く強さ(タッチ操作の強さ)を検出し、該検出された強さを、発音する音の音量に反映させるようにした携帯電話またはタブレット機器がある(たとえば、非特許文献1参照)。ただし非特許文献1には、携帯電話にインストールして、当該携帯電話に上記機能を発揮させるアプリケーション・ソフトウェアが記載されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Zen Piano - Use the Force By GreatApps Ltd,Updated: May 22, 2009,http://itunes.apple.com/app/zen-piano-use-force/id315585257?mt=8#
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上記従来の電子音響信号発生装置では、タッチパネルはユーザのタッチ操作の強さを検出することができないので、そのタッチ操作の強さは、加速度センサを用いて検出していると推測される。しかし上記非特許文献1には、加速度センサからのセンサ出力をどのように用いて、そのタッチ操作の強さを検出しているのかについては、一切記載されていない。
【0006】
また、加速度センサを用いてタッチ操作の強さを検出した場合、発音する音の音量は、加速度センサによって検出される加速度の大きさに応じて決定されると推測されるが、ユーザのタッチ操作に対して、タッチパネルがその操作を検出するタイミングと、加速度センサがその操作を検出するタイミングとは、一般的には、完全に一致しないので、タッチパネルがその操作を検出するタイミングで、加速度センサからの出力値を検出し、これに応じて音の音量を決定して発音すると、決定した音量にユーザのタッチ操作の強さが適正に反映されず、これにより、ユーザがタッチ操作によって期待した音量の音が発音されないことがある。
【0007】
本発明は、この点に着目してなされたものであり、ユーザがタッチ操作によって期待した音響信号特性に、より合致した音響信号特性を決定することが可能となる電子音響信号発生装置およびその制御方法を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、請求項1に記載の電子音響信号発生装置は、タッチパネルと、加速度センサと、前記タッチパネル上に操作子を表示させる表示手段と、前記加速度センサによって検出された加速度を所定の時間毎に取得し、最新のものから過去に遡ってn個、記憶手段に保存する保存手段と、前記タッチパネル上に表示された操作子へのユーザのタッチ操作が検出されてから、前記保存手段によってk(k<n)個の加速度が保存されるまで待った後に、該k個の加速度を含む前記n個の保存された加速度の中から、所定の条件に合致する加速度を、少なくとも1個選択する選択手段と、前記選択手段によって選択された加速度に基づいて、発生する音響信号の信号特性を決定する決定手段とを有することを特徴とする。
【0009】
請求項2に記載の電子音響信号発生装置は、請求項1の電子音響信号発生装置において、前記nおよびkの各値は、k<nの条件を満たす限り、任意の値に変更可能であることを特徴とする。
【0010】
請求項3に記載の電子音響信号発生装置は、請求項1または2の電子音響信号発生装置において、前記決定手段は、所定の換算特性に基づいて、前記選択された加速度を音響信号特性に換算し、該換算された音響信号特性を前記発生する音響信号の信号特性に決定することを特徴とする。
【0011】
上記目的を達成するため、請求項4に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【発明の効果】
【0012】
請求項1または4に記載の発明によれば、タッチパネル上に表示された操作子へのユーザのタッチ操作が検出されてから、k(k<n)個の加速度が保存されるまで待った後に、該k個の加速度を含む前記n個の保存された加速度の中から、所定の条件に合致する加速度が、少なくとも1個選択され、該選択された加速度に基づいて、発生する音響信号の信号特性が決定されるので、つまり、ユーザのタッチ操作に対して、タッチパネルからその操作が検出されるタイミングと、加速度センサからその操作が検出されるタイミングとがばらついたとしても、保存されたn個の加速度の中には、ユーザのタッチ操作に対して加速度センサが真に検出した加速度が含まれ、この加速度が前記所定の条件に合致するものとして選択され、これに基づいて音響信号特性が決定されるので、ユーザがタッチ操作によって期待した音響信号特性に、より合致した音響信号特性を決定することが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施の形態に係る電子音響信号発生装置の概略構成を示すブロック図である。
【図2】図1中のタッチパネル上に表示された画面の一例((a))と、図1中の加速度センサが出力するセンサ値の一例((b))を示す図である。
【図3】ログとして保存された複数個の演算結果のうち、制御処理に使用するものを選択する方法の一例を示す図である。
【図4】図1の電子音響信号発生装置、特にCPUが実行するタッチ・移動・リリース検出処理の手順を示すフローチャートである。
【図5】図1の電子音響信号発生装置、特にCPUが実行する発音管理処理の手順を示すフローチャートである。
【図6】タッチ管理レジスタ((a))、発音管理レジスタ((b))、消音管理レジスタ((c))およびベロシティ値換算用関数((d))の各一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態に係る電子音響信号発生装置の概略構成を示すブロック図である。
【0016】
同図に示すように、本実施の形態の電子音響信号発生装置は、各種情報を入力するための複数のスイッチからなる設定操作子1と、複数の演奏操作子、各種楽音パラメータや各種動作モードを選択設定するための複数の操作子および各種情報を表示するとともに、ユーザが表示された各操作子や各情報をタッチ操作することで、対応する演奏状態、楽音パラメータおよび動作モードなどを選択設定するタッチパネル2と、設定操作子1の操作状態を検出する検出回路3と、ユーザによるタッチパネル2上のタッチ操作を検出する検出回路4と、演奏状態、各種楽音パラメータおよび各種動作モードを含む、音楽に関する各種状態および情報を選択設定するためのGUI(graphical user interface)をタッチパネル2上に表示する表示回路5と、装置全体の制御を司るCPU6と、該CPU6が実行する制御プログラムや各種テーブルデータ等を記憶するROM7と、演奏情報、各種入力情報および演算結果等を一時的に記憶するRAM8と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する記憶装置9と、図示しない外部機器を接続し、この外部機器とデータの送受信を行う通信インターフェース(I/F)10と、ユーザが電子音響信号発生装置を振ったり叩いたりしたときに当該電子音響信号発生装置に発生する加速度を検出する加速度センサ11と、演奏操作子を用いて入力された演奏情報や、前記記憶装置9に記憶されたいずれかの楽曲データを再生して得られた演奏情報等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路12と、該音源・効果回路12からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム13とにより構成されている。
【0017】
上記構成要素3〜12は、バス14を介して相互に接続され、音源・効果回路12にはサウンドシステム13が接続されている。
【0018】
タッチパネル2としては、本実施の形態では、複数の位置に対するユーザの同時の押圧操作を認識する多点認識機能を備えたパネルを採用しているが、本発明は、多点を認識できないタッチパネルにも適用できる。本実施の形態の電子音響信号発生装置は、掌に載せて片手で操作可能な小型の携帯端末(具体的には、汎用のスレートPC(slate PC)やスマートフォン(smartphone)など)を想定しているので、タッチパネル2も小型のものを採用している。タッチパネル2上には、図2(a)に示すように、実ピアノの鍵盤を模した画像(以下、画像であっても「鍵盤」という)2aと、音色設定などの各種設定を行うための複数(図示例では、6個)のボタン2bが表示される。なお本実施の形態では、演奏操作子として、鍵盤2aを採用したが、これに限らず、ドラムセットの各種ドラムやギターのフレットなど、どのようなものを採用してもよい。また、演奏操作子に限らず、DJ機器の操作子やゲーム機の操作子など、操作子の操作に応じて音響信号を発生する装置であって、タッチ操作の強さに応じて音響信号の音量などの信号特性を制御するものであれば、どのようなものを採用してもよい。
【0019】
記憶装置9は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は、駆動装置から着脱可能であってもよいし、記憶装置9自体が、本実施の形態の電子音響信号発生装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置9も着脱不可能であってもよい。なお、記憶装置9(の記憶媒体)には、前述のように、CPU6が実行する制御プログラムも記憶でき、ROM7に制御プログラムが記憶されていない場合には、この記憶装置9に制御プログラムを記憶させておき、それをRAM8に読み込むことにより、ROM7に制御プログラムを記憶している場合と同様の動作をCPU6にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0020】
通信I/F10としては、たとえば、MIDI信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(universal serial bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/F、デジタル電話回線網用の通信I/Fを挙げることができる。本実施の形態では、通信I/F10として、デジタル電話回線網用および/または無線LAN用の通信I/Fを採用している。
【0021】
加速度センサ11は、図2(b)に示すように、加速度をx軸、y軸およびz軸の3軸方向でそれぞれ検出し、各軸毎にセンサ値を出力する3軸加速度センサである。各軸のセンサ出力値は、所定の読出し周期で加速度センサ11から読み出され、RAM8の所定位置に確保されたセンサ出力格納領域(図示せず)に格納される。処理部(主として、CPU6、ROM7およびRAM8によって構成される)101は、所定の周期で(本実施の形態では、10msec毎)センサ出力格納領域から各軸のセンサ出力値を読み出して、後述する制御処理に使用する。なお、本実施の形態の電子音響信号発生装置のような汎用の機器では、本発明に関する制御処理だけではなく、他の多くの処理も並行して実行しているので、上記所定の周期は、多少揺らぐ可能性がある。
【0022】
音源・効果回路12は、本実施の形態では、ハードウェアのみによって楽音信号を生成し、これに各種効果を付与するものを想定しているが、これに限らず、ソフトウェア処理のみによって楽音信号を生成し、これに各種効果を付与するものであってもよいし、ハードウェアとソフトウェアで処理を分担するようなものでもよい。また、音源・効果回路12を電子音響信号発生装置の内部に備えるものに限らず、たとえば、通信I/F10を介して接続される外部機器に音源・効果回路12を備えるようにし、電子音響信号発生装置からは当該外部機器に発音特性制御情報(後述するベロシティ)を含む発音指示を与えて、当該外部機器にて音響信号を発生させるようにしてもよい。
【0023】
また本実施の形態では、電子音響信号発生装置の形態として、上述のようにタッチパネル2を備えた汎用のスレートPCやスマートフォンを想定しているが、タッチパネル形式でない通常のLCD(liquid crystal display)やLED(light emitting diode)と物理的な操作子を備えた音楽専用のハードウェア構成としてもよい。
【0024】
以上のように構成された電子音響信号発生装置が実行する制御処理を、まず図3を参照してその概要を説明し、次に図4〜図6を参照して詳細に説明する。
【0025】
本実施の形態の電子音響信号発生装置は、ユーザが、たとえば指で鍵盤2aの鍵をタッチする(叩く)と、タッチした鍵に割り当てられた音高の音を、タッチの強さに応じた音量で発音する。このタッチの強さは、装置内蔵の加速度センサ11からのセンサ出力値に基づいて検出される。本発明の特徴は、センサ出力値をどう使ってタッチの強さを検出するかにある。なお、タッチする鍵数は1鍵に限らず、複数鍵であっても、それに応じた数の音高の音が発音される。
【0026】
CPU6は、センサ出力の読み出し時刻になると、前記センサ出力格納領域内の各軸のセンサ出力値を読み出し、次式(1)の演算を行って、各軸のセンサ出力値の差分の二乗和平方根を算出する。
【0027】
{(xt−xt-1)2 + (yt−yt-1)2+ (zt−zt-1)2 1/2 …(1)
ここで、xt,yt,zt は、現時刻tのx軸、y軸およびz軸の各センサ出力値を示し、xt-1,yt-1,zt-1 は、現時刻tより1周期前の時刻t−1のx軸、y軸およびz軸の各センサ出力値を示している。このように、各軸のセンサ出力値は、現時刻のものと、現時刻より1周期前の時刻のものとが必要になるので、RAM8の所定位置に現センサ出力格納領域および旧センサ出力格納領域を確保し、センサ出力格納領域から読み出した各軸のセンサ出力値は、まず現センサ出力格納領域に格納し、上記演算が終了した後、現センサ出力格納領域から読み出して旧センサ出力格納領域に上書き保存する。
【0028】
上記式(1)で、各軸のセンサ出力値について差分を取ったのは、各軸のセンサ出力値から重力加速度の影響を除去するためである。また、各軸のセンサ出力値(の差分)の二乗和平方根を取ったのは、装置の姿勢(手で垂直に持っているのか、斜めに持っているのか、水平に持っているのか、など)や、タッチしたときにかかる力の向きなどの影響を除去するためである。なお、演算式は上記式(1)に限られない。
【0029】
このようにして算出された演算結果は、現時刻のものから過去に遡って複数個(本実施の形態では5個とするが、これに限られない)ログとして保存しておく。
【0030】
図3は、ログとして保存された複数個の演算結果のうち、制御処理に使用するものを選択する方法の一例を示す図である。同図中、“n”がログとして保存される演算結果の個数を示し、本実施の形態では、n=5である。
【0031】
ユーザが鍵盤2aのある鍵をタッチすると、タッチがあったことが前記検出回路4によって検出される。図3の“×”は、このタッチが検出されたタイミングを示している。タッチが検出されると、CPU6は、その後k(本実施の形態では、k=2)個の演算結果が保存されるのを待つ。そしてCPU6は、この2個の演算結果を含む5個の演算結果から所定の条件に該当するものを選択する。ここで、所定の条件としては、たとえば、最大値を取るもの、最大値とその次に大きい値を取るもの、などを挙げることができる。後者の条件のように、複数個の演算結果が選択される場合には、それらの平均値を取るようにすればよい。本実施の形態では、所定の条件として、最大値を採るものを採用する。したがって図示例では、「採用される値」と記載された矢印が指示する演算結果が選択される。選択された演算結果は、前述のように音量の決定に使用されるが、その決定方法については、制御処理の詳細で後述する。
【0032】
本発明の特徴は、加速度センサ11からのセンサ出力(実際には、センサ出力そのものではなく、センサ出力に所定の演算を施して得られた上記演算結果である)を最新のものから遡って複数個保存し、それを選択対象とした点にある。特に、保存する複数個のセンサ出力中に、タッチパネル2へのユーザのタッチ操作が検出された後のセンサ出力だけでなく、その前のセンサ出力も含ませた点にある。このように、タッチ操作の検出前および検出後のいずれのセンサ出力も選択対象としたのは、タッチされた時点で大きな加速度が得られるケースもあれば、タッチされた時点よりも少し前あるいは少し後に大きな加速度が得られるケースもあることが、本願の発明者による実験にて確認できたからである。その理由は、前述のように、多くの処理が並行して実行されているため、タッチの仕方(タッチパネル2のパネル面に対して垂直にタッチしたのか、やや斜めにタッチしたのか、など)や、装置の保持状態(手で持っているのか、机の上などに置いているのか、など)に応じて、大きなセンサ出力値(本来のタッチの強さを反映していると考えられる値)の時間的な出方が変わると考えられるからである。
【0033】
なお、タッチ操作の検出前および検出後の各センサ出力をそれぞれいくつ保存すればよいかは、加速度センサ11の出力値を検出する周期や、タッチ操作の検出された時点から発音指示を行うまでにどのくらいの遅延を許容可能か、などを考慮して任意に決定すればよく、本実施の形態のように、検出前に3個、検出後に2個の合計5個に限らない。
【0034】
このように、本実施の形態の電子音響信号発生装置では、加速度センサ11からのセンサ出力を複数個保存するに際して、タッチパネル2へのユーザのタッチ操作が検出された時点の前および後の両方のセンサ出力を保存し、保存した複数個のセンサ出力から最大値を採るものを選択し、発音する音の音量の決定に用いることにしたので、つまり、ユーザのタッチ操作に対して、タッチパネル2からその操作が検出されるタイミングと、加速度センサ11からその操作(に応じた加速度出力)が検出されるタイミングとがばらついたとしても、保存された複数個のセンサ出力の中には、ユーザのタッチ操作に対して加速度センサ11が真に検出した加速度に応じたセンサ出力が含まれ、このセンサ出力が所定の条件(ここでは、最大値を取るもの)に合致するものとして選択され、これに基づいて楽音特性(ここでは、音量)が決定されるので、ユーザがタッチ操作によって期待した楽音特性に、より合致した楽音特性を決定することが可能となる。
【0035】
なお本実施の形態では、選択したセンサ出力を、発音する音の音量の決定に用いることにしたが、これに限らず、他の楽音特性、たとえば音色などの決定に用いるようにしてもよい。
【0036】
次に、この制御処理を詳細に説明する。
【0037】
図4は、本実施の形態の電子音響信号発生装置、特にCPU6が実行するタッチ・移動・リリース検出処理の手順を示すフローチャートであり、本タッチ・移動・リリース検出処理は、たとえば5msec毎に起動されて実行される。
【0038】
本タッチ・移動・リリース検出処理では、主として
(O1)鍵盤2aの鍵をタッチする第1の操作と、そのタッチした指をリリースする第2の操作とからなる一連のユーザ操作
(O2)鍵盤2aの鍵をタッチする第1の操作と、そのタッチした指を、そのタッチ状態を保持させたまま、当該鍵上を移動させる第2の操作と、そのタッチした指をリリースする第3の操作とからなる一連のユーザ操作
を検出する。ただし、上記(O1)および(O2)の各一連のユーザ操作は、ある1本の指を対象としたものであり、複数の指で操作した場合には、(O1)または(O2)の一連のユーザ操作がその指の数だけ並行して検出されるようにすればよい。
【0039】
検出回路4において、タッチ操作が検出される、移動操作が検出される、リリース操作が検出される、のいずれかが検出されると、検出された操作の種類(タッチ/移動/リリース)と、そのときの座標がCPU6に通知される。なお、移動操作を検出したときは、移動前の座標と移動後の座標の2つの座標がCPU6に通知される。
【0040】
まず、前記(O1)の一連のユーザ操作のうち、第1の操作(タッチ操作)がなされると、検出回路4からはタッチ操作である旨とそのときの座標が通知されるので、その直後に起動されたタッチ・移動・リリース検出処理で、CPU6は、タッチ管理レジスタに新規レコードを作成し、タッチされた座標(タッチパネル2上のタッチ位置の座標)を初期座標および現在座標として記録する。そして、その座標に対応する操作子ID(identification)を求めて、当該操作子IDの操作子がオンされた旨を、後述する図5の発音管理処理に通知する(ステップS1→S2→S3→S4)。タッチ管理レジスタは、RAM8の所定位置に確保されたレジスタであり、図6(a)に示すように、初期座標(x,y)および現在座標(x,y)からなる1組のデータを複数組記憶できる領域を備えている。そして、この1組のデータ構造を「レコード」と言う。操作子IDは、鍵盤2aの各鍵画像にそれぞれ割り当てられているIDである。図示しない画像座標テーブルには、各鍵画像(操作子)のIDとその画像が配置されている座標が登録されており、タッチされた座標から、その座標に表示されている操作子IDを取得することができる。
【0041】
次に、前記(O1)の一連のユーザ操作のうち、第2の操作(リリース操作)がなされると、検出回路4からはリリース操作である旨とそのときの座標が通知されるので、その直後に起動されたタッチ・移動・リリース検出処理で、CPU6は、タッチ管理レジスタから、リリースされた座標(タッチパネル2上のリリース位置の座標)が現在座標と一致するレコードを探し、そのレコードに記録されている初期座標に対応する操作子IDを求めて、該操作子IDの操作子がオフされた旨を前記発音管理処理に通知し、タッチ管理レジスタから当該レコードを消去する(ステップS1→S5→S7→S8→S9)。なお、この(O1)の一連のユーザ操作では、リリースされた座標が現在座標と一致するレコードは必ず、タッチ管理レジスタに記憶されている。
【0042】
一方、前記(O2)の一連のユーザ操作のうち、第1の操作(タッチ操作)がなされると、検出回路4からはタッチ操作である旨とそのときの座標が通知されるので、その直後に起動されたタッチ・移動・リリース検出処理で、CPU6は、前記(O1)の一連のユーザ操作のうちの第1の操作(タッチ操作)がなされたときに実行した処理と同様の処理を実行する(ステップS1→S2→S3→S4)。
【0043】
次に、前記(O2)の一連のユーザ操作のうち、第2の操作(移動操作)がなされると、検出回路4からは移動操作である旨とそのときの座標に加え、移動前の座標が通知されるので、その直後に起動されたタッチ・移動・リリース検出処理で、CPU6は、タッチ管理レジスタから、移動前の座標が現在座標と一致するレコードを探し、一致するレコードがあれば、移動後の座標を現在座標として記録(移動後の座標で現在座標を更新)する(ステップS1→S5→S6)。
【0044】
この第2の操作(移動操作)では、ユーザがタッチした指を移動させたときに、移動後の位置が依然として同じ操作子上にある場合は、現在座標のみが更新されるのはもちろんであるが、本実施の形態では、移動前の操作子上から外れて他の操作子上に移動したり、操作子外の領域に移動した場合であっても、現在座標のみを更新するようにしている。そして、後述する第3の操作(リリース操作)がなされたときに、タッチ管理レジスタを参照して初期座標を求め、初期座標に対応した操作子IDを取得して消音操作をするようにしている。つまり、移動操作により操作子上から指がずれても、操作子を操作したままの状態を維持するようにしている。しかし、これに代えて、移動操作により操作子上から指がずれて新たな操作子上に移動した場合は、移動前の座標で一旦リリース操作があったものとみなして、後述する第3の操作(リリース操作)に対応した処理を実行するとともに、移動後の座標で新たなタッチ操作があったものと見なして、前述の第1の操作(タッチ操作)に対応した処理を実行するようにしてもよい。これにより、移動操作により操作子上から指がずれたら一旦消音され、新たな操作子に対応した楽音が発音されるようになる。なお、操作子外から操作子上に移動した場合は、新たなタッチ操作のみとし、操作子上から操作子外に移動した場合は、リリース操作のみとする。また、本実施の形態の動作をするのか、これに代える動作をするのかをユーザが選択できるようにしてもよい。
【0045】
次に、前記(O2)の一連のユーザ操作のうち、第3の操作(リリース操作)がなされると、検出回路4からはリリース操作である旨とそのときの座標が通知されるので、その直後に起動されたタッチ・移動・リリース検出処理で、CPU6は、前記(O1)の一連のユーザ操作のうちの第2の操作(リリース操作)がなされたときに実行した処理と同様の処理を実行する(ステップS1→S5→S7→S8→S9)。
【0046】
図5は、本実施の形態の電子音響信号発生装置、特にCPU6が実行する発音管理処理の手順を示すフローチャートであり、本発音管理処理は、たとえば10msec毎に起動されて実行される。
【0047】
本発音管理処理は、主として
(1)加速度センサ11からのセンサ出力に関連するセンサ出力関連処理(ステップS11〜S13)
(2)発音処理(ステップS16,S17)
(3)消音処理(ステップS19)
(4)発音管理レジスタ初期化処理(ステップS21)
(5)消音管理レジスタ初期化処理(ステップS23)
によって構成されている。
【0048】
本発音管理処理が起動されると、上記(1)のセンサ出力関連処理で、まずCPU6は、制御処理の概要で前述したように、センサ出力格納領域から各軸のセンサ出力値を読み出して、現センサ出力格納領域に格納する(ステップS11)。次にCPU6は、現センサ出力格納領域および旧センサ出力格納領域にそれぞれ格納された各軸のセンサ出力値に、前記式(1)の演算を施した(ステップS12)後、その演算結果を、RAM8の所定位置に確保されたリングバッファ(ring buffer)(図示せず)に保存する(ステップS13)。本発明では前述したように、演算結果は、時系列的に得られたもののうち、最新の複数個(たとえば5個)を保存しておくため、本実施の形態では、保存する個数を超えて演算結果が得られた場合に、その演算結果を簡単に上書き保存できるリングバッファを採用したが、これに限らず、通常のメモリを採用し、ソフトウェアで保存する個数を管理するようにしてもよい。なお、フローチャートには記載されていないが、この(1)センサ出力関連処理では、CPU6は、前記ステップS13の処理の後、現センサ出力格納領域に格納されている各軸のセンサ出力値を読み出して、旧センサ出力格納領域に格納する処理を実行する。また、本発音管理処理が起動されたときに、旧センサ出力格納領域にまだ各軸のセンサ出力値が格納されていない場合があるが、その場合には、CPU6は前記ステップS12の演算処理を実行できないので、センサ出力格納領域から読み出した各軸のセンサ出力値を現センサ出力格納領域に格納する処理に続いて、ステップS12,S13の処理を実行せずに、現センサ出力格納領域に格納した各軸のセンサ出力値を旧センサ出力格納領域に格納する処理を実行する。
【0049】
次にCPU6は、発音管理レジスタおよび消音管理レジスタ内の各カウンタの値を“1”だけインクリメントする(ステップS14)。発音管理レジスタも消音管理レジスタも、RAM8の所定位置に確保されたレジスタであり、図6(b),(c)に示すように、操作子IDおよび(ソフトウェア)カウンタからなる1組のデータ(レコード)を複数組記憶できる領域を備えている。発音管理レジスタも消音管理レジスタも、1つのレコードも記憶していない場合があり、この場合には、CPU6は前記ステップS14のインクリメントを行わないことは、言うまでもない。
【0050】
次に、発音管理レジスタ内にカウンタの値が“+2”になったレコードがあれば、CPU6は、処理を前記(2)の発音処理に進める(ステップS15→S16)。発音管理レジスタ内のカウンタ値=+2とは、前記タッチ・移動・リリース検出処理から「操作子オン」の通知を受けてから、本発音管理処理が2回起動されたこと、つまり図3において、タッチパネル2へのユーザのタッチが検出されてからk(=2)回、各軸のセンサ出力値が取得されたことを意味し、このタイミングが発音を指示するタイミングであることを示している。
【0051】
この(2)発音処理では、まずCPU6は、リングバッファに保存されている演算結果のうち、所定の条件に該当するもの(たとえば最大のもの)を採用し、これをベロシティ値に換算する(ステップS16)。図6(d)は、採用した演算結果をベロシティ値に換算する際に用いる関数の一例を示す図である。同図の関数は、非線形の関数の一例である、シグモイド関数(sigmoid function)である。もちろん、他の非線形の関数を用いてもよいし、非線形の関数に限らず、線形の関数を用いてもよい。さらに、「ベロシティ・センサビリティ」パラメータを定義し、このパラメータによって関数の形状を変えられるようにしてもよい。
【0052】
そしてCPU6は、当該レコードの操作子IDに対応する音高および上記換算後のベロシティ値にて、音源部である前記音源・効果回路12に発音開始を指示し、当該レコードを発音管理レジスタから消去する(ステップS17)。
【0053】
次に、消音管理レジスタ内にカウンタの値が“+2”になったレコードがあれば、CPU6は、処理を前記(3)の消音処理に進め(ステップS18→S19)、当該レコードの操作子IDに対応する音高の消音を音源・効果回路12に指示し、当該レコードを消音管理レジスタから消去する。ここで、消音管理レジスタ内のカウンタ値=+2とは、タッチ・移動・リリース検出処理から「操作子オフ」の通知を受けてから、本発音管理処理が2回起動されたこと、つまり、タッチパネル2へのユーザのタッチのリリースが検出されてから、2回、各軸のセンサ出力値が取得されたことを意味する。しかしこの(3)消音処理では、前記(2)発音処理と異なり、リングバッファに記憶されている演算結果を使っておらず、したがって、リングバッファに新たな演算結果が入ってくるのを待つために、消音管理レジスタ内のカウンタ値を監視する必要はないので、消音管理レジスタ内のカウンタ値=+2は、タッチパネル2へのユーザのタッチのリリースが検出されてから消音が開始されるまでの時間と、タッチパネル2へのユーザのタッチが検出されてから発音が開始されるまでの時間とを一致させる目的でのみなされている。
【0054】
次に、タッチ・移動・リリース検出処理から操作子オンの通知を受けると、CPU6は、処理を前記(4)の発音管理レジスタ初期化処理に進め(ステップS20→21)、発音管理レジスタに新規レコードを作成し、操作子IDを記録し、カウンタに“0”をセットする。
【0055】
また、タッチ・移動・リリース検出処理から操作子オフの通知を受けると、CPU6は、処理を前記(5)の消音管理レジスタ初期化処理に進め(ステップS22→S23)、消音管理レジスタに新規レコードを作成し、操作子IDを記録し、カウンタに“0”をセットする。
【0056】
なお、本実施の形態に代える動作として、移動操作により移動前の操作子上から移動後の操作子上へと指が動いたときのベロシティ値は、所定のデフォルト値を採用してもよいし、移動前の操作子の発音に用いたベロシティ値を保存しておき、これを移動後の操作子の発音時に使用してもよい。操作子外から操作子上に指が動いたときのベロシティ値は、移動前の操作子の発音に用いたベロシティ値がないことから、所定のデフォルト値を採用するのがよい。
【0057】
また、本実施の形態では、検出された加速度の値に所定の演算を施した演算結果を複数個、ログとして保存するようにしたが、これに限らず、検出された加速度の値を複数個、ログとして保存しておき、発音処理(図5のステップS16)において、保存されている複数組の加速度それぞれの値に所定の演算を施してから、所定のものを採用するようにしてもよい。
【0058】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0059】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0060】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0061】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0062】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0063】
2…タッチパネル,5…表示回路(表示手段),6…CPU(表示手段、保存手段、選択手段、決定手段),8…RAM(記憶手段),11…加速度センサ

【特許請求の範囲】
【請求項1】
タッチパネルと、
加速度センサと、
前記タッチパネル上に操作子を表示させる表示手段と、
前記加速度センサによって検出された加速度を所定の時間毎に取得し、最新のものから過去に遡ってn個、記憶手段に保存する保存手段と、
前記タッチパネル上に表示された操作子へのユーザのタッチ操作が検出されてから、前記保存手段によってk(k<n)個の加速度が保存されるまで待った後に、該k個の加速度を含む前記n個の保存された加速度の中から、所定の条件に合致する加速度を、少なくとも1個選択する選択手段と、
前記選択手段によって選択された加速度に基づいて、発生する音響信号の信号特性を決定する決定手段と
を有することを特徴とする電子音響信号発生装置。
【請求項2】
前記nおよびkの各値は、k<nの条件を満たす限り、任意の値に変更可能であることを特徴とする請求項1に記載の電子音響信号発生装置。
【請求項3】
前記決定手段は、所定の換算特性に基づいて、前記選択された加速度を音響信号特性に換算し、該換算された音響信号特性を前記発生する音響信号の信号特性に決定することを特徴とする請求項1または2に記載の電子音響信号発生装置。
【請求項4】
タッチパネルと、加速度センサとを備えた電子音響信号発生装置を制御する制御方法をコンピュータに実行させるプログラムであって、
前記制御方法は、
前記タッチパネル上に操作子を表示させる表示ステップと、
前記加速度センサによって検出された加速度を所定の時間毎に取得し、最新のものから過去に遡ってn個、記憶手段に保存する保存ステップと、
前記タッチパネル上に表示された操作子へのユーザのタッチ操作が検出されてから、前記保存ステップによってk(k<n)個の加速度が保存されるまで待った後に、該k個の加速度を含む前記n個の保存された加速度の中から、所定の条件に合致する加速度を、少なくとも1個選択する選択ステップと、
前記選択ステップによって選択された加速度に基づいて、発生する音響信号の信号特性を決定する決定ステップと
を有することを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−92545(P2013−92545A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2011−232614(P2011−232614)
【出願日】平成23年10月24日(2011.10.24)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】