(57)【特許請求の範囲】
【請求項１】
息の強さを検出するブレスセンサ、及び噛んだ強さを検出するアンブシャセンサを少なくとも備えた外部入力手段と本体とからなり、
この本体は、楽音を発生する音源手段と、外部入力手段の位置を検出する位置検出手段と、当該位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果に基づいて前記音源手段から発生する楽音を制御する制御手段と、を有する楽音発生装置。
【請求項２】
前記制御手段は、前記位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果の夫々を発生する楽音の発音条件を設定するためのパラメータに変換し、これらパラメータに基づいて前記音源手段を制御する音源制御手段を有する請求項１記載の楽音発生装置。
【請求項３】
前記制御手段は、前記位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果の少なくとも１つに基づいて発生する楽音の発音条件を設定するために予め用意されたパラメータを変更操作する操作入力手段を有する請求項１記載の楽音発生装置。
【請求項４】
前記予め用意されたパラメータは音色であり、前記位置検出手段の検出結果に基づいて音色を変更操作する請求項３記載の楽音発生装置。
【請求項５】
前記制御手段はさらに、前記操作入力手段により変更操作に用いた前記センサの検出結果以外のセンサの検出結果が所定の条件を満足した場合に前記操作入力手段の動作を有効とする有効制御手段を有する請求項３記載の楽音発生装置。
【請求項６】
前記有効制御手段は、前記外部入力手段が備えるセンサの検出結果の少なくとも１つが予め指定された閾値を超えた場合に前記操作入力手段の動作を有効とする請求項５記載の楽音発生装置。
【請求項７】
前記制御手段は、発生する楽音の発音条件を設定するために予め用意されたパラメータの値を表示する表示手段を有するとともに当該表示手段上に前記位置検出手段の検出結果に対応して表示位置が変更する表示体を表示し、
前記操作入力手段は、前記外部入力手段が備えるセンサの検出結果が所定の条件を満足しかつ前記表示体が予め指定された表示位置にある場合に前記パラメータの値を変更する請求項３記載の楽音発生装置。
【請求項８】
前記制御手段は、前記位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果の夫々を発生する楽音の発音条件を設定するためのパラメータに変換し、これらパラメータに基づいて前記音源手段を制御する音源制御手段と、前記位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果の少なくとも１つに基づいて発生する楽音の発音条件を設定するために予め用意されたパラメータを変更操作する操作入力手段と、前記音源制御手段及び操作入力手段のいずれか一方を選択して有効とする選択手段と、を有する請求項１記載の楽音発生装置。
【請求項９】
前記選択手段は、前記外部入力手段が予め設定された領域にあるか否かを判定し、領域内にあると判定された場合は前記操作入力手段を選択して有効とし、領域内にないと判定された場合は前記音源制御手段を選択して有効とする請求項８記載の楽音発生装置。
【請求項１０】
前記選択手段は、前記発生する楽音の音高を指定する操作子群が操作されている場合には前記音源制御手段を選択して有効とする請求項８記載の楽音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音の発音に関わる各種条件を設定するための技術に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
例えば電子楽器において、ベンダー、モジュレーションホイール、タッチレスポンス鍵盤、ブレスセンサ等の操作子は、より幅広い音楽表現を実現するために設けられる。それらの操作子を複数同時に操作した場合には、楽音の発音を様々に制御することができ、素晴らしい音楽表現を行うこともできる。
【０００３】
鍵盤等の演奏操作子群を備えた電子楽器では、両手で鍵盤を弾くことが本来の演奏操作である。このため、本来の演奏操作を損なうことなく操作できる操作子は、ブレスセンサやコントロールペダルといった手を使わない操作子に限定されることになる。しかし、それらの操作子では、入力できる情報量が小さい。このため、ユーザは、本来の演奏操作を損なうことなく幅広い音楽表現を行うことができないという問題点があった。
【０００４】
なお、本来の演奏操作を損なわせることを回避するために、例えばモジュレーションホイールを演奏用途（ビブラート等の深さのコントロール用）としてだけでなく、音色等の他のパラメータの数値変更も行えるようにしたものもある。また、ペダルをサスティンのコントロール用以外に、音色番号を変更するためのスイッチとして使用できるようにしたものもある。しかし、これらは何れも、ユーザが所定のスイッチ等を操作してその操作子の機能を切り換える必要があった。このため、現実的には、幅広い音楽表現を容易に行うことはできなかった。換言すれば、上記問題点を実質的に解決することはできなかった。
【０００５】
本発明の課題は、ユーザに本来の演奏操作を損なわせることなく、幅広い音楽表現を行えるようにすることにある。
【０００６】
【課題を解決するための手段】
本発明の楽音発生装置は、息の強さを検出するブレスセンサ、及び噛んだ強さを検出するアンブシャセンサを少なくとも備えた外部入力手段と本体とからなり、この本体は、楽音を発生する音源手段と、外部入力手段の位置を検出する位置検出手段と、位置検出手段の検出結果及び前記外部入力手段が備えるセンサの検出結果に基づいて音源手段から発生する楽音を制御する制御手段と、を具備する。
【０００７】
そして上記の構成において、制御手段は、位置検出手段の検出結果及び外部入力手段が備えるセンサの検出結果の夫々を発生する楽音の発音条件を設定するためのパラメータに変換し、これらパラメータに基づいて前記音源手段を制御する音源制御手段を有することが望ましい。
【０００８】
また、制御手段は、位置検出手段の検出結果及び外部入力手段が備えるセンサの検出結果の少なくとも１つに基づいて発生する楽音の発音条件を設定するために予め用意されたパラメータを変更操作する操作入力手段を有することが望ましい。この場合、予め用意されたパラメータは音色であり、前記位置検出手段の検出結果に基づいて音色を変更操作するようにしてもよい。
さらに制御手段は、操作入力手段により変更操作に用いたセンサの検出結果以外のセンサの検出結果が所定の条件を満足した場合に操作入力手段の動作を有効とする有効制御手段を有することが望ましい。この場合、有効制御手段は、外部入力手段が備えるセンサの検出結果の少なくとも１つが予め指定された閾値を超えた場合に前記操作入力手段の動作を有効とすることが望ましい。
また、制御手段は、発生する楽音の発音条件を設定するために予め用意されたパラメータの値を表示する表示手段を有するとともに表示手段上に位置検出手段の検出結果に対応して表示位置が変更する表示体を表示し、操作入力手段は、外部入力手段が備えるセンサの検出結果が所定の条件を満足しかつ前記表示体が予め指定された表示位置にある場合に前記パラメータの値を変更することが望ましい。
【０００９】
また、制御手段は、位置検出手段の検出結果及び外部入力手段が備えるセンサの検出結果の夫々を発生する楽音の発音条件を設定するためのパラメータに変換し、これらパラメータに基づいて音源手段を制御する音源制御手段と、位置検出手段の検出結果及び外部入力手段が備えるセンサの検出結果の少なくとも１つに基づいて発生する楽音の発音条件を設定するために予め用意されたパラメータを変更操作する操作入力手段と、音源制御手段及び操作入力手段のいずれか一方を選択して有効とする選択手段と、を有することが望ましい。ここで、選択手段は、外部入力手段が予め設定された領域にあるか否かを判定し、領域内にあると判定された場合は操作入力手段を選択して有効とし、領域内にないと判定された場合は音源制御手段を選択して有効とするようにしてもよい。また、選択手段は、発生する楽音の音高を指定する操作子群が操作されている場合には音源制御手段を選択して有効とするようにしてもよい。
【００１０】
本発明は、手を使わずに情報を入力することができることに着目して、ユーザ（外部入力手段）の位置、吐く息の強さ、及び噛む強さの少なくとも３種類の情報を検出し、発音条件（パラメータ）の選択、及びそれの変更を、それら検出した情報を基に行う。
【００１１】
情報の種類（個数）が増えるに伴い、それによって表現できる情報量は、各種類の情報が２値的な値しかとらないとしても指数的に増大する。３種類の情報では、変更対象のパラメータ数等を考慮すれば、変更対象のパラメータの選択や、それの変更をユーザは任意に行えるようになる。これにより、手を使うことなく、幅広い音楽表現が可能となる。
【００１２】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。本実施の形態は、電子楽器に本発明を適用したものである。
＜第１の実施の形態＞
図１は、第１の実施の形態による外部入力装置の構成を説明する図である。
【００１３】
図１（ａ）に示すように、外部入力装置１００は、各種センサが設けられた本体１０１を、ヘッドフォン型の装着部１０２に変形可能な取付部１０６を介して取り付けて構成されている。
【００１４】
上記本体１０１には、図１（ｂ）及び図１（ｃ）に示すように、位置センサ発光部１０３、ブレスセンサ吹き込み口１０４、及び唇の噛みしめ量を検出するためのアンブシャセンサ１０５が設けられている。位置センサ発光部１０３は、例えば赤外線を照射するＬＥＤである。ブレスセンサ吹き込み口１０４の奥にはユーザが吐いた息の強さを検出するためのブレスセンサが設けられている。
【００１５】
外部入力装置１００は、装着部１０２によりユーザの頭に装着することができる。その装着した後は、取付部材１０６を曲げて、本体１０１のブレスセンサ吹き込み口１０４があるほうの先端部分を口にくわえられる位置に調整する。その調整を行うことにより、外部入力装置１００の使用準備が完了する。
【００１６】
図２は、電子楽器本体の概観図である。
図２に示すように、電子楽器２０１には、ユーザが本来の演奏操作を行う鍵盤２０２と、各種パラメータの設定を行うための画面が表示されるＬＣＤ２０３と、上記位置センサ発光部１０３から照射された光（例えば赤外線）を受光する３つの位置センサ受光部２０４が設けられている。鍵盤２０２の演奏操作を行うユーザから見て、位置センサ受光部２０４ａは楽器の左端部分に配置されている。同様に、受光部２０４ｂは楽器中央部分に、受光部２０４ｃは楽器の右端部分にそれぞれ配置されている。位置センサ発光部１０３とそれの受光部２０４とで位置センサが構成され、その位置センサによって外部入力装置１００の位置が検出される。
【００１７】
なお、位置センサ受光部２０４を配置する個数は、それ以上であってもそれ以下であっても良い。また、位置センサ受光部２０４は、それが向けられた側に位置する位置センサ発光部１０３から発した光を受光することから、より広い範囲で位置センサ発光部１０３からの光を受光できるように、電子楽器２０１の上面だけでなく、側面に位置センサ発光部２０４を配置しても良い。
【００１８】
図３は、上記した構成を備えた電子楽器２０１のハードブロック図である。
マイクロコンピュータ（以降、マイコンと記す）３０１は、例えばＣＰＵである。そのマイコン３０１は、プログラムＲＯＭ３０２に格納されているプログラムを実行することにより、ワークＲＯＭ３０３をワーク領域として使用しながら楽器２０１全体の制御を行う。
【００１９】
スイッチ群３０７は、自動演奏モード等の各種モードを設定するためのモードスイッチ、自動演奏等のスタート或いは終了を指定するためのスタート／ストップスイッチ、自動演奏させる曲や音色等を指定するための複数の数字ボタン等をまとめて表したものである。マイコン３０１は、このスイッチ群３０７、及び鍵盤２０２のスキャンを行うことにより、各種スイッチの操作状態や鍵盤２０２の操作状態をそれぞれ検出し、その検出結果に応じて各部の制御を行う。
【００２０】
具体的には、スイッチ群３０７に対して行われた操作の内容に応じて、ＬＣＤ２０３に表示させる画面の変更や、音源ＬＳＩ３０８の設定の変更等を行う。鍵盤２０２に対する操作を検出した場合には、音源ＬＳＩ３０８に、発音させる楽音の音高（ノートナンバー）等を付加した制御コマンド（発音命令）を出力し、押鍵された鍵に対応する音高の楽音を発音させる。曲の自動演奏は、例えばプログラムＲＯＭ３０２から演奏データを読み出し、それに付加されている時間情報に従って各イベントのデータを処理し、それによって生成した制御コマンドを音源ＬＳＩ３０８に随時出力していくことにより、それを実行する。
【００２１】
音源ＬＳＩ３０８は、制御コマンドが発音命令であった場合、その発音命令に従って波形ＲＯＭ３０９に格納されている波形データを読み出し、それに設定されている音響効果を付加した後、アナログのオーディオ信号に変換してアンプ３１０に出力する。アンプ３１０は、そのオーディオ信号を増幅してスピーカ３１１に出力する。スピーカ３１１にオーディオ信号が入力することにより、楽音が発音される。
【００２２】
ＬＣＤ２０３に画面表示を行うための画像データは、例えばプログラムＲＯＭ３０２に格納されている。その画像データは、例えば画像を構成する各部分画像毎に用意している。マイコン３０１は、例えばプログラムＲＯＭ３０２から画面表示に必要な画像データを読み出してワークＲＡＭ３０３に格納し、その画像データを表示すべき位置を指定する座標データとともにＬＣＤ表示部３０６に転送する。他方のＬＣＤ表示部３０６は、マイコン３０１から転送された画像データを、その座標データに従ってＬＣＤ２０３の画面に配置する。これにより、画像データ量を抑えつつ、ＬＣＤ２０３上に様々な画面を表示することを可能としている。
【００２３】
マイコン３０１と外部入力装置１００とは、例えばインターフェイス、端子、及びケーブル（共に図示せず）を介して接続されている。マイコン３０１は、例えば所定の時間間隔毎に、外部入力装置１００に対するユーザの操作を検出し、その検出結果に応じた設定を行う。
【００２４】
ユーザの操作を検出する場合、マイコン３０１は、位置センサ発光部１０３を所定時間駆動するとともに、ブレスセンサ３０４、アンブシャセンサ１０５から出力される検出信号を取り込む。その一方では、位置センサ受光部群３０５を構成する３つの受光部群２０４ａ〜２０４ｃから出力された受光信号を取り込む。それら取り込んだ値に基づいて各種の設定やＬＣＤ２０３に表示させる画面の切り換え等を行う。
【００２５】
以上が本実施の形態による電子楽器２０１の構成、及び動作の概略である。次に、図４〜図６を参照して、本発明に特に関わる動作についてより詳細に説明する。
【００２６】
図４は、位置センサで検出する空間（領域）を説明する図である。これは、各位置センサ受光部２０４ａ〜２０４ｃによって位置センサ発光部１０３を検出できるそれぞれの空間領域の範囲を示したものである。ａｒｅａ１は位置センサ受光部２０４ａが検出する空間領域であり、ａｒｅａ２は受光部２０４ｂ、ａｒｅａ３は受光部２０４ｃがそれぞれ検出する空間領域である。
【００２７】
図４（ａ）、及び（ｂ）に示すように、各位置センサ受光部２０４で位置センサ受光部１０３を検出する空間領域の大きさ自体は、各位置センサ受光部２０４で同じである。その空間領域は、位置センサ受光部２０４に受光される光量によって決まる。このため、各位置センサ受光部２０４を中心にして形成されている。
【００２８】
マイコン３０１は、各位置センサ受光部２０４の受光信号値を比較することにより、外部入力装置１００がどの空間領域に位置しているかを検出する。また、その信号値の大きさから、外部入力装置１００と位置センサ受光部２０４（信号値が最も大きいもの）との距離を検出することができる。
【００２９】
第１の実施の形態では、各空間領域毎、即ち位置センサ受光部２０４毎に、音色（番号）を割り当て、アンブシャセンサ１０５が検出した噛んだ強さが予め定めた閾値以上となったとき、外部入力装置（位置センサ発光部１０３）１００を検出している位置センサ受光部２０４に割り当てた音色を設定するようにしている。これにより、手を使わない音色の切り換えを実現させている。その音色の切り換えは、マイコン３０１が、音源ＬＳＩ３０８に音色番号を付加した制御コマンドを出力することで行われる。
【００３０】
また、第１の実施の形態では、アンブシャセンサ１０５が検出した噛む強さに応じて、音程を変更するようにしている。他方のブレスセンサ３０４が検出した息の強さに応じては、音量、更にはビブラートの深さを変更するようにしている。これらにより、演奏操作によって発音される楽音を容易に様々に変化させることができるようにしている。
【００３１】
更に、第１の実施の形態では、ユーザの要望により広く対応するために、両手演奏中であっても任意のパラメータを変更できるようにしている。図５を参照して、そのことについて説明する。
【００３２】
図５（ａ）〜（ｄ）は、それぞれ、ＬＣＤ表示例を示す図である。より具体的には、図５（ａ）はエンベロープレベルを設定するためのエンベロープ設定画面、同図（ｂ）は設定内容を変更するパラメータを選択するためのメインメニュー画面、同図（ｃ）はリズムを設定するためのリズム設定画面、同図（ｄ）はテンポを設定するためのテンポ設定画面である。
【００３３】
図５（ａ）〜（ｄ）に示す各画面内にはカーソル５０１、及び、何らかの機能が割り当てられたスイッチ或いはアイコン（部分画像）が表示されている。このカーソル５０１は、画面内に表示されたスイッチ或いはアイコンを指定するためのものである。例えば図５（ａ）、同図（ｃ）及び（ｄ）に示す各設定画面では、対象としているパラメータ値を上昇させるアップスイッチ５０２、及びその値を下降させるダウンスイッチ５０３がそれぞれ表示されている。これにより、カーソル５０１をどちらのスイッチに移動させるかによってユーザがパラメータ値をどのように変更させるかを選択することができるようにしている。
【００３４】
他方の図５（ｂ）に示すメインメニュー画面においては、トーン（ＴＯＮＥ）、リズム（ＲＨＹＴＨＭ）、シンセサイザ（ＳＹＮＴＨ）、テンポ（ＴＥＭＰＯ）の各項目のパラメータを選択するための計４つのアイコンが表示されている。このため、カーソル５０１をどのアイコン上に移動させるかによって、ユーザは設定を変更するパラメータを任意に選択することができる。なお、特に詳細な説明は省略するが、シンセサイザは、詳細な発音条件を設定するための項目であり、エンベロープレベルは、その項目で設定される一つのパラメータである。
【００３５】
第１の実施の形態では、カーソル５０１の表示位置を、位置センサで検出した外部入力装置１００の位置に応じて変更するようにしている。画面上の表示位置は、画面の左上隅を基準にして管理している。図５（ａ）中のｃｕｒ＿ｘ、ｃｕｒ＿ｙは、カーソル５０１の表示位置をｘｙ平面として管理するための変数（制御データ）である。その変数の値を、外部入力装置１００を検出した位置に応じて、より具体的には、例えば位置センサ発光部１０３からの光を受光した位置センサ受光部２０４に応じて変数ｃｕｒ＿ｘの値を変更し、その位置センサ受光部２０４が受光した光の強度に応じて変数ｃｕｒ＿ｙの値を変更している。これにより、ユーザは、外部入力装置１００（ユーザの頭）の位置を、設定したい内容に応じて変化（例えば姿勢を変える）させることにより、手を使うことなく、カーソル５０１を任意に移動させることができ、変更を望むパラメータの選択を行うことができる。
【００３６】
なお、これらは、マイコン３０１が、位置センサ発光部１０３を駆動し、それによって各位置センサ受光部２０４から出力される受光信号値を解析し、その解析結果に従って新たに決定したカーソル５０１の座標データ（変数ｃｕｒ＿ｘ、及びｃｕｒ＿ｙ）をＬＣＤ表示部３０６に出力することで行われる。
【００３７】
第１の実施の形態では、上述したようにしてカーソル５０１をアイコン、アップスイッチ５０２、或いはダウンスイッチ５０３上に移動させた後、ユーザがある程度強く噛むと、カーソル５０１によって指定されたアイコン、或いはスイッチに割り当てた機能の処理を行うようにしている。具体的には、例えば図５（ｂ）に示すメインメニュー画面上でカーソル５０１をテンポアイコン上に移動させた状態で強く噛んだ場合（テンポアイコンを操作した場合）には、図５（ｄ）に示すテンポ設定画面を新たに表示させる。図５（ａ）に示すエンベロープ設定画面上でカーソル５０１をアップスイッチ５０２上に移動させた状態でそれを行った場合には、エンベロープレベルの値を１ずつ上昇させる。このため、ユーザは、手を使うことなく、変更を望むパラメータを選択したり、そのパラメータの値を実際に変更することができる。
【００３８】
なお、これらは、マイコン３０１が、アンブシャセンサ１０５から出力された検出信号値を解析して、ユーザが基準とする強さよりも強く噛んでいるか否か判定し、その判定結果に従って、パラメータ等の値の変更を行うとともに、変更後のパラメータの値等を表示するための画像データをプログラムＲＯＭ３０２から読み出して、その画像データを座標データと合わせてＬＣＤ表示部３０６に出力することで実現される。
【００３９】
図６は、上記した動作を実現するためにワークＲＡＭ３０３に格納される制御データ（変数）例を示す図である。この図６に示す制御データ例は、上記の動作を実現するための主要な制御データを抜粋して示したものである。マイコン３０１は、ユーザが外部入力装置１００に対して行った操作に応じて、随時ワークＲＡＭ３０３に格納した制御データを変更しながら、ＬＣＤ２０３の画面表示、パラメータ値の変更等を行う。
【００４０】
以上が、第１の実施の形態において本発明に特に関わる部分の動作である。次に、図７〜図１８に示す各種動作フローチャートを参照して、マイコン３０１の動作について詳細に説明する。なお、これら各種の動作フローチャートは、マイコン３０１が、プログラムＲＯＭ３０２に格納されているプログラムを読み出して実行することにより実現されるものである。
【００４１】
図７は、全体処理の動作フローチャートである。始めに、図７を参照して、全体処理について詳細に説明する。
電子楽器２０１の電源がオンされると、マイコン３０１は、音源ＬＳＩ３０８等のイニシャライズを行った後、ステップ７０１に移行する。そのステップ７０１では、スイッチ群３０７の操作状態、及び各種のスイッチに対して行われた操作を検出し、その検出結果に基づいて各種の設定等を行うスイッチ処理を実行する。このスイッチ処理の実行により、ユーザはスイッチ群３０７に対する操作を介して各種モードや音色、テンポ、自動演奏させる曲等を設定することができる。また、特に詳細な説明は省略するが、ＬＣＤ２０３に表示される画面、或いはその内容を変化させることができる。
【００４２】
ステップ７０１に続くステップ７０２では、鍵盤２０２に対して行われた操作を検出し、その検出結果に基づいて音源ＬＳＩ３０８に送出する制御コマンドを生成する鍵盤処理を実行する。その後、ステップ７０３に移行する。
【００４３】
ステップ７０３では、ステップ７０１、或いは／及び、７０２で生成した制御コマンドを音源ＬＳＩ３０８に出力することにより、楽音の発音制御を行うとともに、ＬＣＤ表示部３０６に画像データ等を送出することでＬＣＤ２０３に表示させる画面の変更等を行う。それが終了した後、ステップ７０１に戻る。
【００４４】
このように、ステップ７０１〜７０３で形成される処理ループが繰り返し実行される。これにより、ユーザが指定した曲の自動演奏や、所望する楽音が所望の音色で発音されることになる。
【００４５】
第１の実施の形態では、上述したように、外部入力装置１００に対して行ったユーザの操作を所定の時間間隔毎に検出し、その検出結果に応じた制御を行うようにしている。
【００４６】
図８は、外部入力装置１００に対して行われた操作、及びその操作に応じた制御を実現するためのタイマインタラプト処理の動作フローチャートである。このインタラプト処理は、マイコン３０１が内部に備えている計時機構から所定の時間間隔毎に発生する割り込み信号により実行される処理である。次に、図８を参照して、このインタラプト処理について詳細に説明する。
【００４７】
外部入力装置１００は、その位置、本体１０１の先端を噛んだ強さ（噛みしめ量）、及び息の強さを情報として入力する装置である。ステップ８０１〜８０３では、それらの情報の入力が行われる。
【００４８】
先ず、ステップ８０１では、位置センサ（位置センサ発光部１０３と位置センサ受光部２０４とから構成されている）による検出結果を取り込む位置センサ処理を実行する。続くステップ８０２、８０３では、アンブシャセンサ１０５による検出結果、ブレスセンサ３０４による検出結果を取り込む処理がそれぞれ行われる。
【００４９】
ステップ８０３に続くステップ８０４、８０５では、各センサの検出結果に基づく処理が行われる。
先ず、ステップ８０４では、各センサの検出結果に基づいて音源ＬＳＩ３０８を制御する音源制御処理を実行する。続くステップ８０５では、各センサの検出結果に基づいてパラメータの値を変更したり、ＬＣＤ２０３に表示する画面を切り換えたりする操作入力処理を実行する。それが終了した後、一連の処理を終了する。
【００５０】
上記したタイマインタラプト処理を所定の時間間隔毎に実行することにより、ユーザは手を使うことなく、様々なパラメータを任意に変更することができ、幅広い音楽表現を容易に行うことが可能となる。
【００５１】
図９〜図１８は、上記タイマインタラプト処理内で実行される各種サブルーチン処理の動作フローチャートである。次に、これらの図を参照して、タイマインタラプト処理内で実行される各種サブルーチン処理について詳細に説明する。
【００５２】
図９は、タイマインタラプト処理内でステップ８０１として実行される位置センサ処理の動作フローチャートである。始めに、図９を参照して、そのサブルーチン処理について詳細に説明する。
【００５３】
この位置センサ処理では、位置センサの検出結果として、各位置センサ受光部２０４ａ〜２０４ｃの出力を順次取り込み、その値を図６に示す変数（制御データ）ｄｉｓｔ＿ｎ（ｎは１〜３の整数）に代入（格納）することが行われる。なお、これらの変数ｄｉｓｔ＿ｎに対する説明中の受光センサ１〜３は、それぞれ、位置センサ受光部２０４ａ〜２０４ｃにそれぞれ対応する。
【００５４】
先ず、ステップ９０１では、位置センサ発光部１０３を駆動して発光させる処理を実行する。これは、例えばマイコン３０１が、位置センサ発光部１０３に対して所定の電圧を印加することで行われる。それが終了すると、ステップ９０２で変数ｎに１を代入した後、ステップ９０３に移行する。
【００５５】
ステップ９０３〜９０６では、変数ｎの値をインクリメントしながら、その変数ｎの値によって指定される変数ｄｉｓｔ＿ｎに、位置センサ発光部１０３と変数ｎの値で指定される受光部２０４との距離を格納することが行われる。
【００５６】
先ず、ステップ９０３では、変数ｎの値によって指定される位置センサ受光部２０４の出力を所定期間だけ取り込む受光処理を実行する。それに続くステップ９０４では、その出力を平滑化するとともに、その平滑化した出力値を解析して、発光部１０３との距離を特定する平滑化処理を実行する。その後、ステップ９０５に移行する。
【００５７】
ステップ９０５では、上記ステップ９０４で特定した距離（或いはそれを表す値）を変数ｄｉｓｔ＿ｎに格納する。続くステップ９０６では、変数ｎの値をインクリメントするとともに、インクリメント後の変数ｎの値が位置センサ受光部２０４の個数よりも大きいか否か判定する。
【００５８】
例えば図２に示すように、第１の実施の形態では計３つの受光部２０４を設けている。このため、変数ｎの値が４以上となった場合、その判定はＹＥＳとなって一連の処理を終了する。そうでない場合には、その判定はＮＯとなってステップ９０３に戻る。
【００５９】
このようにして距離の値が代入された変数ｄｉｓｔ＿ｎは、上述したように、音色の切り替えや、フィルターの変更、更にはＬＣＤ２０３に表示されたカーソル５０１の表示位置の特定等に用いられる。
【００６０】
図１０は、図８に示すタイマインタラプト処理内でステップ８０２として実行されるアンブシャセンサ処理の動作フローチャートである。次に、図１０を参照して、アンブシャセンサ処理について詳細に説明する。
【００６１】
上記したように、ブレスセンサ３０４、及びアンブシャセンサ１０５の各出力値は外部入力装置１００から、ケーブル、端子、及びインターフェイスを介してマイコン３０１に入力される。インターフェイスによって、その出力値はデジタル値に変換されてマイコン３０１に送られる。このアンブシャセンサ処理では、アンブシャセンサ１０５が検出した噛みしめ（アンブシャ）量に相当するデジタル値を取り込み、図６に示す変数ｏｌｄ＿ａｍｂ＿ｒｅｇ、ａｍｂ＿ｒｅｇの値を更新することが行われる。
【００６２】
先ず、ステップ１００１では、インターフェイスから送られたデジタル値（噛みしめ量）の取り込みを所定期間行う。続くステップ１００２では、その取り込んだデジタル値を平滑化する。その後、ステップ１００３に移行する。
【００６３】
ステップ１００３では、変数変数ｏｌｄ＿ａｍｂ＿ｒｅｇに変数ａｍｂ＿ｒｅｇの値を代入（格納）するとともに、ステップ１００２で平滑化したデジタル値を変数ａｍｂ＿ｒｅｇに代入（格納）することにより、これら変数の値の更新を行う。それが終了した後、一連の処理を終了する。
【００６４】
このようにして前回、今回の噛みしめ（アンブシャ）量が代入された変数ｏｌｄ＿ａｍｂ＿ｒｅｇ、ａｍｂ＿ｒｅｇは、上述したように、音程の変更（ピッチベンド量の変更）や、音色の切り替え、ＬＣＤ２０３に表示されているアイコンやスイッチに対する操作に用いられる。
【００６５】
図１１は、図８に示すタイマインタラプト処理内でステップ８０３として実行されるブレスセンサ処理の動作フローチャートである。次に、図１１を参照して、ブレスセンサ処理について詳細に説明する。
【００６６】
このブレスセンサ処理では、上述したアンブシャセンサ処理と同様に、ブレスセンサ３０４が検出した息の吹き込み（ブレス）量に相当するデジタル値を取り込み、図６に示す変数ｏｌｄ＿ｂｒｅａｔｈ＿ｒｅｇ、ｂｒｅａｔｈ＿ｒｅｇの値を更新することが行われる。
【００６７】
先ず、ステップ１１０１では、インターフェイスから送られたデジタル値（息の吹き込み量）の取り込みを所定期間行う。続くステップ１１０２では、その取り込んだデジタル値を平滑化する。その後、ステップ１１０３に移行する。
【００６８】
ステップ１１０３では、変数変数ｏｌｄ＿ｂｒｅａｔｈ＿ｒｅｇに変数ｂｒｅａｔｈ＿ｒｅｇの値を代入（格納）するとともに、ステップ１１０２で平滑化したデジタル値を変数ｂｒｅａｔｈ＿ｒｅｇに代入（格納）することにより、これら変数の値の更新を行う。それが終了した後、一連の処理を終了する。
【００６９】
このようにして前回、今回の吹き込み（ブレス）量が代入された変数ｏｌｄ＿ｂｒｅａｔｈ＿ｒｅｇ、ｂｒｅａｔｈ＿ｒｅｇは、上述したように、音量の変更や、ビブラートの深さ（デプス値）の変更に用いられる。
【００７０】
図１２は、図８に示すタイマインタラプト処理内でステップ８０４として実行される音源制御処理の動作フローチャートである。次に、図１２を参照して、音源制御処理について詳細に説明する。
【００７１】
この音源制御処理では、各種センサの検出結果が格納された上記各変数を用いて、音源ＬＳＩ３０８の制御が行われる。この処理が実行されることにより、ユーザが行った外部入力装置１００に対する操作に応じて、楽音が異なった発音条件で発音されることになる。
【００７２】
先ず、ステップ１２０１では、位置センサの検出結果が代入されている変数ｄｉｓｔ＿ｎを基に、フィルターパラメータの値を決定する。続くステップ１２０２では、その決定したパラメータの値を音源ＬＳＩ３０８に出力して、発音される楽音の明度感を変化させる制御を実行する。その後、ステップ１２０３に移行する。
【００７３】
なお、上記パラメータの値の決定は、例えば外部入力装置１００との距離とフィルターパラメータ値の対応関係を定義するテーブルを用意しておき、そのテーブルを参照することで行うことができる。そのテーブルを、距離が小さいほど高域成分を強調するように定義しておいた場合、ユーザは、楽器（鍵盤２０２）に近づくだけで楽音（音色）を明るくすることができることになる。
【００７４】
ステップ１２０３では、変数ａｍｂ＿ｒｅｇの値（噛みしめ量）を基に、ピッチベンド（音程のシフト）量を決定する。続くステップ１２０４では、その決定したピッチベンド量を音源ＬＳＩ３０８に出力して、楽音の音程を変化させる制御を実行する。その後、ステップ１２０５に移行する。
【００７５】
なお、上記ピッチベンド量の決定は、例えば噛みしめ量とピッチベンド量の対応関係を定義したテーブルを用意し、そのテーブルを参照することで行うことができる。そのテーブルを、噛みしめ量が大きい程シフト量も大きくなるように定義しておいた場合、ユーザは、噛みしめる強さを変化させるだけで、楽音の音程を任意に変化させることができる。
【００７６】
ステップ１２０５では、変数ｂｒｅａｔｈ＿ｒｅｇの値（吹き込み量）を基に、音量値を決定する。続くステップ１２０６では、その決定した音量値を付加した制御コマンドを音源ＬＳＩ３０８に出力して、楽音の音量を変化させる制御を実行する。その後、ステップ１２０７に移行する。
【００７７】
なお、上記音量値の決定は、例えば吹き込み量と音量値の対応関係を定義したテーブルを用意し、そのテーブルを参照することで行うことができる。そのテーブルを、吹き込み量が大きい程音量値を大きくなるように定義しておいた場合、ユーザは、息を吐く強さを変化させるだけで、楽音の音量を変化させることができる。
【００７８】
ステップ１２０７では、変数ｂｒｅａｔｈ＿ｒｅｇの値（吹き込み量）を基に、ビブラートの深さ（ビブラートデプス値）を決定する。続くステップ１２０８では、その決定した深さを制御コマンドに付加して音源ＬＳＩ３０８に出力して、ビブラートの内容を変化させる制御を実行する。その後、一連の処理を終了する。
【００７９】
なお、上記ビブラートの深さの決定は、例えば吹き込み量とビブラートの深さの対応関係を定義したテーブルを用意し、そのテーブルを参照することで行うことができる。そのテーブルを、吹き込み量が大きい程深さが深くなるように定義しておいた場合、ユーザは、息を吐く強さを変化させるだけで、ビブラートの内容を変化させることができる。
【００８０】
このようにして、各種センサの検出結果に応じた各種発音条件（パラメータの値）の変更が行われる。これにより、ユーザは外部入力装置１００を操作、即ち外部入力装置１００の位置を変更したり、息を吐く強さや噛む強さを変更したりするだけで変化にとんだ演奏を行うことができる。
【００８１】
なお、第１の実施の形態では、外部入力装置１００の位置に応じてフィルターパラメータの値を、噛みしめ量に応じてピッチベンド量を、また、吹き込み量に応じて音量、及びビブラートの深さをそれぞれ変化させているが、これに限定するものではない。各センサの検出結果とそれに応じて変化させるパラメータとの対応関係は任意に設定して良い。それをユーザが必要に応じて随時設定できるようにしても良い。センサの検出結果に応じたパラメータの値の変更についてもユーザが任意に設定できるようにしても良い。
【００８２】
図８に示すタイマインタラプト処理内でステップ８０５として実行される操作入力処理では、３つのサブルーチン処理が実行される。図１３〜図１５は、それらサブルーチン処理の動作フローチャートである。次に、図１３〜図１５を参照して、各サブルーチン処理について説明する。
【００８３】
図１３は、操作入力１処理の動作フローチャートである。
この操作入力１処理は、上述したように、外部入力装置１００の位置、及び噛みしめた強さに基づいて音色（番号）を変更する処理である。この操作入力１処理では、ステップ１３０１でそれを実現するための音色番号の変更処理を実行して、一連の処理を終了する。
【００８４】
図１４は、操作入力２処理の動作フローチャートである。
この操作入力２処理は、上述したように、ＬＣＤ２０３に表示されたアップスイッチ５０２、ダウンスイッチ５０３に対する操作に応じて、対象としているパラメータの値を変更する処理である。そのパラメータ値の変更は、外部入力装置１００の位置と噛みしめた強さに基づいて行われる。この操作入力２処理では、ステップ１４０１でそれを実現するためのパラメータＵＰ／ＤＯＷＮ処理を実行して、一連の処理を終了する。
【００８５】
図１５は、操作入力３処理の動作フローチャートである。
この操作入力３処理は、上述したように、ＬＣＤ２０３に表示されたアイコン（図５（ｂ）参照）に対する操作に応じて、変更の対象となる項目を設定する処理である。その項目の設定は、外部入力装置１００の位置と噛みしめた強さに基づいて行われる。この操作入力３処理では、ステップ１５０１でそれを実現するための機能アイコンのＳＷ処理を実行して、一連の処理を終了する。
【００８６】
図１６〜図１８は、上記操作入力１〜３処理内で実行される各種のサブルーチン処理の動作フローチャートである。引き続いて、上述した各サブルーチン処理について詳細に説明する。
【００８７】
図１６は、図１３に示す操作入力１処理内でステップ１３０１として実行される音色番号の変更処理の動作フローチャートである。次に、図１６を参照して、音色番号の変更処理について詳細に説明する。
【００８８】
各位置センサ受光部２０４ａ〜２０４ｃが外部入力装置１００を検出する空間領域は異なる。第１の実施の形態では、図６に示すＴｏｎｅ＿ａｒｅａｎ（ｎは１〜３の整数）に、各空間領域（位置センサ受光部２０４）毎に割り当てた音色番号を格納し、音色番号の変更を、変数Ｔｏｎｅ＿ａｒｅａｎに従って行っている。
【００８９】
先ず、ステップ１６０１では、変数ｏｌｄ＿ａｍｂ＿ｒｅｇの値が予め定めた閾値未満で、且つ変数ａｍｂ＿ｒｅｇの値が閾値以上か否か判定する。ユーザが噛みしめる強さを増していった場合、音色の変更を意図しているとして判定がＹＥＳとなり、ステップ１６０２に移行する。そうでない場合には、即ちユーザが音色の変更を意図していないと考えられる場合には、その判定はＮＯとなって一連の処理を終了する。
【００９０】
ステップ１６０２〜１６０７では、位置センサ発光部１０３から発した光を最も強く受光した位置センサ受光部２０４を特定しての音色の変更が行われる。
先ず、ステップ１６０２では、変数ｄｉｓｔ＿１の値（距離）は予め定めた所定値以下か否か判定する。ユーザが外部入力装置１００を位置センサ受光部２０４ａにある程度（例えば、他の位置センサ受光部２０４ｂ、２０４ｃよりも近いことが明らかな程度）以上近づけていた場合、その判定はＹＥＳとなってステップ１６０３に移行する。そうでない場合には、その判定はＮＯとなってステップ１６０４に移行する。
【００９１】
ステップ１６０３では、変数Ｔｏｎｅ＿ａｒｅａ１で指定された番号の音色に変更する。それが終了した後、一連の処理を終了する。なお、音色の変更は、マイコン３０１が、音源ＬＳＩ３０８に、変数Ｔｏｎｅ＿ａｒｅａ１の値を付けた音色の切り替えを要求する制御コマンドを送出することで実現される。
【００９２】
ステップ１６０４では、変数ｄｉｓｔ＿２の値（距離）は上記所定値以下か否か判定する。ユーザが外部入力装置１００を位置センサ受光部２０４ｂにある程度以上近づけていた場合、その判定はＹＥＳとなってステップ１６０５に移行する。そうでない場合には、その判定はＮＯとなってステップ１６０６に移行する。ステップ１６０５では、変数Ｔｏｎｅ＿ａｒｅａ２で指定された番号の音色に変更し、それが終了した後、一連の処理を終了する。
【００９３】
ステップ１６０６では、変数ｄｉｓｔ＿３の値（距離）は上記所定値以下か否か判定する。ユーザが外部入力装置１００を位置センサ受光部２０４ｃにある程度以上近づけていた場合、その判定はＹＥＳとなってステップ１６０７に移行する。そうでない場合には、その判定はＮＯとなって一連の処理を終了する。ステップ１６０５に移行した場合には、変数Ｔｏｎｅ＿ａｒｅａ２３指定された番号の音色に変更し、それが終了した後に一連の処理を終了する。
【００９４】
上記のように、第１の実施の形態では、ユーザが本体１０１の先端部分を強く噛みしめても、外部入力装置１００が位置センサ受光部２０４と比較的に離れている場合、音色の変更を回避している。これは、噛みしめ量に応じて他のパラメータ（ピッチベンド量）の値も変更していることから、他のパラメータと独立して音色の変更を行えるようにするためである。このことから判るように、位置と噛みしめ量といった複数の情報を基にしたパラメータの値の変更では、それらの情報を組み合わせることにより、より多くのパラメータの値を独立して変更することができるようになる。このため、手を使うことなく、音楽表現の幅を様々に広げることができる。
【００９５】
なお、上記変数Ｔｏｎｅ＿ａｒｅａｎに代入した値は、予め固定的に用意した値であっても良いが、ユーザが所望の音色に変更できるように、その値を任意に変更できるようにすることが望ましい。また、各空間領域（位置センサ受光部２０４）毎に複数の音色を割り当て、外部入力装置１００の位置に応じて複数の音色のなかから一つを選択してその音色に変更するようにしても良い。
【００９６】
図１７は、図１４に示す操作入力２処理内でステップ１４０１として実行されるパラメータＵＰ／ＤＯＷＮ処理の動作フローチャートである。次に、図１７を参照して、その処理について詳細に説明する。
【００９７】
図６に示すように、ワークＲＡＭ３０３には、アップスイッチ５０２の表示位置を表すデータがＵＰ＿ｘ＿ｍｉｎ、ＵＰ＿ｘ＿ｍａｘ、ＵＰ＿ｙ＿ｍｉｎ、及びＵＰ＿ｙ＿ｍａｘの各変数として格納されている。変数ＵＰ＿ｘ＿ｍｉｎにはアップスイッチ５０２表示位置のｘ座標下限の値、変数ＵＰ＿ｘ＿ｍａｘにはその表示位置のｘ座標上限の値、変数ＵＰ＿ｙ＿ｍｉｎにはその表示位置のｙ座標下限の値、変数ＵＰ＿ｙ＿ｍａｘにはその表示位置のｙ座標上限の値がそれぞれ格納されている。他方のダウンスイッチ５０３においても同様に、それの表示位置を表すデータがＤＯＷＮ＿ｘ＿ｍｉｎ、ＤＯＷＮ＿ｘ＿ｍａｘ、ＤＯＷＮ＿ｙ＿ｍｉｎ、及びＤＯＷＮ＿ｙ＿ｍａｘの各変数として格納されている。
【００９８】
他方のカーソル５０１の座標位置は、上記したように、変数ｃｕｒ＿ｘ、ｃｕｒ＿ｙに格納されている。パラメータＵＰ／ＤＯＷＮ処理では、カーソル５０１の表示位置を外部入力装置１００を検出した位置に応じて変更しながら、ユーザが本体１０１の先端部分をある程度強く噛む毎に、そのときにカーソル５０１が表示されているスイッチに応じたパラメータの値の変更が行われる。
【００９９】
先ず、ステップ１７０１では、変数ｄｉｓｔ＿ｎの値を基に、カーソル５０１の表示位置、即ち変数ｃｕｒ＿ｘ、ｃｕｒ＿ｙの更新を行う。その更新は、例えばユーザが位置センサ受光部２０４ａと２０４ｃの何れのほうに外部入力装置１００を近づけているか否かにより、ｘ座標上の変化量を−１、或いは＋１に設定し、他方のｙ座標上の変化量については、２つの値が異なる閾値（ここでは、便宜的に値が小さいほうを下限値、他方を上限値と呼ぶ）を設定しておき、外部入力装置１００との距離が下限値以下であれば−１、それが上限値以上であれば１をその変化量として設定し、それらの変化量を現在の変数ｃｕｒ＿ｘ、ｃｕｒ＿ｙの各値に対応させて加算することにより、カーソル５０１の表示位置の更新を行う。
【０１００】
カーソル５０１の表示位置の更新が終了すると、ステップ１７０２に移行する。そのステップ１７０２では、更新後のカーソル座標（変数ｃｕｒ＿ｘ、ｃｕｒ＿ｙの各値）をＬＣＤ表示部３０６に送出して、カーソル５０１の表示位置の変更を行う。
【０１０１】
ステップ１７０２に続くステップ１７０３では、変数ａｍｂ＿ｒｅｇの値が閾値以上か否か判定する。ユーザが本体１０１の先端部分を噛みしめた場合、その判定はＹＥＳとなってステップ１７０４に移行する。そうでない場合には、ユーザはパラメーｔ値の変更を意図していないとしてその判定はＮＯとなり、ここで一連の処理を終了する。
【０１０２】
ステップ１７０４〜１７０７では、カーソル５０１が表示されているスイッチを特定して、そのスイッチに割り当てられている機能に従ったパラメータ値の変更が行われる。
【０１０３】
先ず、ステップ１７０４では、変数ｃｕｒ＿ｘの値が変数ＵＰ＿ｘ＿ｍｉｎの値より大きく変数ＵＰ＿ｘ＿ｍａｘの値未満で、且つ、変数ｃｕｒ＿ｙの値が変数ＵＰ＿ｙ＿ｍｉｎの値より大きく変数ＵＰ＿ｙ＿ｍａｘの値未満か否か判定する。カーソル５０１がアップスイッチ５０２上に表示されている場合、その判定はＹＥＳとなってステップ１７０５に移行する。そうでない場合には、即ちカーソル５０１がアップスイッチ５０２上に表示されていない場合には、その判定はＮＯとなってステップ１７０６に移行する。
【０１０４】
ステップ１７０５では、ユーザがアップスイッチ５０２に対する操作を行ったことから、それに応じた処理を行う。具体的には、パラメータの値をインクリメントするとともに、それに合わせて、ＬＣＤ２０３に表示させているパラメータ表示値のインクリメント、音源ＬＳＩ３０８の設定の変更を行う。それが終了した後、一連の処理を終了する。
【０１０５】
ステップ１７０６では、変数ｃｕｒ＿ｘの値が変数ＤＯＷＮ＿ｘ＿ｍｉｎの値より大きく変数ＤＯＷＮ＿ｘ＿ｍａｘの値未満で、且つ、変数ｃｕｒ＿ｙの値が変数ＤＯＷＮ＿ｙ＿ｍｉｎの値より大きく変数ＤＯＷＮ＿ｙ＿ｍａｘの値未満か否か判定する。カーソル５０１がダウンスイッチ５０３上に表示されている場合、その判定はＹＥＳとなってステップ１７０７に移行する。そうでない場合には、即ちカーソル５０１がアップスイッチ５０２、ダウンスイッチ５０３の何れのスイッチ上にも表示されていない場合には、その判定はＮＯとなって一連の処理を終了する。
【０１０６】
ステップ１７０７では、ユーザがダウンスイッチ５０３に対する操作を行ったことから、それに応じた処理を行う。具体的には、パラメータの値をデクリメントするとともに、それに合わせて、ＬＣＤ２０３に表示させているパラメータ表示値のデクリメント、音源ＬＳＩ３０８の設定の変更を行う。それが終了した後、一連の処理を終了する。
【０１０７】
なお、第１の実施の形態では、パラメータ値の実際の変更は本体１０１を噛みしめることで指定するようにしているが、吐く息の強さでその指定を行うようにしても良い。また、アップスイッチ５０２、及びダウンスイッチ５０３が表示される設定画面からメニュー画面に戻すことについてはフローチャートに示していないが、例えば設定画面上に表示されているパラメータ値を操作、即ちカーソル５０１を表示されているパラメータ値上まで移動させた後、本体１０１の先端部分を噛みしめた場合にメニュー画面に表示を戻すようにすれば良い。
【０１０８】
図１８は、図１５に示す操作入力３処理内でステップ１５０１として実行される機能アイコンのＳＷ処理の動作フローチャートである。次に、図１８を参照して、その処理について詳細に説明する。
【０１０９】
図６に示すように、ワークＲＡＭ３０３には、メインメニュー画面（図５（ｂ）参照）等に表示されるアイコンの表示位置を表すデータが、ｆｕｎｃ（ｎ）＿ｘ＿ｍｉｎ、ｆｕｎｃ（ｎ）＿ｘ＿ｍａｘ、ｆｕｎｃ（ｎ）＿ｙ＿ｍｉｎ、及びｆｕｎｃ（ｎ）＿ｙ＿ｍａｘの各変数として格納されている。これらの変数においてカッコ内に示すｎは１〜アイコンの表示数までの整数である。ｎの値が同じである４つの各変数には、そのｎの値が割り当てられたアイコン表示位置のｘ座標下限の値、ｘ座標上限の値、ｙ座標下限の値、及びｙ座標上限の値がそれぞれ格納されている。
【０１１０】
なお、以降では、便宜上、上記ｆｕｎｃ（ｎ）＿ｘ＿ｍｉｎ、ｆｕｎｃ（ｎ）＿ｘ＿ｍａｘ、ｆｕｎｃ（ｎ）＿ｙ＿ｍｉｎ、及びｆｕｎｃ（ｎ）＿ｙ＿ｍａｘの各変数をまとめて変数ＸＹ＿ｆｕｎｃ（ｎ）と呼ぶことにする。
【０１１１】
機能アイコンのＳＷ処理では、ユーザが本体１０１の先端部分をある程度強く噛む毎に、そのときにカーソル５０１が表示されているアイコンに応じた画面表示の変更が行われる。
【０１１２】
先ず、ステップ１８０１では、変数ｏｌｄ＿ａｍｂ＿ｒｅｇの値は閾値未満で、且つ変数ａｍｂ＿ｒｅｇの値は閾値以上であるか否か判定する。変数ｏｌｄ＿ａｍｂ＿ｒｅｇには前回検出した噛みしめ量が、変数ａｍｂ＿ｒｅｇには今回検出した噛みしめ量がそれぞれ代入されている。このため、ユーザが本体１０１の先端部分を噛みしめた場合、その判定はＹＥＳとなってステップ１８０２に移行する。そうでない場合には、その判定はＮＯとなって一連の処理を終了する。
【０１１３】
ステップ１８０２では、対象とするアイコンを特定するための変数ｎに１を代入する。その代入が終了した後、ステップ１８０３に移行する。
ステップ１８０３では、カーソル５０１の表示座標（変数ｃｕｒ＿ｘ、ｃｕｒ＿ｙの各値）が、変数ＸＹ＿ｆｕｎｃ（ｎ）によって特定される範囲内か否か判定する。カーソル５０１が、変数ｎによって指定されたアイコン内に表示されている場合、その判定はＹＥＳとなってステップ１８０５に移行する。そうでない場合には、その判定はＮＯとなってステップ１８０４に移行する。
【０１１４】
ステップ１８０４では、変数ｎの値のインクリメントを行うとともに、そのインクリメント後の変数ｎの値が、現在表示させているアイコン数より大きいか否か判定する。変数ｎの値がアイコン数より大きくなった場合、即ちカーソル５０１が何れのアイコン上にも表示されていない場合、その判定はＹＥＳとなって一連の処理を終了する。そうでない場合には、その判定はＮＯとなってステップ１８０３に戻る。
【０１１５】
一方、ステップ１８０５では、変数ｎの値で指定されたアイコンが操作されたことから、それに応じた処理を行う。具体的には、そのアイコンに割り当てられた項目に分類されているパラメータのなかから、実際に変更の対象とするパラメータをユーザが選択するためのサブメニュー画面を表示する。それが終了した後、一連の処理を終了する。
【０１１６】
なお、上記サブメニュー画面の表示は、マイコン３０１が、プログラムＲＯＭ３０２から必要な画像データを読み出し、それをその表示座標とともにＬＣＤ表示部３０６に送出することで実現される。アイコンに割り当てられた項目に分類されているパラメータが一つであった場合には、当然のことながら、サブメニュー画面の表示は行わず、そのパラメータ用の設定画面をＬＣＤ２０３上に表示させることになる。
【０１１７】
このように、外部入力装置１００に対する操作を行うことにより、ユーザは手を使うことなく、様々なパラメータを任意、且つ随時その値を変更することができる。このため、複雑に変化させる音響効果を楽音に付加するといったことを容易に行うことができる。また、例えば外部入力装置１００を検出した位置によって、音色や音程等を変更させるようなことも容易に行えることができる。このようにした場合には、ユーザは首振りを行うことで楽音の発音状態を変化させることができるため、尺八などに近い感覚で演奏操作を行うことができ、更には、演奏操作中のアクションに応じた楽音の変化を実現させることができる。即ちアクションを音楽上の効果に反映させることができる。
【０１１８】
また、ＬＣＤ２０３に表示させた画面を通して各種の設定が行うことができることから、電子楽器（本体）２０１上に設けるべきスイッチ類を少なくすることができる。少なくとも、各種パラメータやモードの設定に用いるスイッチ類をなくすことができる。このため、コストを削減することができ、電子楽器のデザイン上における自由度も向上させることができる。
【０１１９】
なお、第１の実施の形態においては、外部入力装置１００に対する操作により、音色や音程、音響効果の深さ、ＬＣＤ２０３に表示された画面を通した各種パラメータの設定を行うことができる。しかし、よりユーザの要望に対応できるように、これら外部入力装置１００に対する操作によって設定できるパラメータをユーザが任意に選択できるようにしても良い。また、ユーザ毎に好みが違うことから、外部入力装置１００に対する操作内容と、その操作内容によって変更されるパラメータの種類、及びその変更させる内容との対応関係をユーザが任意に定義（設定）できるようにしても良い。
＜第２の実施の形態＞
外部入力装置１００の使用形態は、ＬＣＤ２０３に表示された画面を通したパラメータ値の変更を行うモード（入力モードと呼ぶことにする）と、ＬＣＤ２０３に表示された画面を通すことなく、主に音響効果の付加に関わるパラメータ値の変更を行うモード（演奏モードと呼ぶことにする）とに分けることができる。しかし、上記第１の実施の形態では、それらを特別に区別していない。このため、ユーザが意図しないモードのパラメータの変更を行ってしまうことも考えられる。第２の実施の形態は、そのことに着目して、ユーザが意図しないパラメータの変更を回避できるようにしたものである。
【０１２０】
第２の実施の形態による電子楽器は、第１の実施の形態によるそれと構成は基本的に同じであり、また、処理動作も基本的に同じである。このため、第１の実施の形態で使用した符号をそのまま使用して、第１の実施の形態から異なる部分のみ説明することにする。
【０１２１】
第２の実施の形態では、パラメータの変更ミスを回避できるように、外部入力装置１００の使用形態を、外部入力装置１００と電子楽器（本体）２０１との距離に応じて切り分けている。具体的には、例えば図４に示す各空間領域（ａｒｅａ１〜３）内を入力モード用とし、それ以外を演奏モード用として区別している。このようにすることにより、ユーザは、電子楽器（本体）２０１との距離を考慮するだけで、第１の実施の形態と比較すると、意図しないモードのパラメータの変更等を回避することができるようになる。
【０１２２】
図１９は、第２の実施の形態によるタイマインタラプト処理の動作フローチャートである。第１の実施の形態とは、このタイマインタラプト処理だけが特に異なっている。このため、図１９を参照して、第２の実施の形態によるタイマインタラプト処理についてのみ説明することにする。
【０１２３】
先ず、ステップ１９０１では、位置センサ（位置センサ発光部１０３と位置センサ受光部２０４とから構成されている）による検出結果を取り込む位置センサ処理を実行する。続くステップ１９０２、１９０３では、アンブシャセンサ１０５による検出結果、ブレスセンサ３０４による検出結果を取り込む処理がそれぞれ行われる。
【０１２４】
ステップ１９０３に続くステップ１９０４では、変数ｄｉｓｔ＿ｎに代入されている値から、ユーザ（奏者：外部入力装置１００）が入力モード用の空間領域の外か否か判定する。ユーザが電子楽器（本体）２０１から比較的離れていた場合、その判定はＹＥＳとなってステップ１９０５に移行する。そうでない場合には、その判定はＮＯとなってステップ１９０６に移行する。
【０１２５】
ステップ１９０５では、各センサの検出結果に基づいて音源ＬＳＩ３０８を制御する音源制御処理を実行する。その後、一連の処理を終了する。他方のステップ１９０６では、各センサの検出結果に基づいてパラメータの値を変更したり、ＬＣＤ２０３に表示する画面を切り換えたりする操作入力処理を実行する。その後、一連の処理を終了する。
【０１２６】
なお、入力モードのパラメータを変更できる空間領域については、予め固定的に設定しておいても良いが、ユーザの体型の違いに対応できるように、それをユーザが任意に変更できるようにしても良い。
＜第３の実施の形態＞
上記第２の実施の形態では、上述したように、外部入力装置１００の位置、即ちユーザの位置に応じて入力モードと演奏モードとを自動的に切り換えることにより、パラメータの意図しない変更等を回避するようにしたものである。しかし、パラメータが変更されるタイミングに着目してみると、入力モードで変更できるパラメータは演奏開始前、或いは演奏の合間にその変更を行うことが多く、他方の演奏モードで変更できるパラメータは演奏中にその変更を行うことが多いという傾向がある。即ち、各モードに割り当てたパラメータが変更されるタイミングには異なる傾向がある。第３の実施の形態は、このことに着目して、各モードのパラメータを変更できるようにすることで、パラメータの意図しない変更等をより回避できるようにしたものである。
【０１２７】
第３の実施の形態による電子楽器は、第１の実施の形態によるそれと構成は基本的に同じであり、また、処理動作も基本的に同じである。このため、第１の実施の形態で使用した符号をそのまま使用して、第１の実施の形態から異なる部分のみ説明することにする。
【０１２８】
図２０は、第３の実施の形態によるタイマインタラプト処理の動作フローチャートである。第１の実施の形態とは、このタイマインタラプト処理だけが特に異なっている。このため、図２０を参照して、第３の実施の形態によるタイマインタラプト処理についてのみ説明することにする。
【０１２９】
先ず、ステップ２００１では、位置センサ（位置センサ発光部１０３と位置センサ受光部２０４とから構成されている）による検出結果を取り込む位置センサ処理を実行する。続くステップ２００２、２００３では、アンブシャセンサ１０５による検出結果、ブレスセンサ３０４による検出結果を取り込む処理がそれぞれ行われる。
【０１３０】
ステップ２００３に続くステップ２００４では、現在鍵盤２０２が備えた全ての鍵が離鍵されているか否か、即ちユーザが鍵盤２０２に対して操作を行っていないか否か判定する。ユーザが鍵盤２０２上の何れの鍵も押鍵していない場合、その判定はＹＥＳとなってステップ２００５に移行する。そうでない場合には、その判定はＮＯとなってステップ２００６に移行する。
【０１３１】
ステップ２００５では、変数ｄｉｓｔ＿ｎに代入されている値から、ユーザ（奏者：外部入力装置１００）が入力モード用の空間領域の外か否か判定する。ユーザが電子楽器（本体）２０１から比較的離れていた場合、その判定はＹＥＳとなってステップ２００６に移行する。そうでない場合には、その判定はＮＯとなってステップ２００７に移行する。
【０１３２】
ステップ２００６では、各センサの検出結果に基づいて音源ＬＳＩ３０８を制御する音源制御処理を実行する。その後、一連の処理を終了する。他方のステップ２００７では、各センサの検出結果に基づいて、ＬＣＤ２０３に表示された画面を通してパラメータの変更等を行う操作入力処理を実行する。その後、一連の処理を終了する。
【０１３３】
このように、第３の実施の形態では、ユーザが鍵盤２０２の操作を行っていない場合、無条件で演奏モードによるパラメータの変更を行い、そうでない場合には、ユーザ（外部入力装置１００）の位置に応じて何れかのモードによるパラメータの変更を行うようにしている。このため、例えばユーザが鍵盤２０２の演奏操作中に音色を明るくするために電子楽器（本体）２０１に近づいたとしても、入力モードのパラメータの変更を誤って行うようなことを確実に回避することができる。第２の実施の形態と比較しても、パラメータの変更ミスをより回避することができる。
【０１３４】
なお、本実施の形態（第１〜第３の実施の形態）は、電子楽器に本発明を適用したものであるが、本発明が適用されるのはこれに限定されるものではない。例えば鍵盤等の演奏操作子群を備えていない音源装置に対しても適用することができる。また、本発明を適用させた電子楽器は音源装置を搭載しているが、本実施の形態でいう外部入力装置１００に対する操作に応じて制御コマンドを生成して外部の装置に送出するようにしても良い。このことから明らかなように、本発明は、音源装置を搭載していない電子楽器にも適用することができる。
【０１３５】
また、本実施の形態では、音色番号の変更、アイコンに対する操作等においては時間を考慮してそれらを行うことにより、ユーザの意図に沿った変更をより行えるようにしているが、大部分は時間を考慮したパラメータ（発音条件）の変更を行っていない。しかし、時間を加えることで操作の情報量をより増やすことができる。それにより、例えば、噛んでいる期間に応じて変更の対象とするパラメータをユーザに選択させるようなこともでき、より多くのパラメータをより自由に変更できるようになる。このようなことから、位置、息の強さ、噛む強さの他に、操作している時間を更に加えて、それらの情報を基にパラメータの変更を行うようにしても良い。
【０１３６】
また、本実施の形態では、外部入力装置に対する操作内容に応じて、入力モード、或いは／及び、演奏モードによるパラメータの変更を行えるようにしているが、実際の製品に本発明を適用させる場合には、その何れかのモードによるパラメータの変更だけを行えるようにしても良い。
【０１３７】
また、本実施の形態では、外部入力装置１００の本体１０１を一つだけにしているが、それを装着部１０２に２つ設け、各本体１０１毎に異なるパラメータを変更できるようにしても良い。また、他の人も電子楽器の演奏に加えられるように、外部入力装置を複数用意し、各外部入力装置に対して行われた操作に応じてパラメータの変更を行うようにしても良い。後者のようにした場合には、複数の演奏者のアクションを反映させて楽音の発音状態を変化させることができる。
【０１３８】
また、位置の検出については、外部入力装置側で光を射出し、それを電子楽器（楽音発生装置）の本体側で受光することにより行っているが、その逆であっても良い。また、位置センサ発光部を外部入力装置の本体に設けているが、それを、或いはそれに相当するものを外部入力装置本体とは別にユーザに取り付けられるようにしても良い。後者の場合であっては、その外部入力装置を電子楽器（楽音発生装置）本体とは別途に製品化し、ユーザが所望の外部入力装置を任意に購入できるようにしても良い。
【０１３９】
【発明の効果】
以上説明したように本発明は、手を使わずに情報を入力することができることに着目して、ユーザ（外部入力手段）の位置、吐く息の強さ、及び噛む強さの少なくとも３種類の情報を検出し、発音条件（パラメータ）の選択、及びそれの変更を、それら検出した情報を基に行う。
【０１４０】
３種類の情報を少なくとも検出することにより、変更対象のパラメータの選択や、それの変更をユーザは任意に行えるようになる。このため、ユーザは、手を使うことなく、幅広い音楽表現を容易に行うことができる。
【図面の簡単な説明】
【図１】第１の実施の形態が適用されたシステムの外観図である。
【図２】電子楽器本体の概観図である。
【図３】電子楽器のハードブロック図である。
【図４】位置センサで検出する空間を説明する図である。
【図５】ＬＣＤ表示例を示す図である。
【図６】ワークＲＡＭに格納される制御データ（変数）例を示す図である。
【図７】全体処理の動作フローチャートである。
【図８】タイマインタラプト処理の動作フローチャートである。
【図９】位置センサ処理の動作フローチャートである。
【図１０】ブレスセンサ処理の動作フローチャートである。
【図１１】アンブシャセンサ処理の動作フローチャートである。
【図１２】音源制御処理の動作フローチャートである。
【図１３】操作入力１処理の動作フローチャートである。
【図１４】操作入力２処理の動作フローチャートである。
【図１５】操作入力３処理の動作フローチャートである。
【図１６】音色番号の変更処理の動作フローチャートである。
【図１７】パラメータＵＰ／ＤＯＷＮ処理の動作フローチャートである。
【図１８】機能アイコンのＳＷ処理の動作フローチャートである。
【図１９】タイマインタラプト処理の動作フローチャートである（第２の実施の形態）。
【図２０】タイマインタラプト処理の動作フローチャートである（第３の実施の形態）。
【符号の説明】
１００  外部入力装置
１０１  外部入力装置本体
１０３  位置センサ発光部
１０４  ブレスセンサ吹き込み口
１０５  アンブシャセンサ
２０１  電子楽器
２０２  鍵盤
２０３  ＬＣＤ
２０４、２０４ａ〜２０４ｃ  位置センサ受光部
３０１  マイコン
３０２  プログラムＲＯＭ
３０３  ワークＲＡＭ
３０４  ブレスセンサ
３０５  位置センサ受光部群
３０６  ＬＣＤ表示部
３０８  音源ＬＳＩ
【図１】
0003624605.tif 000002
【図２】
0003624605.tif 000003
【図３】
0003624605.tif 000004
【図４】
0003624605.tif 000005
【図５】
0003624605.tif 000006
【図６】
0003624605.tif 000007
【図７】
0003624605.tif 000008
【図８】
0003624605.tif 000009
【図９】
0003624605.tif 000010
【図１０】
0003624605.tif 000011
【図１１】
0003624605.tif 000012
【図１２】
0003624605.tif 000013
【図１３】
0003624605.tif 000014
【図１４】
0003624605.tif 000015
【図１５】
0003624605.tif 000016
【図１６】
0003624605.tif 000017
【図１７】
0003624605.tif 000018
【図１８】
0003624605.tif 000019
【図１９】
0003624605.tif 000020
【図２０】
0003624605.tif 000021