(57)【要約】【課題】音声等の振動信号の入力に対する発音開始の応答速度を向上させると共に、より自然な楽音発音を行えるようにする。【解決手段】入力器１０から入力された音声等の振動信号は、入力された音声のピッチを検出するピッチ検出手段２１と、入力された音声の振幅レベルを検出する音量検出手段２２に供給される。判定手段２３は、音量検出手段２２で所定の閾値以上の振幅レベルが検出されたが、ピッチ検出手段２１でピッチ未検出の場合は、ノイズ音を発音するよう指示し、ピッチ確定後、検出したピッチに基づき発生すべき音高で楽音を発音するよう指示する。【選択図】      図２
2004212578.tif 000002
【特許請求の範囲】
【請求項１】
入力された振動信号のピッチを検出するピッチ検出手段と、
前記入力された振動信号の振幅レベルを検出するレベル検出手段と、
前記ピッチ検出手段で検出したピッチに基づき発生すべき楽音の音高を決定する音高決定手段と、
前記レベル検出手段で所定の閾値以上の振幅レベルが検出されたが、前記ピッチ検出手段でピッチ未検出の場合は、ノイズ音を発音するよう指示するノイズ発音指示手段と
を備える楽音発生装置。
【請求項２】
入力された振動信号のピッチを検出するピッチ検出手段と、
操作状態に応じて発生すべき楽音の音高を指定する複数の演奏操作子と、
前記ピッチ検出手段で検出したピッチと前記複数の演奏操作子の操作状態とに基づき発生すべき楽音の音高を決定する音高決定手段と
を具え、
前記ピッチ検出手段でピッチ未検出の場合は、前記演奏操作子の操作状態のみに基づき発生すべき楽音の音高が決定されることを特徴とする楽音発生装置。
【請求項３】
入力された振動信号に基づく楽音を発生するためにコンピュータによって実行されるプログラムであって、
入力された振動信号のピッチを検出する手順と、
前記入力された振動信号の振幅レベルを検出する手順と、
前記検出したピッチに基づき発生すべき楽音の音高を決定する手順と、
前記検出した振幅レベルが所定の閾値以上のレベルであるにもかかわらず、前記ピッチが未検出の場合は、ノイズ音を発音するよう指示する手順と
を具えるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば電子管楽器等に好適な楽音発生装置に関する。
【０００２】
【従来の技術】
周知の通り、自然楽器の管楽器は、楽器演奏者による吹奏により管内の空気（空気柱）を振動させることで楽音を発生する。例えば、トランペットは、マウスピースに押し当てた上下の口唇を緊張させ、緊張させた口唇が形成する間隙から、空気を非常な勢いで吹き込むことで、管内の空気柱を振動させる。このとき、マウスピースに押し当てた口唇の締め具合を適切に加減することで（アンブシュール：ｅｍｂｏｕｃｈｕｒｅ）、目的とする倍音を発生させ、また、音質の調整を行う。ところで、トランペット等の自然管楽器においては、演奏者によって吹き込まれる息が十分な圧力（呼気圧）を有さないと、実質的なピッチを有する楽音が安定して発音されない。従って、呼気圧が微弱な場合や、不適切なアンブシュールでは、正しい楽音が発音され難い。例えば、吹奏動作開始直後の瞬間は、楽音発音に十分な呼気圧が得られないので、先ず、呼気音が漏れ、それから呼気圧力の増加に伴って実質的な楽音が発音される。そのため、一般にトランペット等の演奏者は、実際に発音すべき演奏タイミングよりも早めに発音動作（例えば、アンブシュールし、息を吹き込むこと）を開始して、楽音の発音タイミングを調整している。また、尺八やトランペット等の管楽器類においては、発音動作時に漏洩する息音等もその楽器の音色的特徴の一部である。
【０００３】
一方、電子楽器において、演奏者による音声（呼気）入力や、弦の弾奏その他演奏操作子の操作によって物理的に発生された振動に含まれるピッチ（音高）を検出し、検出したピッチに対応する音階で電子的な音響信号を発音するタイプの電子楽器が知られている。この種の電子楽器では、入力された振動信号の正確なピッチ検出処理に時間がかかるため、発音開始の応答速度が遅くなり、演奏時の楽音発生が不自然になるという不都合があった。この点に鑑みて、例えば、電子ギター（シンセギター）において、弦が弾奏されると、入力信号のピッチが検出されない間は、弾奏された弦の開放弦に対応する所定ピッチで楽音を発生させ、ピッチ検出後に、楽音を検出したピッチに変更することで応答性を改善するようにしたものが、特許第２５０８０３５号公報に開示されている。
【０００４】
【発明が解決しようとする課題】
この発明は、上述の点に鑑みてなされたもので、振動信号の入力に対する発音開始の応答速度を向上させると共に、より自然な楽音発音を行えるようにすることを目的とする。
【０００５】
【課題を解決するための手段】
この発明は、入力された振動信号のピッチを検出するピッチ検出手段と、前記入力された振動信号の振幅レベルを検出するレベル検出手段と、前記ピッチ検出手段で検出したピッチに基づき発生すべき楽音の音高を決定する音高決定手段と、前記レベル検出手段で所定の閾値以上の振幅レベルが検出されたが、前記ピッチ検出手段でピッチ未検出の場合は、ノイズ音を発音するよう指示するノイズ発音指示手段とを備える楽音発生装置である。
【０００６】
ノイズ発音指示手段により、レベル検出手段で所定の閾値以上の振幅レベルが検出されたが、前記ピッチ検出手段でピッチ未検出の場合は、ノイズ音を発音するよう指示することで、前記閾値以上の振幅レベルの入力が検出されれば、入力された振動信号のピッチが確定しないうちであっても、ノイズ音の発音を開始させることができる。これにより、音声等の振動信号の入力後に、ピッチ確定を待つことなく、速やかに、ノイズ音ではあるが発音が開始されるので、実質的にピッチ検出時間が早められるのではなくとも、聴覚上は発音開始の応答速度を向上させることができる。
【０００７】
また、この発明は、装置の発明として、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明はコンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。
【０００８】
【発明の実施の形態】
以下、添付図面を参照してこの発明の一実施例について説明する。
図１は、この発明の一実施例に係る楽音発生装置のシステム構成を示すブロック図であり、この楽音発生装置は、例えば、図３に示すような電子楽器（電子トランペット）に具備される。図２は、この楽音発生装置における発音処理の概略を機能的に示すブロック図である。図１に示すように、この楽音発生装置は、概ね、振動信号を取り込むための入力器１０と、制御装置２０と、音源ユニット３０と、サウンドシステム４０と、演奏操作子５及びピッチ検出ブロック５０から構成される。
入力器１０は、マイクロフォンや薄板に貼着されたピエゾ圧電素子等からなる空気振動検出装置であって、演奏者が発音した音声等の空気振動を電気信号に変換する。制御装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭを含み、プログラムの実行により、演奏操作子５の操作検出処理や楽音発音制御等、当該楽音発生装置における各種動作の制御を行う。
【０００９】
音源ユニット３０は、楽音発生用の第１音源３１と、ノイズ音発生用の第２音源３２を含む。第１の音源３１の音源方式は、波形メモリ等の従来から知られるいかなる方式を用いてもよい。ノイズ音発生用の第２音源３２は、ホワイトノイズ等を発生するノイズ発生器で構成してよい。この場合、発生したノイズ音を適宜加工（例えば、高調波成分をカットする等）するよう構成してもよい。また、第２の音源３２を、尺八やトランペット等の吹奏時に漏洩する息音等をＰＣＭ信号化したものを記憶したメモリ等を用いて構成してもよいし、異なる複数のタイプのノイズ発生音源を選択的に使用できるようにしてもよい。この場合の音源方式は、波形メモリ等の従来から知られる音源方式を採用してよい。なお、第１音源３１及び第２音源３２は、ハードウェア音源ボードで構成されていてもよいし、ソフトウェア音源プログラムで構成されていてもよい。第１音源３１及び第２音源３２で生成した楽音／ノイズ音信号は、ディジタル／アナログ変換の後にアンプ４１やスピーカ４などを含むサウンドシステム４０から発音される。
音源ブロック３０に含まれるクロスフェード制御回路３３は、制御装置２０から供給される制御信号に基づき第１音源３１及び第２音源３２を制御し、使用する音源が切り替わる際のクロスフェード処理を行う。
【００１０】
ピッチ検出ブロック５０は、音声ピッチ検出テーブル５１と運指・ピッチ変換テーブル５２とを含み、詳しくは後述するが、入力器１０から入力された音声等の振動信号のピッチ検出や、演奏操作子５の運指状態と前記音声ピッチとに基づき発音すべき楽音の音高を決定する。
【００１１】
この実施例に係る発音処理の概略について、図２を参照して説明すると、先ず、入力器１０から入力された音声等の振動信号は、ピッチ検出手段２１及び音量検出手段２２に供給される。ピッチ検出手段２１では、入力された振動信号のピッチを検出する。音量検出手段２２では、入力された振動信号の振幅レベルを検出する。判定手段２３は、ピッチ検出手段２１においてピッチが検出されたか否か、及び、音量検出手段２２にて検出された振幅レベルに応じて、発音条件を判定する。この発音条件の判定とは、▲１▼無音（発音処理しない）、▲２▼ノイズ音を発音する、▲３▼検出された振動信号のピッチに基づき発生すべき楽音の音高を決定してこれを発音する、のいずれの処理を実行すべきか判定することであり、また、その判定に応じた指示を制御装置２０から音源ユニット３０に対して送出することである。制御装置２０は、判定手段２３における判定結果に基づき、第１音源３１若しくは第２音源３２に対する発音開始指示／発音終了指示を行うことで、発音すべき音（楽音又はノイズ音）の発音／消音を指示する。
【００１２】
具体的には、ピッチ検出手段２１にてピッチ検出が確定していれば、「▲３▼楽音を発音する」よう判定し、第１音源３１に対して楽音を発音する指示が送出される。一方、音量検出手段２２にて所定の閾値以上の振幅レベルが検出されたものの、ピッチ検出手段２１ではピッチ未検出の場合は、「▲２▼ノイズ音を発音する」よう判定し、第２音源３２に対してノイズ音を発音する指示が送出される。この所定の閾値は、入力器１０に対する振動信号の入力が明確に開始されたこと（入力振動信号の立ち上がり）を判定しうる適切な振幅レベルに設定される。
既述のように振動信号のピッチ検出（ピッチの確定）には比較的時間がかかるのに対して、振幅レベルは相対的に速やかに検出することができるので、典型的には、入力された振動信号の振幅レベルが所定の閾値以上になると、音源３２を介してノイズ音の発音が開始され、その後、ピッチ検出が確定されると、ノイズ音に替えて検出されたピッチに対応する音高の楽音が音源３１を介して発音されることになる。
【００１３】
なお、ピッチ検出手段２１、音量検出手段２２及び判定手段２３の各処理は、具体的には、図１に示す制御装置２０を使用した所定のソフトウェア処理により実現される。しかし、こうした各種処理はコンピュータソフトウエアの形態に限らず、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、ピッチ検出手段２１、音量検出手段２２及び判定手段２３の機能を実現する専用のハードウェア装置によって構成することも可能である。
【００１４】
ここで、図３を参照して、当該楽音発生装置を適用するのに好適な、電子トランペットの外観構成について簡単に説明する。図３に示す電子トランペット１は、自然楽器のトランペットの形状を模擬した円錐形状の本体２を備え、本体２の一端部（先端側）に朝顔３が形成され、この朝顔３の内部には、スピーカ４が外部を指向して設置される。本体２の他方の端部（当該トランペットの演奏者から見て手前側）の上面には、入力器１０が設置される。本体２の中央上部には、演奏操作子５として、第１演奏ピストン５ａ、第２演奏ピストン５ｂ及び第３ピストン５ｃが設置される。第１、第２及び第３のピストン５ａ〜５ｃは、自然楽器のトランペットに具わるピストンと同様に、各ピストンの押下の組み合わせ（運指状態）によって、発音される楽音のピッチを指定するスイッチであって、その運指状態に応じたスイッチ操作イベントが図１に示す制御装置２０に供給される。  また、本体２の演奏者側端部下方には、人のあごの形状に対応した形の顎載置部６が形成され、演奏者が電子トランペット１を保持する際に、図示のように、自身の顎を顎載置部６に当接させると、口の前に入力器１０が位置するようになっている。
楽器演奏者は、入力器１０に向かって、演奏したい旋律、楽音等を音声入力する。入力音声は、例えば「アー」「ウー」などの任意の音声で所望のメロディ、楽音等を口ずさむ鼻歌・ハミングの類や、演奏したい楽曲の歌詞を歌唱する音声等であってよい。また、演奏者は、音声入力の際、最初、ピッチ要素を含まない音声（例えば「ティュティュ」「シューシュー」等のような適宜の擬音的音声）を意識的に入力し、しかる後、ピッチ要素を含む（旋律、楽音等の）音声を入力してもよい。このように音声入力すれば、この発明に係る電子トランペット１の発音初期において、意識的にざらつきのあるノイズ音を発音させた後、ピッチを有する通常の楽音を発音させ得ることが、後述の説明から明らかになるであろう。電子トランペット１から発音される楽音の音高は、入力された音声（振動信号）のピッチ検出に基づく音声ピッチ検出データと、第１〜第３演奏ピストン５ａ〜５ｃの運指状態との双方の組み合わせにより決定される。なお、ピストン５ａ〜５ｃは、例えばバネやストッパ機構、あるいはアクチュエータ等により上方に付勢されることで、演奏者による押下が解かれると、速やかに図示のような非押圧位置に復帰するよう構成するとよい。
【００１５】
図１に戻ると、入力器１０を介して入力された音声（電気的振動信号）は、アンプ１１で増幅されて、波形整形器１２に入力される。波形整形器１２は、入力された信号を波形整形してクリップ波形を生成する。生成されたクリップ波形は、制御装置２０に供給され、入力された音声のピッチ検出処理に利用される。図示の通り、この楽音生成装置では、波形整形器１２に入力されない電気的振動信号（生波形）もまた、適宜ディジタル変換されて、制御装置２０に供給される。クリップ波形に整形されない信号（生の波形）は、制御装置２０において、振幅レベルの検出や、音量エンベロープの時間的制御等に利用可能である。図４（ａ）は、入力された音声（生の波形）の一例を示す波形図であり、例えば、演奏者による音声入力開始時点からの波形を示すものである。（ｂ）は、（ａ）を波形整形によりクリップ波形に整形したものを示す。クリップ波形は入力振動信号をそのゼロクロス点に同期してパルス状に波形整形した信号からなる。
【００１６】
ここで、音声ピッチの検出処理の一例について簡単に説明すると、制御装置２０では、クリップ波形の各周期波形毎に１周期波形の時間をカウントして、その計測時間（カウント値）が周期データＴとして周期データレジスタに記憶される。クリップ波形の各周期波形の立ち上がり毎に新規に周期データのカウントが開始されると、直前周期につき計測された周期データＴは、前回周期データＴｐｒｅとして前回周期データレジスタに格納される。そして、現時点で周期データレジスタに格納されている周期データＴと、前回周期データレジスタに格納されている前回周期データＴｐｒｅとを比較して、両者が略々一致した場合、その周期データＴが現在入力されている音声（振動信号）の周期として検出（仮定）される。検出された周期データＴを入力として音声ピッチ検出テーブル５１を参照することで、対応する音声ピッチ検出データＰＩＴが決定される。決定した音声ピッチ検出データＰＩＴは、音声ピッチレジスタに格納される。音声ピッチレジスタに最新の音声ピッチ検出データＰＩＴが取り込まれると、それまでレジストされていた音声ピッチ検出データＰＩＴは、前回のピッチデータＰＩＴｐｒｅとして前回音声ピッチレジスタに格納される。音声ピッチ検出データＰＩＴと前回ピッチデータＰＩＴｐｒｅとを比較して、両者が略々一致すると入力音声の音声ピッチ検出データが確定され、制御装置２０では音声ピッチ確定フラグＰＩＴｏｎを立てる。このフラグＰＩＴｏｎ＝１が立つことにより、入力された振動信号（音声）のピッチが検出されたことが標識される。従って、制御装置２０は、フラグＰＩＴｏｎ≠１の場合は、ピッチ未検出であると認識する。前記確定した音声ピッチ検出データＰＩＴは、運指・ピッチ変換テーブル５２の参照入力とされる。
【００１７】
運指・ピッチ変換テーブル５２は、音声ピッチ検出テーブル５１から出力される音声ピッチ検出データＰＩＴと、演奏者により演奏操作された第１〜第３演奏ピストン５ａ〜５ｃの運指状態とを参照入力とし、楽音発生用の第１音源３１で生成すべき楽音の音高を、検出された音声ピッチと該ピストン運指状態の組み合わせに基づき決定する、音声ピッチとピストン運指状態の対応テーブルである。制御装置２０は、運指・ピッチ変換テーブル５２で決定した音高を示す音高データを楽音発生用の第１音源３１に対して送出し、当該楽音発生装置が発音すべき楽音の音高（例えば音階名）を指定する。運指・ピッチ変換テーブル５２は、制御装置２０が参照するＲＯＭ又はＲＡＭに記憶される。なお、運指・ピッチ変換テーブル５２では、音声入力に際して音階的厳密さが要求されないよう、１つの音高データを決定する運指状態と音声ピッチとの組み合わせについて、音声ピッチの周波数ずれに関する許容範囲を設けるようデータテーブルを作成するとよい。これにより、或る音高データを決定するために入力されるべき音声ピッチと隣接する所定の周波数範囲での音声入力であれば、正確なピッチでの音声入力でなくても、演奏ピストンの運指状態と該入力されるべき音声ピッチの組み合わせによって決定される、所望の音高データを得ることができ、音感的資質に乏しい演奏者でも当該電子トランペットの演奏を容易に行える。
【００１８】
次に、この楽音発生装置における具体的なピッチ検出処理及び発音処理例について、図５に示す制御装置２０により実行されるメインルーチン及び図６に示すインタラプト処理の一例を参照して説明する。ここで、処理を制御する為に、０、１，２の３状態を取るフラグＳＴが使用されるので、まずこのフラグについて説明すると、「ＳＴ＝０」は、音声入力（振動信号入力）がない状態を表し、「ＳＴ＝１」は、波形整形器１２で波形整形したクリップ波形のパルスが０から１に立ち上がったときを表し、「ＳＴ＝２」は、音声入力（振動信号入力）が有りで「ＳＴ＝１」以外のときの状態を表す。図４（ｂ）では、クリップ波形とフラグＳＴ＝１及び２の対応関係が例示されている。
図５において、ステップＳ１において、入力音声の振幅レベルが、音声入力の有無を判定する為の所定のスレシホールド・レベルＴＨ以上であるか判別し、音声入力が有れば、ステップＳ２で、フラグＳＴを２にセットする。このスレシホールド・レベルＴＨの一例を示すと図４（ａ）のようであり、かなり小さな値に設定してよい。そして、ステップＳ３において、現時点でクリップ波形信号のパルスが０から１に立ち上がったか否かを判定し、ＹＥＳであれば、ステップＳ４においてフラグＳＴを１にセットする。
【００１９】
ステップＳ５において、入力音声（振動信号）の音量つまり振幅レベルを検出し、検出された振幅レベルが、所定の比較値「小」以上であるか否かを判定する。この所定の比較値「小」とは、ピッチ検出処理を含む発音処理を開始させるための基準レベル値であり、図４（ａ）に例示するように上記スレシホールド・レベルＴＨより幾分大きな値に設定される。ＹＥＳの場合、楽音又はノイズ音の発音処理を行うべくステップＳ６に処理を進める。なお、検出した振幅レベルが所定の比較値「小」以下の場合はリターンすることで、この例では、振幅レベルがあまりに小さい場合は、発音処理を開始しないことで処理効率を向上させている。
ステップＳ６では、ピッチ確定フラグＰＩＴｏｎ＝１が立っているか否かを判定して、ＹＥＳの場合は、ステップＳ１１以降の楽音発音処理に進む。一方、ＮＯの場合は、ピッチ未検出である（ピッチ検出中である）と判断し、ステップＳ７に処理を進める。
【００２０】
ステップＳ７以降のノイズ音発音処理を制御する為に、第２音源３２に対してノイズ発音開始を指示する指示信号ＫＯＮ２が送出されているかどうかを表すフラグＫＯＮ２２が使用されるので、先ず、このフラグについて説明すると、「フラグＫＯＮ２２＝０」は、ノイズ発音開始指示指示信号ＫＯＮ２が送出されていないことを表し、「フラグＫＯＮ２２＝１」は、ノイズ発音開始指示指示信号ＫＯＮ２が送出済みでノイズ音発音中であることを表す。
【００２１】
ステップＳ７では、「フラグＫＯＮ２２＝０」であり、かつ、上記検出された振幅レベルが前記所定の「閾値」以上であるか否かを判定する。ＹＥＳの場合は、ステップＳ８で、第２音源３２に対してノイズ発音開始指示信号ＫＯＮ２を送出して、ノイズ音を発生するよう指示する。そして、ステップＳ９では、フラグＫＯＮ２２を「１」にセットする。次のステップＳ１０では、所定のタイマＡをセットする（タイマＡの計時を開始する）。タイマＡは、「１」にセットされた「フラグＫＯＮ２２」を所定時間経過後に「０」にリセットする為のものであり、この所定時間は後述するように可変設定可能である。
前記所定の「閾値」の一例を示すと図４（ａ）に示すように、ピッチ検出処理を含む発音処理を開始させるための基準レベル値である上記所定の「小」値より適宜大きな値に設定される。図４の例では時点ｔａで入力音声のレベルが閾値より大きくなることが示されており、この時点ｔａからノイズ音が発生される。
【００２２】
ここで、入力音声の音声ピッチ検出データを確定する（フラグＰＩＴｏｎ＝１を立てる）手順の一例について、図６に示す周期データＴを計測するためのタイマインタラプト処理例を参照して説明する。この処理は、所定のクロックの割り込みタイミングで実施される。例えば、１μｓ毎のタイミングで当該インタラプト処理を実行すれば、入力音声として最も高いソプラノ音声（概ね１０００Ｈｚ程度）を想定した場合でも、クリップ波形の１周期波形を１０００個のパルスでカウントできることになり信頼性の高い周期データＴの計測が行える。
【００２３】
図６において、ステップＳ２０においてフラグＳＴが０以外であることを確認（ＹＥＳ）すると、ステップＳ２１において、所定の音声ピッチレジスタに格納されている現在の音声ピッチ検出データＰＩＴと前回検出した音声ピッチ検出データＰＩＴｐｒｅが略々一致するかどうか判別する。なお、両データの値が所定の極小値（例えば０）以下で略々一致する場合は、ＮＯと判定するものとする。すなわち、両データの値が所定の極小値より上で略々一致する場合にのみ、このステップＳ２１でＹＥＳと判定される。続くステップＳ２２〜Ｓ２７でピッチ検出処理が行われる。
【００２４】
まず、図４（ｂ）においてＥ１で示す１回目のクリップ波形立ち上がり時点でのピッチ検出処理につき説明する。この場合、音声ピッチ検出データのレジスタには、比較すべき前回音声ピッチ検出データＰＩＴｐｒｅ、現在音声ピッチ検出データＰＩＴの双方共に保持されていないので、ステップＳ２１をＮＯに分岐する。次のステップＳ２２では、フラグＳＴはＥ１の立ち上がりに応じて１にセットされるので（図５のＳ４）、ＹＥＳに分岐する。
ステップＳ２３では、レジストされている前回周期データＴｐｒｅが所定の極小値以下かどうか判定する。現時点では前回周期データＴｐｒｅはレジストされていない（値０がレジストされている）ので、ＹＥＳに分岐してステップＳ２４に進み、現在レジストされている周期データＴが所定値（極小値）以上かどうか判定する。なお、前記ステップＳ２３，Ｓ２４においてレジストされた周期データを所定の極小値と照合することで、短すぎる周期波形が入力された場合は、後段のピッチ算出確定処理Ｓ２８に進ませないようにしている。これにより明らかなノイズデータをピッチ算出確定処理Ｓ２８から除外し、処理効率を向上できる。さて、１回目の立ち上がりＥ１の時点では、周期データＴはまだレジストされていない（値０がレジストされている）ので、ステップＳ２４をＮＯに分岐し、ステップＳ２５以下に処理を進める。
【００２５】
ステップＳ２５では、現時点の周期データＴ（すなわち値０）を前回周期データレジスタに格納し、ステップＳ２６にて現在の周期データレジスタをリセットする。これにより、新規な周期波形のカウント開始に備える。そして、フラグＳＴを１から２に切り替える。次のステップＳ２７では、周期データＴのカウント値を「１」増加する。その後、ステップＳ２８では、前記タイマＡの経時を確認して、所定時間経過していればＹＥＳに分岐して、ステップＳ２９にて、前述したように「フラグＫＯＮ２２＝１」を「０」にリセットしてから、インタラプト処理を終了する。一方、所定時間経過していなければＮＯに分岐して、「フラグＫＯＮ２２＝１」のままインタラプト処理を終了する。
以後、インタラプト処理が繰り返される毎に、図６のステップＳ２２では、ＳＴ＝２のためＮＯに分岐し、ステップＳ２７に行き、周期データＴのカウント値を順次増加する。
【００２６】
次に、図４（ｂ）においてＥ２で示す２回目のクリップ波形立ち上がり時点では、図５のステップＳ４で、フラグＳＴが２から１に切り替えられる。その後の最初のタイマインタラプト処理において、ステップＳ２２のＹＥＳからステップＳ２３に行き、現時点で前回周期データレジスタに格納されている前回周期データＴｐｒｅを参照すると、これは「０」であるから、ＹＥＳに分岐しステップＳ２４に進む。ステップＳ２４において、現時点で周期データレジスタに格納されている周期データＴを参照すると、１回目の立ち上がりＥ１から現時点までカウントした周期データＴが記憶されているので、この周期データＴが該所定の極小値以上であれば、ＹＥＳに分岐しステップＳ３０のピッチ算出確定処理に進む。ステップＳ３０のピッチ算出確定処理では、音声ピッチレジスタに保存されている音声ピッチ検出データＰＩＴを前回音声ピッチデータＰＩＴｐｒｅに移し、前記音声ピッチ検出テーブル５１を参照して、現在レジストされている周期データＴに対応する新たな音声ピッチ検出データＰＩＴを決定し、これを音声ピッチレジスタにレジストする。
そして、ステップＳ２５において、前回周期データレジスタに、現時点で周期データレジスタに格納されている周期データＴを前回周期データＴｐｒｅとして格納した後、ステップＳ２６、２７では、周期データレジスタをリセットして、ＳＴ＝２にセットし、新規に周期カウントを開始する。
【００２７】
次に、図４（ｂ）においてＥ３で示す３回目のクリップ波形立ち上がり時点では、前述と同様にステップＳ４にてＳＴ＝２から１に切り替わる。図６のステップＳ２３で前回周期データＴｐｒｅを参照すると、所定の極小値以上であるので、ＮＯに分岐しステップＳ３１に進む。ステップＳ３１では、レジストされている前回周期データＴｐｒｅと現在の周期データＴを比較し、両者が略々一致している場合は、ＹＥＳに分岐しステップＳ３０のピッチ算出確定処理を行う。ステップＳ２８のピッチ算出確定処理では、前述の通り、音声ピッチレジスタに保存されている音声ピッチ検出データＰＩＴを前回音声ピッチデータＰＩＴｐｒｅに移し、前記音声ピッチ検出テーブル５１を参照して、現在レジストされている周期データＴに対応する新たな音声ピッチ検出データＰＩＴを決定し、これを音声ピッチレジスタにレジストする。一方、ＴｐｒｅとＴが略々一致していない場合（ＮＯの場合）は、ピッチ算出確定処理Ｓ３０を行うことなく、ステップＳ２５にジャンプし、現在の周期データＴを前回周期データＴｐｒｅに移すことのみ行う。これは、隣接する周期の周期カウントデータが略々一致しない場合は、不安定なピッチ変化とみなして、ピッチ検出・確定にあたり判定要素から除外するためである。上記Ｅ３時点でのインタラプト処理でピッチ算出確定処理Ｓ３０を行った後、次の割り込みタイミングでのインタラプト処理では、ステップＳ２１にて実質的な値を持つ音声ピッチ検出データＰＩＴと前回音声ピッチ検出データＰＩＴｐｒｅとの比較ができ、両者が略々一致していれば、ステップＳ３２に進み、ピッチ確定フラグＰＩＴｏｎ＝１を立て、入力音声のピッチが検出された（ピッチ検出が確定された）ことを示す。従って、音声入力（振動信号入力）後、クリップ波形の３回目の立ち上がり時点Ｅ３で最も早くピッチ検出・確定しうることになるが、場合によっては、それよりも更に遅れることになる。
【００２８】
図５に戻って、発音処理例の続きを説明すると、ステップＳ６において、音声ピッチ検出データが確定（フラグＰＩＴｏｎ＝１）している場合、ステップＳ１１に進み、第２音源３２に対してノイズ発音終了指示信号ＫＯＦＦ２を送出し、ノイズ音の消音を指示する。そして、ステップＳ１２では、運指・ピッチ変換テーブル５２から出力される音高データと、通常楽音の発音開始を指示するキーオン信号ＫＯＮ１とを、第１音源３１に送出し、決定した音高データで通常の楽音を生成し、キーオン信号ＫＯＮ１に応じて発音開始するよう指示する。その後、ステップＳ１３において、前記「フラグＫＯＮ２２」を「０」にリセットする。従って、「フラグＫＯＮ２２＝１」は、ノイズ音が発音中であることを示している。
従って図４（ａ）の例で、時点Ｅ３でピッチ検出・確定されたとすると、時点ｔａから略々時点Ｅ３までの間でノイズ音が発生され、時点Ｅ３以降で通常の楽音が発生される。勿論、略々時点Ｅ３でノイズ音から通常の楽音に切り替わるときに、クロスフェード回路３３（図１）によりノイズ音の減衰と通常楽音の立ち上がりが重複（クロスフェード）して、滑らかに切り替わるように、クロスフェード制御される。
【００２９】
一方、ステップＳ１において、入力された音声がスレシホールド・レベルＴＨ以下の極小な振幅レベルだったとき、及び、以後のステップＳ１の処理において、検出された振幅レベルが極小レベルである場合は、「音声入力無し」とみなして（ステップＳ１のＮＯ）、ステップＳ１４に処理を進め、フラグＳＴが、音声入力のある状態（ＳＴ＝１又は２）を示していないかどうか確認し、ＹＥＳ（ＳＴ＝１又は２）の場合は、ステップＳ１５にてフラグＳＴ＝０を立て、ステップＳ１６では、第１の音源３１に対してキーオフ信号ＫＯＦＦ１を、第２の音源３２に対してキーオフ信号ＫＯＦＦ２を、夫々送出して各音源での発音停止を指示し、ピッチデータ等の各種レジスタに記憶されたデータをリセットする。これにより第１音源３１で発生される通常の楽音信号が消音処理（または減衰発音処理）される。なお、第２音源３２に対するキーオフ信号ＫＯＦＦ２は念のためのものであり、既にノイズ音の消音が為されている場合はそのまま消音状態が維持され、ノイズ音発音中であれば消音処理が為される。
【００３０】
ところで、図５のステップＳ７、Ｓ８の処理によってノイズ発音開始指示信号ＫＯＮ２を送出して、ノイズ音の発音を開始した後、前記タイマＡの所定時間が経過するまでの間に、入力音声のピッチが検出されなかった場合は、図５のステップＳ１１〜Ｓ１３の処理が行われないので、フラグＫＯＮ２２はリセットされることなく「１」のままである。この間では、図５のステップＳ６のＮＯからステップＳ７に処理が進み、ＫＯＮ２２＝１によりステップＳ７はＮＯに分岐するので、ステップＳ８にてノイズ発音開始指示信号ＫＯＮ２を繰り返し送出することはない。従って、前に送出されたノイズ発音開始指示信号ＫＯＮ２に基づくノイズ音が発音され続ける。この場合、前記タイマＡの所定時間が経過したとき、図６のステップＳ２８ではＹＥＳに分岐し、ステップＳ２９でフラグＫＯＮ２２が「０」にリセットされる。従って、次に図５のステップＳ６のＮＯからステップＳ７に処理が進んだとき、ＫＯＮ２２＝０により、検出された振幅レベルが所定の閾値以上であれば、ステップＳ７はＹＥＳに分岐するので、ステップＳ８にてノイズ発音開始指示信号ＫＯＮ２が新たに送出される。従って、新たに送出されたノイズ発音開始指示信号ＫＯＮ２に基づきノイズ音が発音されるようになる。従って演奏者が意図的にピッチ検出されにくい音声を発すれば、その間は、ピッチ検出されないので、タイマＡの所定時間ごとにノイズ発音開始指示信号ＫＯＮ２が発生されて、該所定時間ごとに発音立ち上がりのかかるノイズ音を発生させることができる。例えばタイマＡの所定時間が０．５秒に設定したとすると、概ね１秒以上ピッチ検出されにくい音声を入力することで、該所定時間の周期でノイズ音の発音が繰り返されることになる。このようにノイズ音を発生させることで、尺八やサキソフォンの息漏れ音のようなかすれた、ざらつきのある音色を得ることができる。従って、演奏者が、音声入力の際、最初、ピッチ要素を含まない音声を意識的に入力し、しかる後、ピッチ要素を含む音声を入力すれば、意識的に楽音の立ち上がり部分で、尺八やサキソフォンの息漏れ音のような音を発生させることができる。更に、タイマＡの所定時間を任意に可変設定可能としたことで、演奏者の嗜好に沿ったざらつきのあるノイズ音色を得ることができる。
【００３１】
なお、上述図５に示すフローでは、ステップＳ５において比較値は所定の振幅レベル「小」に設定されているが、この所定の比較値の設定値を演奏者が所望する任意のレベルに設定変更できるよう構成してもよい。これにより、比較値のレベルを小さめに設定すれば、小さい音量での音声入力であっても楽音の発音処理開始させ易くなるので、音声入力が微弱になりがちの演奏初心者に適した設定となり、大きめに設定すれば、安定した（強い）音量で音声入力できる演奏熟練者に適した設定となる。
なお，入力音声のピッチ検出方法は、上記実施例に示したような１周期毎のピッチの略同一性判定に基づく方法に限らず、自己相関法、零点交差法、高速フーリエ変換法、線形予測法、線スペクトル対分析法、複合正弦波モデル分析法等、音響・音声分析の分野での周知の技術を適宜利用できる。また、クリップ波形の冒頭部分はノイズとみなして無視して、波形が安定してから計測開始することで、検出処理効率を向上させてもよい。
【００３２】
また、この発明の別の実施形態として、入力された音声に含まれる音声ピッチが未確定の場合は、第１、第２及び第３のピストン５ａ〜５ｃの運指状態によって指定されるピッチで楽音を発生するようにしてもよい。また、演奏操作子５を具えず、検出された振動信号のピッチのみに基づく楽音発音を行う構成であってもよい。
【００３３】
なお、上述の実施例では、楽音発生装置に音源が具備される例について説明したが、これに限らず、例えば、当該楽音発生装置を備える電子トランペットを適宜の外部装置（例えば他のＭＩＤＩ機器等）に接続し、外部音源に対してノイズ音の発音／消音の指示及び楽音の発音／消音指示を行うよう構成し、外部音源を用いて発音させることも可能であるし、また、通信ネットワークを介してそのような指示データの送受信がなされるようにしてもよい。
また、上述の実施例では、当該楽音発生装置を適用する楽器として電子トランペットを一例に説明したが、これに限らず電子ホルン、電子チューバ等に適用してもよい。更に、本発明は、その他各種の電子管楽器やボコーダ等のように、入力された音声（その他振動信号）のピッチを検出するタイプの電子楽器に好適である。また、本発明における楽音発音前（つまりピッチ確定前）にノイズ音を発生させるという思想は、電子バイオリン等の擦弦タイプの楽器や、パイプオルガン系統の音色、すなわち立ち上がりの遅い音色を発生する場合等にも有効である。
【００３４】
【発明の効果】
以上の通り、この発明によれば、入力された音声ピッチ検出データが未確定の場合でも、所定の閾値以上の音量データが検出されればノイズ音が発音されるので、音声入力に応じて速やかに発音開始できるという優れた効果を奏する。更に、楽音発音開始前にノイズ音を発生させることで、管楽器類やバイオリン、オルガン等の音色をより自然に発音させることができる。また、この発明の実施によりピッチ検出時間の遅滞が聴覚上は感知され難くなるので、ピッチ検出処理は、検出速度よりも、検出精度、安定度を重視するよう設計できるので好ましい。
【図面の簡単な説明】
【図１】この発明の一実施例に係る楽音発生装置のシステム構成を示すブロック図。
【図２】同実施例に係る楽音発生装置を機能的に示すブロック図。
【図３】図１に示す楽音発生装置を適用可能な電子トランペットの外観例を示す概略側面図。
【図４】（ａ）は、図１の楽音発生装置に入力される音声波形例を示し、（ｂ）は、（ａ）の波形を波形整形して得たクリップ波形の一例を示す。
【図５】同実施例において制御装置が実行するメイン処理の一例を示すフロー。
【図６】同実施例において、音声ピッチ検出データを検出するためのタイマインタラプト処理の一例を示すフロー。
【符号の説明】
１０  入力器，２０  制御装置，３０  音源ユニット，４０  サウンドシステム，５０  ピッチ検出ブロック，１１  アンプ，１２  波形整形器  ２１  ピッチ検出手段，２２  音量検出手段，２３  判定手段，３１  第１音源，３２  第２音源，３３  クロスフェード制御回路，５１，音声ピッチ検出テーブル，５２  運指・ピッチ変換テーブル，１  電子トランペット，２  本体，３  朝顔，４  スピーカ，５ａ〜５ｃ  第１，第２及び第３のピストン，６  顎載置部，４１  アンプ
【図１】
2004212578.tif 000003
【図２】
2004212578.tif 000004
【図３】
2004212578.tif 000005
【図４】
2004212578.tif 000006
【図５】
2004212578.tif 000007
【図６】
2004212578.tif 000008