首页 / 专利库 / 人工智能 / 语音语料库 / 音声合成装置、方法、およびプログラム

音声合成装置、方法、およびプログラム

阅读:1028发布:2020-08-10

专利汇可以提供音声合成装置、方法、およびプログラム专利检索,专利查询,专利分析的服务。并且【課題】音声コーパスからの音声素片の選択によって音声合成を行う技術に関し、計算量を削減しながら、目標韻律に合った自然性の高い音声を出 力 する。 【解決手段】最小分割パス探索部203aは、連続する音声素片の列の候補である素片列候補データ205を、その候補に対応する 音素 列がセグメントデータ列201中の音素列に一致すると共に、その候補がセグメントデータ列201に対して連続性を満たし、上記音素列がセグメントデータ列201全体を分割する数が少なくなるように、音声辞書106中の音声コーパスから探索する。音声素片列選択部203bは、探索された素片列候補データ205の組合せの中から、セグメントデータ列201に最も合致する組を選択し、 波形 合成部107に出力する。 【選択図】図2,下面是音声合成装置、方法、およびプログラム专利的具体信息内容。

テキストデータから生成された連続する音素セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片の列を接続することにより合成音声を出力する音声合成装置において、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから前記音声素片の列の候補を探索する最小分割パス探索部と、 探索された前記連続する音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する音声素片列選択部と、 を備えることを特徴とする音声合成装置。前記連続性を満たすことは、前記音声素片の列の候補の前または後ろに接続する音声素片の音素が前記音素セグメントの列の前または後ろに接続する音素セグメントの音素に一致し、かつ前記音声素片の列の候補の韻律情報と前記連続する音素セグメントの列の韻律情報の音響的特徴の差が所定の閾値に比較して小さいことであることを特徴とする請求項1に記載の音声合成装置。前記最小分割パス探索部は、音素の数が大きい順の前記音素列ごとに、前記連続性を満たす前記音声素片の列の候補の数が所定の閾値以上となったら当該音素列に対応する前記音声素片の列の候補の探索を打ち切ることを特徴とする請求項1または2のいずれかに記載の音声合成装置。前記最小分割パス探索部は、前記音声素片の列の候補の組合せの中で、前記音素セグメントの列全体を分割する数が最小のものから順に所定数までに対応する組合せのみを探索することを特徴とする請求項1ないし3のいずれかに記載の音声合成装置。音素列ごとに、当該音素列を含む前記音声コーパス内の音声素片の列へのインデックスを登録した連続音素列テーブルをさらに備え、 前記最小分割パス探索部は、前記音素列ごとに、当該音素列に対応する前記連続する音声素片の列の候補を、前記連続音素列テーブルを参照することにより探索することを特徴とする請求項1ないし4のいずれかに記載の音声合成装置。前記音声素片列選択部は、前記音素セグメントの列を分割する数が最小となる前記音声素片の列の候補の組合せにおいて、当該組合せを構成する前記音声素片の列の候補に対応する韻律情報と前記連続する音素セグメントの列に対応する韻律情報との差に基づいて算出される韻律コストと、前記音声素片の列の候補の前または後ろに接続する前記音声素片の列の候補の接続部の音響パラメータの不連続性の大きさに基づいて算出される接続コストとに基づいて、探索された前記音声素片の列の候補の組合せの中から前記音素セグメントの列に最も合致する音声素片の列の候補の組を選択することを特徴とする請求項1ないし5のいずれかに記載の音声合成装置。前記音素列を構成する音素は無音を示す情報を含むことを特徴とする請求項1ないし6のいずれかに記載の音声合成装置。入力テキストデータから生成された連続する音声セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片を接続することにより合成音声を出力する音声合成装置に用いられる音声合成方法であって、前記音声合成装置は、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから音声素片の列の候補を探索し、 探索された前記音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する、音声合成方法。入力テキストデータから生成された連続する音声セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片の列を接続することにより合成音声を出力するコンピュータに、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから前記音声素片の列の候補を探索する最小分割パス探索処理と、 探索された前記音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する音声素片列選択処理と、 を実行させるための音声合成プログラム。

说明书全文

本発明は、音声コーパスからの音声素片の選択によって音声合成を行う技術に関する。

テキストデータから生成される合成目標に対して、電子化された大規模な言語・音声データである音声コーパスを参照することにより音声素片を選択し、当該音声素片を接続することにより合成音声を出力する音声合成技術が知られている。

このような音声合成技術において、音声コーパスから合成目標に最も適合する音声素片列を選択するための手法として従来、次のような技術が知られている(例えば非特許文献1に記載の技術)。まず、入力テキストデータから抽出される音素セグメントごとに、その音素と同じ音素を有する音声素片のデータ(以下、「素片データ」と記載する)が、素片候補データとして音声コーパスから抽出される。次に、DP(Dynamic Programming:動的計画法)アルゴリズムによって、入力テキストデータ全体に渡ってコストが最小となる最良の素片候補データの組(最良の素片データ列)が決定される。コストとしては、入力テキストデータと音声コーパス内の各素片データ間の音素列および韻律の差異、素片候補データである隣接する素片データ間のスペクトラム包絡などの音響パラメータ(特徴量ベクトルデータ)の不連続性などが用いられる。

上述のような素片接続型の音声合成において、より自然な聴感を得られるためには、入力テキストデータと音声コーパス内の各素片データとで、音素列が一致していること、指定された韻律遷移に忠実であること、素片同士の接続部が滑らかに連続していることなどが必須である。

これらを同時に実現するためには、なるべく連続する区間を採用できるような、元音声情報を大量に搭載する辞書、あるいは、音素の切れ目が正確に定義されている辞書が必要となる。一般に、辞書制作のための音素片分割には、自動分割の精度が低く、人間が実際に録音音声を聞いたうえで切り出しを行うなど、高いコストを要求される。

音声の連続性を考慮した素片接続型の従来の音声合成技術として、次のような技術が知られている(例えば特許文献1または2に記載の技術)。これらの従来技術では、音声コーパス方式の音声合成手法において、信号処理を行わずに素片接続を行う前提で、連続性の評価値として、目標の音素列と選択素片の音素列を形態素単位で比較を行っている。

一方、音声の連続性を考慮した素片接続型の従来の他の音声合成技術として、次のような技術が知られている(例えば特許文献3に記載の技術)。この従来技術では、音声コーパス方式の音声合成手法において、信号処理を行う前提で、1モーラ毎に連続性の算出を行っている。

特開2005−321630号公報

特許4297496号公報

特開2013−156472号公報

河井 恒、“知識ベース 3-4 コーパスベース音声合成”、[online]、ver.1/2011.1.7、電子情報通信学会、[平成25年12月25日検索]、インターネット

しかし、前述した特許文献1または2に記載の従来技術では、信号処理で選択素片の音響情報を目標韻律にあわせる場合、形態素毎に連続性を評価する必要は無く、音響的連続性に基づいて、音素毎に連続性を判断したほうが、形態素のような言語的情報より正確である。

また、前述した特許文献3に記載の従来技術は、音声辞書データベースが小さい場合を想定しており、連続性の高い音素片の情報に基づいて信号処理による劣化が少なく済むように目標韻律の情報を変更している。このため、データベースの大きさが十分で必ず目標韻律に合った音声を合成したい場合には、不向きである。

そこで、本発明は、計算量を削減しながら、目標韻律に合った自然性の高い音声を出力することを目的とする。

態様の一例では、入力テキストデータから生成された連続する音素セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片の列を接続することにより合成音声を出力する音声合成装置において、前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから前記音声素片の列の候補を探索する最小分割パス探索部と、探索された前記連続する音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する音声素片列選択部と、 を備える。

本発明によれば、計算量を削減しながら、目標韻律に合った自然性の高い音声を出力することが可能となる。

本発明による音声合成装置の実施形態のブロック図である。

波形選択部のブロック図である。

実施形態の動作説明図(その1)である。

実施形態の動作説明図(その2)である。

音声合成装置をソフトウェア処理として実現できるコンピュータのハードウェア構成例を示す図である。

音声合成処理の例を示すフローチャートである。

最小分割パス探索処理の詳細例を示すフローチャートである。

連続性評価処理の例を示すフローチャートである。

以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。

図1は、本発明による音声合成装置100の実施形態のブロック図であり、テキスト入力部101、形態素解析部102、韻律予測部103、韻律辞書104、波形選択部105、音声辞書106、および波形合成部107を備える。

テキスト入力部101は、入力テキストデータを入力する。

形態素解析部102は、テキスト入力部101が入力した入力テキストデータに対して形態素解析処理を実行することにより、入力テキストデータに対応する音素列を抽出する。入力テキストデータは、音素列中の音素ごとにセグメント分けされ、各音素を示す音素情報が、そのセグメント分けにより得られる合成目標を構成するセグメントデータに登録される。

韻律予測部103は、形態素解析部102で得られる言語情報をもとに、実際の音声データに基づく韻律に関する統計的なモデルを記憶した韻律辞書104を参照することにより、合成目標の音素列中の音素ごとに、声帯の基本周波数であるピッチの高さ、持続時間長、および強度(振幅)によって表される韻律を予測する。この結果、韻律予測部103は、音素セグメント毎に、韻律情報である目標韻律情報を生成し、合成目標を構成する上記セグメントデータに登録する。

すなわち、入力テキストデータから合成目標として生成されるセグメントデータ列を構成する各セグメントデータは、音素情報と目標韻律情報を有する。

波形選択部105は、セグメントデータ列中の音素列に対応する素片列候補データ205を、音声辞書106中の音声コーパスから探索する。そして、波形選択部105は、素片列候補データ205ごとに、韻律コストおよび接続コストを評価することにより、最良の素片列候補データを素片列候補データ205から選択する。

波形合成部107は、波形選択部105が音声辞書106から選択した最良の素片列候補データに基づいて、合成音声を生成し出力する。

図2は、図1の波形選択部105の詳細な構成を示すブロック図である。波形選択部105は、セグメントデータ列201、セグメント入力部202、素片列選定部203、および評価部204を備える。素片列選定部203は、最小分割パス探索部203aとそこから出力された素片列候補データ205、および音声素片列選択部203bを備える。評価部204は、連続性評価部204aおよびコスト評価部204bを備える。

セグメント入力部202は、図1の形態素解析部102および韻律予測部103が出力したセグメントデータ列201を入力する。

素片列選定部203内の最小分割パス探索部203aは、セグメント入力部202からのセグメントデータ列201に基づき、音声辞書106内の音声コーパスから、連続する音声素片の列の候補のデータ(以下、「素片列候補データ」と記載する)205を探索する。素片列候補データ205は、そのデータの音素列が、セグメントデータ列201中の音素列に一致するように探索される。同時に、素片列候補データ205は、セグメントデータ列201に対して連続性を有し、上記音素列302がセグメントデータ列201の全を分割する数ができる限り少なくなるように、音声コーパスから探索される。

評価部204内の連続性評価部204aは、最小分割パス探索部203aが素片列候補データ205を探索するときの連続性に関する評価を行う。連続性評価部204aは、最小分割パス探索部203aが音声辞書106内の音声コーパスから順次抽出する連続する音声素片の列の候補の前または後ろに接続する音声素片の音素が、セグメントデータ列201内の該当するセグメントデータ列の前または後ろに接続する音素セグメントの音素に一致するか否かを評価する。また、連続性評価部204aは、連続する音声素片の列の候補の韻律情報(以下、「素片韻律情報」と記載する)とそれに対応するセグメントデータ列201内の該当するセグメントデータ列の目標韻律情報の音響的特徴の差が所定の閾値に比較して小さいか否かを評価する。最小分割パス探索部203aは、連続性評価部204aにおける上記2つの評価の結果が合格であった連続する音声素片の列の候補に基づいて、素片列候補データ205を抽出する。

図3および図4は、本実施形態の動作説明図である。例えば図3の301に示される入力テキストデータ「お金を得た」に対して、302の実線枠で示される音素列を有するセグメントデータ列201がセグメント入力部202に入力されたとする。音素列302において、「#」は無音を示す音素である。最小分割パス探索部203aは、音素列302の例えば末尾から順次、連続する音声素片の列の候補を探索する。

例えば、最小分割パス探索部203aは、音素列302の末尾の無音の音素「#」を探索対象音素として、303として示される2組のそれぞれ連続する音声素片の列の候補に対応する音素列候補「a#」および「#」を抽出する。

ここで、破線枠で囲まれたアルファベットまたは#記号が音素ラベルを示し、括弧で囲まれたアルファベットまたは#記号が、破線枠で囲まれた音素列候補の前後に接続する音声素片の音素ラベルを示している。304、305の音素列候補においても同様である。

303に示される2組の音素列候補のうち、まず音素列候補「#」については、左側に接続する音声素片の音素ラベル「a」が音素列302の対応する音素セグメントの音素ラベルと一致して連続性評価部204aでの音素列の前後の音素の一致性の評価を満たすものとして、例えば10万個が音声コーパスから探索されたとする。一方、これら10万個の音素列候補「#」の素片韻律情報はいずれも、音素列候補「#」に対応するセグメントデータ列201内のセグメントデータ列「#」の目標韻律情報との音響的特徴の差が大きく、連続性評価部204aでの韻律情報に関する評価を満たしていないとする。

一方、303に示される2組の音素列候補のうち、音素列候補「a#」については、左側に接続する音声素片の音素ラベル「t」が音素列302中の対応する音素セグメントの音素ラベルと一致し、かつ音素列候補「a#」に対応するセグメントデータ列201中のセグメントデータ列「a#」の目標韻律情報との音響的特徴の差が小さく、連続性評価部204aでの音素列の前後の音素の一致性の評価および韻律情報に関する評価の両方を満たすものとして、例えば300個が音声コーパスから探索されたとする。

この場合、303に示される2組の音素列候補のうち、音素列候補「#」は素片列候補データ205としては選択されず(図中「NG」と記載する)、音素列候補「a#」は素片列候補データ205として選択される(図中「OK」と記載する)。すなわち、図3の303中の濃い色の破線枠からなる音素列候補が、素片列候補データ205として選択される。

続いて、最小分割パス探索部203aは、音素列302の末尾から2番目の音素「a」を探索対象音素として、304として示される3組のそれぞれ連続する音声素片の列の候補に対応する音素列候補「ta#」、「ta」、および「a」を抽出する。そして、303の場合と同様の連続性評価部204aによる評価の結果、例えば、音声コーパスから探索された80個の音素列候補「ta#」と500個の音素列候補「ta」が、素片列候補データ205として選択される(OK)。また、例えば、500個の音素列候補「ta」は、「a」の後の音素である#と一致していないので、前後の音素が一致という条件を満たさないために素片列候補データ205とならず、また10000個の音素列候補「a」は、連続性評価部204aでの音素列の前後の音素の一致性の評価を満たしているが、連続性評価部204aでの韻律情報に関する評価は満たさず、素片列候補データ205としては選択されない(NG)。すなわち、図3の304中の濃い色の破線枠からなる音素列候補が、素片列候補データ205として選択される。

ここで、最小分割パス探索部203aは、音素列候補の組合せの中で、音素列302の全体を分割する数が最小のものから順に所定数までに対応する組合せのみを探索するように動作してよい。具体的には、探索対象音素に関して素片列候補データ205として選択できる音素列候補の種類が2種類以上探索された場合、連続する音素の数が最も長いすなわち音素列302を分割する数が最小(最小分割数)となる音素列候補と、連続する音素の数が2番目に長いすなわち音素列302を分割する数が最小分割数+1となる音素列候補の2種類までが、素片列候補データ205として探索される。

例えば305において、音素列302を分割する数が最小分割数となる音素列候補「eta#」と、最小分割数+1となる音素列候補「eta」の2種類までが、最終的な素片列候補データ205として選択される。

音素列302を分割する数が最小分割数+1となる音素列候補も素片列候補データ205として選択される理由は、以下の通りである。すなわち、本来は、連続する音素の数が最も長いすなわち音素列302を分割する数が最小分割数となる音素列候補のみを選択することによって、音声コーパス中のできるだけ連続する音声素片列に基づいて、最も自然な合成音声を得ることができる。しかし、他の探索対象音素との関係で、或る探索対象音素に対して、音素列302を分割する数が最小分割数となる音素列候補が選択できなかった場合に、その探索対象音素について他の音素列候補を選択可能とするために、音素列302を分割する数が最小分割数+1となる音素列候補も素片列候補データ205として選択される。

さらに続いて、最小分割パス探索部203aは、音素列302の末尾から3番目の音素「t」を探索対象音素として、305として示される4組のそれぞれ連続する音声素片の列の候補に対応する音素列候補「eta#」、「eta」、「et」、および「t」を抽出する。そして、303、304の場合と同様の連続性評価部204aによる評価の結果、例えば、音声コーパスから探索された50個の音素列候補「eta#」と300個の音素列候補「eta」が、素片列候補データ205として選択される(OK)。また、例えば、20000個の音素列候補「et」と50000個の音素列候補「t」は、連続性評価部204aでの音素列の前後の音素の一致性の評価を満たしているが、連続性評価部204aでの韻律情報に関する評価は満たさず、素片列候補データ205としては選択されない(NG)。すなわち、図3の305中の濃い色の破線枠からなる音素列候補が、素片列候補データ205として選択される。

ここでも、例えば、304の場合と同様に、音素列302を分割する数が最小分割数となる音素列候補「eta#」と、最小分割数+1となる音素列候補「eta」の2種類までが、最終的な素片列候補データ205として選択される。

いま、最小分割パス探索部203aが、例えば図4の401に示されるように、音素列302中の音素「w」を探索対象音素として素片列候補データ205を選択する場合を考察する。この場合例えば、音素列中の音素数が多いものから順に探索をしたときに、音素列候補「ewoeta#」、「ewoeta」、および「ewoet」については連続性評価部204aでの評価を満たさずに、素片列候補データ205として選択されなかったとする(NG)。そして、音素列候補「ewoe」および「ewo」の2組の音素列候補について連続性評価部204aでの評価を満たしたものが、それぞれ10個および100個探索されたとする。この場合、通常ならば、音素列302を分割する数が最小分割数となる音素列候補「ewoe」が1番目に選択されることになる。しかし、その音素列候補「ewoe」よりも1つ音素の数が多い連続性評価部204aでの評価を満たす音素列候補「ewoet」は、音声コーパス中には無いことがわかっている。この場合、音素列候補「ewoe」が選択されたとしても、図2の音声素片列選択部203bは、その音素列候補をその前後の音素列候補と接続しても、最良の素片列候補データを生成することはできない(OK→NG)。

そこで、本実施形態による最小分割パス探索部203aは、音素列302を分割する数が最小分割数となる音素列候補を選択しようとした場合に、その音素列候補よりも1つ音素の数が多い連続性評価部204aでの評価を満たす音素列候補が音声コーパス中に無い場合(末尾をのぞく)には、音素列302を分割する数が最小分割数+1となる音素列候補を選択するように動作する。すなわち、図4の401中の濃い色の破線枠からなる音素列候補「ewo」が、素片列候補データ205として選択される。この場合、それよりも末尾側には、上記音素列候補「ewo」と接続できる音素列候補「eta」などが探索されているはずなので、図2の音声素片列選択部203bは、それらの音素列候補を接続することで、最良の素片列候補データを生成することができる。

なお、最小分割パス探索部203aは、音素数が大きい順の音素列ごとに、連続性評価部204aにおける上記2つの評価に合格した連続する音声素片の列の候補の数が所定の閾値以上となったら、連続する音声素片の列の候補の探索を打ち切るように動作してよい。音素数が大きい順の音素列ごとに探索された連続する音声素片の列の候補は、探索数が少なくても音声コーパス内の音声の連続性が保証された候補であるため、これを用いて十分に高品質な音声を合成できる。従って、探索が途中で打ち切られることにより、合成音声の品質を維持したまま、音声コーパスからの最良の素片列候補データの選択動作を従来技術に比較して高速化することが可能となる。

最小分割パス探索部203aは、以上の動作を、音素列302の末尾の音素から先頭の音素までをそれぞれ探索対象音素として、探索対象音素ごとに素片列候補データ205を選択する。

図2の音声素片列選択部203bは、最小分割パス探索部203aがセグメントデータ列201中探索対象音素ごとに音声コーパスから探索した素片列候補データ205の組合せの中から、セグメントデータ列201に最も合致する最良の素片列候補データを選択する。

上記最良の素片列候補データの選択のために、音声素片列選択部203bはまず、セグメントデータ列201の音素列を分割する分割数が最小となる素片列候補データ205の組合せを選択する。この組合せは、複数種類選択される可能性がある。

次に、図2の評価部204内のコスト評価部204bは、上述のようにして音声素片列選択部203bが選択した組合せを構成する素片列候補データ205ごとに、その素片列候補データ205に対応する素片韻律情報と、その素片列候補データ205に対応するセグメントデータ列201に対応する目標韻律情報との差(距離)に基づいて、韻律コストを算出する。

さらに、コスト評価部204bは、上記素片列候補データ205ごとに、その素片列候補データ205の前または後ろに接続する素片列候補データ205の接続部の音響パラメータの不連続性の大きさに基づいて、接続コストを算出する。

そして、音声素片列選択部203bは、セグメントデータ列201の音素列を分割する分割数が最小となる素片列候補データ205の組合せのうち、コスト評価部204bが算出した韻律コストと接続コストの重み付き加重和が最も小さくなる組合せを、最良の素片列候補データとして図1または図2の波形合成部107へ出力する。

図5は、図1の音声合成装置100をソフトウェア処理として実現できるコンピュータのハードウェア構成例を示す図である。図5に示されるコンピュータは、CPU501、ROM(リードオンリーメモリ:読出し専用メモリ)502、RAM(ランダムアクセスメモリ)503、入力装置504、出力装置505、外部記憶装置506、可搬記録媒体510が挿入される可搬記録媒体駆動装置507、及び通信インタフェース508を有し、これらがバス509によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。

ROM502は、コンピュータを制御する音声合成プログラムを含む各プログラムを記憶するメモリである。RAM503は、各プログラムの実行時に、ROM502に記憶されているプログラム又はデータを一時的に格納するメモリである。

外部記憶装置506は、例えばSSD(ソリッドステートドライブ)記憶装置またはハードディスク記憶装置であり、入力テキストデータや合成音声データの保存に用いられる。

CPU501は、各プログラムを、ROM502からRAM503に読み出して実行することにより、当該コンピュータ全体の制御を行う。

入力装置504は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU501に通知する。また、入力装置504は、図1のテキスト入力部101の機能を実行して入力テキストデータを外部から入力し、RAM503または外部記憶装置506に記憶させる。

出力装置505は、CPU501の制御によって送られてくるデータを表示装置や印刷装置に出力する。また、出力装置505は、図1の波形合成部107が外部記憶装置506またはRAM503に出力した合成音声データを、音声として放音する。

可搬記録媒体駆動装置507は、光ディスクやSDRAM、コンパクトフラッシュ等の可搬記録媒体510を収容するもので、外部記憶装置506の補助の役割を有する。

通信インターフェース508は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。

本実施形態によるシステムは、図1および図2の各処理部の機能を搭載した音声合成プログラムを、ROM502からRAM503に読み出してCPU501が実行することで実現される。そのプログラムは、例えば外部記憶装置506や可搬記録媒体510に記録して配布してもよく、或いはネットワーク接続装置508によりネットワークから取得できるようにしてもよい。

図6は、図1および図2の音声合成装置100に対応する機能を、図5のハードウェア構成例を有するコンピュータのCPU501が、ソフトウェアプログラムの処理により実現する場合の、音声合成処理の例を示すフローチャートである。以下に説明する処理はすべてCPU501が実行する処理である。

まず、外部記憶装置506等から入力テキストデータが入力される(ステップS601)。この処理では、前述した図1のテキスト入力部101の機能が実行される。

次に、ステップS601で入力された入力テキストデータに対して形態素解析処理が実行されることにより、入力テキストデータに対応する音素列が抽出される(ステップS602)。この結果、入力テキストデータは、音素列中の音素ごとにセグメント分けされ、各音素を示す音素情報が、そのセグメント分けにより得られる各セグメントデータに登録される。このようにして得られるセグメントデータの集合が、セグメントデータ列201として図5のRAM503または外部記憶装置506等に記憶される。この処理では、前述した形態素解析部102の機能が実行される。

次に、ステップS602の形態素解析処理で得られる言語情報をもとに、図1で説明した韻律辞書104が参照されることにより、音素セグメント毎に、目標韻律情報が生成され、セグメントデータ列201を構成する各セグメントデータに登録される(ステップS603)。この処理では、前述した韻律予測部103の機能が実行される。

次に、図1で説明した音声辞書106内の音声コーパスから、音素列ごとに、当該音素列を含む音声素片の列のインデックスを登録した連続音素列テーブルが、例えば図5のRAM503上に生成される(ステップS604)。このテーブルにより、音声コーパスからの連続する音声素片の列の候補の探索速度を向上させることが可能となる。

次に、上記連続音素列テーブルが参照されることにより、最小分割パス探索処理が実行される(ステップS605)。この処理では、前述した図2のセグメント入力部202および素片列選定部203内の最小分割パス探索部203aの機能が実行される。この処理の詳細については、図7のフローチャートを用いて後述する。

その後、音声素片列選択処理が実行される(ステップS606)。この処理では、前述した図2の素片選定部203内の音声素片列選択部203bおよび評価部204内のコスト評価部204bの機能が実行される。

さらに、信号処理が実行される(ステップS607)。この処理では例えば、音声素片列選択部203bが出力した最良の素片列候補データに対して、韻律補正などの適切な信号処理が実行される。

最後に、合成音声出力処理が実行される(ステップS608)。上記信号処理後の最良の素片列候補データに基づいて、合成音声が生成され出力する。

図7は、図1のステップS605の最小分割パス探索処理の詳細例を示すフローチャートである。

まず、図6のステップS601で図5のRAM503に読み込まれたセグメントデータ列201中の探索対象音素の位置を示す変数iの値が0に初期化される(ステップS701)。

次に、変数iの値がステップS701で初期設定された値0からステップS709で+1ずつインクリメントされながら、ステップS708で変数iの値がセグメントデータ列201中の音素数nに達したと判定されるまで、ステップS702で音素数nから変数iの値を減算して得られる値として設定される探索対象音素の現在位置ごとに、ステップS702からステップS707までの一連の処理が実行される。

ここで、変数i=0である初期状態のときには探索対象音素の現在位置はnとなってセグメントデータ列201の末尾の音素が指示され、変数iの値がインクリメントされるに従って探索対象音素の現在位置がセグメントデータ列201の末尾の音素から先頭の音素に向かって順次指示されてゆき、変数iの値がnのときに探索対象音素の現在位置は0となってセグメントデータ列201の先頭の音素が指示される。

上記繰返し処理において、まず、ステップS703からS705の繰返し処理が実行される。この繰返し処理では、最大でセグメントデータ列201の音素の数nから数1まで順次音素列を構成する音素数が減らされながら、ステップS702の現在位置で示されるセグメントデータ列201中の探索対象音素を含む音素列が生成される。そして、音素数の大きい順の音素列ごとに、以下のステップS703からS705の一連の処理が実行される。

まず、上記音素列に対応する連続する音声素片の列の候補が、図6のステップS604で図5のRAM503上に生成された連続音素列テーブルを介して、図5の外部記憶装置506に記憶されている音声辞書106内の音声コーパスから読み込まれる(ステップS703)。このとき、上記音素列をインデックスとして図6のステップS603でRAM503上に生成された連続音素列テーブルが参照されることにより、音声コーパス中の上記音素列に対応する連続する音声素片の列の候補が高速に読み込まれる。

次に、ステップS703で読み込まれた連続する音声素片の列の候補について、連続性評価処理が実行される(ステップS704)。この処理では、図2の評価部204内の連続性評価部204aの機能が実行される。この処理の詳細は、図8を用いて後述する。この連続性評価処理では、ステップS703で読み込まれた連続する音声素片の列の候補が連続性の評価基準を満たす場合に、上記音素列に対応するカウント値がインクリメントされ、そのカウント値が上記音素列ごとにRAM503に記憶される。

ステップS704の連続性評価処理の後、RAM503に記憶されている上記音素列ごとのカウント値が参照される。これにより、連続性の評価基準を満たし連続性の高い音素列が所定の閾値以上存在するか否か、あるいは、音声コーパス上で該当する連続する音声素片の列の候補の探索が終了したか否かが判定される(ステップS705)。

ステップS705の判定がNOならば、ステップS708の連続する音声素片の列の候補の読み込みが続けられる。

ステップS705の判定がYESになると、ステップS703からS705の繰返し処理により連続する音声素片の列の候補が一定数以上検出された各音素数の音素列に対応する音素のパス(経路)について、そのパスのコストが計算される(ステップS706)。このコストの値は例えば、その音素列がセグメントデータ列201の音素列の全体を分割する数が少ないほど、またその音素列における音素数が大きいほど小さくなるように計算される。

次に、ステップS706で算出されたパスのコストに基づいて、不要なパスが削除される(ステップS707)。この処理は、図3の304または305の説明で前述したように、連続する音素の数が最も長いすなわち音素列を分割する数が最小分割数となる音素列候補と、連続する音素の数が2番目に長いすなわち音素列を分割する数が最小分割数+1となる音素列候補の2種類までを素片列候補データ205として残し、それ以外は削除する処理である。

以上のステップS702からS707までの一連の処理によって、ステップS702で音素数nから変数iの値を減算して得られる値として設定されるセグメントデータ列201中の現在位置に対応する探索対象音素について、素片列候補データ205が探索される。

その後、変数iの値がセグメントデータ列201の音素数nに等しくなったか否かが判定され(ステップS708)。

ステップS708の判定がNOならば、変数iの値が+1インクリメントされ(ステップS709)、ステップS702の処理に戻る。この結果、セグメントデータ列201中の次の位置に対応する探索対象音素についての素片列候補データ205の探索が続けられる。

セグメントデータ列201中の先頭位置に対応する探索対象音素についての素片列候補データ205の探索までが終了してステップS708の判定がYESになるご、図7のフローチャートの処理を終了し、図6のステップS605の最小分割パス探索処理を終了する。

図8は、図7のステップS704の連続性評価処理の詳細例を示すフローチャートである。

まず、図7のステップS703で読み込まれた連続する音声素片の列の候補の前または後ろに接続する音声素片の音素が、セグメントデータ列201内の該当するセグメントデータ列の前または後ろに接続する音素セグメントの音素に一致するか否かが判定される(ステップS801)。

ステップS801の判定がYESならばさらに、上記連続する音声素片の列の候補の素片韻律情報とそれに対応するセグメントデータ列201内の該当するセグメントデータ列の目標韻律情報の音響的特徴の差が所定の閾値以下であるか否かが判定される(ステップS802)。

ステップS802の判定もYESならば、上記連続する音声素片の列の候補に関する連続性の評価は合格し、その連続する音声素片の列の候補に対応する音素列ごとに図5のRAM503に保持されているカウンタ値が+1される(ステップS803)。

ステップS803の後、またはステップS801またはS802の判定がNOの場合に、図8のフローチャートの処理を終了し、図7のステップS704の連続性評価処理を終了する。

以上のようにして、本実施形態によれば、図7のフローチャートで例示される最小分割パス探索処理において、ステップS705で、連続性の高い音素列がある程度見つかったら探索を途中で打ち切ることにより、合成音声の品質を維持したまま、音声コーパスからの最良の素片列候補データの選択動作を従来技術に比較して高速化することが可能となる。また、音声コーパスを探索するときに、図6のステップS604で生成される連続音素列テーブルを参照することにより、音素列に対応する音声コーパス中の連続する音声素片の列の候補の高速なインデックス検索が可能となる。これらの処理を含めて、本実施形態では、計算量を削減しながら、目標韻律に合った自然性の高い音声を出力することが可能となる。

以上の実施形態に関して、更に以下の付記を開示する。 (付記1) 入力テキストデータから生成された連続する音素セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片の列を接続することにより合成音声を出力する音声合成装置において、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから前記音声素片の列の候補を探索する最小分割パス探索部と、 探索された前記連続する音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する音声素片列選択部と、 を備えることを特徴とする音声合成装置。 (付記2) 前記連続性を満たすことは、前記音声素片の列の候補の前または後ろに接続する音声素片の音素が前記音素セグメントの列の前または後ろに接続する音素セグメントの音素に一致し、前記音声素片の列の候補の韻律情報と前記連続する音素セグメントの列の韻律情報の音響的特徴の差が所定の閾値に比較して小さいことであることを特徴とする付記1に記載の音声合成装置。 (付記3) 前記最小分割パス探索部は、音素の数が大きい順の前記音素列ごとに、前記連続性を満たす前記音声素片の列の候補の数が所定の閾値以上となったら当該音素列に対応する前記音声素片の列の候補の探索を打ち切ることを特徴とする付記1または2のいずれかに記載の音声合成装置。 (付記4) 前記最小分割パス探索部は、前記音声素片の列の候補の組合せの中で、前記音素セグメントの列全体を分割する数が最小のものから順に所定数までに対応する組合せのみを探索することを特徴とする付記1ないし3のいずれかに記載の音声合成装置。 (付記5) 音素列ごとに、当該音素列を含む前記音声コーパス内の音声素片の列へのインデックスを登録した連続音素列テーブルをさらに備え、 前記最小分割パス探索部は、前記音素列ごとに、当該音素列に対応する前記音声素片の列の候補を、前記連続音素列テーブルを参照することにより探索することを特徴とする付記1ないし4のいずれかに記載の音声合成装置。 (付記6) 前記音声素片列選択部は、前記音素セグメントの列を分割する数が最小となる前記音声素片の列の候補の組合せにおいて、当該組合せを構成する前記音声素片の列の候補に対応する韻律情報と前記連続する音素セグメントの列に対応する韻律情報との差に基づいて算出される韻律コストと、前記音声素片の列の候補の前または後ろに接続する前記音声素片の列の候補の接続部の音響パラメータの不連続性の大きさに基づいて算出される接続コストとに基づいて、探索された前記音声素片の列の候補の組合せの中から前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択することを特徴とする付記1ないし5のいずれかに記載の音声合成装置。 (付記7) 前記音素列を構成する音素は無音を示す情報を含むことを特徴とする付記1ないし6のいずれかに記載の音声合成装置。 (付記8) 入力テキストデータから生成された連続する音声セグメントの列に基づいて、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片を接続することにより合成音声を出力する音声合成装置に用いられる音声合成方法であって、前記音声合成装置は、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから音声素片の列の候補を探索し、 探索された前記音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する、音声合成方法。 (付記9) 入力テキストデータから生成された連続する音声セグメントの列に基づき、音声コーパスから複数の音声素片の列を選択し、当該選択された複数の音声素片の列を接続することにより合成音声を出力するコンピュータに、 前記選択される音声素片の列の候補に対応する音素列であって、当該音素列が、前記連続する音素セグメントの列の少なくとも一部と一致すると共に、当該連続する音素セグメントの列に対して連続性を満たし、かつ当該音素列が当該音素セグメントの列全体を分割する数が少なくなるように、前記音声コーパスから前記音声素片の列の候補を探索する最小分割パス探索処理と、 探索された前記音声素片の列の候補の組合せの中から、前記連続する音素セグメントの列に最も合致する音声素片の列の候補の組を選択する音声素片列選択処理と、 を実行させるための音声合成プログラム。

101 テキスト入力部 102 形態素解析部 103 韻律予測部 104 韻律辞書 105 波形選択部 106 音声辞書 107 波形合成部 201 セグメントデータ列 202 セグメント入力部 203 素片列選定部 203a 最小分割パス探索部 203b 音声素片列選択部 204 評価部 204a 連続性評価部 204b コスト評価部 205 素片列候補データ 301 入力テキストデータ 302 音素列 303、304、305 音素列候補 501 CPU 502 ROM(リードオンリーメモリ) 503 RAM(ランダムアクセスメモリ) 504 入力装置 505 出力装置 506 外部記憶装置 507 可搬記録媒体駆動装置 508 通信インタフェース 509 バス 510 可搬記録媒体

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈