(57)【特許請求の範囲】
【請求項１】
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサと、
前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する制御部と、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持する保持部と、
前記指示の解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成する補間部と、
を備え、
前記保持部は、前記指示が解除された時点以降の前記補間データを新しい保持データとして保持し、
前記制御部は、前記指示があった場合は、前記保持データに基づいて前記指示があった時点以後の楽音を制御するとともに、前記指示の解除がなされた場合は、前記補間データに基づいて指示が解除された時点以後の楽音を制御し、前記保持部に保持された前記新しい保持データと前記解除時点以降に前記演奏形態センサから出力される前記演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了する
ことを特徴とする電子管楽器。
【請求項２】
前記制御部は、前記指示があった時点から前記指示が解除される解除時点までの間、前記保持データに基づいて楽音を制御することを特徴とする請求項１に記載の電子管楽器。
【請求項３】
前記演奏形態センサは、前記マウスピースから吹き込まれる息圧及び息の流量の少なくとも一方を検出する息センサと、前記マウスピースを咥える唇の位置を検出する唇位置検出センサと、及び前記マウスピースを咥える力を検出するバイトセンサの少なくとも１つを含むことを特徴とする請求項１または２の何れかに記載の電子管楽器。
【請求項４】
前記制御部は、前記息センサの出力に応じて前記楽音の音量を制御し、前記唇位置検出センサの出力に応じて前記楽音の音色を制御し、前記バイトセンサの出力に応じて前記楽音の音高を制御することを特徴とする請求項３に記載の電子管楽器。
【請求項５】
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備え、前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する電子管楽器で実行され、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持し、
前記指示があった場合は、前記保持データに基づいて前記指示があった時点以後の楽音を制御し、
前記指示の解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成し、
前記指示が解除された時点以降の前記補間データを新しい保持データとして保持し、
前記指示の解除がなされた場合は、前記補間データに基づいて前記指示が解除された時点以後の楽音を制御し、前記保持部に保持された前記新しい保持データと前記解除時点以降に前記演奏形態センサから出力される前記演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了する
ことを特徴とする楽音発生方法。
【請求項６】
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備え、前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する電子管楽器に搭載されるコンピュータに、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持するステップと、
前記指示があった場合は、前記保持データに基づいて前記指示があった時点以後の楽音を制御するステップと、
前記指示の解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成するステップと、
前記指示が解除された時点以降の前記補間データを新しい保持データとして保持するステップと、
前記指示の解除がなされた場合は、前記補間データに基づいて前記指示が解除された時点以後の楽音を制御するステップと、
前記新しい保持データと、前記解除時点以降に前記演奏形態センサから出力される演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、循環呼吸奏法と同等の継続音を発生可能な電子管楽器、楽音発生方法およびプログラムに関する。
【背景技術】
【０００２】
一般に電子管楽器では、アコースティック管楽器と同様のキー位置に音高指定用のスイッチ（音高キー）を設けておき、そのスイッチ操作によって楽音の音高を指定すると共に、マウスピース内に息圧を検出する圧力センサを設け、この圧力センサにより検出される息圧に応じて楽音の音量を決定するように構成されている。
【０００３】
この種の楽器として、例えば特許文献１には、マウスピースに接触するユーザの上唇および下唇の位置を検出し、検出した上唇位置および下唇位置に応じて生成されるパラメータに従って楽音形成することで例えばユーザの頬や咽の動きに従って発生楽音の音色を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１２２６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述した特許文献１に開示の技術では、マウスピースに接触するユーザの上唇および下唇の位置を検出して得たパラメータに基づきユーザの頬や咽の動きに応じた音色制御を実現するものであるが、呼吸する間も絶えず口から息を吐き出して息継ぎの無音時間を無くす循環呼吸奏法と同等の継続音を発生することが出来ないという問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、簡単に循環呼吸奏法と同等の継続音を発生することが出来る電子管楽器、楽音発生方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の電子管楽器は、
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサと、
前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する制御部と、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持する保持部と、
前記指示が解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成する補間部と、
を備え、
前記保持部は、前記指示が解除された時点以降の前記補間データを新しい保持データとして保持し、
前記制御部は、前記指示があった場合は、前記保持データに基づいて、前記指示があった時点以後の楽音を制御するとともに、前記指示の解除がなされた場合は、前記補間データに基づいて指示が解除された時点以後の楽音を制御し、前記保持部に保持された前記新しい保持データと前記解除時点以降に前記演奏形態センサから出力される前記演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了する、
ことを特徴とする。
【０００８】
本発明の楽音方法は、
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備え、前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する電子管楽器で実行され、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持し、
前記指示があった場合は、前記保持データに基づいて、前記指示があった時点以後の楽音を制御し、
前記指示の解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成し、
前記指示が解除された時点以降の前記補間データを新しい保持データとして保持し、
前記指示の解除がなされた場合は、前記補間データに基づいて前記指示が解除された時点以後の楽音を制御し、前記保持部に保持された前記新しい保持データと前記解除時点以降に前記演奏形態センサから出力される前記演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了する、
ことを特徴とする。
【０００９】
本発明のプログラムは、
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備え、前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する電子管楽器に搭載されるコンピュータに、
ユーザの指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持するステップと、
前記指示があった場合は、前記保持データに基づいて、前記指示があった時点以後の楽音を制御するステップと、
前記指示の解除される解除時点以降に、解除後の前記演奏形態データと前記保持データとから補間データを生成するステップと、
前記指示が解除された時点以降の前記補間データを新しい保持データとして保持するステップと、
前記指示の解除がなされた場合は、前記補間データに基づいて前記指示が解除された時点以後の楽音を制御するステップと、
前記新しい保持データと、前記解除時点以降に前記演奏形態センサから出力される前記演奏形態データとの差分が予め定められた値より小さくなった場合に、前記補間データに基づいた楽音の制御を終了するステップと、
を実行させることを特徴とする。
【発明の効果】
【００１０】
本発明では、簡単に循環呼吸奏法と同等の継続音を発生することが出来る。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態である電子管楽器１００の要部構造を示す外観図である。
【図２】マウスピース６の構造を示す断面図である。
【図３】電子管楽器１００の電気的構成を示すブロック図である。
【図４】パワーオンイニシャライズ処理の動作を示すフローチャートである。
【図５】息圧検出処理の動作を示すフローチャートである。
【図６】息圧検出処理の動作を説明するための波形図である。
【図７】息圧データ処理の動作を示すフローチャートである。
【図８】唇位置データ処理の動作を示すフローチャートである。
【図９】唇位置データ処理の動作を説明するための波形図である。
【図１０】リード歪データ処理の動作を示すフローチャートである。
【図１１】リード歪データ処理の動作を説明するための波形図である。
【図１２】メイン処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構造
図１〜図２を参照して本発明の一実施形態である電子管楽器１００の要部構造について説明する。図１は電子管楽器１００の要部構造を示す外観図、図２はマウスピース６の構造を示す断面図である。図１において、サックス形状を為す本体１の正面には、運指操作（演奏操作）される音高キー２が設けられる。本体１の開口端３側の内部には、楽音を放音するスピーカ４が配設される。また、本体１には、電源をパワーオン・オフする電源スイッチの他、本体１の背面側に配設されるスイッチＢＳを含む各種操作スイッチ５を備える。息継ぎスイッチＢＳが意図するところについては追って述べる。
【００１３】
本体１の基端側には、マウスピース６が嵌着される。マウスピース６は、図２に図示するように、吹き口と対向する面側に息圧を検出する圧力センサ７を備えると共に、底面に配備されるリード８の裏面（上側）に歪みを検出する歪みゲージ９ａおよび当該リード８の表面（下側）に唇位置を検出する静電センサ９ｂを有する。
【００１４】
Ｂ．構成
次に、図３を参照して電子管楽器１００の電気的構成について説明する。図３は、電子管楽器１００の電気的構成を示すブロック図である。図３において、息圧検出部１０（息センサ）は、図２に図示した圧力センサ７を含み、当該圧力センサ７から出力される息圧信号をレベル増幅して次段のＡ／Ｄ変換部１３に入力する。Ａ／Ｄ変換部１３に入力される息圧信号は、マウスピース６に吹き込まれる息圧を表す息圧データＤｐとしてサンプリングされる。なお、マウスピース６に吹きこまれる息の流量を検知することとしても良い。
【００１５】
リード歪検出部１１は、図２に図示した歪みゲージ９ａおよびブリッジ回路（不図示）から構成され、リード８の歪みに対応したリード歪信号を発生して次段のＡ／Ｄ変換部１３に入力する。Ａ／Ｄ変換部１３に入力されるリード歪信号は、リード８に加わる反りや捩れに応じた歪み量を表すリード歪データＤＳとしてサンプリングされる。なお、マウスピースを咥える力（リードに対する圧力）を検知する圧力センサ（バイトセンサ）を用いても良い。
【００１６】
唇位置検出部１２は、図２に図示した静電センサ９ｂを含み、当該静電センサ９ｂから出力される唇位置信号をレベル増幅して次段のＡ／Ｄ変換部１３に入力する。Ａ／Ｄ変換部１３に入力される唇位置信号は、ユーザがマウスピース６を咥えた際に、リード８に接触する下唇の位置を表す唇位置データＤＬとしてサンプリングされる。なお、唇位置データＤＬが表す下唇の位置とは、リード８の先端を基準にして当該リード８に接触する下唇の位置を表現する。
【００１７】
Ａ／Ｄ変換部１３は、ＣＰＵ１４の制御の下に、上述した息圧信号、リード歪信号および唇位置信号をそれぞれ時分割にＡ／Ｄ変換して息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬを発生する。なお、これら息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬは、ＣＰＵ１４の制御の下に、ＲＡＭ１６のバッファエリアに一時記憶される。
【００１８】
本体１の正面に配列される音高キー２（図１参照）は、吹奏者の運指操作（押下操作）に応じた音高データを発生する。操作部５は、電源をパワーオン・オフする電源スイッチの他、息継ぎスイッチＢＳを含む各種操作スイッチを有し、操作されるスイッチ種に応じたスイッチイベントを発生する。操作部５が発生するスイッチイベントは、ＣＰＵ１４に取り込まれる。
【００１９】
ＣＰＵ１４は、息圧データＤｐが立ち上がった時点（後述する閾値Ｔｈ１から閾値Ｔｈ２を超えた時点）で、音高データおよび息圧データＤｐに対応したベロシティを含むノートオンイベントを発生して音源部１７に送付する。ＣＰＵ１４は、音源部１７が発音中の場合、息圧データＤｐに応じた音量制御と、リード歪データＤＳに応じた音色制御と、唇位置データＤＬに応じた音高制御とを指示する。ＣＰＵ１４は、息圧データＤｐが立ち下がった時点（後述する閾値Ｔｈ２から閾値Ｔｈ１へ下がった時点）で、音高データおよび息圧データＤｐに対応したベロシティを含むノートオフイベントを発生して音源部１７に送付する。
【００２０】
また、ＣＰＵ１４は、息継ぎスイッチＢＳがオン設定されてからオフ設定されまでの間（発音持続区間）、当該息継ぎスイッチＢＳがオン設定された時点で発音中の楽音を持続発音させ、当該息継ぎスイッチＢＳがオフ設定されると、オン設定された時点で保持された息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬを、それぞれ現在の息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬに徐々に近づくように補間し、補間した息圧データＤｐに応じた音量制御、リード歪データＤＳに応じた音高制御および唇位置データＤＬに応じた音色制御を発音中の楽音に施す。これにより、ビギナーユーザでも簡単に循環呼吸奏法と同等の継続音を発生させ得る。
【００２１】
ＲＯＭ１５には、上記ＣＰＵ１４にロードされる各種プログラムデータが記憶される。各種プログラムとは、後述するパワーオンイニシャライズ処理、息圧検出処理、息圧データ処理、唇位置データ処理、リード歪データ処理およびメイン処理を含む。ＲＡＭ１６は、ワークエリアおよびバッファエリアを備える。ＲＡＭ１６のワークエリアは、ＣＰＵ１４の作業領域として用いられ、各種レジスタ・フラグが一時記憶される。ＲＡＭ１６のバッファエリアには、ＣＰＵ１４の制御の下に、Ａ／Ｄ変換部１３にてサンプリングされる息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬが一時記憶される。
【００２２】
音源部１７は、周知の波形メモリ読み出し方式にて構成される複数の発音チャンネル（ＭＩＤＩチャンネル）を備え、ＣＰＵ１４から供給されるノートオン／ノートオフイベントに従って楽音波形データを発生する。音源部１７では、ＣＰＵ１４より供給される息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬに応じて、発生中の楽音の音量、音高および音色を制御する。サウンドシステム１８は、音源部１７から出力される楽音波形データをアナログ形式の楽音信号に変換し、当該楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ４から放音させる。
【００２３】
Ｃ．動作
次に、図４〜図１２を参照して、上述した電子管楽器１００のＣＰＵ１４の動作を説明する。以下では、ＣＰＵ１４が実行するパワーオンイニシャライズ処理、息圧検出処理、息圧データ処理、唇位置データ処理、リード歪データ処理およびメイン処理の各動作について述べる。なお、これら処理の動作説明において、ことわりが無い限り、動作の主体はＣＰＵ１４である。
【００２４】
（１）パワーオンイニシャライズ処理の動作
図４は、パワーオンイニシャライズ処理の動作を示すフローチャートである。電源スイッチ操作でパワーオンされると、ＣＰＵ１４は図４に図示するステップＳＡ１に進み、フラグＮＯＮＦ、フラグＮＯＦＦ、フラグＯＮＦ、フラグＢＰＦ、フラグＬＰＦおよびフラグＳＰＦをゼロリセットして初期化する。
【００２５】
なお、フラグＮＯＮＦは、ノートオン発生の有無を示すフラグであり、ノートオン発生時に「１」がセットされ、それ以外では「０」となる。フラグＮＯＦＦは、ノートオフ発生の有無を示すフラグであり、ノートオフ発生時に「１」がセットされ、それ以外では「０」となる。フラグＯＮＦは、ノートオン中（発音中）であるか否かを示すフラグであり、ノートオン中に「１」がセットされ、それ以外では「０」となる。
【００２６】
フラグＢＰＦは、息圧データＤｐを補間中（後述する）であるか否かを示すフラグであり、補間中に「１」がセットされ、それ以外では「０」となる。フラグＬＰＦは、唇位置データＤＬを補間中（後述する）であるか否かを示すフラグであり、補間中に「１」がセットされ、それ以外では「０」となる。フラグＳＰＦは、リード歪データＤＳを補間中（後述する）であるか否かを示すフラグであり、補間中に「１」がセットされ、それ以外では「０」となる。
【００２７】
続いて、ステップＳＡ２では、後述する各ルーチン（息圧検出処理、息圧データ処理、唇位置データ処理、リード歪データ処理およびメイン処理）の動作周期を設定して本処理を終える。具体的には、息圧検出処理を３２μｓ毎、息圧データ処理を１０ｍｓ毎、唇位置データ処理を１０ｍｓ毎、リード歪データ処理を１０ｍｓ毎、メイン処理を１ｍｓ毎に各々実行させる。
【００２８】
（２）息圧検出処理の動作
図５は、息圧検出処理の動作を示すフローチャートである。本処理の実行タイミングになると、ＣＰＵ１４は、図５に図示するステップＳＢ１に処理を進め、息継ぎスイッチＢＳがオン中であるか否かを判断する。息継ぎスイッチＢＳがオン中であると、判断結果は「ＹＥＳ」となり、本処理を終える。なお、息継ぎスイッチＢＳがオン中の場合、当該息継ぎスイッチＢＳがオン設定された時点の息圧データＤｐが初期値としてレジスタＯｌｄ_Ｂｒｅｓｓに保持される。
【００２９】
これに対し、息継ぎスイッチＢＳがオン中でなければ、上記ステップＳＢ１の判断結果は「ＮＯ」になり、ステップＳＢ２に進み、現在の息圧データＤｐを読み込む。次いで、ステップＳＢ３では、フラグＢＰＦが「１」、すなわち息圧データＤｐを補間中であるか否かを判断する。補間中でなければ、判断結果は「ＮＯ」になり、後述のステップＳＢ７に処理を進める。
【００３０】
一方、息圧データＤｐを補間中であると、上記ステップＳＢ３の判断結果が「ＹＥＳ」になり、ステップＳＢ４に進む。ステップＳＢ４では、上記ステップＳＢ２で読みこんだ息圧データＤｐをレジスタＴｅｍｐにストアした後、このレジスタＴｅｍｐの値（現在の息圧データＤｐ）と、レジスタＯｌｄ_Ｂｒｅｓｓに保持され、息継ぎスイッチＢＳがオン設定された時点の息圧データＤｐとの加算平均値を算出して補間した息圧データＤｐを取得し、さらにこの補間された息圧データＤｐを新たな基準値としてレジスタＯｌｄ_Ｂｒｅｓｓに更新登録する。
【００３１】
続いて、ステップＳＢ５では、レジスタＴｅｍｐの現在の息圧データＤｐと、レジスタＯｌｄ_Ｂｒｅｓｓの補間された息圧データＤｐとの差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｂｒｅｓｓ｜が充分に小さいか（殆ど「０」に近いか）否かを判断する。差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｂｒｅｓｓ｜が大きければ、判断結果は「ＮＯ」になり、後述のステップＳＢ７に進む。
【００３２】
これに対し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｂｒｅｓｓ｜が充分に小さい（殆ど「０」に近い）場合には、上記ステップＳＢ５の判断結果は「ＹＥＳ」になり、ステップＳＢ６に進み、フラグＢＰＦをゼロリセットして補間完了を表す。そして、ステップＳＢ７では、息圧データＤｐが図６（ａ）に図示する閾値Ｔｈ１あるいは閾値Ｔｈ２に達した時間を記憶する。
【００３３】
次に、ステップＳＢ８では、フラグＯＮＦが「０」（消音中）で、息圧データＤｐが閾値Ｔｈ１を超えて今回閾値Ｔｈ２を超えたか否か、つまりノートオンであるかどうかを判断する。ノートンオンならば、判断結果は「ＹＥＳ」になり、ステップＳＢ９に進む。ステップＳＢ９では、息圧データＤｐが閾値Ｔｈ１から閾値Ｔｈ２に達するまでの時間差ｔ−ｏｎ（図６（ａ）参照）をノートオンベロシティに変換すると共に、フラグＮＯＮＦを「１」にセットして本処理を終える。
【００３４】
一方、ノートオンでなければ、上記ステップＳＢ８の判断結果は「ＮＯ」になり、ステップＳＢ１０に進む。ステップＳＢ１０では、フラグＯＮＦが「１」（発音中）で、息圧データＤｐが閾値Ｔｈ２以下で今回閾値Ｔｈ１以下であるか否か、つまりノートオフであるかどうかを判断する。ノートオフでなければ、判断結果は「ＮＯ」になり、本処理を終えるが、ノートオフならば、判断結果は「ＹＥＳ」になり、ステップＳＢ１１に進む。ステップＳＢ１１では、息圧データＤｐが閾値Ｔｈ２から閾値Ｔｈ１に達するまでの時間差ｔ−ｏｆｆ（図６（ａ）参照）をノートオフベロシティに変換すると共に、フラグＮＯＦＦを「１」にセットして本処理を終える。
【００３５】
次に、図６（ｂ）を参照して、上記ステップＳＢ４〜ＳＢ６の補間処理について具体的に説明する。図６（ｂ）は、マウスピース６に吹き込まれる息圧に応じて検出される息圧データＤｐの変化の一例を図示したものである。この図において、ユーザがノートオン中（発音中）に息継ぎスイッチＢＳをオン設定すると、その時点の息圧データＤｐが初期値としてレジスタＯｌｄ_Ｂｒｅｓｓに保持される。なお、息継ぎスイッチＢＳをオン設定してからオフ設定するまでの間は、レジスタＯｌｄ_Ｂｒｅｓｓに保持した息圧データＤｐに応じた音量で発音する発音持続区間となる。
【００３６】
そして、所定時間経過後にユーザが息継ぎスイッチＢＳをオフ設定すると、レジスタＯｌｄ_Ｂｒｅｓｓに保持した息圧データＤｐと、息継ぎスイッチＢＳをオフ設定した後の最初に読み込んだ息圧データＤｐとの加算平均値を算出して補間した息圧データＤｐを取得する。
【００３７】
以後、こうした加算平均値（補間された息圧データＤｐ）と次に読みこまれる息圧データＤｐとの加算平均算出を繰り返し行うことによって、息継ぎスイッチＢＳがオン設定された時点の息圧データＤｐを徐々に現在の息圧データＤｐに近づけるように補間した息圧データＤｐを取得し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｂｒｅｓｓ｜が殆ど「０」になると、補間処理を中止する。
【００３８】
こうすることで、図６（ｂ）に図示するように、例えば息継ぎスイッチＢＳをオン設定した後に、ユーザが息切れして息継ぎを行ったとしても、息継ぎスイッチＢＳをオン設定した時点の息圧データＤｐで発音が持続される。そして、ユーザが息継ぎをして再度息を吹き込む過程で、息継ぎスイッチＢＳをオフ設定すると、息継ぎスイッチＢＳがオン設定された時点の息圧データＤｐを徐々に現在の息圧データＤｐに近づけるように補間した息圧データＤｐを取得し、この補間した息圧データＤｐで発音中の楽音の音量を制御するので、ビギナーユーザでも簡単に循環呼吸奏法と同等の継続音を発生させ得るようになっている。
【００３９】
（３）息圧データ処理の動作
図７は、息圧データ処理の動作を示すフローチャートである。本処理の実行タイミングになると、ＣＰＵ１４は、図７に図示するステップＳＣ１に処理を進め、現在の息圧データＤｐが閾値Ｔｈ１（図６（ａ）参照）より大きいか否かを判断する。息圧データＤｐが閾値Ｔｈ１（図６参照）以下ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００４０】
一方、息圧データＤｐが閾値Ｔｈ１（図６参照）より大きければ、判断結果は「ＹＥＳ」になり、ステップＳＣ２に進み、フラグＯＮＦが「１」、つまり発音中であるか否かを判断する。発音中でなければ、判断結果は「ＮＯ」になり、本処理を終えるが、発音中であれば、判断結果が「ＹＥＳ」になり、ステップＳＣ３に進む。ステップＳＣ３では、現在の息圧データＤｐを音源部１７に送付する。なお、音源部１７では、ＣＰＵ１４から送付される息圧データＤｐに応じて発音中の楽音の音量を制御する。
【００４１】
（４）唇位置データ処理の動作
図８は、唇位置データ処理の動作を示すフローチャートである。本処理の実行タイミングになると、ＣＰＵ１４は、図８に図示するステップＳＤ１に処理を進め、息継ぎスイッチＢＳがオン中であるか否かを判断する。息継ぎスイッチＢＳがオン中であると、判断結果は「ＹＥＳ」となり、本処理を終える。なお、息継ぎスイッチＢＳがオン中の場合、当該息継ぎスイッチＢＳがオン設定された時点の唇位置データＤＬが初期値としてレジスタＯｌｄ_Ｌｉｐ_２に保持される。
【００４２】
これに対し、息継ぎスイッチＢＳがオン中でなければ、上記ステップＳＤ１の判断結果は「ＮＯ」になり、ステップＳＤ２に進み、現在の唇位置データＤＬを読み込む。次いで、ステップＳＤ３では、フラグＬＰＦが「１」、すなわち唇位置データＤＬを補間中であるか否かを判断する。補間中でなければ、判断結果は「ＮＯ」になり、後述のステップＳＤ７に処理を進める。
【００４３】
一方、唇位置データＤＬを補間中であると、上記ステップＳＤ３の判断結果が「ＹＥＳ」になり、ステップＳＤ４に進む。ステップＳＤ４では、上記ステップＳＤ２で読み込んだ現在の唇位置データＤＬをレジスタＴｅｍｐにストアした後、レジスタＯｌｄ_Ｌｉｐ_２に保持されている唇位置データＤＬからレジスタＴｅｍｐの値（現在の唇位置データＤＬ）を減算した値を１／４にした差分値ＤＦＶを算出する。そして、レジスタＯｌｄ_Ｌｉｐ_２に保持されている唇位置データＤＬから差分値ＤＦＶを減算して補間した唇位置データＤＬを得る。さらに、補間した唇位置データＤＬを新たな基準値としてレジスタＯｌｄ_Ｌｉｐ_２にストアする。
【００４４】
続いて、ステップＳＤ５では、レジスタＴｅｍｐの現在の唇位置データＤＬと、レジスタＯｌｄ_Ｌｉｐ_２の補間された唇位置データＤＬとの差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_２｜が充分に小さいか（殆ど「０」に近いか）否かを判断する。差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_２｜が大きければ、判断結果は「ＮＯ」になり、後述のステップＳＤ７に進む。
【００４５】
これに対し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_２｜が充分に小さい（殆ど「０」に近い）場合には、上記ステップＳＤ５の判断結果が「ＹＥＳ」になり、ステップＳＤ６に進み、フラグＬＰＦをゼロリセットして補間完了を表す。そして、ステップＳＤ７に進み、現在の息圧データＤｐが閾値Ｔｈ１（図６（ａ）参照）より大きいか否かを判断する。息圧データＤｐが閾値Ｔｈ１（図６（ａ）参照）以下ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００４６】
一方、息圧データＤｐが閾値Ｔｈ１より大きければ、判断結果は「ＹＥＳ」になり、ステップＳＤ８に進み、フラグＯＮＦが「１」、つまり発音中であるか否かを判断する。発音中でなければ、判断結果は「ＮＯ」になり、本処理を終えるが、発音中であれば、判断結果が「ＹＥＳ」になり、ステップＳＤ９に進む。ステップＳＤ９では、現在の唇位置データＤＬを音源部１７に送付する。なお、音源部１７では、ＣＰＵ１４から送付される唇位置データＤＬに応じて、例えばＤＣＦ（デジタル制御フィルタ）のカットオフ周波数を変化させて発音中の楽音の音色を制御する。
【００４７】
次に、図９を参照して、上記ステップＳＤ４〜ＳＤ６の補間処理について具体的に説明する。図９は、唇位置データＤＬの変化の一例を図示したものである。この図において、ユーザがノートオン中（発音中）に息継ぎスイッチＢＳをオン設定すると、その時点の唇位置データＤＬが初期値としてレジスタＯｌｄ_Ｌｉｐ_２に保持される。
【００４８】
そして、所定時間経過後にユーザが息継ぎスイッチＢＳをオフ設定すると、レジスタＯｌｄ_Ｌｉｐ_２の唇位置データＤＬ（初期値）から現在の唇位置データＤＬを減算した値を１／４にした差分値ＤＦＶを算出し、レジスタＯｌｄ_Ｌｉｐ_２の唇位置データＤＬ（初期値）から差分値ＤＦＶを減算して補間した唇位置データＤＬを得た後、この補間した唇位置データＤＬを新たな基準値としてレジスタＯｌｄ_Ｌｉｐ_２に更新登録する。
【００４９】
以後、こうして補間された唇位置データＤＬと次に読み込まれる唇位置データＤＬとに基づいて補間処理を繰り返し行うことによって、息継ぎスイッチＢＳがオン設定された時点の唇位置データＤＬを徐々に現在の唇位置データＤＬに近づけように補間された唇位置データＤＬを取得し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_２｜が殆ど「０」になると、補間処理を中止する。
【００５０】
こうすることで、図９に図示するように、例えば息継ぎスイッチＢＳをオン設定した後に、ユーザが息切れして息継ぎを行ったとしても、息継ぎスイッチＢＳをオン設定した時点の唇位置データＤＬに従って発音中の楽音の音色制御が維持される。そして、ユーザが息継ぎをして再度息を吹き込む過程で、息継ぎスイッチＢＳをオフ設定すると、息継ぎスイッチＢＳがオン設定された時点の唇位置データを徐々に現在の唇位置データに近づけるように補間された唇位置データＤＬを取得し、この補間した唇位置データＤＬで発音中の楽音の音色を制御するので、ビギナーユーザでも簡単に循環呼吸奏法と同等の継続音を発生させ得るようになっている。
【００５１】
（５）リード歪データ処理の動作
図１０は、リード歪データ処理の動作を示すフローチャートである。本処理の実行タイミングになると、ＣＰＵ１４は、図１０に図示するステップＳＥ１に処理を進め、息継ぎスイッチＢＳがオン中であるか否かを判断する。息継ぎスイッチＢＳがオン中であると、判断結果は「ＹＥＳ」となり、本処理を終える。なお、息継ぎスイッチＢＳがオン中の場合、当該息継ぎスイッチＢＳがオン設定された時点のリード歪データＤＳが初期値としてレジスタＯｌｄ_Ｌｉｐ_１に保持される。
【００５２】
これに対し、息継ぎスイッチＢＳがオン中でなければ、上記ステップＳＥ１の判断結果は「ＮＯ」になり、ステップＳＥ２に進み、現在のリード歪データＤＳを読み込む。次いで、ステップＳＥ３では、フラグＳＰＦが「１」、すなわちリード歪データＤＳを補間中であるか否かを判断する。補間中でなければ、判断結果は「ＮＯ」になり、後述のステップＳＥ７に処理を進める。
【００５３】
一方、リード歪データＤＬを補間中であると、上記ステップＳＥ３の判断結果が「ＹＥＳ」になり、ステップＳＥ４に進む。ステップＳＥ４では、上記ステップＳＥ２で読み込んだ現在のリード歪みデータＤＳをレジスタＴｅｍｐにストアした後、レジスタＯｌｄ_Ｌｉｐ_１に保持されているリード歪データＤＳからレジスタＴｅｍｐの現在のリード歪データＤＳを減算した値を１／４にした差分値ＤＦＶを算出する。そして、レジスタＯｌｄ_Ｌｉｐ_１のリード歪データＤＳから差分値ＤＦＶを減算して補間したリード歪データＤＳを得る。さらに、補間したリード歪データＤＳを新たな基準値としてレジスタＯｌｄ_Ｌｉｐ_１にストアする。
【００５４】
続いて、ステップＳＥ５では、レジスタＴｅｍｐの現在のリード歪データＤＳと、レジスタＯｌｄ_Ｌｉｐ_１の補間された唇位置データＤＬとの差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_２｜が充分に小さいか（殆ど「０」に近いか）否かを判断する。差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_１｜が大きければ、判断結果は「ＮＯ」になり、後述のステップＳＥ７に進む。
【００５５】
これに対し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_１｜が充分に小さい（殆ど「０」に近い）場合には、上記ステップＳＥ５の判断結果が「ＹＥＳ」になり、ステップＳＥ６に進み、フラグＳＰＦをゼロリセットして補間完了を表す。そして、ステップＳＥ７に進み、現在の息圧データＤｐが閾値Ｔｈ１（図６（ａ）参照）より大きいか否かを判断する。息圧データＤｐが閾値Ｔｈ１（図６（ａ）参照）以下ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００５６】
一方、息圧データＤｐが閾値Ｔｈ１より大きければ、判断結果は「ＹＥＳ」になり、ステップＳＥ８に進み、フラグＯＮＦが「１」、つまり発音中であるか否かを判断する。発音中でなければ、判断結果は「ＮＯ」になり、本処理を終えるが、発音中であれば、判断結果が「ＹＥＳ」になり、ステップＳＥ９に進む。ステップＳＥ９では、現在のリード歪データＤＳを音源部１７に送付する。なお、音源部１７では、ＣＰＵ１４から送付されるリード歪データＤＳに応じて、例えば波形データの読み出し位相（読み出し速度）を変化させて発音中の楽音の音高を制御する。
【００５７】
次に、図１１を参照して、上記ステップＳＥ４〜ＳＥ６の補間処理について具体的に説明する。図１１は、リード歪データＤＳの変化の一例を図示したものである。この図において、ユーザがノートオン中（発音中）に息継ぎスイッチＢＳをオン設定すると、その時点のリード歪データＤＳが初期値としてレジスタＯｌｄ_Ｌｉｐ_１に保持される。
【００５８】
そして、所定時間経過後にユーザが息継ぎスイッチＢＳをオフ設定すると、レジスタＯｌｄ_Ｌｉｐ_１のリード歪データＤＳ（初期値）から現在のリード歪データＤＳを減算した値を１／４にした差分値ＤＦＶを算出し、レジスタＯｌｄ_Ｌｉｐ_１のリード歪データＤＳ（初期値）から差分値ＤＦＶを減算して補間したリード歪データＤＳを得た後、この補間したリード歪データＤＳを新たな基準値としてレジスタＯｌｄ_Ｌｉｐ_１に更新登録する。
【００５９】
以後、こうして補間されたリード歪データＤＳと次に読み込まれるリード歪データＤＳとに基づいて補間処理を繰り返し行うことによって、息継ぎスイッチＢＳがオン設定された時点のリード歪データＤＳを徐々に現在のリード歪データＤＳに近づけように補間されたリード歪データＤＳを取得し、差分絶対値｜Ｔｅｍｐ−Ｏｌｄ_Ｌｉｐ_１｜が殆ど「０」になると、補間処理を中止する。
【００６０】
こうすることで、図１１に図示するように、例えば息継ぎスイッチＢＳをオン設定した後に、ユーザが息切れして息継ぎを行ったとしても、息継ぎスイッチＢＳをオン設定した時点のリード歪データＤＳに従って発音中の楽音の音高制御が維持される。そして、ユーザが息継ぎをして再度息を吹き込む過程で、息継ぎスイッチＢＳをオフ設定すると、息継ぎスイッチＢＳがオン設定された時点のリード歪データＤＳを徐々に現在のリード歪データＤＳに近づけるように補間されたリード歪データＤＳを取得し、この補間したリード歪データＤＳで発音中の楽音の音高を制御するので、ビギナーユーザでも簡単に循環呼吸奏法と同等の継続音を発生させ得るようになっている。
【００６１】
（６）メイン処理の動作
図１２は、メイン処理の動作を示すフローチャートである。本処理の実行タイミングになると、ＣＰＵ１４は、図１２に図示するステップＳＦ１に処理を進め、フラグＮＯＮＦが「１」、すなわちノートオンであるか否かを判断する。ノートオンならば、判断結果は「ＹＥＳ」になり、ステップＳＦ２に進む。
【００６２】
ステップＳＦ２では、音高キー２の運指操作で指定される音高データと、前述したステップＳＢ９（図５参照）で取得したノートオンベロシティとを含むノートオンイベントを発生して音源部１７に送付する。これにより、音源部１７では、ＣＰＵ１４から受領したノートオンイベントに従った楽音波形データを発生する。
【００６３】
続いて、ステップＳＦ３では、フラグＯＮＦを「１」にセットして発音中であることを表し、フラグＮＯＮＦをゼロリセットする。次いで、ステップＳＦ４では、息圧データＤｐに応じた音量制御、唇位置データＤＬに応じた音色制御およびリード歪データＤＳに応じた音高制御を音源部１７に指示する。
【００６４】
次に、ステップＳＦ５では、音高キー２を走査し、続くステップＳＦ６では、音高キー２の走査結果に基づき運指変化の有無を判断する。運指変化が無ければ、判断結果は「ＮＯ」になり、後述のステップＳＢ８に進む。一方、運指変化が有ると、上記ステップＳＦ６の判断結果が「ＹＥＳ」になり、ステップＳＦ７に進み、新たな運指で指定される音高データに基づき発音音高の変更を音源部１７に指示する。
【００６５】
そして、ステップＳＦ８では、息継ぎスイッチＢＳのスイッチイベントの有無を判断する。息継ぎスイッチＢＳが操作されず、当該息継ぎスイッチＢＳのスイッチイベントが発生しなければ、判断結果は「ＮＯ」になり、本処理を終える。
【００６６】
これに対し、息継ぎスイッチＢＳが操作され、当該息継ぎスイッチＢＳのスイッチイベントが発生すると、上記ステップＳＦ８の判断結果が「ＹＥＳ」になり、ステップＳＦ９に進む。ステップＳＦ９では、発生したスイッチイベントがオンイベント／オフイベントの何れであるかを判別する。
【００６７】
オンイベントが発生した場合、すなわちオフ状態の息継ぎスイッチＢＳをオン設定するスイッチ操作が為されると、ステップＳＦ１０に進み、現在の息圧データＤｐをレジスタＯｌｄ_Ｂｒｅｓｓにストアし、現在のリード歪データＤＳをレジスタＯｌｄ_Ｌｉｐ_１にストアし、現在の唇位置データＤＬをレジスタＯｌｄ_Ｌｉｐ_２にストアする。そして、ステップＳＦ１１では、フラグＢＰＦ、フラグＬＰＦおよびフラグＳＰＦをそれぞれゼロリセットして本処理を終える。
【００６８】
これに対し、オフイベントが発生した場合、すなわちオン状態の息継ぎスイッチＢＳをオフ設定するスイッチ操作が為されると、ステップＳＦ１２に進み、フラグＢＰＦ、フラグＬＰＦおよびフラグＳＰＦにそれぞれ「１」をセットして息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬを補間中である旨を表して本処理を終える。
【００６９】
さて一方、フラグＮＯＮＦが「１」でない場合には、上述したステップＳＦ１の判断結果が「ＮＯ」になり、ステップＳＦ１３に進む。ステップＳＦ１３では、フラグＮＯＦＦが「１」、すなわちノートオフであるか否かを判断する。ノートオフでなければ、判断結果は「ＮＯ」になり、本処理を終えるが、ノートオフならば、判断結果が「ＹＥＳ」になり、ステップＳＦ１４に進む。
【００７０】
ステップＳＦ１４では、音高キー２の運指操作で指定される音高データと、前述したステップＳＢ１１（図５参照）で取得したノートオフベロシティとを含むノートオフイベントを発生して音源部１７に送付する。これにより、音源部１７では、ＣＰＵ１４から受領したノートオフイベントに従った楽音波形データを消音する。そして、ステップＳＦ１５に進み、フラグＯＮＦおよびフラグＮＯＦＦを共にゼロリセットして本処理を終える。
【００７１】
以上説明したように、本実施形態では、息継ぎスイッチＢＳがオン設定されてからオフ設定されまでの間（発音持続区間）、当該息継ぎスイッチＢＳがオン設定された時点で発音中の楽音を持続発音させ、当該息継ぎスイッチＢＳがオフ設定されると、オン設定された時点で保持された息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬを、それぞれ現在の息圧データＤｐ、リード歪データＤＳおよび唇位置データＤＬに徐々に近づくように補間し、補間した息圧データＤｐに応じた音量制御、リード歪データＤＳに応じた音高制御および唇位置データＤＬに応じた音色制御を発音中の楽音に施す為、ビギナーユーザでも簡単に循環呼吸奏法と同等の継続音を発生させることが可能になる。
【００７２】
なお、上述の実施形態では、息継ぎスイッチＢＳのオンオフ操作で発音持続区間を指定する態様としたが、これに替えて、息継ぎスイッチＢＳのオン操作で発音持続区間の始まりを指定し、以後、息圧データＤｐが所定レベルを超えた時に発音持続区間の終わりを指定する態様とすることも可能である。このような態様にすれば、ユーザが息継ぎスイッチＢＳをオフ操作することなく自動的に発音持続区間の終わりを指定することが可能になる。
【００７３】
また、上述の実施形態では、線形補間演算により補間値を算出するようにしたが、これに限らず、例えば息圧データＤｐのようにレベル変化の幅が大きいデータについては非線形補間演算を施してより滑らかに繋がる補間値を取得し、一方、息圧データＤｐに比べてレベル変化の幅が小さいリード歪データＤＳや唇位置データＤＬについては線形補間演算を施すようにしても構わない。
【００７４】
以上、本発明の実施形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７５】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサと、
前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御する制御部と、
を備え、
前記制御部は、指示があった場合は、前記指示があった時点の前記演奏形態データに基づいて、前記指示があった時点以後の楽音を制御することを特徴とする電子管楽器。
【００７６】
［請求項２］
指示に応じて、前記指示があった時点の前記演奏形態データを保持データとして保持する保持部と、
前記指示が解除される解除時点以降に、前記演奏形態センサから出力される前記演奏形態データと、前記保持データとから補間データを生成する補間部と、を備え、
前記制御部は、前記指示の解除がなされた場合は、前記補間データに基づいて楽音を制御することを特徴とする請求項１に記載の電子管楽器。
【００７７】
［請求項３］
前記制御部は、前記指示があった時点から前記指示が解除された時点までの間、前記保持データに基づいて楽音を制御することを特徴とする請求項１又は２に記載の電子管楽器。
【００７８】
［請求項４］
前記演奏形態センサは、前記マウスピースから吹き込まれる息圧及び息の流量の少なくとも一方を検出する息センサと、前記マウスピースを咥える唇の位置を検出する唇位置検出センサと、及び前記マウスピースを咥える力を検出するバイトセンサの少なくとも１つを含むことを特徴とする請求項１乃至３の何れかに記載の電子管楽器。
【００７９】
［請求項５］
前記制御部は、前記息センサの出力に応じて前記楽音の音量を制御し、前記唇位置検出センサの出力に応じて前記楽音の音色を制御し、前記バイトセンサの出力に応じて前記楽音の音高を制御することを特徴とする請求項４に記載の電子管楽器。
【００８０】
［請求項６］
前記補間部は、前記保持部により保持された保持データと、前記指示が解除される解除時点以降に、前記演奏形態センサから出力される演奏形態データとの差分が充分に小さい場合に補間を終えることを特徴とする請求項２乃至５の何れかに記載の電子管楽器。
【００８１】
［請求項７］
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備える電子管楽器で実行され、
前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御し、
指示があった場合は、前記指示があった時点の前記演奏形態データに基づいて、前記指示があった時点以後の楽音を制御する、
ことを特徴とする楽音発生方法。
【００８２】
［請求項８］
マウスピースに対して行われる演奏形態を検知し、演奏形態データを出力する演奏形態センサを備える電子管楽器に搭載されるコンピュータに、
前記演奏形態センサから出力された前記演奏形態データに基づいて楽音を制御するステップと、
指示があった場合は、前記指示があった時点の前記演奏形態データに基づいて、前記指示があった時点以後の楽音を制御するステップと、
を実行させることを特徴とするプログラム。
【符号の説明】
【００８３】
１  本体
２  音高キー
３  開口端
４  スピーカ
５  操作部
ＢＳ  息継ぎスイッチ
６  マウスピース
７  圧力センサ
８  リード
９ａ  歪みゲージ
９ｂ  静電センサ
１０  息圧検出部
１１  リード歪検出部
１２  唇位置検出部
１３  Ａ／Ｄ変換部
１４  ＣＰＵ
１５  ＲＯＭ
１６  ＲＡＭ
１７  音源部
１８  サウンドシステム
１００  電子管楽器
【図１】
0006758593.tif 000002
【図２】
0006758593.tif 000003
【図３】
0006758593.tif 000004
【図４】
0006758593.tif 000005
【図５】
0006758593.tif 000006
【図６】
0006758593.tif 000007
【図７】
0006758593.tif 000008
【図８】
0006758593.tif 000009
【図９】
0006758593.tif 000010
【図１０】
0006758593.tif 000011
【図１１】
0006758593.tif 000012
【図１２】
0006758593.tif 000013