(57)【要約】【課題】吹奏電子楽器において、音名が同一でオクターブが異なる２音を同一の運指状態にて簡単に吹き分け可能とする。【解決手段】リッププレートにてジェットが当たるエッジ又はその近傍にはジェットの流速を検知するための流速センサと、ジェットの長さを検知するための長さセンサとを設ける。流速センサの出力に基づいてエッジでのジェット流速Ｕｅを求め、長さセンサの出力に基づいてジェット吹出口−エッジ間距離ｄを求める。τｅ＝ｄ／Ｕｅなる式によりジェット伝達時間τｅを求め、θｅ’＝２πｆｓｏ１×τｅなる式（ｆｓｏ１は発生すべき楽音の周波数）によりジェット走行角θｅ’を求める。１次モードで発音中にθｅ’がπ／２まで減少したときは２次モードに移り、発音中の音高を１オクターブ上げる。２次モードで発音中にθｅ’が３π／４まで増大したときは１次モードに移り、発生中の音高を１オクターブを下げる。【選択図】図７
2007033592.tif 000002
【特許請求の範囲】
【請求項１】
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、
前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、
前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、
前記第１及び第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間のジェット伝達時間を決定する決定手段と、
前記複数のトーンキーに関して運指状態を検出する検出手段と、
この検出手段で検出された運指状態に対応して発生すべき所定オクターブの所定音名の楽音信号の周波数を指示する指示手段と、
この指示手段で指示された周波数と前記決定手段で決定されたジェット伝達時間との積に応じたジェットパラメータを算出する計算手段と、
前記第１の検知手段の検知出力に基づいて前記所定オクターブの楽音信号を発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが第１の所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第１の所定値より大きい第２の所定値まで増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
を備えた音源制御装置。
【請求項２】
前記第１の検知手段は、前記ジェット吹出口から前記エッジ又はその近傍に至るジェット経路に沿ってジェットの流速を検知すべく設けられた複数の流速センサを備え、前記決定手段は、前記複数の流速センサの出力に基づいて前記ジェット吹出口から前記エッジまでのジェットの流速分布を推定する推定手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、前記推定手段での推定に係るジェットの流速分布と前記距離決定手段での決定に係る距離とに基づいて前記ジェット伝達時間を決定する請求項１記載の音源制御装置。
【請求項３】
前記決定手段は、前記ジェット吹出口から前記エッジ又はその近傍の位置までのジェットの流速分布を表わす流速分布データを前記第１の検知手段の検知出力値毎に記憶する記憶手段と、前記第１の検知手段の検知出力値に対応する流速分布データを前記記憶手段から読出す読出手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、前記読出手段での読出しに係る流速分布データが表わす流速分布と前記距離決定手段での決定に係る距離とに基づいて前記ジェット伝達時間を決定する請求項１記載の音源制御装置。
【請求項４】
前記決定手段は、前記ジェット吹出口と前記エッジとの間のジェット伝達に要する時間を表わす時間データを前記第１の検知手段の検知出力値毎に且つ前記第２の検知手段の検知出力値毎に記憶する記憶手段と、前記第１及び第２の検知手段の検知出力値に対応する時間データを前記記憶手段から読出す読出手段とを備え、この読出手段での読出しに係る時間データが表わす時間を前記ジェット伝達時間として決定する請求項１記載の音源制御装置。
【請求項５】
前記決定手段は、前記第１の検知手段の検知出力に基づいて前記エッジでのジェットの流速を決定する流速決定手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、この距離決定手段での決定に係る距離を前記流速決定手段での決定に係る流速で割り算して前記ジェット伝達時間を算出する請求項１記載の音源制御装置。
【請求項６】
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第１の所定値に向けて減少するのに伴って発生中の楽音信号の周波数を徐々に上昇すべく前記音源手段を制御する第４の制御手段と、
前記音源手段にて前記１オクターブ上昇した音高の楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第２の所定値に向けて増大するのに伴って発生中の楽音信号の周波数を徐々に低下すべく前記音源手段を制御する第５の制御手段と
を更に備えた請求項１記載の音源制御装置。
【請求項７】
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、前記複数のトーンキーに関して運指状態を検出する検出手段と、コンピュータとを備えた音源制御装置において使用されるプログラムであって、前記コンピュータを、
前記第１及び第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間のジェット伝達時間を決定する決定手段と、
前記検出手段で検出された運指状態に対応して発生すべき所定オクターブの所定音名の楽音信号の周波数を指示する指示手段と、
この指示手段で指示された周波数と前記決定手段で決定されたジェット伝達時間との積に応じたジェットパラメータを算出する計算手段と、
前記第１の検知手段の検知出力に基づいて前記所定オクターブの楽音信号を発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが第１の所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第１の所定値より大きい第２の所定値まで増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
として機能させるプログラム。
【請求項８】
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、
前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、
前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、
この第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間の距離を決定する決定手段と、
前記複数のトーンキーに関して運指状態を検出する検出手段と、
この検出手段で検出された運指状態に対応する所定オクターブの所定音名の楽音信号を前記第１の検知手段の検知出力に基づいて発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記決定手段で決定される距離が所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記決定手段で決定される距離が前記所定値を越えて増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
を備えた音源制御装置。
【請求項９】
オクターブ切換制御用のスレッショルド値を前記検出手段で検出される運指状態毎に記憶する記憶手段と、
前記検出手段で検出された運指状態に対応するスレッショルド値を前記記憶手段から読出して前記所定値として前記第２及び第３の制御手段に供給する供給手段と
を更に備えた請求項８記載の音源制御装置。
【請求項１０】
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、前記複数のトーンキーに関して運指状態を検出する検出手段と、コンピュータとを備えた音源制御装置において使用されるプログラムであって、前記コンピュータを、
前記第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間の距離を決定する決定手段と、
前記検出手段で検出された運指状態に対応する所定オクターブの所定音名の楽音信号を前記第１の検知手段の検知出力に基づいて発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記決定手段で決定される距離が所定値に達したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記決定手段で決定される距離が前記所定値に達しなくなったことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、吹奏電子楽器に用いるに好適な音源制御装置及びプログラムに関するものである。
【背景技術】
【０００２】
一般に、フルート、ピッコロ等のエアリード楽器にあっては、音名が同一でオクターブが異なる２音を同一の運指状態にて吹き分けるオクターブ吹き分け奏法が用いられている。図２２には、第１及び第２オクターブのＥ音を発生させるための運指状態（Ａ）と、第１及び第２オクターブのＦ音を発生させるための運指状態（Ｂ）とが例示されている。一例として、図２２に示す運指状態にて第１，第２オクターブのＥ音を発生させる場合、吹奏者は、第１オクターブのＥ音では比較的弱く吹き、第２オクターブのＥ音では比較的強く吹く。第１オクターブと２オクターブとでは、アンブシュアの状態も若干異なる。
【０００３】
ところで、オルガンパイプ等のエアリード楽器に関しては、発音に関連する種々の物理情報が解明されている（例えば、非特許文献１参照）。図２３には、この種の物理情報としてパイプオルガン発音部の物理情報が示されている。パイプオルガン発音部において、ＡＦは入力される空気流を、ＳＬはスリットを、ＥＧはエッジをそれぞれ示す。物理情報としては、スリットＳＬの出口におけるジェットの初速Ｕ（０）［ｍ／ｓ］、エッジＥＧにおけるジェットの終速Ｕ（ｄ）［ｍ／ｓ］、スリット−エッジ間距離ｄ［ｍ］、スリット−エッジ間のジェット伝達時間τｅ［ｓｅｃ］、発音周波数ｆｓｏ［Ｈｚ］等がある。パイプオルガン発音部の下方には、スリットからの距離ｘとジェットの流速Ｕ（ｘ）との関係（ジェットの流速分布）が示されている。ジェットの流速Ｕ（ｘ）は、図２３に示すように初速Ｕ（０）から終速Ｕ（ｄ）に向けて徐々に低下する。
【０００４】
非特許文献１には、フルートやオルガンパイプ等のエアリード楽器におけるエアリードの発音オクターブを現在の発音モードとジェット走行角とにより決定できる旨記載されている。ここで、ジェット走行角θｅは、前述のジェット伝達時間τｅ 及び発音周波数ｆｓｏ（又は発音角周波数ωｓｏ＝２π・ｆｓｏ）を用いて次の数１の式で表わされる。
【０００５】
【数１】
2007033592.tif 000003
【０００６】
また、ジェット伝達時間τｅは、前述のスリット−エッジ間距離ｄ及びジェットの流速Ｕ（ｘ）を用いて次の数２の式により求められる。
【０００７】
【数２】
2007033592.tif 000004
【０００８】
ジェット伝達時間τｅは、数２の式による積分計算で求める代りに、台形近似で求めることもできる。すなわち、ＵｉをスリットＳＬからｘ＝ｉ・Δｘ［ｍ］（ｉ＝１，２，…ｎ）の距離におけるジェットの流速［ｍ／ｓ］とすると、次の数３の式により求められる。数３の式で求められるτｅは、図２４に示すハッチング領域の面積Ｓｄに相当する。数３の式の計算を精度良く行なうためには、Δｘを０．１［ｃｍ］などと十分に小さく設定し、多くの個所でジェットの流速を検知するのが望ましい。
【０００９】
【数３】
2007033592.tif 000005
【００１０】
図２５は、発音モードとジェット走行角θｅとに基づくオクターブ変化を示すものである。図２５では発音モードを１次モードと２次モードとに分けて示す。１次モードは、ある音名の音を所定のオクターブで発音するモードであり、２次モードは、１次モードで発音した音を１オクターブ上げて発音するモードである。
【００１１】
図２５において、Ｓ１の状態で初速Ｕ（０）のジェットが発生すると、θｅ＝３π／２となるＳ２のときに１次モードの発音を開始する。そして、θｅがπ，３π／４…とπ／２に向けて減少していく過程Ｓ３では、発音周波数が少しずつ上昇し、非特許文献１に記載はないが、実際のエアリード楽器では音量や音色も変化する。θｅ＝π／２となるＳ４のときに２次モードへのジャンプ（１オクターブ上昇）が起こる。このジャンプの過程Ｓ５では、発音周波数が倍増するため、θｅが倍増してπとなる。
【００１２】
θｅ＝πの状態Ｓ６から２次モードの発音を開始する。そして、θｅがπから３π／２に向けて増大していく過程Ｓ７では、非特許文献１に記載はないが、実際のエアリード楽器では発音周波数が少しずつ下降し、音量や音色も変化する。θｅ＝３π／２となるＳ８のときに１次モードへのジャンプ（１オクターブ下降）が起こる。このジャンプの過程Ｓ９では、発音周波数が半減するため、θｅが半減して３π／４となる。なお、図２５において、左方向は、ジェットの流速Ｕ（ｘ）が増加する方向である。また、左方向は、スリット−エッジ間距離ｄが減少する方向でもある。
【００１３】
ジェットの流速分布に関しては、図２６に示すように（イ）ジェットの初速が大きいと、ジェットの流速Ｕ（ｘ）の減衰が大きいこと、（ロ）ジェットの初速が小さく、スリット−エッジ間距離ｄが短い場合はジェットの流速Ｕ（ｘ）の減衰が無視できることなどが知られている（例えば、非特許文献２参照）。
【００１４】
従来、エアリード楽器を模擬した物理モデル音源を鍵盤操作に応じて制御する音源制御装置は知られている（例えば、特許文献１参照）。また、マウスピース等の吹奏入力部を有する吹奏電子楽器も知られており、ブレスセンサで空気流を検出して発音の開始や終了を制御するもの（例えば、特許文献２参照）、ブレスの強さに応じて楽音特性を切換制御するもの（例えば、特許文献３参照）、マウスピースへ吹込む呼気の方向に応じて音高を制御するもの（例えば、特許文献４参照）、マウスピースに吹込まれる呼気流の流速及び総呼気量からそれぞれ音高情報及び音量情報を得るもの（例えば、特許文献５参照）などがある。
【非特許文献１】吉川茂著「オルガンパイプとその水中音源への応用に関する研究」東京工業大学博士論文  昭和６０年
【非特許文献２】有元慶太著「エアリード楽器におけるジェット流速分布と発音特性に関する実験的考察」九州芸術工科大学修士論文  平成１３年
【特許文献１】特開平６−６７６７５号公報
【特許文献２】特開昭６４−７７０９１号公報
【特許文献３】特開平５−２１６４７５号公報
【特許文献４】特開平７−１９９９１９号公報
【特許文献５】特開２００２−４９３６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
特許文献１  に示された電子楽器では、鍵盤から取得した鍵操作情報に基づいてジェットの厚み、ジェットの流速、ジェットの傾き等の制御情報を作成し、これらの制御情報を音源制御パラメータに変換して物理モデル音源に供給する構成であるため、吹奏入力に応じて演奏を行なうことはできない。
【００１６】
一方、特許文献２〜５に示された電子楽器では、吹奏入力に応じた演奏を行なえるものの、フルート等のエアリード楽器のようにオクターブ吹き分け奏法を行なうことはできない。そこで、非特許文献１に示された知見を応用してオクターブ吹き分け奏法を可能にすることが考えられる。しかし、非特許文献１の知見をそのまま応用する場合には、次の（１）、（２）のような問題点がある。
【００１７】
（１）現在の発音モードとジェット走行角θeとに基づいてオクターブを切換制御することを想定した場合、前掲の数１の式には実際の発音周波数を求めて代入する必要がある。しかし、自然楽器ではないので、実際の発音周波数を求めることはできない。
【００１８】
（２）ジェット伝達時間τｅを精度良く求めるためには、多数の個所でジェットの流速をセンシングすることが必要である。しかし、ジェットの流路に沿って多数の流速センサを配置するのは実際上困難である。
【００１９】
この発明の目的は、吹奏電子楽器においてエアリード楽器のオクターブ吹き分け奏法を簡単に模擬できる新規な音源制御装置を提供することにある。
【課題を解決するための手段】
【００２０】
この発明に係る第１の音源制御装置は、
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、
前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、
前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、
前記第１及び第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間のジェット伝達時間を決定する決定手段と、
前記複数のトーンキーに関して運指状態を検出する検出手段と、
この検出手段で検出された運指状態に対応して発生すべき所定オクターブの所定音名の楽音信号の周波数を指示する指示手段と、
この指示手段で指示された周波数と前記決定手段で決定されたジェット伝達時間との積に応じたジェットパラメータを算出する計算手段と、
前記第１の検知手段の検知出力に基づいて前記所定オクターブの楽音信号を発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが第１の所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第１の所定値より大きい第２の所定値まで増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
を備えたものである。
【００２１】
この発明の第１の音源制御装置によれば、リッププレートにおいてエッジ又はその近傍で第１の検知手段によりジェットの流速又は強さが検知されると共に第２の検知手段によりジェットの長さが検知され、第１及び第２の検知手段の検知出力に基づいてジェット吹出口とエッジとの間のジェット伝達時間が決定される。複数のトーンキーに関して運指状態が検出され、検出に係る運指状態に対応して発生すべき楽音信号の周波数が指示される。指示に係る周波数と決定に係るジェット伝達時間とに基づいてジェット走行角等のジェットパラメータが算出され、このジェットパラメータと発音状態とに基づいて発音オクターブが制御される。
【００２２】
第１の制御手段は、検出に係る運指状態に対応する所定オクターブの所定音名の楽音信号を第１の検出手段の検出出力に基づいて発生すべく音源手段を制御する。第２の制御手段は、音源手段にて所定オクターブの楽音信号を発生中であるときに算出に係るジェットパラメータが第１の所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく音源手段を制御する。第３の制御手段は、音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに算出に係るジェットパラメータが第１の所定値より大きい第２の所定値まで増大したことを検知して発生中の楽音の音高を１オクターブ下降すべく音源手段を制御する。
【００２３】
この発明では、運指状態に対応して発生すべき楽音信号の周波数を用いてジェットパラメータを算出するので、実際の発音周波数を求める必要がない。また、所定オクターブの楽音信号を発生中のときはジェットパラメータが第１の所定値まで減少したことを検知して発音オクターブを１オクターブ上げるようにしたので、ユーザとしては、ジェットパラメータが第１の所定値に達するように吹奏した後はその吹奏状態を維持したままで１オクターブ高い楽音信号を発生させることができ、図２５に示したようにジェット走行角をπ／２からπに増大させるような吹奏操作は要求されない。１オクターブ高い楽音信号を発生中のときはジェットパラメータが第１の所定値より大きい第２の所定値まで増大したことを検知して発音オクターブを１オクターブ下げるようにしたので、ユーザとしては、ジェットパラメータが第２の所定値に達するように吹奏した後はその吹奏状態を維持したままで１オクターブ低い楽音信号を発生させることができ、図２５に示したようにジェット走行角を３π／２から３π／４に減少させるような吹奏操作は要求されない。従って、簡単にオクターブの吹き分けを行なうことができる。その上、第２の所定値を第１の所定値より大きくしてオクターブ切換えにヒステリシスを持たせてあるので、１オクターブ上げる場合には第１の所定値に達しない範囲で、１オクターブ下げる場合には第２の所定値に達しない範囲でそれぞれピッチを若干変更するように吹奏してもオクターブ変化が起こらず、ピッチベンドやビブラート等の奏法が可能である。従って、第１の音源制御装置は、様々なフルートの演奏メソッドのアンブシュアに対応可能であり、フルートに近い演奏を楽しみたいユーザに好適である。
【００２４】
この発明の第１の音源制御装置において、前記第１の検知手段は、前記ジェット吹出口から前記エッジ又はその近傍に至るジェット経路に沿ってジェットの流速を検知すべく設けられた複数の流速センサを備え、前記決定手段は、前記複数の流速センサの出力に基づいて前記ジェット吹出口から前記エッジまでのジェットの流速分布を推定する推定手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、前記推定手段での推定に係るジェットの流速分布と前記距離決定手段での決定に係る距離とに基づいて前記ジェット伝達時間を決定するようにしてもよい。また、前記決定手段は、前記ジェット吹出口から前記エッジ又はその近傍の位置までのジェットの流速分布を表わす流速分布データを前記第１の検知手段の検知出力値毎に記憶する記憶手段と、前記第１の検知手段の検知出力値に対応する流速分布データを前記記憶手段から読出す読出手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、前記読出手段での読出しに係る流速分布データが表わす流速分布と前記距離決定手段での決定に係る距離とに基づいて前記ジェット伝達時間を決定するようにしてもよい。さらに、前記決定手段は、前記ジェット吹出口と前記エッジとの間のジェット伝達に要する時間を表わす時間データを前記第１の検知手段の検知出力値毎に且つ前記第２の検知手段の検知出力値毎に記憶する記憶手段と、前記第１及び第２の検知手段の検知出力値に対応する時間データを前記記憶手段から読出す読出手段とを備え、この読出手段での読出しに係る時間データが表わす時間を前記ジェット伝達時間として決定するようにしてもよい。さらに、前記決定手段は、前記第１の検知手段の検知出力に基づいて前記エッジでのジェットの流速を決定する流速決定手段と、前記第２の検知手段の検知出力に基づいて前記ジェット吹出口と前記エッジとの間の距離を決定する距離決定手段とを備え、この距離決定手段での決定に係る距離を前記流速決定手段での決定に係る流速で割り算して前記ジェット伝達時間を算出するようにしてもよい。これらの構成によれば、少ない数の流速センサを用いてジェット伝達時間を精度良く求めることが可能である。
【００２５】
この発明の第１の音源制御装置は、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第１の所定値に向けて減少するのに伴って発生中の楽音信号の周波数を徐々に上昇すべく前記音源手段を制御する第４の制御手段と、
前記音源手段にて前記１オクターブ上昇した音高の楽音信号を発生中であるときに前記計算手段で算出されるジェットパラメータが前記第２の所定値に向けて増大するのに伴って発生中の楽音信号の周波数を徐々に低下すべく前記音源手段を制御する第５の制御手段と
を更に備えていてもよい。このような構成によると、実際のエアリード楽器においてオクターブ変化の前後で発音周波数がゆるやかに変化する様子を模擬することができる。ユーザとしては、オクターブ変化の前兆を感じ取ることができるので、オクターブの吹き分けをスムーズに行なうことができる。
【００２６】
この発明に係る第２の音源制御装置は、
開放端に連通する細長い空洞を有する管体部であって、その側部には前記空洞に連通する唄穴を有するリッププレートと音高指定用の複数のトーンキーとが設けられたものと、
前記リッププレートにおいて前記唄穴側からジェットが当たるエッジ又はその近傍にジェットの流速又は強さを検知すべく設けられた第１の検知手段と、
前記リッププレートにおいて前記エッジ又はその近傍にジェットの長さを検知すべく設けられた第２の検知手段と、
この第２の検知手段の検知出力に基づいてジェット吹出口と前記エッジとの間の距離を決定する決定手段と、
前記複数のトーンキーに関して運指状態を検出する検出手段と、
この検出手段で検出された運指状態に対応する所定オクターブの所定音名の楽音信号を前記第１の検知手段の検知出力に基づいて発生すべく音源手段を制御する第１の制御手段と、
前記音源手段にて前記所定オクターブの楽音信号を発生中であるときに前記決定手段で決定される距離が所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく前記音源手段を制御する第２の制御手段と、
前記音源手段にて１オクターブ上昇した音高の楽音信号を発生中であるときに前記決定手段で決定される距離が前記所定値を越えて増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく前記音源手段を制御する第３の制御手段と
を備えたものである。
【００２７】
この発明の第２の音源制御装置において、「管体部」、「第１の検知手段」、「第２の検知手段」、「検出手段」及び「第１の制御手段」の構成は、前述の第１の音源制御装置と同様であるが、ジェット走行角等のジェットパラメータの代りにジェット吹出口とエッジとの間の距離を用いてオクターブ切換制御を行なう点が前述の第１の音源制御装置とは異なる。すなわち、決定手段では、第２の検知手段の検知出力に基づいてジェット吹出口とエッジとの間の距離が決定される。第２の制御手段は、音源手段にて所定オクターブの楽音信号を発生中であるときに決定に係る距離が所定値まで減少したことを検知して発生中の楽音信号の音高を１オクターブ上昇すべく音源手段を制御する。第３の制御手段は、音源手段にて１オクターブ上昇した音高の楽音信号の発生中であるときに決定に係る距離が所定値を越えて増大したことを検知して発生中の楽音信号の音高を１オクターブ下降すべく音源手段を制御する。
【００２８】
この発明の第２の音源制御装置によれば、所定オクターブの楽音信号を発生中にジェット吹出口とエッジとの間の距離が所定値まで減少したときは１オクターブ上げ、１オクターブ上げた楽音信号を発生中にジェット吹出口とエッジとの間の距離が所定値を越えて増大したときは１オクターブ下げるようにしたので、唇−エッジ間距離を変更するだけでオクターブの吹き分けが可能であり、初心者に好適である。前述の第１の音源制装置にあっては、フルートに近い演奏を楽しめるものの、低音域ではジェットの流速を遅くしないと発音しない傾向があるため、大音量での演奏が困難であり、高音域ではジェットの流速を速くしないと発音しない傾向があるため、小音量での演奏が困難である。しかし、第２の音源制御装置では、ジェット走行角等のパラメータを用いず、ジェット吹出口−エッジ間距離を用いてオクターブ切換制御を行なうので、低音域で大音量の演奏が可能であると共に高音域で小音量の演奏が可能である。
【００２９】
この発明の第２の音源制御装置において、オクターブ切換制御用のスレッショルド値を前記検出手段で検出される運指状態毎に記憶する記憶手段と、前記検出手段で検出された運指状態に対応するスレッショルド値を前記記憶手段から読出して前記所定値として前記第２及び第３の制御手段に供給する供給手段とを更に設けてもよい。このようにすると、唇−エッジ間距離を音高に応じて変化させるメソッドに慣れているユーザに好適である。
【発明の効果】
【００３０】
この発明の音源制御装置によれば、現在の発音状態とジェットパラメータとに基づいてオクターブ切換制御を行なうようにしたので、フルート等のエアリード楽器におけるオクターブ吹き分け奏法を簡単に模擬できる効果が得られる。
【００３１】
また、現在の発音状態とジェット吹出口−エッジ間距離とに基づいてオクターブ切換制御を行なうようにしたので、唇−エッジ間距離を変更するだけで簡単にオクターブの吹き分けを行なえると共に低音域での大音量演奏や高音域での小音量演奏が可能になる効果も得られる。
【発明を実施するための最良の形態】
【００３２】
図１は、この発明の一実施形態に係る吹奏電子楽器の回路構成を示すもので、この電子楽器では、小型コンピュータを用いて音源制御を行なうようになっている。
【００３３】
フルートに類似した形状を有するウインドコントローラ１０は、閉塞端１２ａから開放端１２ｂに延長する細長い空洞を有する管体部１２を備えたもので、管体部１２の側部には、管体部１２の空洞に連通する唄穴１６を有するリッププレート１４と、音高指定用の多数のトーンキーを含むトーンキー群１８とが設けられている。ウインドコントローラ１０は、フルートのようにそれ自体で音を発生するものではないから、管体部１２の寸法は、ユーザの使い易さ等を考慮して適宜設定することができる。また、閉塞端１２ａは、開放端としてもよい。
【００３４】
リッププレート１４には、ジェットの流速を検知するための流速センサと、ジェットの長さを検知するための長さセンサとが装着されている。これらのセンサの装着構造については、図４，５を参照して後述する。トーンキー群１８中の各トーンキーには、その操作の有無を検出するためにキースイッチが装着されている。
【００３５】
バス２０には、ＣＰＵ（中央処理装置）２２、ＲＯＭ（リード・オンリィ・メモリ）２４、ＲＡＭ（ランダム・アクセス・メモリ）２６、キーボード２８、表示器３０、流速センサ回路３２、長さセンサ回路３４、キースイッチ回路３６、音源回路３８等が接続されている。ＣＰＵ２２は、ＲＯＭ２４にストアされたプログラムに従って音源制御のための各種処理を実行するもので、これらの処理については図９〜１４を参照して後述する。ＲＯＭ２４には、プログラムの他に、各種のデータテーブルが記憶されている。ＲＡＭ２６は、ＣＰＵ２２が各種処理を実行する際にフラグ、レジスタ等として使用する記憶領域を含んでいる。キーボード２８は、文字、数字等を入力するためのキー群及びマウス等のポインティングデバイスを含んでいる。表示器３０は、各種の情報を表示するためのものである。
【００３６】
流速センサ回路３２は、リッププレート１４に設けた流速センサを含むもので、流速センサの出力に応じた流速データを発生する。長さセンサ回路３４は、リッププレート１４に設けた長さセンサを含むもので、長さセンサの出力に応じた長さデータを発生する。キースイッチ回路３６は、トーンキー群１８中の多数のトーンキーにそれぞれ設けた多数のキースイッチを含むもので、トーンキー群１８での運指状態に応じた運指データを発生する。
【００３７】
音源回路３８は、一例として図２に示すような物理モデル音源３８Ａを有するもので、音源３８Ａからはディジタル楽音信号ＤＴＳが送出される。音源３８Ａには、音高制御入力としてレジスタＫＣＲからキーコード値が、音量・音色制御入力としてレジスタＢＣＲからブレス制御値が、音高制御入力としてレジスタＥＭＲからアンブシュア制御値が、ピッチ制御入力としてレジスタＰＡＲからピッチ修正値がそれぞれ供給される。レジスタＫＣＲ，ＢＣＲ，ＥＭＲ，ＰＡＲは、いずれもＲＡＭ２６内に存在する。音高制御入力は、音階に従って半音単位で音高を制御する入力であり、ピッチ制御入力は、ピッチベンド等のようにセント単位で音高を制御する入力である。なお、音源回路３８は、図３に示すような波形テーブル音源（波形読出音源）３８Ｂを有するものとしてもよく、これについては後述する。
【００３８】
音源回路３８から送出されるディジタル楽音信号ＤＴＳは、Ｄ／Ａ変換回路４０でアナログ楽音信号ＡＴＳに変換される。アナログ楽音信号ＡＴＳは、パワーアンプ、スピーカ等を含むサウンドシステム４２により楽音に変換される。
【００３９】
図４は、流速センサ及び長さセンサの装着構造の一例を示すものである。リッププレート１４において、唄穴１６側からジェットが当たるエッジＥＧの近傍には、流速センサＳｂが設けられている。また、エッジＥＧの真下の位置には、長さセンサＳｄが設けられている。流速センサＳｂとしては、長さセンサＳｄの検知動作を妨害しないように小型のものが用いられる。長さセンサＳｄとしては、例えば発光素子の射出光をユーザの下唇ＫＬに照射すると共にその反射光を受光素子で受取ることにより反射光の大きさから下唇−エッジ間距離ｄ１に相当するジェットＪの長さを検知する構成のものを用いることができる。なお、Ｊｃは、ジェットＪの厚さの中心を示す。
【００４０】
ジェット吹出口ＪＳは、上唇ＫＵと下唇ＫＬとの間のジェット吹出部に相当する。エッジＥＧを中心として下唇ＫＬの先端を通る円弧Ｃ１と、ジェット吹出口ＪＳを通る円弧Ｃ２とを想定すると、ジェット吹出口−エッジ間距離ｄは、前述の下唇−エッジ間距離ｄ１よりもジェット吹出口−下唇先端間距離ｄ２だけ長い。すなわち、距離ｄは、距離ｄ１，ｄ２を用いてｄ＝ｄ１＋ｄ２として求められる。この距離ｄは、図２３に示したスリット−エッジ間距離ｄに対応するもので、ジェット伝達時間τｅを決定したり、エッジＥＧに対する唇の接近度を判定したりするのに用いられる。距離ｄ２は、高音になるほど小さくなるので、音高に応じて決定（スケーリング）するのが望ましいが、すべての音高について平均化した一定値を用いてもよい。
【００４１】
図５は、流速センサ及び長さセンサの装着構造の他の例を示すもので、図４と同様の部分には同様の符号を付して詳細な説明を省略する。図５の例では、流速センサＳｂとして、エッジＥＧより唄穴１６内に突出した位置にサイズが大きい漏斗状のセンサが設けられている。この場合、図４と同様に長さセンサＳｄを設けたのでは、流速センサＳｂにより長さセンサＳｄの検知動作が妨害される。そこで、流速センサＳｂの直前で流速センサＳｂの下端に接する位置に長さセンサＳｄが設けられている。破線Ｂｋは、上下の唇ＫＵ，ＫＬがエッジＥＧに最も近づいた状態を示す。長さセンサＳｄとエッジＥＧとの間の距離をｄ３とすると、ジェット吹出口ＪＳとエッジＥＧとの間の距離ｄは、ｄ＝ｄ１＋ｄ２＋ｄ３なる式で求められる。
【００４２】
次に、図６を参照してジェット伝達時間算出法を説明する。図６において、横軸はジェット吹出口からの距離ｘを、縦軸はジェットの流速Ｕ（ｘ）をそれぞれ表わす。線Ｌ１，Ｌ２，Ｌ３は、それぞれジェットの初速が小，中，大である場合のジェットの流速分布を表わす。横軸において、ＪＳはジェット吹出口の位置を、ＥＧはエッジの位置を、Ｓｂは流速センサの位置を、ｘ０は、線Ｌ２，Ｌ３の交点に対応する位置を、ｄはジェット吹出口−エッジ間距離をそれぞ表わす。距離ｄは、図４，５に関して前述したように長さセンサＳｄの出力に基づいて決定される。エッジ位置でのジェットの流速Ｕ（ｄ）を一義的に決定するためには、位置ｘ０より左側（エッジ寄り）に流速センサＳｂを設ける必要がある。
【００４３】
図２３，２４に関して前述した方法によりジェット伝達時間τｅを精度良く求めるためには多数の流速センサを必要とする。しかし、次に述べる（Ｍ１）〜（Ｍ４）の方法を用いると、少ない数の流速センサを用いてジェット伝達時間τｅを精度良く求めることができる。
【００４４】
（Ｍ１）複数の流速センサの出力に基づいて流速分布を推定する方法：この方法では、ジェット吹出口からエッジ又はその近傍に至るジェット経路に沿って複数の流速センサを設ける。一例として、第１及び第２の２個の流速センサを設けるものとし、第１の流速センサを図６のＥＧの位置に、第２の流速センサを図６のＳｂの位置に設ける。第１及び第２の流速センサの出力に基づいて補間法、直線近似、曲線近似等により例えば線Ｌ２のようなジェットの流速分布を推定する。そして、推定に係る流速分布と距離ｄとに基づいて前述の数２又は数３の式によりジェット伝達時間τｅを算出する。
【００４５】
（Ｍ２）流速分布データをテーブル化して記憶しておく方法：この方法では、例えば図４に示すようにエッジＥＧに設けた１個の流速センサを用いる。また、ジェット吹出口からエッジ又はその近傍の位置までのジェット流速分布を表わす流速分布データを実測により求め、流速センサの出力値に対応させてテーブル化してＲＯＭ２４に記憶しておく。演奏時には、流速センサの出力値に対応する流速分布データをＲＯＭ２４から読出し、読出しに係る流速分布データが表わす流速分布と距離ｄとに基づいて前述の数２又は数３の式によりジェット伝達時間τｅを算出する。
【００４６】
（Ｍ３）予め計算したジェット伝達時間をテーブル化して記憶しておく方法：この方法では、ジェット吹出口とエッジとの間のジェット伝達に要する時間（ジェット伝達時間）を上記（Ｍ２）で説明したように流速分布と距離ｄとに基づいて算出し、算出に係る時間を表わす時間データを流速センサの出力値及び長さセンサの出力値に対応させてテーブル化してＲＯＭ２４に記憶しておく。演奏時には、流速センサの出力値及び長さセンサの出力値に対応する時間データをＲＯＭ２４から読出し、読出しに係る時間データが表わす時間をジェット伝達時間τｅとして決定する。
【００４７】
（Ｍ４）ジェット伝達時間を簡略式で計算する方法：この方法では、エッジ位置でのジェットの流速Ｕ（ｄ）と距離ｄとを用いてτｅ＝ｄ／Ｕ（ｄ）なる簡略式によりジェット伝達時間τｅを算出する。この方法は、ジェットの初速Ｕ（０）と終速Ｕ（ｄ）とがほぼ等しい（Ｕ（０）≒Ｕ（ｄ））ことを前提としたもので、線Ｌ１で示すような初速Ｕ（０）が小さい流速分布の時に用いるのに適している。
【００４８】
図７は、この発明に係るオクターブ切換制御動作を図２５と同様にモード遷移図で示すものである。ジェット走行角θｅ’は、１次モードでは図２５の場合と同様にθｅであり、２次モードでは図２５の場合の半分（θｅ／２）である。Ｓ１の状態で初速Ｕ（０）のジェットが発生すると、θｅ’＝３π／２となるＳ２のときに１次モードの発音を開始させる。そして、θｅ’がπ，３π／４…とπ／２に向けて減少していく過程Ｓ３では、発音周波数を徐々に上昇させ、音量や音色も変化させる。θｅ’＝π／２となるＳ４のときに２次モードへジャンプ（１オクターブ上昇）させる。このジャンプの過程Ｓ５では、θｅ’はπ／２のままとするので、図２５に示したようにジェット走行角をπ／２からπに倍増させるような吹奏操作は要求されない。
【００４９】
θｅ’＝π／２の状態Ｓ６から２次モードの発音を開始させる。そして、θｅ’がπ／２から３π／４に増大していく過程Ｓ７では、発音周波数を徐々に下降させ、音量や音色も変化させる。θｅ’＝３π／４となるＳ８の時に１次モードへジャンプ（１オクターブ下降）させる。このジャンプの過程Ｓ９では、θｅ’は３π／４のままとするので、図２５に示したようにジェット走行角３π／２から３π／４に半減させるような吹奏操作は要求されない。なお、図７において、左方向は、ジェットの流速Ｕ（ｘ）が増加する方向である。また、左方向は、ジェット吹出口−エッジ間距離ｄが減少する方向でもある。
【００５０】
図７の動作例では、２次モードにおけるジェット走行角θｅ’を図２５の場合の半分（π／２，３π／４）としたので、２次モードでの発音開始の決定や１次モードへの移行の判定が容易となる。また、発音オクターブを１オクターブ上げたり、下げたりする際に運指状態は同一状態を維持すればよいので、ジェット走行角θｅ’を決定するための周波数としては、同一の運指状態に対応して発生すべき所定オクターブの所定音名の楽音信号の周波数を用いることができ、実際の発音周波数を用いなくてよい。
【００５１】
図８は、キーコードに基づく発音動作を示すもので、（Ａ）は運指データに基づいて発生されるキーコードを、（Ｂ）は音源回路３８に供給されるキーコードを、（Ｃ）は音源回路３８に供給されるアンブシュア制御値を、（Ｄ）は発音される音高をそれぞれ示す。キーコードは、括弧内にキーコード値（ノートナンバ）として示されている。
【００５２】
キーコード値６０，６１は、いずれもアンブシュア制御値６４と共に音源回路３８に供給され、Ｃ３，Ｃ＃３の音を発生するのに使用される。キーコード値６２〜７３に関して、１次モードではアンブシュア制御値が６４とされ、２次モードではアンブシュア制御値が１２７とされる。１次モードにおいて、キーコード値６２〜７３は、いずれもアンブシュア制御値６４と共に音源回路３８に供給され、Ｄ３〜Ｃ＃４の音を発生するのに使用される。２次モードにおいて、キーコード値６２〜７３は、いずれもアンブシュア制御値１２７と共に音源回路３８に供給され、Ｄ４〜Ｃ＃５の音を発生するのに使用される。
【００５３】
７４以上のキーコード値は、いずれも加算処理ＡＳにより１２が加算され、１オクターブ上のキーコード値に変換される。例えば、Ｄ４〜Ｃ＃５に対応するキーコード値７４〜８５は、Ｄ５〜Ｃ＃６に対応するキーコード値８６〜９７にそれぞれ変換される。変換に係るキーコード値は、いずれもアンブシュア制御値６４と共に音源回路３８に供給され、Ｄ５以上の音高の音を発生するのに使用される。
【００５４】
図９は、メインルーチンの処理の流れを示すもので、この処理は、電源オン等に応じてスタートする。ステップ５０では、初期設定処理を行なう。例えば、前述のレジスタＫＣＲ，ＢＣＲ，ＥＭＲ，ＰＡＲには、それぞれ０をセットする。また、ＲＡＭ２６内のモードフラグＭＦには無音状態に対応する０をセットする。
【００５５】
ステップ５２では、図１０に関して後述するようにキースイッチ回路３６からの運指データに基づいてキーコード処理を行なう。ステップ５４では、図１１に関して後述するように流速センサ回路３２からの流速データに基づいて流速処理を行なう。ステップ５６では、図１２に関して後述するように長さセンサ回路３４からの長さデータに基づいて長さ処理を行なう。ステップ５８では、図１３，１４に関して後述するように音源回路３８へ各種の制御情報を出力する出力処理を行なう。
【００５６】
ステップ５８の後は、ステップ６０で音源オフ等の終了指示ありか判定する。この判定結果が否定的（Ｎ）であれば、ステップ５２に戻り、それ以降の処理を繰返す。ステップ６０の判定結果が肯定的（Ｙ）となったときは、処理エンドとする。
【００５７】
図１０は、キーコード処理のサブルーチンを示すものである。ステップ６２では、キースイッチ回路３６から運指データを取得し、ＲＡＭ２６内のレジスタＴＫＲにセットする。ＲＯＭ２４には、運指データが示す運指状態毎に図８（Ａ）に示したようなキーコードを表わすキーコードテーブルが記憶されている。ステップ６４では、ＲＯＭ２４のキーコードテーブルを参照してＴＫＲの運指データ値に対応するキーコードＫＣを求め、レジスタＫＣＲにセットする。
【００５８】
ステップ６６では、ＫＣＲのＫＣ（キーコード）値が６２〜７３（Ｄ３〜Ｃ＃４）のいずれかか（１，２次モードか）判定する。ＲＯＭ２４には、ＫＣ値毎に発生すべき所定オクターブの所定音名の楽音信号の周波数を表わす周波数テーブルが記憶されている。ステップ６６の判定の結果が肯定的（Ｙ）であったときは、１，２次モードであったことになり、ステップ６８でＲＯＭ２４の周波数テーブルを参照してＫＣＲのＫＣ値に対応する周波数ｆｓｏ１を求め、ｆｓｏ１を表わす周波数データをＲＡＭ２６内のレジスタｆＲにセットする。
【００５９】
ステップ６６の判定の結果が否定的（Ｎ）であった（１，２次モード以外の他のモードであった）とき又はステップ６８の処理が終ったときは、ステップ７０でＫＣＲのＫＣ値が７４（Ｄ４）以上か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ７２でＫＣＲのＫＣ値に１２を加え、その和のデータをＫＣＲにセットする。この処理は、図８に示した加算処理ＡＳに相当する。ステップ７２の処理が終ったとき又はステップ７０の判定の結果が否定的（Ｎ）であったときは、図９のメインルーチンにリターンする。
【００６０】
図１１は、流速処理のサブリーチンを示すものである。ステップ７４では、流速センサ回路３２から流速データを取得し、ＲＡＭ２６内のレジスタＳＰＲにセットする。そして、ステップ７６では、ＳＰＲの流速データ値が所定値以上か判定する。この所定値としては、発音可能状態とするのに適した値が予め設定されている。ステップ７６の判定の結果が否定的（Ｎ）であったときは、ステップ７８でモードフラグＭＦに０（無音状態に対応）をセットする。
【００６１】
ステップ７６の判定の結果が肯定的（Ｙ）であったときは、ステップ８０に移る。ＲＯＭ２４には、流速データ値毎にブレス制御値を表わすブレステーブルが記憶されている。ステップ８０では、ＲＯＭ２４のブレステーブルを参照してＳＰＲの流速データ値に対応するブレス制御値を求め、レジスタＢＣＲにセットする。ＲＯＭ２４には、流速データ値毎にエッジＥＧでの流速Ｕｅ（図６のＵ（ｄ）に相当）を表わす流速テーブルが記憶されている。ステップ８２では、ＲＯＭ２４の流速テーブルを参照してＳＰＲの流速データ値をエッジでの流速Ｕｅに変換し、流速Ｕｅを表わす流速データをＲＡＭ２６内のレジスタＵＲにセットする。ステップ７８又は８２の処理が終ったときは、図９のメインルーチンにリターンする。
【００６２】
図１２は、長さ処理のサブルーチンを示すものである。ステップ８４では、長さセンサ回路３４から長さデータを取得し、ＲＡＭ２６内のレジスタＬＧＲにセットする。ＲＯＭ２４には、長さデータ値毎にジェット吹出口−エッジ間距離ｄを表わす距離テーブルが記憶されている。ステップ８６では、ＲＯＭ２４の距離テーブルを参照してＬＧＲの長さデータ値を距離ｄに変換し、距離ｄを表わす距離データをＲＡＭ２６内のレジスタｄＲにセットする。
【００６３】
次に、ステップ８８では、ＵＲの流速データが示す流速ＵｅとｄＲの距離データが示す距離ｄとを用いてτｅ＝ｄ／Ｕｅなる式に従ってジェット伝達時間τｅを求め、この時間τｅを表わす時間データをＲＡＭ２６内のレジスタτＲにセットする。ステップ８８では、前述した（Ｍ１）〜（Ｍ４）のジェット伝達時間算出法のうち簡便な（Ｍ４）の方法を用いてジェット伝達時間τｅを求めたが、（Ｍ１）〜（Ｍ３）のいずれかの方法を用いてジェット伝達時間τｅを求めてもよい。
【００６４】
ステップ９０では、τＲの時間データが示すジェット伝達時間τｅとｆＲの周波数データが示す周波数ｆｓｏ１とを用いてθｅ’＝２πｆｓｏ１×τｅなる式に従ってジェット走行角θｅ’を求め、この走行角θｅ’を表わす走行角データをＲＡＭ２６内のレジスタθＲにセットする。ＲＯＭ２４には、ステップ８６で求められる距離ｄ毎にピッチ修正値を表わすピッチテーブルが記憶されている。ステップ９２では、ＲＯＭ２４のピッチテーブルを参照してｄＲの距離データが示す距離ｄに対応するピッチ修正値を求め、ＰＡＲにセットする。この後、図９のメインルーチンにリターンする。
【００６５】
図１３，１４は、出力処理のサブルーチンを示すものである。ステップ９４では、ＫＣＲのＫＣ値が６２〜７３のいずれかか（１，２次モードか）判定する。この判定の結果が否定的（Ｎ）であれば、ＫＣ値が６０，６１，７４以上のいずれかであった（１，２次モード以外の他のモードであった）ことになり、ステップ９６で他モードの出力処理を行なう。
【００６６】
すなわち、ステップ９６Ａでは、アンブシュア制御値６４をＥＭＲにセットする。そして、ステップ９６Ｂでは、ＫＣＲのＫＣ値と、ＥＭＲのアンブシュア制御値と、ＢＣＲのブレス制御値と、ＰＡＲのピッチ修正値とを音源回路３８に出力する。この結果、ＫＣ値が６０，６１，７４以上のいずれかである楽音が発生され、該楽音の音量と音色がブレス制御値に応じて制御されると共に該楽音のピッチがピッチ修正値に応じて制御される。
【００６７】
ステップ９６の出力処理の後は、図１４のステップ１３０に移る。ステップ１３０では、ＳＰＲの流速データ値が図１１のステップ７６で述べた所定値より小か判定する。この判定の結果が否定的（Ｎ）であれば、図９のメインルーチンにリターンする。ステップ１３０の判定の結果が肯定的（Ｙ）であったときは、ステップ１３２で消音処理を行なう。消音処理では、物理モデル音源３８Ａの各制御入力を０にセットすると共にＫＣＲ，ＢＣＲ，ＥＭＲ，ＰＡＲにそれぞれ０をセットし、ＭＦにも０（無音状態に対応）をセットする。この結果、発生中の楽音が減衰開始し、新たな楽音の発生が可能になる。ステップ１３２の後は、図９のメインルーチンにリターンする。
【００６８】
ステップ９４の判定の結果が肯定的（Ｙ）であったときは、１，２次モードであったことになり、ステップ９８に移る。ステップ９８では、ＭＦが０で且つθｅ’が３π／２まで減少したか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１００でアンブシュア値６４をＥＭＲにセットする。
【００６９】
ステップ１０２では、ステップ９６Ｂに関して前述したと同様にＫＣＲ，ＥＭＲ，ＢＣＲ，ＰＡＲの値を音源回路３８に出力する。この結果、無音状態でθｅ’が３π／２に達したときにＤ３〜Ｃ＃４のいずれかの楽音が発生され、該楽音の音量と音色がブレス制御値に応じて制御されると共に該楽音のピッチがピッチ修正値に応じて制御される。この後、ステップ１０４では、ＭＦに１（１次モードに対応）をセットする。
【００７０】
ステップ１０４の処理が終ったとき又はステップ９８の判定の結果が否定的（Ｎ）であったときは、ステップ１０６に移る。ステップ１０６では、ＭＦが１で且つθｅ’が３π／２以下でπ／２より大か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１０８に移り、ＢＣＲのブレス制御値と、ＰＡＲのピッチ修正値とを音源回路３８に出力する。この結果、図７に示すようにπ／２＜θｅ’≦３π／２のときに流速を速くしたり、距離ｄを減少させたりすることで発音周波数を徐々に上げたり、音量や音色を変更したりすることができる。
【００７１】
ステップ１０８の処理が終ったとき又はステップ１０６の判定の結果が否定的（Ｎ）であったときは、図１４のステップ１１０に移る。ステップ１１０では、ＭＦが１で且つθｅ’がπ／２まで減少したか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１１２でアンブシュア制御値１２７をＥＭＲにセットする。アンブシュア制御値は、図１５に示すようにθｅ’が π／２まで減少した時に６４から１２７に変化する。ステップ１１０の判定の結果が否定的（Ｎ）であれば、ステップ１１８に移る。
【００７２】
ステップ１１４では、ＥＭＲのアンブシュア制御値と、ＢＣＲのブレス制御値と、ＰＡＲのピッチ修正値とを音源回路３８に出力する。この結果、図７に示すようにＳ４の状態で１次モードから２次モードにジャンプし、発音オクターブが１オクターブ上昇する。また、ブレス制御値に応じて音量及び音色が制御されると共にピッチ修正値に応じてピッチが制御される。この後は、ステップ１１６でＭＦに２（２次モードに対応）をセットする。
【００７３】
次に、ステップ１１８では、ＭＦが２で且つθｅ’がπ／２以上で３π／４より小か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１２０に移り、前述のステップ１０８と同様にしてＢＣＲ，ＰＡＲの値を音源回路３８に出力する。この結果、図７に示すようにπ／２≦θｅ’＜３π／４のときに流速を遅くしたり、距離ｄを増大させたりすることで発音周波数を徐々に下降させたり、音量や音色を変化させたりすることができる。
【００７４】
ステップ１２０の処理が終ったとき又はステップ１１８の判定の結果が否定的（Ｎ）であったときは、ステップ１２２に移る。ステップ１２２では、ＭＦが２で且つθｅ’が３π／４まで増大したか判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１２４でアンブシュア制御値６４をＥＭＲにセットする。アンブシュア制御値は、図１６に示すようにθｅ’が３π／４まで増大したときに１２７から６４に変化する。
【００７５】
ステップ１２６では、前述のステップ１１４と同様にしてＥＭＲ，ＢＣＲ，ＰＡＲの値を音源回路３８に出力する。この結果、図７に示すようにＳ８の状態で  ２次モードから１次モードへジャンプし、発音オクターブが１オクターブ下降する。また、ブレス制御値に応じて音量及び音色が制御されると共にピッチ修正値に応じてピッチが制御される。この後は、ステップ１２８でＭＦに１をセットする。
【００７６】
ステップ１３０では、前述したと同様にＳＰＲの流速データ値が所定値より小か判定する。この判定の結果が肯定的（Ｙ）であれば、ステップ１３２で前述したと同様に消音処理を行なう。ステップ１３２の処理が終ったとき又はステップ１３０の判定の結果が否定的（Ｎ）であったときは、図９のメインルーチンにリターンする。
【００７７】
上記した実施形態では、ステップ９８，１０６，１１０，１１８，１２２の判定の際にジェットパラメータとしてジェット走行角θｅ’を用い、例えば３π／２のように「π」を有する数値と比較するようにしたが、ジェットパラメータとして例えば２ｆｓｏ１×τｅのように「π」を持たない数値を用いると共に比較基準値としても例えば３／２のように「π」を持たない数値を用いてもよい。
【００７８】
上記した実施形態によれば、音名が同一でオクターブが異なる２音を同一の運指状態にて流速Ｕｅや距離ｄを変更することで簡単に吹き分けることができる。オクターブ切換えにヒステリシスがない状態では、ビブラート等によりオクターブ変化が生じやすく、演奏に困難を伴うが、オクターブ切換えにヒステリシスを持たせたので、ジェット走行角がπ／２＜θｅ’≦３π／４又はπ／２≦θｅ’ ＜３π／４の範囲内にあるときはピッチベンドやビブラートの奏法が可能である。また、１オクターブ上の音をスラー（吹奏状態で運指を変える方法）ではなくタンギング（息を舌で止めてから吹奏開始する方法）で吹くと、息の弱い状態を経由するため、アタックとリリースで１オクターブ下の音を経由することになり、フルートと同様の演奏の困難さがある。従って、様々なフルートの演奏メソッドのアンブシュアに対応可能であり、フルートに近い演奏を楽しみたいユーザに好適である。なお、上記した実施形態では、ブレス制御値やエッジでの流速Ｕｅを得るのに流速センサを用いたが、ジェットの強さを検知する圧力センサ等を用いてもよい。
【００７９】
次に、上記した実施形態の処理を簡略化した変形例に係る処理を説明する。この変形例において、メインルーチンは、図９に示したものと同様であるが、図１０のキーコード処理は図１７に示すように、図１１の流速処理は図１８に示すように、図１２の長さ処理は図１９に示すように、図１３，１４の出力処理は図２０に示すようにそれぞれ変更される。
【００８０】
キーコード処理では、図１０のステップ６６の判定の結果が肯定的（Ｙ）であったときは、図１７のステップ１５０に移る。ＲＯＭ２４には、ＴＫＲの運指データ値毎にオクターブ切換制御用のスレッショルド値を表わすスレッショルド値テーブルが記憶されている。スレッショルド値は、一例として、高音ほど小さくなるように設定することができる。ステップ１５０では、ＲＯＭ２４のスレッショルド値テーブルを参照してＴＫＲの運指データ値に対応するスレッショルド値ｄｔｈを求め、ＲＡＭ２６内のレジスタｄｔＲにセットする。ステップ１５０の処理が終ったとき又はステップ６６の判定の結果が否定的（Ｎ）であったときは、図１０のステップ７０以降の処理を行なってから図９のメインルーチンにリターンする。
【００８１】
流速処理では、図１１のステップ７６，７８，８０の処理を行なった後、図１８に示すようにステップ８２の処理を省略して図９のメインルーチンにリターンする。変形例では、エッジでの流速Ｕｅを使用しないので、ステップ８２の処理は不要である。
【００８２】
長さ処理では、図１２のステップ８６の処理を行なった後、図１９に示すようにステップ８８，９０の処理を省略してステップ９２の処理を行ない、この後図９のメインルーチンにリターンする。変形例では、ジェット伝達時間τｅやジェット走行角θｅ’を使用しないので、ステップ８８，９０の処理は不要である。
【００８３】
出力処理では、図１３のステップ９４の判定の結果が否定的（Ｎ）であったときは、図２０に示すようにステップ９６の他モード出力処理を前述したと同様に行なう。
【００８４】
ステップ９４の判定結果が肯定的（Ｙ）であったときは、図２０に示すようにステップ１５２においてＭＦが０で且つＳＰＲの流速データ値が所定値以上か判定する。この判定の結果が肯定的（Ｙ）であれば、図１３のステップ１００，１０２の処理を前述したと同様に行なう。この結果、無音状態から楽音が発生され、該楽音の音量、音色、ピッチが制御される。この後は、ステップ１０４でＭＦに１（１次モードに対応）をセットする。
【００８５】
ステップ１０４の処理が終わったとき又はステップ１５２の判定の結果が否定的（Ｎ）であったときは、ステップ１５４においてＭＦが１で且つ距離ｄがスレッショルド値ｄｔｈまで減少したか判定する。この判定に用いられるスレッショルド値ｄｔｈは、図１７のステップ１５０でｄｔＲにセットされたものである。
【００８６】
ステップ１５４の判定の結果が肯定的（Ｙ）であったときは、図１４のステップ１１２，１１４の処理を前述したと同様に行なう。この結果、アンブシュア値が６４から１２７に変化し、発音オクターブが１オクターブ上昇する。図２１には、オクターブ上昇時のアンブシュア制御値の変化が上向き矢印で示されている。この後は、ステップ１１６でＭＦに２（２次モードに対応）をセットする。
【００８７】
ステップ１１６の処理が終わったとき又はステップ１５４の判定の結果が否定的（Ｎ）であったときは、ステップ１５６においてＭＦが２で且つ距離ｄがスレッショルド値ｄｔｈを越えて増大したか判定する。この判定に用いられるスレッショルド値ｄｔｈは、図１７のステップ１５０でｄｔＲにセットされたものである。
【００８８】
ステップ１５６の判定結果が肯定的（Ｙ）であったときは、図１４のステップ１２４，１２６の処理を前述したと同様に行なう。この結果、アンブシュア値が１２７から６４に変化し、発音オクターブが１オクターブ下降する。図２１には、オクターブ下降時のアンブシュア制御値の変化が下向き矢印で示されている。この後は、ステップ１２８でＭＦに１をセットしてから図１４のステップ１３０以降の処理を前述したと同様に行なう。
【００８９】
上記した変形例に係る処理によれば、ジェット吹出口−エッジ間距離ｄがスレッショルド値ｄｔｈまで減少したときは発音オクターブを１オクターブ上げ、距離ｄがスレッショルド値ｄｔｈを越えて増大したときは発音オクターブを１オクターブ下げるようにしたので、唇−エッジ間距離を変更するだけでオクターブ吹き分けを行なうことができ、初心者に好適である。また、ジェットの流速がオクターブ変化に関与しないので、低音での大音量演奏や高音での小音量演奏が可能である。その上、運指状態に応じてスレッショルド値ｄｔｈを設定するようにしたので、音高に応じて唇−エッジ間距離を変化させるメソッドに慣れているユーザに好適である。
【００９０】
他の変形例としては、図１７のキーコード処理において破線Ｌｂで示すようにステップ６６，１５０の処理を省略してもよい。この場合、流速処理及び長さ処理は、それぞれ図１８及び図１９に関して前述した通りである。出力処理では、図２０のステップ１５４，１５６の判定で用いるスレッショルド値ｄｔｈを運指に依存しない一定値（例えば、１／２と３／４の平均値＝５／８＝０．６２５）とする。このようにすると、運指状態に関係なく唇−エッジ間距離だけでオクターブ吹き分けを行なえるので、一層初心者向きとなる。
【００９１】
上記した実施形態の処理（Ａ）と、上記した変形例に係る処理（Ｂ）と、上記した他の変形例に係る処理（Ｃ）とは、各々独立の吹奏電子楽器で実行するようにしてもよいが、１つの吹奏電子楽器において選択的に実行するようにしてもよい。一例として、図１の表示器３０に処理（Ａ），（Ｂ），（Ｃ）を表示した状態においてユーザがキーボード２８等の操作により（Ａ）〜（Ｃ）のいずれかの処理を選択して実行するようにしてもよい。このようにすると、ユーザは、自己の習熟度に応じて演奏メソッドを選択して演奏を楽しむことができる。
【００９２】
上記した実施形態において、音源回路３８の音源として、図３に示した波形テーブル音源３８Ｂを用いる場合には、変換回路１６０，１６２，１６４を設ける。変換回路１６０は、図８（Ｂ）に示すようにＥＭＲのアンブシュア制御値が６４であればＫＣＲからの６０〜７３，８６以上のいずれかのＫＣ値をそのまま音源３８Ｂに音高制御入力として供給する一方、ＥＭＲのアンブシュア制御値が１２７であれば６２〜７３のいずれかのＫＣ値に１２を加えて７４〜８５のいずれかのＫＣ値に変換し、変換に係るＫＣ値を音源３８Ｂに音高制御入力として供給する。音源３８Ｂでは、７４〜８５のいずれかのＫＣ値に基づいてＤ４〜Ｃ＃５のいずれかの楽音信号が発生される。
【００９３】
変換回路１６２は、ＢＣＲのブレス制御値を音量・音色制御情報に変換し、この音量・音色制御情報を音源３８Ｂに音量・音色制御入力として供給する。変換回路１６４は、ＰＡＲのピッチ修正値をピッチ制御情報に変換し、このピッチ制御情報を音源３８Ｂにピッチ制御入力として供給する。なお、変換回路１６０〜１６４は、変換処理としてコンピュータに実行させるようにしてもよい。別の方法としては、変換回路１６０〜１６４又は変換処理を用いず、変換回路１６０〜１６４の出力に相当する制御情報をコンピュータから音源３８Ｂに供給するようにしてもよい。
【００９４】
音源３８Ｂには、楽音発生を開始させるためのノートオン情報ＮＴＯＮと、楽音減衰を開始させるためのノートオフ情報ＮＴＯＦとが供給される。ノートオン情報ＮＴＯＮは、図２０のステップ１５２と同様の判定処理により発生させることができ、ノートオフ情報ＮＴＯＦは、図１４のステップ１３０と同様の判定処理により発生させることができる。
【００９５】
１オクターブ上昇させる場合には、ノートオフ情報により１次モードの楽音を減衰させつつノートオン情報により２次モードの楽音を発生させるようにしてもよい。また、１オクターブ下降させる場合には、ノートオフ情報により２次モードの楽音を減衰させつつノートオン情報により１次モードの楽音を発生させるようにしてもよい。いずれの場合にも、減衰する楽音と発生する楽音とのつながり部で不連続感が生じないようにするため、いわゆるクロスフェード制御により振幅の減少及び増大をなめらかに制御するとよい。
【図面の簡単な説明】
【００９６】
【図１】この発明の一実施形態に係る吹奏電子楽器の回路構成を示すブロック図である。
【図２】音源回路の一例を示すブロック図である。
【図３】音源回路の他の例を示すブロック図である。
【図４】流速センサ及び長さセンサの装着構造の一例を示す断面図である。
【図５】流速センサ及び長さセンサの装着構造の他の例を示す断面図である。
【図６】ジェット伝達時間算出法を説明するための流速分布図である。
【図７】この発明に係るオクターブ切換制御動作を説明するためのモード遷移図である。
【図８】キーコードに基づく発音動作を説明するための図である。
【図９】メインルーチンの処理を示すフローチャートである。
【図１０】キーコード処理のサブルーチンを示すフローチャートである。
【図１１】流速処理のサブルーチンを示すフローチャートである。
【図１２】長さ処理のサブルーチンを示すフローチャートである。
【図１３】出力処理のサブルーチンの一部を示すフローチャートである。
【図１４】出力処理のサブルーチンの残部を示すフローチャートである。
【図１５】オクターブ上昇時におけるジェット走行角とアンブシュア制御値との関係を示すグラフである。
【図１６】オクターブ下降時におけるジェット走行角とアンブシュア制御値との関係を示すグラフである。
【図１７】変形例に係るキーコード処理を示すフローチャートである。
【図１８】変形例に係る流速処理を示すフローチャートである。
【図１９】変形例に係る長さ処理を示すフローチャートである。
【図２０】変形例に係る出力処理を示すフローチャートである。
【図２１】変形例におけるジェット走行角とアンブシュア制御値との関係を示すグラフである。
【図２２】音名が同一でオクターブが異なる２音を同一の運指状態にて吹き分ける例を示す運指図である。
【図２３】エアリード楽器におけるジェットの流れを示す断面図である。
【図２４】ジェット伝達時間算出法を説明するためのグラフである。
【図２５】エアリード楽器におけるオクターブ変化を示すモード遷移図である。
【図２６】エアリード楽器におけるジェットの流速分布を示す流速分布図である。
【符号の説明】
【００９７】
１０：ウインドコントローラ、１２：管体部、１４：リッププレート、１６：唄穴、１８：トーンキー群、２０：バス、２２：ＣＰＵ、２４：ＲＯＭ、２６：ＲＡＭ、２８：キーボード、３０：表示器、３２：流速センサ回路、３４：長さセンサ回路、３６：キースイッチ回路、３８：音源回路、４０：Ｄ／Ａ変換回路、４２：サウンドシステム。
【図１】
2007033592.tif 000006
【図２】
2007033592.tif 000007
【図３】
2007033592.tif 000008
【図４】
2007033592.tif 000009
【図５】
2007033592.tif 000010
【図６】
2007033592.tif 000011
【図７】
2007033592.tif 000012
【図８】
2007033592.tif 000013
【図９】
2007033592.tif 000014
【図１０】
2007033592.tif 000015
【図１１】
2007033592.tif 000016
【図１２】
2007033592.tif 000017
【図１３】
2007033592.tif 000018
【図１４】
2007033592.tif 000019
【図１５】
2007033592.tif 000020
【図１６】
2007033592.tif 000021
【図１７】
2007033592.tif 000022
【図１８】
2007033592.tif 000023
【図１９】
2007033592.tif 000024
【図２０】
2007033592.tif 000025
【図２１】
2007033592.tif 000026
【図２２】
2007033592.tif 000027
【図２３】
2007033592.tif 000028
【図２４】
2007033592.tif 000029
【図２５】
2007033592.tif 000030
【図２６】
2007033592.tif 000031