(57)【特許請求の範囲】
【請求項１】
操作子の操作を複数段階で検出する操作検出手段と、
該操作検出手段による２段階目以降の操作が検出された時に歌唱音の発音の開始を指示する発音指示手段とを備え、
該発音指示手段が発音の開始を指示する段階より前の段階を前記操作検出手段が検出したことに応じて、前記歌唱音の子音の発音を開始し、該発音指示手段が、発音の開始を指示した時に、前記歌唱音の母音の発音を開始することにより歌唱音の発音が開始され、前記歌唱音の子音の種別に応じて、子音の発音開始のタイミングが制御されることを特徴とする歌唱音発音装置。
【請求項２】
前記操作検出手段は、鍵の多段階の押し込み操作を、該鍵の内部に設けられた鍵スイッチにより検出するようにしたことを特徴とする請求項１に記載の歌唱音発音装置。
【請求項３】
操作検出手段により操作子の操作を複数段階で検出し、
該操作検出手段による２段階目以降の操作が検出された時に、発音指示手段が歌唱音の発音の開始を指示し、
該発音指示手段が発音の開始を指示する段階より前の段階を前記操作検出手段が検出したことに応じて、前記歌唱音の子音の発音を開始し、該発音指示手段が、発音の開始を指示した時に、前記歌唱音の母音の発音を開始することにより歌唱音の発音が開始され、前記歌唱音の子音の種別に応じて、子音の発音開始のタイミングが制御されることを特徴とする歌唱音発音方法。
【請求項４】
コンピュータに、
操作子の操作を複数段階で検出する操作検出ステップと、
該操作検出ステップによる２段階目以降の操作が検出された時に歌唱音の発音の開始を指示する発音指示ステップと
からなる手順を実行させ、
該発音指示ステップが発音の開始を指示する段階より前の段階を前記操作検出ステップが検出したことに応じて、前記歌唱音の子音の発音を開始し、該発音指示ステップが、発音の開始を指示した時に、前記歌唱音の母音の発音を開始することにより歌唱音の発音が開始され、前記歌唱音の子音の種別に応じて、子音の発音開始のタイミングが制御されることを特徴とする歌唱音発音プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リアルタイム演奏時に、遅延を感ずることのない自然な歌唱音を発音することができる歌唱音発音装置に関する。
【背景技術】
【０００２】
従来、リアルタイムに入力される演奏データに基づいて、歌唱合成を行う特許文献１記載の歌唱音合成装置が知られている。この歌唱音合成装置は、時刻情報で表わされる歌唱開始時刻より早く音韻情報、時刻情報及び歌唱長情報を入力すると共に、音韻情報に基づいて音韻遷移時間長を生成し、音韻遷移時間長と時刻情報と歌唱長情報とに基づいて第１及び第２の音素の歌唱開始時刻と歌唱継続時間とを決定するようにしている。これにより、第１及び第２の音素については、時刻情報で表わされる歌唱開始時刻の前後で所望の歌唱開始時刻を決定したり、歌唱長情報で表わされる歌唱長とは異なる歌唱継続時間を決定したりすることができ、第１及び第２の歌唱音声として自然な歌唱音声を発生することができる。例えば、第１の音素の歌唱開始時刻として、時刻情報で表わされる歌唱開始時刻より早い時刻を決定すると、子音の立上りを母音の立上りより十分に早くして人歌唱に近似した歌唱合成を行なうことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２０２７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の歌唱音合成装置では、実際に歌唱される実歌唱開始時刻Ｔ１より前に、演奏データを入力することにより、Ｔ１より前に子音の発音を開始して、Ｔ１に母音の発音を開始している。すると、リアルタイム演奏の演奏データが入力されてからＴ１になるまでは発音されないことから、リアルタイム演奏してから歌唱音が発音されるまでに遅延が生じるようになり、演奏性が悪いという問題点があった。
【０００５】
そこで、本発明は、リアルタイム演奏時に、遅延を感ずることのない自然な歌唱音を発音することができる歌唱音発音装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の歌唱音発音装置は、操作子の操作を複数段階で検出する操作検出手段と、該操作検出手段による２段階目以降の操作が検出された時に歌唱音の発音の開始を指示する発音指示手段とを備え、該発音指示手段が発音の開始を指示する段階より前の段階を前記操作検出手段が検出したことに応じて、前記歌唱音の子音の発音を開始し、該発音指示手段が、発音の開始を指示した時に、前記歌唱音の母音の発音を開始することにより歌唱音の発音が開始され、前記歌唱音の子音の種別に応じて、子音の発音開始のタイミングが制御されることを最も主要な特徴としている。
【発明の効果】
【０００７】
本発明の歌唱音発音装置では、発音の開始を指示する段階より前の段階を検出したことに応じて、歌唱音の子音の発音を開始し、発音の開始を指示した時に、歌唱音の母音の発音を開始することにより歌唱音の発音が開始されるようにしたので、リアルタイム演奏時に、遅延を感ずることのない自然な歌唱音を発音することができるようになる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例の歌唱音発音装置のハードウェア構成を示す機能ブロック図である。
【図２】本発明にかかる歌唱音発音装置が実行する演奏処理および音節情報取得処理のフローチャートである。
【図３】本発明にかかる歌唱音発音装置が処理する音節情報取得処理、音声素片データ選択処理、発音指示受付処理を説明する図である。
【図４】本発明にかかる歌唱音発音装置の動作を示す図である。
【図５】本発明にかかる歌唱音発音装置が実行する発音処理のフローチャートである。
【図６】本発明にかかる歌唱音発音装置の他の動作を示すタイミング図である。
【発明を実施するための形態】
【０００９】
本発明の歌唱音発音装置のハードウェア構成を示す機能ブロック図を図１に示す。
図１に示す本発明の歌唱音発音装置１において、ＣＰＵ（Central Processing Unit）１０は、本発明の歌唱音発音装置１全体の制御を行う中央処理装置であり、ＲＯＭ（Read Only Memory）１１は制御プログラムおよび各種のデータなどが格納されている不揮発性のメモリであり、ＲＡＭ（Random Access Memory）３はＣＰＵ１０のワーク領域および各種のバッファなどとして使用される揮発性のメモリであり、データメモリ１８は歌詞のテキストデータを含む音節情報テーブルや歌唱音の音声素片データが格納されている音韻データベースなどが格納されている。表示部１５は、動作状態および各種設定画面やユーザーに対するメッセージなどが表示される液晶表示器等からなる表示部である。演奏操作子１６は鍵盤などからなる演奏用の操作子であり、操作子の操作を複数段階で検出する複数のセンサを備え、複数のセンサのオン／オフに基づくキーオンおよびキーオフ、音高、ベロシティなどの演奏情報を発生する。この演奏情報を、ＭＩＤＩメッセージの演奏情報としてもよい。また、設定操作子１７は、歌唱音発音装置１を設定する操作つまみや操作ボタンなどの各種設定操作子である。
【００１０】
音源１３は、複数の発音チャンネルを有し、ＣＰＵ１０の制御の基で、ユーザーの演奏操作子１６を使用するリアルタイム演奏に応じて１つの発音チャンネルが割り当てられ、割り当てられた発音チャンネルにおいて、データメモリ１８から演奏に対応する音声素片データを読み出して歌唱音データを生成する。サウンドシステム１４は、音源１３で生成された歌唱音データをデジタル／アナログ変換器によりアナログ信号に変換して、アナログ信号とされた歌唱音を増幅してスピーカ等へ出力している。さらに、バス１９は歌唱音発音装置１における各部の間のデータ転送を行うためのバスである。
【００１１】
本発明にかかる歌唱音発音装置１について以下に説明するが、ここでは、歌唱音発音装置１は、演奏操作子１６として鍵盤を備えている場合を例に挙げて説明する。演奏操作子１６である鍵盤の内部には、鍵盤の押し込み操作を多段階で検出する第１センサないし第３センサからなる操作検出手段が備えられており、鍵盤を操作したことを操作検出手段が検出した際に図２（ａ）に示すフローチャートの演奏処理が実行される。この演奏処理における音節情報取得処理のフローチャートを図２（ｂ）に示す。また、演奏処理における音節情報取得処理の説明図を図３（ａ）に、音声素片データ選択処理の説明図を図３（ｂ）に、発音受付処理の説明図を図３（ｃ）に示す。さらに、歌唱音発音装置１の動作を示す図を図４に示す。さらにまた、歌唱音発音装置１において実行される発音処理のフローチャートを図５に示す。
これらの図に示す歌唱音発音装置１において、ユーザーがリアルタイム演奏を行う場合は、演奏操作子１６である鍵盤を押し込み操作して演奏を行うことになる。図４（ａ）に示すように鍵盤４０は複数の白鍵４０ａおよび黒鍵４０ｂを備え、それぞれの鍵の内部には第１センサ４１ａ、第２センサ４１ｂ、第３センサ４１ｃが設けられている。白鍵４０ａを例に挙げて説明すると、白鍵４０ａを押し始めて、上位置ａまで白鍵４０ａがわずか押し込まれたときに第１センサ４１ａがオンとなり、第１センサ４１ａにより押鍵されたことが検出される。また、白鍵４０ａから指が離されて第１センサ４１ａがオンからオフになった時に、白鍵４０ａが離鍵されたことが検出される。白鍵４０ａを下位置ｃまで押し込んだときには、第３センサ４１ｃがオンとなり、第３センサ４１ｃにより下まで押し込んだことが検出される。また、上位置ａと下位置ｃの中間の中間位置ｂまで白鍵４０ａを押し込んだときに第２センサ４１ｂがオンとなる。第１センサ４１ａないし第２センサ４１ｂにより、白鍵４０ａの押下状態が検出され、この押下状態に応じて発音開始および発音停止の制御と、２つのセンサによる検出時間の時間差に応じてベロシティを制御することができる。つまり、第２センサ４１ｂがオンになったことに応じて、第１センサ４１ａおよび第２センサ４１ｂの検出時間から算出されたベロシティに応じた音量で、発音が開始される。また、第３センサ４１ｃは白鍵４０ａが深い位置へと押し込まれたことを検知するセンサであり、発音中に音量や音質を制御することができる。
【００１２】
図２（ａ）に示す演奏処理は、演奏に先立って図３（ｃ）に示す演奏しようとする楽譜３３に対応する特定の歌詞が指定された時にスタートする。ここで、演奏処理におけるステップＳ１０の音節情報取得処理およびステップＳ１２の発音指示受付処理はＣＰＵ１０が実行し、ステップＳ１１の音声素片データ選択処理およびステップＳ１３の発音処理はＣＰＵ１０の制御の基で音源１３において実行される。
演奏処理のステップＳ１０では、指定された歌詞は音節毎に区切られており、その最初の音節の音節情報を取得する音節情報取得処理を行う。音節情報取得処理はＣＰＵ１０で実行され、その詳細を示すフローチャートを図２（ｂ）に示す。音節情報取得処理のステップＳ２０にて、ＣＰＵ１０は、カーソル位置の音節を取得する。この場合、歌詞はデータメモリ１８に格納されており、この指定された歌詞を音節毎に区切ったテキストデータ３０の先頭の音節にカーソルが置かれている。例えば、図３（ｃ）に示す楽譜３３に対応して指定された歌詞を音節毎に区切ったテキストデータ３０は、図３（ａ）に示すｃ１〜ｃ４２の「は」「る」「よ」「こ」「い」の５つの音節のテキストデータ３０とされている。これにより、図３（ａ）に示すように、ＣＰＵ１０は、指定された歌詞の最初の音節ｃ１である「は」をデータメモリ１８から読み出す。次いで、ＣＰＵ１０は、ステップＳ２１にて取得した音節の子音種別を判別し、ステップＳ２２にて図３（ａ）に示す音節情報テーブル３１を参照して、判別した子音種別に応じた子音発音タイミングをセットする。「子音発音タイミング」は、第１センサ４１ａが操作を検出してから子音の発音を開始するまでの時間であり、サ行（子音；ｓ）など子音を長く発音させるべき音節は、第１センサの検出に応じて即時に子音の発音を開始するが、破裂音（バ行、パ行等）は子音の発音時間が短いので、第１センサ４１ａの検出から所定時間後に子音の発音を開始するよう、音節情報テーブル３１で定められている。例えば、ｓ，ｈ，ｓｈの子音は即時に発音し、ｍ，ｎの子音は約０．０１秒遅れて発音し、ｂ，ｄ，ｇ，ｒの子音は約０．０２秒遅れて発音する。この音節情報テーブル３１はデータメモリ１８に格納されており、例えば「は」の子音は「ｈ」であるから、子音発音タイミングとして「即時」がセットされる。そして、ステップＳ２３に進み、ＣＰＵ１０は、テキストデータ３０の次の音節にカーソルを進め、２番目の音節ｃ２の「る」にカーソルが置かれる。ステップＳ２３の処理が終了すると音節情報取得処理は終了し、演奏処理のステップＳ１１にリターンする。
【００１３】
このステップＳ１１の音声素片データ選択処理は、ＣＰＵ１０の制御の基で音源１３で行われる処理であり、取得された音節を発音させる音声素片データを図３（ｂ）に示す音韻データベース３２から選択する。音韻データベース３２には、「音素連鎖データ３２ａ」と「定常部分データ３２ｂ」が記憶されている。音素連鎖データ３２ａは、無音（＃）から子音、子音から母音、母音から（次の音節の）子音または母音など、発音が変化する際の音素片のデータである。また、定常部分データ３２ｂは、母音の発音が継続する際の音素片のデータである。最初のキーオンを検出して、取得された音節がｃ１の「は」の場合は、音源１３において、音素連鎖データ３２ａから「無音→子音ｈ」に対応する音声素片データ「＃−ｈ」と「子音ｈ→母音ａ」に対応する音声素片データ「ｈ−ａ」が選択されると共に、定常部分データ３２ｂから「母音ａ」に対応する音声素片データ「ａ」が選択される。次のステップＳ１２では発音指示を受け付けたか否かをＣＰＵ１０が判断し、発音指示を受け付けるまで待機される。ここで演奏が開始されて鍵盤４０のいずれかの鍵が押し始められ、その鍵の第１センサ４１ａがオンしたことをＣＰＵ１０が検出すると、ステップＳ１２にて最初のキーオンｎ１に基づく発音指示を受け付けたと判断してステップＳ１３に進む。この場合、ＣＰＵ１０はキーオンｎ１のタイミング、第１センサ４１ａがオンされた鍵の音高情報などの演奏情報をステップＳ１２の発音指示受付処理で受け取るようになる。例えば、図３（ｃ）に示す楽譜の通りユーザーがリアルタイム演奏した場合は、最初のキーオンｎ１の発音指示を受け付けた時に、ＣＰＵ１０はＥ５の音高情報を受け取る。
【００１４】
ステップＳ１３では、ステップＳ１１で選択した音声素片データに基づく発音処理をＣＰＵ１０の制御の基で音源１３が行う。発音処理の詳細を示すフローチャートを図５に示す。この図に示すように、発音処理が開始されると、ステップＳ３０で第１センサ４１ａのオンに基づいて最初のキーオンｎ１を検出して、第１センサ４１ａがオンされた鍵の音高情報および予め定めた所定の音量を音源１３にセットする。次いで、音節情報取得処理のステップＳ２２でセットされた子音種別に応じた発音タイミングのカウントを開始する。この場合は、「即時」がセットされているので、直ちにカウントアップし、ステップＳ３２において子音種別に応じた発音タイミングで「＃−ｈ」の子音成分が発音開始される。この発音の際には、セットされたＥ５の音高および予め定めた所定の音量で発音される。子音の発音が開始されるとステップＳ３３に進み、第１センサ４１ａのオンを検出した鍵において第２センサ４１ｂのオンが検出されたか否かをＣＰＵ１０が判断し、第２センサ４１ｂのオンが検出されるまで待機される。ここで、その第２センサ４１ｂがオンしたことをＣＰＵ１０が検出すると、ステップＳ３４に進み、「ｈ−ａ」→「ａ」の母音成分の音声素片データが音源１３において発音開始されて、音節ｃ１の「は」の発音が行われる。発音の際には、キーオンｎ１の発音指示の受付の際に受け取ったＥ５の音高で、第１センサ４１ａのオンから第２センサ４１ｂがオンされるまでの時間差に対応するベロシティがＣＰＵ１０で演算され、そのベロシティに応じた音量で「ｈ−ａ」→「ａ」の母音成分が発音される。これにより、取得した音節ｃ１の「は」の歌唱音が発音開始される。ステップＳ３４の処理が終了すると、発音処理は終了しステップＳ１４に戻る。ステップＳ１４では、全ての音節を取得したか否かをＣＰＵ１０が判断する。ここでは、カーソルの位置に次の音節があることから全ての音節を取得していないと判断されてステップＳ１０に戻る。
【００１５】
この演奏処理の動作が図４に示されている。例えば、鍵盤４０のいずれかの鍵が押し始められて時刻ｔ１で上位置ａに達すると第１センサ４１ａがオンし、時刻ｔ１で最初のキーオンｎ１の発音指示を受け付け（ステップＳ１２）る。時刻ｔ１以前において、最初の音節ｃ１を取得して子音種別に応じた発音タイミングがセットされ（ステップＳ２０〜ステップＳ２２）ており、取得した音節の子音の発音が時刻ｔ１からのセットされた発音タイミングで音源１３において開始される。この場合は、セットされた発音タイミングが「即時」とされていることから、図４（ｂ）に示すように時刻ｔ１においてＥ５の音高および予め定めた子音ＥＮＶ４２ａで示すエンベロープの音量で図４（ｄ）に示す音声素片データ４３の内の「＃−ｈ」の子音成分４３ａが発音される。これにより、Ｅ５の音高および子音ＥＮＶ４２ａで示す所定の音量で「＃−ｈ」の子音成分４３ａが発音される。次いで、キーオンｎ１にかかる鍵が中間位置ｂまで押し下げられて時刻ｔ２で第２センサ４１ｂがオンすると、取得した音節の母音の発音が、音源１３において開始される（ステップＳ３０〜ステップＳ３４）。この母音の発音の際には、時刻ｔ１と時刻ｔ２の時間差に応じたベロシティの音量のエンベロープＥＮＶ１が開始され、図４（ｄ）に示す音声素片データ４３の内の「ｈ−ａ」→「ａ」の母音成分４３ｂをＥ５の音高およびエンベロープＥＮＶ１の音量で発音させる。これにより、「は」の歌唱音が発音開始されるようになる。エンベロープＥＮＶ１は、キーオンｎ１のキーオフまでサスティンが持続する持続音のエンベロープとされており、当該鍵から指が離されて第１センサ４１ａがオンからオフになった時刻ｔ３（キーオフ）まで図４（ｄ）に示す母音成分４３ｂの内の「ａ」の定常部分データが繰り返し再生される。時刻ｔ３でキーオンｎ１にかかる鍵がキーオフされたとＣＰＵ１０で検出され、キーオフ処理が行われて消音される。これにより、「は」の歌唱音がエンベロープＥＮＶ１のリリースカーブで消音されて発音停止される。
【００１６】
演奏処理においてステップＳ１０に戻ることにより、ＣＰＵ１０が行うステップＳ１０の音節情報取得処理において、指定された歌詞のカーソルが置かれた２番目の音節ｃ２である「る」をデータメモリ１８から読み出す。また、図３（ａ）に示す音節情報テーブル３１を参照して、判別した子音種別に応じた子音発音タイミングをセットする。この場合は、子音種別が「ｒ」であることから約０．０２秒の子音発音タイミングをセットする。さらに、テキストデータ３０の次の音節にカーソルを進め、３番目の音節ｃ３の「よ」にカーソルが置かれる。次いで、ステップＳ１１の音声素片データ選択処理で、音源１３において、音素連鎖データ３２ａから「無音→子音ｒ」に対応する音声素片データ「＃−ｒ」と「子音ｒ→母音ｕ」に対応する音声素片データ「ｒ−ｕ」が選択されると共に、定常部分データ３２ｂから「母音ｕ」に対応する音声素片データ「ｕ」が選択される。
【００１７】
そして、リアルタイム演奏の進行に伴い鍵盤４０が操作されて２つめの鍵の第１センサ４１ａのオンが検出されると、オンされた第１センサ４１ａの鍵に基づく２回目のキーオンｎ２の発音指示をステップＳ１２で受け付ける。このステップＳ１２の発音指示受付処理では、操作された演奏操作子１６のキーオンｎ２に基づく発音指示を受け付けて、ＣＰＵ１０はキーオンｎ２のタイミング、Ｅ５の音高情報を音源１３にセットする。ステップＳ１３の発音処理では、セットされた子音種別に応じた発音タイミングのカウントを開始する。この場合は、「約０．０２秒」がセットされているので、約０．０２秒経過するとカウントアップし、子音種別に応じた発音タイミングで「＃−ｒ」の子音成分が発音開始される。この発音の際には、セットされたＥ５の音高および予め定めた所定の音量で発音される。キーオンｎ２にかかる鍵において第２センサ４１ｂのオンが検出されると、「ｒ−ｕ」→「ｕ」の母音成分の音声素片データが音源１３において発音開始されて、音節ｃ２の「る」の発音が行われる。発音の際には、キーオンｎ２の発音指示の受付の際に受け取ったＥ５の音高で、第１センサ４１ａのオンから第２センサ４１ｂがオンされるまでの時間差に対応するベロシティに応じた音量で「ｒ−ｕ」→「ｕ」の母音成分が発音される。これにより、取得した音節ｃ２の「る」の歌唱音が発音開始される。そして、ステップＳ１４で、全ての音節を取得したか否かをＣＰＵ１０が判断し、ここでは、カーソルの位置に次の音節があることから全ての音節を取得していないと判断されて再度ステップＳ１０に戻る。
【００１８】
この演奏処理の動作が図４に示されている。例えば、鍵盤４０において２つめの鍵が押し始められて時刻ｔ４で上位置ａに達すると第１センサ４１ａがオンし、時刻ｔ４で２回目のキーオンｎ２の発音指示を受け付け（ステップＳ１２）る。上述したように、時刻ｔ４以前において、２つ目の音節ｃ２を取得して子音種別に応じた発音タイミングがセットされ（ステップＳ２０〜ステップＳ２２）ていることから、取得した音節の子音の発音が時刻ｔ４からのセットされた発音タイミングで音源１３において開始される。この場合は、セットされた発音タイミングが「約０．０２秒」とされていることから、図４（ｂ）に示すように時刻ｔ４から約０．０２秒経過した時刻ｔ５においてＥ５の音高および予め定めた子音ＥＮＶ４２ｂで示すエンベロープの音量で図４（ｄ）に示す音声素片データ４４の内の「＃−ｒ」の子音成分４４ａが発音される。これにより、Ｅ５の音高および子音ＥＮＶ４２ｂで示す所定の音量で「＃−ｒ」の子音成分４４ａが発音される。次いで、キーオンｎ２にかかる鍵が中間位置ｂまで押し下げられて時刻ｔ６で第２センサ４１ｂがオンすると、取得した音節の母音の発音が、音源１３において開始される（ステップＳ３０〜ステップＳ３４）。この母音の発音の際には、時刻ｔ４と時刻ｔ６の時間差に応じたベロシティの音量のエンベロープＥＮＶ２が開始され、図４（ｄ）に示す音声素片データ４４の内の「ｒ−ｕ」→「ｕ」の母音成分４４ｂをＥ５の音高およびエンベロープＥＮＶ２の音量で発音させる。これにより、「る」の歌唱音が発音開始されるようになる。エンベロープＥＮＶ２は、キーオンｎ２のキーオフまでサスティンが持続する持続音のエンベロープとされており、キーオンｎ２にかかる鍵から指が離されて第１センサ４１ａがオンからオフになった時刻ｔ７（キーオフ）まで図４（ｄ）に示す母音成分４４ｂの内の「ｕ」の定常部分データが繰り返し再生される。時刻ｔ７でキーオンｎ２にかかる鍵がキーオフされたとＣＰＵ１０で検出されると、キーオフ処理が行われて消音される。これにより、「る」の歌唱音がエンベロープＥＮＶ２のリリースカーブで消音されて発音停止される。
【００１９】
演奏処理においてステップＳ１０に戻ることにより、ＣＰＵ１０が行うステップＳ１０の音節情報取得処理において、指定された歌詞のカーソルが置かれた３番目の音節ｃ３である「よ」をデータメモリ１８から読み出す。また、図３（ａ）に示す音節情報テーブル３１を参照して、判別した子音種別に応じた子音発音タイミングをセットする。この場合は、子音種別の「ｙ」に応じた子音発音タイミングをセットする。さらに、テキストデータ３０の次の音節にカーソルを進め、４番目の音節ｃ４１の「こ」にカーソルが置かれる。次いで、ステップＳ１１の音声素片データ選択処理で、音源１３において、音素連鎖データ３２ａから「無音→子音ｙ」に対応する音声素片データ「＃−ｙ」と「子音ｙ→母音ｏ」に対応する音声素片データ「ｙ−ｏ」が選択されると共に、定常部分データ３２ｂから「母音ｏ」に対応する音声素片データ「ｏ」が選択される。
【００２０】
さらに、リアルタイム演奏の進行に伴い演奏操作子１６が操作されると、オンされた第１センサ４１ａの鍵に基づく３回目のキーオンｎ３の発音指示をステップＳ１２で受け付ける。このステップＳ１２の発音指示受付処理では、操作された演奏操作子１６のキーオンｎ３に基づく発音指示を受け付けて、ＣＰＵ１０はキーオンｎ３のタイミング、Ｄ５の音高情報を音源１３にセットする。ステップＳ１３の発音処理では、セットされた子音種別に応じた発音タイミングのカウントを開始する。この場合は、子音種別が「ｙ」であることから「ｙ」に応じた発音タイミングがセットされており、子音種別「ｙ」に応じた発音タイミングで「＃−ｙ」の子音成分が発音開始される。この発音の際には、セットされたＤ５の音高および予め定めた所定の音量で発音される。第１センサ４１ａのオンを検出した鍵において第２センサ４１ｂのオンが検出されると、「ｙ−ｏ」→「ｏ」の母音成分の音声素片データが音源１３において発音開始されて、音節ｃ３の「よ」の発音が行われる。発音の際には、キーオンｎ３の発音指示の受付の際に受け取ったＤ５の音高で、第１センサ４１ａのオンから第２センサ４１ｂがオンされるまでの時間差に対応するベロシティに応じた音量で「ｙ−ｏ」→「ｏ」の母音成分が発音される。これにより、取得した音節ｃ３の「よ」の歌唱音が発音開始される。そして、ステップＳ１４で、全ての音節を取得したか否かをＣＰＵ１０が判断し、ここでは、カーソルの位置に次の音節があることから全ての音節を取得していないと判断されて再度ステップＳ１０に戻る。
【００２１】
演奏処理においてステップＳ１０に戻ることにより、ＣＰＵ１０が行うステップＳ１０の音節情報取得処理において、指定された歌詞のカーソルが置かれた４番目の音節ｃ４１である「こ」をデータメモリ１８から読み出す。また、図３（ａ）に示す音節情報テーブル３１を参照して、判別した子音種別に応じた子音発音タイミングをセットする。この場合は、子音種別の「ｋ」に応じた子音発音タイミングをセットする。さらに、テキストデータ３０の次の音節にカーソルを進め、５番目の音節ｃ４２の「い」にカーソルが置かれる。次いで、ステップＳ１１の音声素片データ選択処理で、音源１３において、音素連鎖データ３２ａから「無音→子音ｋ」に対応する音声素片データ「＃−ｋ」と「子音ｋ→母音ｏ」に対応する音声素片データ「ｋ−ｏ」が選択されると共に、定常部分データ３２ｂから「母音ｏ」に対応する音声素片データ「ｏ」が選択される。
【００２２】
さらにまた、リアルタイム演奏の進行に伴い演奏操作子１６が操作されると、オンされた第１センサ４１ａの鍵に基づく４回目のキーオンｎ４の発音指示をステップＳ１２で受け付ける。このステップＳ１２の発音指示受付処理では、操作された演奏操作子１６のキーオンｎ４に基づく発音指示を受け付けて、ＣＰＵ１０はキーオンｎ４のタイミング、Ｅ５の音高情報を音源１３にセットする。ステップＳ１３の発音処理では、セットされた子音種別に応じた発音タイミングのカウントを開始する。この場合は、子音種別が「ｋ」であることから「ｋ」に応じた発音タイミングがセットされており、子音種別「ｋ」に応じた発音タイミングで「＃−ｋ」の子音成分が発音開始される。この発音の際には、セットされたＥ５の音高および予め定めた所定の音量で発音される。第１センサ４１ａのオンを検出した鍵において第２センサ４１ｂのオンが検出されると、「ｋ−ｏ」→「ｏ」の母音成分の音声素片データが音源１３において発音開始されて、音節ｃ４１の「こ」の発音が行われる。発音の際には、キーオンｎ４の発音指示の受付の際に受け取ったＥ５の音高で、第１センサ４１ａのオンから第２センサ４１ｂがオンされるまでの時間差に対応するベロシティに応じた音量で「ｙ−ｏ」→「ｏ」の母音成分が発音される。これにより、取得した音節ｃ４１の「こ」の歌唱音が発音開始される。そして、ステップＳ１４で、全ての音節を取得したか否かをＣＰＵ１０が判断し、ここでは、カーソルの位置に次の音節があることから全ての音節を取得していないと判断されて再度ステップＳ１０に戻る。
【００２３】
演奏処理においてステップＳ１０に戻ることにより、ＣＰＵ１０が行うステップＳ１０の音節情報取得処理において、指定された歌詞のカーソルが置かれた５番目の音節ｃ４２である「い」をデータメモリ１８から読み出す。また、図３（ａ）に示す音節情報テーブル３１を参照して、判別した子音種別に応じた子音発音タイミングをセットする。この場合は、子音種別がないことから子音は発音しない。さらに、テキストデータ３０の次の音節にカーソルを進めるが、次の音節がないことからこのステップはスキップされる。
ここで、１回のキーオンで音節ｃ４１，ｃ４２である「こ」「い」を発音するようにフラグが音節に含まれていた場合は、音節ｃ４１である「こ」をキーオンｎ４で発音して、キーオンｎ４がキーオフされた時に音節ｃ４２である「い」を発音させることができる。上記したフラグが音節ｃ４１，ｃ４２に含まれていた場合は、キーオンｎ４のキーオフを検出した時に、ステップＳ１１の音声素片データ選択処理と同じ処理を行い、音源１３において、音素連鎖データ３２ａから「母音ｏ→母音ｉ」に対応する音声素片データ「ｏ−ｉ」を選択すると共に、定常部分データ３２ｂから「母音ｉ」に対応する音声素片データ「ｉ」を選択する。続いて、「ｏ−ｉ」→「ｉ」の母音成分の音声素片データを音源１３において発音開始して、音節ｃ４１の「い」の発音を行う。これにより、ｃ４１の「こ」と同じ音高Ｅ５でｃ４２の「い」の歌唱音が、「こ」の歌唱音のエンベロープＥＮＶのリリースカーブの音量で発音される。なお、キーオフされたことから、「こ」の歌唱音の消音処理が行われて発音が停止されるが、これにより「こ」→「い」と発音されるようになる。
【００２４】
本発明にかかる歌唱音発音装置１は、上記したように第１センサ４１ａがオンしたタイミングを基準として、子音発音タイミングとなった時に子音を発音開始し、次いで、第２センサ４１ｂがオンしたタイミングで母音を発音開始している。このため、本発明にかかる歌唱音発音装置１は、第１センサ４１ａがオンしてから第２センサ４１ｂがオンするまでの時間差に相当する押鍵速度に応じた動作となる。そこで、以下に、押鍵速度の異なる３つのケースの動作について図６（ａ）〜（ｃ）を参照して説明する。
図６（ａ）は、第２センサ４１ｂがオンになるタイミングが適切な場合を示している。子音ごとに、自然に聞こえる発音長が決まっており、子音のｓやｈは長く、ｋ，ｔ，ｐなどは短い。ここで、「＃−ｈ」の子音成分４３ａと「ｈ−ａ」と「ａ」の母音成分４３ｂの音声素片データ４３が選択されているものとし、ハ行が自然に聞こえる「ｈ」の最大子音長をＴｈと表すことにする。子音種別が「ｈ」の場合は音節情報テーブル３１に示すように、子音発音タイミングは「即時」とされる。図６（ａ）では、第１センサ４１ａが時刻ｔ１１でオンになって、「即時」に「＃−ｈ」の子音成分４３ａの発音が子音ＥＮＶ４２で示すエンベロープの音量で開始される。そして、時刻ｔ１１から時間Ｔｈが経過する直前の時刻ｔ１２に、第２センサ４１ｂがオンになったとする。この場合、第２センサ４１ｂがオンになった時刻ｔ１２で、「＃−ｈ」の子音成分４３ａの発音から母音の発音へと遷移して、「ｈ−ａ」→「ａ」の母音成分４３ｂをエンベロープＥＮＶの音量で発音開始する。このため、押鍵より先に子音の発音を開始するという目的と、押鍵に応じたタイミングで母音の発音を開始するという目的の両方が達成できる。なお、母音は時刻ｔ１４のキーオフにより消音されて発音停止される。
【００２５】
図６（ｂ）は、第２センサ４１ｂがオンになる時刻が早すぎる場合を示している。第１センサ４１ａが時刻ｔ２１でオンになってから子音の発音が開始するまでに待機時間が生じるような子音種別については、待機時間中に第２センサ４１ｂがオンになる可能性がある。例えば、第２センサ４１ｂが時刻ｔ２２でオンになると、これに応じて母音が発音開始する。この場合、時刻ｔ２２では子音の子音発音タイミングに未だ達していない場合は、母音の発音後に子音が発音されることになる。しかし、子音の発音が母音の発音より遅いと不自然に聞こえるので、子音の発音はキャンセルされて発音されない。ここで、「＃−ｒ」の子音成分４４ａと「ｒ−ｕ」および「ｕ」の母音成分４４ｂの音声素片データ４４が選択されているものとし、図６（ｂ）に示す通り、「＃−ｒ」の子音成分４４ａの子音発音タイミングが時刻ｔ２１から時間ｔｄ経過した時刻である場合は、子音発音タイミングに達する前の時刻ｔ２２で第２センサ４１ｂがオンすると、時刻ｔ２２で母音が発音開始されるようになる。この場合、図６（ｂ）に破線の枠で示す「＃−ｒ」の子音成分４４ａの発音がキャンセルされるが、母音成分４４ｂの内の「ｒ−ｕ」の音素連鎖データは発音されるため、母音の最初にごく短い時間ではあるが子音も発音され、完全に母音のみにはならない。しかも、第１センサ４１ａがオンになった後に待機時間が生じるような子音種別は、もともと子音の発音長が短いものと考えられるので、上記のように子音の発音をキャンセルしても聴感上の違和感は大きくない。なお、「ｒ−ｕ」→「ｕ」の母音成分４４ｂはエンベロープＥＮＶの音量で発音され、時刻ｔ２３のキーオフにより消音されて発音停止される。
【００２６】
図６（ｃ）は、第２センサ４１ｂがオンになるのが遅すぎる場合を示している。時刻ｔ３１で第１センサ４１ａがオンになり、時刻ｔ３１から最大子音長Ｔｈが経過しても第２センサ４１ｂがオンにならない場合、第２センサ４１ｂがオンになるまでは母音の発音を開始しない。例えば、指が誤って鍵に触れてしまった場合は、第１センサ４１ａが反応してオンすることがあっても、鍵を第２センサ４１ｂまで押しこまなければ子音のみで発音がストップするので、誤操作による発音が目立たないようになる。また、「＃−ｈ」の子音成分４３ａと「ｈ−ａ」と「ａ」の母音成分４３ｂの音声素片データ４３が選択されており、誤操作ではなく単純に操作が極ゆっくりだった場合、第２センサ４１ｂが時刻ｔ３１から最大子音長Ｔｈが経過した後の時刻ｔ３３でオンになった際には、母音成分４３ｂの内の「ａ」の定常部分データだけでなく子音から母音への遷移である母音成分４３ｂの内の「ｈ−ａ」の音素連鎖データも発音されるので、聴感上の違和感は大きくない。なお、「＃−ｈ」の子音成分４３ａは子音ＥＮＶ４２で示すエンベロープの音量で発音され、「ｒ−ｕ」→「ｕ」の母音成分４３ｂはエンベロープＥＮＶの音量で発音されて、時刻ｔ３４のキーオフにより消音されて発音停止される。
ところで、サ行の子音ｓが自然に聞こえるｓの発音長は５０〜１００ｍｓとされるが。通常の演奏では、押鍵速度（第１センサ４１ａがオンしてから第２センサ４１ｂがオンするまでにかかる時間）は２０〜１００ｍｓ程度なので、現実には図６（ｃ）で示すケースになることは少ない。
【産業上の利用可能性】
【００２７】
演奏操作子である鍵盤は、第１センサないし第３センサが設けられた、３メイクの鍵盤としたが、第３センサが省略された第１センサと第２センサが設けられた２メイクの鍵盤でもよい。さらに、触れたことを検出するタッチセンサを表面に設け、内部に押し下げられたことを検出する１つのスイッチを設けた鍵盤でもよい。この場合、タッチセンサの代わりにカメラを用いて、指が操作子に触れた（触れそうな）ことを検出してもよい。さらにまた、演奏操作子は鍵盤でなく、タッチパネル上の表示された操作子をなぞって操作するようなものがあってもよく、この構成では、操作し始めで子音を発音させ、所定の長さだけドラッグ操作が行われることにより母音を発音させるようにする。
【符号の説明】
【００２８】
１  歌唱音発音装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  音源、１４  サウンドシステム、１５  表示部、１６  演奏操作子、１７  設定操作子、１８  データメモリ、１９  バス、３０  テキストデータ、３１  音節情報テーブル、３２  音韻データベース、３２ａ  音素連鎖データ、３２ｂ  定常部分データ、３３  楽譜、４０  鍵盤、４０ａ  白鍵、４０ｂ  黒鍵、４１ａ  第１センサ、４１ｂ  第２センサ、４１ｃ  第３センサ、４２  子音ＥＮＶ、４２ａ，４２ｂ  子音ＥＮＶ、４３，４４  音声素片データ、４３ａ，４４ａ  子音成分、４３ｂ，４４ｂ  母音成分
【図１】
0006728755.tif 000002
【図２】
0006728755.tif 000003
【図３】
0006728755.tif 000004
【図４】
0006728755.tif 000005
【図５】
0006728755.tif 000006
【図６】
0006728755.tif 000007