【文献】
金子 卓弘,統計的パラメトリック音声合成のための敵対的学習に基づくポストフィルタリング,電子情報通信学会技術研究報告 Vol.116 No.378,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2016年12月13日,第116巻、第378号,p.89-94
(58)【調査した分野】(Int.Cl.,DB名)
前記量子化部から出力される過去の量子化残差信号および現在のコンテキストラベルから推定された推定量子化残差信号を逆量子化して推定残差信号を生成する逆量子化部と、
前記逆量子化部から出力される推定残差信号を前記声道フィルタ係数に基づいてフィルタリングした結果を音声信号として出力する合成フィルタと、
前記入力音声信号についての声道フィルタ係数を格納する格納部とをさらに備える、請求項2に記載の音声合成システム。
【発明を実施するための形態】
【0014】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0015】
[A.応用例]
まず、本実施の形態に従う音声合成システムの一つの応用例について説明する。より具体的には、本実施の形態に従う音声合成システムを用いた多言語翻訳システムについて説明する。
【0016】
図1は、本実施の形態に従う音声合成システムを用いた多言語翻訳システム1の概要を示す模式図である。
図1を参照して、多言語翻訳システム1は、サービス提供装置10を含む。サービス提供装置10は、ネットワーク2を介して接続される携帯端末30からの入力音声(第1言語で発せられたなんらかのことば)に対して音声認識、多言語翻訳などを行なって、第2言語での対応することばを合成して、その合成結果を出力音声として携帯端末30へ出力する。
【0017】
例えば、ユーザ4は、携帯端末30に対して、「Where is the station ?」という英語のことばを発すると、携帯端末30は、その発せられたことばからマイクロフォンなどにより入力音声を生成し、生成した入力音声をサービス提供装置10へ送信する。サービス提供装置10は、「Where is the station ?」に対応する、日本語の「駅はどこですか?」ということばを示す出力音声を合成する。携帯端末30は、サービス提供装置10から出力音声を受信すると、その受信した出力音声を再生する。これによって、ユーザ4の対話相手には、日本語の「駅はどこですか?」とのことばが聞こえる。
【0018】
図示していないが、ユーザ4の対話相手も同様の携帯端末30を有していてもよく、例えば、ユーザ4からの質問に対して、「まっすぐ行って左です」との回答を自身の携帯端末に向かって発すると、上述したような処理が実行されて、ユーザ4に対して、対応する英語の「Go straight and turn left」ということばが回答される。
【0019】
このように、多言語翻訳システム1においては、第1言語のことば(音声)と第2言語のことば(音声)との間で自在に翻訳が可能である。なお、2つの言語に限らず、任意の数の言語間で相互に自動翻訳できるようにしてもよい。
【0020】
このような自動音声翻訳の機能を利用することで、外国旅行や外国人とのコミュニケーションを容易化できる。
【0021】
サービス提供装置10に含まれる本実施の形態に従う音声合成システムは、後述するように、自己回帰モデルを用いて、入力テキストから生成されるコンテキストラベル系列から対応する音声信号を再構成する。サービス提供装置10は、音声合成システムに関するコンポーネントとして、分析部12と、学習部14と、自己回帰モデル16と、音声合成部18とを含む。
【0022】
サービス提供装置10は、自動翻訳に関するコンポーネントとして、音声認識部20と、翻訳部22とを含む。サービス提供装置10は、さらに、携帯端末30との間で通信処理を行なうための通信処理部24を含む。
【0023】
より具体的には、分析部12および学習部14は、自己回帰モデル16を構築するための機械学習を担当する。すなわち、分析部12および学習部14は、音声合成システムに向けられた学習装置として機能し、自己回帰モデル16を構築する。分析部12および学習部14(学習装置)の機能および処理の詳細については、後述する。自己回帰モデル16は、分析部12および学習部14による機械学習の結果に相当する。
【0024】
音声認識部20は、通信処理部24を介して受信した携帯端末30からの入力音声に対して、音声認識処理を実行することで音声認識テキストを出力する。翻訳部22は、音声認識部20からの音声認識テキストから、指定された言語のテキスト(説明の便宜上、「翻訳テキスト」とも記す。)を生成する。音声認識部20および翻訳部22については、公知の任意の方法を採用できる。
【0025】
音声合成部18は、翻訳部22からの翻訳テキストに対して、自己回帰モデル16を参照して音声合成を行ない、その結果得られる出力音声を、通信処理部24を介して携帯端末30へ送信する。
【0026】
図1には、説明の便宜上、自己回帰モデル16を構築するための機械学習を担当するコンポーネント(主として、分析部12および学習部14)と、生成された自己回帰モデル16を用いて多言語翻訳を担当するコンポーネント(主として、音声認識部20、翻訳部22、および音声合成部18)が同一のサービス提供装置10に実装されている例を示すが、これらの機能をそれぞれ別の装置に実装してもよい。この場合、第1の装置において、機械学習を実施することで自己回帰モデル16を構築し、第2の装置において、当該生成された自己回帰モデル16を用いて音声合成および当該音声合成を利用したサービスを提供するようにしてもよい。
【0027】
上述したような多言語翻訳サービスにおいては、音声認識部20および翻訳部22の少なくとも一部の機能を携帯端末30で実行されるアプリケーションが担当するようにしてもよい。また、音声合成を担当するコンポーネント(自己回帰モデル16および音声合成部18)の機能を携帯端末30で実行されるアプリケーションが担当するようにしてもよい。
【0028】
このように、サービス提供装置10および携帯端末30が任意の形態で協働することで、多言語翻訳システム1およびその一部である音声合成システムを実現できる。このとき、それぞれの装置が分担する機能については、状況に応じて適宜決定すればよく、
図1に示される多言語翻訳システム1に限定されるようなものではない。
【0029】
[B.サービス提供装置のハードウェア構成]
次に、サービス提供装置のハードウェア構成の一例について説明する。
図2は、本実施の形態に従うサービス提供装置10のハードウェア構成例を示す模式図である。サービス提供装置10は、典型的には、汎用コンピュータを用いて実現される。
【0030】
図2を参照して、サービス提供装置10は、主要なハードウェアコンポーネントとして、プロセッサ100と、主メモリ102と、ディスプレイ104と、入力デバイス106と、ネットワークインターフェイス(I/F:interface)108と、光学ドライブ134と、二次記憶装置112とを含む。これらのコンポーネントは、内部バス110を介して互いに接続される。
【0031】
プロセッサ100は、後述するような各種プログラムを実行することで、本実施の形態に従うサービス提供装置10の実現に必要な処理を実行する演算主体であり、例えば、1または複数のCPU(central processing unit)やGPU(graphics processing unit)などで構成される。複数のコアを有するようなCPUまたはGPUを用いてもよい。
【0032】
主メモリ102は、プロセッサ100がプログラムを実行するにあたって、プログラムコードやワークメモリなどを一時的に格納する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
【0033】
ディスプレイ104は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
【0034】
入力デバイス106は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス106としては、機械学習に必要な音声を収集するためのマイクロフォンを含んでいてもよいし、機械学習に必要な音声を収集した集音デバイスと接続するためのインターフェイスを含んでいてもよい。
【0035】
ネットワークインターフェイス108は、インターネット上またはイントラネット上の携帯端末30や任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス108としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
【0036】
光学ドライブ134は、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク136に格納されている情報を読み出して、内部バス110を介して他のコンポーネントへ出力する。光学ディスク136は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ134が光学ディスク136からプログラムを読み出して、二次記憶装置112などにインストールすることで、汎用コンピュータがサービス提供装置10(または、音声合成装置)として機能するようになる。したがって、本発明の主題は、二次記憶装置112などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク136などの記録媒体でもあり得る。
【0037】
図2には、非一過的な記録媒体の一例として、光学ディスク136などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
【0038】
二次記憶装置112は、プロセッサ100にて実行されるプログラム、プログラムが処理対象とする入力データ(学習用の入力音声およびテキスト、ならびに、携帯端末30からの入力音声などを含む)、および、プログラムの実行により生成される出力データ(携帯端末30へ送信される出力音声などを含む)などを格納するコンポーネントであり、例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
【0039】
より具体的には、二次記憶装置112は、典型的には、図示しないOS(operating system)の他、分析部12を実現するための分析プログラム121と、学習部14を実現するための学習プログラム141と、音声認識部20を実現するための音声認識プログラム201と、翻訳部22を実現するための翻訳プログラム221と、音声合成部18を実現するための音声合成プログラム181とを格納している。
【0040】
これらのプログラムをプロセッサ100で実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールを用いて代替するようにしてもよい。この場合には、各プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、必要な機能を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【0041】
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【0042】
なお、実際には、音声認識部20および翻訳部22を実現するためのデータベースが必要となるが、説明の便宜上、それらのデータベースについては描いていない。
【0043】
二次記憶装置112は、自己回帰モデル16に加えて、自己回帰モデル16を構築するための、機械学習用の入力音声130および対応するテキスト132を格納していてもよい。
【0044】
図2には、単一のコンピュータがサービス提供装置10を構成する例を示すが、これに限らず、ネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、多言語翻訳システム1およびその一部である音声合成システムを実現するようにしてもよい。
【0045】
コンピュータ(プロセッサ100)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
【0046】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う多言語翻訳システムを実現できるであろう。
【0047】
[C.概要]
本実施の形態に従う音声合成システムは、入力テキストに応じた音声を合成して出力するシステムであって、入力音声に対する予測量子化と上述の非特許文献1に開示される自己回帰モデルとを組み合わせることで、合成音声に生じる聴覚上のノイズを低減させる。
【0048】
予測量子化は、入力信号を直接量子化するのではなく、予測係数に基づいて生成される予測値と入力信号との残差信号を量子化する手法である。予測量子化により、入力信号は予測係数と残差信号とに分離される。予測量子化を音声信号に適用した場合、予測係数は声道フィルタを示すパラメータに相当し、残差信号は励振源に相当する。本実施の形態に従う音声合成システムにおいては、自己回帰モデルを用いて残差信号を推定する。典型的には、上述の非特許文献1に開示されるWaveNetと称される方式を採用してもよい。
【0049】
このような、予測量子化を採用することで、推定誤差から生じるノイズのスペクトル形状をシェーピングしてノイズをパワーの大きい帯域へ集中させることで、聴覚マスキング効果により、ノイズを知覚しにくくできる。
【0050】
また、上述の非特許文献1に開示されるWaveNetとは異なり、残差信号を推定するため、音声信号を直接推定する場合と比較して、必要なダイナミックレンジを低減できる。そのため、同一の量子化ビット数であれば、高精度に量子化することができ、音声品質を向上できる。
【0051】
まず、予測量子化の概要について説明する。
図3は、本実施の形態に従う音声合成システムにて採用する予測量子化の概要を説明するためのブロック図である。
【0052】
図3を参照して、予測量子化は、基本構成として、エンコーダ200およびデコーダ210を含む。エンコーダ200は、入力信号を予測係数および残差信号に分離する。デコーダ210は、残差信号から入力信号を再構成する。
【0053】
より具体的には、エンコーダ200は、演算器202,206と、量子化器204と、予測器208とを含む。エンコーダ200においては、入力信号x
tと予測器208が過去のサンプルに基づいて生成したx
〜tとの残差信号e
tが演算器202により算出され、その算出された残差信号e
tが量子化器204により量子化されることで、量子化残差信号e
^tが算出される。なお、本来は、「^」は「e」の上に配置されるものであるが、使用可能な文字コードの都合上、「e」と「^」とを並べて記載する。また、「
〜」についても同様である。
【0054】
さらに、量子化残差信号e
^tとx
〜tとが演算器206により加算され、その加算結果が予測信号x
^tとして予測器208へ与えられる。
【0055】
そして、時刻tにおける予測信号x
^t(t=t)に予測器208を適用することで時刻t+1における予測信号x
^t(t=t+1)が算出される。このようにして、エンコーダ200の内部では予測信号x
^tがサイクル毎に算出されるとともに、入力信号x
tと算出される予測信号x
^tとの差が量子化された上で、量子化残差信号e
^tとして出力される。
【0056】
デコーダ210は、エンコーダ200の予測器208と同様の動きをする予測器212と、演算器214とを含む。演算器214は、サイクル毎に入力される量子化残差信号e
^tと、量子化残差信号e
^tに対して予測器208から出力される予測結果とを加算することで、入力信号x
tに対応する予測信号x
^tを再構成する。
【0057】
上述したような手順によって、エンコーダ200は入力信号x
tについての量子化残差信号e
^tをサイクル毎に出力するとともに、デコーダ210は、量子化残差信号e
^tに基づいて入力信号x
tを復元する。
【0058】
本実施の形態に従う音声合成システムにおいては、量子化残差信号e
^tを学習することで、コンテキストラベル系列に応じた、量子化残差についての自己回帰モデル16を構築する。
【0059】
[D.学習処理および音声合成処理]
次に、本実施の形態に従う音声合成システムにおける学習処理および音声合成処理の詳細について説明する。
図4は、本実施の形態に従う音声合成システムにおける要部の処理を説明するためのブロック図である。
【0060】
図4を参照して、音声合成システムは、自己回帰モデル16を構築するための分析部12および学習部14と、自己回帰モデル16を用いて音声信号を出力する音声合成部18とを含む。以下、これらの各部の処理および機能について詳述する。
【0061】
(d1:分析部12)
まず、分析部12における処理および機能について説明する。分析部12は、音声分析を担当する部分であり、学習用の入力音声が示す音声信号x
tを、声道フィルタ係数cと、励振源に相当する残差信号e
tとに分離する。本実施の形態において、声道フィルタ係数cは時不変とする。
【0062】
より具体的には、分析部12は、逆フィルタ120と、声道特徴分析部122とを含む。声道特徴分析部122は、入力される音声信号x
tを分析して、声道特徴を示す声道フィルタ係数cを出力する。声道特徴分析部122は、声道フィルタ係数cを、逆フィルタ120へ出力するとともに、声道フィルタ係数格納部146に格納する。ここで、フィルタ係数は、LSP(line spectral pair)、LPC(linear prediction coefficients)、メルケプストラム係数のいずれを採用してもよい。以降[G.実験的評価]では、メルケプストラム係数を用いた例を示す。
【0063】
逆フィルタ120は、声道フィルタ係数cに基づいて予測される音声信号と入力される音声信号との間の残差信号を出力する残差信号生成部に相当する。より具体的には、逆フィルタ120は、声道特徴分析部122からの声道フィルタ係数cに基づいて、音声信号を内部的に予測するとともに、入力される音声信号x
tとその予測した音声信号との残差信号e
tを出力する。逆フィルタ120から出力される残差信号e
tは、学習部14へ与えられる。
【0064】
(d2:学習部14)
次に、学習部14における処理および機能について説明する。学習部14は、分析部12から与えられる残差信号e
tを量子化することで得られる量子化残差信号を自己回帰モデル16に入力する。ここで、誤差として、量子化残差信号と推定量子化残差信号との数値上での距離、または、量子化ビットに応じたone-hotベクトルのcross-entropyを採用してもよい。学習部14は、量子化残差誤差と量子化推定誤差との間の差分(推定誤差)が最小化するように、自己回帰モデル16を構築する。
【0065】
学習部14は、各サンプルに対応するコンテキストラベル毎と、過去の入力された音声信号とに基づいて、自己回帰モデル16を構築する。本質的には、自己回帰モデル16は、過去の信号系列および現在のコンテキストラベルから現在値を推定するためのパラメータを格納する。より具体的には、学習部14は、学習制御部140と、量子化部142と、声道フィルタ係数格納部146とを含む。
【0066】
なお、本実施の形態においては、量子化した信号同士の誤差を最小化しているが、推定残差信号e
^tをと残差信号e
tをとの誤差を最小化するようにしてもよい。
【0067】
図4に示す構成においては、コンテキストラベル系列を生成するコンポーネントとして、テキスト分析部192およびコンテキストラベル生成部194を含む。テキスト分析部192およびコンテキストラベル生成部194は、既知のテキストの文脈情報に基づくコンテキストラベルを生成する。
【0068】
コンテキストラベルは、学習部14および音声合成部18の両方で用いるため、学習部14および音声合成部18が共通に利用する構成例を示している。しかしながら、学習部14および音声合成部18の各々に、コンテキストラベルを生成するためのコンポーネントをそれぞれ実装するようにしてもよい。
【0069】
テキスト分析部192は、入力される学習用または合成対象のテキストを分析して、その文脈情報をコンテキストラベル生成部194へ出力する。コンテキストラベル生成部194は、テキスト分析部192からの分脈情報に基づいて、入力される学習用または合成対象のテキストのコンテキストラベルを決定して学習制御部140および音声合成制御部180へ出力する。
【0070】
量子化部142は、逆フィルタ120(残差信号生成部)から出力される残差信号を量子化して量子化残差信号を生成する。ここで、量子化方式はμ−law方式であってもよいし、学習データから統計的に、または、線形に、量子化幅を決定してもよい。また、量子化ビット数は一般的に音声で用いられる16ビットでもよいし、任意に設定してもかまわない。
【0071】
学習制御部140は、コンテキストラベル生成部194から与えられるコンテキストラベルを条件として、自己回帰モデル16を学習させる。すなわち、学習制御部140は、既知の入力テキストに対応する入力音声信号について、既知の入力テキストのコンテキストラベルを自己回帰モデル16に対して条件として与えるとともに、入力音声信号についての量子化残差信号を学習制御部140に入力することで自己回帰モデル16の学習を実施する。自己回帰モデル16の詳細およびその構築方法については、後述する。
【0072】
声道フィルタ係数格納部146は、入力音声信号についての声道フィルタ係数cを格納する格納部に相当する。
【0073】
(d3:音声合成部18)
次に、音声合成部18における処理および機能について説明する。音声合成部18は、合成対象のテキストから生成されるサンプル毎のコンテキストラベルを生成し、生成したサンプル毎のコンテキストラベルに応じた自己回帰モデル16に過去の推定量子化残差信号を入力することで、現在の推定量子化残差信号を得る。
【0074】
より具体的には、音声合成部18は、音声合成制御部180と、逆量子化部182と、合成フィルタ184とを含む。
【0075】
何らかの合成対象のテキストが入力されると、テキスト分析部192が入力されたテキストを分析して文脈情報を出力し、コンテキストラベル生成部194が分脈情報に基づいてコンテキストラベルを生成する。すなわち、テキスト分析部192およびコンテキストラベル生成部194は、任意のテキストの入力に応答して、当該テキストの文脈情報に基づくコンテキストラベルを決定する。
【0076】
音声合成制御部180は、未知の入力テキストが入力されると、当該未知の入力テキストのコンテキストラベルを自己回帰モデル16に対して条件として与えるとともに、過去の推定量子化残差信号を自己回帰モデル16に入力し、現在の推定量子化残差信号を得る。現在の推定量子化残差信号を過去の系列の1点として追加入力し、次の1時刻先の推定量子化残差信号を推定する。この推定を再帰的に最終点まで繰返す。
【0077】
逆量子化部182は、音声合成制御部180が最終点まで推定した推定量子化残差信号を逆量子化して、推定残差信号e
^tを生成する。
【0078】
合成フィルタ184は、声道フィルタ係数格納部146から読み出した声道フィルタ係数cに基づいて、逆量子化部182からの推定残差信号をフィルタリングすることで、合成後の音声信号を出力する。すなわち、合成フィルタ184は、逆量子化部182から出力される推定残差信号を声道フィルタ係数cに基づいてフィルタリングした結果を音声信号として出力する。
【0079】
本実施の形態に従う音声合成システムにおいては、量子化された残差信号e
tを自己回帰モデル16および音声合成制御部180にて再帰的に推定し、その推定結果を逆量子化することで、推定残差信号e
^tが生成される。このとき、推定誤差(|e
t−e
^t|)は、量子化される各ビットに対して一様に分布する。合成フィルタ184にて推定残差信号e
^tが声道フィルタ係数cでフィルタリングされることにより、生成される音声信号の音声スペクトルは聴覚的に重み付けされる。その結果、推定残差信号e
^tに含まれる推定誤差は、音声スペクトルの形状に応じたパワーの大きい帯域に集中させることができる。これにより、聴覚マスキング効果が発揮され、合成音声に含まれるノイズを低減できる。
【0080】
[E.自己回帰モデル]
次に、本実施の形態に従う音声合成システムに用いられる自己回帰モデル16について説明する。自己回帰モデル16として、上述の非特許文献1に開示されるWaveNetと同様の構成を想定する。
【0081】
WaveNetは、PixelCNN(例えば、非特許文献2参照)に類似した生成モデルであり、過去の信号系列から現在のサンプル(現在値)を推定する自己回帰モデルとして表現される。一般化すれば、音声信号x={x
1,...x
T}の結合確率は、条件付き確率の積として以下の(1)式のように表現できる。
【0083】
本実施の形態に従う音声合成システムのように、テキスト音声合成を行なう場合は,コンテキストラベルhを条件として加え、条件付き確率p(x|h)として以下の(2)式のようにモデル化できる。
【0085】
図5は、本実施の形態に従う音声合成システムに用いられる自己回帰モデル16の概要を説明するためのブロック図である。
図5に示すように、本実施の形態に従う自己回帰モデル16は、統計的データモデリングが可能なネットワーク構造を有している。
【0086】
具体的には、WaveNetのネットワーク構成は、
図5に示すように、入力に対して、causal convolution(161)を経て、複数のlayer
k(162)が積層されている。最終的に、それぞれのlayer(162)からskip connectionの要素として出力されるs
1,...,s
Kが結合要素(163)にて結合される。
【0087】
結合された出力は、ReLu(activation関数164,166)および畳み込み(165,167)が適用された後、softmax関数(168)に入力される。softmax関数(168)から出力される信号が推定値として出力される。
【0088】
各layer(162)においては、dilated causal convolution(1621)を用いて、過去の信号系列を効率的にモデル化する。dilated causal convolution(1621)は、入力信号をあるサンプルずつスキップして畳み込むことにより、計算量の削減および大域的な変化を学習することを実現する。
【0089】
dilated causal convolution(1621)の出力は、gated activation unit(1622)に入力される。gated activation unit(1622)においては、dilated causal convolution(1621)の出力は、双曲線関数1623およびシグモイド関数1624に入力される。双曲線関数1623およびシグモイド関数1624のそれぞれからの出力は、アダマール要素1625にて要素毎の積が計算される。
【0090】
layer
k(162)への入力ベクトルx
kに対して、gated activation unit(1622)の出力ベクトルz
kは、以下の(3)式に従って算出できる。
【0092】
ここで、*は畳み込み演算を示し、〇はelement-wise(要素毎)の掛け算を示し、σ()はシグモイド関数を示し、kはlayerのインデックを示す。また、W
filter,kおよびW
gate,kは、layer
kの畳み込みフィルタを示し、b
filter,kおよびb
gate,kは、layer
kの畳み込みバイアス項を示す。
【0093】
出力ベクトルz
kに対してresidual connection(1628)を適用した後に、次のlayerへの入力として与える。residual connection(1628)においては、出力ベクトルz
kに対して入力ベクトルx
kが加算される。また、出力ベクトルz
kは、1×1の畳み込みが適用された後、skip connectionの要素s
kとして出力される。
【0094】
図5に示す自己回帰モデルにおいて、誤差関数として、二乗誤差ではなく、softmaxに基づくcross entropyが採用された場合、ガウス分布を仮定した平均ベクトルの誤差最小問題ではなく、音声信号の振幅値の多クラス分類問題へと置き換えられる。このような問題置き換えにより、入力に仮説を設けることなく、より柔軟でかつ曖昧な分布をモデル化できる。
【0095】
非特許文献1に開示されるWaveNetにおいては、量子化にμ−law方式が採用されており、量子化された信号は各量子化ビットにおいて一様な確率で分布する。多クラス分類問題であるため、WaveNetにより生じる推定誤差も一様に分布し、再構成された信号には推定誤差が一様に分布してしまう。その結果、信号パワーの小さい帯域(特に、高周波帯域)にてノイズが相対的に大きくなり、ノイズが知覚されやすくなるという課題がある。これに対して、本実施の形態に従う音声合成システムにおいては、予測量子化を組み合わせることで、このような課題を解決する。
【0096】
本実施の形態に従う音声合成システムにおいては、非特許文献1に開示されるWaveNetに限らず、自己回帰モデルに従って音声信号を直接的に再構成できるものであり、どのようなネットワーク構成にも適用可能である。
【0097】
[F.処理手順]
図6および
図7は、本実施の形態に従う音声合成システムにおける処理手順の一例を示すフローチャートである。より具体的には、
図6には、自己回帰モデル16を構築するための事前の学習処理に係る手順を示し、
図7には、自己回帰モデル16を用いた音声合成処理に係る手順を示す。
図6および
図7に示す各ステップは、1または複数のプロセッサ(例えば、
図2に示すプロセッサ100)が1または複数のプログラムを実行することで実現されてもよい。
【0098】
図6を参照して、プロセッサ100は、既知のテキストおよび当該テキストに対応する音声信号が入力されると(ステップS100)、入力されたテキストを分析して文脈情報を生成し(ステップS102)、当該生成された文脈情報に基づいてコンテキストラベルを決定する(ステップS104)。
【0099】
続いて、プロセッサ100は、入力された音声信号を分析して声道フィルタ係数を決定し(ステップS106)、決定した声道フィルタ係数に基づいて、入力された音声信号から残差信号を生成する(ステップS108)。さらに、プロセッサ100は、生成した残差信号を量子化して量子化残差信号を生成する(ステップS110)。
【0100】
そして、プロセッサ100は、自己回帰モデル16の内部パラメータをランダムに決定するとともに、決定したコンテキストラベルを条件として設定する(ステップS112)とともに、過去の量子化残差信号と現在のコンテキストラベルとを、現在の量子化残差信号に対応付けて自己回帰モデル16を学習する(ステップS114,S116)。
【0101】
プロセッサ100は、自己回帰モデル16に従って推定量子化残差信号を算出する(ステップS116)。そして、プロセッサ100は、学習の終了条件が満たされたか否かを判断する(ステップS118)。学習の終了条件としては、例えば、入力された音声信号の回数が規定値に到達したこと、自己回帰モデルからの推定値についての推定誤差が予め定められたしきい値以下になったことなどが想定される。
【0102】
学習の終了条件が満たされていない場合(ステップS118においてNOの場合)には、ステップS114以下の処理が繰返される。このステップS114〜S118の処理が繰返されることで、自己回帰モデルに入力された残差信号と推定残差信号との間の差分(推定誤差)が最小化するように、自己回帰モデル16が構築される。
【0103】
このように、既知の入力テキストのコンテキストラベルを自己回帰モデル16に対して条件として与えるとともに、量子化残差信号を自己回帰モデル16に対して入力することで、自己回帰モデル16の学習が実施される。
【0104】
一方、学習の終了条件が満たされている場合(ステップS118においてYESの場合)には、学習処理は終了する。
【0105】
次に、
図7を参照して、プロセッサ100は、合成対象のテキストが入力されると(ステップS200)、入力されたテキストを分析して文脈情報を生成し(ステップS202)、当該生成された文脈情報に基づいて、対応するフレームについてのコンテキストラベルを決定する(ステップS204)。そして、プロセッサ100は、ステップS204において決定したコンテキストラベルを自己回帰モデル16に条件として設定する(ステップS206)。
【0106】
続いて、プロセッサ100は、過去の推定量子化残差信号およびコンテキストラベルを自己回帰モデル16に入力し(ステップS208)、自己回帰モデル16に従って、入力に対する推定量子化残差信号を算出する(ステップS210)。そして、プロセッサ100は、自己回帰モデル16の最終点まで処理が完了したか否かを判断する(ステップS212)。最終点まで処理が完了していない場合(ステップS212においてNOの場合)、ステップS208以下の処理が繰返される。
【0107】
最終点まで処理が完了している場合(ステップS212においてYESの場合)には、プロセッサ100は、再帰的に推定された推定量子化残差信号を逆量子化した推定残差信号を生成し(ステップS214)、声道フィルタ係数を合成フィルタ(声道フィルタ)に設定し(ステップS216)、生成される推定残差信号を声道フィルタ係数が設定された合成フィルタでフィルタリングすることで、合成後の音声信号を出力する(ステップS218)。そして、入力されたテキストに対する音声合成処理は終了する。
【0108】
このように、未知の入力テキストのコンテキストラベルを自己回帰モデル16に対して条件として与えるとともに、過去の推定量子化残差信号を自己回帰モデル16を用いて、現在の量子化残差信号を再帰的に推定し、その推定された現在の量子化残差信号から音声信号を再構成する。
【0109】
[G.実験的評価]
次に、本実施の形態に従う音声合成システムにおいて、ノイズ低減の有効性について実施した実験的評価について説明する。そのため、条件としてのコンテキストラベルを与えず、正解の音声波形のみを入力とする。
【0110】
(g1:実験条件)
本実施の形態に係る実施例の比較対象となる比較例は、上述の非特許文献1に開示されるWaveNetを用いる方式とした。
【0111】
音声データとして、日本語女性話者1名により発声されたATR音素バランス文および旅行会話文からなる7395文を用いた。このうち、7365文を学習データとして用いるとともに、残り30文をテストデータとして用いた。
【0112】
音声データは、サンプリング周波数が48kHzであったものを16kHzにダウンサンプリングした上で、ハイパスフィルタを適用して50Hz以下の成分を除去したものを用いた。量子化方式は、8bitのμ−law方式とし、自己回帰モデル(WaveNet)への入力はone-hotベクトルとした。
【0113】
実施例における声道フィルタ係数c(合成フィルタ)としては、119次メルケプストラム係数(0次を含めて120次)を用いた。本評価においては、学習データから算出した時不変のメルケプストラム係数を用いてフィルタリングして残差信号を生成した。残差信号は、−1から1の範囲で正規化を行なった。
【0114】
また、声道フィルタによる聴覚重み付けについて、聴覚重み付け係数を採用した。具体的には,メルケプストラム係数のうち0次を除く各係数を定数倍することにより、聴覚重み付けフィルタのダイナミックレンジを変化させて、聴覚重み付けの強度を調整した。
【0115】
このように、声道フィルタ係数は、聴覚重み付け係数により調整可能になっていてもよい。
【0116】
自己回帰モデル(WaveNet)のネットワーク構成として、causal convolutionのフィルタ長を32とし、skip connectionの要素数を50とし、layerを1,2,4,8から512サンプルまでのdilationをもった10個のdilated causal convolution layerを5個積層されたものを採用した。すなわち、本評価に用いたネットワーク構成においては、receptive fieldは320ms(5120サンプル)となる。Residual connectionのフィルタ長を2とし、出力チャネル数を32とし、skip connectionのフィルタ長を2とし、出力チャネル数を512とした。
【0117】
モデル学習のoptimizerはAdamとし、学習係数は1.0e
−3とし、バッチサイズは100,000サンプルとし、試行回数は10万回とした。
【0118】
プログラムの実行には、3台のGPUを用いて、バッチサイズを等分割して、並列学習を行なった。
【0119】
「比較例」は、上述の非特許文献1に開示されるWaveNetを用いる方式を用いるものであり、μ−law方式により量子化された過去の音声信号系列から現在のサンプルを推定する。
【0120】
「実施例」は、上述したような本実施の形態に従う音声合成システムに対応するものであり、予測量子化に自己回帰モデルを提供したものである。過去の残差信号系列からWaveNetを用いて現在のサンプルを推定する。推定された残差信号から声道フィルタでフィルタリングすることで、推定された音声信号を得る。
【0121】
なお、「比較例」および「実施例」のいずれについても、音声生成時には、源信号を入力として用いた。
【0122】
(g2:実験結果:ノイズシェーピング)
まず、聴覚重み付けによるノイズシェーピング効果についての実験結果の評価について説明する。具体的には、以下に説明するような方法で生成された音声信号と源信号との誤差の周波数特性を分析した。
【0123】
図8は、本実施の形態に従う音声合成システムについてのノイズシェーピング効果を評価した結果の一例を示す図である。
図8には、テストデータから10文をサンプリングして、平均した結果を示す。
図8中の凡例は、それぞれ以下のような意味を示す。なお、αは、実施例において採用する聴覚重み付け係数を示す。
【0124】
「源信号」:源信号をμ−law方式により量子化した後、さらに逆量子化して再構成した信号と源信号との誤差を意味する。すなわち、μ−law方式による量子化により生じる誤差の周波数特性を示す。
【0125】
「残差(α=0.5)」,「残差(α=1.0)」:実施例で用いる残差信号をμ−law方式により量子化した後、さらに逆量子化して再構成した信号を声道フィルタでフィルタリングすることで得られた信号と源信号との誤差を意味する。すなわち、自己回帰モデルを用いた推定に誤りがないと仮定した場合に生じる誤差の周波数特性を示す。
【0126】
「比較例」:源信号をμ−law方式により量子化した信号をWaveNetにより推定した後、逆量子化して再構成した信号と源信号との誤差を意味する。すなわち、比較例において生じる誤差の周波数特性を示す。
【0127】
「実施例(α=0.5)」,「実施例(α=1.0)」:実施例で用いる残差信号をμ−law方式により量子化した信号を自己回帰モデルにより推定した後、逆量子化して再構成した信号と源信号との誤差を意味する。すなわち、実施例において生じる誤差の周波数特性を示す。
【0128】
図8に示す実験結果によれば、「源信号」および「比較例」は、想定のとおり、帯域全体にわたって一様に残差が分布していることがわかる。これに対して、「残差」および「実施例」は、200Hz〜300Hz付近にピークが存在しており、また高周波帯域では、「源信号」および「比較例」よりもパワーが小さくなっている。さらに、「残差」および「実施例」のパワースペクトラムの形状からも、聴覚特性に応じてシェーピングされていることが確認できる。
【0129】
また、聴覚重み付け係数αの大きさに追従してパワースペクトラムの形状も変化しており、聴覚重み付け係数αを調整することで、シェーピング度合いを制御できることも確認できる。
【0130】
図8において、「源信号」および「残差」は量子化誤差を含むものであり、「比較例」および「実施例」は推定誤差および量子化誤差を含むものとなる。これらを比較することで、推定誤差は、量子化誤差を大きく上回っていることが確認できる。
【0131】
(g3:客観評価)
次に、実施例と比較例との客観評価指標として、源信号と推定された音声信号との間のSNR(S/N比)を用いた。その結果を以下の表に示す。
【0132】
実施例は、聴覚重み付け係数αが0.1のときにわずかながら比較例より良好な結果を示したが、他の場合は劣ってしまっている。この結果から、音声スペクトルのシェーピングは、源信号に対するSNRという面では改善方向にあまり寄与しないと考えられる。
【0134】
(g4:主観評価)
次に、実施例と比較例との間における合成音声の自然性を対比較実験により比較した。評価音声は、テストデータから抽出した30文とした。実施例および比較例のそれぞれによって生成された合成音声を被験者(内訳:男性3名、女性2名)に聞いてもらい、より自然性である(音声品質が高い)と感じたものを選択してもらった。但し、提示音声対に差が感じられない際には、「どちらでもない」という選択肢を認めた。
【0135】
図9は、本実施の形態に従う音声合成システムについての対比較実験の評価結果例を示す図である。
図9において、聴覚重み付け係数α=0.1,0.5,1.0におけるp値は、それぞれ、2.0e
−3,7.2e
−10,0.8e
−3となった。聴覚重み付け係数α=1.0では、比較例が実施例に対して有意差(p<0.01)を示したが、聴覚重み付け係数α=0.1,0.5では、実施例が比較例に対して有意差を示した。
【0136】
[H.まとめ]
本実施の形態に従う音声合成システムにおいては、過去の信号系列から現在値を推定する自己回帰モデルに予測量子化の手法を組み合わせることで、再構成された音声信号の帯域全体にわたって存在していたノイズを聴覚マスキングを考慮した形状に変化させることができる。これによって、入力テキストに基づくコンテキストラベルから音声信号を直接的に推定する際の音声品質を高めることができる。
【0137】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。