IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人情報通信研究機構の特許一覧

特開2024-118704声質変換処理システム、および、声質変換処理方法
<>
  • 特開-声質変換処理システム、および、声質変換処理方法 図1
  • 特開-声質変換処理システム、および、声質変換処理方法 図2
  • 特開-声質変換処理システム、および、声質変換処理方法 図3
  • 特開-声質変換処理システム、および、声質変換処理方法 図4
  • 特開-声質変換処理システム、および、声質変換処理方法 図5
  • 特開-声質変換処理システム、および、声質変換処理方法 図6
  • 特開-声質変換処理システム、および、声質変換処理方法 図7
  • 特開-声質変換処理システム、および、声質変換処理方法 図8
  • 特開-声質変換処理システム、および、声質変換処理方法 図9
  • 特開-声質変換処理システム、および、声質変換処理方法 図10
  • 特開-声質変換処理システム、および、声質変換処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118704
(43)【公開日】2024-09-02
(54)【発明の名称】声質変換処理システム、および、声質変換処理方法
(51)【国際特許分類】
   G10L 21/007 20130101AFI20240826BHJP
   G10L 25/18 20130101ALI20240826BHJP
   G10L 25/30 20130101ALI20240826BHJP
【FI】
G10L21/007
G10L25/18
G10L25/30
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023025134
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(72)【発明者】
【氏名】岡本 拓磨
(72)【発明者】
【氏名】戸田 智基
(72)【発明者】
【氏名】河井 恒
(57)【要約】      (修正有)
【課題】入力音声と出力音声との間のアライメントを安定して推定でき、かつ、CPUのみで、高精度、高品質な声質変換処理を実行する声質変換処理システム及び方法を提供する。
【解決手段】声質変換処理システム1000において、継続長予測処理部3は、単調かつ単射となるように最適化されたアライメントにより導出される継続長データと同等の継続長データを予測するように学習されたモデルにより、継続長データを取得するので、取得される継続長データの精度が高くなり、その結果、この声質変換処理システムで取得される声質変換したデータの精度も高くなる。したがって、声質変換処理システム1000では、入力音声と出力音声との間のアライメントを安定して推定でき、そして、音声波形データ取得処理部において、CPUのみで高速処理が可能な学習モデルを設定することで、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理システムであって、
前記入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムである入力データに対してエンコード処理を行うことで、潜在変数取得用統計データを取得するエンコード処理部と、
前記入力データに対して、継続長予測処理を行うことで、継続長データを取得する継続長予測処理部と、
前記潜在変数取得用統計データと前記継続長データから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データを取得するアライメント処理部と、
前記継続長考慮中間特徴量データに対してデコード処理を行うことで、潜在変数データを取得するデコード処理部と、
前記潜在変数データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する音声波形データ取得処理部と、
を備える声質変換処理システム。
【請求項2】
前記エンコード処理部、前記継続長予測処理部、前記デコード処理部、および、前記音声波形データ取得処理部は、
パラメータ設定可能な学習モデルを含み、
前記入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された前記学習モデルを含んでいる、
請求項1に記載の声質変換処理システム。
【請求項3】
入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理システムであって、
前記入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムに対してエンコード処理を行うことで、第1中間特徴量データを取得するエンコード処理部と、
前記第1中間特徴量データから、前記声質変換した音声波形データの継続長データ、エネルギーデータ、および、中心周波数データを予測し、予測した当該継続長データ、音声エネルギーデータ、および、対数基本周波数データを考慮した中間特徴量データである第2中間特徴量データを取得する分散適応処理部と、
前記第2中間特徴量データに対してデコード処理を行うことで、第3中間特徴量データを取得するデコード処理部と、
前記第3中間特徴量データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する音声波形データ取得処理部と、
を備える声質変換処理システム。
【請求項4】
前記エンコード処理部、前記分散適応処理部、前記デコード処理部、および、前記音声波形データ取得処理部は、
パラメータ設定可能な学習モデルを含み、
前記入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された前記学習モデルを含んでいる、
請求項3に記載の声質変換処理システム。
【請求項5】
入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理方法であって、
前記入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムである入力データに対してエンコード処理を行うことで、潜在変数取得用統計データを取得するエンコード処理ステップと、
前記入力データに対して、継続長予測処理を行うことで、継続長データを取得する継続長予測処理ステップと、
前記潜在変数取得用統計データと前記継続長データから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データを取得するアライメント処理ステップと、
前記継続長考慮中間特徴量データに対してデコード処理を行うことで、潜在変数データを取得するデコード処理ステップと、
前記潜在変数データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する音声波形データ取得処理ステップと、
を備え、
前記エンコード処理ステップ、前記継続長予測処理ステップ、前記デコード処理ステップ、および、前記音声波形データ取得処理ステップは、
前記入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデルによる処理を含む、
声質変換処理方法。
【請求項6】
入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理方法であって、
前記入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムに対してエンコード処理を行うことで、第1中間特徴量データを取得するエンコード処理ステップと、
前記第1中間特徴量データから、前記声質変換した音声波形データの継続長データ、エネルギーデータ、および、中心周波数データを予測し、予測した当該継続長データ、音声エネルギーデータ、および、対数基本周波数データを考慮した中間特徴量データである第2中間特徴量データを取得する分散適応処理ステップと、
前記第2中間特徴量データに対してデコード処理を行うことで、第3中間特徴量データを取得するデコード処理ステップと、
前記第3中間特徴量データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する音声波形データ取得処理ステップと、
を備える声質変換処理方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある話者の音声を、発話内容を維持したまま別の話者の音声へと変換する声質変換技術に関する。
【背景技術】
【0002】
ニューラルネットワークを用いた音声技術はここ数年で進展を遂げ、テキスト音声合成においては自然音声とほぼ変わらない高品質な合成が可能となっている。ある話者の音声を、発話内容を維持したまま別の話者の音声へと変換する声質変換技術においても、ニューラルネットワークを用いた方式により高品質な変換が実現されている。その中でも、系列変換型声質変換モデルは、従来のフレーム変換モデルと比較して、話速や韻律まで変換可能であり、注目を集めている。
【0003】
機械翻訳で登場したTransformer型ニューラルネットワークモデルを用いることにより、入力話者の音声特徴量系列の長さと出力話者の音声特徴量系列の長さとが異なる場合も直接変換が可能な系列変換型声質変換モデルが提案され(例えば、非特許文献1を参照)、複数話者同士の声質変換技術やテキスト音声合成技術を組み合わせることにより少量のペアデータで声質変換技術を実現する方式も提案されている。しかし、これらの技術では、自己回帰型モデルを用いているため、生成速度が遅いという問題、および、Transformerの注意機構(アテンション機構)の推定誤りによりスキップまたは過剰に繰り返されるフレームがあるという不安定な変換が実行されるという問題がある。
【0004】
これらの問題を解決するために、非自己回帰型モデルを用いた技術が提案されている(例えば、非特許文献2を参照)。この技術では、最初に従来の自己回帰型モデルを教師モデルとして学習し、入力音声と出力音声間のアライメントを取得する。その上で、この技術では、教師モデルで得られたアライメントを用いて生徒モデルである非自己回帰型モデルを学習する。最後に、この技術では、別途学習した波形生成ニューラルネットワークと組み合わせることにより、高速かつ安定した声質変換を実現することができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】R. Liu, X. Chen, and X. Wen, "Voice conversion with transformer network," in Proc. ICASSP, May 2020, pp. 7759-7763.
【非特許文献2】T. Hayashi, W.-C. Huang, K. Kobayashi, and T. Toda, "Non-autoregressive sequence-to-sequence voice conversion," in Proc. ICASSP, June 2021, pp. 7068-7072.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非自己回帰型モデルを用いた技術(非特許文献2に開示されている技術)では、自己回帰モデルを用いた技術と比べて高速かつ安定した変換を実現してはいるが、以下の課題がある。
【0007】
第1に、上記の非自己回帰型モデルを用いた技術では、教師モデルである自己回帰モデル、生徒モデルである非自己回帰モデル、および音声波形生成モデルの3つのニューラルネットワークモデルをそれぞれ独立に学習する必要がある。そのため、推定誤差は最終的な音声波形生成モデルまで伝搬し、変換精度が劣化する。
【0008】
第2に、上記の非自己回帰型モデルを用いた技術では、入力音声と出力音声間のアライメントは教師自己回帰モデルにより推定するため、不安定である。
【0009】
第3に、上記の非自己回帰型モデルを用いた技術では、波形生成モデルは高速生成にはGPU(Graphics Processing Unit)が必要であり、CPU(Central Processing Unit)のみを用いて、高速かつ高品質に、音声波形を生成する処理を実行することは困難である。
【0010】
第4に、上記の非自己回帰型モデルを用いた技術では、非自己回帰モデルの入力特徴量にはメルスペクトログラムだけではなく基本周波数およびパワーも入力する必要があるが、これらはメルスペクトログラムからでも推定可能な量であるため、冗長である。
【0011】
そこで、本発明は、上記課題に鑑み、入力音声と出力音声との間のアライメントを安定して推定でき、かつ、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行する声質変換処理システム、声質変換処理方法を実現することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するための第1の発明は、入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理システムであって、エンコード処理部と、継続長予測処理部と、アライメント処理部と、デコード処理部と、音声波形データ取得処理部と、を含む。
【0013】
エンコード処理部は、入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムである入力データに対してエンコード処理を行うことで、潜在変数取得用統計データを取得する。
【0014】
継続長予測処理部は、入力データに対して、継続長予測処理を行うことで、継続長データを取得する。
【0015】
アライメント処理部は、潜在変数取得用統計データと継続長データから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データを取得する。
【0016】
デコード処理部は、継続長考慮中間特徴量データに対してデコード処理を行うことで、潜在変数データを取得する。
【0017】
音声波形データ取得処理部は、潜在変数データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する。
【0018】
この声質変換処理システムでは、高解像度のデータである入力データ(入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラム)から、潜在変数を取得するとともに、継続長予測処理を行うので、高精度な継続長データを取得することができる。また、高解像度のデータである入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データの統計量データを用いて、入力音声と出力音声との間のアライメントを最適化した継続長予測処理部により、高精度かつ安定した継続長データの予測処理が実行される。
【0019】
したがって、この声質変換処理システムでは、入力音声と出力音声との間のアライメントを安定して推定でき、そして、音声波形データ取得処理部において、CPUのみで高速処理が可能な学習モデルを設定することで、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【0020】
なお、「声質変換」とは、入力音声を、入力音声とは異なる音声(例えば、話速、韻律、基本周波数、エネルギー(パワー)、音素継続長、線形スペクトログラムスペクトログラム、メルスペクトログラムの少なくとも1つが異なる音声)に変換することをいう。
【0021】
第2の発明は、第1の発明であって、エンコード処理部、継続長予測処理部、デコード処理部、および、音声波形データ取得処理部は、パラメータ設定可能な学習モデルを含み、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデルを含んでいる。
【0022】
この声質変換処理システムでは、エンコード処理部、継続長予測処理部、デコード処理部、および、音声波形データ取得処理部において、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデル(学習済みモデル)を含んでいるので、End-to-endモデルの学習処理により取得された学習済みモデルを含むシステムを構築することができる。そして、この声質変換処理システムでは、高解像度のデータである入力データ(入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラム)から、潜在変数を取得するとともに、継続長予測処理を行うので、高精度な継続長データを取得することができる。また、高解像度のデータである入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データの統計量データを用いて、入力音声と出力音声との間のアライメントを最適化し、最適化したアライメントから取得される継続長データを教師データとして、継続長予測処理部の学習モデルに最適化パラメータを設定することで、継続長予測処理部において、高精度かつ安定した継続長データの予測処理ができる。
【0023】
したがって、この声質変換処理システムでは、入力音声と出力音声との間のアライメントを安定して推定でき、そして、音声波形データ取得処理部において、CPUのみで高速処理が可能な学習モデルを設定することで、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【0024】
第3の発明は、入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理システムであって、エンコード処理部と、分散適応処理部と、デコード処理部と、音声波形データ取得処理部と、を備える。
【0025】
エンコード処理部は、入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムに対してエンコード処理を行うことで、第1中間特徴量データを取得する。
【0026】
分散適応処理部は、第1中間特徴量データから、声質変換した音声波形データの継続長データ、エネルギーデータ、および、中心周波数データを予測し、予測した当該継続長データ、音声エネルギーデータ、および、対数基本周波数データを考慮した中間特徴量データである第2中間特徴量データを取得する。
【0027】
デコード処理部は、第2中間特徴量データに対してデコード処理を行うことで、第3中間特徴量データを取得する。
【0028】
音声波形データ取得処理部は、第3中間特徴量データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する。
【0029】
この声質変換処理システムでは、エンコード処理部、分散適応処理部、デコード処理部、および、音声波形データ取得処理部において、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデル(学習済みモデル)を含んでいるので、End-to-endモデルの学習処理により取得された学習済みモデルを含むシステムを構築することができる。そして、この声質変換処理システムでは、高解像度のデータである入力データ(入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラム)から、第1中間特徴量データを取得するとともに、継続長予測処理を行うので、高精度な継続長データを取得することができる。また、高解像度のデータである入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される第1中間特徴量データと、声質変換したデータ(正解データ)音響特徴量が取得される第2中間特徴量データとを用いて、入力音声と出力音声との間のアライメントを最適化し、最適化したアライメントから取得される継続長データを教師データとして、分散適応処理部の学習モデルに最適化パラメータを設定することで、分散適応処理部において、高精度かつ安定した継続長データの予測処理ができる。さらに、この声質変換処理システムでは、分散適応処理部により、第1中間特徴量データから、声質変換した音声波形データの継続長データ、エネルギーデータ、および、中心周波数データが予測(取得)されるので、別途、エネルギーデータ、および、中心周波数データを入力する必要がない。
【0030】
したがって、この声質変換処理システムでは、入力話者音声波形データの音響特徴量(例えば、メルスペクトログラム)を入力するだけで、入力音声と出力音声との間のアライメントを安定して推定でき、そして、音声波形データ取得処理部において、CPUのみで高速処理が可能な学習モデルを設定することで、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【0031】
第4の発明は、第3の発明であって、エンコード処理部、分散適応処理部、デコード処理部、および、音声波形データ取得処理部は、パラメータ設定可能な学習モデルを含み、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデルを含んでいる。
【0032】
これにより、この声質変換処理システムでは、エンコード処理部、分散適応処理部、デコード処理部、および、音声波形データ取得処理部において、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデル(学習済みモデル)による処理を実行することができる。
【0033】
第5の発明は、入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理方法であって、エンコード処理ステップと、継続長予測処理ステップと、アライメント処理ステップと、デコード処理ステップと、音声波形データ取得処理ステップと、を備える。
【0034】
エンコード処理ステップは、入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムである入力データに対してエンコード処理を行うことで、潜在変数取得用統計データを取得する。
【0035】
継続長予測処理ステップは、入力データに対して、継続長予測処理を行うことで、継続長データを取得する。
【0036】
アライメント処理ステップは、潜在変数取得用統計データと継続長データから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データを取得する。
【0037】
デコード処理ステップは、継続長考慮中間特徴量データに対してデコード処理を行うことで、潜在変数データを取得する。
【0038】
音声波形データ取得処理ステップは、潜在変数データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する。
【0039】
そして、エンコード処理ステップ、継続長予測処理ステップ、デコード処理ステップ、および、音声波形データ取得処理ステップは、入力話者の音声波形データと、当該音声波形データの声質変換した音声波形の正解データとを用いて学習処理を行い取得された最適化パラメータが設定された学習モデルによる処理を含む。
これにより、第1の発明と同様の効果を奏する声質変換処理方法を実現することができる。
【0040】
第6の発明は、入力話者の音声波形データを声質変換した音声波形データに変換する声質変換処理方法であって、エンコード処理ステップと、分散適応処理ステップと、デコード処理ステップと、音声波形データ取得処理ステップと、を備える。
【0041】
エンコード処理ステップは、入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムに対してエンコード処理を行うことで、第1中間特徴量データを取得する。
【0042】
分散適応処理ステップは、第1中間特徴量データから、声質変換した音声波形データの継続長データ、エネルギーデータ、および、中心周波数データを予測し、予測した当該継続長データ、音声エネルギーデータ、および、対数基本周波数データを考慮した中間特徴量データである第2中間特徴量データを取得する。
【0043】
デコード処理ステップは、第2中間特徴量データに対してデコード処理を行うことで、第3中間特徴量データを取得する。
【0044】
音声波形データ取得処理ステップは、第3中間特徴量データに対して、音声波形データ取得処理を行うことで、声質変換された音声波形データを取得する。
【0045】
これにより、第2の発明と同様の効果を奏する声質変換処理方法を実現することができる。
【発明の効果】
【0046】
本発明によれば、入力音声と出力音声との間のアライメントを安定して推定でき、かつ、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行する声質変換処理システム、声質変換処理方法を実現することができる。
【図面の簡単な説明】
【0047】
図1】第1実施形態に係る声質変換処理システム1000の概略構成図。
図2】第1実施形態に係る声質変換処理システム1000のエンコード処理部2の概略構成図。
図3】第1実施形態に係る声質変換処理システム1000の継続長予測処理部3の概略構成図。
図4】声質変換処理システム1000の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図。
図5】声質変換処理システム1000の継続長予測処理部3の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図。
図6】第2実施形態に係る声質変換処理システム2000の概略構成図。
図7】第2実施形態に係る声質変換処理システム2000の単調アライメント探索処理部MOS_trnAの概略構成図。
図8】第2実施形態に係る声質変換処理システム2000の分散適応処理部4Aの概略構成図。
図9】第2実施形態に係る声質変換処理システム2000の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図。
図10】第2実施形態に係る声質変換処理システム2000の分散適応処理部4Aの概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図。
図11】CPUバス構成を示す図。
【発明を実施するための形態】
【0048】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下説明する。
【0049】
<1.1:声質変換処理システムの構成>
図1は、第1実施形態に係る声質変換処理システム1000の概略構成図である。
【0050】
図2は、第1実施形態に係る声質変換処理システム1000のエンコード処理部2の概略構成図である。
【0051】
図3は、第1実施形態に係る声質変換処理システム1000の継続長予測処理部3の概略構成図である。
【0052】
声質変換処理システム1000は、入力話者の音声波形データ(音声波形信号)を入力し、声質変換された音声波形データ(音声波形信号)を出力するシステムである(例えば、男性の入力話者の音声波形データ(音声波形信号)を、女性の音声波形データ(音声波形信号)に変換(声質変換)するシステムである)。声質変換処理システム1000は、図1に示すように、音響特徴量取得部1と、エンコード処理部2と、継続長予測処理部3と、アライメント処理部4と、デコード処理部5と、音声波形データ取得処理部6と、事後分布取得用エンコーダEnc_trnと、単調アライメント探索処理部MOS_trnと、損失評価部L_get_trnとを備える。
【0053】
音響特徴量取得部1は、入力話者の音声波形データ(音声波形信号)を入力し、当該入力話者の音声波形データから、当該入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムのデータを取得する。そして、音響特徴量取得部1は、取得したデータを、データD_spectrogrm_srcとして、エンコード処理部2に出力する。
【0054】
エンコード処理部2は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含む機能部である。エンコード処理部2は、例えば、Transformer型エンコーダを用いて実現される。エンコード処理部2は、図2に示すように、エンコーダ21と、統計量データ取得処理部22とを備える。
【0055】
エンコーダ21は、例えば、Transformer型エンコーダ(Transformerモデルのエンコーダ)であり、音響特徴量取得部1から出力されるデータD_spectrogrm_srcを入力し、当該データD_spectrogrm_srcに対して、エンコード処理を実行し、中間状態データD_h_srcを取得する。そして、エンコーダ21は、取得した中間状態データD_h_srcを統計量データ取得処理部22および継続長予測処理部3に出力する。
【0056】
統計量データ取得処理部22は、エンコーダ21から出力される中間状態データD_h_srcを入力し、中間状態データD_h_srcに対して、統計量データ取得処理を実行し、データD_stat(例えば、データD_spectrogrm_srcから取得された中間状態データD_h_srcから取得される時間の平均値μ、標準偏差値σに相当するデータ(統計量データ)を含むデータ)を取得する。そして、統計量データ取得処理部22は、(1)学習処理時において、取得したデータD_statを単調アライメント探索処理部MOS_trnに出力し、(2)予測処理時において、取得したデータD_statをアライメント処理部4に出力する。
【0057】
継続長予測処理部3は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含む機能部であり、データD_spectrogrm_src(入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムスペクトログラム)から取得される中間状態データD_h_srcから継続長(例えば、音素の継続長)を取得するための機能部である。
(1)継続長予測処理部3は、学習処理時において、エンコード処理部2のエンコーダ21から出力される中間状態データD_h_srcと、単調アライメント探索処理部MOS_trnから出力される継続長データdとを入力し、中間状態データD_h_srcと継続長データdとから、ホワイトノイズ(ガウスノイズ(ガウス性ホワイトノイズ))が生成されるように、継続長予測処理部3の学習可能なモデルのパラメータを更新する処理(学習処理)を実行する。
(2)継続長予測処理部3は、予測処理時において、エンコード処理部2のエンコーダ21から出力される中間状態データD_h_srcと、ガウス性ホワイトノイズを入力し、中間状態データD_h_srcを用いて、継続長予測処理を実行することで、継続長データd_predを取得する。そして、継続長予測処理部3は、取得した継続長データd_predをアライメント処理部4に出力する。
【0058】
継続長予測処理部3は、例えば、図3に示すように、コンディションエンコーダ31、32と、加算部33と、事後分布取得用エンコーダ34と、減算部35と、結合部36と、フロー型可逆エンコーダ37と、整数化処理部38とを備える。
【0059】
コンディションエンコーダ31は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、エンコード処理(条件付きエンコード処理)を実行する機能部である。
(1)コンディションエンコーダ31は、学習処理時において、エンコード処理部2のエンコーダ21から出力される中間状態データD_h_srcを入力し、当該中間状態データD_h_srcに対して、エンコード処理を実行し、データCEnc(D_h_src)を取得する。そして、コンディションエンコーダ31は、取得したデータCEnc(D_h_src)を加算部33およびフロー型可逆エンコーダ37に出力する。
(2)コンディションエンコーダ31は、予測処理時において、エンコード処理部2のエンコーダ21から出力される中間状態データD_h_srcを入力し、当該中間状態データD_h_srcに対して、エンコード処理を実行し、データCEnc(D_h_src)を取得する。そして、コンディションエンコーダ31は、取得したデータCEnc(D_h_src)をフロー型可逆エンコーダ37に出力する。
【0060】
コンディションエンコーダ32は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、エンコード処理(条件付きエンコード処理)を実行する機能部である。コンディションエンコーダ32は、学習処理時において、単調アライメント探索処理部MOS_trnから出力される継続長データdを入力し、当該データdに対して、エンコード処理を実行し、データCEnc(d)を取得する。そして、コンディションエンコーダ32は、取得したデータCEnc(d)を加算部33に出力する。
【0061】
加算部33は、コンディションエンコーダ31から出力されるデータCEnc(D_h_src)と、コンディションエンコーダ32から出力されるデータCEnc(d)とを入力し、両データを加算する処理を行う。そして、加算部33は、当該加算処理の結果データを、データD31として、事後分布取得用エンコーダ34に出力する。
【0062】
事後分布取得用エンコーダ34は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、事後分布を取得するためのエンコード処理を実行する機能部である。事後分布取得用エンコーダ34は、ガウス性ホワイトノイズw_noise(w_noise~N(0,I)、I:単位行列)と、加算部33から出力されるデータD31とを入力し、両データに対して、事後分布取得用エンコード処理を実行し、変数データuおよび変数データvを取得する。なお、変数データuおよび変数データvは、継続長データdと同じ時間解像度および次元数を有するデータである。そして、事後分布取得用エンコーダ34は、取得した変数データuを減算部35に出力し、取得した変数データvを結合部36に出力する。
【0063】
減算部35は、単調アライメント探索処理部MOS_trnから出力される継続長データdと、事後分布取得用エンコーダ34から出力される変数データuとを入力し、継続長データdから変数データuを減算する処理を行う。そして、減算部35は、当該減算処理の結果データd-uを結合部36に出力する。
【0064】
結合部36は、事後分布取得用エンコーダ34から出力される変数データvと、減算部35から出力されるデータd-uとを入力し、両データを結合(concatenate)する。そして、結合後のデータ[d-u,v](データd-uとデータvとを結合(concatenate)したデータを[d-u,v]と表記する)をフロー型可逆エンコーダ37に出力する。
【0065】
フロー型可逆エンコーダ37は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、可逆変換可能なデコード処理(およびエンコード処理)を実行する機能部である。
(1)フロー型可逆エンコーダ37は、学習処理時において、コンディションエンコーダ31から出力されるデータCend(D_h_src)と、結合部36から出力されるデータ[d-u,v]とを入力し、両データから、ノイズnoise_outを生成する。そして、フロー型可逆エンコーダ37は、上記により生成されるノイズnoise_outがガウス性ホワイトノイズw_noise(w_noise~N(0,I))となるように、フロー型可逆エンコーダ37の学習可能モデルのパラメータを更新する。つまり、フロー型可逆エンコーダ37は、エンコード処理の学習を行う。なお、この学習処理時のフロー型可逆エンコーダ37のエンコード処理に相当する関数をgθとする。
(2)フロー型可逆エンコーダ37は、予測処理時において、コンディションエンコーダ31から出力されるデータCend(D_h_src)と、ガウス性ホワイトノイズw_noise(w_noise~N(0,I))とを入力する。なお、ガウス性ホワイトノイズw_noiseは、学習処理時において、フロー型可逆エンコーダ37がノイズnoise_outを出力した経路の逆経路により、フロー型可逆エンコーダ37に入力させる。フロー型可逆エンコーダ37は、エンコード処理に相当する関数gθの逆関数(逆変換に相当する関数)gθ -1に相当する処理(デコード処理)を実行し、予測データ[d-u,v]predを取得する。なお、データ[d-u,v]の予測データを、予測データ[d-u,v]predと表記する。フロー型可逆エンコーダ37は、上記により取得した予測データ[d-u,v]predを整数化処理部38に出力する。
【0066】
整数化処理部38は、フロー型可逆エンコーダ37から出力される予測データ[d-u,v]predを入力し、当該データに対して整数化処理(例えば、天井関数ceil()による処理)を行い、整数化処理後のデータceil([d-u,v]pred)を、データd_predとして、アライメント処理部4に出力する。
【0067】
アライメント処理部4は、エンコード処理部2の統計量データ取得処理部22から出力されるデータD_statと、継続長予測処理部3から出力される継続長データd_predとを入力し、データD_statおよび継続長データd_predから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データを取得する処理を実行する。そして、アライメント処理部4は、上記処理により取得される継続長考慮中間特徴量データを、データD_fzとして、デコード処理部5に出力する。
【0068】
デコード処理部5は、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、可逆変換可能なデコード処理(およびエンコード処理)を実行する機能部である。
(1)デコード処理部5は、学習処理時において、事後分布取得用エンコーダEnc_trnから出力されるデータDtrn_zを入力し、当該データDtrn_zに対してエンコード処理(この処理に相当する関数をfΘとする)を行い、エンコード処理後のデータ(潜在変数データz)を取得し、取得したデータ(潜在変数データz)を含むデータを、データDtrn_fzとして、単調アライメント探索処理部MOS_trnに出力する。
(2)デコード処理部5は、予測処理時において、アライメント処理部4から出力されるデータD_fzを入力し、当該データD_fzに対してデコード処理(この処理に相当する関数をfΘ -1(関数をfΘの逆関数)とする)を行い、デコード処理後のデータ(潜在変数データz)を含むデータを、データD_zとして、音声波形データ取得処理部6に出力する。
【0069】
音声波形データ取得処理部6は、学習可能なモデル(例えば、ニューラルネットワークモデル、あるいは、敵対的生成ネットワークモデル(GAN:Generative Adversarial Network))を含み、継続長考慮中間特徴量データから音声波形データを取得する処理を実行する機能部である。音声波形データ取得処理部6は、予測処理時において、声質変換処理をリアルタイム処理(実行対象の処理により許容される時間内に処理が完了することが保証される処理)が可能となる学習可能モデルを含む。つまり、音声波形データ取得処理部6に含まれる学習可能モデルは、最適化パラメータを設定した学習済みモデルにおいて、GPUを用いることなく、CPUのみで、声質変換処理をリアルタイム処理により実行できるという条件を満たすモデルである(例えば、学習可能モデルにおいて、行列演算処理数がCPUでリアルタイム処理できる程度となるモデル(例えば、HiFi-GANモデル)である)。
(1)音声波形データ取得処理部6は、学習処理時において、デコード処理部5から出力されるデータD_zを入力し、データD_zに対して、音声波形データ取得処理を実行し、音声波形データを取得する。そして、音声波形データ取得処理部6は、取得したデータをDoutとして損失評価部L_get_trnに出力する。また、音声波形データ取得処理部6は、損失評価部L_get_trnにより取得された損失(誤差)を誤差逆伝播法により逆伝播させることで、音声波形データ取得処理部6の学習可能モデルのパラメータを更新する(学習処理を実行する)。また、音声波形データ取得処理部6は、学習処理時において、事後分布取得用エンコーダEnc_trnから出力されるデータDtrn_zを入力し、データDtrn_zに対して、音声波形データ取得処理を実行し、音声波形データを取得する。そして、音声波形データ取得処理部6は、取得したデータをDoutとして損失評価部L_get_trnに出力する。また、音声波形データ取得処理部6は、損失評価部L_get_trnにより取得された損失(誤差)を誤差逆伝播法により逆伝播させることで、音声波形データ取得処理部6の学習可能モデルのパラメータを更新する(条件VAE用の学習処理を実行する)。
(2)音声波形データ取得処理部6は、予測処理時において、デコード処理部5から出力されるデータD_zを入力し、データD_zに対して、音声波形データ取得処理を実行し、音声波形データを取得する。そして、音声波形データ取得処理部6は、取得したデータをDoutとして出力する。
【0070】
事後分布取得用エンコーダEnc_trnは、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、事後分布を取得するためのエンコード処理を実行する機能部である。事後分布取得用エンコーダEnc_trnは、学習処理時において、声質変換した正解データ(教師データ)のメルスペクトログラムのデータD_correct_spectrogrm_dstを入力し、当該データD_correct_spectrogrm_dstから、潜在変数データz’を取得する処理を行い、当該処理により取得された潜在変数データz’を含むデータを、データDtrn_zとして、デコード処理部5および音声波形データ取得処理部6に出力する。事後分布取得用エンコーダEnc_trnは、上記処理により取得される潜在変数データz’の確率分布と、デコード処理部5により取得される潜在変数データzの確率分布とが近くなるように(両確率分布のKLダイバージェンスが小さくなるよう)、事後分布取得用エンコーダEnc_trnの学習可能モデルのパラメータを更新する(学習処理を実行する)
単調アライメント探索処理部MOS_trnは、学習処理時において、エンコード処理部2から出力されるD_statと、デコード処理部5から出力されるデータDtrn_fzとを入力し、両データから単調アライメント(これを単調アライメントAという)を取得し、取得した単調アライメントAに基づいて、継続長データdを取得する。そして、単調アライメント探索処理部MOS_trnは、取得した継続長データdを継続長予測処理部3に出力する。
【0071】
損失評価部L_get_trnは、学習処理時において、音声波形データ取得処理部6から出力される音声波形データDoutと、声質変換したデータの正解データ(教師データ)の音声波形データD_correct_waveとを入力し、両データから、損失(誤差)を取得する。そして、損失評価部L_get_trnにより取得した誤差を用いて、誤差逆伝播法により、声質変換処理システム1000において、学習処理が実行される。
【0072】
また、損失評価部L_get_trnは、学習処理時において、音声波形データ取得処理部6から出力される音声波形データDoutの音響特徴量データDout_mel(例えば、メルスペクトログラム)を取得し、また、声質変換したデータの正解データ(教師データ)の音声波形データD_correct_waveの音響特徴量データD_correct_melを取得する。そして、損失評価部L_get_trnは、音響特徴量データDout_melと、音響特徴量データD_correct_melとから、条件VAE用の損失を取得し、当該損失(誤差)を誤差逆伝播法により逆伝播させることで、音声波形データ取得処理部6の学習可能モデル、および、事後分布取得用エンコーダEnc_trnの学習可能モデルのパラメータを更新する(条件VAE用の学習処理を行う)。
【0073】
なお、声質変換処理システム1000は、声質変換処理システム1000の各機能部を制御する制御部(不図示)を備えており、当該制御部により、学習処理を行う学習処理モード、および、予測処理を行う予測処理モードを切り替えることができるものとする。
【0074】
<1.2:声質変換処理システムの動作>
以上のように構成された声質変換処理システム1000の動作について、以下説明する。
【0075】
以下では、声質変換処理システム1000の動作について、(1)学習処理、および、(2)予測処理に分けて、説明する。
【0076】
(1.2.1:学習処理)
まず、声質変換処理システム1000で実行される学習処理について、説明する。
【0077】
第一実施形態は、先行論文(J. Kim, J. Kong, and J. Son, "Conditional variational autoencoder with adversarial learning for end-to-end text-to-speech")のTTSシステム(TTS:Text to speech)を音質変換処理にタスクを変更適用したものであり、処理の詳細は省略する。なお、数式における記号は、当該論文のものに合わせてある。
【0078】
声質変換処理システム1000では、以下に説明する損失関数を用いて、学習処理を行うことで、最適化された学習可能モデル、すなわち、学習済みモデルを取得することができる。つまり、声質変換処理システム1000では、下記数式で表される損失L(損失関数L)により、損失評価をし、損失評価により取得された損失(誤差)を誤差逆伝播法により逆伝播させることで、学習可能モデルの学習処理(パラメータを最適化する処理)を行うことができる。
【数1】
recon:条件VAEの再構築損失(損失関数)
KL:KLダイバージェンスによる損失(損失関数)
dur:継続長の損失(損失関数)
adv(G):HiFi-GANモデルの生成器G用の損失(損失関数)
fm(G):HiFi-GANモデルの出力と教師データ(正解データ)との損失(L1ノルムの平均)(損失関数)
声質変換処理システム1000では、上記数式の損失(トータル損失)Lにより学習処理を行う。つまり、声質変換処理システム1000では、下記(1)~(5)を繰り返し実行することで、学習処理を実行する。
(1)条件VAEの再構築損失Lreconを取得する処理を実行することで、再構築損失Lreconを取得し、誤差逆伝播法により、学習可能モデルのパラメータ更新を行う。
(2)KLダイバージェンスによる損失LKLを取得する処理を実行することで、KLダイバージェンスによる損失LKLを取得し、誤差逆伝播法により、学習可能モデルのパラメータ更新を行う。
(3)単調アライメント探索処理部MOS_trnによるアライメントの最適化処理を行う。
(4)継続長の損失を取得する処理を実行することで、継続長の損失Ldurを取得し、誤差逆伝播法により、学習可能モデルのパラメータ更新を行う。
(5)音声波形データ取得の損失Ladv(G)、Lfm(G)を取得する処理を実行することで、損失Ladv(G)、Lfm(G)を取得し、誤差逆伝播法により、学習可能モデルのパラメータ更新を行う。なお、このとき、HiFi-GANモデルの識別器の学習処理も行う。
【0079】
そして、声質変換処理システム1000では、例えば、損失評価部L_get_trnにおいて、上記(1)~(5)の処理を実行する度にトータル損失Lを評価し、当該トータル損失Lが所定の値よりも小さくなった場合、あるいは、学習処理(上記(1)~(5)の処理)を繰り返してもトータル損失Lの変動幅が所定の値よりも小さくならなくなった場合、学習処理を終了させる。そして、学習処理が終了したときのパラメータを最適パラメータとして、声質変換処理システム1000の各機能部の学習済みモデルを取得する。
【0080】
なお、声質変換処理システム1000における学習処理は、上記に限定されることなく、例えば、トータル損失Lをマルチタスク損失とみなし、トータル損失Lを構成する各項の重み付けに応じた誤差を、各項に対応するモデルに逆伝播(誤差逆伝播法により逆伝播)させることで学習処理を行うようにしてもよい。例えば、トータル損失Lは、Lrecon、LKL、Ldur、Ladv(G)、Lfm(G)の5つの損失の単純加算なので、各項に対応するモデルに対して、0.2×L(=L/5)の損失を誤差逆伝播法により逆伝播させて、学習処理を行うようにすればよい。なお、トータル損失LをLrecon、LKL、Ldur、Ladv(G)、Lfm(G)の5つの損失の重み付け加算で取得される値としてもよく、この場合、重み付け値に応じた損失を、各項に対応するモデルにて誤差逆伝播法により逆伝播させ、学習処理を行うようにしてもよい。
【0081】
(1.2.2:予測処理)
次に、声質変換処理システム1000で実行される予測処理について、説明する。
【0082】
図4は、声質変換処理システム1000の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図である。
【0083】
図5は、声質変換処理システム1000の継続長予測処理部3の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図である。
【0084】
予測処理時において、声質変換処理システム1000の学習可能モデルを含む機能部は、学習処理により取得された最適パラメータが設定されている学習済みモデルを含むものとする。
【0085】
声質変換処理システム1000の音響特徴量取得部1に、入力話者の音声波形データ(音声波形信号)を入力する。音響特徴量取得部1は、当該入力話者の音声波形データから、当該入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムのデータを取得する処理を行う。そして、音響特徴量取得部1は、当該処理により取得したデータを、データD_spectrogrm_srcとして、エンコード処理部2に出力する。
【0086】
エンコード処理部2のエンコーダ21は、音響特徴量取得部1から出力されるデータD_spectrogrm_srcに対して、エンコード処理を実行し、中間状態データD_h_srcを取得する。そして、エンコーダ21は、取得した中間状態データD_h_srcを統計量データ取得処理部22および継続長予測処理部3に出力する。
【0087】
統計量データ取得処理部22は、エンコーダ21から出力される中間状態データD_h_srcに対して、統計量データ取得処理を実行し、データD_statを取得する。そして、統計量データ取得処理部22は、取得したデータD_statをアライメント処理部4に出力する。
【0088】
コンディションエンコーダ31は、エンコード処理部2のエンコーダ21から出力される中間状態データD_h_srcを入力し、当該中間状態データD_h_srcに対して、エンコード処理を実行し、データCEnc(D_h_src)を取得する。そして、コンディションエンコーダ31は、取得したデータCEnc(D_h_src)をフロー型可逆エンコーダ37に出力する。
【0089】
フロー型可逆エンコーダ37は、コンディションエンコーダ31から出力されるデータCend(D_h_src)と、ガウス性ホワイトノイズw_noise(w_noise~N(0,I))とを入力する。フロー型可逆エンコーダ37は、エンコード処理に相当する関数gθの逆関数(逆変換に相当する関数)gθ -1に相当する処理(デコード処理)を実行し、予測データ[d-u,v]predを取得する。そして、フロー型可逆エンコーダ37は、上記により取得した予測データ[d-u,v]predを整数化処理部38に出力する。
【0090】
整数化処理部38は、フロー型可逆エンコーダ37から出力される予測データ[d-u,v]predを入力し、当該データに対して整数化処理(例えば、天井関数ceil()による処理)を行い、整数化処理後のデータceil([d-u,v]pred)を、データd_predとして、アライメント処理部4に出力する。
【0091】
アライメント処理部4は、エンコード処理部2の統計量データ取得処理部22から出力されるデータD_stat({μθ、σθ}に相当)と、継続長予測処理部3から出力される継続長データd_predとを入力し、データD_statおよび継続長データd_predから、継続長を考慮した中間特徴量データである継続長考慮中間特徴量データ(fθ(z)に相当)を取得する処理を実行する。なお、継続長データ(予測時のデータdpredに相当)と、アライメントAの入力データ(統計量データ取得処理部22により取得される統計量データD_stat({μθ、σθ}に相当))とが分かれば、fθ(z)~N(μθ、σθ)なので、アライメントAの出力データに相当するデータ(fθ(z)に相当)を取得することができる。
【0092】
そして、アライメント処理部4は、上記処理により取得される継続長考慮中間特徴量データ(fθ(z)に相当)を、データD_fzとして、デコード処理部5に出力する。
【0093】
デコード処理部5は、アライメント処理部4から出力されるデータD_fzを入力し、当該データD_fz(fθ(z)に相当)に対してデコード処理(逆関数fΘ -1に相当する処理)を行い、デコード処理後のデータ(潜在変数データz)を含むデータを、データD_zとして、音声波形データ取得処理部6に出力する。
【0094】
音声波形データ取得処理部6は、デコード処理部5から出力されるデータD_zを入力し、データD_z(潜在変数データzに相当)に対して、音声波形データ取得処理(HiFi-GANモデルの場合、HiFi-GANモデルの生成器Gによる処理)を実行し、音声波形データ(声質変換された音声波形データ)を取得する。そして、音声波形データ取得処理部6は、取得したデータをDout(声質変換された音声波形データ)として出力する。
【0095】
上記のように予測処理を行うことで、声質変換処理システム1000では、入力話者音声波形データDinから、声質変換された音声波形データDoutを取得することができる。
【0096】
≪まとめ≫
以上のように、声質変換処理システム1000では、学習処理時において、(1)入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データD_h_srcの統計量データ(時間の平均、標準偏差)と、(2)出力話者音声(声質変換した音声波形の正解データ)の音響特徴量から取得される潜在変数zの可逆変換データfθ(z)との間のアライメントを、単調かつ単射となるように最適化するため、適切な入力音声と出力音声との間のアライメントを取得できる。そして、声質変換処理システム1000では、上記のようにして取得したアライメント(最適アライメント)により取得した継続長データdと、入力話者音声の音響特徴量から取得される中間特徴量データとを用いて、継続長予測処理部3の学習可能モデルの学習を行うため、高精度な継続長予測が可能となる学習済みモデル(継続長予測処理を行う学習可能モデル)を取得することができる。特に、声質変換処理システム1000では、高解像度のデータである入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データD_h_srcの統計量データを用いて、最適アライメントを取得するため、最適アライメントの精度が高く、取得される継続長データdの精度も高く、その結果、高精度な継続長予測、高精度なアライメント処理が可能となる。
【0097】
さらに、声質変換処理システム1000では、音声波形データ取得処理部6がCPUのみで予測処理が可能となる学習可能モデル(例えば、HiFi-GANモデル)を含み、当該学習可能モデルの学習処理を、出力話者音声(声質変換した音声波形の正解データ)の音響特徴量から取得される潜在変数zを用いて行い、かつ、入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される潜在変数z(エンコード処理部2、単調アライメント探索処理部MOS_trnで取得された最適アライメントによる処理、デコード処理部5による処理(フロー型生成モデルの逆変換)により取得される潜在変数z)を用いて行う。このため、声質変換処理システム1000では、システム全体として(1つのシステム)として、学習処理を行い、声質変換処理システム1000の各機能部に含まれる学習可能モデルを最適化することができる。つまり、声質変換処理システム1000では、End-to-endモデル(例えば、ニューラルネットワークモデル)として、学習処理を行うことができる。
【0098】
そして、声質変換処理システム1000では、声質変換処理システム1000の各機能部に含まれる学習可能モデルに上記学習処理により取得された最適化パラメータを設定することで学習済みモデルを構築でき、この状態で、予測処理を行うことで、入力話者音声波形から、高精度、かつ、高品質に声質変換された音声波形(出力音声波形)を取得することができる。
【0099】
すなわち、声質変換処理システム1000では、入力音声と出力音声との間のアライメントを安定して推定でき、かつ、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【0100】
[第2実施形態]
次に、第2実施形態について、図面を参照しながら、以下説明する。なお、上記実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0101】
<2.1:声質変換処理システムの構成>
図6は、第2実施形態に係る声質変換処理システム2000の概略構成図である。
【0102】
図7は、第2実施形態に係る声質変換処理システム2000の単調アライメント探索処理部MOS_trnAの概略構成図である。
【0103】
図8は、第2実施形態に係る声質変換処理システム2000の分散適応処理部4Aの概略構成図である。
【0104】
声質変換処理システム2000は、入力話者の音声波形データ(音声波形信号)を入力し、声質変換された音声波形データ(音声波形信号)を出力するシステムである(例えば、男性の入力話者の音声波形データ(音声波形信号)を、女性の音声波形データ(音声波形信号)に変換(声質変換)するシステムである)。声質変換処理システム2000は、図6に示すように、音響特徴量取得部1と、データ加工処理部1Aと、エンコード処理部2Aと、単調アライメント探索処理部MOS_trnAと、分散適応処理部4Aと、デコード処理部5Aと、音声波形データ取得処理部6Aと、損失評価部L_get_trnAとを備える。
【0105】
音響特徴量取得部1は、第1実施形態の音響特徴量取得部1と同様の構成、機能を有している。なお、音響特徴量取得部1は、データD_spectrogrm_srcを、データ加工処理部1Aに出力する。
【0106】
データ加工処理部1Aは、音響特徴量取得部1から出力されるデータD_spectrogrm_srcを入力し、当該データD_spectrogrm_srcに対して、データ加工処理(Reduction Factor処理(RF処理))を行う。例えば、データ加工処理部1Aは、データD_spectrogrm_srcのデータ量を変化させずに、データD_spectrogrm_srcのフレーム数を少なくしつつ、次元数を多くすることで、データ加工処理(Reduction Factor処理(RF処理))を行う。これにより、データ数を変化させずに、フレーム数を削減したデータ(音響特徴量データ)を取得することができる。そして、データ加工処理部1Aは、上記処理により取得したデータを、データD’_spectrogrm_srcとして、エンコード処理部2Aに出力する。
【0107】
エンコード処理部2Aは、学習可能なモデル(例えば、ニューラルネットワークモデル)を含む機能部である。エンコード処理部2は、例えば、Transformer型エンコーダにより実現される。
【0108】
エンコード処理部2Aは、データ加工処理部1Aから出力されるデータD’_spectrogrm_src(例えば、入力話者音声のメルスペクトログラム)を入力する。
(1)エンコード処理部2Aは、学習処理時において、データD’_spectrogrm_srcに対して、エンコード処理を実行することで中間状態データDtrn_h(中間状態データhに相当)を取得する。そして、エンコード処理部2Aは、取得した中間状態データDtrn_hを単調アライメント探索処理部MOS_trnAに出力する。
(2)エンコード処理部2Aは、予測処理時において、データD’_spectrogrm_srcに対して、エンコード処理を実行することで中間状態データDi_h(中間状態データhに相当)を取得する。そして、エンコード処理部2Aは、取得した中間状態データDi_hを分散適応処理部4Aに出力する。
【0109】
単調アライメント探索処理部MOS_trnAは、学習処理時において、エンコード処理部2Aから出力されるデータDtrn_h(中間状態データhに相当)と、正解データ(教師データ)である声質変換した音声波形の音響特徴量(例えば、メルスペクトログラム、線形スペクトログラム)のデータD_correct_spectrogrm_dstとを入力し、両データから単調アライメント(これを単調アライメントAという)を取得し、取得した単調アライメントAに基づいて、継続長データdを取得する。そして、単調アライメント探索処理部MOS_trnAは、取得した継続長データdを分散適応処理部4Aに出力する。
【0110】
例えば、単調アライメント探索処理部MOS_trnAは、図7に示すように、入力用畳み込み処理部MA1と、出力用畳み込み処理部MA2と、単調アライメント取得処理部MA3と、継続長取得部MA4と、順方向損失取得部MA5と、バイナリー損失取得部MA6と、加算部MA7とを備える。
【0111】
入力用畳み込み処理部MA1は、エンコード処理部2Aから出力されるデータDtrn_h(中間状態データhに相当)を入力し、当該データにエンコード処理(例えば、n1段(n1:自然数)の1次元畳み込み処理により実現される処理)を実行し、エンコード処理後のデータhencを取得する。そして、入力用畳み込み処理部MA1は、取得したデータhencを単調アライメント取得処理部MA3に出力する。
【0112】
出力用畳み込み処理部MA2は、正解データ(教師データ)である声質変換した音声波形の音響特徴量(例えば、メルスペクトログラム、線形スペクトログラム)のデータD_correct_spectrogrm_dst(このデータをデータmとする)を入力し、当該データにエンコード処理(例えば、n2段(n2:自然数)の1次元畳み込み処理により実現される処理)を実行し、エンコード処理後のデータmencを取得する。そして、出力用畳み込み処理部MA2は、取得したデータmencを単調アライメント取得処理部MA3に出力する。
【0113】
単調アライメント取得処理部MA3は、入力用畳み込み処理部MA1から出力されるデータhencと、出力用畳み込み処理部MA2から出力されるデータmencと、を入力し、両データを用いて、単調アライメント取得処理を実行することで、実数アライメントAsoftと、バイナリーアライメントAhardとを取得する。そして、単調アライメント取得処理部MA3は、取得した実数アライメントAsoftを順方向損失取得部MA5およびバイナリー損失取得部MA6に出力するとともに、取得したバイナリーアライメントAhardをバイナリー損失取得部MA6および継続長取得部MA4に出力するとともに、
継続長取得部MA4は、単調アライメント取得処理部MA3から出力されるバイナリーアライメントAhardを入力し、バイナリーアライメントAhardを用いて、継続長取得処理を行うことで、継続長データdを取得する。そして、継続長取得部MA4は、取得した継続長データdを分散適応処理部4Aに出力する。
【0114】
順方向損失取得部MA5は、単調アライメント取得処理部MA3から出力される実数アライメントAsoftを入力し、実数アライメントAsoftから順方向損失Lforward_sumを取得する。そして、順方向損失取得部MA5は、取得した順方向損失Lforward_sumを加算部MA7に出力する。
【0115】
バイナリー損失取得部MA6は、単調アライメント取得処理部MA3から出力される実数アライメントAsoftおよびバイナリーアライメントAhardを入力し、両データからバイナリー損失Lbinを取得する。そして、バイナリー損失取得部MA6は、取得したバイナリー損失Lbinを加算部MA7に出力する。
【0116】
加算部MA7は、順方向損失取得部MA5から出力される順方向損失Lforward_sumと、バイナリー損失取得部MA6から出力されるバイナリー損失Lbinを入力し、両者を加算する処理を行うことでアライメント用損失L(=Lforward_sum+Lbin)を取得する。
【0117】
分散適応処理部4Aは、正解データ(教師データ)である声質変換した音声波形のエネルギーD_correct_Engyと、正解データ(教師データ)である声質変換した音声波形の基本周波数の対数D_correct_logf0と、単調アライメント探索処理部MOS_trnAから出力される継続長データdと、エンコード処理部2Aから出力される中間状態データDi_hとを入力する。そして、分散適応処理部4Aは、上記データから、中間状態データDo_hs1を取得する。
【0118】
分散適応処理部4Aは、図8に示すように、継続長予測部41Aと、継続長用損失取得部41A_L_trnと、継続長規制処理部42Aと、エネルギー予測部43Aと、エネルギー用損失取得部42A_L_trnと、基本周波数予測部44Aと、基本周波数用損失取得部43A_L_trnと、エネルギー用畳み込み処理部45Aと、基本周波数用畳み込み処理部46Aと、加算部47Aとを備える。
【0119】
継続長予測部41Aは、学習可能モデルを含む機能部であり、エンコード処理部2Aから出力される中間状態データDi_hを入力する。
(1)継続長予測部41Aは、学習処理時において、中間状態データDi_hから継続長を取得(予測)する処理を実行し、継続長データd’を取得する。そして、継続長予測部41Aは、取得した継続長データd’を継続長用損失取得部41A_L_trnに出力する。
(2)継続長予測部41Aは、予測処理時において、中間状態データDi_hから継続長を取得(予測)する処理を実行し、継続長データd’を取得する。そして、継続長予測部41Aは、取得した継続長データd’を継続長規制処理部42Aに出力する。
【0120】
継続長用損失取得部41A_L_trnは、学習処理時において、単調アライメント探索処理部MOS_trnAから出力される継続長データdと、継続長予測部41Aから出力される継続長データd’とを入力する。そして、継続長用損失取得部41A_L_trnは、両データから継続長用損失Ldurを取得する。
【0121】
継続長規制処理部42Aは、学習可能モデルを含む機能部である。
(1)継続長規制処理部42Aは、学習処理時において、エンコード処理部2Aから出力される中間状態データDi_hと、単調アライメント探索処理部MOS_trnAから出力される継続長データdとを入力する。継続長規制処理部42Aは、中間状態データDi_hと、継続長データdとに対して、継続長規制処理を実行し、継続長を考慮した中間状態データD41を取得する。そして、継続長規制処理部42Aは、取得したデータD41をエネルギー予測部43A、基本周波数予測部44A、および、加算部47Aに出力する。
(2)継続長規制処理部42Aは、予測処理時において、エンコード処理部2Aから出力される中間状態データDi_hと、継続長予測部41Aから出力される継続長データd’とを入力する。継続長規制処理部42Aは、中間状態データDi_hと、継続長データd’とに対して、継続長規制処理を実行し、継続長を考慮した中間状態データD41を取得する。そして、継続長規制処理部42Aは、取得したデータD41をエネルギー予測部43A、基本周波数予測部44A、および、加算部47Aに出力する。
【0122】
エネルギー予測部43Aは、学習可能モデルを含む機能部であり、継続長規制処理部42Aから出力されるデータD41を入力する。
(1)エネルギー予測部43Aは、学習処理時において、データD41からエネルギーのデータ(声質変換した音声波形のエネルギーに相当するデータ)を取得(予測)する処理を実行し、エネルギーデータD_eを取得する。そして、エネルギー予測部43Aは、取得したエネルギーデータD_eをエネルギー用損失取得部42A_L_trnに出力する。
(2)エネルギー予測部43Aは、予測処理時において、データD41からエネルギーのデータを取得(予測)する処理を実行し、エネルギーデータD_eを取得する。そして、エネルギー予測部43Aは、取得したエネルギーデータD_eをエネルギー用畳み込み処理部45Aに出力する。
【0123】
エネルギー用損失取得部42A_L_trnは、学習処理時において、正解データである声質変換した音声波形のエネルギーのデータD_correct_engyと、エネルギー予測部43Aから出力されるエネルギーデータD_eとを入力する。そして、エネルギー用損失取得部42A_L_trnは、両データからエネルギー用損失Lengyを取得する。
【0124】
エネルギー用畳み込み処理部45Aは、学習可能モデルを含む機能部である。
(1)エネルギー用畳み込み処理部45Aは、学習処理時において、正解データである声質変換した音声波形のエネルギーのデータD_correct_engyを入力し、当該データD_correct_engyに対して畳み込み処理(例えば、1×1カーネルによる畳み込み処理)を実行することで、データD42を取得する。そして、エネルギー用畳み込み処理部45Aは、取得したデータD42を加算部47Aに出力する。
(2)エネルギー用畳み込み処理部45Aは、予測処理時において、エネルギー予測部43Aから出力されるデータD_eを入力し、当該データD_eに対して畳み込み処理(例えば、1×1カーネルによる畳み込み処理)を実行することで、データD42を取得する。そして、エネルギー用畳み込み処理部45Aは、取得したデータD42を加算部47Aに出力する。
【0125】
基本周波数予測部44Aは、学習可能モデルを含む機能部であり、継続長規制処理部42Aから出力されるデータD41を入力する。
(1)基本周波数予測部44Aは、学習処理時において、データD41から基本周波数の対数のデータ(声質変換した音声波形の基本周波数の対数のデータ)を取得(予測)する処理を実行し、基本周波数対数データD_logf0を取得する。そして、基本周波数予測部44Aは、取得した基本周波数対数データD_logf0を基本周波数用損失取得部43A_L_trnに出力する。
(2)基本周波数予測部44Aは、予測処理時において、データD41から基本周波数の対数のデータを取得(予測)する処理を実行し、基本周波数対数データD_logf0を取得する。そして、基本周波数予測部44Aは、取得した基本周波数対数データD_logf0を基本周波数用畳み込み処理部46Aに出力する。
【0126】
基本周波数用損失取得部43A_L_trnは、学習処理時において、正解データである声質変換した音声波形の基本周波数の対数のデータD_correct_logf0と、基本周波数予測部44Aから出力されるデータD_logf0とを入力する。そして、基本周波数用損失取得部43A_L_trnは、両データから基本周波数用損失Lf0を取得する。
【0127】
基本周波数用畳み込み処理部46Aは、学習可能モデルを含む機能部である。
(1)基本周波数用畳み込み処理部46Aは、学習処理時において、正解データである声質変換した音声波形の基本周波数の対数のデータD_correct_logf0を入力し、当該データD_correct_logf0に対して畳み込み処理(例えば、1×1カーネルによる畳み込み処理)を実行することで、データD43を取得する。そして、基本周波数用畳み込み処理部46Aは、取得したデータD43を加算部47Aに出力する。
(2)基本周波数用畳み込み処理部46Aは、予測処理時において、基本周波数予測部44Aから出力されるデータD_logf0を入力し、当該データD_logf0に対して畳み込み処理(例えば、1×1カーネルによる畳み込み処理)を実行することで、データD43を取得する。そして、基本周波数用畳み込み処理部46Aは、取得したデータD43を加算部47Aに出力する。
【0128】
加算部47Aは、継続長規制処理部42Aから出力されるデータD41と、エネルギー用畳み込み処理部45Aから出力されるデータD42と、基本周波数用畳み込み処理部46Aから出力されるデータD43とを入力し、データD41、データD42、および、データD43を加算する処理を行う。そして、加算部47Aは、当該加算処理により取得されたデータを、データDo_hs1(中間状態データhs1に相当)として、デコード処理部5Aに出力する。
【0129】
デコード処理部5Aは、学習可能なモデル(例えば、ニューラルネットワークモデル)を含み、デコード処理を実行する機能部である。デコード処理部5Aは、例えば、Transformer型デコーダにより実現される。
【0130】
デコード処理部5Aは、分散適応処理部4Aから出力されるデータDo_hs1に対してデコード処理(Transformer型デコーダによりデコード処理)を実行することで、データD_hs2を取得する。そして、デコード処理部5Aは、取得したデータD_hs2を音声波形データ取得処理部6Aに出力する。
【0131】
音声波形データ取得処理部6Aは、第1実施形態の音声波形データ取得処理部6と同様の構成、機能を有している。
【0132】
損失評価部L_get_trnAは、第1実施形態の損失評価部L_get_trnと同様の構成、機能を有している。
【0133】
<2.2:声質変換処理システムの動作>
以上のように構成された声質変換処理システム2000の動作について、以下説明する。 第二実施形態は、先行論文(D. Lim, S. Jung, and E. Kim, "JETS: Jointly training Fast-Speech2 and HiFi-GAN for end to end text to speech")のTTSシステムを音質変換処理にタスクを変更適用したものであり、処理の詳細は省略する。なお、数式における記号は、当該論文のものに合わせてある。
【0134】
以下では、声質変換処理システム2000の動作について、(1)学習処理、および、(2)予測処理に分けて、説明する。
【0135】
(2.2.1:学習処理)
まず、声質変換処理システム2000で実行される学習処理について、説明する。
【0136】
声質変換処理システム2000の音響特徴量取得部1に、入力話者の音声波形データ(音声波形信号)を入力する。音響特徴量取得部1は、当該入力話者の音声波形データから、当該入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムのデータを取得する処理を行う。そして、音響特徴量取得部1は、当該処理により取得したデータを、データD_spectrogrm_srcとして、データ加工処理部1Aに出力する。データ加工処理部1Aは、データD_spectrogrm_srcに対して、データ加工処理(例えば、Reduction Factor処理)を行い、当該処理後のデータD’_spectrogrm_srcをエンコード処理部2Aに出力する。
【0137】
エンコード処理部2Aは、本実施形態では、Transformer型エンコーダにより実現されるものとする。
【0138】
例えば、単調アライメント探索処理部MOS_trnAは、単調アライメント探索処理部MOS_trnAは、下記文献に開示されている手法により、入力話者音声の音響特徴量から取得される中間状態データ(データDtrn_hs1に相当)と、正解データ(教師データ)である声質変換した音声波形の音響特徴量から取得される中間状態データ(データD_correct_spectrogrm_dst)とのアライメントを取得する。
(文献C):D. Lim, S. Jung, and E. Kim, "JETS: Jointly training Fast-Speech2 and HiFi-GAN for end to end text to speech," in Proc. Interspeech, Sept. 2022, pp. 21-25.
具体的には、単調アライメント探索処理部MOS_trnAは、以下のようにして、単調アライメント探索処理を行う。
【0139】
単調アライメント取得処理部MA3は、データhencのi番目のデータをh encとし、データmencのj番目のデータをm encとし、データhencの位数(要素数)を|henc|とし、データmencの位数(要素数)を|menc|とすると、下記数式に相当する処理を行い、データDi,jを取得する。
【数2】
i,j:h encとm encとの間のL2ノルム
i:データhencの要素を特定するインデックス(i:整数、1≦i≦|henc|)
j:データmencの要素を特定するインデックス(j:整数、1≦i≦|menc|)
そして、単調アライメント取得処理部MA3は、取得したDi,jを要素とするデータ(1次元配列データ)に対して、下記数式に相当する処理を行うことで、実数アライメントAsoftを取得する。
【数3】
softmax():ソフトマックス関数
なお、ソフトマックス関数のdim=0は、データ-Dの各行のデータに対して、ソフトマックス関数を施す(実行する)ことを意味している。
【0140】
そして、上記実数アライメントAsoftから、全てのとり得る単調かつ単射となるアライメントの尤度を取得することができる。つまり、データmが与えられたときの全てのとり得る単調かつ単射となるアライメントS(h)の確率(尤度)は、下記数式により取得できる。
【数4】
s:単調かつ単射となるアライメントS(h)に含まれるアライメント
T:データmencの要素の数
なお、アライメントsは、入力話者の音声波形の音響特徴量から取得される中間状態データのエンコード処理結果データhと、正解データである声質変換した音声波形の音響特徴量から取得される中間状態データのエンコード処理結果データmとの間の特定のアライメントであり、例えば、s=h、s=h、・・・、s=hとして特定されるアライメントである。なお、Nは、データhの要素数である。
【0141】
例えば、アライメントsが下記行列(縦がデータh(データh)であり、横がデータm(データmの行列、T=4、N=3)の場合)により表される場合、アライメントsは、s=h、s=h、s=h、s=hとして特定される。
【数5】
そして、順方向損失取得部MA5は、単調アライメント取得処理部MA3で取得された実数アライメントから取得される上記(数式14)で規定される尤度のマイナスをとったデータ(下記数式に相当するデータ)を順方向損失Lforward_sumとして取得する。
【数6】
順方向損失取得部MA5は、取得した順方向損失Lforward_sumを加算部MA7に出力する。
【0142】
また、単調アライメント取得処理部MA3は、実数アライメントAsoftに対して、二値化処理を行い、バイナリーアライメントAhardを取得する(例えば、実数アライメントAsoftの各要素の値の絶対値が所定の値よりも大きい要素の値を「1」とし、それ以外の要素の値を「0」とすることで、バイナリーアライメントAhardを取得する)。
【0143】
そして、単調アライメント取得処理部MA3は、上記により取得したバイナリーアライメントAhardをバイナリー損失取得部MA6および継続長取得部MA4に出力する。
【0144】
バイナリー損失取得部MA6は、実数アライメントAsoftとバイナリーアライメントAhardとを用いて、下記数式に相当する処理を行い、バイナリー損失Lbinを取得する。
【数7】
そして、バイナリー損失取得部MA6は、取得したバイナリー損失Lbinを加算部MA7に出力する。
【0145】
継続長取得部MA4は、バイナリーアライメントAhardの第i行(i:整数、1≦i≦N)においてその値が「1」である要素数をカウントし、そのカウント値を継続長データの第i番目のデータdとする。つまり、継続長取得部MA4は、下記数式に相当する処理を行い、継続長データd(={d,d,・・・,d})を取得する。
【数8】
そして、継続長取得部MA4は、取得した継続長データdを分散適応処理部4Aに出力する。
【0146】
また、加算部MA7は、下記数式に相当する処理(順方向損失Lforward_sumとバイナリー損失Lbinとを加算する処理)を行い、アライメント損失Lalignを取得する。
【数9】
分散適応処理部4Aの継続長予測部41Aは、エンコード処理部2Aから出力される中間状態データDi_hから継続長を取得(予測)する処理を実行し、継続長データd’を取得する。そして、継続長予測部41Aは、取得した継続長データd’を継続長用損失取得部41A_L_trnに出力する。
【0147】
継続長用損失取得部41A_L_trnは、単調アライメント探索処理部MOS_trnAから出力される継続長データdと、継続長予測部41Aから出力される継続長データd’とを入力する。そして、継続長用損失取得部41A_L_trnは、
dur=L2_norm(d-d’)
L2_norm():L2ノルムを取得する関数
に相当する処理を行うことで、継続長用損失Ldurを取得する。
【0148】
エネルギー用損失取得部42A_L_trnは、正解データである声質変換した音声波形のエネルギーのデータD_correct_engyと、エネルギー予測部43Aから出力されるエネルギーデータD_eとを入力する。そして、エネルギー用損失取得部42A_L_trnは、
engy=L2_norm(e-e’)
L2_norm():L2ノルムを取得する関数
e’:データD_eに相当するデータ
e:データD_correct_engyに相当するデータ
に相当する処理を行うことで、エネルギー用損失Lengyを取得する。
【0149】
基本周波数用損失取得部43A_L_trnは、正解データである声質変換した音声波形の基本周波数の対数のデータD_correct_logf0と、基本周波数予測部44Aから出力されるデータD_logf0とを入力する。そして、基本周波数用損失取得部43A_L_trnは、
engy=L2_norm(f-f’)
L2_norm():L2ノルムを取得する関数
f’:データD_logf0に相当するデータ
f:データD_correct_logf0に相当するデータ
に相当する処理を行うことで、基本周波数用損失Lf0を取得する。
【0150】
音声波形データ取得処理部6Aは、デコード処理部5Aから出力されるデータD_hs2を入力し、データD_hs2に対して、音声波形データ取得処理を実行し、音声波形データを取得する。そして、音声波形データ取得処理部6Aは、取得したデータをDoutとして損失評価部L_get_trnAに出力する。
【0151】
損失評価部L_get_trnAは、音声波形データ取得処理部6Aから出力される音声波形データDoutと、声質変換したデータの正解データ(教師データ)の音声波形データD_correct_waveとを入力し、両データから、損失(誤差)を取得する。そして、損失評価部L_get_trnAにより取得した誤差を用いて、誤差逆伝播法により、声質変換処理システム2000において、学習処理(学習可能モデルのパラメータ更新処理)が実行される。
【0152】
なお、音声波形データ取得処理部6Aの学習可能モデルとして、HiFi-GANモデル(文献Bに開示されているモデル)を採用する場合、音声波形データ取得処理部6Aから出力されるデータについての損失関数Lは、下記数式の通りとなる。
【数10】
λfm:係数(スケール係数)
λmel:係数(スケール係数)
なお、上記数式において、潜在変数zは、データD_hs2(デコード処理部5Aから出力されるデータD_hs2)であり、yは、音声波形データの正解データ(声質変換した音声波形のデータ)である。また、関数φ()は、音声波形から音響特徴量(例えば、メルスペクトログラム)を取得する関数である。
【0153】
また、損失評価部L_get_trnAは、分散適応処理部4Aで取得される継続長用損失Ldur、エネルギー用損失Lengy、および、基本周波数用損失Lf0を加算した損失Lvar(下記数式に相当)を取得し、さらに、単調アライメント探索処理部MOS_trnAで取得されるアライメント用損失Lalignを取得し、損失L、損失Lvar、および、アライメント用損失Lalignを用いて、下記数式に相当するトータル損失Lを取得する。
【数11】
λvar:係数(スケール係数)
λalign:係数(スケール係数)
声質変換処理システム2000では、上記数式の損失(トータル損失)Lにより学習処理を行う。つまり、トータル損失Lをマルチタスク損失とみなし、トータル損失Lを構成する各項の重み付け(スケール係数)に応じた誤差を、各項に対応するモデルに逆伝播(誤差逆伝播法により逆伝播)させる(各損失(損失L、Lvar、Lgalign)が取得されたそれぞれの経路と逆の経路に誤差逆伝播法により誤差を逆伝播させる)ことで学習処理を行う。例えば、トータル損失Lは、Lrecon、LKL、Ldur、Ladv(G)、Lfm(G)の5つの損失の単純加算なので、各項に対応するモデルに対して、0.2×L(=L/5)の損失を誤差逆伝播法により逆伝播させて、学習処理を行うようにすればよい。なお、トータル損失LをLrecon、LKL、Ldur、、Ladv(G)、Lfm(G)の5つの損失の重み付け加算で取得される値としてもよく、この場合、重み付け値に応じた損失を、各項に対応するモデルにて誤差逆伝播法により逆伝播させ、学習処理を行うようにしてもよい。
【0154】
なお、学習処理の方法は、上記に限定されることなく、例えば、損失L、Lvar、Lgalignのうちの所定の損失が取得された経路の機能部の学習可能モデルのパラメータ更新のみを行い、他の損失が取得された経路の機能部の学習可能モデルのパラメータを固定するという処理を順次繰り返すことにより、トータル損失Lが小さくなる、あるいは、その変動幅が所定の値よりも小さくなるようにすることで学習処理を行うようにしてもよい。
【0155】
また、単調アライメント探索処理部MOS_trnAでのアライメントの取得処理(最適化処理)と、学習可能モデルのパラメータ更新を分けて行うようにしてもよい。つまり、
(1)声質変換処理システム2000の機能部の学習可能モデルのパラメータ更新を行い、
(2)声質変換処理システム2000の機能部の学習可能モデルのパラメータを一旦固定し、単調アライメント探索処理部MOS_trnAでのアライメントの取得処理(最適化処理)を行うことで、声質変換処理システム2000での学習処理を実行するようにしてもよい。
【0156】
そして、声質変換処理システム2000において、例えば、損失評価部L_get_trnAにおいて、トータル損失Lを評価し、当該トータル損失Lが所定の値よりも小さくなった場合、あるいは、学習処理を繰り返してもトータル損失Lの変動幅が所定の値よりも小さくならなくなった場合、学習処理を終了させる。そして、学習処理が終了したときのパラメータを最適パラメータとして、声質変換処理システム2000の各機能部の学習済みモデルを取得する。
【0157】
また、単調アライメント探索処理部MOS_trnAの学習の安定化のためには、エンコード処理部2Aの入力において、リダクション・ファクター(RF)の導入が効果的であることが分かった。したがって、本実施形態では、音響特徴量取得部1とエンコード処理部2Aとの間にデータ加工処理部1Aを挿入した構成を採用している。
【0158】
RFを「2」とした場合、エンコード処理部2Aの入力である音響特徴量(例えばメルスペクトグラム)において、データ量を変えずに、フレーム数を2分の1にする(一般には1/RFにする)。例えば、86次元、120フレームのメルスペクトグラムの場合、60フレームにする代わりに1フレームが172次元(86次元の2(RF)倍)のデータに加工されたうえで、エンコード処理部2Aに入力される。正解データの音響特徴量については、加工処理が行われないため、ソース特徴量の入力の長さが、ターゲット特徴量の入力の長さよりも短くなっている。
【0159】
TTSシステムと比較してVCタスク(VC:Voice Conversion)における入力シーケンスの時間軸方向の長さが長いため、TTSタスクと比較して学習が安定しないと考えられる。従って、RFを導入することにより入力シーケンスを短くできるため、単調アライメント探索処理部MOS_trnAの学習安定化に効果があると考えられる。
【0160】
また、RFの導入は第1実施形態においても適用可能であり、第1実施形態において、RFを導入することで、本実施形態と同様に顕著な効果(学習安定化の効果)を奏する。
【0161】
(2.2.2:予測処理)
次に、声質変換処理システム2000で実行される予測処理について、説明する。
【0162】
図9は、声質変換処理システム2000の概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図である。
【0163】
図10は、声質変換処理システム2000の分散適応処理部4Aの概略構成図であり、学習処理時にのみ使用される機能部を省略して示した図である。
【0164】
予測処理時において、声質変換処理システム2000の学習可能モデルを含む機能部は、学習処理により取得された最適パラメータが設定されている学習済みモデルを含むものとする。
【0165】
声質変換処理システム2000の音響特徴量取得部1に、入力話者の音声波形データ(音声波形信号)を入力する。音響特徴量取得部1は、当該入力話者の音声波形データから、当該入力話者の音声波形データに対応するメルスペクトログラムまたは線形スペクトログラムのデータを取得する処理を行う。そして、音響特徴量取得部1は、当該処理により取得したデータを、データD_spectrogrm_srcとして、エンコード処理部2Aに出力する。
【0166】
加算部47Aは、継続長規制処理部42Aから出力されるデータD41と、エネルギー用畳み込み処理部45Aから出力されるデータD42と、基本周波数用畳み込み処理部46Aから出力されるデータD43とを入力し、データD41、データD42、および、データD43を加算する処理を行う。そして、加算部47Aは、当該加算処理により取得されたデータを、データDo_hs1(中間状態データhs1に相当)として、デコード処理部5Aに出力する。
【0167】
音声波形データ取得処理部6Aは、デコード処理部5Aから出力されるデータD_hs2に対して音声波形データ取得処理を行うことで、音声波形データDout(声質変換した音声波形データ)を取得し、出力する。
【0168】
上記のように予測処理を行うことで、声質変換処理システム2000では、入力話者音声波形データDinから、声質変換された音声波形データDoutを取得することができる。
【0169】
≪まとめ≫
以上のように、声質変換処理システム2000では、学習処理時において、(1)入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データD_hのエンコード処理データhencと、(2)出力話者音声(声質変換した音声波形の正解データ)の音響特徴量データD_correct_spectrogrmのエンコード処理データmencとの間のアライメントを、単調かつ単射となるように最適化するため、適切な入力音声と出力音声との間のアライメントを取得できる。そして、声質変換処理システム2000では、上記のようにして取得したアライメント(最適アライメント)により取得した継続長データdと、入力話者音声の音響特徴量から取得される中間特徴量データとを用いて、継続長予測部41Aの学習可能モデルの学習を行うため、高精度な継続長予測が可能となる学習済みモデル(継続長予測処理を行う学習可能モデル)を取得することができる。特に、声質変換処理システム2000では、高解像度のデータである入力話者音声の音響特徴量(例えば、メルスペクトログラム)から取得される中間状態データD_hを用いて、最適アライメントを取得するため、最適アライメントの精度が高く、取得される継続長データdの精度も高く、その結果、高精度な継続長予測、高精度なアライメント処理が可能となる。
【0170】
さらに、声質変換処理システム2000では、分散適応処理部4Aにおいて、継続長規制処理部42Aにより継続長データを考慮した中間状態データD41を取得し、当該データD41から、出力話者音声(声質変換した音声)のエネルギー(パワー)、および、基本周波数を予測し、さらに、予測した出力話者音声(声質変換した音声)のエネルギー、および、基本周波数を考慮した中間状態データDo_hs1(hs1に相当)を取得する学習可能モデルの学習処理を行うことができる構成を有している。
【0171】
したがって、声質変換処理システム2000では、学習済みモデルが設定された分散適応処理部4Aにおいて、入力音声のエネルギー(パワー)や基本周波数のデータを入力することなく、出力話者音声(声質変換した音声)のエネルギー(パワー)、および、基本周波数を予測し、それらのデータおよび継続長を考慮した中間状態データDo_hs1(hs1に相当)を高精度に取得することができる。
【0172】
さらに、声質変換処理システム2000では、音声波形データ取得処理部6Aが、第1実施形態と同様に、CPUのみで予測処理が可能となる学習可能モデル(例えば、HiFi-GANモデル)を含み、当該学習可能モデルの学習処理を、出力話者音声(声質変換した音声波形の正解データ)の音響特徴量から取得される中間状態データDo_hs1を用いて行う。このため、声質変換処理システム2000では、システム全体として(1つのシステム)として、学習処理を行い、声質変換処理システム2000の各機能部に含まれる学習可能モデルを最適化することができる。つまり、声質変換処理システム2000では、End-to-endモデル(例えば、ニューラルネットワークモデル)として、学習処理を行うことができる。
【0173】
そして、声質変換処理システム2000では、声質変換処理システム1000の各機能部に含まれる学習可能モデルに上記学習処理により取得された最適化パラメータを設定することで学習済みモデルを構築でき、この状態で、予測処理を行うことで、入力話者音声波形から、高精度、かつ、高品質に声質変換された音声波形(出力音声波形)を取得することができる。
【0174】
すなわち、声質変換処理システム1000では、入力音声と出力音声との間のアライメントを安定して推定でき、かつ、GPUを用いることなく、CPUのみで、高精度、高品質な声質変換処理を実行することができる。
【0175】
[他の実施形態]
上記実施形態では、エンコード処理部2、2Aにおいて、Transformer型モデル(Transformer型モデルのエンコーダ)の構成を採用した場合について、説明したが、これに限定されることはなく、エンコード処理部2、2Aにおいて、他のニューラルネットワークモデルを採用するようにしてもよい。
【0176】
また、上記実施形態では、デコード処理部5Aにおいて、Transformer型モデル(Transformer型モデルのデコーダ)の構成を採用した場合について、説明したが、これに限定されることはなく、デコード処理部5Aにおいて、他のニューラルネットワークモデルを採用するようにしてもよい。
【0177】
上記実施形態において、音声波形データ取得処理部6、6Aに含まれる学習可能モデルがHiFi-GANモデルである場合について説明したが、これに限定されることはない。音声波形データ取得処理部6、6Aに含まれる学習可能モデルは、最適化パラメータを設定した学習済みモデルにおいて、GPUを用いることなく、CPUのみで、声質変換処理をリアルタイム処理により実行できるという条件を満たすモデル(例えば、学習可能モデルにおいて、行列演算処理数がCPUでリアルタイム処理できる程度となるモデル)であれば、他のモデルであってもよい。
【0178】
また、上記実施形態で説明した学習処理を別装置にて行い、声質変換処理システム1000、2000の機能部において、最適パラメータを設定した学習済みモデルを設定し、予測処理、すなわち、入力話者音声波形から声質変換した音声波形を取得するようにしてもよい。
【0179】
また、上記実施形態で説明した声質変換処理システム1000、2000の各機能部は、1つの装置(システム)により実現されてもよいし、複数の装置により実現されてもよい。
【0180】
また、上記実施形態の一部または全部を組み合わせるようにしてもよい。
【0181】
また、上記実施形態の声質変換処理システム1000、2000において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。
【0182】
なおここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0183】
また集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0184】
また上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0185】
また上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらにソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0186】
上記実施形態に係る声質変換処理システム1000、2000をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【0187】
例えば上記実施形態の各機能部をソフトウェアにより実現する場合、図11に示したハードウェア構成(例えばCPU、GPU、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDD、SSD等により実現される記憶部)、外部メディア用ドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。
【0188】
また上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図11に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0189】
また上記実施形態における処理方法の実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。また、上記実施形態における処理方法において、発明の要旨を逸脱しない範囲で、一部のステップが、他のステップと並列に実行されるものであってもよい。
【0190】
前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0191】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0192】
また、本明細書内の記載、特許請求の範囲の記載において、「最適化」(あるいは「最適」)とは、最も良い状態にすることをいい、システム(モデル)を「最適化」するパラメータ(最適パラメータ)とは、当該システムの目的関数の値が最適値となるときのパラメータのことをいう。「最適値」は、システムの目的関数の値が大きくなるほど、システムが良い状態となる場合は、最大値であり、システムの目的関数の値が小さくなるほど、システムが良い状態となる場合は、最小値である。また、「最適値」は、極値であってもよい。また、「最適値」は、所定の誤差(測定誤差、量子化誤差等)を許容するものであってもよく、所定の範囲(十分収束したとみなすことができる範囲)に含まれる値であってもよい。
【0193】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0194】
1000、2000 声質変換処理システム
2、2A エンコード処理部
3 継続長予測処理部
4 アライメント処理部
4A 分散適応処理部
5、5A デコード処理部
6、6A 音声波形データ取得処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11