JP4026446B2 - 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム - Google Patents
歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム Download PDFInfo
- Publication number
- JP4026446B2 JP4026446B2 JP2002244241A JP2002244241A JP4026446B2 JP 4026446 B2 JP4026446 B2 JP 4026446B2 JP 2002244241 A JP2002244241 A JP 2002244241A JP 2002244241 A JP2002244241 A JP 2002244241A JP 4026446 B2 JP4026446 B2 JP 4026446B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- singing
- information
- phoneme
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、リアルタイムに入力される演奏データに基づいて歌唱を合成する歌唱合成装置、方法及びプログラムに係るものである。
【0002】
【従来の技術】
従来の歌唱合成装置においては、人間の実際の歌声から取得したデータを、例えばテンプレートデータとしてデータベースとして保存しておき、入力された演奏データ(音符、歌詞、表情等)の内容に合致したデータをデータベースより読み出す。そして、この演奏データとテンプレートデータに基づいて、歌唱合成スコアと呼ばれるデータを作成する。
この歌唱合成スコアとは、歌唱音声のデータを、音韻、音高(ピッチ)、音韻遷移(無音から有声音へ、或いはその逆への遷移、伸ばし音など)、状態遷移などのパラメータごとに時系列的に記憶させたものである。例えば、音韻データは音韻トラックに、音高データは音高トラックに記憶される。
この歌唱合成スコアに、さらに各種の音源制御情報を付加することにより、本物の人の歌声に近い歌唱音声を合成している。
【0003】
【発明が解決しようとする課題】
従来の歌唱合成装置は、音高トラックを形成する場合、受信したMIDIデータをそのまま音高トラックの形式に変換するものであった。
このため、音韻が変化する前後において音高が階段状に、不連続に変化し、このため合成される歌唱音声が不自然なものとして聞こえてしまう。この不自然さを解消するためには、ピッチベンダを使用して音高の変化を逐一調整するなどの作業が必要となっていた。
【0004】
本発明は、この点に鑑み、自然な歌唱音声を簡易に合成することのできる歌唱合成方法、歌唱合成装置及びプログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的の達成のため、本出願に係る第1発明は、少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、前記音高情報取得ステップで取得された音高情報に基づき生成した前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップとを備えたことを特徴とする歌唱合成方法である。
【0006】
この第1発明によれば、音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報と、該音韻変化時点に先行する時点又は後続する時点における音高情報とが取得される。ピッチモデル付与ステップにおいて、これらの情報に基づき、前記音韻変化時点における音高変化曲線にピッチモデルが付与される。音韻変化時点における音高の状態に応じた傾きが付与されるので、出力される合成歌唱音声の自然性が高まる。
【0008】
前記ピッチモデル付与ステップは、前記音高情報取得ステップで取得された音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させるのが好適である。
【0009】
上記第1発明において、母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを更に備えるようにすることができる。
【0010】
上記第1発明において前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを備え、前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与するように構成することができる。
【0011】
また、上記第1発明において、前記ピッチモデル付与ステップにより傾きを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に備えるようにすることもできる。
【0012】
前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与するようにすることもできる。前記テーブルをユーザが編集することを可能としてもよい。
【0013】
また、上記の各歌唱合成方法のステップをコンピュータプログラムにより実行させるようにしてもよい。
【0014】
上記目的達成のため、本出願に係る第2発明は、少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力手段と、前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得手段と、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定手段と、該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得手段と、前記音高情報取得手段で取得された音高情報に基づき生成したピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与手段とを備えたことを特徴とする歌唱合成装置である。
【0015】
前記ピッチモデル付与手段は、前記音高情報取得手段により取得された前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させるようにしてもよい。
【0016】
前記第2発明において、母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力する出力手段を更に備えることができる。
【0017】
前記第2発明において、前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得手段を備え、前記ピッチモデル付与手段は、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与するようにすることもできる。
【0018】
前記第2発明において、前記ピッチモデル付与手段により前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加手段を更に備えるようにしてもよい。
また、前記第2発明において、前記ピッチモデル付与手段は、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記傾きを付与するようにするのが好適である。
また、前記テーブルをユーザが編集可能としてもよい。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。以下では、日本語の歌唱音声を合成するものとして説明する。一般に日本語の場合、出現する音素は、▲1▼子音と母音の組み合わせ、▲2▼母音のみ、▲3▼有声子音(鼻音、半母音)のみ、のいずれかとなる。ただし、▲3▼有声子音のみの場合は、有声子音の歌唱開始タイミングが▲2▼母音のみの場合と類似しているので、以下に説明する本実施の形態では、▲3▼は▲2▼とみなして▲2▼と同一の処理を受けるものとする。
【0020】
〔第1の実施の形態〕
図1は、この発明の実施の形態に係る歌唱合成装置の全体構成を示すものである。MIDI(Musical Instrument Digital Interface)機器39と、このMIDI機器39にMIDIインターフェース30を介して接続されたコンピュータシステムCSと、音源回路28と、サウンドシステム38とから構成されている。コンピュータシステムCSは、CPU12、ROM14,RAM16、検出回路20、操作子群34、表示回路22、表示器36、外部記憶装置24、タイマ26等を備えている。
【0021】
CPU12は、コンピュータシステムCS全体の制御を司る部分である。ROM14は、楽音発生、歌唱合成等の各種プログラムを記憶している。CPU12は、これらのプログラムをROM14から適宜読み込んで各種処理を実行する。RAM16は、CPU12の各種処理に際して作業領域を提供するための記憶部であり、例えばMIDI機器39から読み込まれた演奏データを書き込むための受信バッファとして機能する。
【0022】
検出回路20は、パネル等の操作子群34からの操作情報を検出するものであり、また、表示回路22は、表示器36の表示動作を制御することにより各種の表示を可能にするものである。
外部記憶装置24は、ハードディスク、フロッピーディスク、CD、DVD、光磁気ディスクドライブなどの記録媒体をドライブするためコンピュータシステムCSに外付けされた記憶装置であり、その記憶内容をRAM16へ転送する他、ハードディスクなどの書き込み可能な記録媒体の場合には、逆にRAM16からデータの転送を受けることもできる。この外部記憶装置は、ROM14の代わりにプログラム記録手段として使用することも出来る。
【0023】
タイマ26は、テンポデータTMの指示するテンポに対応した周期でテンポクロック信号TCLを発生するものである。テンポクロック信号TCLは、CPU12に割込み命令信号として供給される。CPU12は、テンポクロック信号TCLに基づく割込み処理により歌唱合成を行う。テンポデータTMにより指示されるテンポは、操作子群34を操作するなどにより変更することができる。なお、テンポクロック信号TCLの周期は、一例としては1ms程度である。
【0024】
音源回路28は、多数の楽音発生チャンネル及び多数の歌唱合成チャンネルを含んでいる。歌唱合成チャンネルは、フォルマント合成方式により歌唱音声を合成するようになっている。後述する歌唱合成処理では、歌唱合成チャンネルから歌唱音声信号が発生される。発生に係る楽音信号及び歌唱音声信号は、サウンドシステム38により音響に変換される。フォルマント合成方式の代わりに、波形処理方式等の他の方式を用いてもよい。
【0025】
MIDIインターフェース30は、この歌唱合成装置とは別体のMIDI機器39との間でMIDIデータを送受信するためのインターフェースである。
【0026】
次に、図2を用いて、上記の歌唱合成装置の構成において、本実施の形態に係る歌唱合成処理を実行する手順の概略を説明する。図2において、左側のブロック40−48は歌唱合成処理の手順を示しており、また、右側に示された歌唱合成DB14Aは、ROM14などにより構成され、MIDI機器39等により入力された演奏データの内容に応じたデータ変換を行うための各種のテンプレートデータを記憶する部分を示す。歌唱合成DB14Aは、例えば音韻に関するデータを記憶する音韻DB14a、先行音韻から後続音韻への音韻遷移に関する情報を記憶する音韻遷移DB14b、状態遷移(アタック、リリース等)に関するデータを記憶する状態遷移DB14c、ビブラート情報を記憶するビブラートDB14d等を備えている。
【0027】
また、複数の矢印は、どのようなデータがどの手順において歌唱合成DBから読み出されるのかを示している。
【0028】
この歌唱合成処理の手順(ステップ40−48)を、順に説明する。最初に、演奏データがMIDI機器39より入力され、受信バッファとしてのRAM16がこれを受信する(ステップ40)。演奏データの内容については後述する。図3に示すように、演奏データS1−S3は、実歌唱時刻T1、T2、T3よりも早い時刻t1、t2、t3において送信される。
【0029】
続くステップ42では、歌唱合成スコアを形成する。歌唱合成スコアとは、受信された演奏データを、音韻、音高などのパラメータごとのトラックにより時系列的に表現したデータ配列である。歌唱合成スコアの内容については後述する。歌唱合成スコアを形成するには、歌唱合成DB中の音韻DB14a、音韻遷移DB14b等より、受信した演奏データに対応した音韻データ、音韻遷移時間長データ等を獲得する。ここで音韻遷移時間長データとは、複数の音韻間の遷移時間の長さを示すデータである。
【0030】
ステップ44では、歌唱合成エンジンによる歌唱合成を行う。このステップでは、まず、音源制御情報を音韻DB14a、音韻遷移DB14b、状態遷移DB14c及びビブラートDB14dから獲得する。ここで音源制御情報とは、音源回路28において所望の歌唱音声を合成するために必要なフォルマント周波数の情報、及びフォルマントレベルの制御パラメータの情報等を含むものである。
そして、この獲得した音源制御情報と、歌唱合成スコア、演奏データに基づき、歌唱合成を行い、歌唱順に歌唱音声信号を出力する。
【0031】
この歌唱音声信号は音源回路28によりDA変換され(ステップ46)、サウンドシステム38において歌唱音声として出力される(ステップ48)。このとき、歌唱音声SS1の子音「s」を実歌唱時刻T1より早い時刻T11に発生開始させ、SS1の母音「a」を実歌唱時刻T1に発生開始させる。また、歌唱音声SS3の子音「t」を実歌唱時刻T3より早い時刻T31に発生開始させ、その母音「a」を実歌唱時刻T3に発生開始させる。また、歌唱音声SS2の母音「i」は実歌唱時刻T2に発生開始させる。このように、歌唱音声が子音と母音の組合せからなる場合、その子音を実歌唱時刻に先行させて発音させる。これにより、歌唱音声が伴奏に対し遅れて発音される感じがなくなり、自然な歌唱音声が発生される。
【0032】
次に、ステップ40で入力される演奏データ内に含まれる情報の内容を図4を用いて説明する。演奏データは、1音節を歌唱するために必要な演奏情報、具体的には、ノート情報、歌唱音速さ情報、音韻トラック情報等を含んでいる。
ノート情報には、実歌唱開始時刻を表わすノートオン(Note on)情報、実歌唱長を表わすデュレーション(Duration)情報、歌唱音高を表わす歌唱音高情報(Note、ピッチ(pitch)情報とも呼ばれる)等が含まれる。音韻トラック情報には、後述する音韻トラックTpを形成するための情報、例えば、歌唱音韻を表わす音韻(PhUState)情報、歌唱子音伸縮率を表わす子音修正(Consonant Modification)情報等が含まれる。上述の通り、本実施の形態では、▲3▼有声子音(鼻音、半母音)のみからなる音韻を、▲2▼母音のみからなる音韻とみなして処理を行う。音韻(PhUState)情報としては、▲2▼母音のみからなる音韻の場合には、PhUState=Vowelという情報が、▲1▼子音と母音の組合せからなる音韻の場合には、PhUState =Consonant_Vowel という情報が与えられるものとする。
演奏データには、この他、遷移トラックTrを形成するための遷移トラック情報、ビブラートトラックTbを形成するためのビブラートトラック情報等を含めることもできる。
【0033】
次に、図5を参照して、音韻DB14aの記憶情報について説明する。
音韻DB14aには、図5に示すように、音韻(PhU)と音高(Pitch)の組合せごとに異なる値の音源制御情報Control11、Control12・・・が記憶されており、処理中の演奏データ(以下、現演奏データという)に合致するものが適宜読み出されるようになっている。例えば、現演奏データの音韻がaで、音高(ピッチ)がP11の場合には、音源制御情報としてControl11が読み出され、後述する音韻トラックTpの形成に使用される。
【0034】
次に、図6を参照して、音韻遷移DB14bの記憶情報について説明する。音韻遷移DB14bには、例えば図6に示すように、先行音韻PhU1、後続音韻PhU2及び音高Pitchの組合せに対応して、異なる音韻遷移時間長(Duration11、12・・・)及び音源制御情報(Control11、Control12・・・)が記憶されている。例えば、先行音韻がa、後続音韻がi、音高pitchがP11の場合には、音韻遷移時間長としてそれぞれDuration11、Control11という値が読み出される。なお、図6中のPhU2の欄において、Mとは母音の「う」を、Aspirationとは呼気音を表わしている。
【0035】
次に、図7を参照して、状態遷移DB14cの記憶内容を説明する。状態遷移DB14cは、遷移状態、状態タイプ、音韻、音高の組合せに対応して、異なる状態遷移時間長、音源制御情報が記憶されている。遷移状態としては、アタック(Attack)、ノート遷移(Note Transition、以下「NtN」と称す)及びリリース(Release)があり、状態タイプとしては、「Normal」「Sexy」「Sharp」「Soft」等がある。状態遷移時間長とは、これらアタック、ノート遷移又はリリース遷移状態の継続時間の長さを示すものである。このDB14cの内容は、後述する歌唱合成スコアの遷移トラックTrの形成に使用される。
【0036】
次に、図8を参照して、ビブラートDB14dの記憶内容について説明する。
ビブラートトラック14dでは、「Normal」「Sexy」「Enka」等の各ビブラートタイプ、音韻、音高の組合せごとに異なる音源制御情報が記憶されており、後述する歌唱合成スコアのビブラートトラックTbの形成に使用される。
【0037】
図9は、ステップ42において形成される歌唱合成スコアの形成例、及びステップ44における歌唱音声の合成例を示すものである。
歌唱合成スコアSCは、RAM16内に形成されるもので、音韻トラックTp、音高トラックTiを備えている。この他、図9に示すように、状態の遷移データを有する遷移トラックTrと、ビブラート情報を有するビブラートトラックTbなどを備える。
【0038】
例えば、・・・・「さ(sa):C3:T1・・・」「い(i):D3:T2・・・」「た(ta):E3:t3・・・」を演奏データとして入力するものとすると、音韻トラックTpには、図9、10に示すように、音韻の種類を示す音韻情報として、Sil、Sil_s、s_a、a・・・a_Sil、Sil等のアイテムが保持される。Silは無音を、Sil_sは無音から子音sへの音素遷移を示している。図10に示すように、各音韻情報Sil、Sil_s、s_a、a・・・は、開始時刻情報(Begin Time)、継続時間情報(Duration)、音韻情報(PhU)から構成される。ただし、音韻遷移部を示すアイテムは、音韻情報として、先行音韻情報(PhU1)と後続音韻情報(PhU2)との2種類を有する。
【0039】
音高トラックTiには、図9に示すような音高変化曲線90が記憶される。音高変化曲線は、演奏データからの歌唱音高情報(C3,D3,E3等)、に基づき形成される定常部91と、後述するピッチモデルにより形成される傾き部92とを備えている。
また、歌唱合成スコアSCには、この音韻トラックTp、音高トラックTiの他、図9に示すように、状態の遷移データを有する遷移トラックTrと、ビブラート情報を有するビブラートトラックTbなどを備える。
【0040】
次に、図2に示す各ステップ40−48の詳細な処理内容を説明する。
〔ステップ40(演奏データ入力)〕
まず、ステップ40における演奏データ入力の詳細な手順を図11により説明する。
【0041】
ステップ40−1では初期化処理を行う。ここでは、RAM16内の受信回数カウンタNをゼロにセットする。
【0042】
ステップ40−2では、n=N番目の演奏データを受信し、受信バッファとしてのRAM16内に書き込む。
ステップ40−3では、このn=N番目の演奏データがデータエンド(データの終端)であるか否かが判定される。データエンドである場合(YES)には、ステップ40−6に移動して終端処理を実行する。データエンドでない場合(NO)には、ステップ40−4に移行する。
【0043】
ステップ40−4では、受信されたn=N番目の演奏データに基づいて歌唱合成スコアを形成する。ステップ40−5では、カウンタNの値を1増加させてN+1としてステップ40−2に戻り、次の演奏データを受信する。このようにして演奏データがデータエンドとなるまで繰り返すことにより、すべての演奏データについての歌唱合成スコアSCがRAM16の受信バッファに入力される。
【0044】
[ステップ42(歌唱合成スコア形成)]
次に、ステップ42の歌唱合成スコアの形成手順の詳細を図12を用いて説明する。
まず、ステップ42−1で、CPU12がRAM16の受信バッファより演奏データを受信する。ステップ42−2では、受信された演奏データのうち、歌唱合成スコア形成に必要なものを抽出する。ステップ42−3では、管理データを作成する。管理データは、後続の演奏データを処理する際、先行する演奏データの内容に合わせたデータ処理をするために使用される各種のデータであり、後述するように、例えば音韻状態(PhUState)、音素(phoneme)、音高(pitch)、現ノートオン(Current Note On)、現ノートデュレーション(Current Note Duration)、フルデュレーション(Full Duration)、イベント状態(EventState)などの情報を含んでいる。情報の内容、管理データの作成の詳細な手順については次で述べる。
【0045】
次に、ステップ42−4では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音韻トラックTpを形成する。続くステップ42−5では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて音高トラックTiを形成する。
同様にして、続くステップ42−6、7では、演奏データ、前ステップで作成された管理データ、及び先行演奏データについて形成され保存された歌唱合成スコアに基づいて遷移トラックTr、ビブラートトラックTbを形成する。
そして、ステップ42−8では、後続の演奏データのためのスコアデータを形成し保存する。これを全演奏データについて完了させると、歌唱合成スコアが完成する。
【0046】
〔ステップ42−3(管理データ作成)〕
次に、図12のステップ42−3に示す管理データの作成の詳細な手順を、図13に基づいて説明する。
最初に、ステップ42−3.1において、演奏データを受信し、続くステップ42−3.2においてこの演奏データに含まれる音韻の特性を分析する。具体的には、演奏データに含まれる音韻が▲1▼子音+母音か、又は▲2▼母音のみ(鼻音のみ)かを分析し、その結果PhUStateを保存する。▲1▼の場合はPhUState=Consonant_ Vowelと、▲2▼の場合はPhUState=Vowelとする。
【0047】
次に、ステップ42−3.3で、演奏データ中の音高を分析し、その結果Pitchを保存する。
続くステップ42−3.4で、演奏データの速さを分析し、その結果Velocityを保存する。
続くステップ42−3.5で、演奏データに含まれる実歌唱時刻を分析し、得られた実歌唱開始時刻Current Note Onを保存する(図14参照)。このとき、図14に示すように、乱数等によって与えられるΔtだけCurrent Note Onを更新することで、歌唱開始時刻にゆらぎを与えることができる。
【0048】
また、実歌唱長を現ノートデュレーション(Current Note Duration)とし、
実歌唱開始時刻から実歌唱長だけ経過した時間を、現ノートオフCurrent Note Offとする(図14参照)。
【0049】
続くステップ42−3.6では、管理データに基づき現演奏データの実歌唱時刻を分析する。まず、先行演奏データの並び替えを済ませた受信ナンバーPrevious Event Number、先行演奏データについて形成され保存された歌唱合成スコアのデータPrevious Score Data、先行演奏データの実歌唱終了時刻を表わす先行ノートオフ情報等を取得する。これらの情報に基づき、先行演奏データ、現演奏データの接続状況を分析し、その結果Event Stateを保存する。
図14(a)に示すcase1のように、無音が挿入されず先行演奏データと現演奏データが連続する場合にはEvent State=Transitionとする。一方、図14(b)のcase2のように、先行演奏データと現演奏データとの間に無音が挿入される場合には、Event State=Attackとする。
【0050】
次に、歌唱合成スコアSCを構成する各トラックを形成するための詳細な手順を説明する。ただし、状態遷移トラックTr、ビブラートトラックTbの形成処理については、本発明との関連が薄いため、説明を省略し、音韻トラックTp、音高トラックTiの形成処理のみについて説明する。
【0051】
[ステップ42−4(音韻トラックTp形成)]
次に、図12のステップ42−4に示す音韻トラックTpの形成処理の詳細な手順を、図15に示すフローチャートにより説明する。
最初に、ステップ42−4.1において、演奏データ、管理データ、歌唱合成スコアを受信する。続くステップ42−4.2では、管理データに基づき、音韻遷移DB14bより音韻遷移時間長データを獲得する。この音韻遷移時間長データの獲得方法の詳細手順については次項で述べる。
【0052】
次に、ステップ42−4.3において、管理データ中のEvent StateがAttackであるか否かが判定される。判定が肯定的(YES)である場合には、ステップ44−4.4のSilence歌唱長算出の手順に移行する。Silence歌唱長の意義については後述する。一方、判定が否定的(NO)、すなわち、EventState=Transitionである場合には、ステップ44−4.5の先行Vowel歌唱長算出の手順に移行する。先行Vowel歌唱長の意義については後述する。
【0053】
ステップ44−4.4又は5の処理が完了すると、ステップ42−4.6のVowel歌唱長を算出する処理に移行する。詳細は後述する。
【0054】
次に、上述したステップ42−4.2(音韻遷移時間長の獲得)の詳細な手順を図16に示すフローチャートにより説明する。
最初に、ステップ4−2.1で管理データ及び歌唱合成スコアのデータを受信する。続くステップ4−2.2で、RAM16に記憶されている全ての遷移時間長データ(後述のステップ4−2.6、7、9〜12で獲得される音韻遷移時間長)を初期化する。
【0055】
次に、ステップ4−2.3では、管理データに基づいてV_Sil(母音から無音へ)の音韻遷移時間長をDB14bから獲得する。この手順は、一般に日本語が母音で終わることから必要となるものである。一例として、管理データの音韻が母音「a」であり、その音高がP1であったとすると、音韻遷移DB14bからは、「a_Sil」と「P1」に対応した音韻遷移時間長が獲得される。
【0056】
次に、ステップ4−2.4において、管理データに基づいてEventState=Attackであるか否かが判定される。判定が肯定的(YES)であれば、ステップ4−2.5へ移行し、否定的(NO)であればステップ4−2.8へ移行する。
ステップ4−2.5では、管理データに基づいて、PhUState=Consonant_Vowelか否かが判定される。この判定結果が肯定的(YES)であれば、ステップ4−2.6に移行し、否定的(NO)であればステップ4−2.11へ移行する。
同様にステップ4−2.8では、管理データに基づいて、PhUState=Consonant_Vowelか否かが判定される。この判定結果が肯定的(YES)であれば、ステップ4−2.9に移行し、否定的(NO)であればステップ4−2.12へ移行する。
【0057】
要するに、このステップ4−2.4、4−2.5、4−2.8では、
受信された管理データに係る音韻が、
(a)その音韻が立ち上がり部分(attack)にあり、その音韻が子音と母音の組合せである場合
(b)その音韻が立ち上がり部分(attack)にあり、その音韻が母音のみ(又は有声子音のみ)である場合
(c)その音韻が遷移部分(transition)にあり、その音韻が子音と母音の組合せである場合
(d)その音韻が遷移部分(transition)にあり、その音韻が母音である場合の4つの場合に分け、それぞれに必要なデータを獲得させるようにしているものである。
【0058】
上記(a)の場合には、ステップ4−2.6へ移行する。ステップ4−2.6では、管理データに基づいてDB14bから無音から子音への音韻遷移時間長Silence_Consonantを獲得する。獲得の具体的な方法は、ステップ4−2.3における方法と同様である。続くステップ4−2.7では、管理データに基づいてDB14bから子音から母音への音韻遷移時間長Consonant_Vowelを獲得する。獲得の具体的な方法は、ステップ4−2.3における方法と同様である。これにより(a)の場合の音韻遷移長データの獲得が完了する。
【0059】
上記(b)の場合には、ステップ4−2.11へ移行して、管理データに基づいて、無音から母音への音韻遷移時間長Silence_Vowelを獲得する。獲得の具体的な方法は、ステップ4−2.3における方法と同様である。
上記(c)の場合には、ステップ4−2.9に移行する。一般に日本語の場合、遷移部分の直前の音素は母音であるので、ステップ4−2.9では、管理データ及び歌唱合成スコアに基づいて、先行母音から子音への音韻遷移長pVowel_Consonantを獲得する。獲得の具体的な方法は、ステップ4−2.3における方法と同様である。続いて、ステップ4−2.10において、管理データ及び子音データに基づいて、子音から母音への音韻遷移長Consonant_Vowelを獲得して、必要なデータの獲得が完了する。
【0060】
上記(d)の場合には、ステップ4.2−12に移行し、管理データに基づいて、先行母音から母音への音韻遷移時間長pVowel_Vowelを獲得する。獲得の具体的な方法は、ステップ4−2.3における方法と同様である。
【0061】
次に、図15に示すステップ42−4.4のSilence歌唱長を算出する手法を図17〜18により説明する。
図17はSilence歌唱長の算出の手順を示すフローチャートであり、図18は、Silence歌唱長の概念を説明するものである。
Silence歌唱長とは、図18に示すように、EventState=Attackにおいて、
無音部の一部をなす部分の長さを示している。すなわち、無音時間は、
▲1▼先行母音から無音への音韻遷移時間長の無音部
▲2▼Silence歌唱長
▲3▼無音から子音又は母音への音韻遷移時間長の無音部
の3つの合計からなる。
【0062】
従って、Silence歌唱長は、演奏データ、管理データ、歌唱合成スコアから得られる無音時間の長さ、及び上記▲1▼、▲3▼の情報に基づき演算することができる。
図18に示すように、Silence歌唱長の大きさは、接続される先行音韻と後続音韻の音韻の種類によって異なる。
【0063】
次に、Silence歌唱長の算出の手順を図17に基づいて説明する。最初に、ステップ4.4−1において演奏データ、管理データ、歌唱合成スコアのデータを受信する。続くステップ4.4−2では、管理データの音韻状態PhUStateがConsonant_Vowelか否かが判定される。判定結果が肯定的(YES)であればステップ4.4−3に移行する。判定結果が否定的(NO)であれば、ステップ4.4−3はスキップしてステップ4.4−4に移行する。
【0064】
ステップ4.4−3では、子音歌唱時間を算出する。子音歌唱時間とは、この後続の音韻中に子音が含まれる場合において、その子音の発音が継続される時間を意味する。この子音歌唱時間は、後続音韻の種類によって異なる。これを図18に基づいて説明する。図18(A)は、先行母音(「あ」)−無音−子音「さ」と発音させる場合の音韻トラックTpの状態を、同図(B)は、先行母音(「あ」)−無音−子音「ぱ」と発音させる場合の音韻トラックTpの状態を、同図(C)は、先行母音(「あ」)−無音−後続母音「い」と発音させる場合の音韻トラックTpの状態を示している。図18からわかるように、(B)の場合は子音歌唱時間が短く、(C)の場合には当然ながら子音歌唱時間は無い。従って、後続音韻が母音のみの場合には、ステップ4.4−2によりステップ4.4−3がスキップされる。
【0065】
次に、ステップ4.4−4において、Silence歌唱長の大きさを算出する。なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率(Consonant Modulation)によって変化する。図19は、このことを説明するための図である。
図19(A)は、歌唱子音伸縮率が1より大きい場合である。この場合、無音から子音への音韻遷移Sil_Cの子音長と、子音から母音への音韻遷移C_Vの子音長との和に歌唱子音伸縮率を掛け合わせたものをConsonant歌唱長として加算することにより、子音歌唱時間を伸長する。
【0066】
一方、図19(B)は、歌唱子音伸縮率が1より小さい場合である。この場合、
Sil_Cの子音長と、子音から母音への音韻遷移C_Vの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【0067】
〔ステップ42−4−5(先行Vowel歌唱長算出)〕
次に、ステップ42−4−5における先行Vowel歌唱長の算出の手法を、図20及び図21を用いて詳細に説明する。この先行Vowel歌唱長とは、先行音韻と後続音韻が無音を挟まず連続している状態(EventState=Transition)の場合において、その先行音韻の母音部分の歌唱時間(以下、先行母音歌唱時間と称す)を伸縮するために設定される時間の長さを意味する。
【0068】
先行音韻と後続音韻との間の時間から、後続音韻の子音部分が歌唱される時間(以下、子音歌唱時間と称す)を差し引いた部分が先行母音歌唱時間である(図21参照)。従って、設定されるべき先行母音歌唱時間の長さは、子音歌唱時間に基づいて決定される。なお、本実施の形態では、この先行母音歌唱時間の長さの決定は、この先行母音歌唱時間の一部としての先行Vowel歌唱長を伸縮することにより行われる。
【0069】
例えば、図21(A)は、先行音韻pV「a」に続いて、後続音韻として「sa」(子音と母音の組合せ)が発音された場合を、同(B)は先行音韻pV「a」に続いて、後続音韻「pa」(子音と母音の組合せ)が発音された場合を、同(C)は先行音韻pV「a」に続いて、後続音韻「i」(母音のみ)が発音された場合を示している。
前2者の場合には、子音歌唱時間が存在するが、(A)のそれのほうが(B)のそれよりも長い。このため、先行母音歌唱時間も、(A)の場合の方が(B)の場合に比して短くなる。(C)の場合には、子音歌唱時間が存在しないので、先行母音歌唱時間は最大となる。
【0070】
なお、子音歌唱時間は、演奏データに含まれる歌唱子音伸縮率(Consonant Modulation)によって変化する。図22は、このことを説明するための図である。
図22(A)は、歌唱子音伸縮率が1より大きい場合である。この場合、先行音韻から後続音韻(この図では子音と母音の組合せ)への音韻遷移pV_Cの子音長と、子音から母音への音韻遷移C_Vの子音長との和に歌唱子音伸縮率を掛け合わせたものをConsonant歌唱長として加算することにより、子音歌唱時間を伸長する。
一方、図22(B)は、歌唱子音伸縮率が1より小さい場合である。この場合、
pV_Cの子音長と、子音から母音への音韻遷移C_Vの子音長との双方に歌唱子音伸縮率を掛け合わせることにより、子音歌唱時間を短縮する。
【0071】
ステップ42−4.6のVowel歌唱長算出の処理を図23及び図24を用いて説明する。Vowel歌唱長は、「次の演奏データとの間に無音が挿入される」という仮定の下、仮定が真実であった場合に後続音韻の母音の後に接続され、真実でなかった場合には破棄されるものである。
Vowel歌唱長を算出するには、まず、演奏データ、管理データ、歌唱合成スコアのデータを受信し(ステップ4.6−1)、これらの受信データに基づいてVowel歌唱長を算出する(ステップ4.6−2)。この算出方法を図24により説明する。最初に、現演奏データ(X_V、なお、Xは無音、子音、先行母音のいずれでも可)と次の演奏データ(図示せず)との間に無音(Sil)が挿入される、と仮定する。
【0072】
この仮定の下では、X_Vから無音Silまでの間の母音Vの歌唱時間(母音歌唱時間)は、▲1▼X_Vの母音Vの歌唱時間長、▲2▼Vowel歌唱長、▲3▼V_Silの母音Vの歌唱時間長の和となる。V_Sil内のVとSilの境界が実歌唱終了時刻(Current Note Off)と一致させた後、これにより決定した母音歌唱時間に基づき、Vowel歌唱長が算出される。
【0073】
次の演奏データを受信したとき、現演奏データとの間の接続状態(EventState)が判明し、上記の仮定が真実であったか否かが明らかになる。
真実であった場合(EventState=Attack)には、算出されたVowel歌唱長は更新されずそのまま使用される。真実でなかった場合(EventState=Transition)には、前述のステップ4.5−4によって先行Vowel歌唱長が算出される。
【0074】
〔ピッチモデル形成〕
次に、ピッチモデルを形成する手順について、図25〜41を用いて説明する。
本実施の形態においてピッチモデルとは、音高トラックTiにおいて、音高の不連続な変化を連続的な変化に変換するための連続曲線モデルのことである。
音韻の変化の前後においては音高変化曲線が不連続となっているので、この音韻変化点においてピッチモデルを音高トラックTiに付与することにより、音高の変化が滑らかとなり、合成される歌唱音声の自然性が高められる。
【0075】
本実施の形態のピッチモデルは、その付与される位置との関係により、立ち上がり部ピッチモデル、遷移部ピッチモデル、立下り部ピッチモデルの3つに大別される。
【0076】
立ち上がり部ピッチモデルとは、音韻が無音から有声音に遷移するAttack部分において、音高をある値から該有声音の音高(以下、これをカレントピッチ(Current Pitch)という)へ緩やかに移行させる曲線であり、基本的には正の傾きを有する。
【0077】
遷移部ピッチモデルとは、音韻がある有声音から別の有声音へ遷移するtransition部分において、音高を先行音韻の音高から後続音韻の音高へと緩やかに移行させる曲線モデルである。
【0078】
立下がり部ピッチモデルとは、音韻がある有声音から無音に遷移するrelease部分において、音高をカレントピッチからある値へ緩やかに移行させる曲線である。
【0079】
図25は、このピッチモデルの形成手順を示すフローチャートである。
演奏データ、管理データ及び歌唱合成スコアを取得した後、ステップ50において、その取得されたデータ部分のEventState=Attackであるか否かが判断される。
判定が肯定的(YES)であればステップ51へ、否定的(NO)であればステップ52へ移行する。ステップ51では、立ち上がり部ピッチモデルを算出する。
ステップ52では、遷移部ピッチモデルを算出する。
【0080】
このステップ51又は52が終了すると、次にステップ53において立下り部ピッチモデルを形成する。なお、処理中の現演奏データに係る音韻と、後続の演奏データに係る音韻との間に無音が存在しない場合には、この立下り部ピッチモデルは不要となり破棄される。
【0081】
ステップ51−53が完了すると、ステップ54により、作成されたピッチモデルが音高トラックTiに記憶されている音高変化曲線に付与され、これにより音韻の変化する時点における音高の変化が自然なものとなる。
【0082】
以下、ステップ51、52,53での処理の詳細を説明する。
【0083】
〔ステップ51(立ち上がり部ピッチモデル形成)〕
このステップ51では、無音(Sil)に続く音素が、無声子音か、有声子音か、母音のみか、3音素連鎖かにより、ピッチモデルを付与する位置を変化させている。これを図26−29により説明する。
ここで、図26−29において、103は音韻データ列を示しており、Silは無音、Cは子音、Vは母音を表わしている。Sil、C、Vを囲む実線は音韻の境界を、点線は音素の境界を示している。例えば、左から2番目のSilと左から3番目のCとは、実線の長方形で囲われ、1つの音韻遷移(無音から無声子音への遷移)を構成していることを示しており、また、SilとCの間の点線は、無音と無声子音の境界を示している。
【0084】
図26は、無音から無声子音と母音の組合せ(例:sa)に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、無声子音C_Vの子音部Cが終了した時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる。なお、ピッチモデルには、その始端部と終端部にそれぞれオーバーシュート部101、102が付加されている。オーバーシュート部101、102の高さはvalue1、value2により規定される。また、オーバーシュート部101,102の幅は、それぞれDuration1、Duration2により規定される。
また、オーバーシュート部102の始端部からオーバーシュート部101の始端部までの長さをSlope Durationと称する。この点は、遷移部ピッチモデル、立下り部ピッチモデルでも同様である。
【0085】
図27は、無音から有声子音と母音の組合せ(例:ga)に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、無声から有声子音への遷移部Sil_Cの子音部Cの発音が開始された時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる。
【0086】
図28は無音から母音(例:a)に遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合、母音V(例えばa)の発音が開始された時点をピッチモデルの始点とし、所定の傾きを付与してカレントピッチへ接続させる
【0087】
図29は無音Silから3音素連鎖Sil_CVに遷移する場合に付与される立ち上がり部ピッチモデルの例である。この場合には、オーバーシュート部102の始端部を3音素連鎖のSilとCVの境界位置に合わせ、オーバーシュート部101の始端部を3音素連鎖の終端部に合わせる。
【0088】
このように、本実施の形態では、音韻が変化する時点において、前後の音韻がどのように変化するかによって、ピッチモデルを付与する位置を変化させている。これにより、合成される歌唱音声の自然性が高められる。
【0089】
また、このステップ51では、カレントピッチの大きさにより、付与するピッチモデルの形状を変化させている。基本的には、カレントピッチが小さい場合には緩いカーブのピッチモデルを、カレントピッチが大きい場合には比較的急なカーブのピッチモデルを付与するようにする。このため、例えば、図30に示すように、ピッチモデル付与用のパラメータ群を記憶したテーブルを、異なるカレントピッチごとに予めROM14等に保存しておく。すなわち、このパラメータ群は、図30に示すように、現演奏データの音高(カレントピッチ(Current Pitch))がP0(最小),・・・PN(最大)と異なる毎に異なる値のValue1、Value2、Duration1、Duration2、Slope Durationを保持している。
【0090】
また、Slope Durationの部分を所定の間隔(例:0.00、0.10、0.25、・・・1.00)で分割し、各分割点での縦軸方向の大きさをPositionで示している。このPositionも、カレントピッチの値が異なる毎に異なる値を与えられている。Positionの値P0(0),P0(1)・・・P0(j)(又はPN(0),PN(1),・・・PN(j))は、図31に示すように、各分割点における音高と、カレントピッチP0(又はPN)との差を示している。
【0091】
なお、図30に示すパラメータを、外部記憶装置24等に記憶させておくこともできる。例えば、ユーザが任意に編集したテ−ブルをCD−ROM等に記憶させて、これを外部記憶装置24から読み込むことによりピッチモデルを形成するようにしてもよい。また、ユーザが編集したテーブルをMIDIインターフェース30により、外部から取得してもよい。
【0092】
次に、このステップ51の具体的な手順を説明する。
まず、現演奏データの音韻状態PhUStateに基づき、ピッチモデルの付与を開始する位置を決定する。
次に、現演奏データに基づきカレントピッチのデータを読み出して、このカレントピッチに合致するパラメータをROM14に記憶されたテーブル(図30)から読み出す。
【0093】
カレントピッチの大きさがROM14に記憶されたテーブル(図30)の最大値PNよりも大きい場合には、カレントピッチはPNであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
逆に、カレントピッチの大きさがテーブル(図30)の最小値P0よりも小さい場合には、カレントピッチはP0であるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【0094】
また、カレントピッチの大きさが、テーブル(図30)の飛び飛びの値PMとPM−1との間の大きさである場合には、これらPMに関するパラメータと、PM−1に関するパラメータを補完して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。
【0095】
こうしてピッチモデルの形状が決定すると、このピッチモデルをすでに決定された開始位置に当てはめ、これにより音高変化曲線になだらかな変化を加える。
【0096】
〔ステップ52(遷移部ピッチモデル形成)〕
次に、ステップ52の遷移部ピッチモデルの形成の具体的な処理を説明する。ステップ51の立ち上がり部ピッチモデルの形成では、現演奏データのカレントピッチのみに基づきピッチモデルを決定していた。これに対し、このステップ52では、遷移部に先行する先行演奏データの音高(Previous Pitch)と、後続の現演奏データの音高(Current Pitch)との差に基づき、ピッチモデルの形成を行う。
【0097】
また、このステップ52でも、現演奏データの音韻の種類(無声子音、有声子音、母音のみ、3音素連鎖など)に応じて、ピッチモデルの付与を開始する位置を変化させている。
例えば、現演奏データが無声子音と母音の組合せである場合には、図32に示すように、その無声子音の開始時間をピッチモデルの開始時間とする。すなわち、オーバーシュート部102の終端部が、無声子音の開始時間に合致するように、遷移部ピッチモデルの位置を合わせこむ。
【0098】
また、現演奏データが有声子音と母音の組合せである場合には、さらに当該有声子音部分の長さC_V.Fromが十分な長さを有している場合(図33)と、十分な長さを有していない場合(図34)とで処理を異ならせている。前者の場合には、図33に示すようにオーバーシュート部102の終端部を後続音韻(C_V)の子音Cの開始位置に合わせるとともに、オーバーシュート部101の始端部を後続音韻(C_V)の子音Cと母音Vの境界位置に合わせる。
【0099】
一方、後者の場合には、図34に示すように、オーバーシュート部101の始端部を後続音韻(C_V)の子音Cと母音Vの境界位置に合わせるが、オーバーシュート部102の終端部の位置は、ROM14に記憶されたテ−ブル内のSlope Durationに基づいて決定する。すなわち、オーバーシュート部101の始端部からSlope Durationの長さの分だけ左方向へ移動した位置をオーバーシュート部102の終端部とする。
【0100】
また、現演奏データが母音のみからなる場合には、図35に示すように、先行音韻の母音pVと後続音韻の母音Vへの音韻遷移部のpVとVの境界位置をオーバーシュート部101の始端部とする。オーバーシュート部102の終端位置はテ−ブル内のSlope Durationにより決定する。
【0101】
また、先行演奏データの音高と、後続の現演奏データの音高とが同一である場合には、図36に示すように、オーバーシュート部102のデータvalue2、Duration2のデータのみを利用し、オーバーシュート部102のみを付加する。図36において、(a)は現演奏データが子音と母音の組合せである場合を示し、(b)は現演奏データが母音のみである場合を示しているが、どちらも処理の内容は同一である。
【0102】
また、3音素連鎖の場合には、図37に示すように、オーバーシュート部101の始端部を3音素連鎖(VCV)のVとCVの境界位置に合わせる。
【0103】
図38は、上述のような遷移部ピッチモデル付与用のパラメータ群を記憶したテーブルであり、図30に示す立ち上がり部ピッチモデル付与用のパラメータ群を記憶したテーブルと同様、異なるカレントピッチごとに予めROM14等に保存される。
前述したように、遷移部ピッチモデルは、前述のように先行演奏データの音高Previous pitchとカレントピッチ(CurrentPitch)の差ΔNによって決定される。
ΔNがROM14にパラメータ群として保存されている最大値ΔNmaxよりも大きい場合には、ΔN=ΔNmaxであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
逆に、ΔNが最小値ΔNminよりも小さい場合には、ΔN=ΔNminであるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【0104】
また、ΔNが、保存されている飛び飛びの値ΔNmとΔNm-1との間の大きさである場合には、これらΔNmに関するパラメータと、ΔNm-1に関するパラメータを補間して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。
【0105】
遷移部ピッチモデル付与用のテーブルは(図38)は、異なるΔN毎に異なる値のValue1、Value2、Duration1、Duration2、Slope Durationを保持している。
また、Slope Durationの部分を所定の間隔(例:0.00、0.10、0.25、・・・1.00)で分割し、各分割点での縦軸方向の大きさをPositionで示している。このPositionも、差ΔNの値が異なる毎に異なる値を与えられている。図39は、テーブル(図38)で与えられるパラメータの意義を表わしている。
【0106】
〔ステップ53(立下り部ピッチモデル形成)〕
このステップ53では、ステップ51とは逆に、有声音から無音へ音韻が変化する場合の立下り部におけるピッチモデルを形成する。
ステップ51の立ち上がりピッチモデル形成の場合には、無音に続く音韻の種類によりピッチモデルの形成位置を変化させていた。これに対し、このステップ53では、母音と無音の接続のみを考慮すれば十分である。一般に日本語の場合、無音の前には母音が存在するためである。
【0107】
図40は無音から母音(例:a)に遷移する場合に付与される立ち下がり部ピッチモデルの例である。この場合、図40(a)に示すように、母音(例えばa)の発音が終了し無音部に移行した時点をピッチモデルの終点とし、所定の傾きを付与してカレントピッチへ接続させる。
【0108】
このステップ53では、ステップ51と同様に、カレントピッチの大きさにより、付与するピッチモデルの形状を変化させる。このため、図40(b)に示すような立下がりピッチモデル付与用のパラメータ群を記憶したテーブルを、異なるカレントピッチごとに予めROM14等に保存しておく。内容は図30の立ち上がり部ピッチモデル付与用のパラメータ群と同様である。
【0109】
次に、このステップ53の具体的な手順を説明する。
まず、現演奏データに基づきカレントピッチのデータを読み出して、このカレントピッチに合致するパラメータをROM14から読み出す。カレントピッチの大きさがROM14に保存されている最大値PNよりも大きい場合には、カレントピッチはPNであるとみなして、対応するパラメータを読み出してピッチモデルを作成する。
【0110】
逆に、カレントピッチの大きさが最小値P0よりも小さい場合には、カレントピッチはP0であるとみなして対応するパラメータを読出し、ピッチモデルを作成する。
【0111】
また、カレントピッチの大きさが、保存されている飛び飛びの値PMとPM−1との間の大きさである場合には、これらPMに関するパラメータと、PM−1に関するパラメータを補間して新しいパラメータを生成した後、生成したパラメータに基づいてピッチモデルを作成する。こうしてピッチモデルの形状が決定すると、このピッチモデルをすでに決定された開始位置に当てはめ、これにより音高変化曲線になだらかな変化を加える。
【0112】
(第2の実施の形態)
次に、本発明の第2の実施の形態を図42、43により説明する。装置全体の構成、処理の概略等は、図1,2等に示すのと同一である。第1の実施の形態では、カレントピッチの大きさの変化に応じてピッチモデルの形状を変化させていたが、この変形例では、カレントピッチに加えて歌唱音速さ(MIDIのベロシティ(Velocity)と同義)を参照してピッチモデルを形成してもよい。この第2の実施の形態のピッチモデルを形成するためのパラメータ群の一例を図42に示す。図42に示すように、この第2の実施の形態では、カレントピッチ(P0、・・・PN)及び歌唱音速さVelocity(Ve0、・・・Vej)の組合せによりValue1、Value2、Duration1、Duration2、Slope Duration、Position等のパラメータの値を変化させている。
【0113】
この第2の実施の形態によると、例えばカレントピッチが等しくても歌唱音速さVelocityが異なれば、付与されるピッチモデルの形状が変化することになる。図43は、カレントピッチがP0で歌唱音速さVelocityがVe0の場合において付与されるピッチモデル104と、カレントピッチが同じくP0で歌唱音速さがVej(>Ve0)の場合において付与されるピッチモデル105とを示している。図43に示すように、歌唱音速さVelocityが大きい場合には、より傾きの大きいピッチモデルが付与される。これにより、より自然な歌唱音を合成することができる。
【0114】
(変形例)
この発明は、上記した実施の形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
(1)上記実施の形態では、カレントピッチ又は歌唱音速さに合致したパラメータ群をROM14から読出し、この読出し値に基づきピッチモデルを形成していた。このため、カレントピッチ等が等しい限り、付与されるピッチモデルの形状は、歌唱位置の如何に拘わらず一定となる。この読出し値に、乱数等によって与えられる値を加算して、ピッチモデルの形状にゆらぎを与えることができる。
【0115】
例えば、図44に示すように、読み出されたValue1、Value2、Duration1、Duration2、Slope Durationの値V1-n、V2-n、D1-n、D2-n等に、乱数等によって与えられる値ΔV1、ΔV2、ΔD1、ΔD2等を加算することにより、同じ条件の下でも異なる形状のピッチモデルを形成させることができる。これにより、より自然な歌唱合成が可能になる。
【0116】
(2)上記した実施の形態では、歌唱合成スコアの形成が完了した後、歌唱合成スコアに従って歌唱音声を合成するようにしたが、歌唱合成スコアを形成しつつ形成済みの歌唱合成スコアに従って歌唱音声を合成するようにしてもよい。このためには、例えば演奏データの受信を割込み処理により優先的に行いつつ受信済みの演奏データに基づいて歌唱合成スコアを形成すればよい。
【0117】
(3)上記した実施の形態では、歌唱合成スコアを音韻トラックTp、音高トラックTi、遷移トラックTr、ビブラートトラックTbの4トラックで構成したが、トラック数はこれに限られない。例えば、音韻トラックTpに音高情報も記憶させて音韻トラックTpと音高トラックTiとを合体させてもよいし、全てのトラックを統合して1トラックとしてもよい。
【0118】
【発明の効果】
以上説明したように、本発明によれば、音韻変化時点における音高の変化曲線に適当な傾きを簡易に付与することができ、自然な歌唱音声を簡易に合成することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態に係る歌唱合成システムの全体構成を示す。
【図2】 図1に示す歌唱合成システムにおける歌唱合成手順の概略を示す。
【図3】 図2に示す歌唱合成の結果を時系列的に表現したものである。
【図4】 演奏データに含まれる情報の内容を示す。
【図5】 音韻DB14a内に含まれる情報の内容を示す。
【図6】 音韻遷移DB14b内の情報の内容を示す。
【図7】 状態遷移DB14c内の情報の内容を示す。
【図8】 ビブラートDB14d内の情報の内容を示す。
【図9】 図1に示す歌唱合成システムにより形成される歌唱合成スコアSCの構成の一例を示す。
【図10】 歌唱合成スコアSC内の音韻トラックTpのアイテムを説明する表である。
【図11】 図2に示すフローチャートのステップ40の詳細な手順を示すフローチャートである。
【図12】 図2に示すフローチャートのステップ42の詳細な手順を示すフローチャートである。
【図13】 図12に示すフローチャートのステップ42−3(管理データ作成)の詳細な手順を示すフローチャートである。
【図14】 管理データ作成の方法を示す説明図である。
【図15】 図12に示すフローチャートのステップ42−4(音韻トラックTpの形成)の詳細な手順を示すフローチャートである。
【図16】 図15に示すフローチャートのステップ42−4.2(音韻遷移時間長獲得)の詳細な手順を示すフローチャートである。
【図17】 図15に示すフローチャートのステップ42−4.4(Silence歌唱長算出)の詳細な手順を示すフローチャートである。
【図18】 Silence歌唱長算出の手法を示す説明図である。
【図19】 子音歌唱時間の決定方法を示す説明図である。
【図20】 図15に示すフローチャートのステップ42−4.5(先行Vowel歌唱長の算出)の詳細な手順を示すフローチャートである。
【図21】 先行Vowel歌唱長の算出の手法を示す説明図である。
【図22】 図20に示すフローチャートのステップ4.5−3(子音歌唱時間算出)の手法を示す説明図である。
【図23】 図15に示すフローチャートのステップ42−4.6(Vowel歌唱長の算出)の詳細な手順を示すフローチャートである。
【図24】 Vowel歌唱長の算出の手法を説明するための説明図である。
【図25】 ピッチモデル形成の手順を示すフローチャートである。
【図26】 立ち上がり部ピッチモデルを形成する手法を示す説明図の1つである。
【図27】 立ち上がり部ピッチモデルを形成する手法を示す説明図の1つである。
【図28】 立ち上がり部ピッチモデルを形成する手法を示す説明図の1つである。
【図29】 立ち上がり部ピッチモデルを形成する手法を示す説明図の1つである。
【図30】 立ち上がり部ピッチモデルを形成するためのパラメータ群の構成を示す。
【図31】 図30に示す各パラメータの意義を説明する説明図である。
【図32】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図33】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図34】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図35】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図36】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図37】 遷移部ピッチモデルを形成する手法を示す説明図の1つである。
【図38】 遷移部ピッチモデルを形成するためのパラメータ群を記憶したテーブルの構成を示す。
【図39】 図38に示す各パラメータの意義を説明する説明図である。
【図40】 立下りピッチモデルの説明図、及び立ち下がり部ピッチモデルを形成するためのパラメータ群の構成を示す表である。
【図41】 図40(b)の各パラメータの意義を説明する説明図である。
【図42】 第2の実施の形態によるピッチモデル付与のためのパラメータ群を記憶したテーブルの構成を示す表である。
【図43】 第2の実施の形態によるピッチモデルの付与のされかたを説明する説明図である。
【図44】 本実施の形態の変形例を示す。
【符号の説明】
10・・・バス、 12・・・CPU、 14・・・ROM、 14A・・・歌唱合成DB、16・・・RAM、20・・・検出回路、 22・・・表示回路、 24・・・外部記憶装置、 26・・・タイマ、 28・・・音源回路、 30・・・MIDIインターフェース、34・・・操作子群、 36・・・表示器、 38・・・サウンドシステム、39・・・MIDI機器、 Tp・・・音韻トラック、 Ti・・・音高トラック、 Tr・・・遷移トラック、 Tb・・・ビブラートトラック、101、102…オーバーシュート部
Claims (20)
- 少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、
前記音高情報取得ステップで取得された音高情報に基づき生成した前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップと
を備えたことを特徴とする歌唱合成方法。 - 前記ピッチモデル付与ステップは、前記音高情報取得ステップで取得された音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項1に記載の歌唱合成方法。
- 母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを備えた請求項1又は2に記載の歌唱合成方法。
- 前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを備え、前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項1乃至3のいずれか1項に記載の歌唱合成方法。
- 前記ピッチモデル付与ステップにより傾きを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に備えた請求項1乃至4のいずれか1項に記載の歌唱合成方法。
- 前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与する請求項1乃至4のいずれか1項に記載の歌唱合成方法。
- 前記テーブルをユーザが編集可能とした請求項6に記載の歌唱合成方法。
- 少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力ステップと、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得ステップと、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定ステップと、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得ステップと、
前記音高情報取得ステップで取得された音高情報に基づき生成された前記ピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与ステップと
をコンピュータに実行させるように構成されたことを特徴とする歌唱合成用プログラム。 - 前記ピッチモデル付与ステップは、前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項9又は8に記載の歌唱合成用プログラム。
- 母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力するステップを更に実行させるようにされた請求項8又は9に記載の歌唱合成用プログラム。
- 前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得ステップを更に実行させるように構成され、
前記ピッチモデル付与ステップは、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項8乃至10のいずれか1項に記載の歌唱合成用プログラム。 - 前記ピッチモデル付与ステップにより前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加ステップを更に実行させるように構成された請求項8乃至11のいずれか1項に記載の歌唱合成用プログラム。
- 前記ピッチモデル付与ステップは、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記ピッチモデルを付与する請求項8乃至12に記載の歌唱合成用プログラム。
- 少なくとも音韻を表わす音韻情報と音高を表わす音高情報と歌唱開始時刻を表わす時刻情報とを含む演奏データを入力する入力手段と、
前記演奏データ間の接続状態が立ち上がり部であるか遷移部であるかを示す接続状態情報及び前記音韻情報が切り替わる音韻変化時点における音韻の変化のしかたに関する音韻状態情報を取得する音韻状態情報取得手段と、
前記接続状態情報及び前記音韻状態情報に基づき、前記演奏データに含まれる音高を変換するための変化曲線を表すピッチモデルの付与を開始する位置を決定する開始位置決定手段と、
該音韻変化時点に先行する時点又は後続する時点における音高情報を取得する音高情報取得手段と、
前記音高情報取得手段で取得された音高情報に基づき生成したピッチモデルを、前記決定したピッチモデルの付与を開始する位置を開始点として、前記音韻変化時点における音高変化曲線に付与するピッチモデル付与手段と
を備えたことを特徴とする歌唱合成装置。 - 前記ピッチモデル付与手段は、前記音高情報取得手段により取得された前記音高情報の大きさに応じて付与する前記ピッチモデルにおける音高の傾きの大きさを変化させる請求項14に記載の歌唱合成装置。
- 母音部分の歌唱開始時刻を、前記演奏データのノートオン信号の発生時刻と一致させて合成歌唱音声として出力する出力手段を備えた請求項14又は15に記載の歌唱合成装置。
- 前記音韻変化時点に先行する時点又は後続する時点における歌唱音速さ情報を取得する歌唱音速さ情報取得手段を備え、
前記ピッチモデル付与手段は、前記歌唱音速さ情報をも参照して前記ピッチモデルを付与する請求項14乃至16のいずれか1項に記載の歌唱合成装置。 - 前記ピッチモデル付与手段により前記ピッチモデルを付与された音高変化曲線にゆらぎを付加するゆらぎ付加手段を更に備えた請求項16乃至20のいずれか1項に記載の歌唱合成装置。
- 前記ピッチモデル付与手段は、前記音韻状態情報及び前記音高情報の大きさが異なる毎に異なるパラメータを対応させて記憶するテーブルに基づき前記傾きを付与する請求項14乃至18のいずれか1項に記載の歌唱合成装置。
- 前記テーブルをユーザが編集可能とした請求項19に記載の歌唱合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002244241A JP4026446B2 (ja) | 2002-02-28 | 2002-08-23 | 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002054486 | 2002-02-28 | ||
JP2002-54486 | 2002-02-28 | ||
JP2002244241A JP4026446B2 (ja) | 2002-02-28 | 2002-08-23 | 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003323188A JP2003323188A (ja) | 2003-11-14 |
JP4026446B2 true JP4026446B2 (ja) | 2007-12-26 |
Family
ID=29552148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002244241A Expired - Fee Related JP4026446B2 (ja) | 2002-02-28 | 2002-08-23 | 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4026446B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4839891B2 (ja) * | 2006-03-04 | 2011-12-21 | ヤマハ株式会社 | 歌唱合成装置および歌唱合成プログラム |
JP5293460B2 (ja) * | 2009-07-02 | 2013-09-18 | ヤマハ株式会社 | 歌唱合成用データベース生成装置、およびピッチカーブ生成装置 |
JP5879682B2 (ja) * | 2010-10-12 | 2016-03-08 | ヤマハ株式会社 | 音声合成装置及びプログラム |
JP2013164609A (ja) * | 2013-04-15 | 2013-08-22 | Yamaha Corp | 歌唱合成用データベース生成装置、およびピッチカーブ生成装置 |
JP6171711B2 (ja) | 2013-08-09 | 2017-08-02 | ヤマハ株式会社 | 音声解析装置および音声解析方法 |
JP6260565B2 (ja) * | 2015-03-25 | 2018-01-17 | ブラザー工業株式会社 | 音声合成装置、及びプログラム |
-
2002
- 2002-08-23 JP JP2002244241A patent/JP4026446B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003323188A (ja) | 2003-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3879402B2 (ja) | 歌唱合成方法と装置及び記録媒体 | |
EP3588485B1 (en) | Electronic musical instrument, electronic musical instrument control method, and storage medium | |
EP3886084B1 (en) | Electronic musical instrument, electronic musical instrument control method | |
US11545121B2 (en) | Electronic musical instrument, electronic musical instrument control method, and storage medium | |
CN111696498B (zh) | 键盘乐器以及键盘乐器的计算机执行的方法 | |
JP4026446B2 (ja) | 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム | |
JP3728173B2 (ja) | 音声合成方法、装置および記憶媒体 | |
JP3518253B2 (ja) | データ編集装置 | |
JP3963141B2 (ja) | 歌唱合成装置、歌唱合成用プログラム及び歌唱合成用プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
WO2020217801A1 (ja) | オーディオ情報再生方法および装置、オーディオ情報生成方法および装置、並びにプログラム | |
JP4631726B2 (ja) | 歌唱合成装置及び記録媒体 | |
JP2001042879A (ja) | カラオケ装置 | |
JP5106437B2 (ja) | カラオケ装置及びその制御方法並びにその制御プログラム | |
JP6406182B2 (ja) | カラオケ装置、及びカラオケシステム | |
JP7276292B2 (ja) | 電子楽器、電子楽器の制御方法、及びプログラム | |
JP7456430B2 (ja) | 情報処理装置、電子楽器システム、電子楽器、音節進行制御方法及びプログラム | |
JP4432834B2 (ja) | 歌唱合成装置および歌唱合成プログラム | |
JP4305022B2 (ja) | データ作成装置、プログラム及び楽音合成装置 | |
JPH1049192A (ja) | 歌唱音合成装置 | |
JPH03203800A (ja) | 音声合成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070614 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070918 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |