特許法第30条第2項適用 2019年4月5日、”WaveCycleGAN2:Time-domain Neural Post-filter for Speech Waveform Generation”のウェブアドレスhttps://arxiv.org/abs/1904.02892及びhttps://arxiv.org/pdf/1904.02892v1.pdfに掲載。
(実施形態)
図1及び図2を用いて、実施形態の音声信号生成システム100の概要を説明する。図1は、実施形態の音声信号生成システム100の概要を説明する説明図である。音声信号生成システム100は、合成された音声信号(以下「合成信号」という。)であって自然信号との類似の度合(以下「自然信号度」という。)が低い音声信号(以下「不自然合成信号」という。)の自然信号度を向上させる。自然信号は、実際に人間が発する音声である。すなわち音声信号生成システム100は、入力された不自然合成信号を入力された不自然合成信号よりも自然信号度が高い合成信号である自然合成信号に変換する。なお、不自然合成信号を自然合成信号に変換するとは、不自然合成信号に基づき自然合成信号を生成することと同値である。
音声信号生成システム100は、音声信号変換モデル学習装置1及び音声信号変換装置2を備える。音声信号変換モデル学習装置1は、不自然合成信号に基づき自然合成信号を生成する学習済みのモデル(以下「音声信号変換モデル」という。)を機械学習によって得る。以下説明の簡単のため、機械学習を行うことを学習という。なお、機械学習を行うとは、機械学習モデルにおけるパラメータの値を好適に調整することを意味する。以下の説明において、Aであるように学習するとは、機械学習モデルにおけるパラメータの値がAを満たすように調整されることを意味する。Aは予め定められた条件を表す。
音声信号変換モデル学習装置1は、自然信号と合成信号とを入力とし、音声波形識別器及び音声特徴量識別器を識別器の学習において用いる循環型敵対的学習(CycleGAN:Cycle Generative Adversarial Networks)によって音声信号変換モデルを学習する。音声波形識別器は、学習に用いる音声信号の波形(以下「音声波形」という。)に基づいて音声信号が自然信号か否かを識別する識別器である。音声特徴量識別器は学習に用いる音声信号から所定の条件を満たす情報を音声特徴量として取得し、取得した音声特徴量に基づいて音声信号が自然信号か否かを識別する識別器である。以下、音声波形識別器と音声特徴量識別器とを用いるCycleGANを畳み込みCycleGANという。なお、音声特徴量は、例えば、音声信号の位相スペクトルである。なお、後述するように、音声信号変換モデル学習装置1に入力される自然信号と合成信号とは、予め音声信号変換モデル学習装置1が備える記憶部に記憶済みであってもよい。
畳み込みCycleGANは、学習に用いる音声信号の音声波形と音声特徴量とをそれぞれ異なる識別器で学習するニューラルネットワークである。一般に、学習に用いるデータの特徴量を特徴量ごとに異なる識別器で学習するニューラルネットワークを畳み込みニューラルネットワークという。そのため畳み込みCycleGANは、CycleGANを変形させたニューラルネットワークでもあり畳み込みニューラルネットワークを変形させたニューラルネットワークでもある。
図2は、実施形態における音声信号変換モデル学習装置1の概要を説明する説明図である。音声信号変換モデル学習装置1は、第1生成部110、第1識別部120、第1入力決定部130、第2生成部150、第2識別部160及び第2入力決定部170を備える。第1生成部110、第1識別部120、第2生成部150及び第2識別部160は、学習する機能部である。音声信号変換モデル学習装置1においては、第1生成部110、第1識別部120、第1入力決定部130、第2生成部150、第2識別部160及び第2入力決定部170が協働してCycleGANを実行する。
第1生成部110は、入力された音声信号に対して順変換処理を実行する。順変換処理は、入力された音声信号の自然信号度を向上させる処理である。第1生成部110は順変換処理後の音声信号を順変換信号として出力する。第1生成部110は、詳細を後述する第1識別部120の識別結果に基づいて学習する。第1生成部110は、学習により、順変換処理によって自然信号度をより向上させるように学習する。
順変換処理によって自然信号度をより向上させるような学習の具体例は、第1識別部120の識別結果が誤りである確率が低いほど大きな値を示す関数である損失関数の値を小さくするようにパラメータの値を好適に調整する処理である。
第1識別部120は、入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する。第1識別部120は、この識別結果に基づいて学習する。第1識別部120は、音声波形識別部121、音声特徴量識別部122、統合識別部123及び第1判定部140を備える。
音声波形識別部121には第1識別部120に入力された音声信号が入力される。音声波形識別部121に入力される音声信号は、詳細を後述する第1入力決定部130によって決定された音声信号であって、自然信号又は順変換信号である。音声波形識別部121は、入力された音声信号の音声波形に基づいて第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する。音声波形識別部121は、音声波形識別器の一例である。
音声特徴量識別部122には第1識別部120に入力された音声信号が入力される。すなわち、音声特徴量識別部122に入力される音声信号は音声波形識別部121に入力される音声信号と同一である。音声特徴量識別部122は、入力された音声信号に基づき音声特徴量を取得する。音声特徴量識別部122は、取得した音声特徴量に基づいて第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する。音声特徴量識別部122は、音声特徴量識別器の一例である。
統合識別部123は、音声波形識別部121の識別結果と音声特徴量識別部122の識別結果とに基づいて、第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する。統合識別部123の識別結果が、第1識別部120による識別結果である。統合識別部123の識別結果が、第1判定部140に出力される。
第1判定部140は、第1入力決定部130の決定結果に基づき統合識別部123の識別結果が正しか否かを判定する。
音声波形識別部121、音声特徴量識別部122及び統合識別部123は、第1判定部140の判定結果に基づき学習する。音声波形識別部121、音声特徴量識別部122及び統合識別部123は、学習により、識別の精度をより向上させるように学習する。識別の精度をより向上させるような学習の具体例は、統合識別部123の識別結果が誤りである確率が低いほど大きな値を示す関数である損失関数の値を大きくするようにパラメータの値を好適に調整する処理である。
第1入力決定部130は、第1識別部120に入力する音声信号を順変換信号と自然信号とのいずれにするかを決定する。
第1入力決定部130が第1識別部120に入力する音声信号として自然信号を決定した場合には、図2の中央列に記載の自然信号群に属する1つの自然信号が第1識別部120に入力される。前記自然信号群は学習のために予め用意された自然信号の集合である。なお、図2の中央列に記載の合成信号群は学習のために予め用意された合成信号の集合である。以下、合成信号群に属する合成信号を事前合成信号という。
第1入力決定部130が第1識別部120に入力する合成信号として合成信号を決定した場合には、順変換信号が第1識別部120に入力される。
第2生成部150は、入力された音声信号に対して逆変換処理を実行する。音声信号として順変換信号が入力された場合、取得した順変換信号に対して逆変換処理を実行する。音声信号として自然信号が入力された場合、取得した自然信号に対して逆変換処理を実施する。逆変換処理は入力された音声信号の自然信号度を低下させる処理である。第2生成部150は、逆変換処理後の音声信号を逆変換信号として出力する。第2生成部150は、詳細を後述する第2識別部160の識別結果に基づいて学習する。第2生成部150は、学習により、逆変換処理によって自然信号度をより低下させるように学習する。
逆変換処理によって自然信号度をより低下させるような学習の具体例は、第2識別部160の識別結果が誤りである確率が低いほど大きな値を示す関数である損失関数の値を小さくするようにパラメータの値を好適に調整する処理である。
第2識別部160は、入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する。第2識別部160は、第2識別部160の識別結果に基づいて学習する。第2識別部160は、音声波形識別部161、音声特徴量識別部162、統合識別部163及び第2判定部180を備える。
音声波形識別部161は、第2識別部160に入力された音声信号の音声波形に基づいて第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する。音声波形識別部161は、音声波形識別器の一例である。
音声特徴量識別部162は、第2識別部160に入力された音声信号の音声特徴量に基づいて第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する。音声特徴量識別部162は、音声特徴量識別器の一例である。
統合識別部163は、音声波形識別部161の識別結果と音声特徴量識別部162の識別結果とに基づいて、第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する。統合識別部163の識別結果が、第2識別部160による識別結果である。統合識別部163の識別結果が、第2判定部180に出力される。
第2判定部180は、第2入力決定部170の決定結果に基づき第2識別部160の識別結果が正しか否かを判定する。
音声波形識別部161、音声特徴量識別部162及び統合識別部163は、第2判定部180の判定結果に基づき学習する。音声波形識別部161、音声特徴量識別部162及び統合識別部163は、学習により、識別の精度をより向上させるように学習する。識別の精度をより向上させるような学習の具体例は、統合識別部163の識別結果が誤りである確率が低いほど大きな値を示す関数である損失関数の値を大きくするようにパラメータの値を好適に調整する処理である。
第2入力決定部170は、第2生成部150に入力する音声信号を順変換信号と自然信号とのいずれにするかを決定する。また、第2入力決定部170は、第2識別部160に入力する音声信号を逆変換信号と事前合成信号とのいずれにするかも決定する。
第1生成部110、第1識別部120、第2生成部150及び第2識別部160は協働して動作することで、以下の式で表される目的関数Lを小さくするように学習する。すなわち目的関数Lは、第1生成部110、第1識別部120、第2生成部150及び第2識別部160が学習する際の損失関数である。
H1は自己同一損失を表す。より具体的には、H1は以下の式(18)で表される。
H2からH9の和は敵対的損失を表す。なお、Dxwaveは、音声信号xの波形に基づいて音声信号xがどのような信号であるかを識別する識別器を表す。なお、Dywaveは、音声信号yの波形に基づいて音声信号yがどのような信号であるかを識別する識別器を表す。なお、Dxmspは、音声信号xの音声特徴量に基づいて音声信号xがどのような信号であるかを識別する識別器を表す。なお、Dymspは、音声信号yの音声特徴量に基づいて音声信号yがどのような信号であるかを識別する識別器を表す。以下、説明の簡単のため、識別器を記号Dで表す。なお、Dmsp(A)はAが目的となっている音声特徴量であるかどうかの確率を出力する関数である。また、log(1-Dmsp(A))は、Aが目的の音声特徴量ではない確率を出力する関数である。
F(A)は、ハニング窓で窓掛けされた高速フーリエ変換行列をAに畳み込んだ後に畳み込み後のAの絶対値に対してメルフィルターを畳み込む処理を意味する。
目的関数におけるLcycの項のλcycは重みを表す。Lcycは学習においてハイパーパラメータである。Gx→yは写像であって音声信号xを音声信号yに変換する写像を表す。音声信号yは音声信号xよりも自然信号度が高い音声信号である。Dyは、入力された音声信号yについて自然信号か合成信号かを見分ける識別関数を表す。Gy→xは写像であって音声信号yを音声信号xに変換する写像を表す。Dxは、入力された音声信号xについて自然信号か合成信号かを見分ける識別関数を表す。
Ladvは、敵対的学習における目的関数を表す。すなわちLadvは、敵対的損失を表す。敵対的損失とは敵対的学習における損失関数が表す値である。Lidは、恒等写像を表す。恒等写像は、写像Gx→yへの入力が音声信号xではなくて音声信号yであった場合に、目的関数Lを変化させないために目的関数Lに存在する。恒等写像Lidの値は恒等写像損失を表す。
L1は第1生成部110及び第1識別部120が協働して実行する敵対的学習における損失関数を表す。L2は第2生成部150及び第2識別部160が協働して実行する敵対的学習における損失関数を表す。L3は、CycleGANにおける循環無矛盾損失を表す関数である。すなわち、L3は、第1生成部110、第1識別部120、第2生成部150及び第2識別部160が協働して実行するCycleGANにおいて写像Gx→yと写像Gy→xとが1対1対応であるか否かを表す関数である。
このように、目的関数Lは、敵対的損失を表す関数と、無矛盾損失を表す関数と、恒等写像損失を表す関数とによって表される関数である。
ここで、順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理それぞれの処理の流れの一例を説明する。順変換信号識別処理は、第1識別部120が入力された音声信号が自然信号か順変換信号かを識別する処理である。順変換学習処理は第1生成部110が学習する処理である。順変換信号識別学習処理は第1識別部120が学習する処理である。逆変換信号識別処理は、第2識別部160が入力された音声信号が逆変換信号か事前合成信号かを識別する処理である。逆変換学習処理は第2生成部150が学習する処理である。逆変換信号識別学習処理は、第2識別部160が学習する処理である。
図3は、実施形態における順変換信号識別処理の流れの一例を示すフローチャートである。音声波形識別部121が第1識別部120に入力された音声信号を取得し、取得した音声波形に基づいて第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する(ステップS101)。次に音声特徴量識別部122が第1識別部120に入力された音声信号の音声特徴量を取得し、取得した音声特徴量に基づいて第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する(ステップS102)。次に統合識別部123が音声波形識別部121の識別結果と音声特徴量識別部122の識別結果とに基づき予め定められた所定の規則にしたがい、第1識別部120に入力された音声信号が自然信号と順変換信号とのいずれであるかを識別する(ステップS103)。ステップS103における統合識別部123の識別結果が、第1判定部140に出力される。
図4は、実施形態における順変換学習処理の流れの一例を示す第1のフローチャートである。第1入力決定部130が第1識別部120に入力する音声信号を順変換信号に決定する(ステップS201)。次に第1生成部110が、合成信号群から合成信号を1つ取得し、取得した合成信号に対して順変換処理を実行することで順変換信号を生成する(ステップS202)。次に第1生成部110は生成した順変換信号を第1識別部120に出力する(ステップS203)。次に第1識別部120は取得した音声信号について、順変換信号識別処理を実行する(ステップS204)。すなわち、ステップS101~ステップS103の処理が実行される。次に第1判定部140が、第1入力決定部130の決定結果と比較して第1識別部120の識別結果が正しか否かを判定する(ステップS205)。次に第1生成部110が第1判定部140の判定結果に基づき順変換処理によって自然信号度をより向上させるように学習する(ステップS206)。具体的には、第1生成部110は目的関数Lをより小さくするように学習する。
図5は、実施形態における順変換学習処理の流れの一例を示す第2のフローチャートである。以下、図3又は図4に記載の処理と同様の処理については図3又は図4と同じ符号を付すことで説明を省略する。
第2生成部150が逆変換信号を出力する(ステップS301)。次に第1生成部110が、第2生成部150が出力した逆変換信号を取得し、取得した逆変換信号に対して順変換処理を実行することで順変換信号を生成する(ステップS302)。次にステップS203~ステップS206の処理が実行される。
図6は、実施形態における順変換信号識別学習処理の流れの一例を示すフローチャートである。以下、図3~図5に記載の処理と同様の処理については図3~図5と同じ符号を付すことで説明を省略する。
第1入力決定部130が第1識別部120に入力する音声信号を、自然信号と順変換信号とのいずれにするかを決定する(ステップS401)。次に、ステップS204及びステップS205の処理が実行される。次に第1識別部120が、識別の精度をより向上させるように学習する(ステップS402)。具体的には、第1識別部120が目的関数Lをより大きくするように学習する。より具体的には、目的関数Lをより大きくするように音声波形識別部121及び音声特徴量識別部122が学習する。
図7は、実施形態における逆変換信号識別処理の流れの一例を示すフローチャートである。音声波形識別部161が第2識別部160に入力された音声信号の音声波形を取得し、取得した音声波形に基づいて第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する(ステップS501)。次に音声特徴量識別部162が第2識別部160に入力された音声信号を取得し、取得した音声特徴量に基づいて第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する(ステップS502)。次に統合識別部163が音声波形識別部161の識別結果と音声特徴量識別部162の識別結果とに基づき予め定められた所定の規則にしたがい、第2識別部160に入力された音声信号が逆変換信号と事前合成信号とのいずれであるかを識別する(ステップS503)。ステップS503における統合識別部163の識別結果が、第2判定部180に出力される。
図8は、実施形態における逆変換学習処理の流れの一例を示すフローチャートである。第2入力決定部170が第2識別部160に入力する音声信号を逆変換信号に決定する(ステップS601)。次に第2生成部150が、順変換信号を取得し、取得した順変換信号に対して逆変換処理を実行することで逆変換信号を生成する(ステップS602)。次に第2生成部150は生成した逆変換信号を第2識別部160に出力する(ステップS603)。次に第2識別部160は取得した音声信号について、逆変換信号識別処理を実行する(ステップS604)。すなわち、ステップS401~ステップS403の処理が実行される。次に第2判定部180が、第2入力決定部170の決定結果と比較して第2識別部160の識別結果が正しか否かを判定する(ステップS605)。次に第2生成部150が第2判定部180の判定結果に基づき逆変換処理によって自然信号度をより向上させるように学習する(ステップS606)。具体的には、第2生成部150は目的関数Lをより小さくするように学習する。なお、第2生成部150が、自然信号を取得し、逆変換信号を生成した場合についても、同様にステップS602からステップS606の処理を行う。
図9は、実施形態における逆変換信号識別学習処理の流れの一例を示すフローチャートである。以下、図7又は図8に記載の処理と同様の処理については図7又は図8と同じ符号を付すことで説明を省略する。
第2入力決定部170が第2識別部160に入力する音声信号を、自然信号と逆変換信号とのいずれにするかを決定する(ステップS701)。次に、ステップS604及びステップS605の処理が実行される。次に第2識別部160が、識別の精度をより向上させるように学習する(ステップS702)。具体的には、第2識別部160が目的関数Lをより大きくするように学習する。より具体的には、目的関数Lをより大きくするように音声波形識別部161及び音声特徴量識別部162が学習する。
図10は、実施形態における音声信号変換モデル学習装置1が実行する処理の流れの一例を示すフローチャートである。図10では、ステップS201が行われた場合を例にその後の処理の流れの一例を説明する。また、図10では、ステップS601の処理が行われる場合を例に処理の流れの一例を説明する。以下、図3~図9に記載の処理と同様の処理については、図3~図9に記載の符号と同じ符号を付することで説明を省略する。
ステップS201から始まって、ステップS202、ステップS203、ステップS204、ステップS205、ステップS206、ステップS402、ステップS601、ステップS602、ステップS604、ステップS605、ステップS606、ステップS702の順番に処理が実行される。ステップS702の次に、終了条件が満たされたか否かが判定される(ステップS801)。終了条件は、例えば学習の回数が所定の回数を超えたという条件である。終了条件が満たされたか否かは、例えば後述する管理部102によって判定される。
終了条件が満たされる場合(ステップS801:YES)、処理が終了する。一方、終了条件が満たされない場合(ステップS801:NO)、ステップS301の処理が実行される。次にステップS302の処理が実行される。ステップS302の次にステップS203の処理に戻る。
なお、ステップS206の処理とステップS402の処理とは実行される順番が逆でもよい。なお、ステップS606の処理とステップS702の処理とは実行される順番が逆でもよい。
なお、ステップS201の処理に代えて、第1入力決定部130が第1識別部120に入力する音声信号を自然信号に決定する処理が実行された場合、ステップS602からステップS302の処理は実行されない。このような場合、図6の処理が実行された後、処理が終了する。
なお、ステップS601の処理に代えて、第2入力決定部170が第2識別部160に入力する音声信号を自然信号に決定する処理が実行された場合、ステップS602からステップS604の処理とステップS606の処理とが実行されない。
このように音声信号変換モデル学習装置1は、順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理の実行により学習のたびに自然信号度がより高い音声信号変換モデルを得る。
図11は、実施形態における音声信号変換モデル学習装置1のハードウェア構成の一例を示す図である。
音声信号変換モデル学習装置1は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ91とメモリ92とを備える制御部10を備え、プログラムを実行する。音声信号変換モデル学習装置1は、プログラムの実行によって制御部10、入力部11、インタフェース部12、記憶部13及び出力部14を備える装置として機能する。より具体的には、プロセッサ91が記憶部13に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、音声信号変換モデル学習装置1は、制御部10、入力部11、インタフェース部12、記憶部13及び出力部14を備える装置として機能する。
制御部10は、音声信号変換モデル学習装置1が備える各種機能部の動作を制御する。制御部10は、例えば順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理を実行する。
入力部11は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部11は、これらの入力装置を自装置に接続するインタフェースとして構成されてもよい。入力部11は、自装置に対する各種情報の入力を受け付ける。入力部11は、例えば学習の開始を指示する入力を受け付ける。入力部11は、例えば合成信号群に追加する合成信号の入力を受け付ける。入力部11は、例えば自然信号群に追加する自然信号の入力を受け付ける。
インタフェース部12は、自装置を外部装置に接続するための通信インタフェースを含んで構成される。インタフェース部12は、有線又は無線を介して外部装置と通信する。外部装置は、例えばUSB(Universal Serial Bus)メモリ等の記憶装置であってもよい。外部装置が例えば合成信号を出力する場合、インタフェース部12は外部装置との通信によって外部装置が出力する合成信号を取得する。外部装置が例えば自然信号を出力する場合、インタフェース部12は外部装置との通信によって外部装置が出力する自然信号を取得する。
インタフェース部12は、自装置を音声信号変換装置2に接続するための通信インタフェースを含んで構成される。インタフェース部12は、有線又は無線を介して音声信号変換装置2と通信する。インタフェース部12は、音声信号変換装置2との通信により、音声信号変換装置2に音声信号変換モデルを出力する。
記憶部13は、磁気ハードディスク装置や半導体記憶装置などの非一時的コンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部13は音声信号変換モデル学習装置1に関する各種情報を記憶する。記憶部13は、例えば予め自然信号群を記憶する。記憶部13は、例えば予め合成信号群を記憶する。記憶部13は、例えば入力部11又はインタフェース部12を介して入力された合成信号及び自然信号を記憶する。記憶部13は、例えば第1識別部120の識別結果を記憶する。
記憶部13は、例えば第2識別部160の識別結果を記憶する。記憶部13は、例えば第1判定部140の判定結果を記憶する。記憶部13は、例えば第2判定部180の判定結果を記憶する。記憶部13は、例えば第1入力決定部130の決定結果を記憶する。記憶部13は、例えば第2入力決定部170の決定結果を記憶する。記憶部13は、例えば音声信号変換モデルを記憶する。
出力部14は、各種情報を出力する。出力部14は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部14は、これらの表示装置を自装置に接続するインタフェースとして構成されてもよい。出力部14は、例えば入力部11に入力された情報を出力する。
図12は、実施形態における制御部10の機能構成の一例を示す図である。制御部10は、被管理部101及び管理部102を備える。被管理部101は、第1生成部110、第1識別部120、第1入力決定部130、第1判定部140、第2生成部150、第2識別部160、第2入力決定部170及び第2判定部180を備える。被管理部101は、自然信号群及び合成信号群が含む各音声信号を用いた順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理の実行により音声信号変換モデルを得る。音声信号変換モデルは具体的には、第1生成部110による順変換処理を表す学習済みのモデルである。
管理部102は、被管理部101の動作を制御する。管理部102は、例えば被管理部101による順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理それぞれの実行のタイミングを制御する。
管理部102は、例えば入力部11、インタフェース部12、記憶部13及び出力部14の動作を制御する。管理部102は、例えば記憶部13から各種情報を読み出し被管理部101に出力する。管理部102は、例えば入力部11に入力された情報を取得し被管理部101に出力する。管理部102は、例えば入力部11に入力された情報を取得し記憶部13に記録する。管理部102、例えばインタフェース部12に入力された情報を取得し被管理部101に出力する。管理部102、例えばインタフェース部12に入力された情報を取得し記憶部13に記録する。管理部102は、例えば入力部11に入力された情報を出力部14に出力させる。
管理部102は、例えば第1識別部120の識別結果を記憶部13に記録する。管理部102は、例えば第2識別部160の識別結果を記憶部13に記録する。記憶部13は、例えば第1判定部140の判定結果を記憶部13に記録する。記憶部13は、例えば第2判定部180の判定結果を記憶部13に記録する。記憶部13は、例えば第1入力決定部130の決定結果を記憶部13に記録する。記憶部13は、例えば第2入力決定部170の決定結果を記憶部13に記録する。
図13は、実施形態における音声信号変換装置2のハードウェア構成の一例を示す図である。
音声信号変換装置2は、バスで接続されたCPU等のプロセッサ93とメモリ94とを備える制御部20を備え、プログラムを実行する。音声信号変換装置2は、プログラムの実行によって制御部20、入力部21、インタフェース部22、記憶部23及び出力部24を備える装置として機能する。より具体的には、プロセッサ93が記憶部23に記憶されているプログラムを読み出し、読み出したプログラムをメモリ94に記憶させる。プロセッサ93が、メモリ94に記憶させたプログラムを実行することによって、音声信号変換装置2は、制御部20、入力部21、インタフェース部22、記憶部23及び出力部24を備える装置として機能する。
制御部20は、音声信号変換装置2が備える各種機能部の動作を制御する。制御部20は、例えば音声信号変換モデル学習装置1が得た音声信号変換モデルを用いて、不自然合成信号を自然合成信号に変換する。
入力部21は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部21は、これらの入力装置を自装置に接続するインタフェースとして構成されてもよい。入力部21は、自装置に対する各種情報の入力を受け付ける。入力部21は、例えば不自然合成信号を自然合成信号に変換する処理の開始を指示する入力を受け付ける。入力部21は、例えば変換対象の不自然合成信号の入力を受け付ける。
インタフェース部22は、自装置を外部装置に接続するための通信インタフェースを含んで構成される。インタフェース部22は、有線又は無線を介して外部装置と通信する。外部装置は、例えば自然合成信号の出力先である。このような場合、インタフェース部22は、外部装置との通信によって外部装置に自然合成信号を出力する。自然合成信号の出力際の外部装置は、例えばスピーカー等の音声出力装置である。
外部装置は、例えば音声信号変換モデルを記憶したUSBメモリ等の記憶装置であってもよい。外部装置が例えば音声信号変換モデルを記憶しており音声信号変換モデルを出力する場合、インタフェース部22は外部装置との通信によって音声信号変換モデルを取得する。
外部装置は、例えば不自然合成信号の出力元である。このような場合、インタフェース部22は、外部装置との通信によって外部装置から不自然合成信号を取得する。
インタフェース部22は、自装置を音声信号変換モデル学習装置1に接続するための通信インタフェースを含んで構成される。インタフェース部22は、有線又は無線を介して音声信号変換モデル学習装置1と通信する。インタフェース部22は、音声信号変換モデル学習装置1との通信により、音声信号変換モデル学習装置1から音声信号変換モデルを取得する。
記憶部23は、磁気ハードディスク装置や半導体記憶装置などの非一時的コンピュータ読み出し可能な記憶媒体装置を用いて構成される。記憶部23は音声信号変換装置2に関する各種情報を記憶する。記憶部13は、例えばインタフェース部22を介して取得した音声信号変換モデルを記憶する。
出力部24は、各種情報を出力する。出力部24は、例えばCRTディスプレイや液晶ディスプレイ、有機ELディスプレイ等の表示装置を含んで構成される。出力部24は、これらの表示装置を自装置に接続するインタフェースとして構成されてもよい。出力部24は、例えば入力部21に入力された情報を出力する。
図14は、実施形態における制御部20の機能構成の一例を示す図である。制御部20は、変換対象取得部201、変換部202及び音声信号出力制御部203を備える。
変換対象取得部201は、変換対象となる不自然合成信号を取得する。変換対象取得部201は、例えば入力部21に入力された不自然合成信号を取得する。変換対象取得部201は、例えばインタフェース部22に入力された不自然合成信号を取得する。
変換部202は、変換対象取得部201が取得した変換対象を、音声信号変換モデルを用いて自然合成信号に変換する。自然合成信号は音声信号出力制御部203に出力される。
音声信号出力制御部203は、インタフェース部22の動作を制御する。音声信号出力制御部203は、インタフェース部22の動作を制御することでインタフェース部22に自然合成信号を出力させる。
図15は、実施形態における音声信号変換装置2が実行する処理の流れの一例を示すフローチャートである。制御部20が、インタフェース部22に入力された不自然合成信号を取得する(ステップS901)。次に制御部20が、記憶部23に記憶された音声信号変換モデルを用いて不自然合成信号を自然合成信号に変換する(ステップS902)。次に制御部20がインタフェース部22の動作を制御して自然合成信号を出力先に出力させる(ステップS903)。出力先は、例えばスピーカー等の外部装置である。
(実験結果)
音声信号生成システム100が得た音声信号変換モデルと、他の学習方法で得られた音声信号変換モデルとの比較実験(以下「第1実験」という。)の実験結果を図16及び図17によって示す。
第1実験は、女性ナレーターの日本語音声のデータセットに含まれる437文を用いて行われた。日本語音声のデータセットの437文のうち407文(約1時間)が音声信号変換モデルを得るために使用された。日本語音声のデータセットの437文のうち30文(4分)が、音質の自然さに関する5段階MOS(Mean Opinion Score)評価を得るために使用された。音声のサンプリングレートは22.05kHzであった。被験者は10名であった。各被験者は学習方法ごとにランダムに選択された30文及び20文について評価した。
図16は第1実験の実験結果の一例を示す第1の図である。図17は第1実験の実験結果の一例を示す第2の図である。図16及び図17の横軸は、音声信号変換モデルを得る手法を示す。図16及び図17の縦軸は、音質の自然さに関する5段階MOS評価を示す。図16及び図17における点線の横軸は、自然音声の評価結果を表す。
“SPSS”はDNN(Deep Neural Network)テキスト音声合成(SPSS:Statistical Parametric Speech Synthesis)の方法を示す。“GANv”は音声特徴量上での補正手法を示す。“V1”は、畳み込みニューラルネットワークに対してダウンサンプリングモジュールを用いる手法を示す。
“V2”は、第1識別部120に代えて第1簡易識別部を備え第2識別部160に代えて第2簡易識別部を備える音声信号生成システム100によって音声信号変換モデルを得る手法を示す。第1簡易識別部は、音声波形識別部121を備え、音声特徴量識別部122及び統合識別部123を備えず入力された音声信号の波形によって入力された音声信号が自然信号か順変換信号かを識別する識別器である。第2簡易識別部は、音声波形識別部161を備え、音声特徴量識別部162及び統合識別部163を備えず入力された音声信号の波形によって入力された音声信号が逆変換信号か事前合成信号かを識別する識別器である。
“V2msp”は、第1識別部120に代えて第3簡易識別部を備え第2識別部160に代えて第4簡易識別部を備える音声信号生成システム100によって音声信号変換モデルを得る手法を示す。第3簡易識別部は、音声波形識別部121、音声特徴量識別部122及び統合識別部123を備える。第3簡易識別部が備える音声特徴量識別部122は、識別に用いる特徴量として識別対象の音声信号のメルスペクトログラムを用いる。第4簡易識別部は、音声波形識別部161、音声特徴量識別部162及び統合識別部163を備える。第4簡易識別部が備える音声特徴量識別部162は、識別に用いる特徴量として識別対象の音声信号のメルスペクトログラムを用いる。
“V2ph”は、第1識別部120に代えて第5簡易識別部を備え第2識別部160に代えて第6簡易識別部を備える音声信号生成システム100によって音声信号変換モデルを得る手法を示す。第5簡易識別部は、音声波形識別部121、音声特徴量識別部122及び統合識別部123を備える。第5簡易識別部が備える音声特徴量識別部122は、識別に用いる特徴量として識別対象の音声信号の位相スペクトルを用いる。第6簡易識別部は、音声波形識別部161、音声特徴量識別部162及び統合識別部163を備える。第6簡易識別部が備える音声特徴量識別部162は、識別に用いる特徴量として識別対象の音声信号の位相スペクトルを用いる。
“V2mfcc”は、第1識別部120に代えて第7簡易識別部を備え第2識別部160に代えて第8簡易識別部を備える音声信号生成システム100によって音声信号変換モデルを得る手法を示す。第7簡易識別部は、音声波形識別部121、音声特徴量識別部122及び統合識別部123を備える。第7簡易識別部が備える音声特徴量識別部122は、識別に用いる特徴量として識別対象の音声信号のメル周波数ケプストラム係数を用いる。第8簡易識別部は、音声波形識別部161、音声特徴量識別部162及び統合識別部163を備える。第8簡易識別部が備える音声特徴量識別部162は、識別に用いる特徴量として識別対象の音声信号のメル周波数ケプストラム係数を用いる。
図16及び図17は、V1がSPSSと比較して大幅に音質改善していることを示す。なお、音質の改善とは、自然信号度が高くなることを意味する。図16及び図17は、V1がGANvよりも音質を改善していることを示す。図16及び図17は、V2がSPSSよりも音質を改善していることを示す。図16及び図17は、V2がV1よりも音質を改善していないことを示す。これは、V2の方がV1よりも雑音の多い音声を生成するためである。図16及び図17は、V2msp及びV2mfccがV1、V2、V2ph、SPSS及びGANvよりも高いMOS評価であることを示す。
また、図16及び図17は、V2msp及びV2mfccについて、両側Mann-Whitney検定のp値が0.05以上であることを示す。このことは、V2msp及びV2mfccによって変換された音声信号は自然信号との統計的な差異が無いことを示す。図16及び図17は、V2phは雑音を含む音声でありV2よりもMOS評価が低いことを示す。図16及び図17の結果より、音声波形の識別器(すなわち音声波形識別部121及び161)と音声特徴量識別部122及び162とを用いることが有効であることを示唆している。なお、図16及び図17において、“V2msp”、“V2ph”及び“V2mfcc”は音声信号生成システム100が得た音声信号変換モデルを用いて音声を変換する処理の一例である。
音声信号生成システム100が得た音声信号変換モデルと、他の学習方法で得られた音声信号変換モデルとの比較実験(以下「第2実験」という。)の実験結果を図18によって示す。
第2実験は、英語音声のデータセットLJSpeech(参考文献1参照)に含まれる13100文を用いて行われた。英語音声のデータセットの13100文のうち40文が、音質の自然さに関する5段階MOS評価を得るために使用された。音声のサンプリングレートは22.05kHzであった。被験者は14名であった。各被験者は学習方法ごとに15文について評価した。第2実験では、スペクトル歪みも算出された。
図18は第2実験の実験結果の一例を示す図である。図18は、学習方法ごとに、最小有意差(LSD:Least squared distance)とMOSの評価結果とを示す。WORLDは参考文献2に記載の方法である。Griffin-Limは参考文献3に記載の方法である。Open WaveNetは参考文献4に記載の方法である。WaveGlowは参考文献5に記載の方法である。
参考文献1:“The LJ Speech Dataset” [online][令和2年3月30日検索]、インターネット〈URL:https://keithito.com/LJ-Speech-Dataset/>
参考文献2:M. Morise, F. Yokomori, and K. Ozawa, “WORLD: a vocoder-based high-quality speech synthesis system for real-time applications,” IEICE Transactions on Information and Systems, vol.99, no.7, pp.1877-1884, 2016.
参考文献3:D. Griffin and J. Lim, “Signal estimation from modified short-time Fourier transform,” IEEE Transactions on Audio, Speech and Language Processing (TASLP), vol.32, no.2,pp. 236-243, 1984.
参考文献4:Ryuichi Yamamoto et al. “WaveNet vocoder”[online][令和2年3月30日検索]、インターネット〈URL:https://doi.org/10.5281/zenodo.1472609>
参考文献5:R. Prenger, R. Valle, and B. Catanzaro, “WaveGlow: A flow-based generative network for speech synthesis,” 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp.3617-3621, 2019.
図18は、Griffin-LimのLSDが最も低いことを示す。図18は、WORLDのLSDは、パラメトリックボコーダであるため大きく歪んでいることを示す。一方で、図18は、Griffin-LimとWORLDとの間にMOS評価の差異は無いことを示す。
図18は、WaveGlowとopen WaveNetとを比較した場合に、open WaveNetの方がLSDが大きいことを示す。一方、図18は、WaveGlowとopen WaveNetとを比較した場合に、WaveGlowの方がMOS評価が高いことを示す。これらの結果は、4前後のLSDは、MOS評価に影響を与えない可能性が高いことを示す。図18は、V2mspが最も高いLSDとMOS評価とを得ていることを示す。
なお、図18において“Recorded”は収録音声そのもの示す。“Recorded”は、変換後の音声として目標とする音声そのものである。そのため、”Recorded”に対応するLSDの値は無い。
音声信号生成システム100は、入力された波形を自然信号度の高い波形へ変換する。そのため、音声信号生成システム100は、例えば元の音声よりも帯域が削減された音声(劣化音声)が入力された場合であっても、入力された音声を帯域が復元された音声に変換することができる。このことは、音声信号生成システム100が、帯域を拡大したことを意味する。
音声信号生成システム100が得た音声信号変換モデルと、他の学習方法で得られた音声信号変換モデルとの比較実験(以下「第3実験」という。)の実験結果を図19によって示す。
第3実験では、英語音声のデータセットVCTK(参考文献6参照)に含まれる109話者中ランダムに選ばれた60話者ごとのランダム50文(合計3000文)が音声信号変換モデルを得るために使用された。第3実験では、残りの話者からランダムに男女2名ずつが選ばれた後、選ばれた話者ごとに発話文をランダムに2文(合計8文)が選ばれ、音質に関するMUSHRAテストが行われた。
参考文献6:Ryuichi Yamamoto et al. “WaveNet vocoder”[online][令和2年3月30日検索]、インターネット〈URL:https://doi.org/10.5281/zenodo.1472609>
図19は第3実験の実験結果の一例を示す図である。図19の縦軸はMUSHRAテストのテスト結果を示す。図19の横軸は評価対象の方法を示す。図19の横軸の“48”は48kHzでサンプリングされた自然音声を示す。図19の横軸の“16to48”は音声信号生成システム100により帯域が拡張された音声を示す。
図19の横軸の“8to48”は音声信号生成システム100により帯域が拡張された音声を示す。図19の横軸の“8to16to48”は音声信号生成システム100により帯域が拡張された音声を示す。“16to48”と“8to48”と“8to16to48”との違いは以下の通りである。
“16to48”は、“16”が劣化音声として音声信号変換装置2に入力され、“16”に音声信号生成システム100が得た音声信号変換モデルが適用され、“16”の帯域が48kHzまで拡張された結果の音声を示す。“16”は、48kHzでサンプリングされた音声を16kHzまでダウンサンプリングした音声を示す。
“8to16to48”は、“8”が劣化音声として音声信号変換装置2に入力され、“8”に音声信号生成システム100が得た音声信号変換モデルが適用され、“8”の帯域が48kHzまで拡張された結果の音声を示す。“16”の帯域が48kHzまで拡張された結果の音声を示す。“8”は、48kHzでサンプリングされた音声を16kHzまでダウンサンプリングした音声を示す。
“8to16to48”は、“8”が劣化音声として音声信号変換装置2に入力され“16”に変換され、次に“16”が劣化音声として音声信号変換装置2に入力され“48”に変換された音声を示す。“48”は、48kHzでサンプリングされた音声を示す。
図19の横軸の“16”は16kHzにダウンサンプリングされた自然音声を示す。図19の横軸の“4”は4kHzにダウンサンプリングされた自然音声を示す。
図19は、“16to48”は原音との違いが小さいことを示す。図19は、“8to48”は原音より大きく劣化していることを示す。劣化の理由は、音声では16kHz以下に情報が集約されるため8kHzにダウンサンプリングすることで大きく情報量が落ち、学習が上手くいかなかったためである。図19は、“8to16to48”が“8to48”よりも高音質であることを示す。
このように構成された実施形態の音声信号生成システム100は、音声信号の音声波形又は音声特徴量の一方だけでなく両方を用い、順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理の実行により音声信号変換モデルを得る。そのため、このように構成された音声信号生成システム100は、音声波形だけを用いて音声信号変換モデルを得る場合よりも自然信号度の高い音声信号を生成することができる。すなわち、このように構成された音声信号生成システム100は、より人間が発する音声に近い音声を生成することができる。なお、音声波形だけを用いて音声信号変換モデルを得る方法は、例えばSEGAN(Speech Enhancement Generative Adversarial Network)である。
また、このように構成された実施形態の音声信号生成システム100は、順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理の実行により音声信号変換モデルを得る。そのため、音声信号生成システム100は、音声波形及び音声特徴量を用いて畳み込みニューラルネットワークのみにより音声信号変換モデルを取得する場合よりも、より人間が発する音声に近い音声を生成することができる。
このように構成された実施形態の音声信号生成システム100は、順変換信号識別処理、順変換学習処理、順変換信号識別学習処理、逆変換信号識別処理、逆変換学習処理及び逆変換信号識別学習処理を用いる。そのため、学習用に用いる音声信号のアライメントが低い場合であっても人間が発する音声に近い音声を生成することができる。そのため、音声信号生成システム100は、アライメントが高い場合にのみ有効なSEGAN(Speech Enhancement Generative Adversarial Networks)(参考文献7参照)よりも、適用場面が限定されないという効果を奏する。なお、アライメントが高いとは、学習用の音声信号と音声信号生成システム100によって出力したいユーザの理想とする音声信号との違いが小さいことを意味する。アライメントが高い学習用の音声信号は、例えば理想環境で収録された音声に対して計算機上で雑音を重畳し雑音環境下音声を模擬したのちに雑音除去が行われた音声信号である。アライメントが低い学習用の音声信号は、テキスト音声合成や音声変換において生成された合成音声である。このような音声信号は音声信号の長さも信号ごとに異なるため、この点でもアライメントが低い。
参考文献7:S. Pascual et al., “SEGAN: Speech enhancement generative adversarial network,” 2017 Annual Conference of the International Speech Communication Association (INTERSPEECH), pp.3642-3646, 2017.
(変形例)
なお、音声信号生成システム100が音声信号変換モデルを生成する方法は、必ずしも畳み込みCycleGANである必要は無い。音声信号生成システム100が音声信号変換モデルを生成する方法(以下「モデル生成方法」という。)は、以下の学習方法条件を満たす方法であればどのようなものであってもよい。
学習方法条件は第1条件を含む。第1条件は、モデル生成方法は入力された音声信号に対して自然信号度を高める変換である順変換処理を実行することで前記音声信号よりも自然信号度の高い信号である順変換信号を出力する第1の生成器を用いる方法である、という条件である。
学習方法条件は第2条件を含む。第2条件は、モデル生成方法は入力された信号が順変換信号と自然信号とのいずれであるかを識別する第1の識別器を用いる方法である、という条件である。
学習方法条件は第3条件を含む。第3条件は、モデル生成方法は入力された信号に対して自然信号度を低める変換である逆変換処理を実行することで順変換信号よりも自然信号度の低い逆変換信号を出力する第2の生成器を用いる方法である、という条件である。
学習方法条件は第4条件を含む。第4条件は、モデル生成方法は入力された信号が予め用意された信号であって合成された信号である事前合成信号と逆変換信号とのいずれであるかを識別する第2の識別器を用いる方法である、という条件である。なお、第2識別部160が合成信号群から読み出す合成信号は、事前合成信号の一例である。
学習方法条件は第5条件を含む。第5条件は、モデル生成方法は第1生成器と、第1の識別器と、第2生成器と、第2の識別器とが第1の識別器の識別結果と第2の識別器との識別結果に基づいて学習する、という条件である。
学習方法条件はさらに、以下の弱識別器条件を含んでもよい。弱識別器条件は、第1の識別器と第2の識別器との少なくとも1つは音声波形識別器と音声特徴量識別器とを用いて学習する、という条件を含む。そのため、モデル生成方法は、例えば第1生成器及び第2生成器と異なる第3生成器と、第1の識別器と第2の識別器と異なる第3の識別器と、を用いる方法であってもよい。
第1生成部110の第1生成器の一例である。第1識別部120は第1の識別器の一例である。第2生成部150は第2生成器の一例である。第2識別部160は第2の識別器の一例である。
なお、音声信号変換モデルを生成する方法が少なくとも第1条件~第5条件を満たしていれば、音声信号生成システム100は学習用に用いる音声信号のアライメントが低い場合であっても人間が発する音声に近い音声を生成することができる。
なお、音声波形識別部121及び音声波形識別部161は、音高の知覚的尺度に基づいて変換された周波数スペクトルに基づいて音声信号を識別してもよい。音高の知覚的尺度は例えばメル尺度である。音高の知覚的尺度に基づいて変換された周波数スペクトルは、例えばメル周波数ケプストラム係数で表されるスペクトルである。周波数スペクトルは、例えば位相スペクトルであってもよい。周波数スペクトルは、振幅スペクトルであってもよい。音高の知覚的尺度に基づいて変換された周波数スペクトルは、例えばメルスペクトログラムであってもよい。このように、音高の知覚的尺度に基づくことで人の知覚の情報も音声の生成に用いることができるため、音声信号生成システム100より人間が発する音声に近い音声を生成することができる。
なお、音声信号変換モデル学習装置1は必ずしも入力された音声信号を人間の発する音声に近い音声の音声信号に変換する学習モデルを学習する必要は無い。音声信号変換モデル学習装置1は入力された音声信号を犬や猫等の人間以外の動物の音声に近い音声の音声信号に変換する学習モデルを学習してもよい。このような場合、音声信号変換装置2は入力された音声を人間以外の動物の音声に近い音声信号に変換する。上述の通り、本実施形態における動物は人間を含む。
なお、不自然信号と自然合成信号とは、同じ種別の動物の音声信号であることが望ましいが必ずしも同じでなくてもよい。
なお、被管理部101は学習部の一例である。なお、不自然信号は入力信号の一例である。
音声信号変換モデル学習装置1は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、音声信号変換モデル学習装置1が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。例えば、第1生成部110と、第1識別部120と、第2生成部150と、第2識別部160とはそれぞれ異なる情報処理装置に実装されてもよい。
音声信号変換装置2は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、音声信号変換装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
なお、音声信号生成システム100の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。