(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023171025
(43)【公開日】2023-12-01
(54)【発明の名称】学習装置、学習方法、および、学習プログラム
(51)【国際特許分類】
G10L 13/08 20130101AFI20231124BHJP
G10L 13/033 20130101ALI20231124BHJP
G10L 21/01 20130101ALI20231124BHJP
G10L 21/007 20130101ALI20231124BHJP
【FI】
G10L13/08 124
G10L13/033 102Z
G10L21/01
G10L21/007
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022083206
(22)【出願日】2022-05-20
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】井島 勇祐
(72)【発明者】
【氏名】齋藤 大輔
(57)【要約】
【課題】任意の話者の任意の発話スキルの合成音声を、話者性を変えずに生成する。
【解決手段】音声合成モデルの学習を行う学習装置は、複数の話者の音声データから話者の発話スキルを取得する。そして、学習装置は、複数の話者の音声データおよび発話情報から、話者ごとに発話スキルを低くした音声データおよび発話情報(疑似音声データおよび疑似発話情報)を生成する。そして、学習装置は、生成した疑似音声データおよび疑似発話情報を含む学習データを用いて、入力されたテキストに対し、指定された話者および発話スキルの合成音声の音声特徴量を出力する音声合成モデルの学習を行う。
【選択図】
図6
【特許請求の範囲】
【請求項1】
複数の話者の音声情報および前記話者それぞれの発話スキルを取得する取得部と、
1人の話者の前記音声情報ごとに発話スキルを低く変換した音声情報を生成する生成部と、
前記複数の話者の音声情報および前記話者それぞれの発話スキルと、発話スキルを低く変換した前記話者の音声情報を学習データとして用いて、入力テキストに対し、指定された話者および発話スキルの合成音声の音声特徴量を出力する音声合成モデルの学習を行う学習部と
を備えることを特徴とする学習装置。
【請求項2】
前記話者の音声情報は、
前記話者の発話の音高パラメータおよび音素セグメンテーション情報の少なくともいずれかを含む
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記話者の音声情報が発話のフレームごとの音高パラメータを含む場合、
前記生成部は、
前記発話内の音高パラメータの分布を変更することにより、発話スキルを低く変換した前記音声情報を生成する
ことを特徴とする請求項2に記載の学習装置。
【請求項4】
前記話者の音声情報が前記話者の発話の音素セグメンテーション情報を含む場合、
前記生成部は、
前記話者の発話の音素セグメンテーション情報に示される、前記発話を構成する各音素の継続長を伸縮させることにより、発話スキルを低く変換した前記音声情報を生成する
ことを特徴とする請求項2に記載の学習装置。
【請求項5】
学習された前記音声合成モデルを用いて、入力されたテキストに対し、ユーザにより指定された話者および発話スキルの合成音声を生成するための音声特徴量を生成する音声特徴量生成部
をさらに備えることを特徴とする請求項1に記載の学習装置。
【請求項6】
生成された前記音声特徴量を用いて合成音声を生成する合成音声生成部
をさらに備えることを特徴とする請求項5に記載の学習装置。
【請求項7】
学習装置により実行される学習方法であって、
複数の話者の音声情報および前記話者それぞれの発話スキルを取得する工程と、
1人の話者の前記音声情報ごとに発話スキルを低く変換した音声情報を生成する工程と、
前記複数の話者の音声情報および前記話者それぞれの発話スキルと、発話スキルを低く変換した前記話者の音声情報とを学習データとして用いて、入力テキストに対し、指定された話者および発話スキルの合成音声の音声特徴量を出力する音声合成モデルの学習を行う工程と
を含むことを特徴とする学習方法。
【請求項8】
複数の話者の音声情報および前記話者それぞれの発話スキルを取得する工程と、
1人の話者の前記音声情報ごとに発話スキルを低く変換した音声情報を生成する工程と、
前記複数の話者の音声情報および前記話者それぞれの発話スキルと、発話スキルを低く変換した前記話者の音声情報とを学習データとして用いて、入力テキストに対し、指定された話者および発話スキルの合成音声の音声特徴量を出力する音声合成モデルの学習を行う工程と
コンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声合成モデルを学習するための、学習装置、学習方法、および、学習プログラムに関する。
【背景技術】
【0002】
従来、音声合成の分野で、Deep Neural Network(DNN)を用いて音声合成を行う技術が提案されている(非特許文献1参照)。この音声合成技術において、1つのDNNで複数の話者の音声特徴量(例えば、スペクトル、音高等)をモデル化する技術も提案されている(特許文献1参照)。この技術によれば、話者1名当たりの音声データ量が少なくても高品質な合成音声を生成することができる。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Heiga Zen, et al.,"STATISTICAL PARAMETRIC SPEECH SYNTHESIS USING DEEP NEURAL NETWORKS", Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013.
【非特許文献2】Ozuru Takuya, et al. "Are you professional?: Analysis of prosodic features between a newscaster and amateur speakers through partial substitution by DNN-TTS",Proc. 10th International Conference on Speech Prosody 2020. 2020.
【非特許文献3】益子他,“動的特徴を用いたHMMに基づく音声合成”,信学論,vol.J79-D-II,no.12,pp.2184-2190,Dec. 1996.
【非特許文献4】今井他,“音声合成のためのメル対数スペクトル近似(MLSA)フィルタ”,電子情報通信学会論文誌 A Vol.J66-A No.2 pp.122-129, Feb. 1983.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記の技術により生成される合成音声の発話スキル(音声の聞き取りやすさ)は、収録された音声の品質に依存する。このため、収録された音声の発話スキルが低いと、生成される合成音声の発話スキルも低くなってしまう。
【0006】
ここで、ユーザが所望する話者の任意の発話スキルの合成音声を生成するため、DNNへ、合成音声の話者を示す識別子と発話スキルとを入力する手法も考えられる。
【0007】
しかし、この手法は、DNNの学習時に1名の話者に対して1つの発話スキルしか付与しないため、ユーザがDNNに入力する発話スキルを変更すると、合成音声の話者性も変わってしまうという問題がある。
【0008】
そこで、本発明は、任意の話者の任意の発話スキルの合成音声を、話者性を変えずに生成することを課題とする。
【課題を解決するための手段】
【0009】
前記した課題を解決するため、本発明は、複数の話者の音声情報および前記話者それぞれの発話スキルを取得する取得部と、1人の話者の前記音声情報ごとに発話スキルを低く変換した音声情報を生成する生成部と、前記複数の話者の音声情報および前記話者それぞれの発話スキルと、発話スキルを低く変換した前記話者の音声情報を学習データとして用いて、入力テキストに対し、指定された話者および発話スキルの合成音声の音声特徴量を出力する音声合成モデルの学習を行う学習部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、任意の話者の任意の発話スキルの合成音声を、話者性を変えずに生成することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本実施形態の学習装置により学習される音声合成モデルの概要を説明するための図である。
【
図2】
図2は、音素セグメンテーション情報の例を示す図である。
【
図3】
図3は、話者識別子および発話スキルが付与された音素セグメンテーション情報の例を示す図である。
【
図4】
図4は、話者識別子および発話スキルが付与された音素セグメンテーション情報の例を示す図である。
【
図6】
図6は、学習装置が音声合成モデルを学習する手順の例を説明するための図である。
【
図7】
図7は、学習後の音声合成モデルを用いて、合成音声を生成する手順の例を説明するための図である。
【
図8】
図8は、学習装置が音声合成モデルを学習する手順の例を示すフローチャートである。
【
図9】
図9は、学習装置が、学習後の音声合成モデルを用いて、合成音声を生成する手順の例を示すフローチャートである。
【
図10】
図10は、学習プログラムを実行するコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、本実施形態に限定されない。
【0013】
[概要]
まず、
図1を用いて、本実施形態の学習装置の概要を説明する。学習装置は、入力されたテキストの合成音声を生成する音声合成モデルの学習を行う。
【0014】
この音声合成モデルは、例えば、
図1に示すように、合成音声の生成対象のテキストの読み・アクセント、話者の識別子および発話スキルの入力を受け付けると、当該テキストを当該話者が当該発話スキルで発話した合成音声の音声特徴量を出力するモデルである。この音声合成モデルは、例えば、DNN(ディープニューラルネットワーク)により実現される。
【0015】
学習装置は、音声データ、当該音声データの話者の識別子、および、当該話者の発話スキルを学習データとして用いて上記の音声合成モデルを学習する。
【0016】
ここで、学習装置は、学習データから発話スキルを低くしたデータ(
図2における疑似音声データ、疑似発話スキル、疑似発話情報)を生成する。そして、学習装置は、生成したデータを含む学習データを用いて音声合成モデルを学習する。
【0017】
これにより学習装置は、音声合成モデルの学習を行う際、1人の話者に対して複数の発話スキルを学習することができる。その結果、学習後の音声合成モデルは、任意の話者の任意の発話スキルの入力を受け付けたとしても、話者性ができるだけ変わらない合成音声の音響特徴量を出力することができる。
【0018】
[音声データ]
次に、音声合成モデルの学習に用いる音声データおよび発話情報について説明する。まず、音声データについて説明する。
【0019】
音声合成モデルの学習に用いる音声データは、N名(2名以上)の話者の音声データから構成される。この音声データは、音声信号に対する信号処理により得られる音声特徴量を含む。音声特徴量は、例えば、音声信号の音高パラメータ(基本周波数等)、スペクトルパラメータ(ケプストラム、メルケプストラム等)等である。
【0020】
また、音声合成モデルの学習に用いる音声データには、様々な発話スキルの話者の音声データが含まれていることが望ましい。例えば、この音声データには、発話スキルが高い話者(例えば、アナウンサー、声優等)の音声データと、発話スキルが低い話者(例えば、上記のアナウンサー、声優等以外の話者)の音声データの両方が含まれているのが望ましい。
【0021】
[発話情報]
次に、音声合成モデルの学習に用いる発話情報について説明する。発話情報は、例えば、音声データを構成する各発話の発音等を示した情報である。この発話情報は、例えば、音素セグメンテーション情報を含む。
【0022】
音素セグメンテーション情報は、例えば、
図2に示すように、発話を構成する音素ごとの開始時間および終了時間を示した情報である。この開始時間および終了時間は、発話の始点を0(秒)とした経過時間である。
【0023】
発話情報は、音素セグメンテーション情報以外にもアクセント情報(アクセント型、アクセント句長)、品詞情報等を含んでいてもよい。
【0024】
また、学習装置は、発話情報に、当該発話情報の話者の識別子(話者識別子)および当該話者の発話スキルを付与する。例えば、学習装置は、
図3および
図4に示すように、発話の音素セグメンテーション情報に、当該発話の話者の識別子および発話スキルの情報を付与する。なお、発話スキルの情報は、例えば、0:発話スキル低~1:発話スキル高の1次元のベクトルにより表現される。発話スキルの付与方法については、後記する。
【0025】
[構成例]
次に、
図5を用いて学習装置の構成例を説明する。学習装置10は、例えば、入出力部11、記憶部12、および、制御部13を備える。
【0026】
入出力部11は、各種データの入力および出力を司るインターフェースである。例えば、入出力部11は、音声合成モデルの学習データ(音声データ、当該音声データの発話情報、当該音声データの話者識別子)の入力を受け付ける。また、入出力部11は、合成音声の生成対象のテキストの読み・アクセント、話者の識別子、発話スキル等の入力を受け付ける。また、入出力部11は、制御部13により生成された合成音声等を出力する。
【0027】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0028】
記憶部12には、例えば、学習装置10の機能を実現するための処理プログラム、音声合成モデルの学習に用いられる学習データ(音声データ、当該音声データの発話情報、当該音声データの話者識別子等)が記憶される。
【0029】
また、学習装置10により、学習データに含まれる音声データの話者の発話スキルが取得されると、記憶部12の学習データに各話者の発話スキルが追加される。さらに、学習装置10により音声合成モデルが学習されると、学習により得られた音声合成モデルのパラメータが記憶部12に記憶される。
【0030】
制御部13は、例えば、CPU(Central Processing Unit)等を用いて実現され、記憶部12に記憶された処理プログラムを実行する。これにより、制御部13は、
図5に示す、発話スキル獲得部131、取得部132、生成部133、ベクトル表現変換部134、学習部135、入力受付部136、テキスト解析部137、音声特徴量生成部138および合成音声生成部139として機能する。
【0031】
[発話スキル獲得部]
発話スキル獲得部131は、学習データに含まれる音声データの話者の発話スキルを獲得する(
図6参照)。発話スキル獲得部131は、例えば、入出力部11経由でユーザ(評価者)から音声データの話者の発話スキルの主観評価の入力を受け付けると、その評価結果に基づき、当該話者の発話スキルを付与する。
【0032】
(1)例えば、評価者は、音声データに含まれるN名の話者に対して、一対比較法により発話スキルを評価する。一対比較法では、全ての話者の組み合わせ(NC2組:N=10名の場合、10C2=45組)に対して、どちらの話者の発話スキルが高いかを評価する。
【0033】
(2)評価尺度は、例えば、評価対象となる話者の組み合わせ(2名)のうち、どちらの話者の発話スキルが高いか選択するAB評価や、比較範疇尺度法(CCR)によるスコアの付与を使用することができる。スコアは、例えば、-2:後者の話者が発話スキルが高い、-1:後者の発話スキルが若干高い、0:両者の発話スキルは変わらない、1:前者の発話スキルの方が若干高い、2:前者の発話スキルの方が高い等である。
【0034】
(3)また、例えば、複数の評価者が同一の話者の組み合わせに対して評価を行い、発話スキル獲得部131は、その評価結果の平均値を当該話者間の発話スキルとする。ここので評価者数は、評価の信頼性を担保するために、1つの話者の組み合わせに対し、10名以上が望ましい。
【0035】
(4)発話スキル獲得部131は、上記の方法による話者間のスコアを発話スキルとして獲得する。また、発話スキル獲得部131は、上記の方法による話者間のスコアをシェッフェの一対比較法等により1次元の尺度に変換してもよい。発話スキル獲得部131により獲得された各話者の発話スキルは記憶部12に記憶される。
【0036】
[取得部]
取得部132は、学習データである複数の話者の音声情報(音声データ、当該音声データの発話情報、当該音声データの話者識別子)と、発話スキル獲得部131により獲得された各話者の発話スキルとを取得する。
【0037】
[生成部]
生成部133は、1人の話者の音声情報ごとに発話スキルを低く変換した音声情報を生成する。例えば、生成部133は、取得部132により取得された音声情報から、発話スキルを低くした音声データ(疑似音声データ)、発話情報(疑似発話情報)、および疑似発話スキルを生成する(
図6参照)。
【0038】
一例を挙げると、生成部133は、発話スキル=1の話者Bの音声データおよび発話情報を、発話スキル=0.8に変換した疑似音声データおよび疑似発話情報と、発話スキル=0.5に変換した疑似音声データおよび疑似発話情報と、発話スキル=0.2に変換した疑似音声データおよび疑似発話情報とを生成する。
【0039】
そして、生成部133は、生成した疑似音声データ、疑似発話情報、疑似発話スキルを記憶部12に記憶する。
【0040】
例えば、生成部133は、疑似音声データ、疑似発話情報、疑似発話スキルを生成するため、(1)音声情報に含まれる音声データの音声パラメータの変換、(2)音声情報に含まれる発話情報(音素セグメンテーション情報)の変換のいずれか、もしくは組み合わせを実施する。
【0041】
[音高パラメータの変換]
生成部133が、音声データの音声パラメータの変換により、疑似音声データおよび疑似発話スキルを生成する場合の処理手順の例について説明する。
【0042】
生成部133は、例えば、学習データの音声データにおける発話内の音高パラメータの分布を変更することにより疑似音声データを生成する。一例を挙げると、生成部133は、学習データの音声データにおける話者iのj番目の発話の音高パラメータ(F0ij(t)、t=1,…,T:音声パラメータのフレーム数)の平均μijを用いて、音高パラメータの疑似音高パラメータF0’ijを生成する。例えば、生成部133は、以下の式(1)を用いて、発話内の各音高パラメータの標準偏差が小さくなるように各音高パラメータを変換する。
【0043】
F0’ij(t)=(F0ij(t)-μij)×α+μij(α:変換重み(0≦α≦1))…式(1)
【0044】
ここで、αは変換重みである。α=1の場合、生成部133は音高パラメータの変換を行わない。α=0の場合、音高パラメータが平均μijと同一になる。
【0045】
また、生成部133は、この時の話者iの発話スキルSiを以下の式(2)に基づき変換することで、疑似発話スキルS’iを得る。
【0046】
S’i=α×Si…式(2)
【0047】
なお、生成部133が音高パラメータの変換を行う場合、発話情報の変換は行わないため、元の発話情報を疑似発話情報とする。
【0048】
[発話情報(音素セグメンテーション情報)の変換]
生成部133が、発話情報(音素セグメンテーション情報)の変換により、疑似発話情報および疑似発話スキルを生成する場合の処理手順の例について説明する。
【0049】
生成部133は、例えば、発話情報における話者iのj番目の発話のp番目の音素セグメンテーション情報(dij(p)、p=1,…,P:音素セグメンテーション情報に含まれる音素数)の継続時間長を伸縮する変換を行うことで、疑似発話情報d’ij(p)を生成する。
【0050】
ここで、生成部133は、例えば、発話情報における話者iのj番目の発話のすべての音素に対し上記の変換を行うのではなく、母音もしくは子音のみに対して変換を行うことで、非線形な変換を行う。変換後の発話情報(疑似発話情報)d’ij(p)は、以下の式(3)により表される。
【0051】
d’ij(p)=β×dij(p)(β:変換重み(0≦β≦2))…式(3)
【0052】
式(3)における、βは変換重みである。式(3)において、β=1の場合、生成部133は、p番目の音素の変換を行わない。β=0の場合、生成部133は、p番目の音素の継続時間長を0とする変換を行う。つまり、生成部133は、p番目の音素を消去する。
【0053】
また、生成部133は、上記のβを用いて、話者iの発話スキルSiを以下の式(4)に基づき変換することにより、疑似発話スキルS’iを得る。
【0054】
S’i=(1-|1-β|)×Si…式(4)
【0055】
このように生成部133は、音声データにおける音高パラメータの分布の変換、発話情報(音素セグメンテーション情報)における音素の継続時間長を伸縮する変換を行う。これは、音声における音高パラメータの分布および音素の継続時間長が、発話スキルの評価に大きな影響を与えているからである。生成部133が、音声の音高パラメータの分布、音素の継続時間長等を変換することで、自然な音声とは異なる不自然な音声(≒発話スキルが低い音声)を生成することができる。これにより生成部133は、同一話者の発話でありながら、発話スキルが低い音声の生成を行うことができる。
【0056】
なお、生成部133は、発話スキルを低く変換した音声情報を生成する際、1人の話者の音声情報をもとに、複数の発話スキルの音声情報を生成することが好ましい。例えば、生成部133は、話者(発話スキル=0.8)の音声情報をもとに、当該話者の発話スキル=0.5の音声情報と、発話スキル=0.2の音声情報とを生成する。このように生成部133が1人の話者の音声情報をもとに、複数の発話スキルの音声情報を生成することで、学習データに同じ話者について様々な発話スキルの音声情報が追加されることになる。その結果、学習装置10は、指定された話者について様々な発話スキルの合成音声の音声特徴量を出力可能な音声合成モデルを学習することができる。
【0057】
[ベクトル表現変換部]
ベクトル表現変換部134は、発話情報、話者識別子および発話スキルを、音声合成モデルで使用可能な表現(数値表現)へ変換する。例えば、ベクトル表現変換部134は、発話情報を言語ベクトルに変換し、話者識別子を話者ベクトルに変換し、発話スキルを発話スキルベクトルに変換する。
【0058】
例えば、ベクトル表現変換部134が発話情報を言語ベクトルへ変換する際には、非特許文献1に記載の、発話情報を音素やアクセント等を示す数値ベクトル(言語ベクトル)へ変換する技術を用いる。
【0059】
また、ベクトル表現変換部134が話者識別子を話者ベクトルへ変換する際には、one-hot表現を使用する。このone-hot表現のベクトルの次元数は、音声データに含まれる話者数=Nである。この話者ベクトルにおいて、話者識別子に該当する次元の値は1、それ以外の次元の値は0である。
【0060】
さらに、ベクトル表現変換部134が、発話スキルを発話スキルベクトルへ変換する際には、発話スキル獲得部131で得られた発話スキルをそのまま使用してもよいし、何らかの方法で次元圧縮を行ってもよい。次元圧縮には、例えば、各話者間の発話スキルの差をシェッフェの一対比較法を用いた尺度値としてもよいし、主成分分析(PCA)の結果を用いてもよい。
【0061】
例えば、
図6に示すように、ベクトル表現変換部134は、学習データに含まれる話者の発話スキルおよび疑似発話スキルを発話スキルベクトルに変換する。また、ベクトル表現変換部134は、学習データに含まれる発話情報および疑似発話情報を言語ベクトルに変換する。さらに、ベクトル表現変換部134は、学習データに含まれる話者識別子を話者ベクトルに変換する。
【0062】
[学習部]
学習部135は、学習データを用いて音声合成モデルを学習する。例えば、学習部135は、学習データとして、複数の話者の音声情報と、複数の話者それぞれの発話スキルを低く変換した音声情報(疑似音声データ、疑似発話スキル、疑似発話情報)とを用いて音声合成モデルを学習する。
【0063】
例えば、学習部135は、ベクトル表現変換部134により変換された、学習データの発話情報ごとの言語ベクトル、話者ベクトルおよび発話スキルベクトルを取得する。また、学習部135は、各発話情報に対応する音声データの音声特徴量を取得する。そして、学習部135は、取得した各発話情報の言語ベクトル、話者ベクトルおよび発話スキルベクトルと、各発話情報に対応する音響特徴量とを用いて、言語ベクトル、話者ベクトルおよび発話スキルベクトルから音声特徴量を推定する音声合成モデルを学習する(
図6参照)。
【0064】
音声合成モデルの学習アルゴリズムは、例えば、特許文献1、非特許文献1等に記載の学習アルゴリズムを用いる。学習部135は、学習後の音声合成モデルのパラメータを記憶部12に記憶する。
【0065】
なお、音声合成モデルに用いられるニューラルネットワークは、例えば、通常のMultilayer perceptron(MLP)、Recurrent Neural Network(RNN)、RNN-LSTM(Long Short Term Memory)、Convolutional Neural Network(CNN)等のニューラルネットワーク、またそれらを組み合わせたニューラルネットワークである。
【0066】
音声合成モデルは、合成音声を生成するための入力データとして、合成音声の対象とする話者の識別子および発話スキルを用いる。そのため学習部135は、話者の特徴と発話スキルの特徴とを分けて音声合成モデルの学習を行う。これにより、学習装置10は、任意の話者による任意の発話スキルの合成音声を生成する音声合成モデルを学習することができる。
【0067】
[入力受付部]
入力受付部136は、入出力部11経由で、ユーザから指定された、合成音声の生成対象の話者の識別子、発話スキル、テキスト等を受け付ける。
【0068】
[テキスト解析部]
テキスト解析部137は、入力受付部136から入力されたテキストの解析を行う。例えば、テキスト解析部137は、入力されたテキストの解析を行い、テキストの読み・アクセント等を示した情報を生成する。
【0069】
[音声特徴量生成部]
音声特徴量生成部138は、学習部135により学習された音声合成モデルを用いて、合成音声の生成対象のテキストから、ユーザにより指定された話者および発話スキルの合成音声の音声特徴量を生成する。
【0070】
例えば、
図7に示すように、まず、ベクトル表現変換部134は、テキスト解析部137により生成されたテキストの解析結果を言語ベクトルに変換する。また、ベクトル表現変換部134は、入力受付部136で受け付けた話者識別子を話者ベクトルに変換し、また、入力受付部136で受け付けた発話スキルを発話スキルベクトルに変換する。
【0071】
そして、音声特徴量生成部138は、上記の話者ベクトル、発話スキルベクトルおよび言語ベクトルを、学習後の音声合成モデルに入力し、音声合成モデルから出力された合成音声の音声特徴量を得る。この音声特徴量は、例えば、合成音声の生成に用いられる音高パラメータ等である。
【0072】
[合成音声生成部]
合成音声生成部139は、音声特徴量生成部138により生成された音声特徴量を用いて合成音声を生成する。合成音声生成部139は、例えば、Maximum Likelihood Paramerter Generation(MLPG)アルゴリズム(非特許文献2参照)を用いて、音声特徴量を時間方向に平滑化した音声パラメータ系列を得る。そして、合成音声生成部139は、この音声パラメータ系列を用いて音声波形の生成を行う。音声波形の生成には、例えば、非特許文献3に記載の技術を用いる。そして、合成音声生成部139は、生成した音声波形を用いて合成音声を生成し、入出力部11経由で出力する。
【0073】
[処理手順の例]
次に、学習装置10が実行する処理手順の例を説明する。まず、
図8を用いて、学習装置10が音声合成モデルを学習する手順の例を説明する。
【0074】
学習装置10は、音声合成モデルの学習用の音声情報(音声データ、発話情報、話者識別子)を取得する(S1)。そして、取得した音声情報を記憶部12に記憶する。次に、発話スキル獲得部131は、S1で取得した音声データの発話スキルを獲得する(S2)。そして、獲得した発話スキルを記憶部12に記憶する。
【0075】
S2の後、生成部133は、1人の話者の音声情報ごとに発話スキルを低く変換した音声情報(疑似音声データ、疑似発話スキル、疑似発話情報)を生成する(S3)。その後、取得部132は、S3で生成された発話スキルを低くした音声情報と、学習用の音声情報を取得する(S4)。
【0076】
S4の後、ベクトル表現変換部134は、S4で取得部132が取得した音声情報を、音声合成モデルで使用可能な値で表現したベクトルに変換する(S5)。例えば、ベクトル表現変換部134は、S4で取得部132が取得した、発話スキルを低くした音声情報について、当該音声情報に含まれる発話スキルを発話スキルベクトルに変換し、発話情報を言語ベクトルに変換し、話者識別子を話者ベクトルに変換する。また、ベクトル表現変換部134は、S4で取得部132が取得した、学習用の音声情報についても、当該音声情報に含まれる発話スキルを発話スキルベクトルに変換し、発話情報を言語ベクトルに変換し、話者識別子を話者ベクトルに変換する。
【0077】
S5の後、学習部135は、学習用の音声情報に含まれる音声データと、S5で変換された発話スキルベクトル、言語ベクトルおよび話者ベクトルとを用いて、音声合成モデルを学習する(S6)。
【0078】
学習装置10が上記の処理を実行することにより、音声合成モデルの学習を行う際、1人の話者に対して複数の発話スキルを学習することができる。
【0079】
次に、
図9を用いて、学習後の音声合成モデルを用いた合成音声の生成処理の手順の例を説明する。
【0080】
まず、学習装置10の入力受付部136は、ユーザから合成音声の生成対象の話者識別子、発話スキル、テキストの入力を受け付ける(S11)。その後、テキスト解析部137は、S11で入力されたテキストの解析を行う。また、ベクトル表現変換部134は、S11で入力された情報をベクトルに変換する(S12)。例えば、ベクトル表現変換部134は、話者識別子を話者ベクトルに変換し、発話スキルを発話スキルベクトルに変換し、テキストの解析結果を言語ベクトルに変換する。
【0081】
その後、音声特徴量生成部138は、S12で変換された話者ベクトル、発話スキルベクトル、言語ベクトルと、学習後の音声合成モデルとを用いて、合成音声の音声特徴量を生成する(S13)。つまり、音声特徴量生成部138は、S12で変換された話者ベクトル、発話スキルベクトルおよび言語ベクトルを学習後の音声合成モデルに入力することにより、合成音声の音声特徴量を生成する。
【0082】
その後、合成音声生成部139は、S13で生成した音声特徴量を用いて合成音声を生成し、出力する(S14)。
【0083】
学習装置10が上記の処理を実行することで、ユーザから指定された話者および発話スキルの合成音声を出力することができる。
【0084】
[システム構成等]
また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0085】
また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0086】
[プログラム]
前記した学習装置10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラム(学習プログラム)を所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を学習装置10として機能させることができる。ここで言う情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
【0087】
図10は、学習プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインターフェース1030、ディスクドライブインターフェース1040、シリアルポートインターフェース1050、ビデオアダプタ1060、ネットワークインターフェース1070を有する。これらの各部は、バス1080によって接続される。
【0088】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインターフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインターフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインターフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0089】
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の学習装置10が実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1031に記憶される。例えば、学習装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。なお、ハードディスクドライブ1031は、SSD(Solid State Drive)により代替されてもよい。
【0090】
また、上述した実施形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0091】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続される他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインターフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0092】
10 学習装置
11 入出力部
12 記憶部
13 制御部
131 発話スキル獲得部
132 取得部
133 生成部
134 ベクトル表現変換部
135 学習部
136 入力受付部
137 テキスト解析部
138 音声特徴量生成部
139 合成音声生成部