(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-09
(45)【発行日】2022-05-17
(54)【発明の名称】音声変換装置、音声変換方法、プログラム、および記録媒体
(51)【国際特許分類】
G10L 21/013 20130101AFI20220510BHJP
G10L 25/30 20130101ALI20220510BHJP
【FI】
G10L21/013
G10L25/30
(21)【出願番号】P 2021108707
(22)【出願日】2021-06-30
【審査請求日】2021-06-30
【新規性喪失の例外の表示】特許法第30条第2項適用 2020年9月14日掲載のウェブサイトのアドレス(https://dmv.nico/ja/articles/seiren_voice/,http://seiren-voice.dmv.nico/)に、廣芝和之が、廣芝和之、小田桐優理、および北岡伸也が発明した「声変換システム」について公開した。
【早期審査対象出願】
(73)【特許権者】
【識別番号】598138327
【氏名又は名称】株式会社ドワンゴ
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】廣芝 和之
(72)【発明者】
【氏名】小田桐 優理
(72)【発明者】
【氏名】北岡 伸也
【審査官】山下 剛史
(56)【参考文献】
【文献】特表2021-508859(JP,A)
【文献】特開2007-193139(JP,A)
【文献】特開2008-203543(JP,A)
【文献】特開2018-5048(JP,A)
【文献】特開2002-258885(JP,A)
【文献】米国特許第10249314(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/00-25/93
(57)【特許請求の範囲】
【請求項1】
変換先の声の指定を入力する入力部と、
変換元の声の音声データを解析して音素と音高を含む時系列データを抽出する抽出部と、
前記音高の高さを指定された前記変換先の声の高さに合わせる調整部と、
多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と
前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する生成部を備える
音声変換装置。
【請求項2】
請求項1に記載の音声変換装置であって、
変換先の声となる多人数の音声データから音素および音高を抽出し、音素と音高から前記多人数の音声のそれぞれを合成できる深層学習モデルを学習する学習部を備える
音声変換装置。
【請求項3】
請求項1または2に記載の音声変換装置であって、
前記抽出部は、前記変換元の声の音声データとともに前記変換元の声の発話内容と同じ文章を入力し、当該文章を解析して音素を抽出する
音声変換装置。
【請求項4】
請求項1または2に記載の音声変換装置であって、
前記抽出部は、前記変換元の声の音声データの代わりに文章を解析して音素を抽出し、音素に対応する音高を記憶装置から読み出して前記調整部へ送信する
音声変換装置。
【請求項5】
請求項1ないし3のいずれかに記載の音声変換装置であって、
前記抽出部は、前記音素それぞれの発声区間を抽出し、圧縮または伸長した発声区間を前記生成部に入力し、
前記調整部は、前記発声区間の圧縮または伸長に合わせて前記音高を時間方向に圧縮または伸長する
音声変換装置。
【請求項6】
コンピュータが、
変換先の声の指定を入力し、
変換元の声の音声データを解析して音素と音高を含む時系列データを抽出し、
前記音高の高さを指定された前記変換先の声の高さに合わせ、
多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と
前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する
音声変換方法。
【請求項7】
変換先の声の指定を入力する処理と、
変換元の声の音声データを解析して音素と音高を含む時系列データを抽出する処理と、
前記音高の高さを指定された前記変換先の声の高さに合わせる処理と、
多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と
前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する処理を
コンピュータに実行させるプログラム。
【請求項8】
変換先の声の指定を入力する処理と、
変換元の声の音声データを解析して音素と音高を含む時系列データを抽出する処理と、
前記音高の高さを指定された前記変換先の声の高さに合わせる処理と、
多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と
前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する処理を
コンピュータに実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声変換装置、音声変換方法、プログラム、および記録媒体に関する。
【背景技術】
【0002】
仮想空間内でコンピュータグラフィックスキャラクタ(以下、アバターと称する)を操作した映像を配信するサービスの広まりに伴い、アバターの見た目に合わせた声変換が望まれている。例えば、アバターを操作する配信者の性別および年齢がアバターの見た目に合っていない場合であっても、配信者の声をアバターの見た目に合った声に変換できるとよい。
【0003】
声変換を含む音声合成の品質は、ここ数年の深層学習技術の進歩により大きく向上した。中でも、音声サンプルを少しずつ生成していく自己回帰という手法を取りいれた深層学習モデルWaveNetにより、実際の音声とほぼ変わらない品質の音声を合成できるようになった。WaveNetは合成する品質が高い一方、合成する速度が遅いという弱点があり、この点を改善したWaveRNNなどのモデルも登場した。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
深層学習を用いた声変換の手法の1つに、変換元の声と変換先の声で同じ文章を読んだ音声のペアデータを用意し、それらのペアデータを学習データにして声変換を行う手法がある。しかしこの手法は、変換元の声の人に複数の文章を読んでもらって音声を録音し、さらにその音声データで深層学習を行う必要があるため、とても時間がかかるという問題があった。声変換の深層学習に変換元の音声データが必要になってしまうのは、声変換を直接的(End-to-End)に深層学習で解決しようとしているためである。
【0006】
また、同じ見た目のアバターには同じ声で話して欲しいという要望がある。つまり、誰の声からでも同じ声に声変換できることが望まれている。さらに、誰の声からでも様々な人の声に変換できると、アバターの声として配信者の望む声を選択できたり、一人もしくは少人数の配信者で多数のアバターを操作できたりする。
【0007】
本発明は、上記に鑑みてなされたものであり、誰の声からでも、様々な人の声に声変換することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様の音声変換装置は、変換先の声の指定を入力する入力部と、変換元の声の音声信号を解析して音素と音高を含む時系列データを抽出する抽出部と、前記音高の高さを指定された前記変換先の声の高さに合わせる調整部と、多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する生成部を備える。
【0009】
本発明の一態様の音声変換方法は、コンピュータが、変換先の声の指定を入力し、変換元の声の音声信号を解析して音素と音高を含む時系列データを抽出し、前記音高の高さを指定された前記変換先の声の高さに合わせ、多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに前記音素と前記変換先の声の高さに合わせた前記音高を時系列順に入力して指定された前記変換先の声を合成した音声データを生成する。
【発明の効果】
【0010】
本発明によれば、誰の声からでも、様々な人の声に声変換できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本実施形態の音声変換装置の構成の一例を示す図である。
【
図2】
図2は、音高の高さ調整を説明するための図である。
【
図3】
図3は、音声変換装置の深層学習モデルを説明するための図である。
【
図4】
図4は、変換元の声を限定せずに声変換できる様子を表した図である。
【
図5】
図5は、音声変換装置の処理の流れの一例を示すフローチャートである。
【
図6】
図6は、本実施形態の音声変換装置の変形例の構成の一例を示す図である。
【
図7】
図7は、音声変換装置を用いたWebアプリケーションの画面の一例を示す図である。
【
図8】
図8は、音声変換装置に速度変換装置を接続した構成の一例を示す図である。
【発明を実施するための形態】
【0012】
[構成]
以下、本発明の実施の形態について図面を用いて説明する。
【0013】
図1を参照し、本実施形態の音声変換装置1の構成の一例について説明する。
図1に示す音声変換装置1は、入力部11、抽出部12、調整部13、および生成部14を備える。音声変換装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは音声変換装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリなどの記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0014】
入力部11は、変換先の声の指定を入力する。例えば、入力部11は、変換先の声の識別子または名前を入力してもよいし、変換先の声の属性(性別、大人の声、子供の声、高い声、あるいは低い声など)を入力してもよい。変換先の声の属性が入力された場合、入力部11は、その属性に該当する変換先の声を変換先の声の候補の中から選択する。
【0015】
抽出部12は、変換元の声の音声信号(以下、音声データと称する)を入力し、変換元の声を音声認識して、変換元の声から音素(子音+母音)と各音素に対する音高(ピッチ)を含む時系列データを抽出する。音高は、抑揚、アクセント、および音声の長さなどの音声情報も含む。抽出部12は、音声データを記録したファイルを読み込んでもよいし、音声変換装置1の備えるマイクロフォン(図示せず)を用いて音声データを入力してもよいし、音声変換装置1の備える外部端子に接続された機器から音声データを入力してもよい。抽出部12は、既存の音声認識技術により、音声データから音素と音高を抽出する。例えば、音素の抽出にはOpenJTalkを利用でき、音高の抽出にはWORLDを利用できる。なお、音素の数は音声データの内容(テキストの内容)で決まり、音高の数は音声データの長さで決まるので、音素と音高は1対1で対応しなくてもよい。
【0016】
抽出部12は、音声データとともに、音声データと同じ内容の文章を入力し、入力した文章から音素を抽出してもよいし、入力した文章で音声データの音声認識結果を補正してもよい。音声と文章の両方を入力することにより、音素読み取りの正確さと、音高情報の獲得の両方が実現できる。例えば、滑舌が悪かった場合などの理由で、誤った音素が認識されてしまった場合に、入力した文章で調整できる。
【0017】
抽出部12は、時系列順に、音素を生成部14へ送るとともに、音高を調整部13へ送る。音高は、調整部13で高さ調整が行われた後、生成部14へ送られる。
【0018】
調整部13は、
図2に示すように、抽出部12の抽出した音素ごとの音高に線形変換を施して、変換元の声の高さを変換先の声の高さに合わせる。例えば、調整部13は、低い声を高い声に変換したり、高い声を低い声に変換したりする。なお、変換先の声の高さは既知であり、音声変換装置1の備える記憶装置に保持されている。調整部13は、変換先の声ごとに声の高さの平均を計算しておいて、変換元の声の高さの平均を変換先の声の高さの平均に調整してもよい。
【0019】
生成部14は、多人数の音声データを学習済みの深層学習モデルに音素と変換後の音高を入力し、入力部11で指定された変換先の声で発話される音声信号を合成する。生成部14の保持する深層学習モデルは、音素と音高を入力すると、入力部11で指定された声で発話される音声信号を出力する。深層学習モデルには、例えば、WaveRNNを用いることができる。変換元の音声データの音素を抽出する際に各音素の発声区間を抽出して各音素に付随させ、各音素と音高を生成部14に入力することで、生成部14は、変換元の音声データの発話の間を保った音声を出力できる。無音区間については、無音区間を生成部14に入力し、同じ長さの無音区間を出力させてもよい。
【0020】
音声変換装置1は学習部15を備えてもよい。学習部15は、変換先の声となる多人数の音声データから音素および音高を抽出し、音素と音高から抽出元の多人数の音声のそれぞれを合成できる深層学習モデルを学習する。例えば、本実施形態では、100人のプロフェッショナル話者による高音質な音声データであるJVSコーパスから音素と音高を抽出し、音素と音高を入力すると、100人のプロフェッショナル話者のうちの指定の人の音声を合成して出力する深層学習モデルを学習した。多人数の話者の音声を一緒に深層学習することで、各話者の音声データが少なくてもよい品質で各話者の音声を合成できる。
【0021】
以上説明したように、本実施形態では、変換元の声を話者に依存しない要素に分解し、分解した要素から変換先の声を合成することで、変換元の音の波形を変換しない声変換を可能にした。具体的には、
図3に示すように、声変換に際して、音声データから、言語情報として音素を抽出し、非言語情報として音高と発音タイミングを抽出し、抽出した音素と音高を深層学習モデルに入力して変換先の声を音声合成した。
【0022】
本実施形態では、変換元の声を話者に依存しない要素に分解してから音声合成するので、変換元の声と変換先の声のペアデータを学習する必要が無く、
図4に示すように、誰の声からでも、学習に用いた様々な人の声に声変換することができる。
【0023】
[動作]
次に、
図5のフローチャートを参照し、音声変換装置1による音声変換の動作について説明する。
【0024】
ステップS11にて、音声変換装置1は、変換先の声の指定を入力する。
【0025】
ステップS12にて、音声変換装置1は、変換先の声の音声データを入力し、音声データから音素と音高を抽出する。
【0026】
ステップS13にて、音声変換装置1は、ステップS12で抽出した音高を変換先の声に合わせて変換する。
【0027】
ステップS14にて、音声変換装置1は、音素と変換後の音高を深層学習モデルに入力し、変換先の声を合成して出力する。複数の人の声で出力する場合は、ステップS13とステップS14の処理を繰り返し、複数の変換先の声を合成する。
【0028】
[変形例]
次に、
図6を参照し、本実施形態の音声変換装置1の変形例の構成の一例について説明する。
図6に示す音声変換装置1は、入力部11、調整部13、生成部14、音素取得部16、および音高生成部17を備える。
図6の音声変換装置1は、
図1の音声変換装置1とは、抽出部12の代わりに音素取得部16と音高生成部17を備える点で相違し、音声データではなくテキストを入力して、指定の変換先の声の音声信号を出力する。
【0029】
入力部11は、変換先の声の指定を入力する。
【0030】
音素取得部16は、テキストを入力し、入力したテキストから音素を取得する。例えば、音素取得部16は、入力したテキストを形態素解析して、音声を文字コードで表現した音声記号列を生成し、音声記号列から音素を取得する。音素取得部16は、単語などのアクセント情報を保持しておき、テキストから音素を取得した際、アクセントに基づく音高の生成を音高生成部17に指示する。
【0031】
音高生成部17は、音素に対応する音高を生成する。例えば、音高生成部17は、標準の音高を記憶装置に記憶しておき、指定されたアクセントに対応する音高を読み出して出力する。
【0032】
調整部13は、音高生成部17の生成した音高を変換先の声の音高に合わせる。
【0033】
生成部14は、深層学習モデルに音素と線形変換後の音高を入力し、入力部11で指定された変換先の声で発話される音声信号を合成する。
【0034】
[実施例]
次に、本実施形態の音声変換装置1を利用した実施例について説明する。
【0035】
図7は、音声を入力すると複数人の声に変換するWebアプリケーションの画面100の一例を示す図である。例えば、ユーザが、携帯端末またはパーソナルコンピュータ(PC)のブラウザで声変換サービスを提供するWebサイトにアクセスすると、
図7の画面100が表示される。
【0036】
画面100内には、録音ボタン110、テキスト入力欄120、変換先音声ラベル130A~130D、声変換ボタン140、および変換先音声再生ボタン150A~150Dが配置されている。
【0037】
ユーザは、録音ボタン110を押下して、携帯端末またはPCに接続されたマイクロフォンから音声を入力する。これにより、ユーザの声の音声データが録音される。
【0038】
ユーザは、テキスト入力欄120に、録音した音声と同じ内容の文章を入力する。例えば、ユーザが「おはようございます」と録音した場合、ユーザは、テキスト入力欄120に、「おはようございます」と入力する。携帯端末またはPCの音声認識機能を利用して、ユーザが録音した音声と同じ内容の文章がテキスト入力欄120に自動的に入力されてもよい。
【0039】
変換先音声ラベル130A~130Dには、変換先の声を示すラベルが表示される。
図7の例では、「声1」、「声12」、「声31」、および「声99」のラベルが表示されている。これは、1番、12番、31番、99番の人の声に変換されることを示している。変換先の声の事前に決められてもよいし、ランダムで選択されてもよい。あるいは、ユーザが変換先の声を選択してもよい。
【0040】
ユーザが声変換ボタン140を押下すると、声変換処理が開始される。具体的には、録音された音声データ、テキスト入力欄120に入力された文章、および変換先音声ラベル130A~130Dに示された声の識別子が音声変換装置1に入力される。音声変換装置1は、音声データから音素と音高を抽出するとともに、文章からも音素を抽出する。音声変換装置1は、音声データから抽出した音素を文章から抽出した音素で補正してもよいし、文章から抽出した音素を後段の処理で用いてもよい。音声変換装置1は、変換先音声ラベル130A~130Dに示された変換先の声のそれぞれについて、音高の高さ調整と音声合成を行い、ユーザの声を変換先の声のそれぞれに声変換した音声データを出力する。
【0041】
声変換処理後、ユーザが変換先音声再生ボタン150A~150Dを押下すると、変換先音声再生ボタン150A~150Dに対応する声の音声データが再生される。
【0042】
続いて、本実施形態の音声変換装置を音声の速度変換に用いた例について説明する。音声変換装置1を音声の速度変換に用いる場合、入力部11が再生速度の指定を受け付けて、抽出部12が抽出した音素と音高を含む時系列データを時間方向に圧縮または伸長してから生成部14に入力する。例えば、倍速で再生する場合、抽出部12の抽出した音素の発声区間を圧縮するとともに、調整部13は、音高を時間方向に圧縮した後に、音高を変換先の声の高さに調整し、音素と音高を生成部14に入力する。これにより、入力音声が、違和感のない声質(変換先の声)で倍速再生される。変換先の声は、任意の声を選択してよい。変換先の声として変換元の声に近いものを選択すれば、より違和感なく音声の再生速度を変更できる。入力音声をスロー再生する場合は、音素の発声区間を伸長するとともに、音高を時間方向に伸長すればよい。
【0043】
図8では、音声変換装置1に速度変換装置3を接続した例を示している。速度変換装置3は、音声(動画でもよい)を入力し、入力音声の再生速度を変えて早送り再生またはスロー再生する。再生速度を変えた音声は、ピッチが変化して、高くなったり、低くなったりする。
【0044】
再生速度を変えた(ピッチの変化した)音声を音声変換装置1に入力すると、音声変換装置1は、再生速度を変えた音声データから音素と音高を抽出し、抽出した音高を変換先の声の高さに線形変換し、音素と音高を深層学習モデルに入力して変換先の声による音声を合成する。これにより、再生速度の変更によりピッチの変化した音声が、再生速度変更後の発話タイミングで、変換先の声で再生される。なお、音声変換装置1に入力する音声の内容と同じテキストデータを入力することで、早送り再生された音声の認識率の低下をカバーすることができる。
【0045】
図8では、音声変換装置1と速度変換装置3とを別々の装置で構成したが、音声変換装置1が速度変換装置3の機能を備えてもよい。また、速度変換装置3を備えない場合でも、倍速再生またはスロー再生された音声を音声変換装置1に入力すれば、スピードは倍速またはスローのままで、通常時の声の高さの自然な音声に変換できる。
【0046】
以上説明したように、本実施形態の音声変換装置1は、変換先の声の指定を入力する入力部11と、変換元の声の音声信号を解析して音素と音高を含む時系列データを抽出する抽出部12と、音高の高さを指定された変換先の声の高さに合わせる調整部13と、多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに、音素と音高を時系列順に入力して指定された変換先の声を合成した音声信号を生成する生成部14を備える。本実施形態では、変換元の声を話者に依存しない音素と音高に分解し、音素と音高から変換先の声を合成することで、変換元の音の波形を変換しない声変換を可能にした。これにより、音素と音高から音声合成する深層学習モデルを学習するだけで、変換元の音声データを一切用いずに、誰の声からでも変換先の声に変換できる。
【符号の説明】
【0047】
1 音声変換装置
11 入力部
12 抽出部
13 調整部
14 生成部
15 学習部
16 音素取得部
17 音高生成部
3 速度変換装置
【要約】
【課題】誰の声からでも、様々な人の声に声変換する
【解決手段】音声変換装置1は、変換先の声の指定を入力する入力部11と、変換元の声の音声信号を解析して音素と音高を含む時系列データを抽出する抽出部12と、音高の高さを指定された変換先の声の高さに合わせる調整部13と、多人数の音声データを学習して指定の人の音声を合成できる深層学習モデルに、音素と音高を時系列順に入力して指定された変換先の声を合成した音声信号を生成する生成部14を備える。
【選択図】
図1