JP4839891B2 - 歌唱合成装置および歌唱合成プログラム - Google Patents

歌唱合成装置および歌唱合成プログラム Download PDF

Info

Publication number
JP4839891B2
JP4839891B2 JP2006058771A JP2006058771A JP4839891B2 JP 4839891 B2 JP4839891 B2 JP 4839891B2 JP 2006058771 A JP2006058771 A JP 2006058771A JP 2006058771 A JP2006058771 A JP 2006058771A JP 4839891 B2 JP4839891 B2 JP 4839891B2
Authority
JP
Japan
Prior art keywords
pitch
data
speech
speech unit
frequency
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.)
Active
Application number
JP2006058771A
Other languages
English (en)
Other versions
JP2007240564A (ja
Inventor
秀紀 劔持
ボナダ ジョルディ
ロスコス アレックス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006058771A priority Critical patent/JP4839891B2/ja
Publication of JP2007240564A publication Critical patent/JP2007240564A/ja
Application granted granted Critical
Publication of JP4839891B2 publication Critical patent/JP4839891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、歌唱音の合成を行う歌唱合成装置および歌唱合成プログラムに関する。
一般に歌唱合成では、単一の音素や音素から音素への遷移部分など、歌唱音声の素材となる各種の音声素片の波形を定義した音声素片データを予めデータベース化しておく。そして、ある歌詞をあるメロディに合わせて歌唱する歌唱音声を合成する際には、データベースから歌詞を構成する音声素片に対応した音声素片データを選択して読み出して接続し、それらの音声素片データに対し、各々のピッチをメロディに合わせるためのピッチ変換を施し、歌唱音声の波形を示すデータを合成する。
この種の歌唱合成技術として、特許文献1や特許文献2等により公知のSMS(Spectral Modeling Synthesis)を利用した技術がある。このSMSを利用した歌唱合成技術では、次のようにして音声素片データのデータベースを作成する。まず、SMS分析処理を行う。このSMS分析処理では、様々な音声素片を含んだ入力音声信号を一定時間長のフレームに区分し、各フレーム毎にFFT(Fast Fourier Transform)等を行うことにより1組の強度(マグニチュード)スペクトルを生成し、各フレーム毎に1組の強度スペクトルから複数のピークに対応する線スペクトルを抽出する。これらの線スペクトルの振幅値および周波数を表わすデータを調和成分(Deterministic Component)のデータと称する。次に、入力音声波形のスペクトルから調和成分のスペクトルを差引いて残差スペクトルを得る。この残差スペクトルを非調和成分(Stochastic Component)と称する。次に区間切り出し処理を行う。この区間切出し処理では、SMS分析処理で得られた調和成分のデータおよび非調和成分のデータを音声素片に対応して区分し、各音声素片毎に調和成分のデータおよび非調和成分のデータからなる音声素片データをデータベースに格納するのである。
そして、歌唱合成の際には、歌詞を構成する音素列に音素列/音声素片変換処理を施して音素列を音声素片に区分し、音声素片毎にそれに対応する音声素片データをデータベースから読み出す。次に、読み出した音声素片データ(調和成分のデータおよび非調和成分のデータ)に音声素片連結処理を施して音声素片データ同士を発音順に接続する。次に、音声素片毎に調和成分のデータをメロディの音符に適合した新たな調和成分のデータに変換するピッチ変換を行う。このピッチ変換では、調和成分の周波数が目的とするピッチに対応した周波数となるように周波数軸方向に調和成分の圧縮または伸張を行い、かつ、新たな調和成分のデータが表すスペクトル包絡が元の調和成分のデータが表わすスペクトル包絡の形状をそのまま引継ぐようにスペクトル強度を調整する。そして、このようにしてピッチ変換を経た調和成分のデータと非調和成分のデータとを音声素片毎に加算する。そして、加算の結果得られるデータに対し、音声素片毎に逆FFT等を施し、時間領域の音声信号に変換する。
このようにSMSを利用した歌唱合成技術では、音声素片の調和成分および非調和成分のうち調和成分に関して音色を維持したままピッチをメロディに合わせて変化させ、これを非調和成分と加算してメロディに適合したピッチを持った音声素片を得る。しかしながら、音声素片を厳密に調和成分と非調和成分とに分けることは難しく、非調和成分には、元の音声素片のピッチを反映している調和成分の影響がどうしても残ってしまう。従って、この非調和成分にピッチ変換後の調和成分を加算すると、それにより得られる音声素片は、調和成分と非調和成分の一体感が十分でなく、例えば母音の伸ばし音区間において非調和成分が分離して響き、人工的な音声として聴こえるという問題が生じる。
特許文献2に開示の技術では、このような問題に対処するため、非調和成分のデータが表わす低域の振幅スペクトル分布をメロディのピッチに応じて修正するようにしている。しかし、このように非調和成分のデータを修正しても、非調和成分が分離して響くのを完全に抑えるのは容易でない。また、SMS技術には、有音の摩擦音や破裂音等の分析が難しく、合成音が非常に人工的な音になってしまうという問題もある。SMS技術は、音声信号が調和成分と非調和成分とから成り立っていることを前提にしているものであり、音声信号を調和成分と非調和成分とに完全に分離できないことは、SMS技術にとって根本的な問題といえる。
以上の問題に鑑み、本出願人は、SMSとは異なる方法により歌唱音声を合成する技術を提案した。この技術は特許文献3に開示されている。この特許文献3に開示の技術では、基本的には以下のようなステップにより歌唱音声を合成する。
(1)合成すべき音声の音声素片に対応する音声波形を周波数分析して周波数スペクトルを検出する。
(2)検出した周波数スペクトル上でスペクトル強度の局所的ピーク(すなわち、倍音に対応したスペクトル)を複数検知する。
(3)各局所的ピーク毎に、各局所的ピークとその前後のスペクトルとを含むスペクトル分布領域を指定し、各スペクトル分布領域毎に振幅スペクトル分布を周波数軸に関して表わす振幅スペクトルを生成する。
(4)各スペクトル分布領域毎に位相スペクトル分布を周波数軸に関して表わす位相スペクトルを生成する。
(5)合成すべき音声についてピッチを指定する。
(6)各スペクトル分布領域毎に振幅スペクトルが表わす振幅スペクトル分布を合成すべき音声のピッチに応じて周波数軸方向に移動する。
(7)上記(6)の振幅スペクトルの修正に対応して、各スペクトル分布領域毎に位相スペクトルが表わす位相スペクトル分布を修正する。
(8)修正された振幅スペクトルおよび修正された位相スペクトルを時間領域の合成音声信号に変換する。
米国特許第5029509号 特開2002−202790号公報 特開2003−255998号公報 特開2002−221978号公報 特開2002−202788号公報 特開2003−323188号公報 特開2003−255974号公報
上述した特許文献3に開示の技術によれば、音声波形の周波数分析結果を調和成分と非調和成分とに分離しないで音声合成を行なうため、合成される音声において非調和成分が分離して響くことはなくなる。しかし、この技術では、音声素片の全スペクトルの中から各々スペクトル強度の局所的ピークを含む複数のスペクトル分布領域を取り出し、これらのスペクトル分布領域を周波数軸方向に移動することによりピッチ変換を行うので、ピッチ変換(より具体的には元のピッチよりも高いピッチへの変換)後の音声素片のスペクトルは、複数のスペクトル分布領域の各間の中間領域のスペクトルが欠落したものとなる。このため、合成される歌唱音声が不自然なものになる場合があった。
この発明は、以上説明した事情に鑑みてなされたものであり、本来の音声素片が有していた音色を損なうことなく、音符の変化に応じたピッチ変化を有し、かつ、自然感に富んだ歌唱音声を合成することを目的としている。
この発明は、各種の音声素片を示す音声素片データを記憶する音声素片データベースと、曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを前記音声素片データベースから読み出す素片選択手段と、周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、前記音声素片データが示す音声素片の振幅スペクトルの周波数軸方向の圧縮または伸張処理を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段とを具備することを特徴とする歌唱合成装置およびコンピュータをそのような歌唱合成装置として機能させるコンピュータプログラムを提供する。
かかる発明によれば、局所的ピークの近傍のローカルな周波数領域の振幅スペクトル分布の形状およびスペクトル包絡の形状を変えることなく、局所的ピークの周波数を歌唱合成スコアにより指定されたピッチに対応した周波数にすることができる。また、ローカルな周波数領域のみならず、それらの間の中間周波数領域の振幅スペクトルをも含めて周波数軸方向の圧縮または伸張処理を行うようにしているので、ピッチ変換の際に中間周波数領域の振幅スペクトルが損なわれない。従って、音声素片が本来有していた音の特徴を損なうことなく、ピッチ変換を行うことができる。
以下、図面を参照し、この発明の実施の形態を説明する。
<A.実施形態の構成>
<<A−1.全体構成>>
図1は、この発明の一実施形態である歌唱合成装置の構成を示すブロック図である。この歌唱合成装置は、音声を出力する機能を有するパーソナルコンピュータなどのコンピュータに対し、歌唱合成プログラムをインストールしたものである。図1において、CPU1は、この歌唱合成装置の各部を制御する制御中枢である。ROM2は、ローダなど、この歌唱合成装置の基本的な動作を制御するための制御プログラムを記憶した読み出し専用メモリである。表示部3は、装置の動作状態や入力データおよび操作者に対するメッセージなどを表示するための装置である。操作部4は、ユーザからコマンドや各種の情報を受け取るための手段であり、キーボードやマウスなどの各種の操作子により構成されている。インタフェース群5は、ネットワークを介して他の装置との間でデータ通信を行うためのネットワークインタフェースや、磁気ディスクやCD−ROMなどの外部記憶媒体との間でデータの授受を行うためのドライバなどにより構成されている。HDD(ハードディスク装置)6は、各種のプログラムやデータベースなどの情報を記憶するための不揮発性記憶装置である。RAM7は、CPU1によってワークエリアとして使用される揮発性メモリである。CPU1は、操作部4を介して与えられる指令に従い、HDD6内のプログラムをRAM7にロードして実行する。サウンドシステム8は、この歌唱合成装置において合成された音声を出力する手段であり、合成音声のサンプルデータであるデジタル音声信号をアナログ音声信号に変換するD/A変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
HDD6に記憶される情報として、曲編集プログラム61と、曲データ62と、音声素片データベース63と、歌唱合成プログラム64がある。曲データ62は、曲を構成する一連の音符を表す音符データと、音符に合わせて発声する歌詞を表す歌詞データと、曲に音楽的表情を与えるためのダイナミックス情報等のその他の情報からなるデータであり、曲毎に編集されてHDD6に格納される。曲編集プログラム61は、曲データを編集するためにCPU1によって実行されるプログラムである。好ましい態様において、この曲編集プログラム61は、ピアノの鍵盤の画像からなるGUI(グラフィカルユーザインタフェース)を表示部3に表示させる。ユーザは、表示部3に表示された鍵盤における所望の鍵の画像を操作部4の操作により指定し、また、その音符に合わせて発声する歌詞を操作部4の操作により入力することができる。曲編集プログラム61は、このようにして、音符とその音符に合わせて発声する歌詞に関する情報をユーザから操作部4を介して受け取り、音符毎に音符データと歌詞データとを曲データ62としてHDD6内に格納する。さらにユーザは操作部4の操作によりダイナミックス情報等を曲データ62に追加することができる。なお、このように曲データ62の全てを操作部4の操作により入力させるのではなく、歌唱合成装置に鍵盤を接続し、ユーザによる鍵盤の操作を検知することにより音符データを生成し、この音符データに対応させる歌詞を操作部4の操作により入力させるようにしてもよい。
1個の音符に対応した音符データは、音符の発生時刻、音高、音符の長さを示す各情報を含んでいる。歌詞データは、音符に合わせて発音すべき歌詞を音符毎に定義したデータである。曲データ62は、曲の開始からの発生順序に合わせて、個々の音符に対応した音符データと歌詞データとを時系列的に並べたものであり、曲データ62内において音符データと歌詞データは音符単位で対応付けられている。
歌唱合成プログラム64は、この曲データ62に従って、歌唱音を合成させる処理をCPU1に実行させるプログラムである。好ましい態様において、歌唱合成プログラム64および曲編集プログラム61は、例えばインターネット内のサイトからインタフェース群5の中の適当なものを介してダウンロードされ、HDD6にインストールされる。また、他の態様において、歌唱合成プログラム64等は、CD−ROM、MDなどのコンピュータ読み取り可能な記憶媒体に記憶された状態で取引される。この態様では、インタフェース群5の中の適当なものを介して記憶媒体から歌唱合成プログラム64等が読み出され、HDD6にインストールされる。
音声素片データベース63は、CV(子音から母音への遷移部)、VV(母音から他の母音への遷移部)、VC(母音から子音への遷移部)などの音素から音素への遷移部分(Articulation)や母音Vの伸ばし音(Stationary)など、歌声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。音声素片データベース63では、男性歌手、女性歌手、澄んだ声の歌手、ハスキーな声の歌手など、声質の異なった歌手毎に、各歌手の歌唱音声波形から得られた音声素片データのグループが用意されている。また、本実施形態では、コーラス用の音声素片データのグループも音声素片データベース63に格納されている。これは、複数人の歌唱者に同一のメロディを合唱させ、このコーラスの歌唱音声を収録し、その録音波形から各種の音声素片に対応した部分を抽出することにより得られたものである。歌唱合成プログラム64による歌唱合成の際、ユーザは、操作部4の操作により、以上のような各種の音声素片データのグループの中から歌唱合成に使用する音声素片データのグループを選択することができる。
各音声素片データは、音声素片の波形を示す波形データを含んでいる。この波形データは、音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列であってもよいし、音声素片の波形のサンプル列を一定時間長のフレームに分割し、FFT(高速フーリエ変換)を行うことにより得られたフレーム毎のスペクトル(振幅スペクトルおよび位相スペクトル)であってもよい。また、各音声素片データは、音声素片を構成する音素の種類と各音素の開始時刻を示すセグメンテーションデータを含む。
本実施形態では、音声素片データに含まれる波形データにピッチ変換を施して利用することにより、任意のメロディに対応した歌唱音声を合成する。このピッチ変換を行うために、その対象である波形データのピッチに関する情報が必要である(ピッチ変換については後述する)。そこで、ある好ましい態様では、歌唱合成の際のピッチ変換の便宜のため、音声素片の波形のピッチがフレーム毎に算出され、各フレームにおけるピッチを示す素片ピッチデータが音声素片データの一部として音声素片データベース63に格納される。
他の好ましい態様では、歌唱合成の際の演算処理の便宜のため、上記素片ピッチデータに加えて、音声素片の振幅スペクトルの包絡線がフレーム毎に求められ、各フレームにおけるスペクトル包絡を示すスペクトル包絡データが音声素片データの一部として音声素片データベース63に格納される。
また、コーラス用の音声素片データには、音声素片を代表するピッチを示す素片ピッチデータが含まれている。ここで、音声素片を代表するピッチとは、例えば複数人による歌唱音声の収録時に使用した楽譜から求められるピッチである。このような音声素片を代表するピッチを示す素片ピッチデータを音声素片データに含めるのは、次の理由による。まず、コーラス用の音声素片データは、複数人が一斉に発声したときの歌唱音声から取り出された複数人分の音声素片の和を示すものである。そして、音声収録時、各人が同じ音符に合わせて同じピッチで発声を行うように努めたとしても、各人の歌唱音声の音声素片のピッチにはどうしてもバラツキが生じる。従って、コーラス音用の音声素片データが示す音声素片の解析を行ったとしてもそのピッチを求めることは困難である。そこで、楽譜から求められるピッチを代表的なピッチとし、そのピッチを示す素片ピッチデータをコーラス用の音声素片データに含めるのである。なお、合唱の収録時には、合唱団全体のピッチが下がる場合がある。そのような場合には、この「ピッチの下がり」を考慮し、音声素片の代表的なピッチを決定する。
<<A−2.歌唱合成プログラムの構成>>
本実施形態の特徴は、CPU1が歌唱合成プログラム64に従って行う歌唱合成処理の内容にある。図2はこの歌唱合成プログラム64の構成を示すブロック図である。図2に示すように、歌唱合成プログラム64は、各々所定の機能を実現するプログラムである歌唱合成スコア生成部641と、素片選択部642と、ピッチ変換部643と、素片連結部644とにより構成されている。なお、本実施形態では、CPU1が歌唱合成スコア生成部641等に相当する各プログラムを実行することにより歌唱音声の合成を行うが、これらの各プログラムを複数のプロセッサが分担して並列実行するように構成してもよい。また、歌唱合成スコア生成部641等の各プログラムの一部を電子回路により構成してもよい。
図2において、歌唱合成スコア生成部641は、操作部4の操作により指定された曲データ62から歌唱合成スコア650を生成するプログラムである。この歌唱合成スコア650は、音韻データトラック651と、ピッチデータトラック652と、ダイナミックス等のその他の合成パラメータのデータトラック653とにより構成される。これらの各データトラックは、時間軸を共通にするものである。音韻データトラック651は、1曲分の歌唱音声を合成するのに使用する複数の音声素片と、それらの各音声素片の時間軸上における位置(具体的には音声素片の開始タイミングおよび継続時間)を示すデータトラックである。ピッチデータトラック652は、合成すべき歌唱音声のピッチを示すデータトラックである。その他のデータトラック653は、ダイナミックス情報などのピッチ以外の合成パラメータを曲の進行に合わせて時系列化したデータトラックである。
歌唱合成スコア生成部641は、音韻データトラック651を生成するための手段として、音素列/音声素片変換手段と、タイミング合わせ手段とを有している。音素列/音声素片変換手段は、歌詞データが示す音素列を音声素片の列に変換する。通常、音素列において子音−母音−子音というように音韻が変化する場合、音素列/音声素片変換手段は、子音から母音への遷移部分の音声素片CVと、母音の伸ばし音の音声素片Vと、母音から子音への遷移部分の音声素片VCとを用いて、CV−V−VCなる音声素片列を構成する。例えば歌詞データが示す音素列が[sa−i−ta]である場合、音素列/音声素片変換手段は、これを#s、s−a、a、a−i、i、i−t、t−a、a#という音声素片の列に変換する。ここで、#sは、無音から子音sへの遷移部分である音声素片、s−aは子音sから母音aへの遷移部分である音声素片である。他の音声素片もこれと同じ表記方法による。なお、音素列において子音−母音−子音というように音韻が変化する場合において音符長が短い場合には、音素列/音声素片変換手段は、CV−VCなる音声素片列への変換を行ってもよい。
タイミング合わせ手段は、歌詞データから得られた各音声素片の発生時刻を決定し、それらの時刻において各音声素片を発生させることを示す音韻データトラック651を生成する。その際、歌唱合成スコア生成部641は、発生させる音声素片の音声素片データ内のセグメンテーションデータを参照して、音声素片における母音部分の開始時刻を求め、例えば特許文献4または5に開示されているように、音符データが示すノートオンタイミングにおいて音声素片における母音部分の開始されるように各音声素片の発生時刻を決定する。
歌唱合成スコア生成部641は、基本的には音符データに従い、また、ビブラートやポルタメント、レガートの指示がある場合にはそれに従い、ピッチデータトラック652を生成する。ただし、ピッチデータトラックを音符データ通りのものにすると、ピッチの変化が階段状になり、不自然な歌唱音声になるので、本実施形態では、音符の切り換わり区間においてピッチが自然な動きをするように、ピッチデータトラック652が示すピッチに変化を与える。このようなピッチデータトラック652の生成方法には各種の態様が考えられるが、その詳細については本実施形態の動作説明において明らかにする。その他のデータトラック653は、曲データ62に含まれるダイナミックス情報等に基づいて作成される。
素片選択部642、ピッチ変換部643および素片連結部644は、歌唱合成スコア650に従って歌唱音声の波形を示すデジタル音声信号を生成する役割を担っている。ここで、歌唱合成スコア650からデジタル音声信号を生成する処理は、1曲分の歌唱合成スコア650の生成が完了した後に開始するようにしても良いし、歌唱合成スコア650の生成開始から少し遅れて開始されるようにしても良い。
素片選択部642は、歌唱合成スコア650の音韻データトラック651において指定されている音声素片の音声素片データを音声素片データベース63からロードし、その波形データをピッチ変換部643に引き渡すプログラムである。本実施形態における素片選択部642は、音声素片データに含まれる波形データをピッチ変換部643に引き渡す際に、その継続時間長を歌唱合成スコア650において指定された音声素片の継続時間長に合わせる機能を備えている。
ピッチ変換部643は、ピッチデータトラック652において指定されたピッチに対応した波形データとなるように、素片選択部642から引き渡された音声素片の波形データのピッチ変換を行うプログラムである。さらに詳述すると、例えば音声素片の波形データが音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列である場合、ピッチ変換部643は、所定サンプル数からなるフレーム単位でサンプル列のFFTを行い、音声素片の波形の振幅スペクトルおよび位相スペクトルをフレーム毎に求める。そして、ピッチデータトラック652において指定されたピッチに対応するように、各フレームにおける振幅スペクトルを周波数軸方向に伸長または圧縮する。その際、基音および倍音に相当する周波数の近傍は、元のスペクトルの概形が保たれるように、非線形な圧縮または伸長を行い、ピッチ変換後の振幅スペクトルとする。また、ピッチ変換後においてもピッチ変換前のスペクトル包絡が維持されるように、非線形な圧縮または伸張を経た振幅スペクトルのレベル調整を行う。位相スペクトルに関しては、元の位相スペクトルをそのままピッチ変換後の位相スペクトルとしてもよいが、振幅スペクトルの周波数軸方向の圧縮または伸張に合わせて補正を行ったものをピッチ変換後の位相スペクトルとする方が好ましい。
素片連結部644は、最終的に得られる歌唱音声が一連の音声素片が滑らかに繋がったものとなるように、ピッチ変換部643の処理を経た波形データの調整を行い、この調整後の波形データを時間領域のデジタル音声信号に変換するプログラムである。この素片連結部644に関しても各種の態様があり得るが、その詳細については本実施形態の動作説明において明らかにする。
<B.実施形態の動作>
以下、本実施形態の動作を説明する。
操作部4の操作により、曲データ62および歌唱合成に用いる音声素片データのグループの指定が行われると、CPU1は、歌唱合成プログラム64を実行する。その際、歌唱合成プログラム64の歌唱合成スコア生成部641は、曲データ62から歌唱合成スコア650を生成し、素片選択部642、ピッチ変換部643および素片連結部644は、歌唱合成スコア650に従って歌唱音声の波形を示すデジタル音声信号を生成する。これらの各処理の詳細は以下に示す通りである。
<B1.単独の歌手による歌唱音声を合成する場合>
<<B1−1.歌唱合成スコアの生成>>
歌唱合成スコア生成部641は、曲データ62から歌唱合成スコア650の各トラック651〜653を生成する。以下、音韻データトラック651、ピッチデータトラック652の順に、それらを生成する動作について説明する。なお、その他のデータトラック653を生成する動作については、本発明との関係が薄いのでその説明を省略する。
<<B1−1−1.音韻データトラックの生成>>
図3は、音符N1、N2、N3に合わせて音素列[sa−i−ta]を歌唱する場合を例に、歌唱合成スコア生成部641が音韻データトラック651を生成する過程を示したものである。まず、歌唱合成スコア生成部641の音素列/音声素片変換手段は、歌詞データが示す音素列[sa−i−ta]を音声素片の列[#s、s−a、a、a−i、i、i−t、t−a、a#]に変換する。
次に歌唱合成スコア生成部641のタイミング合わせ手段は、これらの各音声素片の音声素片データを音声素片データベース63から読み出し、各音声素片データ内のセグメンテーションデータを参照することにより、各音声素片における母音部分の開始時刻を求める。そして、タイミング合わせ手段は、音声素片の母音部分の開始時刻が音符のノートオンタイミングとなるように各音声素片の発生時刻を決定し、各音声素片を音韻データトラック651にマッピングする。図3には、この音声素片のマッピングのなされた音韻データトラック651が示されている。図3において音韻データトラック651を示すストライプは、縦方向の実線および点線により区切られているが、実線の区切り線は音声素片の境界を示しており、点線の区切り線は音素から音素への遷移部分の音声素片において2つの音素間の境界を示している。図示の例では、タイミング合わせ手段は、音声素片[s−a]における母音部分aの開始タイミングが音符N1のノートオンタイミングと一致し、音声素片[a−i]における後半の母音部分iの開始タイミングが音符N2のノートオンタイミングと一致し、音声素片[t−a]における母音部分aの開始タイミングが音符N3のノートオンタイミングと一致するように、各音声素片の開始時刻と継続時間長を決定している。このように、タイミング合わせ手段は、音符データが示すノートオンタイミングに音声素片における母音部分の開始点が位置するように各音声素片のマッピング、すなわち、音声素片の開始時刻および継続時間の設定を行う。3つ以上の音素からなる音声素片についても同様である。
<<B1−1−2.ピッチデータトラックの生成>>
歌唱合成スコア生成部641は、基本的には音符データに従い、また、ビブラートやレガート、ポルタメントの指示がある場合にはその指示に従ってピッチデータトラック652を生成するが、人間が行う歌唱に似た自然なピッチ変化を実現するため、音符の切り換わり区間においてピッチデータトラックが示すピッチに自然な動きを与える。この音符の切り換わり部におけるピッチの動きを付与する処理の態様として、例えば以下説明するピッチモデルを使用する態様と、制御点を使用する態様がある。
<<<B1−1−2−1.ピッチモデルを使用する態様>>>
この態様は、本出願人による先願である特許文献6に開示された態様である。この態様においてピッチモデルとは、ピッチデータトラック652において、ピッチの不連続な変化を連続的な変化に変換するための連続曲線モデルのことである。ピッチモデルは、その付与される位置との関係により、立ち上がり部ピッチモデル、遷移部ピッチモデル、立ち下がり部ピッチモデルの3つに大別される。
立ち上がり部ピッチモデルは、音韻が無音から有声音に遷移するアタック部分において、ピッチをある値から有声音のピッチへ緩やかに移行させる曲線であり、基本的には正の傾きを有する。遷移部ピッチモデルは、音韻がある有声音から別の有声音へ遷移する部分において、ピッチを先行音韻が割り当てられている音符のピッチから後続音韻が割り当てられている音符のピッチへと緩やかに移行させる曲線モデルである。立ち下がり部ピッチモデルとは、音韻がある有声音から無音に遷移するリリース部分において、ピッチを有声音のピッチからある値へ緩やかに移行させる曲線である。このピッチモデルを使用する態様では、立ち上がり部ピッチモデル、遷移部ピッチモデル、立ち下がり部ピッチモデルを定義する情報がHDD6に予め記憶されており、歌唱合成スコア生成部641は、これらの各ピッチモデルの定義情報を参照することによりピッチデータトラック652における音符の切り換わり区間のピッチに適切な変化を与える。
図4(a)〜(c)は、立ち上がり部ピッチモデル100aの適用例を示している。これらの図において、Silは無音、Cは子音、Vは母音を表わしている。図4(a)は、無音Silから無声子音Cと母音Vの組み合わせ(例:sa)に遷移する場合に付与される立ち上がり部ピッチモデル100aの例を示している。この場合、ピッチデータトラック652では、無声子音Cから母音Vへの遷移部分C−Vにおける子音部Cの終了点をピッチモデル100aの始点とし、ピッチを所定の値から母音Vが割り当てられた音符のピッチへ緩やかに変化させる。ピッチモデル100aは、その始端部と終端部にそれぞれオーバシュート部101、102を有するとともに、これらのオーバシュート部の間にスロープ部103を有している。この点は、後述する遷移部ピッチモデル100b、立ち下がり部ピッチモデル100bでも同様である。
図4(b)は、無音Silから有声子音Cと母音Vの組み合せの音韻(例:ga)に遷移する場合に付与される立ち上がり部ピッチモデル100aの例である。この場合、無声から有声子音への遷移部分Sil−Cの子音部Cの開始点をピッチモデル100aの始点とし、ピッチを所定の値から母音Vが割り当てられた音符のピッチへ緩やかに変化させる。図4(c)は、無音から母音V(例:a)に遷移する場合に付与される立ち上がり部ピッチモデル100aの例である。この場合、母音V(例えばa)の開始点をピッチモデル100aの始点とし、ピッチを所定の値から母音の割り当てられた音符のピッチへ緩やかに変化させる。
好ましい態様では、無音状態から立ち上がる音韻のピッチの大きさにより、付与するピッチモデル100aの形状を変化させる。基本的には、無音状態から立ち上がる音韻のピッチが小さい場合には緩いスロープのピッチモデル100aを、無音状態から立ち上がる音韻のピッチが大きい場合には比較的急なスロープのピッチモデル100aを付与する。
図5(a)〜(c)は、遷移部ピッチモデル100bの例を示している。これらの場合、遷移部に先行する音符のピッチと、後続の音符のピッチとの差に基づき、ピッチモデル100bの形成を行う。また、後続の音符に割り当てられる音韻の種類(無声子音、有声子音、母音など)に応じて、ピッチモデル100bの付与を開始する位置を変化させる。例えば、後続の音符に割り当てられる音韻が無声子音と母音との組み合わせである場合には、図5(a)に示すように、その母音の開始時刻をピッチモデルの終了時刻とする。すなわち、オーバシュート部102の始端部が、母音の開始時刻に合致するように、遷移部ピッチモデル100bの位置を合わせ込む。また、後続の音符データに有声子音と母音の組み合わせが割り当てられている場合には、例えば図5(b)に示すように、オーバシュート部101の終端部を後続音韻C−Vの子音Cの開始位置に合わせるとともに、オーバシュート部102の始端部を後続音韻C−Vの子音Cと母音Vの境界位置に合わせる。また、遷移部の後続音符に割り当てられる音韻が母音のみからなる場合には、図5(c)に示すように、先行音韻の母音Vと後続音韻の母音Vとの境界位置をオーバシュート部102の始端部とする。オーバシュート部101の終端位置はスロープ部103の時間長に基づいて決定する。
図6は、母音(例:a)から無音に遷移する場合に付与される立ち下がり部ピッチモデル100cの例を示している。この場合、図6に示すように、母音(例えばa)の発音が終了し無音部に移行した時点がピッチモデル100cの終点となるように、ピッチモデル100cの時間軸上における位置を決定する。
以上のように、音符の切り換わり部における音韻の遷移の態様に応じてピッチモデルを使い分けることにより、人間の歌唱において観察されるような自然なピッチの変化を持ったピッチデータトラック652を生成することができる。
なお、以上は、ピッチデータトラック652の生成に使用するピッチモデルの一例であり、これら以外にも様々なピッチモデルの適用例がある。詳細は特許文献6を参照されたい。
<<<B1−1−2−2.制御点を使用する態様>>>
この態様は、本出願人が特願2005−157758号において提案している態様である。この態様において、歌唱合成スコア生成部641は、ピッチデータトラック652を生成するための処理として、制御点設定処理と、ピッチデータ生成処理とを有している。この態様では、合成される歌唱音声の表情を豊かなものにするため、音符に対応したピッチに到達した以降における歌唱音声のピッチが、ある軌道に沿って変化するように、ピッチデータトラック652を生成する。このようなピッチデータトラック652を得るため、制御点設定処理では、音符毎に、合成される歌唱音のピッチの軌跡の目標通過点として、基本的には3個の制御点A、BおよびC、例外的にはそれらのうちの2個または1個の制御点を定める。ここで、制御点Aは、歌唱音のピッチが音符に対応したピッチに到達した後、最初に通過すべき目標通過点、制御点Bは、2番目に通過すべき目標通過点、制御点Cは最後に通過すべき目標通過点である。
このような制御点を音符毎に定めるため、この態様では、制御点A、B、Cに関するデータが予め用意されている。ここで、制御点AおよびBに関するデータは、音符の開始時刻(ノートオンタイミング)から制御点AまたはBまでの経過時間を示す情報と、制御点AまたはBのピッチと平均律により決められる音符のピッチとの音高差を示すセント値とを含む。また、制御点Cに関するデータは、制御点Cから音符の終了時刻(ノートオフタイミング)までの残り時間を示す情報と、制御点Cのピッチと平均律により決められる音符のピッチとの音高差を示すセント値とを含む。制御点設定処理では、音符毎に、その音符の音符データと、これらの制御点A、BおよびCに関するデータとに基づき、制御点A、BおよびCのタイミングとピッチを定める。
ピッチデータ生成処理では、これらの制御点A、BおよびCを通過するピッチの軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成し、このピッチデータをピッチデータトラック652に格納する。この態様では、制御点AおよびB間と、制御点BおよびC間と、制御点Cおよび次の音符の制御点A間について、各区間のピッチの軌道を求めるための関数が予め定義されている。ピッチデータ生成処理では、これらの関数を利用し、各制御点を通過するピッチの軌道を求める。
図7(a)〜(c)は制御点設定処理およびピッチデータ生成処理の実行例を示している。図7(a)は、音符データの内容を例示するものである。この図において、横軸は時間であり、縦軸は音符のピッチである。この図に示すように、音符データによって表される一連の音符N0〜N4のピッチは、階段状に変化する。制御点設定処理では、これらの音符N0〜N4に制御点が設定され、ピッチデータ生成処理では各制御点を通過するピッチの軌道が求められ、この軌道に沿ってピッチを変化させるピッチデータが生成される。図7(b)は、音符N1に対して制御点A、B、Cが設定され、これらの制御点間を結ぶピッチの軌道が決定された様子を示している。図7(b)に示す例において、制御点AおよびCのピッチは、音符のピッチよりも僅かに高いピッチとされ、制御点Bのピッチは音符のピッチよりも低いピッチとされている。
制御点設定処理では、1つの音符に対し、基本的に3つの制御点A、B、Cが設定される。しかし、音符の符長が第1の閾値より短い場合には、最後の制御点Cが消去され、制御点AおよびBのみが設定される。さらに、音符の符長が第1の閾値よりも短い第2の閾値よりも短く、2つの制御点を設定するに値しない場合には、制御点Aのみがその音符に設定される。図7(c)には、符長が長い音符N1およびN4に3つの制御点A、B、Cが設定され、第1の閾値よりも短い符長の音符N3に2つの制御点A、Bが設定され、第2の閾値よりも短い符長の音符N2に1つの制御点Aが設定された例が示されている。
ピッチデータ生成処理においては、制御点AおよびB間、制御点BおよびC間、最後の制御点(通常は制御点C、例外的に制御点BまたはA)および後続音符の制御点A間の各区間についてピッチの軌道の演算方法が定められており、この演算方法に従って各区間の軌道が演算される。この制御点間の軌道の演算方法には各種の態様が考えられる。図7(b)では、制御点AおよびB間を結ぶ直線をピッチの軌道とする第1の態様が破線で示され、制御点AおよびB間を結ぶ緩やかな谷をピッチの軌跡とする第2の態様が実線で示されている。
第1の態様では、例えば時刻tにおける制御点AおよびB間の軌道上のピッチpを、次式により求めることができる。
p=pA+((pB−pA)/(tB−tA))(t−tA) ……(1)
ここで、pAは制御点Aのピッチ、pBは制御点Bのピッチ、tAは制御点Aの時刻、tBは制御点Bの時刻である。
第2の態様では、制御点AおよびB間の軌道上のピッチPを、次式により求めることができる。
p=pA+((pB−pA)/(tB−tA))(t−tA)
−v1sin(π(t−tA)/(tB−tA)) ……(2)
ここで、v1は谷の深さを表すパラメータである。
制御点BおよびC間のピッチの軌道も同様であり、この軌道は制御点間を結ぶ直線としてもよいし、曲線としてもよい。
本実施形態では、実際の人間の歌唱音におけるピッチの振る舞いに合わせ、制御点AおよびB間の軌道は谷とし、制御点BおよびC間の軌道は直線としている。
音符の切り換わり部分におけるピッチの軌道は、先行する音符の最後の制御点(通常は制御点C)と後続の音符の最初の制御点Aとを結ぶ直線または曲線とされる。図7(c)に示す例では、音符N0から音符N1への切り換わり部分におけるピッチの軌道として、先行する音符N0の最後の制御点Cと後続の音符N1の最初の制御点Aを結ぶ曲線が採用されている。実際の歌声のピッチの動きを観察すると、この音符の切り換わり部分のピッチの軌道は、図8に実線で示すように撓んでいることが多い。そこで、好ましい態様におけるピッチデータ生成処理では、先行する音符の最後の制御点(通常は制御点C、例外的に制御点BまたはA)と後続の最初の制御点との間の区間の軌道を次のようにして求める。
すなわち、時刻をt、先行する音符の最後の制御点の時刻をtC、同制御点のピッチをpC、後続の音符の最初の制御点Aの時刻をtA、同制御点のピッチをpAとした場合、t≦(tA+tC)/2の区間は式(3)に従い、t>(tA+tC)/2の区間は式(4)に従って音符の切り換わり部分のピッチpを求めるのである。
p=(pA+pC)/2
−((pA−pC)/2)(1−2(t−tC)/(tA−tC))α)……(3)
p=(pA+pC)/2
+((pA−pC)/2)(2(t−tC)/(tA−tC)−1)α)……(4)
上記式(3)および(4)において、αはピッチ変化の撓み具合を調整するためのパラメータである。このパラメータαが1である場合、制御点間の軌道は図8に破線で示すように直線となる。また、パラメータαが1より小さい正の数である場合、図8に実線で示すように、前半のt≦(tA+tC)/2の区間の軌道は下方に撓んだ曲線となり、後半のt>(tA+tC)/2の区間の軌道は上方に撓んだ曲線となる。好ましい態様では、この曲線が音符の切り換わり部分のピッチの軌道として採用される。なお、パラメータαが1より大きい正の数である場合は、逆に、前半の区間の軌道は上方に撓んだ曲線となり、後半の区間の軌道は下方に撓んだ曲線となる。
音符の切り換わり部分のピッチの軌道に、前述した制御点AおよびB間の軌道に適用したような谷(図7(b)参照)を設けてもよい。この態様によれば、音程が上がるときに、歌声の音程が一旦下がってから上昇したり、音程が下がるときに、歌声の音程が一旦下がりすぎてから再度上がる現象を歌唱合成において再現することができる。
実際の歌唱では、歌いだしの部分、すなわち、最初の音符または所定時間長以上の休符の後の音符に対応した歌唱部分において、特別なピッチの動きをする場合が多い。この現象を再現するため、好ましい態様では、制御点設定処理において、対象とする音符の前の音符がない場合または対象とする音符の前に所定時間長以上の休符がある場合に、図9に示すように、対象とする音符の最初の制御点Aの前に1つ以上の追加の制御点(図9では制御点P、Q)を配置する。そして、ピッチデータ生成処理では、この追加の制御点と、対象とする音符の最初の制御点Aとを結ぶ軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成する。この場合、各制御点間を結ぶ軌道は、破線で示すように直線にしてもよく、あるいは実線で示すように曲線にしてもよい。なお、歌いだし部分の歌詞の存在しない期間は、歌詞から音韻データを生成することができないので、無音から歌いだしの歌詞に対応する音韻に遷移するように音韻データトラック651を作成する。
図9に示す例では、制御点Pは、最初の音符のノートオンタイミングよりも所定時間だけ前の位置に配置され、そのピッチは最初の音符に対応したピッチpSよりも所定量だけ低いピッチとされている。また、制御点Qは、最初の音符のノートオンタイミングに近い位置に配置され、制御点Qのピッチは、制御点Pよりもピッチが高く、かつ、制御点Aよりは制御点Pに近いピッチとされている。この場合、歌いだし部分における合成歌唱音のピッチは、最初の音符のノートオンタイミングの手前の制御点Pのある時刻から徐々に上昇を開始し、制御点Qのあるノートオンタイミング近くの時刻以降になると、それまでよりも急峻なスロープを描いて、制御点Aのあるピッチまで上昇する。このように、本態様によれば、歌いだし部分の特別なニュアンスを歌唱合成において再現することができる。
歌いだしの場合には、追加の制御点P、Qを配置することに加えて、歌いだしの音符の最初の制御点Aを通常とは異なった位置に配置するようにすると、歌いだしの場合の特別なニュアンスを歌唱合成において再現することができる。例えば歌いだしの部分においては、歌声の音程が音符に対応した正しい音程に到達するまで若干の時間がかかる場合が多い。そこで、好ましい態様では、これを再現するために、歌いだし部分の最初の音符については、特別に、制御点Aのピッチを音符に対応したピッチよりも低く設定する。このようにすることで、より自然な歌いまわしを歌唱合成において再現することができる。
同様に、実際の歌唱では、歌い終わりの部分、すなわち、曲の最後の音符または所定時間長以上の休符の前の音符に対応した歌唱部分においても、ピッチが最後にだら下がりになる等、特別なピッチの動きをする場合が多い。この現象を再現するため、制御点設定処理では、対象とする音符の後に音符がない場合または対象とする音符の後に所定時間長以上の休符がある場合に、図10に示すように、対象とする音符の最後の制御点Cの後に1つ以上の追加の制御点(図10では制御点R、S)を配置する。そして、ピッチデータ生成処理では、この追加の制御点と、対象とする音符の最後の制御点Cとを結ぶ軌道を求め、この軌道に沿ってピッチを変化させるピッチデータを生成する。この場合、各制御点間を結ぶ軌道は、破線で示すように直線にしてもよく、あるいは実線で示すように曲線にしてもよい。ピッチデータは、歌い終わりの部分の最後の音符に合わせて発声される音韻のものを引き続いて採用し、ピッチデータトラック652に格納すればよい。
図10に示す例では、制御点Sは、最後の音符のノートオフタイミングよりも所定時間だけ後の位置に配置され、そのピッチは最後の音符に対応したピッチpEよりも所定量だけ低いピッチとされている。また、制御点Rは、最後の音符のノートオフタイミングに近い位置に配置され、制御点Rのピッチは、制御点Sよりもピッチが高く、かつ、最後の音符の最後の制御点Cよりは制御点Sに近いピッチとされている。この場合、歌い終わり部分における合成歌唱音のピッチは、最後の音符の最後の制御点Cの時刻からノートオフタイミングの近くの制御点Rのある時刻に掛けて下降し、それ以降は、それまでよりも緩やかなスロープを描いて、制御点Sのあるピッチまで下降する。
この制御点を使用する態様によれば、合成される歌唱音のピッチに対し、音符に対応するピッチに到達した後の区間においても変化を与えることができ、人間の歌唱に近い自然な歌唱を再現することができる。また、この態様によれば、音符の切り換わり部分において、先行する音符の最後の制御点と後続の音符の最初の制御点との間の区間のピッチの軌道に所望の変化を持たせることができるので、音符の切り換わり部分について自然な歌唱を再現することができる。また、この態様によれば、歌いだし部分については最初の音符の前に追加の制御点を配置し、歌い終わり部分については最後の音符の後に追加の制御点を配置し、これらの制御点を通過する軌道に従って合成歌唱音のピッチを変化させるようにしたので、歌いだし部分および歌い終わり部分の特別なニュアンスを歌唱合成において再現することができる。
<<B1−2.素片選択、ピッチ変換および素片連結>>
<<<B1−2−1.素片選択>>>
歌唱合成スコア650の音韻データトラック651は、1曲分の歌唱音声を合成するのに使用する一連の音声素片とそれらの発生時刻および継続時間長を示している。素片選択部642は、歌唱合成スコアにおいて指定された各音声素片の音声素片データを音声素片データベース63から読み出してピッチ変換部643に引き渡す。
1つの音声素片に対応した音声素片データは、その音声素片の継続時間長に相当するフレーム数の波形データを含む。ここで、歌唱合成スコアにおいて指定される音声素片の継続時間長は、音符データが示す音符長により決まるものであって曲によって区々になるので、音声素片データベース63に収録された音声素片データの元となった音声素片の継続時間長とは一致しない場合がある。そこで、素片選択部642は、歌唱合成スコアにおいて指定された音声素片の継続時間長に相当するフレーム数に比べて、その音声素片に対応した音声素片データに含まれる波形データのフレーム数が少ない場合には、例えば音声素片データにおける全てのフレームの波形データをピッチ変換部643に引き渡した後は、最初のフレームに戻って波形データをピッチ変換部643に引き渡すという具合に各フレームの波形データをループさせながら使用し、必要な継続時間長に見合ったフレーム数の波形データをピッチ変換部643に引き渡す。また、歌唱合成スコアにおいて指定された音声素片の継続時間長に相当するフレーム数に比べて、その音声素片に対応した音声素片データに含まれる波形データのフレーム数が多い場合、素片選択部642は、歌唱合成スコアにおいて指定された継続時間長相当のフレーム数の波形データをピッチ変換部643に引き渡した後、残りの波形データを破棄する。
<<<B1−2−2.ピッチ変換>>>
ピッチ変換部643は、素片選択部642から音声素片の波形データを受け取ると、その波形データの発生タイミングにおけるピッチをピッチデータトラック652から求め、波形データがそのピッチを持った波形データとなるように波形データのピッチ変換を行う。ピッチ変換部643は、基本的には本出願人による先願である特願2004−311637号において提案された方法によりこのピッチ変換を行う。以下、その詳細を説明する。
波形データが音声素片を一定のサンプリングレートでサンプリングしたサンプル列である場合、ピッチ変換部643は、フレーム単位で、サンプル列のFFTを行い、振幅スペクトルと位相スペクトルを求める。本実施形態では、このようにして得られる周波数領域の情報(振幅スペクトルと位相スペクトル)を操作することによりピッチ変換を行う。なお、波形データが振幅スペクトルおよび位相スペクトルを示すものである場合にはFFTを行わなくてもよい。
図11(a)は、あるフレームのサンプル列から得られた振幅スペクトルの例を示すものである。また、図11(b)および(c)は、本実施形態によるピッチ変換を経た後の振幅スペクトルの例を示すものであり、図11(b)はピッチ変換比kが1より大きい場合、図11(c)はピッチ変換比kが1より小さい場合を各々示している。
図11(a)に示すように、音声素片のサンプル列から得られた振幅スペクトルは、音声素片の基本周波数および倍音周波数に相当する各周波数に局所的ピークP1、P2、…を有する。ピッチ変換部643は、近隣の複数のピークについて振幅値が最大のピークを検知する等の方法により、これらの局所的ピークP1、P2、…を求める。また、ピッチ変換部643は、基本周波数成分に対応した局所的ピーク(この例では局所的ピークP1)の周波数をピッチ変換前のピッチとして求める。そして、ピッチ変換部643は、ピッチ変換後のピッチ(すなわち、ピッチデータトラック652により指定される当該フレームにおけるピッチ)をピッチ変換前のピッチにより除算してピッチ変換比kを求める。さらにピッチ変換部643は、局所的ピークP1、P2、…により形成されているスペクトル包絡ENVを求める。なお、音声素片データがフレーム毎のピッチを示す素片ピッチデータやスペクトル包絡ENVを示すスペクトル包絡データを含む場合には、ピッチやスペクトル包絡ENVを求める処理は不要である。
次にピッチ変換部643は、局所的ピークP1、P2、…の各々について各局所的ピークを中心とする所定幅の局所的な周波数領域を特定する。また、ピッチ変換部643は、局所的ピークP1、P2、…の周波数にピッチ変換比kを乗算することにより、ピッチ変換後の各局所的ピークP10、P20、…の周波数を求める。そして、ピッチ変換部643は、局所的ピークP1、P2、…が局所的ピークP10、P20、…となるように、全体としての振幅スペクトルを周波数軸方向にピッチ変換比kに従って圧縮(k<1)または伸張(k>1)する。その際、ピッチ変換部643は、局所的な周波数領域内については振幅スペクトル分布の形状を変えないように、局所的な周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行う。そして、ピッチ変換部643は、この圧縮または伸張後の振幅スペクトルの局所的ピークP10、P20、…の包絡線が元のスペクトル包絡ENVとなるように各振幅スペクトルのレベル調整を行う。このようにして図11(b)または(c)に示すようなピッチ変換後の振幅スペクトルが得られる。
以上が本実施形態によるピッチ変換の原理である。
次に、図12(a)および(b)を参照し、ピッチ変換部643が行う振幅スペクトルの周波数軸方向の圧縮または伸張処理の詳細について説明する。まず、ピッチ変換部643は、振幅スペクトルの各局所的ピークに対する周波数(図12(a)に示す例では周波数f1およびf2)を含む所定幅の周波数領域を特定する。図12(a)に示す例では、ピッチ変換部643は、局所的ピークP1に対する第1周波数f1を含む所定幅F1の周波数領域を第1周波数領域A1として特定する。第1周波数領域A1の特定は、種々の方法によりなされ得る。例えばピッチ変換部643は、第1周波数f1と第2周波数f2との周波数差の半分に「1」以下の正の値を乗じて得られる周波数Δfを第1周波数f1に加えて得られた周波数(=f1+Δf)を第1周波数領域A1の最大周波数f1maxとする。同様にピッチ変換部643は、第1周波数f1から周波数Δfを減じて得られた周波数(=f1−Δf)を第1周波数領域A1の最小周波数f1minとする。第1周波数領域A1内の各周波数に対する振幅スペクトルは、第1ローカル振幅スペクトル分布AM1を構成する。
同様にピッチ変換部643は、局所的ピークP2に対する第2周波数f2を含む所定幅F2(この例ではF2=F1)の周波数領域を第2周波数領域A2として特定する。この第2周波数領域A2の最大周波数f2maxは、f2+Δfであり、最小周波数f2minは、f2−Δfである。第2周波数領域A2内の各周波数に対する振幅スペクトルは、第2ローカル振幅スペクトル分布AM2を構成する。
次にピッチ変換部643は、以下の手順に従って振幅スペクトルを周波数軸方向に圧縮または伸張することによりピッチ変換を行う。なお、図12(a)および(b)に示す例では、ピッチ変換比kが「1」より大きな値であり、振幅スペクトルを周波数軸方向に伸張している。
(A)まず、ピッチ変換部643は、局所的ピークP1が、第1周波数f1にピッチ変換比kを乗じて得られる周波数であるピッチ変換後第1周波数f10(=k・f1)に対する振幅スペクトルとなるように、局所的ピークP1を周波数軸方向に移動する。これにより得られる変換後局所的ピークP10の大きさは局所的ピークP1の大きさと等しい。
(B)次に、ピッチ変換部643は、第1周波数領域A1内の各振幅スペクトルPnが、これらの各振幅スペクトルPnに対する周波数fnから第1周波数f1を減じた周波数(=fn−f1)にピッチ変換比kよりも1に近い局所変換比mを乗じた値(=m・(fn−f1))を上記ピッチ変換後第1周波数f10(=k・f1)に加えることにより得られる周波数(=m・(fn−f1)+k・f1)の振幅スペクトルとなるように、第1周波数領域A1内の各振幅スペクトルを周波数軸方向に圧縮または伸張する。この例では、局所変換比mの値は「1」となっている。
以上の処理により、第1周波数領域A1内のローカル振幅スペクトル分布AM1は、形状を変えることなく、ピッチ変換比kに応じた周波数だけ周波数軸方向に移動され、ピッチ変換後第1周波数領域A10のローカル振幅スペクトル分布AM10となる。
(C)同様に、ピッチ変換部643は、第2ピークスペクトルP2が、第2周波数f2にピッチ変換比kを乗じて得られる周波数であるピッチ変換後第2周波数f20(=k・f2)に対する振幅スペクトルとなるように、第2ピークスペクトルP2を周波数軸方向に移動する。これにより得られる変換後第2ピークスペクトルP20の大きさは第2ピークスペクトルP2の大きさと等しい。
(D)さらにピッチ変換部643は、第2周波数領域A2内の各振幅スペクトルPnが、これらの各振幅スペクトルPnに対する周波数fnから第2周波数f2を減じた周波数(=fn−f2)にピッチ変換比kよりも1に近い局所変換比mを乗じた値(=m・(fn−f2))を上記ピッチ変換後第2周波数f20(=k・f2)に加えることにより得られる周波数(=m・(fn−f2)+k・f2)の振幅スペクトルとなるように、第2周波数領域A2内の各振幅スペクトルを周波数軸方向に圧縮または伸張する。
以上の処理により、第2周波数領域A2内のローカル振幅スペクトル分布AM2は、形状を変えることなく、ピッチ変換比kに応じた周波数だけ周波数軸方向に移動され、ピッチ変換後第2周波数領域A20のローカル振幅スペクトル分布AM20となる。
(E)さらにピッチ変換部643は、第1周波数領域A1と第2周波数領域A2との間の中間周波数領域A3の振幅スペクトルについてピッチ変換を行う。このピッチ変換について、特に図13を参照して説明する。
図13は、横軸のx軸にピッチ変換前の周波数fa、縦軸のy軸にピッチ変換後の周波数fbをとり、ピッチ変換前の周波数x(=fa)をピッチ変換後の周波数y(=fb)に変換する変換関数Tf(x)を示したグラフである。以下において、第1周波数f1の変換関数Tf(x)上の点をQ1とし、第2周波数f2の変換関数Tf(x)上の点をQ2とする。同様に、第1周波数領域A1の最大周波数f1maxの変換関数Tf(x)上の点をQ1Uとし、第2周波数領域A2の最小周波数f2minの変換関数Tf(x)上の点をQ2Lとする。
この場合、第1周波数領域A1では、下記式(5)により示される変換関数Tf(x)に変数xとしてピッチ変換前の周波数faを代入することにより、ピッチ変換後の周波数fb(=y)が決定される。
y=Tf(x)=m・x+a1=x+a1=x+ΔS1 ……(5)
同様に、第2周波数領域A2では、下記式(6)により示される変換関数Tf(x)に変数xとしてピッチ変換前の周波数faを代入することにより、ピッチ変換後の周波数fb(=y)が決定される。
y=Tf(x)=m・x+a2=x+a2=x+ΔS2 ……(6)
一方、ピッチ変換部643は、中間周波数領域A3では、点Q1Uと点Q2Lとを直線で結ぶ変換関数Tf(x)=T1f(x)に従ってピッチ変換を行う。すなわち、点Q1Uの座標は(f1max、f10max)=(f1max、f1max+a1)であり、点Q2Lの座標は(f2min、f20min)=(f2min、f2min+a2)であるから、中間周波数領域A3での変換関数Tf(x)=T1f(x)は下記式(7)により表わされる。
y=Tf(x)
=((f2min−f1max+a2−a1)/(f2min−f1max))・x
+(a1・f2min−a2・f1max)/(f2min−f1max)
……(7)
ピッチ変換部643は、ピッチ変換前の周波数faがいずれの周波数領域に属するかにより上記式(5)〜(7)を使い分け、ピッチ変換前の周波数faに対する振幅スペクトルがピッチ変換後の周波数fb=Tf(fa)の振幅スペクトルとなるように、ピッチ変換前の周波数faに対する振幅スペクトルをピッチ変換する。この場合、上記式(5)〜(7)を満たす点(fa、Tf(fa))と原点Oとを結ぶ直線の傾きが、周波数faの振幅スペクトルに対するピッチ変換比Pfaということになる。
ピークスペクトルの周波数においてピッチ変換比Pfaはピッチ変換比kとなる。このピッチ変換比kは点Q1と点Q2を結ぶ直線の傾きであるから、局所変換比mとの間に下記式(8)に示す関係を有している。
k=((m・f2+a2)−(m・f1+a1))/(f2−f1) ……(8)
このように、ピッチ変換部643は、ピッチ変換前の波形データの振幅スペクトル分布をピッチ変換比kにより周波数軸方向に一律に圧縮(k<1)または伸張(k>1))する代わりに、ピークスペクトルP1およびP2の近傍のローカル振幅スペクトル分布AM1およびAM2については実質的に圧縮または伸張を行うことなく、ピッチ変換比kに基づく量だけ周波数軸方向に平行移動する。そして、中間周波数領域の振幅スペクトルについては、ローカル振幅スペクトル分布AM1、AM2と滑らかに繋がるように、ローカル振幅スペクトル分布AM1およびAM2に適用したものとは異なる比率で周波数軸方向の圧縮または伸張を行うのである。以上、2個の局所的ピークP1およびP2に関して圧縮または伸張処理の詳細を説明したが、ピッチ変換部643は、他の局所的ピークに関しても同様な処理を行う。
そして、ピッチ変換部643は、以上のような周波数軸方向の圧縮または伸張処理を経た振幅スペクトルについて、その局所的ピークP10、P20、…の包絡線が元のスペクトル包絡ENVとなるように各振幅スペクトルのレベル調整を行うのである(図11(b)および(c)参照)。
以上のようにして、ピッチ変換のための振幅スペクトルの処理を終えると、ピッチ変換部643は、位相スペクトルの処理を行う。すなわち、ローカル振幅スペクトル分布AM1等をAM10等のように移動したことに伴い、移動後のローカル振幅スペクトル分布AM10等に対応して位相スペクトル分布を調整するのである。
まず、ピッチ変換部643は、局所的ピークを含むローカルな周波数領域における振幅スペクトル分布の移動(AM1からAM10へ、AM2からAM20への移動)に合わせて、ローカルな周波数領域における位相スペクトルの分布を周波数軸方向に移動させる。
次にピッチ変換部643は、この圧縮または伸張後の位相スペクトルの補正に用いる補正量を演算する。ここで、局所的ピークの周波数が完全に調和関係にある(倍音の周波数が基音の周波数の完全な整数倍になっている)場合、基音周波数(音声素片データがフレーム毎のピッチを示す素片ピッチデータを含む場合にはその素片ピッチデータが示す当該フレームにおけるピッチ)をf0、フレーム周期をΔt、i番目の局所的ピークの周波数をfi、ピッチ変換比をkとすると、i番目の局所的ピークを含むローカルな周波数領域における位相の補正量Δφiは、次式(9)により与えられる。
Δφi=2πf0(i+1)(k−1)Δt ……(9)
ピッチ変換部643は、上記式(9)により求めた補正量Δφiをi番目の局所的ピークを含むローカルな周波数領域内の各位相スペクトルの位相に加算する。これにより局所的ピークの周波数Fiでは位相がφi+Δφiとなる。ピッチ変換部643は、このような位相の補正を、局所的ピークを含むローカルな周波数領域毎に行う。図14(a)および(b)は第1番目の局所的ピークに関して行われる位相の補正の例を示している。
以上が本実施形態によるピッチ変換の処理の詳細である。
以上のように、本実施形態によれば、局所的ピークの近傍のローカル振幅スペクトル分布の形状およびスペクトル包絡ENVの形状を変えることなく、局所的ピークの周波数を指定されたピッチに対応した周波数にすることができる。また、本実施形態によれば、ローカル振幅スペクトル分布を構成する振幅スペクトルのみならず、中間周波数領域の振幅スペクトルをも含めて周波数軸方向の圧縮または伸張処理を行うようにしているので、ピッチ変換の際に中間周波数領域の振幅スペクトルが損なわれない。従って、音声素片が本来有していた音の特徴を損なうことなく、ピッチ変換を行うことができる。特に本実施形態は、従来の歌唱合成技術が苦手としてきたハスキーな歌唱音声の合成に有効である。
なお、中間周波数領域における変換関数Tf(x)は、種々の関数とすることができる。例えば、この変換関数Tf(x)は、図13に破線の曲線T2f(x)にて示したように、点Q1Uから点Q2Lに向かうにつれて傾きが局所変換比mから次第に変化(k>1のときは増大、k<1のときは減少)し、その後、再び局所変換比mに近づくような関数であってもよい。また、第1周波数領域A1、第2周波数領域A2等における変換関数Tf(x)は、各周波数領域の振幅スペクトル分布をほぼ維持した状態にてピッチ変換後の各周波数領域に写像させる関数であればよい。従って、例えば局所変換比mは一定である必要はなく、また、変換関数Tf(x)はn次式や任意に定めた関数であってもよい。
<<<B1−2−3.素片連結>>>
ピッチ変換部643は、以上のようなピッチ変換処理を経た周波数領域の波形データ(振幅スペクトル、位相スペクトル)をフレーム毎に出力する。ここで、ある音声素片に対応した最後のフレームの波形データが出力された後、これに続けて、後続の音声素片に対応した最初のフレームの波形データがピッチ変換部643から出力される場合がある。その際、前者の波形データと後者の波形データとの間に大きな差異があると、合成される歌唱音声の波形に不自然な不連続が生じるので好ましくない。素片連結部644は、このような波形の不自然な不連続が生じないように、音声素片の切り換わり区間において音色を滑らかに変化させるためのスムージング処理を波形データに対して施す。この素片連結部644が行うスムージング処理の態様として、以下説明する第1の態様と第2の態様がある。
<<<<B1−2−3−1.スムージング処理の第1の態様>>>>
この態様において、素片連結部644は、ピッチ変換部643から出力される波形データがある音声素片のものから他の音声素片のものへと切り換わる場合にその切り換わり点の前後所定フレーム数の波形データを用いて、各フレームの波形データが示す音の特徴を決定する特徴パラメータ、具体的には波形データが示す振幅スペクトルのスペクトル包絡のクロスフェードを行う。図15(a)〜(e)はこのクロスフェードの動作例を示すものである。この例では、先行音声素片の最後のnフレームの波形データD1〜Dnと後続音声素片の最初のnフレームの波形データD1〜Dnを用いてクロスフェードを行っている。
クロスフェードの前半では、クロスフェード用の係数αを0から0.5に向けて徐々に増加させるとともに係数βを1から0.5に向けて徐々に減少させつつ(図15(d)参照)、先行音声素片の最後のn個の波形データD1〜Dnに各々含まれる振幅スペクトルの各スペクトル包絡に係数βを各々乗じたものと、後続音声素片の最初の波形データD1に含まれる振幅スペクトルのスペクトル包絡に係数αを乗じたものとを加算し(図15(b)および(c)参照)、クロスフェードされたn個のスペクトル包絡線を求める。そして、先行音声素片の最後のn個の波形データD1〜Dnに各々含まれる各振幅スペクトルについて、局所的ピークのレベルがクロスフェードされたスペクトル包絡を形成するようにレベル調整を行う。そして、素片連結部644は、先行音声素片の最後のn個の波形データD1〜Dnの各振幅スペクトルをこのレベル調整後の各振幅スペクトルにより置き換えたn個の波形データD1’〜Dn’を出力する(図15(e)参照)。
クロスフェードの後半では、クロスフェード用の係数αを0.5から1に向けて徐々に増加させるとともに係数βを0.5から0に向けて徐々に減少させつつ(図15(d)参照)、後続音声素片の最初のn個の波形データD1〜Dnに各々含まれる振幅スペクトルの各スペクトル包絡に係数αを各々乗じたものと、先行音声素片の最後の波形データDnに含まれる振幅スペクトルのスペクトル包絡に係数βを乗じたものとを加算し(図15(b)および(c)参照)、クロスフェードされたn個のスペクトル包絡線を求める。そして、後続音声素片の最初のn個の波形データD1〜Dnに各々含まれる各振幅スペクトルについて、局所的ピークのレベルがクロスフェードされたスペクトル包絡を形成するようにレベル調整を行う。そして、素片連結部644は、後続音声素片の最初のn個の波形データD1〜Dnの各振幅スペクトルをこのレベル調整後の各振幅スペクトルにより置き換えたn個の波形データD1’〜Dn’を出力する(図15(e)参照)。
以上の処理により、先行音声素片のスペクトル包絡と後続音声素片のスペクトル包絡が音声素片の切り換わり点において滑らかに繋ぐことができる。従って、音声素片が切り換わるときに音色を滑らかに変化させることができる。
以上のようにスペクトル包絡の包絡線ENV(f)自体をそのままクロスフェードする代わりに、スペクトル包絡の合成パラメータのクロスフェードを行い、この結果得られる合成パラメータを用いてクロスフェード後のスペクトル包絡を求めてもよい。例えば特許文献2の図5に開示されているように、スペクトル包絡を局所的ピークをなす複数の共鳴成分と周波数に応じて直線的に減少する傾き成分の和としてモデル化し、これらの共鳴成分および傾き成分を示す合成パラメータが音声素片の切り換わり点において滑らかに繋がるように、合成パラメータのクロスフェードを行い、このクロフフェードを経た合成パラメータ(共鳴成分および傾き成分を示す各パラメータ)を用いてクロスフェード後のスペクトル包絡を合成することが可能である。
スムージング処理では、振幅スペクトルのスペクトル包絡のクロスフェードを行うことに加えて、音声素片の切り換わり点において位相が連続するように、切り換わり点の前後の波形データに含まれる位相スペクトルの調整を行うことが好ましい。このようにすることで、音声素片の切り換わりがより自然なものとなる。この際、振幅スペクトル包絡のクロスフェードと位相スペクトルのクロスフェードとで、クロスフェードを行う時間を異ならせたり、クロスフェード用の係数(上記α、βに相当するもの)を異ならせるようにしてもよい。
局所的ピークを含むローカルな周波数領域の振幅スペクトル分布(上述したローカル振幅スペクトル分布AM10、AM20等)は、ピッチ変換処理を経た状態のままにしてもよいが、音声素片の切り換わり点において滑らかに繋がるようにクロスフェードを行ってもよい。
<<<<B1−2−3−2.スムージング処理の第2の態様>>>>
この第2の態様では、基本的には本出願人による先願である特許文献7に開示された原理に従ってスムージング処理を行う。すなわち、この第2の態様において素片連結部644は、ピッチ変換部643から出力される波形データが、1つの音素から別の音素に移行する音素連鎖を含む遷移部分のものであるか、1つの音素が安定的に発音される定常部分を含んだ伸ばし音部分のものであるかを監視し、伸ばし音部分の音声素片の波形データがピッチ変換部643から与えられた場合には、その伸ばし音部分の波形データにおける音の特徴を決定するパラメータ、具体的にはスペクトル包絡が、その伸ばし音部分に先行する遷移部分の波形データから求められるスペクトル包絡とその伸ばし音部分に続く遷移部分の波形データから求められるスペクトル包絡とを時間補間したスペクトル包絡となるように、伸ばし音部分の波形データの調整を行う。
図16はこの第2の態様によるスムージング処理の例を示すものである。この例では、伸ばし音の音声素片aの前に遷移部分の音声素片s−aがあり、後に遷移部分の音声素片a−iがある。そこで、素片連結部644は、ピッチ変換部643から出力される遷移部分s−aの最後の波形データにおける振幅スペクトルのスペクトル包絡と遷移部分a−iの最初の波形データにおける振幅スペクトルのスペクトル包絡との時間補間を行い、伸ばし音の音声素片aの発生区間において前者のスペクトル包絡から後者のスペクトル包絡へと連続的に変化するスペクトル包絡を求める。そして、ピッチ変換部643から出力される伸ばし音の音声素片aの各波形データについて、各波形データにおける振幅スペクトルの局所的ピークが時間補間により得られたスペクトル包絡を形成するように、振幅スペクトルのレベル調整を行うのである。そして、素片連結部644は、遷移部分の音声素片a−iと遷移部分の音声素片i−tとに挟まれた伸ばし音の音声素片iについても同様な処理を行う。なお、母音の伸ばし音部分の継続時間が長い場合には、伸ばし音部分の全区間を利用してクロスフェードを行うのでなく、図17に例示するように、伸ばし音部分の全区間のうち伸ばし音部分の開始位置から始まる区間の一部を利用してクロスフェードを行ってもよい。なお、以上のような時間補間により得られた伸ばし音のスペクトル包絡に、音声素片aの実際の音声から得られたゆらぎ、またはランダムなゆらぎを加えるとより好ましい。
以上説明した第2の態様によれば、母音の伸ばし音部分を利用して音色を滑らかに変化させ、自然な歌唱音声を合成することができる。なお、伸ばし音部分の前後の遷移部分のスペクトル包絡の時間補間を直接行う代わりに、前後のスペクトル包絡の合成パラメータの時間補間を行い、この時間補間により得られた合成パラメータを用いて、伸ばし音区間のスペクトル包絡を求めるようにしてもよい。
遷移部分と伸ばし音部分との境界については、上記第1の態様において説明したようなスペクトル包絡のクロスフェードを行ってもよいし、クロスフェードを行うことなく、そのままにしておいてもよい。
<<<B1−2−4.時間領域の信号への変換>>>
素片連結部644は、スムージング処理を経た波形データにIFFT(逆高速フーリエ変換)を施して時間領域のデジタル音声信号に変換し、このデジタル音声信号にフレーム単位で窓関数を乗じ、窓関数の乗じられた各フレームのデジタル音声信号を相互にオーバラップさせ、最終的なデジタル音声信号としてサウンドシステム8に出力する。サウンドシステム8は、このデジタル音声信号をアナログ音声信号に変換し、歌唱音声として出力する。
以上が単独の歌手による歌唱音声を合成する動作の詳細である。
<<B2.コーラスの歌唱音声を合成する場合>>
<<<B2−1.歌唱合成スコアの生成>>>
歌唱合成スコア650を生成する動作に関しては、単独の歌手による歌唱音声を合成する場合と大きな差はない。ただし、ピッチデータトラック652の作成の際、ビブラートは付加せず、レガートやポルタメントなどのピッチの動きを持たせないことが望ましい。
<<<B2−2.素片選択、ピッチ変換および素片連結>>>
<<<B2−2−1.素片選択>>>
素片選択部642による音声素片データの選択動作は、単独の歌手による歌唱音声を合成する場合と同様である。
<<<B2−2−2.ピッチ変換>>>
ピッチ変換部643によるピッチ変換の動作も、単独の歌手による歌唱音声を合成する場合と基本的に同様である。ただし、コーラスの歌唱音声の合成の場合、音声素片データに含まれる波形データを解析しても音声素片の各フレームでのピッチを求めるのは困難である。そこで、コーラスの歌唱音声の合成の場合、ピッチ変換部643は、音声素片データに含まれる素片ピッチデータが示す音声素片の代表的なピッチをピッチ変換前のピッチとし(すなわち、1つの音声素片の中では全フレームを通じてピッチは一定であるとみなし)、そのピッチからピッチデータトラック652により指定されたピッチへのピッチ変換を行う。この場合においても、単独の歌手による歌唱音声を合成する場合と同様、音声素片の波形データにおける振幅スペクトルの周波数軸方向の圧縮または伸張に合わせて位相スペクトルの補正を行うのが好ましい。
<<<B2−2−3.素片連結および時間領域の信号への変換>>>
単独の歌手による歌唱音声を合成する場合と同様、素片連結部644は、ピッチ変換部643によるピッチ変換を経た波形データに対し、音声素片の切り換わり点付近においてスペクトル包絡が滑らかに変化させるためのスムージング処理を施す。そして、このスムージング処理を経た波形データを時間領域のデジタル音声信号に変換し、サウンドシステム8に出力する。スムージング処理の態様は、上記第1の態様または第2の態様のいずれでもよい。また、音声素片の切り換わり点を含む所定期間の波形データについて、局所的ピークを含むローカルな振幅スペクトル分布を滑らかに変化させるためのクロスフェードを行うのが好ましい。
以上が本実施形態の動作の詳細である。
<C.他の実施形態>
以上、この発明の一実施形態を説明したが、この発明には、これ以外にも各種の実施形態が考えられる。例えば次の通りである。
(1)音声素片データベース63には、同一の音声素片について複数の音声素片データを格納し、それらを使い分けるようにしてもよい。例えば、同一音声素片についてピッチの異なる複数の音声素片データを格納しておき、素片選択部642は、歌唱合成の際に、音韻データトラック651により指定された音声素片に対応した複数の音声素片データのうちピッチデータトラック652により指定されたピッチに最も近いピッチの音声素片データを選択し、ピッチ変換部643に供給するように構成してもよい。この場合、ピッチ変換前のピッチとピッチ変換後のピッチが近いので、ピッチ変換に起因した音質の劣化を少なくすることができる。
(2)ピッチデータトラック652については、上記実施形態において挙げたもの以外の方法により音符の切り換わり部分のピッチに動きを与えても良い。例えばユーザが操作部4の操作によりピッチに動きを与える構成でも良い。
(3)素片連結部644は、周波数領域の情報である波形データ(振幅スペクトル、位相スペクトル)を時間領域の情報であるデジタル音声信号に変換した後、このデジタル音声信号を対象としてスムージング処理を行うようにしてもよい。例えば上記第1の態様によるスムージング処理を行う代わりに、音声素片の切り換わり点近傍において、先行音声素片の最後のn個の波形データD1〜Dnと後続音声素片の最初のn個の波形データD1〜DnからIFFTにより得られた時間領域のデジタル音声信号を対象としてクロスフェードを行い、最終的なデジタル音声信号としてもよい(図15(a)〜(e)参照)。
(4)歌唱合成スコアは、歌唱合成パラメータの時系列情報であればよく、1曲分に限らず、曲の1部分についての時系列情報でもよい。
この発明の一実施形態である歌唱合成装置の構成を示すブロック図である。 同実施形態における歌唱合成プログラムの構成を示すブロック図である。 同実施形態における音韻データトラックの生成過程の例を示す図である。 同実施形態において立ち上がり部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。 同実施形態において遷移部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。 同実施形態において立ち下がり部分ピッチモデルによりピッチデータトラックにピッチの動きを与える動作を例示する図である。 同実施形態において音符のピッチに到達した以降の区間のピッチに制御点を利用して動きを与える動作を例示する図である。 同実施形態における音符の切り換わり部分におけるピッチの変化の態様を例示する波形図である。 同実施形態における歌いだし部分におけるピッチの変化の態様を例示する波形図である。 同実施形態における歌い終わり部分におけるピッチの変化の態様を例示する波形図である。 同実施形態におけるピッチ変換の原理を示す図である。 同実施形態においてピッチ変換のために行う振幅スペクトルの周波数軸方向の圧縮または伸張処理を示す図である。 同圧縮または伸張処理の詳細を示す図である。 同圧縮または伸張処理に伴って行う位相スペクトルの補正処理を示す図である。 同実施形態において素片連結部が行うスムージング処理の第1の態様を示す図である。 同実施形態において素片連結部が行うスムージング処理の第2の態様を示す図である。 同スムージング処理の第2の態様の他の例を示す図である。
符号の説明
1……CPU、4……操作部、6……HDD、7……RAM、8……サウンドシステム、61……曲編集プログラム、62……曲データ、63……音声素片データベース、64……歌唱合成プログラム、641……歌唱合成スコア生成部、642……素片選択部、643……ピッチ変換部、644……素片連結部、650……歌唱合成スコア、651……音韻データトラック、652……ピッチデータトラック、653……その他のデータトラック。

Claims (14)

  1. 各種の音声素片を示す音声素片データを記憶する音声素片データベースと、
    曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、
    前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを前記音声素片データベースから読み出す素片選択手段と、
    周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、局所的ピーク近傍の周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、
    前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段と
    を具備することを特徴とする歌唱合成装置。
  2. 前記ピッチ変換手段は、前記ピッチ変換において、
    (a)前記歌唱合成スコアにより指定されたピッチに対応した周波数の前記音声素片データのピッチに対応した周波数に対する比をピッチ変換比kとし、
    (b)前記音声素片データの振幅スペクトルの中から少なくとも2つの局所的ピークである第1ピークスペクトルおよび前記第1ピークスペクトルに対する周波数である第1周波数よりも高い第2周波数を有する第2ピークスペクトルを選択し、
    (c)前記第1ピークスペクトルが、前記第1周波数に前記ピッチ変換比kを乗じて得られる周波数であるピッチ変換後第1周波数に対する振幅スペクトルとなるように、前記第1ピークスペクトルを周波数軸上で移動し、
    (d)前記第1周波数を含む所定の周波数領域である第1周波数領域の各振幅スペクトルが、前記各振幅スペクトルに対する周波数から前記第1周波数を減じた値に前記ピッチ変換比kよりも1に近い局所変換比mを乗じた値を前記ピッチ変換後第1周波数に加えることにより得られる周波数の振幅スペクトルとなるように、前記第1周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸長し、
    (e)前記第2ピークスペクトルが、前記第2周波数に前記ピッチ変換比kを乗じて得られる周波数であるピッチ変換後第2周波数に対する振幅スペクトルとなるように、前記第2ピークスペクトルを周波数軸上で移動し、
    (f)前記第2周波数を含む所定の周波数領域である第2周波数領域の各振幅スペクトルが、前記各振幅スペクトルに対する周波数から前記第2周波数を減じた値に前記局所変換比mを乗じた値を前記ピッチ変換後第2周波数に加えることにより得られる周波数の振幅スペクトルとなるように、前記第2周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸長し、
    (g)前記第1周波数領域と前記第2周波数領域との間の中間周波数領域の各振幅スペクトルが、圧縮または伸張された前記第1周波数領域の各振幅スペクトルの分布領域と圧縮または伸張された前記第2周波数領域の各振幅スペクトルの分布領域の間の周波数領域の各振幅スペクトルとなるように、前記第1周波数領域と前記第2周波数領域との間の中間周波数領域の各振幅スペクトルを周波数軸上で圧縮または伸張することを特徴とする請求項1に記載の歌唱合成装置。
  3. 前記音声素片データベースに記憶される音声素片データは、母音の伸ばし音の音声素片の音声素片データと音素から他の音素へ遷移する音声素片の音声素片データを含み、
    前記歌唱合成スコア生成手段は、音声素片における母音部の開始タイミングが音符の開始タイミングとなるように、前記音声素片の発生タイミングを決定することを特徴とする請求項1または2に記載の歌唱合成装置。
  4. 音韻の遷移の形態毎にピッチの変化の態様を示すピッチモデルを記憶する手段を具備し、
    前記歌唱合成スコア生成手段は、音符の切り換わり部において、その時点における音韻の遷移の形態に対応したピッチモデルを使用して、前記歌唱音声のピッチを示す情報にピッチの動きを付与することを特徴とする請求項1または2に記載の歌唱合成装置。
  5. 前記歌唱合成スコア生成手段は、1つの音符の区間内において歌唱音声のピッチの軌道の通過点となる3種類の制御点の相対的な位置を定めるデータに従い、曲を構成する音符毎に、歌唱音声のピッチの軌道の通過点となる制御点を設定し、これらの各制御点を通過する軌道を求め、該軌道に沿ってピッチを変化させるように、前記歌唱音声のピッチを示す情報を生成することを特徴とする請求項1または2に記載の歌唱合成装置。
  6. 前記ピッチ変換手段は、前記音声素片データが示す音声素片のピッチと、前記歌唱合成スコアにより指定されるピッチとの比をピッチ変換比kとし、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、元の局所的ピークの周波数のk倍の周波数における局所的ピークとなるように前記周波数軸方向の圧縮または伸張処理を行うことを特徴とする請求項1または2に記載の歌唱合成装置。
  7. 前記音声素片データベースに記憶された音声素片データは、音声素片の代表的なピッチを示す素片ピッチデータを含んだコーラス音用の音声素片データを含み、
    前記ピッチ変換手段は、前記コーラス音用の音声素片データにピッチ変換を施す場合には、該音声素片データに含まれる素片ピッチデータが示す代表的なピッチを前記音声素片のピッチとして前記ピッチ変換比kを決定することを特徴とする請求項6に記載の歌唱合成装置。
  8. 前記ピッチ変換手段は、前記振幅スペクトルの周波数軸方向の圧縮または伸張処理に対応させて前記音声素片データが示す音声素片の位相スペクトルに補正処理を施し、ピッチ変換後の音声素片の位相スペクトルを求めることを特徴とする請求項1、2、6または7のいずれか1の請求項に記載の歌唱合成装置。
  9. 前記素片連結手段は、音声素片の切り換わり点近傍において音声素片の音の特徴を決定する特徴パラメータが滑らかに変化するように前記切り換わり点近傍の波形データにクロスフェードを施す第1のスムージング処理を実行することを特徴とする請求項1または2に記載の歌唱合成装置。
  10. 前記素片連結手段は、音素から音素への遷移部分の音声素片を前後に持った伸ばし音の音声素片の波形データが前記ピッチ変換手段から出力された場合に、その伸ばし音部分における音の特徴を決定する特徴パラメータが、その伸ばし音部分に先行する遷移部分の波形データから求められる特徴パラメータとその伸ばし音部分に続く遷移部分の波形データから求められる特徴パラメータとを時間補間した特徴パラメータとなるように、伸ばし音部分の波形データの調整を行う第2のスムージング処理を実行することを特徴とする請求項1または2に記載の歌唱合成装置。
  11. 前記特徴パラメータが前記波形データが示す音声素片のスペクトル包絡であることを特徴とする請求項9または10に記載の歌唱合成装置。
  12. 前記特徴パラメータが前記波形データが示す音声素片の振幅スペクトルにおける局所的ピーク近傍の振幅スペクトル分布であることを特徴とする請求項9または10に記載の歌唱合成装置。
  13. 前記素片連結手段は、前記ピッチ変換手段から出力される波形データを時間領域のデジタル音声信号に変換し、音声素片の切り換わり点近傍において前記デジタル音声信号のクロスフェードを行うことを特徴とする請求項1または2に記載の歌唱合成装置。
  14. コンピュータを、
    曲を構成する音符を示す音符データと、曲に合わせて歌唱する歌詞を示す歌詞データとを含む曲データとに基づき、歌唱音声を合成するのに用いる複数の音声素片、各音声素片の発生タイミング、合成すべき歌唱音声のピッチを指定する情報を曲の進行に合わせて時系列化した歌唱合成スコアを生成する歌唱合成スコア生成手段と、
    前記歌唱合成スコアにより指定される音声素片に対応した音声素片データを音声素片データベースから読み出す素片選択手段と、
    周波数領域での信号処理により、前記素片選択手段により読み出された音声素片データにピッチ変換を施し、前記歌唱合成スコアにより指定されるピッチを持った音声素片の波形データを生成する手段であって、前記ピッチ変換では、前記音声素片データが示す音声素片の振幅スペクトルの局所的ピークが、前記ピッチ変換により得られる波形データが示す音声素片において、前記歌唱合成スコアにより指定されたピッチに対応した周波数における局所的ピークとなり、かつ、前記音声素片データが示す音声素片の振幅スペクトルのうち局所的ピーク近傍の周波数領域のローカルな振幅スペクトルは、前記ピッチ変換により得られる波形データが示す音声素片において、元のローカルな振幅スペクトルの分布形状を維持するように、局所的ピーク近傍の周波数領域とそれらに挟まれた中間周波数領域とで周波数軸方向の圧縮または伸張の比率が異なった非線形な圧縮または伸張を行い、前記音声素片データが示す音声素片の振幅スペクトルの周波数軸方向の圧縮または伸張処理を行い、さらに前記ピッチ変換により得られる波形データが示す音声素片において前記音声素片データが示す音声素片のスペクトル包絡が維持されるように、前記圧縮または伸張処理を経た振幅スペクトルのレベル調整を行うピッチ変換手段と、
    前記ピッチ変換手段により得られるピッチ変換後の音声素片の波形データを接続して出力し、その際に各波形データが示す音声素片が滑らかに接続されたものとなるように、波形データを調整する素片連結手段として機能させることを特徴とするコンピュータプログラム。
JP2006058771A 2006-03-04 2006-03-04 歌唱合成装置および歌唱合成プログラム Active JP4839891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058771A JP4839891B2 (ja) 2006-03-04 2006-03-04 歌唱合成装置および歌唱合成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058771A JP4839891B2 (ja) 2006-03-04 2006-03-04 歌唱合成装置および歌唱合成プログラム

Publications (2)

Publication Number Publication Date
JP2007240564A JP2007240564A (ja) 2007-09-20
JP4839891B2 true JP4839891B2 (ja) 2011-12-21

Family

ID=38586218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058771A Active JP4839891B2 (ja) 2006-03-04 2006-03-04 歌唱合成装置および歌唱合成プログラム

Country Status (1)

Country Link
JP (1) JP4839891B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262324B2 (ja) 2008-06-11 2013-08-14 ヤマハ株式会社 音声合成装置およびプログラム
JP5176981B2 (ja) * 2009-01-22 2013-04-03 ヤマハ株式会社 音声合成装置、およびプログラム
JP5471858B2 (ja) * 2009-07-02 2014-04-16 ヤマハ株式会社 歌唱合成用データベース生成装置、およびピッチカーブ生成装置
JP5699496B2 (ja) * 2010-09-06 2015-04-08 ヤマハ株式会社 音合成用確率モデル生成装置、特徴量軌跡生成装置およびプログラム
EP2634769B1 (en) 2012-03-02 2018-11-07 Yamaha Corporation Sound synthesizing apparatus and sound synthesizing method
JP5895740B2 (ja) 2012-06-27 2016-03-30 ヤマハ株式会社 歌唱合成を行うための装置およびプログラム
JP5928489B2 (ja) * 2014-01-08 2016-06-01 ヤマハ株式会社 音声処理装置およびプログラム
JP6561499B2 (ja) * 2015-03-05 2019-08-21 ヤマハ株式会社 音声合成装置および音声合成方法
JP6821970B2 (ja) 2016-06-30 2021-01-27 ヤマハ株式会社 音声合成装置および音声合成方法
US10134374B2 (en) 2016-11-02 2018-11-20 Yamaha Corporation Signal processing method and signal processing apparatus
JP6737320B2 (ja) 2018-11-06 2020-08-05 ヤマハ株式会社 音響処理方法、音響処理システムおよびプログラム
JP6747489B2 (ja) 2018-11-06 2020-08-26 ヤマハ株式会社 情報処理方法、情報処理システムおよびプログラム
CN111681637B (zh) * 2020-04-28 2024-03-22 平安科技(深圳)有限公司 歌曲合成方法、装置、设备及存储介质
CN113160849B (zh) * 2021-03-03 2024-05-14 腾讯音乐娱乐科技(深圳)有限公司 歌声合成方法、装置及电子设备和计算机可读存储介质
CN113257211B (zh) * 2021-05-13 2024-05-24 杭州网易云音乐科技有限公司 音频调节方法、介质、装置和计算设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266003B1 (en) * 1998-08-28 2001-07-24 Sigma Audio Research Limited Method and apparatus for signal processing for time-scale and/or pitch modification of audio signals
JP4468506B2 (ja) * 1999-03-08 2010-05-26 Okiセミコンダクタ株式会社 音声データ作成装置および声質変換方法
JP2002221978A (ja) * 2001-01-26 2002-08-09 Yamaha Corp ボーカルデータ生成装置、ボーカルデータ生成方法および歌唱音合成装置
JP3815347B2 (ja) * 2002-02-27 2006-08-30 ヤマハ株式会社 歌唱合成方法と装置及び記録媒体
JP4153220B2 (ja) * 2002-02-28 2008-09-24 ヤマハ株式会社 歌唱合成装置、歌唱合成方法及び歌唱合成用プログラム
JP4026446B2 (ja) * 2002-02-28 2007-12-26 ヤマハ株式会社 歌唱合成方法、歌唱合成装置及び歌唱合成用プログラム
JP2004325831A (ja) * 2003-04-25 2004-11-18 Roland Corp 歌唱データ生成プログラム
EP1806740B1 (en) * 2004-10-27 2011-06-29 Yamaha Corporation Pitch converting apparatus

Also Published As

Publication number Publication date
JP2007240564A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4839891B2 (ja) 歌唱合成装置および歌唱合成プログラム
JP3815347B2 (ja) 歌唱合成方法と装置及び記録媒体
JP6171711B2 (ja) 音声解析装置および音声解析方法
JP3985814B2 (ja) 歌唱合成装置
JP4265501B2 (ja) 音声合成装置およびプログラム
CN110534082B (zh) 基于音频输入的动态调适音调校正
WO2018084305A1 (ja) 音声合成方法
JP2004264676A (ja) 歌唱合成装置、歌唱合成プログラム
CN109416911B (zh) 声音合成装置及声音合成方法
JP6390690B2 (ja) 音声合成方法および音声合成装置
JP6756151B2 (ja) 歌唱合成データ編集の方法および装置、ならびに歌唱解析方法
JP4844623B2 (ja) 合唱合成装置、合唱合成方法およびプログラム
JP5176981B2 (ja) 音声合成装置、およびプログラム
JP5157922B2 (ja) 音声合成装置、およびプログラム
JP4565846B2 (ja) ピッチ変換装置
Bonada et al. Sample-based singing voice synthesizer using spectral models and source-filter decomposition
JP2000010597A (ja) 音声変換装置及び音声変換方法
JP4353174B2 (ja) 音声合成装置
JP5552797B2 (ja) 音声合成装置および音声合成方法
JP4432834B2 (ja) 歌唱合成装置および歌唱合成プログラム
WO2022080395A1 (ja) 音声合成方法およびプログラム
Loscos et al. Larynxophone: using voice as a wind controller
JP4306643B2 (ja) 歌唱合成装置および歌唱合成プログラム
Janer et al. Morphing techniques for enhanced scat singing
Masuda-Katsuse < PAPERS and REPORTS> KARAOKE SYSTEM AUTOMATICALLY MANIPULATING A SINGING VOICE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

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: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110919

R150 Certificate of patent or registration of utility model

Ref document number: 4839891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3