(57)【特許請求の範囲】
【請求項１】
各種の音声素片を示す音声素片データを記憶する音声素片データベースと、
曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、
前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを前記音声素片データベースから読み出す素片選択手段と、
周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、局所的ピーク近傍の周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、
前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段と
を具備することを特徴とする歌唱合成装置。
【請求項２】
前記ピッチ変換手段は、前記ピッチ変換において、
（ａ）前記歌唱合成スコアにより指定されたピッチに対応した周波数の前記音声素片データのピッチに対応した周波数に対する比をピッチ変換比ｋとし、
（ｂ）前記音声素片データの振幅スペクトルの中から少なくとも２つの局所的ピークである第１ピークスペクトルおよび前記第１ピークスペクトルに対する周波数である第１周波数よりも高い第２周波数を有する第２ピークスペクトルを選択し、
（ｃ）前記第１ピークスペクトルが、前記第１周波数に前記ピッチ変換比ｋを乗じて得られる周波数であるピッチ変換後第１周波数に対する振幅スペクトルとなるように、前記第１ピークスペクトルを周波数軸上で移動し、
（ｄ）前記第１周波数を含む所定の周波数領域である第１周波数領域の各振幅スペクトルが、前記各振幅スペクトルに対する周波数から前記第１周波数を減じた値に前記ピッチ変換比ｋよりも１に近い局所変換比ｍを乗じた値を前記ピッチ変換後第１周波数に加えることにより得られる周波数の振幅スペクトルとなるように、前記第１周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸長し、
（ｅ）前記第２ピークスペクトルが、前記第２周波数に前記ピッチ変換比ｋを乗じて得られる周波数であるピッチ変換後第２周波数に対する振幅スペクトルとなるように、前記第２ピークスペクトルを周波数軸上で移動し、
（ｆ）前記第２周波数を含む所定の周波数領域である第２周波数領域の各振幅スペクトルが、前記各振幅スペクトルに対する周波数から前記第２周波数を減じた値に前記局所変換比ｍを乗じた値を前記ピッチ変換後第２周波数に加えることにより得られる周波数の振幅スペクトルとなるように、前記第２周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸長し、
（ｇ）前記第１周波数領域と前記第２周波数領域との間の中間周波数領域の各振幅スペクトルが、圧縮または伸張された前記第１周波数領域の各振幅スペクトルの分布領域と圧縮または伸張された前記第２周波数領域の各振幅スペクトルの分布領域の間の周波数領域の各振幅スペクトルとなるように、前記第１周波数領域と前記第２周波数領域との間の中間周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸張することを特徴とする請求項１に記載の歌唱合成装置。
【請求項３】
前記音声素片データベースに記憶される音声素片データは、母音の伸ばし音の音声素片の音声素片データと音素から他の音素へ遷移する音声素片の音声素片データを含み、
前記歌唱合成スコア生成手段は、音声素片における母音部の開始タイミングが音符の開始タイミングとなるように、前記音声素片の発生タイミングを決定することを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項４】
音韻の遷移の形態毎にピッチの変化の態様を示すピッチモデルを記憶する手段を具備し、
前記歌唱合成スコア生成手段は、音符の切り換わり部において、その時点における音韻の遷移の形態に対応したピッチモデルを使用して、前記歌唱音声のピッチを示す情報にピッチの動きを付与することを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項５】
前記歌唱合成スコア生成手段は、１つの音符の区間内において歌唱音声のピッチの軌道の通過点となる３種類の制御点の相対的な位置を定めるデータに従い、曲を構成する音符毎に、歌唱音声のピッチの軌道の通過点となる制御点を設定し、これらの各制御点を通過する軌道を求め、該軌道に沿ってピッチを変化させるように、前記歌唱音声のピッチを示す情報を生成することを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項６】
前記ピッチ変換手段は、前記音声素片データが示す音声素片のピッチと、前記歌唱合成スコアにより指定されるピッチとの比をピッチ変換比ｋとし、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、元の局所的ピークの周波数のｋ倍の周波数における局所的ピークとなるように前記周波数軸方向の圧縮または伸張処理を行うことを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項７】
前記音声素片データベースに記憶された音声素片データは、音声素片の代表的なピッチを示す素片ピッチデータを含んだコーラス音用の音声素片データを含み、
前記ピッチ変換手段は、前記コーラス音用の音声素片データにピッチ変換を施す場合には、該音声素片データに含まれる素片ピッチデータが示す代表的なピッチを前記音声素片のピッチとして前記ピッチ変換比ｋを決定することを特徴とする請求項６に記載の歌唱合成装置。
【請求項８】
前記ピッチ変換手段は、前記振幅スペクトルの周波数軸方向の圧縮または伸張処理に対応させて前記音声素片データが示す音声素片の位相スペクトルに補正処理を施し、ピッチ変換後の音声素片の位相スペクトルを求めることを特徴とする請求項１、２、６または７のいずれか１の請求項に記載の歌唱合成装置。
【請求項９】
前記素片連結手段は、音声素片の切り換わり点近傍において音声素片の音の特徴を決定する特徴パラメータが滑らかに変化するように前記切り換わり点近傍の波形データにクロスフェードを施す第１のスムージング処理を実行することを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項１０】
前記素片連結手段は、音素から音素への遷移部分の音声素片を前後に持った伸ばし音の音声素片の波形データが前記ピッチ変換手段から出力された場合に、その伸ばし音部分における音の特徴を決定する特徴パラメータが、その伸ばし音部分に先行する遷移部分の波形データから求められる特徴パラメータとその伸ばし音部分に続く遷移部分の波形データから求められる特徴パラメータとを時間補間した特徴パラメータとなるように、伸ばし音部分の波形データの調整を行う第２のスムージング処理を実行することを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項１１】
前記特徴パラメータが前記波形データが示す音声素片のスペクトル包絡であることを特徴とする請求項９または１０に記載の歌唱合成装置。
【請求項１２】
前記特徴パラメータが前記波形データが示す音声素片の振幅スペクトルにおける局所的ピーク近傍の振幅スペクトル分布であることを特徴とする請求項９または１０に記載の歌唱合成装置。
【請求項１３】
前記素片連結手段は、前記ピッチ変換手段から出力される波形データを時間領域のデジタル音声信号に変換し、音声素片の切り換わり点近傍において前記デジタル音声信号のクロスフェードを行うことを特徴とする請求項１または２に記載の歌唱合成装置。
【請求項１４】
コンピュータを、
曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、
前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを音声素片データベースから読み出す素片選択手段と、
周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、局所的ピーク近傍の周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行い、前記音声素片データが示す音声素片の振幅スペクトルの周波数軸方向の圧縮または伸張処理を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、
前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歌唱音の合成を行う歌唱合成装置および歌唱合成プログラムに関する。
【背景技術】
【０００２】
一般に歌唱合成では、単一の音素や音素から音素への遷移部分など、歌唱音声の素材となる各種の音声素片の波形を定義した音声素片データを予めデータベース化しておく。そして、ある歌詞をあるメロディに合わせて歌唱する歌唱音声を合成する際には、データベースから歌詞を構成する音声素片に対応した音声素片データを選択して読み出して接続し、それらの音声素片データに対し、各々のピッチをメロディに合わせるためのピッチ変換を施し、歌唱音声の波形を示すデータを合成する。
【０００３】
この種の歌唱合成技術として、特許文献１や特許文献２等により公知のＳＭＳ（Ｓｐｅｃｔｒａｌ  Ｍｏｄｅｌｉｎｇ  Ｓｙｎｔｈｅｓｉｓ）を利用した技術がある。このＳＭＳを利用した歌唱合成技術では、次のようにして音声素片データのデータベースを作成する。まず、ＳＭＳ分析処理を行う。このＳＭＳ分析処理では、様々な音声素片を含んだ入力音声信号を一定時間長のフレームに区分し、各フレーム毎にＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）等を行うことにより１組の強度（マグニチュード）スペクトルを生成し、各フレーム毎に１組の強度スペクトルから複数のピークに対応する線スペクトルを抽出する。これらの線スペクトルの振幅値および周波数を表わすデータを調和成分（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｃｏｍｐｏｎｅｎｔ）のデータと称する。次に、入力音声波形のスペクトルから調和成分のスペクトルを差引いて残差スペクトルを得る。この残差スペクトルを非調和成分（Ｓｔｏｃｈａｓｔｉｃ  Ｃｏｍｐｏｎｅｎｔ）と称する。次に区間切り出し処理を行う。この区間切出し処理では、ＳＭＳ分析処理で得られた調和成分のデータおよび非調和成分のデータを音声素片に対応して区分し、各音声素片毎に調和成分のデータおよび非調和成分のデータからなる音声素片データをデータベースに格納するのである。
【０００４】
そして、歌唱合成の際には、歌詞を構成する音素列に音素列／音声素片変換処理を施して音素列を音声素片に区分し、音声素片毎にそれに対応する音声素片データをデータベースから読み出す。次に、読み出した音声素片データ（調和成分のデータおよび非調和成分のデータ）に音声素片連結処理を施して音声素片データ同士を発音順に接続する。次に、音声素片毎に調和成分のデータをメロディの音符に適合した新たな調和成分のデータに変換するピッチ変換を行う。このピッチ変換では、調和成分の周波数が目的とするピッチに対応した周波数となるように周波数軸方向に調和成分の圧縮または伸張を行い、かつ、新たな調和成分のデータが表すスペクトル包絡が元の調和成分のデータが表わすスペクトル包絡の形状をそのまま引継ぐようにスペクトル強度を調整する。そして、このようにしてピッチ変換を経た調和成分のデータと非調和成分のデータとを音声素片毎に加算する。そして、加算の結果得られるデータに対し、音声素片毎に逆ＦＦＴ等を施し、時間領域の音声信号に変換する。
【０００５】
このようにＳＭＳを利用した歌唱合成技術では、音声素片の調和成分および非調和成分のうち調和成分に関して音色を維持したままピッチをメロディに合わせて変化させ、これを非調和成分と加算してメロディに適合したピッチを持った音声素片を得る。しかしながら、音声素片を厳密に調和成分と非調和成分とに分けることは難しく、非調和成分には、元の音声素片のピッチを反映している調和成分の影響がどうしても残ってしまう。従って、この非調和成分にピッチ変換後の調和成分を加算すると、それにより得られる音声素片は、調和成分と非調和成分の一体感が十分でなく、例えば母音の伸ばし音区間において非調和成分が分離して響き、人工的な音声として聴こえるという問題が生じる。
【０００６】
特許文献２に開示の技術では、このような問題に対処するため、非調和成分のデータが表わす低域の振幅スペクトル分布をメロディのピッチに応じて修正するようにしている。しかし、このように非調和成分のデータを修正しても、非調和成分が分離して響くのを完全に抑えるのは容易でない。また、ＳＭＳ技術には、有音の摩擦音や破裂音等の分析が難しく、合成音が非常に人工的な音になってしまうという問題もある。ＳＭＳ技術は、音声信号が調和成分と非調和成分とから成り立っていることを前提にしているものであり、音声信号を調和成分と非調和成分とに完全に分離できないことは、ＳＭＳ技術にとって根本的な問題といえる。
【０００７】
以上の問題に鑑み、本出願人は、ＳＭＳとは異なる方法により歌唱音声を合成する技術を提案した。この技術は特許文献３に開示されている。この特許文献３に開示の技術では、基本的には以下のようなステップにより歌唱音声を合成する。
（１）合成すべき音声の音声素片に対応する音声波形を周波数分析して周波数スペクトルを検出する。
（２）検出した周波数スペクトル上でスペクトル強度の局所的ピーク（すなわち、倍音に対応したスペクトル）を複数検知する。
（３）各局所的ピーク毎に、各局所的ピークとその前後のスペクトルとを含むスペクトル分布領域を指定し、各スペクトル分布領域毎に振幅スペクトル分布を周波数軸に関して表わす振幅スペクトルを生成する。
（４）各スペクトル分布領域毎に位相スペクトル分布を周波数軸に関して表わす位相スペクトルを生成する。
（５）合成すべき音声についてピッチを指定する。
（６）各スペクトル分布領域毎に振幅スペクトルが表わす振幅スペクトル分布を合成すべき音声のピッチに応じて周波数軸方向に移動する。
（７）上記（６）の振幅スペクトルの修正に対応して、各スペクトル分布領域毎に位相スペクトルが表わす位相スペクトル分布を修正する。
（８）修正された振幅スペクトルおよび修正された位相スペクトルを時間領域の合成音声信号に変換する。
【特許文献１】米国特許第５０２９５０９号
【特許文献２】特開２００２−２０２７９０号公報
【特許文献３】特開２００３−２５５９９８号公報
【特許文献４】特開２００２−２２１９７８号公報
【特許文献５】特開２００２−２０２７８８号公報
【特許文献６】特開２００３−３２３１８８号公報
【特許文献７】特開２００３−２５５９７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献３に開示の技術によれば、音声波形の周波数分析結果を調和成分と非調和成分とに分離しないで音声合成を行なうため、合成される音声において非調和成分が分離して響くことはなくなる。しかし、この技術では、音声素片の全スペクトルの中から各々スペクトル強度の局所的ピークを含む複数のスペクトル分布領域を取り出し、これらのスペクトル分布領域を周波数軸方向に移動することによりピッチ変換を行うので、ピッチ変換（より具体的には元のピッチよりも高いピッチへの変換）後の音声素片のスペクトルは、複数のスペクトル分布領域の各間の中間領域のスペクトルが欠落したものとなる。このため、合成される歌唱音声が不自然なものになる場合があった。
【０００９】
この発明は、以上説明した事情に鑑みてなされたものであり、本来の音声素片が有していた音色を損なうことなく、音符の変化に応じたピッチ変化を有し、かつ、自然感に富んだ歌唱音声を合成することを目的としている。
【課題を解決するための手段】
【００１０】
この発明は、各種の音声素片を示す音声素片データを記憶する音声素片データベースと、曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを前記音声素片データベースから読み出す素片選択手段と、周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、前記音声素片データが示す音声素片の振幅スペクトルの周波数軸方向の圧縮または伸張処理を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段とを具備することを特徴とする歌唱合成装置およびコンピュータをそのような歌唱合成装置として機能させるコンピュータプログラムを提供する。
かかる発明によれば、局所的ピークの近傍のローカルな周波数領域の振幅スペクトル分布の形状およびスペクトル包絡の形状を変えることなく、局所的ピークの周波数を歌唱合成スコアにより指定されたピッチに対応した周波数にすることができる。また、ローカルな周波数領域のみならず、それらの間の中間周波数領域の振幅スペクトルをも含めて周波数軸方向の圧縮または伸張処理を行うようにしているので、ピッチ変換の際に中間周波数領域の振幅スペクトルが損なわれない。従って、音声素片が本来有していた音の特徴を損なうことなく、ピッチ変換を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照し、この発明の実施の形態を説明する。
＜Ａ．実施形態の構成＞
＜＜Ａ−１．全体構成＞＞
図１は、この発明の一実施形態である歌唱合成装置の構成を示すブロック図である。この歌唱合成装置は、音声を出力する機能を有するパーソナルコンピュータなどのコンピュータに対し、歌唱合成プログラムをインストールしたものである。図１において、ＣＰＵ１は、この歌唱合成装置の各部を制御する制御中枢である。ＲＯＭ２は、ローダなど、この歌唱合成装置の基本的な動作を制御するための制御プログラムを記憶した読み出し専用メモリである。表示部３は、装置の動作状態や入力データおよび操作者に対するメッセージなどを表示するための装置である。操作部４は、ユーザからコマンドや各種の情報を受け取るための手段であり、キーボードやマウスなどの各種の操作子により構成されている。インタフェース群５は、ネットワークを介して他の装置との間でデータ通信を行うためのネットワークインタフェースや、磁気ディスクやＣＤ−ＲＯＭなどの外部記憶媒体との間でデータの授受を行うためのドライバなどにより構成されている。ＨＤＤ（ハードディスク装置）６は、各種のプログラムやデータベースなどの情報を記憶するための不揮発性記憶装置である。ＲＡＭ７は、ＣＰＵ１によってワークエリアとして使用される揮発性メモリである。ＣＰＵ１は、操作部４を介して与えられる指令に従い、ＨＤＤ６内のプログラムをＲＡＭ７にロードして実行する。サウンドシステム８は、この歌唱合成装置において合成された音声を出力する手段であり、合成音声のサンプルデータであるデジタル音声信号をアナログ音声信号に変換するＤ／Ａ変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
【００１２】
ＨＤＤ６に記憶される情報として、曲編集プログラム６１と、曲データ６２と、音声素片データベース６３と、歌唱合成プログラム６４がある。曲データ６２は、曲を構成する一連の音符を表す音符データと、音符に合わせて発声する歌詞を表す歌詞データと、曲に音楽的表情を与えるためのダイナミックス情報等のその他の情報からなるデータであり、曲毎に編集されてＨＤＤ６に格納される。曲編集プログラム６１は、曲データを編集するためにＣＰＵ１によって実行されるプログラムである。好ましい態様において、この曲編集プログラム６１は、ピアノの鍵盤の画像からなるＧＵＩ（グラフィカルユーザインタフェース）を表示部３に表示させる。ユーザは、表示部３に表示された鍵盤における所望の鍵の画像を操作部４の操作により指定し、また、その音符に合わせて発声する歌詞を操作部４の操作により入力することができる。曲編集プログラム６１は、このようにして、音符とその音符に合わせて発声する歌詞に関する情報をユーザから操作部４を介して受け取り、音符毎に音符データと歌詞データとを曲データ６２としてＨＤＤ６内に格納する。さらにユーザは操作部４の操作によりダイナミックス情報等を曲データ６２に追加することができる。なお、このように曲データ６２の全てを操作部４の操作により入力させるのではなく、歌唱合成装置に鍵盤を接続し、ユーザによる鍵盤の操作を検知することにより音符データを生成し、この音符データに対応させる歌詞を操作部４の操作により入力させるようにしてもよい。
【００１３】
１個の音符に対応した音符データは、音符の発生時刻、音高、音符の長さを示す各情報を含んでいる。歌詞データは、音符に合わせて発音すべき歌詞を音符毎に定義したデータである。曲データ６２は、曲の開始からの発生順序に合わせて、個々の音符に対応した音符データと歌詞データとを時系列的に並べたものであり、曲データ６２内において音符データと歌詞データは音符単位で対応付けられている。
【００１４】
歌唱合成プログラム６４は、この曲データ６２に従って、歌唱音を合成させる処理をＣＰＵ１に実行させるプログラムである。好ましい態様において、歌唱合成プログラム６４および曲編集プログラム６１は、例えばインターネット内のサイトからインタフェース群５の中の適当なものを介してダウンロードされ、ＨＤＤ６にインストールされる。また、他の態様において、歌唱合成プログラム６４等は、ＣＤ−ＲＯＭ、ＭＤなどのコンピュータ読み取り可能な記憶媒体に記憶された状態で取引される。この態様では、インタフェース群５の中の適当なものを介して記憶媒体から歌唱合成プログラム６４等が読み出され、ＨＤＤ６にインストールされる。
【００１５】
音声素片データベース６３は、ＣＶ（子音から母音への遷移部）、ＶＶ（母音から他の母音への遷移部）、ＶＣ（母音から子音への遷移部）などの音素から音素への遷移部分（Ａｒｔｉｃｕｌａｔｉｏｎ）や母音Ｖの伸ばし音（Ｓｔａｔｉｏｎａｒｙ）など、歌声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。音声素片データベース６３では、男性歌手、女性歌手、澄んだ声の歌手、ハスキーな声の歌手など、声質の異なった歌手毎に、各歌手の歌唱音声波形から得られた音声素片データのグループが用意されている。また、本実施形態では、コーラス用の音声素片データのグループも音声素片データベース６３に格納されている。これは、複数人の歌唱者に同一のメロディを合唱させ、このコーラスの歌唱音声を収録し、その録音波形から各種の音声素片に対応した部分を抽出することにより得られたものである。歌唱合成プログラム６４による歌唱合成の際、ユーザは、操作部４の操作により、以上のような各種の音声素片データのグループの中から歌唱合成に使用する音声素片データのグループを選択することができる。
【００１６】
各音声素片データは、音声素片の波形を示す波形データを含んでいる。この波形データは、音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列であってもよいし、音声素片の波形のサンプル列を一定時間長のフレームに分割し、ＦＦＴ（高速フーリエ変換）を行うことにより得られたフレーム毎のスペクトル（振幅スペクトルおよび位相スペクトル）であってもよい。また、各音声素片データは、音声素片を構成する音素の種類と各音素の開始時刻を示すセグメンテーションデータを含む。
【００１７】
本実施形態では、音声素片データに含まれる波形データにピッチ変換を施して利用することにより、任意のメロディに対応した歌唱音声を合成する。このピッチ変換を行うために、その対象である波形データのピッチに関する情報が必要である（ピッチ変換については後述する）。そこで、ある好ましい態様では、歌唱合成の際のピッチ変換の便宜のため、音声素片の波形のピッチがフレーム毎に算出され、各フレームにおけるピッチを示す素片ピッチデータが音声素片データの一部として音声素片データベース６３に格納される。
【００１８】
他の好ましい態様では、歌唱合成の際の演算処理の便宜のため、上記素片ピッチデータに加えて、音声素片の振幅スペクトルの包絡線がフレーム毎に求められ、各フレームにおけるスペクトル包絡を示すスペクトル包絡データが音声素片データの一部として音声素片データベース６３に格納される。
【００１９】
また、コーラス用の音声素片データには、音声素片を代表するピッチを示す素片ピッチデータが含まれている。ここで、音声素片を代表するピッチとは、例えば複数人による歌唱音声の収録時に使用した楽譜から求められるピッチである。このような音声素片を代表するピッチを示す素片ピッチデータを音声素片データに含めるのは、次の理由による。まず、コーラス用の音声素片データは、複数人が一斉に発声したときの歌唱音声から取り出された複数人分の音声素片の和を示すものである。そして、音声収録時、各人が同じ音符に合わせて同じピッチで発声を行うように努めたとしても、各人の歌唱音声の音声素片のピッチにはどうしてもバラツキが生じる。従って、コーラス音用の音声素片データが示す音声素片の解析を行ったとしてもそのピッチを求めることは困難である。そこで、楽譜から求められるピッチを代表的なピッチとし、そのピッチを示す素片ピッチデータをコーラス用の音声素片データに含めるのである。なお、合唱の収録時には、合唱団全体のピッチが下がる場合がある。そのような場合には、この「ピッチの下がり」を考慮し、音声素片の代表的なピッチを決定する。
【００２０】
＜＜Ａ−２．歌唱合成プログラムの構成＞＞
本実施形態の特徴は、ＣＰＵ１が歌唱合成プログラム６４に従って行う歌唱合成処理の内容にある。図２はこの歌唱合成プログラム６４の構成を示すブロック図である。図２に示すように、歌唱合成プログラム６４は、各々所定の機能を実現するプログラムである歌唱合成スコア生成部６４１と、素片選択部６４２と、ピッチ変換部６４３と、素片連結部６４４とにより構成されている。なお、本実施形態では、ＣＰＵ１が歌唱合成スコア生成部６４１等に相当する各プログラムを実行することにより歌唱音声の合成を行うが、これらの各プログラムを複数のプロセッサが分担して並列実行するように構成してもよい。また、歌唱合成スコア生成部６４１等の各プログラムの一部を電子回路により構成してもよい。
【００２１】
図２において、歌唱合成スコア生成部６４１は、操作部４の操作により指定された曲データ６２から歌唱合成スコア６５０を生成するプログラムである。この歌唱合成スコア６５０は、音韻データトラック６５１と、ピッチデータトラック６５２と、ダイナミックス等のその他の合成パラメータのデータトラック６５３とにより構成される。これらの各データトラックは、時間軸を共通にするものである。音韻データトラック６５１は、１曲分の歌唱音声を合成するのに使用する複数の音声素片と、それらの各音声素片の時間軸上における位置（具体的には音声素片の開始タイミングおよび継続時間）を示すデータトラックである。ピッチデータトラック６５２は、合成すべき歌唱音声のピッチを示すデータトラックである。その他のデータトラック６５３は、ダイナミックス情報などのピッチ以外の合成パラメータを曲の進行に合わせて時系列化したデータトラックである。
【００２２】
歌唱合成スコア生成部６４１は、音韻データトラック６５１を生成するための手段として、音素列／音声素片変換手段と、タイミング合わせ手段とを有している。音素列／音声素片変換手段は、歌詞データが示す音素列を音声素片の列に変換する。通常、音素列において子音−母音−子音というように音韻が変化する場合、音素列／音声素片変換手段は、子音から母音への遷移部分の音声素片ＣＶと、母音の伸ばし音の音声素片Ｖと、母音から子音への遷移部分の音声素片ＶＣとを用いて、ＣＶ−Ｖ−ＶＣなる音声素片列を構成する。例えば歌詞データが示す音素列が［ｓａ−ｉ−ｔａ］である場合、音素列／音声素片変換手段は、これを＃ｓ、ｓ−ａ、ａ、ａ−ｉ、ｉ、ｉ−ｔ、ｔ−ａ、ａ＃という音声素片の列に変換する。ここで、＃ｓは、無音から子音ｓへの遷移部分である音声素片、ｓ−ａは子音ｓから母音ａへの遷移部分である音声素片である。他の音声素片もこれと同じ表記方法による。なお、音素列において子音−母音−子音というように音韻が変化する場合において音符長が短い場合には、音素列／音声素片変換手段は、ＣＶ−ＶＣなる音声素片列への変換を行ってもよい。
【００２３】
タイミング合わせ手段は、歌詞データから得られた各音声素片の発生時刻を決定し、それらの時刻において各音声素片を発生させることを示す音韻データトラック６５１を生成する。その際、歌唱合成スコア生成部６４１は、発生させる音声素片の音声素片データ内のセグメンテーションデータを参照して、音声素片における母音部分の開始時刻を求め、例えば特許文献４または５に開示されているように、音符データが示すノートオンタイミングにおいて音声素片における母音部分の開始されるように各音声素片の発生時刻を決定する。
【００２４】
歌唱合成スコア生成部６４１は、基本的には音符データに従い、また、ビブラートやポルタメント、レガートの指示がある場合にはそれに従い、ピッチデータトラック６５２を生成する。ただし、ピッチデータトラックを音符データ通りのものにすると、ピッチの変化が階段状になり、不自然な歌唱音声になるので、本実施形態では、音符の切り換わり区間においてピッチが自然な動きをするように、ピッチデータトラック６５２が示すピッチに変化を与える。このようなピッチデータトラック６５２の生成方法には各種の態様が考えられるが、その詳細については本実施形態の動作説明において明らかにする。その他のデータトラック６５３は、曲データ６２に含まれるダイナミックス情報等に基づいて作成される。
【００２５】
素片選択部６４２、ピッチ変換部６４３および素片連結部６４４は、歌唱合成スコア６５０に従って歌唱音声の波形を示すデジタル音声信号を生成する役割を担っている。ここで、歌唱合成スコア６５０からデジタル音声信号を生成する処理は、１曲分の歌唱合成スコア６５０の生成が完了した後に開始するようにしても良いし、歌唱合成スコア６５０の生成開始から少し遅れて開始されるようにしても良い。
【００２６】
素片選択部６４２は、歌唱合成スコア６５０の音韻データトラック６５１において指定されている音声素片の音声素片データを音声素片データベース６３からロードし、その波形データをピッチ変換部６４３に引き渡すプログラムである。本実施形態における素片選択部６４２は、音声素片データに含まれる波形データをピッチ変換部６４３に引き渡す際に、その継続時間長を歌唱合成スコア６５０において指定された音声素片の継続時間長に合わせる機能を備えている。
【００２７】
ピッチ変換部６４３は、ピッチデータトラック６５２において指定されたピッチに対応した波形データとなるように、素片選択部６４２から引き渡された音声素片の波形データのピッチ変換を行うプログラムである。さらに詳述すると、例えば音声素片の波形データが音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列である場合、ピッチ変換部６４３は、所定サンプル数からなるフレーム単位でサンプル列のＦＦＴを行い、音声素片の波形の振幅スペクトルおよび位相スペクトルをフレーム毎に求める。そして、ピッチデータトラック６５２において指定されたピッチに対応するように、各フレームにおける振幅スペクトルを周波数軸方向に伸長または圧縮する。その際、基音および倍音に相当する周波数の近傍は、元のスペクトルの概形が保たれるように、非線形な圧縮または伸長を行い、ピッチ変換後の振幅スペクトルとする。また、ピッチ変換後においてもピッチ変換前のスペクトル包絡が維持されるように、非線形な圧縮または伸張を経た振幅スペクトルのレベル調整を行う。位相スペクトルに関しては、元の位相スペクトルをそのままピッチ変換後の位相スペクトルとしてもよいが、振幅スペクトルの周波数軸方向の圧縮または伸張に合わせて補正を行ったものをピッチ変換後の位相スペクトルとする方が好ましい。
【００２８】
素片連結部６４４は、最終的に得られる歌唱音声が一連の音声素片が滑らかに繋がったものとなるように、ピッチ変換部６４３の処理を経た波形データの調整を行い、この調整後の波形データを時間領域のデジタル音声信号に変換するプログラムである。この素片連結部６４４に関しても各種の態様があり得るが、その詳細については本実施形態の動作説明において明らかにする。
【００２９】
＜Ｂ．実施形態の動作＞
以下、本実施形態の動作を説明する。
操作部４の操作により、曲データ６２および歌唱合成に用いる音声素片データのグループの指定が行われると、ＣＰＵ１は、歌唱合成プログラム６４を実行する。その際、歌唱合成プログラム６４の歌唱合成スコア生成部６４１は、曲データ６２から歌唱合成スコア６５０を生成し、素片選択部６４２、ピッチ変換部６４３および素片連結部６４４は、歌唱合成スコア６５０に従って歌唱音声の波形を示すデジタル音声信号を生成する。これらの各処理の詳細は以下に示す通りである。
【００３０】
＜Ｂ１．単独の歌手による歌唱音声を合成する場合＞
＜＜Ｂ１−１．歌唱合成スコアの生成＞＞
歌唱合成スコア生成部６４１は、曲データ６２から歌唱合成スコア６５０の各トラック６５１〜６５３を生成する。以下、音韻データトラック６５１、ピッチデータトラック６５２の順に、それらを生成する動作について説明する。なお、その他のデータトラック６５３を生成する動作については、本発明との関係が薄いのでその説明を省略する。
【００３１】
＜＜Ｂ１−１−１．音韻データトラックの生成＞＞
図３は、音符Ｎ１、Ｎ２、Ｎ３に合わせて音素列［ｓａ−ｉ−ｔａ］を歌唱する場合を例に、歌唱合成スコア生成部６４１が音韻データトラック６５１を生成する過程を示したものである。まず、歌唱合成スコア生成部６４１の音素列／音声素片変換手段は、歌詞データが示す音素列［ｓａ−ｉ−ｔａ］を音声素片の列［＃ｓ、ｓ−ａ、ａ、ａ−ｉ、ｉ、ｉ−ｔ、ｔ−ａ、ａ＃］に変換する。
【００３２】
次に歌唱合成スコア生成部６４１のタイミング合わせ手段は、これらの各音声素片の音声素片データを音声素片データベース６３から読み出し、各音声素片データ内のセグメンテーションデータを参照することにより、各音声素片における母音部分の開始時刻を求める。そして、タイミング合わせ手段は、音声素片の母音部分の開始時刻が音符のノートオンタイミングとなるように各音声素片の発生時刻を決定し、各音声素片を音韻データトラック６５１にマッピングする。図３には、この音声素片のマッピングのなされた音韻データトラック６５１が示されている。図３において音韻データトラック６５１を示すストライプは、縦方向の実線および点線により区切られているが、実線の区切り線は音声素片の境界を示しており、点線の区切り線は音素から音素への遷移部分の音声素片において２つの音素間の境界を示している。図示の例では、タイミング合わせ手段は、音声素片［ｓ−ａ］における母音部分ａの開始タイミングが音符Ｎ１のノートオンタイミングと一致し、音声素片［ａ−ｉ］における後半の母音部分ｉの開始タイミングが音符Ｎ２のノートオンタイミングと一致し、音声素片［ｔ−ａ］における母音部分ａの開始タイミングが音符Ｎ３のノートオンタイミングと一致するように、各音声素片の開始時刻と継続時間長を決定している。このように、タイミング合わせ手段は、音符データが示すノートオンタイミングに音声素片における母音部分の開始点が位置するように各音声素片のマッピング、すなわち、音声素片の開始時刻および継続時間の設定を行う。３つ以上の音素からなる音声素片についても同様である。
【００３３】
＜＜Ｂ１−１−２．ピッチデータトラックの生成＞＞
歌唱合成スコア生成部６４１は、基本的には音符データに従い、また、ビブラートやレガート、ポルタメントの指示がある場合にはその指示に従ってピッチデータトラック６５２を生成するが、人間が行う歌唱に似た自然なピッチ変化を実現するため、音符の切り換わり区間においてピッチデータトラックが示すピッチに自然な動きを与える。この音符の切り換わり部におけるピッチの動きを付与する処理の態様として、例えば以下説明するピッチモデルを使用する態様と、制御点を使用する態様がある。
【００３４】
＜＜＜Ｂ１−１−２−１．ピッチモデルを使用する態様＞＞＞
この態様は、本出願人による先願である特許文献６に開示された態様である。この態様においてピッチモデルとは、ピッチデータトラック６５２において、ピッチの不連続な変化を連続的な変化に変換するための連続曲線モデルのことである。ピッチモデルは、その付与される位置との関係により、立ち上がり部ピッチモデル、遷移部ピッチモデル、立ち下がり部ピッチモデルの３つに大別される。
【００３５】
立ち上がり部ピッチモデルは、音韻が無音から有声音に遷移するアタック部分において、ピッチをある値から有声音のピッチへ緩やかに移行させる曲線であり、基本的には正の傾きを有する。遷移部ピッチモデルは、音韻がある有声音から別の有声音へ遷移する部分において、ピッチを先行音韻が割り当てられている音符のピッチから後続音韻が割り当てられている音符のピッチへと緩やかに移行させる曲線モデルである。立ち下がり部ピッチモデルとは、音韻がある有声音から無音に遷移するリリース部分において、ピッチを有声音のピッチからある値へ緩やかに移行させる曲線である。このピッチモデルを使用する態様では、立ち上がり部ピッチモデル、遷移部ピッチモデル、立ち下がり部ピッチモデルを定義する情報がＨＤＤ６に予め記憶されており、歌唱合成スコア生成部６４１は、これらの各ピッチモデルの定義情報を参照することによりピッチデータトラック６５２における音符の切り換わり区間のピッチに適切な変化を与える。
【００３６】
図４（ａ）〜（ｃ）は、立ち上がり部ピッチモデル１００ａの適用例を示している。これらの図において、Ｓｉｌは無音、Ｃは子音、Ｖは母音を表わしている。図４（ａ）は、無音Ｓｉｌから無声子音Ｃと母音Ｖの組み合わせ（例：ｓａ）に遷移する場合に付与される立ち上がり部ピッチモデル１００ａの例を示している。この場合、ピッチデータトラック６５２では、無声子音Ｃから母音Ｖへの遷移部分Ｃ−Ｖにおける子音部Ｃの終了点をピッチモデル１００ａの始点とし、ピッチを所定の値から母音Ｖが割り当てられた音符のピッチへ緩やかに変化させる。ピッチモデル１００ａは、その始端部と終端部にそれぞれオーバシュート部１０１、１０２を有するとともに、これらのオーバシュート部の間にスロープ部１０３を有している。この点は、後述する遷移部ピッチモデル１００ｂ、立ち下がり部ピッチモデル１００ｂでも同様である。
【００３７】
図４（ｂ）は、無音Ｓｉｌから有声子音Ｃと母音Ｖの組み合せの音韻（例：ｇａ）に遷移する場合に付与される立ち上がり部ピッチモデル１００ａの例である。この場合、無声から有声子音への遷移部分Ｓｉｌ−Ｃの子音部Ｃの開始点をピッチモデル１００ａの始点とし、ピッチを所定の値から母音Ｖが割り当てられた音符のピッチへ緩やかに変化させる。図４（ｃ）は、無音から母音Ｖ（例：ａ）に遷移する場合に付与される立ち上がり部ピッチモデル１００ａの例である。この場合、母音Ｖ（例えばａ）の開始点をピッチモデル１００ａの始点とし、ピッチを所定の値から母音の割り当てられた音符のピッチへ緩やかに変化させる。
【００３８】
好ましい態様では、無音状態から立ち上がる音韻のピッチの大きさにより、付与するピッチモデル１００ａの形状を変化させる。基本的には、無音状態から立ち上がる音韻のピッチが小さい場合には緩いスロープのピッチモデル１００ａを、無音状態から立ち上がる音韻のピッチが大きい場合には比較的急なスロープのピッチモデル１００ａを付与する。
【００３９】
図５（ａ）〜（ｃ）は、遷移部ピッチモデル１００ｂの例を示している。これらの場合、遷移部に先行する音符のピッチと、後続の音符のピッチとの差に基づき、ピッチモデル１００ｂの形成を行う。また、後続の音符に割り当てられる音韻の種類（無声子音、有声子音、母音など）に応じて、ピッチモデル１００ｂの付与を開始する位置を変化させる。例えば、後続の音符に割り当てられる音韻が無声子音と母音との組み合わせである場合には、図５（ａ）に示すように、その母音の開始時刻をピッチモデルの終了時刻とする。すなわち、オーバシュート部１０２の始端部が、母音の開始時刻に合致するように、遷移部ピッチモデル１００ｂの位置を合わせ込む。また、後続の音符データに有声子音と母音の組み合わせが割り当てられている場合には、例えば図５（ｂ）に示すように、オーバシュート部１０１の終端部を後続音韻Ｃ−Ｖの子音Ｃの開始位置に合わせるとともに、オーバシュート部１０２の始端部を後続音韻Ｃ−Ｖの子音Ｃと母音Ｖの境界位置に合わせる。また、遷移部の後続音符に割り当てられる音韻が母音のみからなる場合には、図５（ｃ）に示すように、先行音韻の母音Ｖと後続音韻の母音Ｖとの境界位置をオーバシュート部１０２の始端部とする。オーバシュート部１０１の終端位置はスロープ部１０３の時間長に基づいて決定する。
【００４０】
図６は、母音（例：ａ）から無音に遷移する場合に付与される立ち下がり部ピッチモデル１００ｃの例を示している。この場合、図６に示すように、母音（例えばａ）の発音が終了し無音部に移行した時点がピッチモデル１００ｃの終点となるように、ピッチモデル１００ｃの時間軸上における位置を決定する。
【００４１】
以上のように、音符の切り換わり部における音韻の遷移の態様に応じてピッチモデルを使い分けることにより、人間の歌唱において観察されるような自然なピッチの変化を持ったピッチデータトラック６５２を生成することができる。
なお、以上は、ピッチデータトラック６５２の生成に使用するピッチモデルの一例であり、これら以外にも様々なピッチモデルの適用例がある。詳細は特許文献６を参照されたい。
【００４２】
＜＜＜Ｂ１−１−２−２．制御点を使用する態様＞＞＞
この態様は、本出願人が特願２００５−１５７７５８号において提案している態様である。この態様において、歌唱合成スコア生成部６４１は、ピッチデータトラック６５２を生成するための処理として、制御点設定処理と、ピッチデータ生成処理とを有している。この態様では、合成される歌唱音声の表情を豊かなものにするため、音符に対応したピッチに到達した以降における歌唱音声のピッチが、ある軌道に沿って変化するように、ピッチデータトラック６５２を生成する。このようなピッチデータトラック６５２を得るため、制御点設定処理では、音符毎に、合成される歌唱音のピッチの軌跡の目標通過点として、基本的には３個の制御点Ａ、ＢおよびＣ、例外的にはそれらのうちの２個または１個の制御点を定める。ここで、制御点Ａは、歌唱音のピッチが音符に対応したピッチに到達した後、最初に通過すべき目標通過点、制御点Ｂは、２番目に通過すべき目標通過点、制御点Ｃは最後に通過すべき目標通過点である。
【００４３】
このような制御点を音符毎に定めるため、この態様では、制御点Ａ、Ｂ、Ｃに関するデータが予め用意されている。ここで、制御点ＡおよびＢに関するデータは、音符の開始時刻（ノートオンタイミング）から制御点ＡまたはＢまでの経過時間を示す情報と、制御点ＡまたはＢのピッチと平均律により決められる音符のピッチとの音高差を示すセント値とを含む。また、制御点Ｃに関するデータは、制御点Ｃから音符の終了時刻（ノートオフタイミング）までの残り時間を示す情報と、制御点Ｃのピッチと平均律により決められる音符のピッチとの音高差を示すセント値とを含む。制御点設定処理では、音符毎に、その音符の音符データと、これらの制御点Ａ、ＢおよびＣに関するデータとに基づき、制御点Ａ、ＢおよびＣのタイミングとピッチを定める。
【００４４】
ピッチデータ生成処理では、これらの制御点Ａ、ＢおよびＣを通過するピッチの軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成し、このピッチデータをピッチデータトラック６５２に格納する。この態様では、制御点ＡおよびＢ間と、制御点ＢおよびＣ間と、制御点Ｃおよび次の音符の制御点Ａ間について、各区間のピッチの軌道を求めるための関数が予め定義されている。ピッチデータ生成処理では、これらの関数を利用し、各制御点を通過するピッチの軌道を求める。
【００４５】
図７（ａ）〜（ｃ）は制御点設定処理およびピッチデータ生成処理の実行例を示している。図７（ａ）は、音符データの内容を例示するものである。この図において、横軸は時間であり、縦軸は音符のピッチである。この図に示すように、音符データによって表される一連の音符Ｎ０〜Ｎ４のピッチは、階段状に変化する。制御点設定処理では、これらの音符Ｎ０〜Ｎ４に制御点が設定され、ピッチデータ生成処理では各制御点を通過するピッチの軌道が求められ、この軌道に沿ってピッチを変化させるピッチデータが生成される。図７（ｂ）は、音符Ｎ１に対して制御点Ａ、Ｂ、Ｃが設定され、これらの制御点間を結ぶピッチの軌道が決定された様子を示している。図７（ｂ）に示す例において、制御点ＡおよびＣのピッチは、音符のピッチよりも僅かに高いピッチとされ、制御点Ｂのピッチは音符のピッチよりも低いピッチとされている。
【００４６】
制御点設定処理では、１つの音符に対し、基本的に３つの制御点Ａ、Ｂ、Ｃが設定される。しかし、音符の符長が第１の閾値より短い場合には、最後の制御点Ｃが消去され、制御点ＡおよびＢのみが設定される。さらに、音符の符長が第１の閾値よりも短い第２の閾値よりも短く、２つの制御点を設定するに値しない場合には、制御点Ａのみがその音符に設定される。図７（ｃ）には、符長が長い音符Ｎ１およびＮ４に３つの制御点Ａ、Ｂ、Ｃが設定され、第１の閾値よりも短い符長の音符Ｎ３に２つの制御点Ａ、Ｂが設定され、第２の閾値よりも短い符長の音符Ｎ２に１つの制御点Ａが設定された例が示されている。
【００４７】
ピッチデータ生成処理においては、制御点ＡおよびＢ間、制御点ＢおよびＣ間、最後の制御点（通常は制御点Ｃ、例外的に制御点ＢまたはＡ）および後続音符の制御点Ａ間の各区間についてピッチの軌道の演算方法が定められており、この演算方法に従って各区間の軌道が演算される。この制御点間の軌道の演算方法には各種の態様が考えられる。図７（ｂ）では、制御点ＡおよびＢ間を結ぶ直線をピッチの軌道とする第１の態様が破線で示され、制御点ＡおよびＢ間を結ぶ緩やかな谷をピッチの軌跡とする第２の態様が実線で示されている。
【００４８】
第１の態様では、例えば時刻ｔにおける制御点ＡおよびＢ間の軌道上のピッチｐを、次式により求めることができる。
ｐ＝ｐＡ＋（（ｐＢ−ｐＡ）／（ｔＢ−ｔＡ））（ｔ−ｔＡ）      ……（１）
ここで、ｐＡは制御点Ａのピッチ、ｐＢは制御点Ｂのピッチ、ｔＡは制御点Ａの時刻、ｔＢは制御点Ｂの時刻である。
【００４９】
第２の態様では、制御点ＡおよびＢ間の軌道上のピッチＰを、次式により求めることができる。
ｐ＝ｐＡ＋（（ｐＢ−ｐＡ）／（ｔＢ−ｔＡ））（ｔ−ｔＡ）
−ｖ１ｓｉｎ２（π（ｔ−ｔＡ）／（ｔＢ−ｔＡ））          ……（２）
ここで、ｖ１は谷の深さを表すパラメータである。
制御点ＢおよびＣ間のピッチの軌道も同様であり、この軌道は制御点間を結ぶ直線としてもよいし、曲線としてもよい。
本実施形態では、実際の人間の歌唱音におけるピッチの振る舞いに合わせ、制御点ＡおよびＢ間の軌道は谷とし、制御点ＢおよびＣ間の軌道は直線としている。
【００５０】
音符の切り換わり部分におけるピッチの軌道は、先行する音符の最後の制御点（通常は制御点Ｃ）と後続の音符の最初の制御点Ａとを結ぶ直線または曲線とされる。図７（ｃ）に示す例では、音符Ｎ０から音符Ｎ１への切り換わり部分におけるピッチの軌道として、先行する音符Ｎ０の最後の制御点Ｃと後続の音符Ｎ１の最初の制御点Ａを結ぶ曲線が採用されている。実際の歌声のピッチの動きを観察すると、この音符の切り換わり部分のピッチの軌道は、図８に実線で示すように撓んでいることが多い。そこで、好ましい態様におけるピッチデータ生成処理では、先行する音符の最後の制御点（通常は制御点Ｃ、例外的に制御点ＢまたはＡ）と後続の最初の制御点との間の区間の軌道を次のようにして求める。
【００５１】
すなわち、時刻をｔ、先行する音符の最後の制御点の時刻をｔＣ、同制御点のピッチをｐＣ、後続の音符の最初の制御点Ａの時刻をｔＡ、同制御点のピッチをｐＡとした場合、ｔ≦（ｔＡ＋ｔＣ）／２の区間は式（３）に従い、ｔ＞（ｔＡ＋ｔＣ）／２の区間は式（４）に従って音符の切り換わり部分のピッチｐを求めるのである。
ｐ＝（ｐＡ＋ｐＣ）／２
−（（ｐＡ−ｐＣ）／２）（１−２（ｔ−ｔＣ）／（ｔＡ−ｔＣ））α）……（３）
ｐ＝（ｐＡ＋ｐＣ）／２
＋（（ｐＡ−ｐＣ）／２）（２（ｔ−ｔＣ）／（ｔＡ−ｔＣ）−１）α）……（４）
【００５２】
上記式（３）および（４）において、αはピッチ変化の撓み具合を調整するためのパラメータである。このパラメータαが１である場合、制御点間の軌道は図８に破線で示すように直線となる。また、パラメータαが１より小さい正の数である場合、図８に実線で示すように、前半のｔ≦（ｔＡ＋ｔＣ）／２の区間の軌道は下方に撓んだ曲線となり、後半のｔ＞（ｔＡ＋ｔＣ）／２の区間の軌道は上方に撓んだ曲線となる。好ましい態様では、この曲線が音符の切り換わり部分のピッチの軌道として採用される。なお、パラメータαが１より大きい正の数である場合は、逆に、前半の区間の軌道は上方に撓んだ曲線となり、後半の区間の軌道は下方に撓んだ曲線となる。
【００５３】
音符の切り換わり部分のピッチの軌道に、前述した制御点ＡおよびＢ間の軌道に適用したような谷（図７（ｂ）参照）を設けてもよい。この態様によれば、音程が上がるときに、歌声の音程が一旦下がってから上昇したり、音程が下がるときに、歌声の音程が一旦下がりすぎてから再度上がる現象を歌唱合成において再現することができる。
【００５４】
実際の歌唱では、歌いだしの部分、すなわち、最初の音符または所定時間長以上の休符の後の音符に対応した歌唱部分において、特別なピッチの動きをする場合が多い。この現象を再現するため、好ましい態様では、制御点設定処理において、対象とする音符の前の音符がない場合または対象とする音符の前に所定時間長以上の休符がある場合に、図９に示すように、対象とする音符の最初の制御点Ａの前に１つ以上の追加の制御点（図９では制御点Ｐ、Ｑ）を配置する。そして、ピッチデータ生成処理では、この追加の制御点と、対象とする音符の最初の制御点Ａとを結ぶ軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成する。この場合、各制御点間を結ぶ軌道は、破線で示すように直線にしてもよく、あるいは実線で示すように曲線にしてもよい。なお、歌いだし部分の歌詞の存在しない期間は、歌詞から音韻データを生成することができないので、無音から歌いだしの歌詞に対応する音韻に遷移するように音韻データトラック６５１を作成する。
【００５５】
図９に示す例では、制御点Ｐは、最初の音符のノートオンタイミングよりも所定時間だけ前の位置に配置され、そのピッチは最初の音符に対応したピッチｐＳよりも所定量だけ低いピッチとされている。また、制御点Ｑは、最初の音符のノートオンタイミングに近い位置に配置され、制御点Ｑのピッチは、制御点Ｐよりもピッチが高く、かつ、制御点Ａよりは制御点Ｐに近いピッチとされている。この場合、歌いだし部分における合成歌唱音のピッチは、最初の音符のノートオンタイミングの手前の制御点Ｐのある時刻から徐々に上昇を開始し、制御点Ｑのあるノートオンタイミング近くの時刻以降になると、それまでよりも急峻なスロープを描いて、制御点Ａのあるピッチまで上昇する。このように、本態様によれば、歌いだし部分の特別なニュアンスを歌唱合成において再現することができる。
【００５６】
歌いだしの場合には、追加の制御点Ｐ、Ｑを配置することに加えて、歌いだしの音符の最初の制御点Ａを通常とは異なった位置に配置するようにすると、歌いだしの場合の特別なニュアンスを歌唱合成において再現することができる。例えば歌いだしの部分においては、歌声の音程が音符に対応した正しい音程に到達するまで若干の時間がかかる場合が多い。そこで、好ましい態様では、これを再現するために、歌いだし部分の最初の音符については、特別に、制御点Ａのピッチを音符に対応したピッチよりも低く設定する。このようにすることで、より自然な歌いまわしを歌唱合成において再現することができる。
【００５７】
同様に、実際の歌唱では、歌い終わりの部分、すなわち、曲の最後の音符または所定時間長以上の休符の前の音符に対応した歌唱部分においても、ピッチが最後にだら下がりになる等、特別なピッチの動きをする場合が多い。この現象を再現するため、制御点設定処理では、対象とする音符の後に音符がない場合または対象とする音符の後に所定時間長以上の休符がある場合に、図１０に示すように、対象とする音符の最後の制御点Ｃの後に１つ以上の追加の制御点（図１０では制御点Ｒ、Ｓ）を配置する。そして、ピッチデータ生成処理では、この追加の制御点と、対象とする音符の最後の制御点Ｃとを結ぶ軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成する。この場合、各制御点間を結ぶ軌道は、破線で示すように直線にしてもよく、あるいは実線で示すように曲線にしてもよい。ピッチデータは、歌い終わりの部分の最後の音符に合わせて発声される音韻のものを引き続いて採用し、ピッチデータトラック６５２に格納すればよい。
【００５８】
図１０に示す例では、制御点Ｓは、最後の音符のノートオフタイミングよりも所定時間だけ後の位置に配置され、そのピッチは最後の音符に対応したピッチｐＥよりも所定量だけ低いピッチとされている。また、制御点Ｒは、最後の音符のノートオフタイミングに近い位置に配置され、制御点Ｒのピッチは、制御点Ｓよりもピッチが高く、かつ、最後の音符の最後の制御点Ｃよりは制御点Ｓに近いピッチとされている。この場合、歌い終わり部分における合成歌唱音のピッチは、最後の音符の最後の制御点Ｃの時刻からノートオフタイミングの近くの制御点Ｒのある時刻に掛けて下降し、それ以降は、それまでよりも緩やかなスロープを描いて、制御点Ｓのあるピッチまで下降する。
【００５９】
この制御点を使用する態様によれば、合成される歌唱音のピッチに対し、音符に対応するピッチに到達した後の区間においても変化を与えることができ、人間の歌唱に近い自然な歌唱を再現することができる。また、この態様によれば、音符の切り換わり部分において、先行する音符の最後の制御点と後続の音符の最初の制御点との間の区間のピッチの軌道に所望の変化を持たせることができるので、音符の切り換わり部分について自然な歌唱を再現することができる。また、この態様によれば、歌いだし部分については最初の音符の前に追加の制御点を配置し、歌い終わり部分については最後の音符の後に追加の制御点を配置し、これらの制御点を通過する軌道に従って合成歌唱音のピッチを変化させるようにしたので、歌いだし部分および歌い終わり部分の特別なニュアンスを歌唱合成において再現することができる。
【００６０】
＜＜Ｂ１−２．素片選択、ピッチ変換および素片連結＞＞
＜＜＜Ｂ１−２−１．素片選択＞＞＞
歌唱合成スコア６５０の音韻データトラック６５１は、１曲分の歌唱音声を合成するのに使用する一連の音声素片とそれらの発生時刻および継続時間長を示している。素片選択部６４２は、歌唱合成スコアにおいて指定された各音声素片の音声素片データを音声素片データベース６３から読み出してピッチ変換部６４３に引き渡す。
【００６１】
１つの音声素片に対応した音声素片データは、その音声素片の継続時間長に相当するフレーム数の波形データを含む。ここで、歌唱合成スコアにおいて指定される音声素片の継続時間長は、音符データが示す音符長により決まるものであって曲によって区々になるので、音声素片データベース６３に収録された音声素片データの元となった音声素片の継続時間長とは一致しない場合がある。そこで、素片選択部６４２は、歌唱合成スコアにおいて指定された音声素片の継続時間長に相当するフレーム数に比べて、その音声素片に対応した音声素片データに含まれる波形データのフレーム数が少ない場合には、例えば音声素片データにおける全てのフレームの波形データをピッチ変換部６４３に引き渡した後は、最初のフレームに戻って波形データをピッチ変換部６４３に引き渡すという具合に各フレームの波形データをループさせながら使用し、必要な継続時間長に見合ったフレーム数の波形データをピッチ変換部６４３に引き渡す。また、歌唱合成スコアにおいて指定された音声素片の継続時間長に相当するフレーム数に比べて、その音声素片に対応した音声素片データに含まれる波形データのフレーム数が多い場合、素片選択部６４２は、歌唱合成スコアにおいて指定された継続時間長相当のフレーム数の波形データをピッチ変換部６４３に引き渡した後、残りの波形データを破棄する。
【００６２】
＜＜＜Ｂ１−２−２．ピッチ変換＞＞＞
ピッチ変換部６４３は、素片選択部６４２から音声素片の波形データを受け取ると、その波形データの発生タイミングにおけるピッチをピッチデータトラック６５２から求め、波形データがそのピッチを持った波形データとなるように波形データのピッチ変換を行う。ピッチ変換部６４３は、基本的には本出願人による先願である特願２００４−３１１６３７号において提案された方法によりこのピッチ変換を行う。以下、その詳細を説明する。
【００６３】
波形データが音声素片を一定のサンプリングレートでサンプリングしたサンプル列である場合、ピッチ変換部６４３は、フレーム単位で、サンプル列のＦＦＴを行い、振幅スペクトルと位相スペクトルを求める。本実施形態では、このようにして得られる周波数領域の情報（振幅スペクトルと位相スペクトル）を操作することによりピッチ変換を行う。なお、波形データが振幅スペクトルおよび位相スペクトルを示すものである場合にはＦＦＴを行わなくてもよい。
【００６４】
図１１（ａ）は、あるフレームのサンプル列から得られた振幅スペクトルの例を示すものである。また、図１１（ｂ）および（ｃ）は、本実施形態によるピッチ変換を経た後の振幅スペクトルの例を示すものであり、図１１（ｂ）はピッチ変換比ｋが１より大きい場合、図１１（ｃ）はピッチ変換比ｋが１より小さい場合を各々示している。
【００６５】
図１１（ａ）に示すように、音声素片のサンプル列から得られた振幅スペクトルは、音声素片の基本周波数および倍音周波数に相当する各周波数に局所的ピークＰ１、Ｐ２、…を有する。ピッチ変換部６４３は、近隣の複数のピークについて振幅値が最大のピークを検知する等の方法により、これらの局所的ピークＰ１、Ｐ２、…を求める。また、ピッチ変換部６４３は、基本周波数成分に対応した局所的ピーク（この例では局所的ピークＰ１）の周波数をピッチ変換前のピッチとして求める。そして、ピッチ変換部６４３は、ピッチ変換後のピッチ（すなわち、ピッチデータトラック６５２により指定される当該フレームにおけるピッチ）をピッチ変換前のピッチにより除算してピッチ変換比ｋを求める。さらにピッチ変換部６４３は、局所的ピークＰ１、Ｐ２、…により形成されているスペクトル包絡ＥＮＶを求める。なお、音声素片データがフレーム毎のピッチを示す素片ピッチデータやスペクトル包絡ＥＮＶを示すスペクトル包絡データを含む場合には、ピッチやスペクトル包絡ＥＮＶを求める処理は不要である。
【００６６】
次にピッチ変換部６４３は、局所的ピークＰ１、Ｐ２、…の各々について各局所的ピークを中心とする所定幅の局所的な周波数領域を特定する。また、ピッチ変換部６４３は、局所的ピークＰ１、Ｐ２、…の周波数にピッチ変換比ｋを乗算することにより、ピッチ変換後の各局所的ピークＰ１０、Ｐ２０、…の周波数を求める。そして、ピッチ変換部６４３は、局所的ピークＰ１、Ｐ２、…が局所的ピークＰ１０、Ｐ２０、…となるように、全体としての振幅スペクトルを周波数軸方向にピッチ変換比ｋに従って圧縮（ｋ＜１）または伸張（ｋ＞１）する。その際、ピッチ変換部６４３は、局所的な周波数領域内については振幅スペクトル分布の形状を変えないように、局所的な周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行う。そして、ピッチ変換部６４３は、この圧縮または伸張後の振幅スペクトルの局所的ピークＰ１０、Ｐ２０、…の包絡線が元のスペクトル包絡ＥＮＶとなるように各振幅スペクトルのレベル調整を行う。このようにして図１１（ｂ）または（ｃ）に示すようなピッチ変換後の振幅スペクトルが得られる。
以上が本実施形態によるピッチ変換の原理である。
【００６７】
次に、図１２（ａ）および（ｂ）を参照し、ピッチ変換部６４３が行う振幅スペクトルの周波数軸方向の圧縮または伸張処理の詳細について説明する。まず、ピッチ変換部６４３は、振幅スペクトルの各局所的ピークに対する周波数（図１２（ａ）に示す例では周波数ｆ１およびｆ２）を含む所定幅の周波数領域を特定する。図１２（ａ）に示す例では、ピッチ変換部６４３は、局所的ピークＰ１に対する第１周波数ｆ１を含む所定幅Ｆ１の周波数領域を第１周波数領域Ａ１として特定する。第１周波数領域Ａ１の特定は、種々の方法によりなされ得る。例えばピッチ変換部６４３は、第１周波数ｆ１と第２周波数ｆ２との周波数差の半分に「１」以下の正の値を乗じて得られる周波数Δｆを第１周波数ｆ１に加えて得られた周波数（＝ｆ１＋Δｆ）を第１周波数領域Ａ１の最大周波数ｆ１ｍａｘとする。同様にピッチ変換部６４３は、第１周波数ｆ１から周波数Δｆを減じて得られた周波数（＝ｆ１−Δｆ）を第１周波数領域Ａ１の最小周波数ｆ１ｍｉｎとする。第１周波数領域Ａ１内の各周波数に対する振幅スペクトルは、第１ローカル振幅スペクトル分布ＡＭ１を構成する。
【００６８】
同様にピッチ変換部６４３は、局所的ピークＰ２に対する第２周波数ｆ２を含む所定幅Ｆ２（この例ではＦ２＝Ｆ１）の周波数領域を第２周波数領域Ａ２として特定する。この第２周波数領域Ａ２の最大周波数ｆ２ｍａｘは、ｆ２＋Δｆであり、最小周波数ｆ２ｍｉｎは、ｆ２−Δｆである。第２周波数領域Ａ２内の各周波数に対する振幅スペクトルは、第２ローカル振幅スペクトル分布ＡＭ２を構成する。
【００６９】
次にピッチ変換部６４３は、以下の手順に従って振幅スペクトルを周波数軸方向に圧縮または伸張することによりピッチ変換を行う。なお、図１２（ａ）および（ｂ）に示す例では、ピッチ変換比ｋが「１」より大きな値であり、振幅スペクトルを周波数軸方向に伸張している。
【００７０】
（Ａ）まず、ピッチ変換部６４３は、局所的ピークＰ１が、第１周波数ｆ１にピッチ変換比ｋを乗じて得られる周波数であるピッチ変換後第１周波数ｆ１０（＝ｋ・ｆ１）に対する振幅スペクトルとなるように、局所的ピークＰ１を周波数軸方向に移動する。これにより得られる変換後局所的ピークＰ１０の大きさは局所的ピークＰ１の大きさと等しい。
【００７１】
（Ｂ）次に、ピッチ変換部６４３は、第１周波数領域Ａ１内の各振幅スペクトルＰｎが、これらの各振幅スペクトルＰｎに対する周波数ｆｎから第１周波数ｆ１を減じた周波数（＝ｆｎ−ｆ１）にピッチ変換比ｋよりも１に近い局所変換比ｍを乗じた値（＝ｍ・（ｆｎ−ｆ１））を上記ピッチ変換後第１周波数ｆ１０（＝ｋ・ｆ１）に加えることにより得られる周波数（＝ｍ・（ｆｎ−ｆ１）＋ｋ・ｆ１）の振幅スペクトルとなるように、第１周波数領域Ａ１内の各振幅スペクトルを周波数軸方向に圧縮または伸張する。この例では、局所変換比ｍの値は「１」となっている。
【００７２】
以上の処理により、第１周波数領域Ａ１内のローカル振幅スペクトル分布ＡＭ１は、形状を変えることなく、ピッチ変換比ｋに応じた周波数だけ周波数軸方向に移動され、ピッチ変換後第１周波数領域Ａ１０のローカル振幅スペクトル分布ＡＭ１０となる。
【００７３】
（Ｃ）同様に、ピッチ変換部６４３は、第２ピークスペクトルＰ２が、第２周波数ｆ２にピッチ変換比ｋを乗じて得られる周波数であるピッチ変換後第２周波数ｆ２０（＝ｋ・ｆ２）に対する振幅スペクトルとなるように、第２ピークスペクトルＰ２を周波数軸方向に移動する。これにより得られる変換後第２ピークスペクトルＰ２０の大きさは第２ピークスペクトルＰ２の大きさと等しい。
【００７４】
（Ｄ）さらにピッチ変換部６４３は、第２周波数領域Ａ２内の各振幅スペクトルＰｎが、これらの各振幅スペクトルＰｎに対する周波数ｆｎから第２周波数ｆ２を減じた周波数（＝ｆｎ−ｆ２）にピッチ変換比ｋよりも１に近い局所変換比ｍを乗じた値（＝ｍ・（ｆｎ−ｆ２））を上記ピッチ変換後第２周波数ｆ２０（＝ｋ・ｆ２）に加えることにより得られる周波数（＝ｍ・（ｆｎ−ｆ２）＋ｋ・ｆ２）の振幅スペクトルとなるように、第２周波数領域Ａ２内の各振幅スペクトルを周波数軸方向に圧縮または伸張する。
【００７５】
以上の処理により、第２周波数領域Ａ２内のローカル振幅スペクトル分布ＡＭ２は、形状を変えることなく、ピッチ変換比ｋに応じた周波数だけ周波数軸方向に移動され、ピッチ変換後第２周波数領域Ａ２０のローカル振幅スペクトル分布ＡＭ２０となる。
【００７６】
（Ｅ）さらにピッチ変換部６４３は、第１周波数領域Ａ１と第２周波数領域Ａ２との間の中間周波数領域Ａ３の振幅スペクトルについてピッチ変換を行う。このピッチ変換について、特に図１３を参照して説明する。
【００７７】
図１３は、横軸のｘ軸にピッチ変換前の周波数ｆａ、縦軸のｙ軸にピッチ変換後の周波数ｆｂをとり、ピッチ変換前の周波数ｘ（＝ｆａ）をピッチ変換後の周波数ｙ（＝ｆｂ）に変換する変換関数Ｔｆ（ｘ）を示したグラフである。以下において、第１周波数ｆ１の変換関数Ｔｆ（ｘ）上の点をＱ１とし、第２周波数ｆ２の変換関数Ｔｆ（ｘ）上の点をＱ２とする。同様に、第１周波数領域Ａ１の最大周波数ｆ１ｍａｘの変換関数Ｔｆ（ｘ）上の点をＱ１Ｕとし、第２周波数領域Ａ２の最小周波数ｆ２ｍｉｎの変換関数Ｔｆ（ｘ）上の点をＱ２Ｌとする。
【００７８】
この場合、第１周波数領域Ａ１では、下記式（５）により示される変換関数Ｔｆ（ｘ）に変数ｘとしてピッチ変換前の周波数ｆａを代入することにより、ピッチ変換後の周波数ｆｂ（＝ｙ）が決定される。
ｙ＝Ｔｆ（ｘ）＝ｍ・ｘ＋ａ１＝ｘ＋ａ１＝ｘ＋ΔＳ１  ……（５）
【００７９】
同様に、第２周波数領域Ａ２では、下記式（６）により示される変換関数Ｔｆ（ｘ）に変数ｘとしてピッチ変換前の周波数ｆａを代入することにより、ピッチ変換後の周波数ｆｂ（＝ｙ）が決定される。
ｙ＝Ｔｆ（ｘ）＝ｍ・ｘ＋ａ２＝ｘ＋ａ２＝ｘ＋ΔＳ２  ……（６）
【００８０】
一方、ピッチ変換部６４３は、中間周波数領域Ａ３では、点Ｑ１Ｕと点Ｑ２Ｌとを直線で結ぶ変換関数Ｔｆ（ｘ）＝Ｔ１ｆ（ｘ）に従ってピッチ変換を行う。すなわち、点Ｑ１Ｕの座標は（ｆ１ｍａｘ、ｆ１０ｍａｘ）＝（ｆ１ｍａｘ、ｆ１ｍａｘ＋ａ１）であり、点Ｑ２Ｌの座標は（ｆ２ｍｉｎ、ｆ２０ｍｉｎ）＝（ｆ２ｍｉｎ、ｆ２ｍｉｎ＋ａ２）であるから、中間周波数領域Ａ３での変換関数Ｔｆ（ｘ）＝Ｔ１ｆ（ｘ）は下記式（７）により表わされる。
ｙ＝Ｔｆ（ｘ）
＝（（ｆ２ｍｉｎ−ｆ１ｍａｘ＋ａ２−ａ１）／（ｆ２ｍｉｎ−ｆ１ｍａｘ））・ｘ
＋（ａ１・ｆ２ｍｉｎ−ａ２・ｆ１ｍａｘ）／（ｆ２ｍｉｎ−ｆ１ｍａｘ）
……（７）
【００８１】
ピッチ変換部６４３は、ピッチ変換前の周波数ｆａがいずれの周波数領域に属するかにより上記式（５）〜（７）を使い分け、ピッチ変換前の周波数ｆａに対する振幅スペクトルがピッチ変換後の周波数ｆｂ＝Ｔｆ（ｆａ）の振幅スペクトルとなるように、ピッチ変換前の周波数ｆａに対する振幅スペクトルをピッチ変換する。この場合、上記式（５）〜（７）を満たす点（ｆａ、Ｔｆ（ｆａ））と原点Ｏとを結ぶ直線の傾きが、周波数ｆａの振幅スペクトルに対するピッチ変換比Ｐｆａということになる。
【００８２】
ピークスペクトルの周波数においてピッチ変換比Ｐｆａはピッチ変換比ｋとなる。このピッチ変換比ｋは点Ｑ１と点Ｑ２を結ぶ直線の傾きであるから、局所変換比ｍとの間に下記式（８）に示す関係を有している。
ｋ＝（（ｍ・ｆ２＋ａ２）−（ｍ・ｆ１＋ａ１））／（ｆ２−ｆ１）    ……（８）
【００８３】
このように、ピッチ変換部６４３は、ピッチ変換前の波形データの振幅スペクトル分布をピッチ変換比ｋにより周波数軸方向に一律に圧縮（ｋ＜１）または伸張（ｋ＞１））する代わりに、ピークスペクトルＰ１およびＰ２の近傍のローカル振幅スペクトル分布ＡＭ１およびＡＭ２については実質的に圧縮または伸張を行うことなく、ピッチ変換比ｋに基づく量だけ周波数軸方向に平行移動する。そして、中間周波数領域の振幅スペクトルについては、ローカル振幅スペクトル分布ＡＭ１、ＡＭ２と滑らかに繋がるように、ローカル振幅スペクトル分布ＡＭ１およびＡＭ２に適用したものとは異なる比率で周波数軸方向の圧縮または伸張を行うのである。以上、２個の局所的ピークＰ１およびＰ２に関して圧縮または伸張処理の詳細を説明したが、ピッチ変換部６４３は、他の局所的ピークに関しても同様な処理を行う。
【００８４】
そして、ピッチ変換部６４３は、以上のような周波数軸方向の圧縮または伸張処理を経た振幅スペクトルについて、その局所的ピークＰ１０、Ｐ２０、…の包絡線が元のスペクトル包絡ＥＮＶとなるように各振幅スペクトルのレベル調整を行うのである（図１１（ｂ）および（ｃ）参照）。
【００８５】
以上のようにして、ピッチ変換のための振幅スペクトルの処理を終えると、ピッチ変換部６４３は、位相スペクトルの処理を行う。すなわち、ローカル振幅スペクトル分布ＡＭ１等をＡＭ１０等のように移動したことに伴い、移動後のローカル振幅スペクトル分布ＡＭ１０等に対応して位相スペクトル分布を調整するのである。
【００８６】
まず、ピッチ変換部６４３は、局所的ピークを含むローカルな周波数領域における振幅スペクトル分布の移動（ＡＭ１からＡＭ１０へ、ＡＭ２からＡＭ２０への移動）に合わせて、ローカルな周波数領域における位相スペクトルの分布を周波数軸方向に移動させる。
【００８７】
次にピッチ変換部６４３は、この圧縮または伸張後の位相スペクトルの補正に用いる補正量を演算する。ここで、局所的ピークの周波数が完全に調和関係にある（倍音の周波数が基音の周波数の完全な整数倍になっている）場合、基音周波数（音声素片データがフレーム毎のピッチを示す素片ピッチデータを含む場合にはその素片ピッチデータが示す当該フレームにおけるピッチ）をｆ０、フレーム周期をΔｔ、ｉ番目の局所的ピークの周波数をｆｉ、ピッチ変換比をｋとすると、ｉ番目の局所的ピークを含むローカルな周波数領域における位相の補正量Δφｉは、次式（９）により与えられる。
Δφｉ＝２πｆ０（ｉ＋１）（ｋ−１）Δｔ                        ……（９）
【００８８】
ピッチ変換部６４３は、上記式（９）により求めた補正量Δφｉをｉ番目の局所的ピークを含むローカルな周波数領域内の各位相スペクトルの位相に加算する。これにより局所的ピークの周波数Ｆｉでは位相がφｉ＋Δφｉとなる。ピッチ変換部６４３は、このような位相の補正を、局所的ピークを含むローカルな周波数領域毎に行う。図１４（ａ）および（ｂ）は第１番目の局所的ピークに関して行われる位相の補正の例を示している。
以上が本実施形態によるピッチ変換の処理の詳細である。
【００８９】
以上のように、本実施形態によれば、局所的ピークの近傍のローカル振幅スペクトル分布の形状およびスペクトル包絡ＥＮＶの形状を変えることなく、局所的ピークの周波数を指定されたピッチに対応した周波数にすることができる。また、本実施形態によれば、ローカル振幅スペクトル分布を構成する振幅スペクトルのみならず、中間周波数領域の振幅スペクトルをも含めて周波数軸方向の圧縮または伸張処理を行うようにしているので、ピッチ変換の際に中間周波数領域の振幅スペクトルが損なわれない。従って、音声素片が本来有していた音の特徴を損なうことなく、ピッチ変換を行うことができる。特に本実施形態は、従来の歌唱合成技術が苦手としてきたハスキーな歌唱音声の合成に有効である。
【００９０】
なお、中間周波数領域における変換関数Ｔｆ（ｘ）は、種々の関数とすることができる。例えば、この変換関数Ｔｆ（ｘ）は、図１３に破線の曲線Ｔ２ｆ（ｘ）にて示したように、点Ｑ１Ｕから点Ｑ２Ｌに向かうにつれて傾きが局所変換比ｍから次第に変化（ｋ＞１のときは増大、ｋ＜１のときは減少）し、その後、再び局所変換比ｍに近づくような関数であってもよい。また、第１周波数領域Ａ１、第２周波数領域Ａ２等における変換関数Ｔｆ（ｘ）は、各周波数領域の振幅スペクトル分布をほぼ維持した状態にてピッチ変換後の各周波数領域に写像させる関数であればよい。従って、例えば局所変換比ｍは一定である必要はなく、また、変換関数Ｔｆ（ｘ）はｎ次式や任意に定めた関数であってもよい。
【００９１】
＜＜＜Ｂ１−２−３．素片連結＞＞＞
ピッチ変換部６４３は、以上のようなピッチ変換処理を経た周波数領域の波形データ（振幅スペクトル、位相スペクトル）をフレーム毎に出力する。ここで、ある音声素片に対応した最後のフレームの波形データが出力された後、これに続けて、後続の音声素片に対応した最初のフレームの波形データがピッチ変換部６４３から出力される場合がある。その際、前者の波形データと後者の波形データとの間に大きな差異があると、合成される歌唱音声の波形に不自然な不連続が生じるので好ましくない。素片連結部６４４は、このような波形の不自然な不連続が生じないように、音声素片の切り換わり区間において音色を滑らかに変化させるためのスムージング処理を波形データに対して施す。この素片連結部６４４が行うスムージング処理の態様として、以下説明する第１の態様と第２の態様がある。
【００９２】
＜＜＜＜Ｂ１−２−３−１．スムージング処理の第１の態様＞＞＞＞
この態様において、素片連結部６４４は、ピッチ変換部６４３から出力される波形データがある音声素片のものから他の音声素片のものへと切り換わる場合にその切り換わり点の前後所定フレーム数の波形データを用いて、各フレームの波形データが示す音の特徴を決定する特徴パラメータ、具体的には波形データが示す振幅スペクトルのスペクトル包絡のクロスフェードを行う。図１５（ａ）〜（ｅ）はこのクロスフェードの動作例を示すものである。この例では、先行音声素片の最後のｎフレームの波形データＤ１〜Ｄｎと後続音声素片の最初のｎフレームの波形データＤ１〜Ｄｎを用いてクロスフェードを行っている。
【００９３】
クロスフェードの前半では、クロスフェード用の係数αを０から０．５に向けて徐々に増加させるとともに係数βを１から０．５に向けて徐々に減少させつつ（図１５（ｄ）参照）、先行音声素片の最後のｎ個の波形データＤ１〜Ｄｎに各々含まれる振幅スペクトルの各スペクトル包絡に係数βを各々乗じたものと、後続音声素片の最初の波形データＤ１に含まれる振幅スペクトルのスペクトル包絡に係数αを乗じたものとを加算し（図１５（ｂ）および（ｃ）参照）、クロスフェードされたｎ個のスペクトル包絡線を求める。そして、先行音声素片の最後のｎ個の波形データＤ１〜Ｄｎに各々含まれる各振幅スペクトルについて、局所的ピークのレベルがクロスフェードされたスペクトル包絡を形成するようにレベル調整を行う。そして、素片連結部６４４は、先行音声素片の最後のｎ個の波形データＤ１〜Ｄｎの各振幅スペクトルをこのレベル調整後の各振幅スペクトルにより置き換えたｎ個の波形データＤ１’〜Ｄｎ’を出力する（図１５（ｅ）参照）。
【００９４】
クロスフェードの後半では、クロスフェード用の係数αを０．５から１に向けて徐々に増加させるとともに係数βを０．５から０に向けて徐々に減少させつつ（図１５（ｄ）参照）、後続音声素片の最初のｎ個の波形データＤ１〜Ｄｎに各々含まれる振幅スペクトルの各スペクトル包絡に係数αを各々乗じたものと、先行音声素片の最後の波形データＤｎに含まれる振幅スペクトルのスペクトル包絡に係数βを乗じたものとを加算し（図１５（ｂ）および（ｃ）参照）、クロスフェードされたｎ個のスペクトル包絡線を求める。そして、後続音声素片の最初のｎ個の波形データＤ１〜Ｄｎに各々含まれる各振幅スペクトルについて、局所的ピークのレベルがクロスフェードされたスペクトル包絡を形成するようにレベル調整を行う。そして、素片連結部６４４は、後続音声素片の最初のｎ個の波形データＤ１〜Ｄｎの各振幅スペクトルをこのレベル調整後の各振幅スペクトルにより置き換えたｎ個の波形データＤ１’〜Ｄｎ’を出力する（図１５（ｅ）参照）。
【００９５】
以上の処理により、先行音声素片のスペクトル包絡と後続音声素片のスペクトル包絡が音声素片の切り換わり点において滑らかに繋ぐことができる。従って、音声素片が切り換わるときに音色を滑らかに変化させることができる。
【００９６】
以上のようにスペクトル包絡の包絡線ＥＮＶ（ｆ）自体をそのままクロスフェードする代わりに、スペクトル包絡の合成パラメータのクロスフェードを行い、この結果得られる合成パラメータを用いてクロスフェード後のスペクトル包絡を求めてもよい。例えば特許文献２の図５に開示されているように、スペクトル包絡を局所的ピークをなす複数の共鳴成分と周波数に応じて直線的に減少する傾き成分の和としてモデル化し、これらの共鳴成分および傾き成分を示す合成パラメータが音声素片の切り換わり点において滑らかに繋がるように、合成パラメータのクロスフェードを行い、このクロフフェードを経た合成パラメータ（共鳴成分および傾き成分を示す各パラメータ）を用いてクロスフェード後のスペクトル包絡を合成することが可能である。
【００９７】
スムージング処理では、振幅スペクトルのスペクトル包絡のクロスフェードを行うことに加えて、音声素片の切り換わり点において位相が連続するように、切り換わり点の前後の波形データに含まれる位相スペクトルの調整を行うことが好ましい。このようにすることで、音声素片の切り換わりがより自然なものとなる。この際、振幅スペクトル包絡のクロスフェードと位相スペクトルのクロスフェードとで、クロスフェードを行う時間を異ならせたり、クロスフェード用の係数（上記α、βに相当するもの）を異ならせるようにしてもよい。
【００９８】
局所的ピークを含むローカルな周波数領域の振幅スペクトル分布（上述したローカル振幅スペクトル分布ＡＭ１０、ＡＭ２０等）は、ピッチ変換処理を経た状態のままにしてもよいが、音声素片の切り換わり点において滑らかに繋がるようにクロスフェードを行ってもよい。
【００９９】
＜＜＜＜Ｂ１−２−３−２．スムージング処理の第２の態様＞＞＞＞
この第２の態様では、基本的には本出願人による先願である特許文献７に開示された原理に従ってスムージング処理を行う。すなわち、この第２の態様において素片連結部６４４は、ピッチ変換部６４３から出力される波形データが、１つの音素から別の音素に移行する音素連鎖を含む遷移部分のものであるか、１つの音素が安定的に発音される定常部分を含んだ伸ばし音部分のものであるかを監視し、伸ばし音部分の音声素片の波形データがピッチ変換部６４３から与えられた場合には、その伸ばし音部分の波形データにおける音の特徴を決定するパラメータ、具体的にはスペクトル包絡が、その伸ばし音部分に先行する遷移部分の波形データから求められるスペクトル包絡とその伸ばし音部分に続く遷移部分の波形データから求められるスペクトル包絡とを時間補間したスペクトル包絡となるように、伸ばし音部分の波形データの調整を行う。
【０１００】
図１６はこの第２の態様によるスムージング処理の例を示すものである。この例では、伸ばし音の音声素片ａの前に遷移部分の音声素片ｓ−ａがあり、後に遷移部分の音声素片ａ−ｉがある。そこで、素片連結部６４４は、ピッチ変換部６４３から出力される遷移部分ｓ−ａの最後の波形データにおける振幅スペクトルのスペクトル包絡と遷移部分ａ−ｉの最初の波形データにおける振幅スペクトルのスペクトル包絡との時間補間を行い、伸ばし音の音声素片ａの発生区間において前者のスペクトル包絡から後者のスペクトル包絡へと連続的に変化するスペクトル包絡を求める。そして、ピッチ変換部６４３から出力される伸ばし音の音声素片ａの各波形データについて、各波形データにおける振幅スペクトルの局所的ピークが時間補間により得られたスペクトル包絡を形成するように、振幅スペクトルのレベル調整を行うのである。そして、素片連結部６４４は、遷移部分の音声素片ａ−ｉと遷移部分の音声素片ｉ−ｔとに挟まれた伸ばし音の音声素片ｉについても同様な処理を行う。なお、母音の伸ばし音部分の継続時間が長い場合には、伸ばし音部分の全区間を利用してクロスフェードを行うのでなく、図１７に例示するように、伸ばし音部分の全区間のうち伸ばし音部分の開始位置から始まる区間の一部を利用してクロスフェードを行ってもよい。なお、以上のような時間補間により得られた伸ばし音のスペクトル包絡に、音声素片ａの実際の音声から得られたゆらぎ、またはランダムなゆらぎを加えるとより好ましい。
【０１０１】
以上説明した第２の態様によれば、母音の伸ばし音部分を利用して音色を滑らかに変化させ、自然な歌唱音声を合成することができる。なお、伸ばし音部分の前後の遷移部分のスペクトル包絡の時間補間を直接行う代わりに、前後のスペクトル包絡の合成パラメータの時間補間を行い、この時間補間により得られた合成パラメータを用いて、伸ばし音区間のスペクトル包絡を求めるようにしてもよい。
【０１０２】
遷移部分と伸ばし音部分との境界については、上記第１の態様において説明したようなスペクトル包絡のクロスフェードを行ってもよいし、クロスフェードを行うことなく、そのままにしておいてもよい。
【０１０３】
＜＜＜Ｂ１−２−４．時間領域の信号への変換＞＞＞
素片連結部６４４は、スムージング処理を経た波形データにＩＦＦＴ（逆高速フーリエ変換）を施して時間領域のデジタル音声信号に変換し、このデジタル音声信号にフレーム単位で窓関数を乗じ、窓関数の乗じられた各フレームのデジタル音声信号を相互にオーバラップさせ、最終的なデジタル音声信号としてサウンドシステム８に出力する。サウンドシステム８は、このデジタル音声信号をアナログ音声信号に変換し、歌唱音声として出力する。
以上が単独の歌手による歌唱音声を合成する動作の詳細である。
【０１０４】
＜＜Ｂ２．コーラスの歌唱音声を合成する場合＞＞
＜＜＜Ｂ２−１．歌唱合成スコアの生成＞＞＞
歌唱合成スコア６５０を生成する動作に関しては、単独の歌手による歌唱音声を合成する場合と大きな差はない。ただし、ピッチデータトラック６５２の作成の際、ビブラートは付加せず、レガートやポルタメントなどのピッチの動きを持たせないことが望ましい。
【０１０５】
＜＜＜Ｂ２−２．素片選択、ピッチ変換および素片連結＞＞＞
＜＜＜Ｂ２−２−１．素片選択＞＞＞
素片選択部６４２による音声素片データの選択動作は、単独の歌手による歌唱音声を合成する場合と同様である。
【０１０６】
＜＜＜Ｂ２−２−２．ピッチ変換＞＞＞
ピッチ変換部６４３によるピッチ変換の動作も、単独の歌手による歌唱音声を合成する場合と基本的に同様である。ただし、コーラスの歌唱音声の合成の場合、音声素片データに含まれる波形データを解析しても音声素片の各フレームでのピッチを求めるのは困難である。そこで、コーラスの歌唱音声の合成の場合、ピッチ変換部６４３は、音声素片データに含まれる素片ピッチデータが示す音声素片の代表的なピッチをピッチ変換前のピッチとし（すなわち、１つの音声素片の中では全フレームを通じてピッチは一定であるとみなし）、そのピッチからピッチデータトラック６５２により指定されたピッチへのピッチ変換を行う。この場合においても、単独の歌手による歌唱音声を合成する場合と同様、音声素片の波形データにおける振幅スペクトルの周波数軸方向の圧縮または伸張に合わせて位相スペクトルの補正を行うのが好ましい。
【０１０７】
＜＜＜Ｂ２−２−３．素片連結および時間領域の信号への変換＞＞＞
単独の歌手による歌唱音声を合成する場合と同様、素片連結部６４４は、ピッチ変換部６４３によるピッチ変換を経た波形データに対し、音声素片の切り換わり点付近においてスペクトル包絡が滑らかに変化させるためのスムージング処理を施す。そして、このスムージング処理を経た波形データを時間領域のデジタル音声信号に変換し、サウンドシステム８に出力する。スムージング処理の態様は、上記第１の態様または第２の態様のいずれでもよい。また、音声素片の切り換わり点を含む所定期間の波形データについて、局所的ピークを含むローカルな振幅スペクトル分布を滑らかに変化させるためのクロスフェードを行うのが好ましい。
以上が本実施形態の動作の詳細である。
【０１０８】
＜Ｃ．他の実施形態＞
以上、この発明の一実施形態を説明したが、この発明には、これ以外にも各種の実施形態が考えられる。例えば次の通りである。
（１）音声素片データベース６３には、同一の音声素片について複数の音声素片データを格納し、それらを使い分けるようにしてもよい。例えば、同一音声素片についてピッチの異なる複数の音声素片データを格納しておき、素片選択部６４２は、歌唱合成の際に、音韻データトラック６５１により指定された音声素片に対応した複数の音声素片データのうちピッチデータトラック６５２により指定されたピッチに最も近いピッチの音声素片データを選択し、ピッチ変換部６４３に供給するように構成してもよい。この場合、ピッチ変換前のピッチとピッチ変換後のピッチが近いので、ピッチ変換に起因した音質の劣化を少なくすることができる。
（２）ピッチデータトラック６５２については、上記実施形態において挙げたもの以外の方法により音符の切り換わり部分のピッチに動きを与えても良い。例えばユーザが操作部４の操作によりピッチに動きを与える構成でも良い。
（３）素片連結部６４４は、周波数領域の情報である波形データ（振幅スペクトル、位相スペクトル）を時間領域の情報であるデジタル音声信号に変換した後、このデジタル音声信号を対象としてスムージング処理を行うようにしてもよい。例えば上記第１の態様によるスムージング処理を行う代わりに、音声素片の切り換わり点近傍において、先行音声素片の最後のｎ個の波形データＤ１〜Ｄｎと後続音声素片の最初のｎ個の波形データＤ１〜ＤｎからＩＦＦＴにより得られた時間領域のデジタル音声信号を対象としてクロスフェードを行い、最終的なデジタル音声信号としてもよい（図１５（ａ）〜（ｅ）参照）。
（４）歌唱合成スコアは、歌唱合成パラメータの時系列情報であればよく、１曲分に限らず、曲の１部分についての時系列情報でもよい。
【図面の簡単な説明】
【０１０９】
【図１】この発明の一実施形態である歌唱合成装置の構成を示すブロック図である。
【図２】同実施形態における歌唱合成プログラムの構成を示すブロック図である。
【図３】同実施形態における音韻データトラックの生成過程の例を示す図である。
【図４】同実施形態において立ち上がり部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。
【図５】同実施形態において遷移部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。
【図６】同実施形態において立ち下がり部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。
【図７】同実施形態において音符のピッチに到達した以降の区間のピッチに制御点を利用して動きを与える動作を例示する図である。
【図８】同実施形態における音符の切り換わり部分におけるピッチの変化の態様を例示する波形図である。
【図９】同実施形態における歌いだし部分におけるピッチの変化の態様を例示する波形図である。
【図１０】同実施形態における歌い終わり部分におけるピッチの変化の態様を例示する波形図である。
【図１１】同実施形態におけるピッチ変換の原理を示す図である。
【図１２】同実施形態においてピッチ変換のために行う振幅スペクトルの周波数軸方向の圧縮または伸張処理を示す図である。
【図１３】同圧縮または伸張処理の詳細を示す図である。
【図１４】同圧縮または伸張処理に伴って行う位相スペクトルの補正処理を示す図である。
【図１５】同実施形態において素片連結部が行うスムージング処理の第１の態様を示す図である。
【図１６】同実施形態において素片連結部が行うスムージング処理の第２の態様を示す図である。
【図１７】同スムージング処理の第２の態様の他の例を示す図である。
【符号の説明】
【０１１０】
１……ＣＰＵ、４……操作部、６……ＨＤＤ、７……ＲＡＭ、８……サウンドシステム、６１……曲編集プログラム、６２……曲データ、６３……音声素片データベース、６４……歌唱合成プログラム、６４１……歌唱合成スコア生成部、６４２……素片選択部、６４３……ピッチ変換部、６４４……素片連結部、６５０……歌唱合成スコア、６５１……音韻データトラック、６５２……ピッチデータトラック、６５３……その他のデータトラック。
【図１】
0004839891.tif 000002
【図２】
0004839891.tif 000003
【図３】
0004839891.tif 000004
【図４】
0004839891.tif 000005
【図５】
0004839891.tif 000006
【図６】
0004839891.tif 000007
【図７】
0004839891.tif 000008
【図８】
0004839891.tif 000009
【図９】
0004839891.tif 000010
【図１０】
0004839891.tif 000011
【図１１】
0004839891.tif 000012
【図１２】
0004839891.tif 000013
【図１３】
0004839891.tif 000014
【図１４】
0004839891.tif 000015
【図１５】
0004839891.tif 000016
【図１６】
0004839891.tif 000017
【図１７】
0004839891.tif 000018