(57)【要約】      （修正有）【課題】より自然楽器に近い所望の吹奏演奏を実現する電子楽器、電子楽器における発音制御方法、およびプログラムを提供する。【解決手段】演奏者３０６による吹奏演奏をデジタルサンプリングする吹奏演奏数値化手段３０１、吹奏演奏数値化手段３０１が出力する各センサ値から有限個のパターンを識別するパターン認識部３０２、識別したパターンとの距離を演奏者３０６に提示する提示部３０３、パターン認識部３０２が識別したパターン間を遷移する信号を生成する物理モデル部３０４、以上の各信号によって楽音を合成する音源部３０５、から構成される。【選択図】図３
2015225303.tif 000002
【特許請求の範囲】
【請求項１】
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成する特徴ベクトル生成手段と、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記吹奏出力生成手段により生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御する制御手段と、
を有することを特徴とする電子楽器。
【請求項２】
前記制御手段は、複数種の吹奏パターンそれぞれに対応した代表特徴ベクトルを複数記憶し、
前記音源は、前記複数の吹奏パターンのそれぞれに対応する吹奏波形を記憶する複数のウエーブテーブルと、当該各ウエーブテーブルの出力それぞれを加算した出力に基づく楽音を出力する出力回路とを含み、
前記制御手段は、前記特徴ベクトル生成手段により生成された特徴ベクトルと前記複数の代表特徴ベクトルとしての座標それぞれとの距離を算出し、前記各ウエーブテーブルの出力夫々に対して当該距離に反比例するように重み付けを行って加算する、
ことを特徴とする請求項１に記載の電子楽器。
【請求項３】
前記複数の吹奏パターンから吹奏パターンをひとつ指定した後、前記特徴ベクトル生成手段により特徴ベクトルが生成される毎に、当該生成された特徴ベクトルを、前記指定されている吹奏パターンに対応づけて記憶する動作を繰り返し、
前記複数の吹奏パターンそれぞれについて、当該各吹奏パターン対応付けて記憶されている複数の前記特徴ベクトルにより求められた重心値を、当該演奏パターン毎の代表特徴ベクトルとして記憶する記憶制御手段をさらに有することを特徴とする請求項１または２に記載の電子楽器。
【請求項４】
前記制御手段により算出された距離に基づいて、前記生成された吹奏出力に対応する吹奏パターンと前記予め記憶された吹奏パターンとの相違度を吹奏者に提示する提示手段をさらに備える、
ことを特徴とする請求項１ないし３のいずれかに記載の電子楽器。
【請求項５】
前記提示手段は、吹奏を行うためのマウスピース部の左右に配置され、前記相違度に応じていずれか一方を点滅させるとともに、前記相違度の値に応じて当該点滅の速度を変化させる２つの発光素子を含む、
ことを特徴とする請求項４に記載の電子楽器。
【請求項６】
電子楽器が、
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成し、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御する、発音制御方法。
【請求項７】
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成するステップと、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器における発音制御技術に関する。
【背景技術】
【０００２】
例えば電子管楽器等の電子楽器は、吹奏を検出するセンサとセンスされた値で音源を制御する。吹奏楽器の演奏では、吹奏者は、簡単には、指で音程を決め、吹き込みで音量や音色を制御する。実際の吹奏演奏においては、吹奏者は、唇の形や舌の位置、噛み圧、喉の形などによって音色を変化させて演奏する。
【０００３】
従来の電子管楽器はセンサの数が少なく、これらの吹奏の演奏技法をセンスできなかった。これに対して、センサの小型化や実装技術の進歩により、複数センサを吹き込み口周辺に実装し、演奏者の吹き込み圧、舌の動き、唇の位置、噛み圧、音声などを検出することを可能にした従来技術（例えば特許文献１に記載の技術）が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１２２６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、各センサの検出値は吹奏の演奏技法と１対１に対応するものではない。加えて口蓋の狭い範囲にセンサが集中するため、各センサはお互いに連動した値を検出する。従って、電子楽器において、センサ値をそのまま音量や音色に対応させても、伝統的な吹奏楽器と同様な吹奏演奏を実現することは難しいという課題があった。
【０００６】
本発明は、より自然楽器に近い所望の吹奏演奏を実現することを目的とする。
【課題を解決するための手段】
【０００７】
態様の一例では、複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成する特徴ベクトル生成手段と、予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、特徴ベクトル生成手段により生成された特徴ベクトルとを比較し、比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御する制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、より自然楽器に近い所望の吹奏演奏を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態による電子楽器のハードウェア構成例を示すブロック図である。
【図２】実施形態による電子楽器の外形例を示す図である。
【図３】電子楽器の機能ブロック図である。
【図４】ＷＡＶＥ音源のブロック図である。
【図５】発音制御処理の第１の実施形態の説明図である。
【図６】発音制御処理の第１の実施形態の全体処理の例を示すフローチャートである。
【図７】楽器が演奏を学習する処理の詳細例を示すフローチャートである。
【図８】学習結果を識別する処理の詳細例を示すフローチャートである。
【図９】識別した結果で発音する処理の詳細例を示すフローチャートである。
【図１０】提示装置の構成例を示す図である。
【図１１】発音制御処理の第２の実施形態の全体処理の例を示すフローチャートである。
【図１２】識別した結果で表示し発音する処理の詳細例を示すフローチャートである。
【図１３】発音制御処理の第３の実施形態の説明図である。
【図１４】発音制御処理の第３の実施形態の全体処理の例を示すフローチャートである。
【図１５】物理モデル変調を音源に加える処理の詳細例を示すフローチャートである。
【図１６】リンク部を６本演算する処理の詳細例を示すフローチャートである。
【図１７】質量体を３個演算する処理の詳細例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。以下に説明する本発明の各実施形態は、電子楽器における吹奏演奏を複数のセンサで数値化し、その数値を特徴値とする特徴ベクトルを生成し、この特徴ベクトルに基づいた演算を行って音源制御を行うものである。
【００１１】
図１は、電子楽器の以下に説明する各実施形態に共通のハードウェア構成例を示すブロック図である。
【００１２】
図１に示されるハードウェア構成例は、ＣＰＵ（セントラルプロセッシングユニット：中央演算処理装置）１０１、ＲＯＭ（リードオンリーメモリ）１０２、ＲＡＭ（ランダムアクセスメモリ）１０３、センサ群１０４、ＡＤＣ（アナログデジタルコンバータ）１０５、スイッチ群１０６、ＧＰＩＯ（ジェネラルパーパスインプットアウトプット）１０７，ＷＡＶＥ音源１０８、ＤＡＣ（デジタルアナログコンバータ）１０９、音響システム１１０、提示装置１１１を備え、これらがバス１１２によって相互に接続された構成を有する。同図に示される構成は、電子楽器を実現できるハードウェア構成の一例であり、そのようなハードウェア構成はこの構成に限定されるものではない。
ＣＰＵ１０１は、当該電子楽器全体の制御を行う。ＲＯＭ１０２は、発音制御プログラムを記憶する。ＲＡＭ１０３は、発音制御プログラムの実行時に、データを一時的に格納する。
【００１３】
センサ群１０４の各出力は、ＡＤＣ１０５でアナログ信号からデジタル信号に変換されて、ＣＰＵ１０１に読み込まれる。
【００１４】
スイッチ群１０６は吹奏楽器の指穴に相当する演奏機能を実現する。スイッチ群１０６の各操作状態は、ＧＰＩＯ１０７を介してＣＰＵ１０１に読み込まれる。
【００１５】
ＷＡＶＥ音源（ウェーブテーブル音源）１０８は、それが内蔵するＲＯＭに記憶された複数の楽音波形データを、スイッチ群１０６からＧＰＩＯ１０７およびＣＰＵ１０１を介して指定された音高で読み出し、楽音信号を出力する。
【００１６】
ＷＡＶＥ音源１０８から出力された楽音信号は、ＤＡＣ１０９においてデジタル信号からアナログ信号に変換された後、音響システム１１０を介して放音される。
【００１７】
提示装置１１１は、発音制御処理の第２の実施形態に関わるものであり、演奏者に種々の情報を与えるものである。
【００１８】
図２は、電子楽器の以下に説明する各実施形態に共通の筐体（外形）の例を示す図である。この筐体は、管楽器を模した本体形状部１、指穴に相当するスイッチ部２（図１のスイッチ部１０６の一部に対応する）、音響信号を放出する開口部３、音響信号を発音するスピーカ部４、各種の演奏以外の操作子５（図１のスイッチ部１０６の一部に対応する）、および複数のセンサ（図１のセンサ部１０４に対応する）と提示装置（図１の提示装置１１１に対応する）を実装したマウスピース部６を備える。
【００１９】
図３は、図１および図２に示される電子楽器の機能ブロック図である。この電子楽器は、複数のパラメータに基づいて音響信号を演算して発生する音源手段３０５（図１のＷＡＶＥ音源１０８に対応する）を備える。吹奏数値化手段３０１（図１のセンサ群１０４に対応する）は、吹き込み圧、舌の動き、唇の位置、噛み圧、音声などを例とする複数の吹奏演奏を数値化し、その複数の数値化された信号を特徴量とする特徴ベクトルを生成する。パターン認識手段３０２（図１のＣＰＵ１０１、ＲＯＭ１０２、およびＲＡＭ１０３に対応する）は、吹奏演奏に関する複数の演奏パターンのそれぞれについてその演奏パターンに対応する代表特徴ベクトルを記憶し、吹奏時に吹奏数値化手段３０１が生成した特徴ベクトルと演奏パターンごとの代表特徴ベクトルのそれぞれとを比較することにより、その比較結果に基づいて音源手段３０５における複数のパラメータを制御する。提示手段３０３（図１の提示装置１１１に対応する）は、吹奏時に吹奏数値化手段３０１が生成した特徴ベクトルと手本となる演奏パターンの代表特徴ベクトルとの距離を算出し、当該距離に基づいて吹奏時の演奏が手本となる演奏パターンとどの程度相違しているかを吹奏者に提示する。物理モデル３０４は、吹奏時に吹奏数値化手段３０１が出力する複数の数値化された信号を外部入力として、振動可能な振動体を模式化した物理モデルを振動させ、その振動に基づいて音源手段３０５における複数のパラメータを制御する。
【００２０】
以下に、図３に示される機能のそれぞれについて、詳細に説明する。演奏者３０６による吹奏を詳細にセンスするために、マウスピース部６の内部に、吹奏圧センサ４０１、上唇の位置を検出するリップセンサ４０２、歯の噛み圧を検出するバイトセンサ４０３、舌の形を検出するタンセンサ４０４、およびマウスピースの音声信号を取り込むボイスセンサ４０５等が、複数実装されている。これらの各センサ４０１〜４０５はそれぞれアナログ電圧値を出力し、各アナログ電圧値は図１のＡＤＣ１０５によってデジタル電圧値に変換されて、ＣＰＵ１０１に取り込まれる。すなわち、これらの４０１〜４０５のセンサ群１０４（図１）は、複数の吹奏演奏を数値化しその複数の数値化された信号を特徴量とする特徴ベクトルを生成する図３の吹奏数値化手段３０１の一部として機能する。
【００２１】
なお、他の実施形態として、吹奏者の唇を撮影するカメラが配置されてもよい。
【００２２】
図４は、図１のＷＡＶＥ音源１０８のブロック図である。管楽器吹奏では、口蓋の形や息の強さなどによって複数の音色の楽音が演奏される。ＷＡＶＥ音源１０８は、それぞれの演奏技法を代表する複数の演奏波形を各々録音したウエーブテーブル５０１（図中では例えば＃１〜＃３の３個）を備え、吹奏による演奏者の指配置で指定される音高で、各演奏波形が同時に発音させられる。各々の波形は同位相で鳴るように信号処理されていて、重ね合わせても音量が不自然に打ち消しあうようなことはない。その後に設けられた各乗算器５０２（例えば＃１〜＃３）と、加算器５０３で各々の演奏技法の発音バランスが調整され、その後必要ならば音量調整部５０４にて全体音量が調整され、図１のＤＡＣ１０９に送出され楽音が発音される。
【００２３】
なお、他の実施例として、シンセサイザやウエーブガイド音源がパラメータ制御されてもよい。
【００２４】
以上説明した図１〜図４の構成に基づく電子楽器の発音制御処理の第１〜第３の実施形態について、順次説明する。
【００２５】
図５は、発音制御処理の第１の実施形態の説明図である。図３に示されるように、マウスピース部６のセンサは４０１〜４０５のように複数個あり、それらからの各出力は図１のＡＤＣ１０５によって一定間隔でサンプリングされ、各デジタル値に変換される。それらの値の絶対値や前回との変化値を記録すると、１×Ｎの特徴ベクトルになる。図５中で黒塗りの小さい四角で表された位置は、ベクトル空間上での特徴ベクトルを表す。図５では簡単のため２次元で表現してあるが、実際には各点はセンサの数に応じた次元数（図３の例では４０１〜４０５の５次元）を有する多次元の特徴ベクトルを表す。
【００２６】
学習モードにおいては、演奏者による吹奏演奏が複数サンプリングされて記憶される。例えば、演奏者がオーバートーン演奏のために口蓋の形を変えるが、その演奏形状に対応したセンサ出力値の各組がそれぞれサンプリングされて、特徴ベクトルが複数記憶される。その記憶と同時に、演奏者はその演奏がオーバートーン演奏であるというスイッチを押す。さらに、タンギング演奏についても、同様の処理が実行される。これらの特徴ベクトルを補完して得られる平面のピーク値が有限個検出される。その個数は演奏識別数と一致し、例えばオーバートーン演奏とタンギング演奏の２個である。そのピークからの距離が予め定めた閾値以下のものとその閾値より大きいものとが識別される。その結果、各々の特徴ベクトルは、図５の破線６０１や６０２の内部として特徴抽出される。これらの分布６０１、６０２の各重心値が、演奏技法の代表特徴ベクトルとして算出されて記憶される。
【００２７】
次に、演奏モードにおいては、電子楽器が学習した代表特徴ベクトルそれぞれと演奏者の吹奏演奏で得られる特徴ベクトルとの各距離が演算される。ここで簡単に、代表特徴ベクトルと特徴ベクトルの差の絶対値の合計を距離とすると、その距離が近い代表特徴ベクトル程、その代表特徴ベクトルに対応する演奏技法による演奏らしさが近いと判断できる。この代表特徴ベクトルごとの各距離に反比例する各乗算値が図４に示されるＷＡＶＥ音源１０８における各乗算器５０２に与えられて、各演奏技法ごとの演奏波形がミックスされ、楽音信号が発音される。
【００２８】
図６は、発音制御処理の第１の実施形態の全体処理の例を示すフローチャートである。この処理は、図１のＣＰＵ１０１が、ＲＯＭ１０２に記憶された発音制御処理プログラムを実行する動作として実現される。この発音制御処理プログラムは、図３の吹奏数値化手段３０１とパターン認識手段３０２の機能を実現する。この発音制御処理プログラムは、例えば特には図示しない可搬記録媒体駆動装置に挿入される可搬記録媒体に記録して配布されてもよく、或いは特には図示しない通信インタフェースによりインターネットやローカルエリアネットワーク等のネットワークから取得できるようにしてもよい。以下随時、図１の構成を参照する。
【００２９】
まず、ＣＰＵ１０１は、楽器が演奏を学習する処理を実行する（ステップＳ７０１）。この処理の詳細については、図７で後述する。
【００３０】
次に、ＣＰＵ１０１は、学習結果を識別する処理を実行する（ステップＳ７０２）。この処理の詳細については、図８で後述する。
【００３１】
次に、ＣＰＵ１０１は、識別した結果で発音する処理を実行する（ステップＳ７０３）。この処理の詳細については、図９で後述する。
【００３２】
その後、ＣＰＵ１０１は、演奏者が学習モードスイッチ（図１のスイッチ群１０６の一部）（モード指定手段）を押したか否かを判定する（ステップＳ７０４）。ステップＳ７０４の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ７０３を繰り返し実行する。演奏者が学習モードスイッチを押した結果ステップＳ７０４の判定がＹＥＳになると、ＣＰＵ１０１は、ステップＳ７０１の処理に戻って、楽器が演奏を学習する処理をやり直す。
【００３３】
図７は、図６のステップＳ７０１の楽器が演奏を学習する処理（学習手段）の詳細例を示すフローチャートである。
【００３４】
まず、ＣＰＵ１０１は、演奏者が学習用の楽器演奏を行ったときのセンサ群１０４（図３の４０１〜４０５に対応する）の各センサ値を、ＡＤＣ１０５を介して取り込み、センサ出力ベクトル値を得る（ステップＳ８０１）。
【００３５】
次に、演奏者が現在の演奏がどの演奏波形に対応するかを波形番号スイッチ（図１のスイッチ群１０６の一部）を押すことにより指定し（演奏パターン指定手段）、ＣＰＵ１０１は押された波形番号スイッチに対応する波形番号を、ＧＰＩＯ１０７を介して取り込む（ステップＳ８０２）。
【００３６】
ＣＰＵ１０１は、ステップＳ８０２で取り込んだ波形番号とステップＳ８０１で得たセンサ出力ベクトル値を組にしてＲＡＭ１０３に記憶する（ステップＳ８０３）。
【００３７】
ＣＰＵ１０１は、全ての波形番号について規定の回数が終了したか否かを判定する（ステップＳ８０４）。ステップＳ８０４の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ８０１の処理に戻る。ステップＳ８０４の判定がＹＥＳになると、ＣＰＵ１０１は、図７のフローチャートの処理を終了して図６のステップＳ７０１の処理を終了する。
【００３８】
以上の図７のフローチャートで例示される図６のステップＳ７０１の楽器が演奏を学習する処理により、図５の破線６０１や６０２に対応する波形番号ごとに、黒い四角で示される特徴ベクトル群が取得される。
【００３９】
図８は、図６のステップＳ７０２の学習結果を識別する処理（学習手段）の詳細例を示すフローチャートである。
【００４０】
まず、ＣＰＵ１０１は、ＲＡＭ１０３上の変数である選択番号レジスタを０（ゼロ）に初期化する（ステップＳ９０１）。
【００４１】
次に、ＣＰＵ１０１は、図６のステップＳ７０１で得られている、選択番号レジスタが示す波形番号に対応する特徴ベクトル群を、ＲＡＭ１０３から読み込む（ステップＳ９０２）。
【００４２】
次に、ＣＰＵ１０１は、ステップＳ９０２で読み込んだ特徴ベクトル群に基づいて、選択番号レジスタが示す波形番号に対応する重心を求め、その結果得られる重心をその波形番号に対応する代表特徴ベクトルとして、ＲＡＭ１０３に記憶させる（ステップＳ９０３）。
【００４３】
その後、ＣＰＵ１０１は、選択番号レジスタが示す波形番号を＋１インクリメントする（ステップＳ９０４）。
【００４４】
ＣＰＵ１０１は、選択番号レジスタが示す波形番号を判定することにより、全ての波形について処理が終了したか否かを判定する（ステップＳ９０５）。ステップＳ９０５の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ９０２の処理に戻って次の波形番号に対応する代表特徴ベクトルの算出処理を繰り返し実行する。ステップＳ９０５の判定がＹＥＳになると、ＣＰＵ１０１は、図８のフローチャートの処理を終了し、図６のステップＳ７０２の学習結果を識別する処理を終了する。
【００４５】
図９は、図６のステップＳ７０３の、識別した結果で発音する処理の詳細例を示すフローチャートである。
【００４６】
まず、ＣＰＵ１０１は、演奏者が演奏モードで演奏したときのセンサ群１０４（図３の４０１〜４０５に対応する）の各センサ値を、ＡＤＣ１０５を介して取り込み、図５で説明した特徴ベクトルを得る（ステップＳ１００１）。
【００４７】
次に、ＣＰＵ１０１は、図５で説明したように、図６のステップＳ７０２でＲＡＭ１０３に得られている各波形番号の代表特徴ベクトルと、ステップＳ１００１で得られた特徴ベクトルとの各距離を、それぞれ演算する（ステップＳ１００２）。
【００４８】
ＣＰＵ１０１は、ステップＳ１００２で算出した各距離に反比例する各乗算値を、図１のＷＡＶＥ音源１０８を構成する図４の各乗算器５０２に与える（ステップＳ１００３）。すなわち、現在の演奏が似ている演奏技法に対応するウエーブテーブル５０１の出力ほど、出力される楽音信号に含まれる割合が大きくなる。
【００４９】
次に、ＣＰＵ１０１は、指操作スイッチ（図１のスイッチ群１０６の一部に対応する）の操作情報をＧＰＩＯ１０７を介して取得し、演奏者が管楽器の指使いに従って指定した音高を算出する（ステップＳ１００４）。
【００５０】
ＣＰＵ１０１は、ステップＳ１００３で定まった音量とステップＳ１００４で算出した音高でＷＡＶＥ音源１０８から出力される楽音信号を、ＤＡＣ１０９に送って発音させる（ステップＳ１００５）。その後、ＣＰＵ１０１は、図９のフローチャートの処理を終了し、図６のステップＳ７０３の識別した結果で発音する処理を終了する。
【００５１】
図１０は、図１の提示装置１１１の構成例を示す図である。一般的に、吹奏楽器の初心者は正しい演奏の口蓋の形をすることができないため、発音制御処理の第１の実施形態で説明した学習モードで正しい学習データを記録できない場合がある。そこで、以下に説明する発音制御処理の第２の実施形態では、学習モードを教師がお手本として設定し、演奏モードで生徒に教えることを可能とする。
【００５２】
図１０（ａ）および（ｂ）に示されるように、左ＬＥＤ（発光ダイオード）１１０１と右ＬＥＤ１１０２の２個のＬＥＤが、マウスピース部６（図２参照）を咥えた状態で生徒から見える位置に配置される。図１０に示される円筒で表された部分が、ＬＥＤ配置の外形図である。
【００５３】
演奏モードにおいては、生徒の演奏に応じて取得される特徴ベクトルと、先生が学習し生徒が演奏時に指定した演奏技法に対応する代表特徴ベクトルとの距離が比較される。そして、その距離が近づく場合には右ＬＥＤ１１０２が点滅させられ、その距離が遠ざかる場合左ＬＥＤ１１０１が点滅させられる。さらに、上記距離が遠くなるほど早く点滅させられ、逆に上記距離が一致する場合は点滅が止められる。生徒は口蓋の形を、左ＬＥＤ１１０１または右ＬＥＤ１１０２の点滅がとまるように、練習する。この練習によって、生徒は口蓋を変化させながら正しい形を取ることができる。
【００５４】
他の実施形態として、電子楽器のＬＣＤディスプレイに距離を３Ｄ表示してもよい。また、視覚だけではなく触覚を使うように距離を振動バイブレータの振動量で提示してもよい。
【００５５】
図１１は、上述の提示装置１１１を用いた発音制御処理の第２の実施形態の全体処理の例を示すフローチャートである。この処理は、図６のフローチャートで説明した発音制御処理の第１の実施形態の処理と同様に、図１のＣＰＵ１０１が、ＲＯＭ１０２に記憶された発音制御処理プログラムを実行する動作として実現される。この発音制御処理プログラムは、図３の吹奏数値化手段３０１とパターン認識手段３０２と提示手段３０３の機能を実現する。この発音制御処理プログラムも、例えば特には図示しない可搬記録媒体駆動装置に挿入される可搬記録媒体に記録して配布されてもよく、或いは特には図示しない通信インタフェースによりインターネットやローカルエリアネットワーク等のネットワークから取得できるようにしてもよい。以下随時、図１の構成を参照する。
【００５６】
まず、ＣＰＵ１０１は、先生の演奏により、楽器が演奏を学習する処理を実行する（ステップＳ１２０１）。この処理は、演奏者が先生になっただけで、発音制御処理の第１の実施形態の処理における図６のステップＳ７０１と実質的に同様であり、その詳細な処理の例は、前述した図７のフローチャートで示される。
【００５７】
次に、ＣＰＵ１０１は、先生の演奏による学習結果を識別する処理を実行する（ステップＳ１２０２）。この処理も、演奏者が先生になっただけで、発音制御処理の第１の実施形態の処理における図６のステップＳ７０２と実質的に同様であり、その詳細な処理の例は、前述した図８のフローチャートで示される。
【００５８】
次に、ＣＰＵ１０１は、識別した結果で表示し発音する処理を実行する（ステップＳ１２０３）。この処理の詳細については、図１２で後述する。
【００５９】
その後、生徒による演奏モードに移行する。ＣＰＵ１０１は、学習モードスイッチ（図１のスイッチ群１０６の一部）が押されたか否かを判定する（ステップＳ１２０４）。ステップＳ１２０４の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ１２０３を繰り返し実行する。先生が学習モードスイッチを押した結果ステップＳ１２０４の判定がＹＥＳになると、ＣＰＵ１０１は、ステップＳ１２０１の処理に戻って、先生の演奏により楽器が演奏を学習する処理をやり直す。
【００６０】
図１２は、図１１のステップＳ１２０３の、識別した結果で表示し発音する処理の詳細例を示すフローチャートである。
【００６１】
まず、ＣＰＵ１０１は、スイッチ部１０６での生徒のスイッチ入力に基づいて、学習する波形番号を入力する（ステップＳ１３０１）。
【００６２】
次に、ＣＰＵ１０１は、生徒が演奏したときのセンサ群１０４（図３の４０１〜４０５に対応する）の各センサ値を、ＡＤＣ１０５を介して取り込み、図５で説明した演奏ベクトル値を得る（ステップＳ１３０２）。この処理は、発音制御処理の第１の実施形態における図９のステップＳ１００１と同様である。
【００６３】
次に、ＣＰＵ１０１は、図５で説明したように、図１１のステップＳ１２０２でＲＡＭ１０３に得られている各波形番号の代表特徴ベクトルと、ステップＳ１３０１で得られた特徴ベクトルとの各距離を、それぞれ演算する（ステップＳ１３０３）。この処理も、発音制御処理の第１の実施形態における図９のステップＳ１００２と同様である。
【００６４】
次に、ＣＰＵ１０１は、図５で説明したように、図１１のステップＳ１２０２でＲＡＭ１０３に得られている各波形番号の代表特徴ベクトルのうちステップＳ１３０１で生徒が指定した波形番号の代表特徴ベクトルと、ステップＳ１３０２で得られた特徴ベクトルとの距離を演算する（ステップＳ１３０３）。
【００６５】
さらに、ＣＰＵ１０１は、前回演奏時にステップＳ１３０３で算出され後述するステップＳ１３０６でＲＡＭ１０３に保持されている距離と、今回演奏時にステップＳ１３０３で算出した距離との、差分を演算する（ステップＳ１３０４）。
【００６６】
ステップＳ１３０４での計算の結果、ＣＰＵ１０１は、今回算出した距離が前回算出した距離よりも増えた場合には、提示装置１１１を構成する左ＬＥＤ１１０１（図１０参照）を、また、減った場合には、提示装置１１１を構成する右ＬＥＤ１１０２（図１０参照）を、今回ステップＳ１３０３で算出した距離の絶対値に応じた速度で点滅させる（ステップＳ１３０５）。
【００６７】
その後、ＣＰＵ１０１は、今回ステップＳ１３０３で算出した距離を、ＲＡＭ１０３に記憶させる（ステップＳ１３０６）。
【００６８】
最後に、ＣＰＵ１０１は、識別した結果で発音する処理を実行する（ステップＳ１３０７）。この処理は、発音制御処理の第１の実施形態で説明した図６のステップＳ７０３の処理（図９のフローチャートで例示される処理）と同様である。その後、ＣＰＵ１０１は、図１２のフローチャートの処理を終了し、図１１のステップＳ１２０３の識別した結果で表示し発音する処理を終了する。
【００６９】
次に、発音制御処理の第３の実施形態について説明する。図１３は、発音制御処理の第３の実施形態の説明図である。演奏モードで検出された演奏波形から別の演奏波形に遷移する場合、自然楽器では滑らかに変わるのではなく、中間の不安定な演奏状態を介して遷移する。
【００７０】
図１３は、その遷移状態を実現する振動体を模式化した図物理モデルを示している。この物理モデルは、黒丸で示される３つの質量体１４０１ａ、１４０１ｂ、１４０１ｃを、黒い直線で示される制動機能を有する３本のバネ（リンク部）１４０２ａ、１４０２ｂ、１４０２ｃ、で相互に接続し、さらに一端が上記３つの質量体１４０１ａ、１４０１ｂ、１４０１ｃにそれぞれ接続され、他端が固定されている３本の制動機能を有するバネ（リンク部）１４０３ａ、１４０３ｂ、１４０３ｃを接続し、合計６本のバネと３個の質量体で構成されている。
【００７１】
この物理モデルは、外部からの入力によって、各々の質量体の位置や、バネの強さ、制動の強さによって定められた自励振動を生じるように構成されている。これを動作させるには、ひとつの質量体をセンサ群１０４を構成するひとつのセンサの値で移動させて自励振動させ、その振動によって振動する他の２つの質量体の位置を取り出し、各演奏の音量、すなわち図４の乗算器５０２の乗算値を制御すればよい。
【００７２】
具体的には以下の演算が、各質量体とバネ毎に必要な離散時間で、繰り返し実行される。
【００７３】
・位置＝力÷質量体の質量＋２×直前の位置−直前のさらの直前の位置
・・・（１）
【００７４】
・距離＝位置−直前の位置  ・・・（２）
【００７５】
・力＝バネの強さ×（距離−バネ長さ）＋制動の強さ×（距離−直前の距離）
・・・（３）
【００７６】
本実施形態で採用される物理モデルは、３質量体の自由振動であり、一般的には解析解を持たない。このモデルが生成する自励振動は３箇所で拘束されているため、その動きをある程度予測可能であるが、遷移経路によっては複雑な動きをする。このある程度予測可能である複雑な動きが、電子楽器の演奏性を決定づける性能である。演奏性は、簡単すぎては演奏にすぐ飽きてしまうし、複雑すぎては演奏できない。本実施形態が目的とするのは、各演奏から各演奏に推移する際の遷移状態を模倣するモデルである。従って、実際の自然楽器の構造と必ずしも対応する必要はなく、このように簡略化されたモデルでも十分に機能する。
【００７７】
図１４は、上述の物理モデルを利用する発音制御処理の第３の実施形態の全体処理の例を示すフローチャートである。この処理は、図６のフローチャートで説明した発音制御処理の第１の実施形態の処理と同様に、図１のＣＰＵ１０１が、ＲＯＭ１０２に記憶された発音制御処理プログラムを実行する動作として実現される。この発音制御処理プログラムは、図３の吹奏数値化手段３０１と物理モデル３０４の機能を実現する。この発音制御処理プログラムも、例えば特には図示しない可搬記録媒体駆動装置に挿入される可搬記録媒体に記録して配布されてもよく、或いは特には図示しない通信インタフェースによりインターネットやローカルエリアネットワーク等のネットワークから取得できるようにしてもよい。以下随時、図１の構成を参照する。
【００７８】
まず、ＣＰＵ１０１は、識別した結果で発音する処理を実行する（ステップＳ１５０１）。この処理は、発音制御処理の第１の実施形態で説明した図６のステップＳ７０３の処理（図９のフローチャートで例示される処理）と同様である。なお、各演奏技法に対応する各波形番号ごとの代表特徴ベクトルは、前述した発音制御処理の第１または第２の実施形態で説明した学習モードでの処理により、ＲＡＭ１０３に予め得られているとする。本実施形態では、学習モードの処理は省略している。
【００７９】
次に、ＣＰＵ１０１は、音量最大の波形が変わったか否かを判定する（ステップＳ１５０２）。
【００８０】
ステップＳ１５０２の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ１５０１に戻り発音動作を続行する。
【００８１】
ステップＳ１５０２の判定がＹＥＳならば、ＣＰＵ１０１は、物理モデルによる変調をＷＡＶＥ音源１０８（図１）に加える処理を実行する（ステップＳ１５０３）。
【００８２】
図１５は、図１４のステップＳ１５０３の物理モデルによる変調を音源に加える処理の詳細例を示すフローチャートである。
【００８３】
まず、ＣＰＵ１０１は、現在のセンサ群１０４（図３の４０１〜４０５に対応する）の各センサ値を、ＡＤＣ１０５を介して取り込み、そのセンサ値で、図１３に例示した物理モデルにおける質量体１４０１ａの位置を変更する（ステップＳ１６０１）。
【００８４】
次に、ＣＰＵ１０１は、図１３に例示した物理モデルにおけるバネ（リンク部）を６本演算する処理を実行する（ステップＳ１６０２）。この処理の詳細は、図１６のフローチャートを用いていて後述する。
【００８５】
次に、ＣＰＵ１０１は、図１３に例示した物理モデルにおける質量体を３個演算する処理を実行する（ステップＳ１６０３）。この処理の詳細は、図１７のフローチャートを用いて後述する。
【００８６】
最後に、ＣＰＵ１０１は、図１３に例示した物理モデルにおける質量体１４０１ｂ、質量体１４０１ｃの位置を取り出し、図１のＷＡＶＥ音源１０８を構成する図４の乗算器５０２の乗算値に加算する（ステップＳ１６０３）。その後、ＣＰＵ１０１は、図１５のフローチャートの処理を終了し、図１４のステップＳ１５０３の処理を終了する。
【００８７】
図１６は、図１５のステップＳ１６０２のリンク部を６本演算する処理の詳細例を示すフローチャートである。
【００８８】
まず、ＣＰＵ１０１は、バネ６本の処理をカウントするためのＲＡＭ１０３上の変数であるカウンタを０（ゼロ）に初期化する（ステップＳ１７０１）。
【００８９】
その後、ＣＰＵ１０１は、ステップＳ１７０２からＳ１７０６までの一連の処理を、バネ６本に対応して６回繰り返し実行する。
【００９０】
まず、ＣＰＵ１０１は、前述した（２）式により、距離を計算する（ステップＳ１７０２）。
【００９１】
次に、ＣＰＵ１０１は、前述した（３）式の「バネの強さ×（距離−バネ長さ）」を計算し、ＲＡＭ１０３上の変数Ｌに格納する（ステップＳ１７０３）。
【００９２】
次に、ＣＰＵ１０１は、前述した（３）式の「制動の強さ×（距離−直前の距離）」を計算し、ＲＡＭ１０３上の変数Ｍに格納する（ステップＳ１７０４）。
【００９３】
さらに、ＣＰＵ１０１は、ステップＳ１７０３で計算した変数Ｌの値とステップＳ１７０４で計算した変数Ｍの値を加算することにより（３）式を計算し、その計算結果を現在処理しているバネに対応するリンクの力を保持するＲＡＭ１０３上のリンクの力レジスタに記憶させる（ステップＳ１７０５）。
【００９４】
その後、ＣＰＵ１０１は、カウンタの値を判定することにより、６本のバネに対応するリンク全てについて上記演算を完了したか否かを判定する（ステップＳ１７０６）。ステップＳ１７０６の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ１７０２の処理に戻って、次のバネに対応するリンクについて上記演算を続行する。ステップＳ１７０６の判定がＹＥＳになると、ＣＰＵ１０１は、図１６のフローチャートの処理を終了し、図１５のステップＳ１６０２のリンク部を６本演算する処理を終了する。
【００９５】
図１７は、図１５のステップＳ１６０３の質量体を３個演算する処理の詳細を示すフローチャートである。
【００９６】
まず、ＣＰＵ１０１は、質量体３個の処理をカウントするためのＲＡＭ１０３上の変数であるカウンタを０（ゼロ）に初期化する（ステップＳ１８０１）。
【００９７】
その後、ＣＰＵ１０１は、ステップＳ１８０２からＳ１８０５までの一連の処理を、質量体３個に対応して３回繰り返し実行する。
【００９８】
まず、ＣＰＵ１０１は、現在のカウンタ値が示す質量体に接続されている各リンクに対応するＲＡＭ１０３上の各リンクの力レジスタの値を合計する（ステップＳ１８０２）。このレジスタ値は、図１５のステップＳ１６０２内の図１６のステップＳ１７０５で計算されＲＡＭ１０３に保持されているものである。
【００９９】
次に、ＣＰＵ１０１は、前述した（１）式により、新しい位置計算する（ステップＳ１８０３）。
【０１００】
ＣＰＵ１０１は、ステップＳ１８０３で計算された新しい位置によって、カウンタ値が示す現在の質量体の位置を更新する（ステップＳ１８０４）。
【０１０１】
その後、ＣＰＵ１０１は、カウンタの値を判定することにより、３個の質量体全てについて上記演算を完了したか否かを判定する（ステップＳ１８０５）。ステップＳ１８０５の判定がＮＯならば、ＣＰＵ１０１は、ステップＳ１８０２の処理に戻って、次の質量体について上記演算を続行する。ステップＳ１８０５の判定がＹＥＳになると、ＣＰＵ１０１は、図１７のフローチャートの処理を終了し、図１５のステップＳ１６０３の質量体を３個演算する処理を終了する。
【０１０２】
上述の発音制御処理の第３の実施形態に関連する他の実施形態として、図１３に例示される物理モデルの質量体を変えてもよいし、質量体をさらに増やしてもよい。また、モデルを別の物理モデルの構成と入れ替えてもよい。
【０１０３】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成する特徴ベクトル生成手段と、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記吹奏出力生成手段により生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御する制御手段と、
を有することを特徴とする電子楽器。
（付記２）
前記制御手段は、複数種の吹奏パターンそれぞれに対応した代表特徴ベクトルを複数記憶し、
前記音源は、前記複数の吹奏パターンのそれぞれに対応する吹奏波形を記憶する複数のウエーブテーブルと、当該各ウエーブテーブルの出力それぞれを加算した出力に基づく楽音を出力する出力回路とを含み、
前記制御手段は、前記特徴ベクトル生成手段により生成された特徴ベクトルと前記複数の代表特徴ベクトルとしての座標それぞれとの距離を算出し、前記各ウエーブテーブルの出力夫々に対して当該距離に反比例するように重み付けを行って加算する、
ことを特徴とする付記１に記載の電子楽器。
（付記３）
前記複数の吹奏パターンから吹奏パターンをひとつ指定した後、前記特徴ベクトル生成手段により特徴ベクトルが生成される毎に、当該生成された特徴ベクトルを、前記指定されている吹奏パターンに対応づけて記憶する動作を繰り返し、
前記複数の吹奏パターンそれぞれについて、当該各吹奏パターン対応付けて記憶されている複数の前記特徴ベクトルにより求められた重心値を、当該演奏パターン毎の代表特徴ベクトルとして記憶する記憶制御手段をさらに有することを特徴とする付記１または２に記載の電子楽器。
（付記４）
前記制御手段により算出された距離に基づいて、前記生成された吹奏出力に対応する吹奏パターンと前記予め記憶された吹奏パターンとの相違度を吹奏者に提示する提示手段をさらに備える、
ことを特徴とする付記１ないし３のいずれかに記載の電子楽器。
（付記５）
前記提示手段は、吹奏を行うためのマウスピース部の左右に配置され、前記相違度に応じていずれか一方を点滅させるとともに、前記相違度の値に応じて当該点滅の速度を変化させる２つの発光素子を含む、
ことを特徴とする付記４に記載の電子楽器。
（付記６）
電子楽器が、
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成し、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御する、発音制御方法。
（付記７）
複数種の吹奏センサそれぞれから吹奏出力値を取得するとともに、当該取得された複数の吹奏出力値夫々を特徴量とする特徴ベクトルを生成するステップと、
予め定められた吹奏パターンに対応して記憶された代表特徴ベクトルと、前記生成された特徴ベクトルとを比較し、当該比較結果に基づいて音源にて発生すべき楽音の複数のパラメータの少なくともひとつを制御するステップと、
をコンピュータに実行させるプログラム。
【符号の説明】
【０１０４】
１  本体形状部
２  スイッチ部
３  開口部
４  スピーカ部
５  操作子
６  マウスピース部
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  センサ群
１０５  ＡＤＣ
１０６  スイッチ群
１０７  ＧＰＩＯ
１０８  ＷＡＶＥ音源
１０９  ＤＡＣ
１１０  音響システム
１１１  提示装置
１１２  バス
４０１  吹奏圧センサ
４０２  リップセンサ
４０３  バイトセンサ
４０４  タンセンサ
４０５  ボイスセンサ
５０１  ウエーブテーブル
５０２  乗算器
５０３  加算器
５０４  音量調整部
１１０１  左ＬＥＤ
１１０２  右ＬＥＤ
【図１】
2015225303.tif 000003
【図４】
2015225303.tif 000004
【図６】
2015225303.tif 000005
【図７】
2015225303.tif 000006
【図８】
2015225303.tif 000007
【図９】
2015225303.tif 000008
【図１１】
2015225303.tif 000009
【図１２】
2015225303.tif 000010
【図１４】
2015225303.tif 000011
【図１５】
2015225303.tif 000012
【図１６】
2015225303.tif 000013
【図１７】
2015225303.tif 000014
【図２】
2015225303.tif 000015
【図３】
2015225303.tif 000016
【図５】
2015225303.tif 000017
【図１０】
2015225303.tif 000018
【図１３】
2015225303.tif 000019