(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-25
(45)【発行日】2022-06-02
(54)【発明の名称】音響モデル学習装置、方法およびプログラム、並びに、音声合成装置、方法およびプログラム
(51)【国際特許分類】
G10L 13/06 20130101AFI20220526BHJP
【FI】
G10L13/06 230
(21)【出願番号】P 2021163711
(22)【出願日】2021-10-04
【審査請求日】2021-10-13
【新規性喪失の例外の表示】特許法第30条第2項適用 集会名:公立大学法人富山県立大学博士論文審査会、開催日:令和3年1月27日 ウェブサイト掲載日:令和3年3月20日、掲載アドレス:http://id.nii.ac.jp/1254/00000389/
【早期審査対象出願】
(73)【特許権者】
【識別番号】304014578
【氏名又は名称】株式会社エーアイ
(74)【代理人】
【識別番号】100200229
【氏名又は名称】矢作 徹夫
(72)【発明者】
【氏名】松永 悟行
(72)【発明者】
【氏名】大谷 大和
【審査官】菊池 智紀
(56)【参考文献】
【文献】松永悟行 他,"深層学習に基づく音声合成における2次統計量を用いたスペクトル特徴量のモデリングの検討",日本音響学会2019年秋季研究発表会講演論文集CD-ROM,2019年08月21日,pp.1017-1020
【文献】松永悟行 他,"深層学習を用いた日本語音声合成における基本周波数に適した言語特徴量の正規化手法",電子情報通信学会論文誌D,2019年10月01日,Vol.J102-D, No.10,pp.721-729
【文献】田丸浩気 他,"Generative moment matching netに基づく歌声のランダム変調ポストフィルタとdouble-trackingへの応用”,日本音響学会2019年春季研究発表会講演論文集CD-ROM,2019年02月19日,pp.1035-1038
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
(57)【特許請求の範囲】
【請求項1】
複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパス記憶部と;
ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを記憶する生成モデル記憶部と、
前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する第1の音声パラメータ系列予測部と、
前記合成音声パラメータ系列を
第1のグラム行列に変換する第1のグラム行列変換部と、
前記
第1のグラム行列を入力し、
自然音声パラメータ系列か合成音声パラメータ系列かの真偽を判定するための識別モデルを用いて第1の識別値を求める第1の識別部と、
前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値
を用いて、生成誤差及び識別誤差に関する第1の誤差を計算する第1の計算部と、
前記第1の誤差に基づいて、前記生成モデルを更新する第1の更新部と、を有する生成モデル学習装置と;
前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する第2の音声パラメータ系列予測部と、
前記合成音声パラメータ系列又は前記自然
音声パラメータ系列を
第2のグラム行列に変換する第2のグラム行列変換部と、
前記識別モデルを記憶する識別モデル記憶部と、
前記
第2のグラム行列を入力し、前記識別モデルを用いて第2の識別値を求める第2の識別部と、
前記第2の識別値
を用いて、識別誤差に関する第2の誤差を計算する第2の計算部と、
前記第2の誤差に基づいて、前記識別モデルを更新する第2の更新部と、を有する識別モデル学習装置と;
を備える音響モデル学習装置。
【請求項2】
前記生成モデルはフィードフォーワード・ニューラルネットワーク型のモデルである請求項1に記載の音響モデル学習装置。
【請求項3】
前記識別モデルは畳み込みニューラルネットワーク型のモデルである請求項1に記載の音響モデル学習装置。
【請求項4】
複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパスから、前記自然言語特徴量系列を入力とし、ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて合成音声パラメータ系列を予測し、
前記合成音声パラメータ系列を
第1のグラム行列に変換し、
前記
第1のグラム行列を入力し、
自然音声パラメータ系列か合成音声パラメータ系列かの真偽を判定するための識別モデルを用いて第1の識別値を求め、
前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値
を用いて、生成誤差及び識別誤差に関する第1の誤差を計算し、
前記第1の誤差に基づいて、前記生成モデルを更新する生成モデル学習方法と;
前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測し、
前記合成音声パラメータ系列又は前記自然
音声パラメータ系列を
第2のグラム行列に変換し、
前記
第2のグラム行列を入力し、前記識別モデルを用いて第2の識別値を求め、
前記第2の識別値
を用いて、識別誤差に関する第2の誤差を計算し、
前記第2の誤差に基づいて、前記識別モデルを更新する識別モデル学習方法と;
を備える音響モデル学習方法。
【請求項5】
複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパスから、前記自然言語特徴量系列を入力とし、ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて合成音声パラメータ系列を予測するステップと、
前記合成音声パラメータ系列を
第1のグラム行列に変換するステップと、
前記
第1のグラム行列を入力し、
自然音声パラメータ系列か合成音声パラメータ系列かの真偽を判定するための識別モデルを用いて第1の識別値を求めるステップと、
前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値
を用いて、生成誤差及び識別誤差に関する第1の誤差を計算するステップと、
前記第1の誤差に基づいて、前記生成モデルを更新するステップと、
をコンピュータに実行させる生成モデル学習プログラムと;
前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測するステップと、
前記合成音声パラメータ系列又は前記自然
音声パラメータ系列を
第2のグラム行列に変換するステップと、
前記
第2のグラム行列を入力し、前記識別モデルを用いて第2の識別値を求めるステップ、
前記第2の識別値
を用いて、識別誤差に関する第2の誤差を計算するステップと、
前記第2の誤差に基づいて、前記識別モデルを更新するステップと、
をコンピュータに実行させる識別モデル学習方法と;
を備える音響モデル学習プログラム。
【請求項6】
音声合成対象文章の言語特徴量系列を記憶するコーパス記憶部と、
請求項1に記載の音響モデル学習装置で学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを記憶する生成モデル記憶部と、
音声波形を生成するためのボコーダを記憶するボコーダ記憶部と、
前記言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する音声パラメータ系列予測部と、
前記合成音声パラメータ系列を入力とし、前記ボコーダを用いて合成音声波形を生成する波形合成処理部を備える音声合成装置。
【請求項7】
音声合成対象文章の言語特徴量系列を入力とし、請求項4に記載の音響モデル学習方法で学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて、合成音声パラメータ系列を予測し、
前記合成音声パラメータ系列を入力とし、音声波形を生成するためのボコーダを用いて、合成音声波形を生成する音声合成方法。
【請求項8】
音声合成対象文章の言語特徴量系列を入力とし、請求項5に記載の音響モデル学習プログラムで学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて、合成音声パラメータ系列を予測するステップと、
前記合成音声パラメータ系列を入力とし、音声波形を生成するためのボコーダを用いて、合成音声波形を生成するステップと、
をコンピュータに実行させる音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、入力テキストに応じた音声を合成する音声合成技術に関する。
【背景技術】
【0002】
目標話者の発話音声データからその話者の合成音声を生成する方法として、DNN(Deep Neural Network)に基づく音声合成技術がある。この技術は、DNN音響モデル学習装置と音声合成装置で構成される。DNN音響モデル学習装置は、発話音声データから抽出した自然言語特徴量系列及び自然音声パラメータ系列からDNN音響モデルを学習する。DNN音響モデルは、時間フレーム毎に合成音声パラメータ系列をモデル化している。音声合成装置は、学習されたDNN音響モデルに基づいて、ユーザが音声合成したい文章の自然言語特徴量系列から合成音声パラメータ系列を生成し、合成音声波形を出力する。
【0003】
特許文献1では、音響モデル学習装置が、複数話者の自然音声データ、複数話者の自然音声データに対応する複数のテキストデータ、複数の話者データなどを学習データとして、生成的敵対ネットワーク(GAN: Generative Adversarial Network)を用いて、 音響モデルと判別モデルとを交互に学習している。
【0004】
なお、非特許文献1では、GANを用いずにDNN音響モデルを学習する際に、DNN音響モデルの出力系列である合成音声パラメータ系列をグラム行列に変換し、損失関数を求めている。すなわちグラム行列は、DNN音響モデルが生成した合成音声パラメータ系列と自然音声パラメータ系列との生成誤差に用いられている。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】Shinnosuke TAKAMICHI, et al., Sampling-based speech parameter generation using moment-matching networks, DOI:10.21437/INTERSPEECH.2017-362, https://www.semanticscholar.org/paper/Sampling-Based-Speech-Parameter-Generation-Using-Takamichi-Koriyama/a7d8dca8380f771d1617d619c8c877df8f90d849
【発明の概要】
【発明が解決しようとする課題】
【0007】
生成的敵対ネットワークにおいて、DNN音響モデルは、DNN音響モデルが生成した合成音声パラメータ系列と自然音声パラメータ系列との生成誤差と、自然音声パラメータ系列か合成音声パラメータ系列かを識別する DNN識別モデルの識別誤差が最小になるように学習される。しかし、生成誤差も識別誤差もある時間フレームまたはある時間フレーム前後の数フレームの情報しか考慮しないため、自然音声パラメータ系列全体の情報を考慮できないという問題がある。
【0008】
本発明は、このような課題に着目して鋭意研究され完成されたものであり、その目的は、音声パラメータ系列の時間構造と次元間の関係を考慮した音響モデルを学習し、かつ、適切にモデル化された音響モデルによる音声合成技術を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、第1の発明は、複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパス記憶部と;ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを記憶する生成モデル記憶部と、前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する第1の音声パラメータ系列予測部と、前記合成音声パラメータ系列をグラム行列に変換する第1のグラム行列変換部と、前記グラム行列を入力し、識別モデルを用いて第1の識別値を求める第1の識別部と、前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値に関する第1の誤差を計算する第1の計算部と、前記第1の誤差に基づいて、前記生成モデルを更新する第1の更新部と、を有する生成モデル学習装置と;前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する第2の音声パラメータ系列予測部と、前記合成音声パラメータ系列又は前記自然言語特徴量系列をグラム行列に変換する第2のグラム行列変換部と、前記識別モデルを記憶する識別モデル記憶部と、前記グラム行列を入力し、前記識別モデルを用いて第2の識別値を求める第2の識別部と、前記第2の識別値に関する第2の誤差を計算する第2の計算部と、前記第2の誤差に基づいて、前記識別モデルを更新する第2の更新部と、を有する識別モデル学習装置と;を備える音響モデル学習装置である。
【0010】
第2の発明は、前記生成モデルはフィードフォーワード・ニューラルネットワーク型のモデルである第1の発明に記載の音響モデル学習装置である。
【0011】
第3の発明は、前記識別モデルは畳み込みニューラルネットワーク型のモデルである第1の発明に記載の音響モデル学習装置である。
【0012】
第4の発明は、複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパスから、前記自然言語特徴量系列を入力とし、ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて合成音声パラメータ系列を予測し、前記合成音声パラメータ系列をグラム行列に変換し、前記グラム行列を入力し、識別モデルを用いて第1の識別値を求め、前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値に関する第1の誤差を計算し、前記第1の誤差に基づいて、前記生成モデルを更新する生成モデル学習方法と;
前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測し、前記合成音声パラメータ系列又は前記自然言語特徴量系列をグラム行列に変換し、前記グラム行列を入力し、前記識別モデルを用いて第2の識別値を求め、前記第2の識別値に関する第2の誤差を計算し、前記第2の誤差に基づいて、前記識別モデルを更新する識別モデル学習方法と;を備える音響モデル学習方法である。
【0013】
第5の発明は、複数の発話音声から抽出された自然言語特徴量系列及び自然音声パラメータ系列を発話単位で記憶するコーパスから、前記自然言語特徴量系列を入力とし、ある自然言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて合成音声パラメータ系列を予測するステップと、前記合成音声パラメータ系列をグラム行列に変換するステップと、前記グラム行列を入力し、識別モデルを用いて第1の識別値を求めるステップと、前記自然言語特徴量系列、前記合成音声パラメータ系列及び前記第1の識別値に関する第1の誤差を計算するステップと、前記第1の誤差に基づいて、前記生成モデルを更新するステップと、をコンピュータに実行させる生成モデル学習プログラムと;前記自然言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測するステップと、前記合成音声パラメータ系列又は前記自然言語特徴量系列をグラム行列に変換するステップと、前記グラム行列を入力し、前記識別モデルを用いて第2の識別値を求めるステップ、前記第2の識別値に関する第2の誤差を計算するステップと、前記第2の誤差に基づいて、前記識別モデルを更新するステップと、をコンピュータに実行させる識別モデル学習方法と;を備える音響モデル学習プログラムである。
【0014】
第6の発明は、音声合成対象文章の言語特徴量系列を記憶するコーパス記憶部と、第1の発明に記載の音響モデル学習装置で学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを記憶する生成モデル記憶部と、音声波形を生成するためのボコーダを記憶するボコーダ記憶部と、前記言語特徴量系列を入力とし、前記生成モデルを用いて合成音声パラメータ系列を予測する音声パラメータ系列予測部と、前記合成音声パラメータ系列を入力とし、前記ボコーダを用いて合成音声波形を生成する波形合成処理部を備える音声合成装置である。
【0015】
第7の発明は、音声合成対象文章の言語特徴量系列を入力とし、第4の発明に記載の音響モデル学習方法で学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて、合成音声パラメータ系列を予測し、前記合成音声パラメータ系列を入力とし、音声波形を生成するためのボコーダを用いて、合成音声波形を生成する音声合成方法である。
【0016】
第8の発明は、音声合成対象文章の言語特徴量系列を入力とし、第5の発明に記載の音響モデル学習プログラムで学習した、ある言語特徴量系列からある合成音声パラメータ系列を予測するための生成モデルを用いて、合成音声パラメータ系列を予測するステップと、 前記合成音声パラメータ系列を入力とし、音声波形を生成するためのボコーダを用いて、合成音声波形を生成するステップと、をコンピュータに実行させる音声合成プログラムである。
【発明の効果】
【0017】
本発明によれば、音声パラメータ系列の時間構造と次元間の関係を考慮した音響モデルを学習し、かつ、適切にモデル化された音響モデルによる音声合成技術を提供することができる。
【図面の簡単な説明】
【0018】
【
図1】本発明の実施形態に係るモデル学習装置の機能ブロック図ある。
【
図2】本発明の実施形態に係るGDC-GANの概略説明図である。
【
図3】本発明の実施形態に係る音声合成装置の機能ブロック図ある。
【
図4】原音声(参照データ)のスペクトログラムである。
【
図5】GANを利用しない場合(アンカーのデータ)のスペクトログラムである。
【
図6】比較例1(FFNN-GANのデータ)のスペクトログラムである。
【
図7】比較例2(CNN-GANのデータ)のスペクトログラムである。
【
図8】本発明の実施形態に係るスペクトログラム(GDC-GANのデータ)である。
【
図9】GANを利用しない場合(アンカーのデータ)のスペクトル包絡である。
【
図10】比較例1(FFNN-GANのデータ)のスペクトル包絡である。
【
図11】比較例2(CNN-GANのデータ)のスペクトル包絡である。
【
図12】本発明の実施形態に係るスペクトル包絡(GDC-GANのデータ)である。
【発明を実施するための形態】
【0019】
図面を参照しながら本発明の実施の形態を説明する。ここで、各図において共通する部分には同一の符号を付し、重複した説明は省略する。また、図形は、長方形が処理部を表し、平行四辺形がデータを表し、円柱がデータベースを表す。また、実線の矢印は処理の流れを表し、点線の矢印はデータベースの入出力を表す。
【0020】
処理部及びデータベースは機能ブロック群であり、ハードウェアでの実装に限られず、ソフトウェアとしてコンピュータに実装されていてもよく、その実装形態は限定されない。例えば、パーソナルコンピュータ等のクライアント端末と有線又は無線の通信回線(インターネット回線など)に接続された専用サーバにインストールされて実装されていてもよいし、いわゆるクラウドサービスを利用して実装されていてもよい。
【0021】
本実施形態では、「自然音声」は、話者が発する自然な音声を意味する。「自然言語特徴量系列」は、自然音声データに基づく言語特徴量を意味し、「自然音声パラメータ系列」は、自然音声データに基づく音響特徴量を意味する。一方、「合成音声」は、音声合成装置によって生成される人工的な音声を意味する。「合成音声パラメータ系列」は、合成音声データに基づく音響特徴量を意味する。
【0022】
[A.本実施形態の概要]
本実施形態では、生成的敵対ネットワーク(GAN: Generative Adversarial Network)を用いて、合成音声パラメータ系列を予測するためのDNN予測モデルを学習する。自然言語特徴量系列から合成音声パラメータ系列を予測(又は生成)するDNNを生成モデル(「音響モデル」ともいう)と呼び、また、自然音声パラメータ系列か予測された合成音声パラメータ系列かを識別する DNNを識別モデルと呼ぶ。識別モデルは、自然音声パラメータ系列か合成音声パラメータ系列かの真偽を判定する。
【0023】
すなわち、GANによる学習法では、生成モデルは、識別モデルを欺く(すなわち、自然音声パラメータ系列に近い合成音声パラメータ系列を予測する)ように学習され、識別モデルは真(すなわち自然音声パラメータ系列)と偽(すなわち合成音声パラメータ系列)を正確に判定できるように学習される。
【0024】
本実施形態では、自然及び合成の両方の音声パラメータ系列をグラム行列に変換し、これらのグラム行列を交互に識別モデルへ入力し、学習している。これによって、音声パラメータ系列の時間構造と次元間の関係を考慮した生成モデルを学習することが可能になる。そして、適切にモデル化された生成モデルによる音声合成による音声合成が可能になる。
【0025】
(a1.モデル学習処理)
GANによるモデル学習処理は、2つの学習処理を交互に行う。一方の学習処理では生成モデルを学習し、他方の学習処理では識別モデルを学習する。これらの学習処理それぞれには生成モデル及び識別モデルが必要である。
【0026】
GANによる学習段階では、生成モデルに基づく音声パラメータ系列の予測処理は、自然言語特徴量系列を入力し、合成音声パラメータ系列を出力する。一方、識別モデルに基づく識別処理は、自然音声パラメータ系列が入力された場合、真と判別し、合成音声パラメータ系列が入力された場合、偽と判別するように学習される。
【0027】
本実施形態では、識別モデルへ入力される自然音声パラメータ系列及び合成音声パラメータ系列はグラム行列に変換される。変換されたグラム行列が識別モデルに入力される。
【0028】
(a2.音声合成処理)
音声合成処理では、本実施形態のGANによるモデル学習後の生成モデルを用いて、所定の言語特徴量系列から合成音声パラメータ系列を予測し、ボコーダを用いて合成音声波形を生成する。
【0029】
[B.モデル学習装置の具体的な構成]
(b1.モデル学習装置100の全体構成)
図1は、本実施形態に係るモデル学習装置の機能ブロック図ある。GANによるモデル学習装置100は、生成モデル学習装置200と、識別モデル学習装置300と、コーパス記憶部110を備える。モデル学習装置100は音響モデル学習装置ともいう。
【0030】
モデル学習装置100は、各データベースとして、コーパス記憶部110と、生成モデル記憶部220と、識別モデル記憶部360を備える。また、生成モデル学習装置200は、各処理部として、音声パラメータ系列予測部210と、グラム行列変換部240と、識別部250と、誤差計算部260と、更新部270と、正規化部280を備える。識別モデル学習装置300は、各処理部として、音声パラメータ系列予測部310と、正規化部330と、グラム行列変換部340と、識別部350と、誤差計算部370と、更新部380を備える。
【0031】
まず、一人又は複数人の話者の音声を事前に収録する。ここでは2000文程度の文章を読み上げ(発話し)、その発話音声を収録し、音声辞書(音声コーパスともいう)を話者毎に作成する。各音声コーパスには話者ID(話者識別情報)が付与されている。本実施形態では、1名の女性話者の音声コーパスを使用した。この女性話者は日本語を母語とするプロのアナウンサーである。本実施形態の音声コーパスでは朗読調の音声を使用した。
【0032】
そして、音声コーパスには、発話音声から抽出されたコンテキスト、音声波形、及び、自然音響特徴量が発話単位で格納されている。発話単位とは、文章毎の意味である。コンテキスト(「言語特徴量」ともいう)は各文章をテキスト解析した結果であり、音声波形に影響を与える要因(音素の並び、アクセント、イントネーションなど)である。音声波形は人が各文章を読み上げ、マイクロフォンに入力された波形である。
【0033】
DNNは時間フレーム毎に音響特徴量をモデル化する。音声を合成するために必要な音響特徴量は、継続長、基本周波数、スペクトル包絡、非周期性指標である。継続長は音素レベルの音響特徴量である。基本周波数、スペクトル包絡、非周期性指標は時間フレームレベルの音響特徴量である。
【0034】
時間フレームレベルの音響特徴量の予測には時間フレームの情報が必要であり、時間フレーム情報を得るためには継続長が必要である。そのため、まず、音素レベルの言語特徴量から継続長を予測し、次に、継続長から求めた時間フレーム情報が付加された時間フレームレベルの言語特徴量から基本周波数、スペクトル包絡、非周期性指標を予測する。このようにして、音声パラメータ系列は、時間フレームと、各音響特徴量の次元間の関係という構造で表すことができる。
【0035】
ここで、DNNは行列の積和で表現されるため、入力データの要素のうち大きな値をとる要素が支配的になる。また、DNNは出力データと教師データ間の誤差に基づいて学習されるため、教師データの要素のうち大きな値をとる要素の誤差が支配的になる。これらの問題を防ぐため、データの正規化が必要である。なお、本実施形態の非周期性指標の値は0から1までの範囲にあり、正規化の必要がないため、正規化処理と、その逆の処理(逆正規化処理)はしなくてもよい。ここで、データは時系列データであるため、シークエンスともいう。
【0036】
教師データを正規化してDNNを学習すると、DNNの出力データのスケールは、正規化後の教師データのスケールと同じになる。出力データのスケールを元に戻すには、教師データに適用した正規化法の処理と逆の処理(逆正規化処理)を出力データに適用する必要がある。
【0037】
言語特徴量の正規化にはMin-Max正規化法を用いる。Min-Max正規化法は、最小値が0、最大値が1となるようにデータのスケールを変化させる。音響特徴量の正規化にはMean-Var正規化法を用いる。Mean-Var正規化法は、平均値が 0、標準偏差が1である標準正規分布に従うようにデータのスケールを変化させる。
【0038】
ここで、DNNは入出力の一対一の対応関係を表すモデルである。このため、DNN音声合成では、予め時間フレーム単位の音響特徴量系列と音素単位の言語特徴量系列の対応(音素境界)を設定し、時間フレーム単位の音響特徴量と言語特徴量の対を用意する必要がある。この対が本実施形態の音声パラメータ系列及び言語特徴量系列に相当する。
【0039】
本実施形態では、言語特徴量系列及び音声パラメータ系列として、上述した音声辞書から、自然言語特徴量系列及び自然音声パラメータ系列を用いる。コーパス記憶部110は、上述した1名の女性話者の音声コーパスから抽出された自然言語特徴量系列120及び自然音声パラメータ系列130を発話単位で記憶している。モデル学習装置100では、教師データ系列が自然音声パラメータ系列130であり、入力データ系列が自然言語特徴量系列120である。また、出力データ系列は、後述する合成音声パラメータ系列230及び320である。
【0040】
(b2.生成モデル学習装置200の各機能ブロック)
音声パラメータ系列予測部210は、生成モデル記憶部220に記憶されている生成モデルを用いて、自然言語特徴量系列120から合成音声パラメータ系列230を予測する。ここでは自然言語特徴量系列120をMin-Max正規化法によって正規化してから、合成音声パラメータ系列230を予測している。以降では、説明の簡略化のため、合成音声パラメータ系列230は正規化済みであるとして説明する。
【0041】
合成音声パラメータ系列230は、後述するLG(生成誤差を求める損失関数)を求める場合と、後述するLD(識別誤差を求める損失関数)を求める場合の両方に用いられる。LG(生成誤差を求める損失関数)を求める場合は、後述する誤差計算部260に直接入力される。一方、LD(識別誤差を求める損失関数)を求める場合は、グラム行列変換部240によってグラム行列に変換され、さらに、識別部250が識別モデル記憶部360に記憶されている識別モデルに基づいて、後述する識別値系列を求め、誤差計算部260に入力される。
【0042】
正規化部280は、自然音声パラメータ系列130をMean-Var正規化法によって正規化し、誤差計算部260へ出力する。以降では、説明の簡略化のため、説明の簡略化のため、自然音声パラメータ系列130は正規化済みであるとして説明する。
【0043】
誤差計算部260は、損失関数を用いて誤差を計算する。GANによる学習の場合、誤差は、LGとLDの和として表すことができる。
【0044】
LGは生成モデルの生成誤差を求める損失関数である。入力は合成音声パラメータ系列230と、正規化部280の出力(すなわち自然音声パラメータ系列)である。すなわち、LGは合成音声パラメータ系列と自然音声パラメータ系列の誤差(損失)を表す。
【0045】
LDは識別誤差を求める損失関数である。入力は、後述する識別部250が求めた識別値系列と、真291を表す真値系列である。
【0046】
更新部270は、誤差計算部260で計算された誤差に基づいて、生成モデル記憶部220に記憶されている生成モデルを勾配法によって更新する。ここでの勾配法はAdam法である。
【0047】
(b3.識別モデル学習装置300の各機能ブロック)
識別モデル学習装置300の生成モデル記憶部220は、生成モデル学習装置200の生成モデル記憶部220に記憶されている生成モデルと同じものを記憶している。すなわち、生成モデル学習装置200によって生成モデルが更新されると、更新された生成モデルを記憶している。
【0048】
音声パラメータ系列予測部310は、生成モデル学習装置200の音声パラメータ系列予測部210と同様に、生成モデル記憶部220に記憶されている生成モデルを用いて、自然言語特徴量系列120から合成音声パラメータ系列320を予測する。合成音声パラメータ系列320は、生成モデル学習装置200の合成音声パラメータ系列と同様、正規化されている。正規化部330は、生成モデル学習装置200の正規化部280と同様に、自然音声パラメータ系列130を正規化している。
【0049】
グラム行列変換部340は、正規化部330の出力又は合成音声パラメータ系列320を入力とし、それぞれをグラム行列に変換する。それぞれの入力に分けて、識別モデルの更新処理を説明する。
図1では、正規化部330の出力(すなわち、正規化された自然音声パラメータ系列)が入力された場合の以後の処理を一点鎖線で示す。また、合成音声パラメータ系列320が入力された場合の以後の処理を二点鎖線で示す。
【0050】
まず、一点鎖線の場合の識別モデルの更新処理について説明する。グラム行列変換部340は、正規化部330の出力(正規化された自然音声パラメータ系列)をグラム行列に変換する。識別部350は、識別モデル360に記憶されている識別モデルを用いて、後述する識別値系列を出力する。
【0051】
誤差計算部370は、識別値系列と、真391を表す真値系列を入力し、LD(識別誤差を求める損失関数)を計算する。更新部380は、誤差計算部370で計算された誤差に基づいて、識別モデル記憶部360に記憶されている識別モデルを勾配法によって更新する。ここでの勾配法はAdam法である。
【0052】
次に、二点鎖線の場合の識別モデルの更新処理について説明する。グラム行列変換部340は、合成音声パラメータ系列320をグラム行列に変換する。識別部350は、識別モデル360に記憶されている識別モデルを用いて、識別値系列を出力する。
【0053】
誤差計算部370は、識別値系列と、偽392を表す偽値系列を入力し、LD(識別誤差を求める損失関数)を計算する。更新部380は、誤差計算部370で計算された誤差に基づいて、識別モデル記憶部360に記憶されている識別モデルを勾配法によって更新する。ここでの勾配法はAdam法である。
【0054】
(b4.誤差計算で用いる系列及び損失関数の説明)
生成モデルの学習データセットである自然言語特徴量系列120及び自然音声パラメータ系列130について数式を用いて説明する。自然言語特徴量系列120を式(1)で定義する。
【数1】
xは自然言語特徴量系列120であり、x
tは時間フレームtにおける自然言語特徴量ベクトルであり、x
t
(k)は時間フレームtにおける次元kの自然言語特徴量である。転置行列「上付き文字のT」をベクトル内と外で2つ用いているのは、時間情報を考慮するためである。「下付き文字のtとT」は、それぞれ時間フレームのインデックスと総数である。本実施形態のフレーム間隔は5mSであり、時間フレーム数は1000フレームである。「上付き文字の(k)と(K)」は、それぞれ自然言語特徴量ベクトルの次元インデックスと次元数である。本実施形態の次元数は521である。
【0055】
自然音声パラメータ系列130を式(2)で定義する。
【数2】
yは自然音声パラメータ系列130であり、y
tは時間フレームtにおける自然音響特徴量ベクトルであり、y
t
(d)は時間フレームtにおける次元dの自然音響特徴量である。「上付き文字の(d)と(D)」は、それぞれ音響特徴量ベクトルの次元インデックスと次元数である。本実施形態では、生成モデルにFFNN(Feed-Forward Neural Network、フィードフォーワード・ニューラルネットワーク)を用いており、次元数は521である。後処理の必要が無いFFNNを生成モデルに用いることは、計算資源の限られた計算環境に適しているからである。
【0056】
合成音声パラメータ系列230は、yに対応する生成モデルでxから予測した音声パラメータ系列として式(3)で定義する。
【数3】
Gは生成モデルであり、y^は合成音声パラメータ系列であり、y^
tは時間フレームtにおける予測した音響特徴ベクトルであり、y^
t
(d)は時間フレームtにおける次元dの予測した音響特徴量である。なお、本来は、ハット記号「^」は「y」の上に記載されるものであるが、明細書で使用可能な文字コードの都合上「y」と「^」を並べて記載する。
【0057】
yやy^に対応する識別モデル360の教師データとして用いる真値(291及び391)と偽値392を式(4)で定義する。
【数4】
zは教師データとしての真偽値系列であり、z
tは時間フレームtにおける真偽値である。z
(R)は真値系列であり、T個の真値が並んでいる。z
(F)は偽値系列であり、T個の偽値が並んでいる。
【0058】
識別部350はy又はy^を入力とし、識別モデル360を用いてz^を出力する。また、生成モデル学習装置200の識別部250は、y^を入力とし、識別モデル360を用いてz^を出力する。z^はzに対応する。なお、z^は式(5)で定義する。
【数5】
Dは識別モデル360、z^はDの識別値系列、z^
tは時間フレームtにおけるDの識別値である。
【0059】
音声パラメータ系列の生成誤差はy(正規化部280の出力)とy^(230)の平均絶対誤差で定義される。
【数6】
ここで、L
Gは生成誤差を求める損失関数である。
【0060】
yやy^の識別誤差はzとz^の交差エントロピーで定義される。
【数7】
ここで、L
Dは識別誤差を求める損失関数である。
【0061】
GANに基づく学習は生成モデルと識別モデルの学習を交互に繰り返す。識別モデルの学習について説明する。誤差計算部370への入力はy(330からの出力)のz^とy^(320)のz^が交互に入力される。yのz^が入力された場合、zをz(R)(391)に設定し、LDを計算する。y^のz^が入力された場合、zをz(F)(392)に設定し、LDを計算する。次に、それぞれの場合におけるLDに基づいて、更新部380が識別モデルのモデルパラメータを更新する。
【0062】
生成モデルの学習では、まず、誤差計算部260は、LGと、y^のz^に対するzをz(R)291と設定したときのLDとの和の誤差を計算する。次に、LGとLDとの和の誤差に基づいて、更新部270が生成モデルのモデルパラメータを更新する。
【0063】
L
GとL
Dとの和の誤差は式(8)で定義される。
【数8】
L
Aは生成モデルを学習するときに用いる損失関数であり、E
GはL
Gの期待値であり、E
DはL
Dの期待値である。E
GとE
Dを用いて、L
Gの生成誤差とL
Dの識別誤差のスケールの違いを調整する。E
GとE
Dは生成モデルと識別モデルのパラメータが更新されるたびに計算する。
【0064】
本実施形態では、FFNNを生成モデルとした場合の音声パラメータ系列予測部210の構成を対象としている。生成モデルがFFNNの場合、時間フレームtの生成誤差は時間フレームtの音響特徴量にしか影響を与えない。このように、音響特徴量の時間構造を考慮しないため、識別モデルが音響特徴量の時間構造を捉える必要がある。また、識別モデルがCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)の場合、畳み込みの幅の制限がある。このため、音声パラメータ系列から抽出される特徴量に時系列全体の特徴は含まれていない。
【0065】
そこで、本実施形態では、時系列全体の特徴を表す音響特徴量のグラム行列を用いた識別モデルを用いる。従来の識別モデルは時間フレーム毎の音響特徴量を識別する。これに対し、本実施形態の識別モデルは系列全体を表すグラム行列を識別する。これにより、生成モデルは音響特徴量の時間フレーム毎の特徴を捉える役割を担い、識別モデルは音響特徴量の系列全体の特徴を捉える役割を担う。このようにして、本実施形態のGANによる学習装置は、生成モデルと識別モデルを別々の基準で学習することによって、音響特徴量を多角的に捉えることが可能になる。
【0066】
自然音声パラメータ系列のグラム行列は式(9)で定義する。
【数9】
gは自然音声パラメータ系列のD×Dのグラム行列である。Dは次元数である。
【0067】
生成モデルを用いて予測された合成音声パラメータ系列320は式(10)で定義する。
【数10】
g^は合成音声パラメータ系列320のD×Dのグラム行列である。これらのグラム行列をTで除算するのは、音響特徴量の時間フレーム数による影響をなくすためである。グラム行列から真偽値を出力するまでの畳み込み層の構成は、画像生成において高性能な GANである畳み込みニューラルネットワークによるGAN(DC-GAN:Deep Convolutional GAN、 A. Radford, L. Metz, and S. Chintala, “Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks,” ICLR 2016, International Conference on Learning Representations, San Juan, Puerto Rico, 2016)の識別モデルと同じである。
【0068】
本実施形態に係るGANによる学習法は、グラム行列とDC-GANを利用するため、グラム行列による畳み込みニューラルネットワークによるGAN(GDC-GAN:Gram matrix DC-GAN)と呼ぶ。
【0069】
図2は、本発明の実施形態に係るGDC-GANの概略説明図である。識別モデルの入力にグラム行列を用いた処理の流れを説明する。本実施形態では、言語特徴量系列をT×Kの行列で表し、音声パラメータ系列をT×Dの行列で表し、グラム行列をD×Dの行列で表す。Tは1000フレームであり、Kは521次元であり、Dは521次元である。また、生成モデルはFFNNであり、識別モデルはCNNである。
【0070】
生成モデルがFFNNの場合、生成モデルは時間フレーム毎に学習される。このため、生成誤差を計算する際には、時間フレームtの誤差は時間フレームtの音声パラメータ系列にしか影響を与えない。
【0071】
一方、識別モデルがCNNの場合、識別モデルは畳み込み幅(「畳み込み層の数」ともいう)と同じ数の時間フレーム数を考慮して学習される。このため、識別誤差を計算する際には、時間フレームtの識別誤差は畳み込み幅に依存した時間フレームtの音声パラメータ系列には影響を与えることができる。しかしながら、識別誤差は時系列全体Tの特徴を考慮することはできない。
【0072】
本実施形態によれば、音声パラメータ系列をグラム行列に変換してから、識別モデルへ入力している。これによって、グラム行列を静的な画像とみなすことが可能になる。そして、CNNでグラム行列の特徴を考慮しながら識別することが可能になる。
【0073】
このように、生成誤差と識別誤差で別々の誤差計算基準を設けることによって、多角的に音声パラメータ系列を捉えることが可能になる。すなわち、生成誤差を計算する際には、図中の点線で示した時間フレームtの生成誤差だけが時間フレームtの音響特徴量に影響を与える。一方、識別誤差を計算する際には、図中の一点鎖線で示した時系列全体の識別誤差を識別値に与えることが可能になる。
【0074】
なお、もしも音声パラメータ系列がグラム行列に変換されずにそのまま識別モデルへ入力されると、識別処理は時間フレーム毎に実行される。このため、識別モデルからの出力は識別値系列になることに留意していただきたい。
【0075】
[C.音声合成装置の具体的な構成]
図3は、本実施形態に係る音声合成装置の機能ブロック図ある。音声合成装置400は、各データベースとして、コーパス記憶部410と、生成モデル記憶部440と、ボコーダ記憶部470を備えている。また、音声合成装置300は、各処理部として、音声パラメータ系列予測部430と、波形合成処理部460を備えている。
【0076】
コーパス記憶部410は、ユーザが音声合成したい文章(音声合成対象文章)から抽出した言語特徴量系列420を記憶している。
【0077】
音声パラメータ系列予測部430は、言語特徴量系列420を入力し、モデル学習時と同様の正規化処理を行う。次に、正規化処理された言語特徴量系列を生成モデル記憶部440が記憶している学習後の生成モデルに基づいて音声パラメータ系列を予測し、さらに逆正規化処理を行う。最終的には、合成音声パラメータ系列450を出力する。
【0078】
波形合成処理部460は、合成音声パラメータ系列450を入力とし、ボコーダ記憶部470が記憶しているボコーダで処理し、合成音声波形480を出力する。
【0079】
[D.音声評価]
(d1.実験条件)
音声評価の実験には、モデル学習装置100の説明と同様、日本語を母語とするプロのアナウンサーの女性話者一名の音声コーパスを使用した。音声は朗読調の音声であり、学習用には2000発話、評価用には学習用とは別に100発話を用意した。言語特徴量は521次元のベクトル系列であり、外れ値が発生しないように発話内の正規化手法により正規化した。基本周波数は16bit、48kHzでサンプリングした収録音声から、5msフレーム周期で抽出した。また、学習の前処理として、基本周波数を対数化してから、無音と無声の区間を補間した。
【0080】
比較する5つの対象について説明する。1)原音声は「参照データ」と呼ぶ。2)GANを利用しない場合(すなわち、GANによる学習法を利用せずに、LG(生成誤差を求める損失関数)のみで生成モデルを学習した場合)は、一番低いという意味で「アンカー(錨)のデータ」と呼ぶ。3)比較例1は、識別モデルがFFNNの場合であり、「FFNN-GANのデータ」と呼ぶ。4)比較例2は、識別モデルがCNNの場合であり、「CNN-GANのデータ」と呼ぶ。5)本実施形態は、「GDC-GANのデータ」と呼ぶ。ここで、識別モデルがFFNN又はCNNの場合、識別モデルへの入力はグラム行列ではなく、音声パラメータ系列である。なお、生成モデルは全てFFNNである。
【0081】
(d2.実験結果)
図4から
図8はスペクトログラムを示し、
図9から
図12はスペクトル包絡を示す。音声は時々刻々と変わる周波数分布及び大きさ(パワー)の変化という情報を含んでいる。スペクトログラムは横軸が時間、縦軸が周波数、白黒の濃淡がパワーを表し、濃い部分はパワーが大きいことを示している。
【0082】
スペクトル包絡は、合成音声の音色を制御する特徴量である。ここでは、スペクトル包絡の表現方法の一つであるメルケプストラムを用いる。スペクトル包絡のフォルマントを強調し、起伏のあるスペクトル包絡を表現できる。
【0083】
図4は、原音声(参照データ)のスペクトログラムである。
図5は、GANを利用しない場合(アンカーのデータ)のスペクトログラムである。
図6は、比較例1(FFNN-GANのデータ)のスペクトログラムである。
図7は、比較例2(CNN-GANのデータ)のスペクトログラムである。
図8は、本発明の実施形態に係るスペクトログラム(GDC-GANのデータ)である。
【0084】
図5の510を見ると、アンカーのデータは、原音声(
図4参照)の高周波帯域の音声が再現できていないことがわかる。
図6(FFNN-GANのデータ)を見ると、横縞が強く出ており、時間変化がゆったりしていることがわかる。すなわち、全体的に時間変化がゆったりしており、平坦な音声を合成していることがわかる。
【0085】
図7(CNN-GANのデータ)を見ると、CNNモデルの畳み込みの幅の制限を受けているが、
図6よりも全体的な時間変化がわかる。しかしながら、縦方向にまだらな模様が出ており、かすれた音声を合成していることがわかる。一方、GDC-GANのデータの場合、
図8の520を見ると、フォルマントがくっきり出ていることがわかる。また、530を見ると、低周波帯域のパワーも強く表されている。すなわち、全体的な時間変化をはっきりと表しており、はっきりとした音声を合成していることがわかる。
【0086】
図9から
図12を用いて各場合のスペクトル包絡を説明する。ここでは、スペクトログラムの時刻0.68におけるスペクトル包絡を描いたものであり、Referenceは、正解すなわち原音声のスペクトル包絡である。
【0087】
図9(アンカーのデータ)を見ると、波形がReferenceと合っておらず、時間変化が合っていないことがわかる。
図10(FFNN-GANのデータ)を見ると、時間変化が合っていないことがわかる。ただし、610で示す通り、フォルマントは合っており、スペクトル強度が高く、音色がよく聞こえる。
【0088】
。
図11(CNN-GANのデータ)を見ると、時間変化は良く表されているが、波形の山の形状は合っていない。一方、
図12(GDC-GANのデータ)を見ると、620で示す通り、フォルマントは合っている。また、時間変化もよくあらわされており、波形の山の形状も合っている。このように、本実施形態に係るGDC-GANは、生成モデルが音声パラメータ系列の時間構造と次元間の関係を考慮したモデルパラメータを獲得できるように学習していることがわかる。
【0089】
[E.作用効果]
モデル学習装置100は、自然及び合成の両方の音声パラメータ系列をグラム行列に変換し、これらのグラム行列を交互に識別モデルへ入力し、学習している。これによって、音声パラメータ系列の時間構造と次元間の関係を考慮した生成モデルを学習することが可能になる。そして、適切にモデル化された生成モデルによる音声合成による音声合成が可能になる。
【0090】
以上、本発明の実施形態について説明してきたが、これらのうち、2つ以上の実施例を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施例を部分的に実施しても構わない。例えば、生成モデルはFFNNに限られずRNN(Recurrent Neural Network)であってもよい。また、音声合成装置のボコーダはニューラル・ボコーダであってもよい。
【0091】
また、本発明は、上記発明の実施形態の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。
【符号の説明】
【0092】
100 モデル学習装置
200 生成モデル学習装置
300 識別モデル学習装置
400 音声合成装置
【要約】 (修正有)
【課題】音声パラメータの時間構造と次元間の関係を考慮した音響モデルを学習する音響モデル学習装置、方法及びプログラムを提供する。
【解決手段】モデル学習装置100は、生成モデル学習装置200と、識別モデル学習装置300と、を備える。生成モデル学習装置は、合成音声パラメータを予測する音声パラメータ系列予測部210と、合成音声パラメータをグラム行列に変換するグラム行列変換部240と、第1の識別値を求める識別部250と、第1の誤差を計算する誤差計算部260と、生成モデル220を更新する更新部270とを備える。識別モデル学習装置は、合成音声パラメータを予測する音声パラメータ系列予測部310と、合成音声パラメータ又は自然言語特徴量をグラム行列に変換するグラム行列変換部340と、第2の識別値を求める識別部350と、第2の誤差を計算する誤差計算部370と、識別モデル360を更新する更新部380とを備える。
【選択図】
図1