【文献】
世木寛之 他,"株式市況音声合成システムの開発",NHK技研R&D,2012年 1月15日,No.131,pp.40-47
(58)【調査した分野】(Int.Cl.,DB名)
前記複数の合成音作成手段は、前記所定時間枠に必要な合成音のうち重複した合成音については1つだけ前記音声ファイルに格納し、前記重複した合成音の再生順序を含んで前記音声ファイルに格納された合成音についての再生順序情報を記載した順序情報ファイルと共に、前記合成音送出手段に出力し、
前記合成音送出手段は、前記順序情報ファイルに記載された再生順序情報にしたがって、前記音声ファイルから前記所定時間枠に必要な合成音を抽出して合成音声を再生する
ことを特徴とする請求項1又は請求項2に記載の音声合成装置。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の音声合成装置を実施するための形態(以下「実施形態」という)について詳細に説明する。
【0013】
(第1実施形態)
[音声合成装置の概要]
音声合成装置100は、所定時間枠の開始時刻よりも前に合成音を作成して所定時間枠において合成音声を再生するものである。ここで、所定時間枠とは、所定の目的の内容を表す合成音声を再生して外部に出力し、多数の人々に対して当該内容を報知する時間帯のことである。以下では、所定時間枠は、一例としてテレビやラジオ等の放送の編成の単位すなわち放送番組の番組時間尺であるものとして説明する。なお、放送は、地上デジタル放送、衛星放送、ケーブル放送等、無線、有線を問わない。
【0014】
図1に示すように、音声合成装置100は、複数の入力手段200と、複数の合成音作成手段300と、合成音送出手段400とを備える。
入力手段200は、合成音の元になる情報として文、単語及び記号のうちの少なくともいずれかを含む原データを順次入力するものである。
【0015】
複数の合成音作成手段300は、原データに対応した合成音を順次作成すると共に合成音間に挟む無音の長さを予め定められた方法で推定又は無音を生成し、合成音と合成音間に挾む無音の長さの情報を格納した音声ファイルを作成するものである。
これら複数の合成音作成手段300は、音声ファイルを共通のデータ形式でそれぞれ作成する。
複数の合成音作成手段300は、それぞれが互いに異なる番組の合成音を作成する。
【0016】
ここで、音声ファイルは、例えば「音声データx(1)」、「x(1)〜x(2)間の無音」、「音声データx(2)」、「x(2)〜x(3)間の無音」、…、「x(N−1)〜x(N)間の無音」、「音声データx(N)」という情報に対応している。なお、合成音作成手段300の詳細については後記する。
【0017】
合成音送出手段400は、番組時間尺において音声ファイルから必要な合成音を取り出して合成音の長さと合成音間に挾む無音の長さとの少なくとも一方の長さを変更して番組時間尺に収まるように調整した合成音声を再生するものである。この合成音送出手段400は、音声ファイルから番組に必要な合成音を所定の順序で取り出して合成音声を再生する。
【0018】
合成音送出手段400は、音声ファイルに基づいて、例えば「音声データx(1)」、「x(1)〜x(2)間の無音」、「音声データx(2)」、「x(2)〜x(3)間の無音」、…、「x(N−1)〜x(N)間の無音」、「音声データx(N)」という入力を受けて、後記する伸縮率を計算し、個々の「音声データ及び無音」に対して伸縮率を掛けて得られた長さになるように、音声データの話速変換を行ったり、無音の長さをカット又は延長したりするなどして合わせこんで再生出力を行う。話速変換には、特許第3187241号等に記載された手法を用いることができる。
【0019】
この合成音送出手段400は、事前に複数の合成音作成手段300にて共通のデータ形式で作成されたそれぞれの音声ファイルを用いて合成音声を再生する。つまり、複数の合成音作成手段300は、合成音送出手段400を共用する。なお、合成音送出手段400の詳細については後記する。
【0020】
図1に示す音声合成装置100は、一例として、株価データに対応した株式市況の合成音を作成する合成音作成手段300Mと、天気データに対応した天気予報の合成音を作成する合成音作成手段300Wと、を備えることとした。また、音声合成装置100は、原データとして株価データ(テキストデータ、数値データ)を入力する入力手段200Mと、原データとして天気データ(テキストデータ、数値データ)を入力する入力手段200Wと、を備えることとした。
【0021】
[合成音作成手段の構成例]
合成音作成手段300は、
図2に示すように、有声区間データ設定手段310と、無音設定手段320と、音声ファイル作成手段330と、順序情報ファイル作成手段340と、音響特徴量ファイル作成手段350と、ファイル出力手段360とを備えることとした。
【0022】
有声区間データ設定手段310は、原データに対応した合成音を有声区間データとして作成するものである。この有声区間データ設定手段310は、どんな番組内容を表す合成音を作成するかによって具体的な構成が異なる場合がある。なお、複数の特定目的の番組に適した複数の構成例については後記する。
無音設定手段320は、有声区間データと有声区間データとの間にある無音の長さを推定して設定するものである。なお、このように無音の長さ(時間長)を推定して設定する代わりに、その長さの無音(所定時間長に亘って振幅が0の音声データ)を実際に作成するようにしてもよい。ここで、無音の長さは、要素の属性により固定値でも構わないし、例えば特開2008−116826号公報に記載された手法を用いて決定するようにしてもよい。
【0023】
<株式データが入力する場合>
ここで、入力手段200から原データとして株式データが有声区間データ設定手段310及び無音設定手段320に入力する場合の具体列について説明する。
例えば、株式データ(テキストデータ、数値データ)が、「NHK(登録商標),12万3456円,789円安、MT,98万7654円,321円高」であれば、有声区間データ設定手段310は、「NHK」の合成音、「12万3456円」の合成音、「789円安」の合成音、「MT」の合成音、「98万7654円」の合成音、「321円高」の合成音をそれぞれ作成する。株式市況の合成音の作成方法としては、例えば特許第4603290号に記載の手法を用いたり、市販の音声合成システムを用いたりすることができる。
【0024】
また、この場合、無音設定手段320は、「NHK」の合成音(有声区間データ)と「12万3456円」の合成音との間にある無音の長さ、「12万3456円」の合成音と「789円安」の合成音との間にある無音の長さ、「789円安」の合成音と「MT」の合成音との間にある無音の長さ、「MT」の合成音と「98万7654円」の合成音との間にある無音の長さ、「98万7654円」の合成音と「321円高」の合成音との間にある無音の長さをそれぞれ推定して設定する。ここで、無音の長さは、要素の属性により固定値でも構わないし、例えば特開2008−116826号公報に記載された手法を用いて決定するようにしてもよい。
【0025】
<天気データが入力する場合>
次に、入力手段200から原データとして天気データが有声区間データ設定手段310及び無音設定手段320に入力する場合の具体列について説明する。
例えば、天気データ(テキストデータ)が、「山口東部は、晴れるでしょう。山口西部は、晴れときどき曇りでしょう。」であれば、有声区間データ設定手段310は、「山口東部は」の合成音、「晴れるでしょう」の合成音、「山口西部は」の合成音、「晴れときどき曇りでしょう」の合成音をそれぞれ作成する。天気予報の合成音の作成方法としては、例えば特許第5054632号に記載の手法を用いたり、市販の音声合成システムを用いたりすることができる。
【0026】
また、この場合、無音設定手段320は、「山口東部は」の合成音(有声区間データ)と「晴れるでしょう」の合成音との間にある無音の長さ、「晴れるでしょう」の合成音と「山口西部は」の合成音との間にある無音の長さ、「山口西部は」の合成音と「晴れときどき曇りでしょう」の合成音との間にある無音の長さをそれぞれ推定して設定する。ここで、無音の長さは、要素の属性により固定値でも構わないし、例えば特開2008−116826号公報に記載された手法を用いて決定するようにしてもよい。
【0027】
音声ファイル作成手段330は、有声区間データ設定手段310で作成された合成音(有声区間データ)と、無音設定手段320で設定された無音の長さとを含む音声ファイルを作成するものである。
音声ファイル作成手段330には、有声区間データ設定手段310から音声データと文章を読み上げる場合の順序が入力され、無音設定手段320から無音の長さの情報が入力される。
音声ファイル作成手段330は、個々の有声区間データに対応した個別ファイルを番組時間尺で再生する分だけ全てまとめた1つの大きな音声ファイルを作成する。この音声ファイルには、例えば、音声部品番号、読み上げ(テキスト)データ、音声波形データ、合成音のデータ長、無音の長さ等が含まれている。
【0028】
音声ファイル作成手段330は、番組時間尺において再生する合成音(所定時間枠に必要な合成音)のうち重複した合成音については1つだけ音声ファイルに格納する。なお、重複した合成音の再生順序については順序情報ファイルに記載する。具体的には、例えば、株式市況の番組で「5000円」の合成音の再生が2回必要であっても、音声ファイルには「5000円」の合成音は1つだけ格納される。音声ファイルに格納された全ての合成音のデータ長の合計の長さは、通常、番組に必要な音声のデータ長とは異なっている。
【0029】
順序情報ファイル作成手段340は、音声ファイル中の合成音の再生順序情報が格納された順序情報ファイルを作成するものである。
順序情報ファイル作成手段340には、有声区間データ設定手段310から音声データと文章を読み上げる場合の順序が入力される。なお、文章を読み上げる場合の順序等は入力手段200から入力してもよい。
音声ファイルでは、音声データが識別情報(音声部品番号等)に対応付けられる。このような音声データの識別情報を、文章を読み上げる場合の順序に対応付けた再生順序情報を生成することで、再生順序や再生タイミングを設定することができる。この順序情報ファイルは、番組時間尺において再生する合成音(所定時間枠に必要な合成音)のうち重複した合成音については、その重複した合成音の再生順序を含んでいる。また、順序情報ファイルは、合成音送出手段400にて合成音声を再生する際に、合成音の再生リストとして利用される。
【0030】
音響特徴量ファイル作成手段350は、合成音の音声の高さの情報が格納された音響特徴量ファイルを作成するものである。
音響特徴量ファイル作成手段350には、有声区間データ設定手段310から音声データと文章を読み上げる場合の順序が入力される。なお、文章を読み上げる場合の順序等は入力手段200から入力してもよい。
ここで、音声の高さの情報には、合成音の全ての区間における音声の高さの情報が含まれる。これらの音声の高さの情報は、合成音送出手段400にて合成音声を再生する際に、話速変換を行うために利用される。これにより、合成音送出手段で音声の高さを抽出することなく、話速変換を行うことができる。
【0031】
なお、この音響特徴量ファイルについては、例えば、汎用的な音声データとして予め集積したデータ毎に、先端ピッチ周波数や後端ピッチ周波数等の情報を、上記声の高さの情報として格納したデータベース(不図示)を利用して、入力手段200から原データが入力する前に作成できる部分を事前に作成しておいてもよい。
【0032】
ファイル出力手段360は、音声ファイルと、順序情報ファイルと、音響特徴量ファイル(以下、音声ファイル等と略記する場合もある)を合成音送出手段400に出力するものである。音声ファイル等を合成音送出手段400に出力する際に3つのファイルを同時に出力してもよいし、異なるタイミングで出力してもよい。
【0033】
[特定目的に適した有声区間データ設定手段の構成例]
<株式市況の読み上げ目的>
図3に示す有声区間データ設定手段310Mは、株式市況の読み上げに用いる数値特有の合成音を作成するために、数値音声記憶手段311mと、数値分割手段312mと、数値音声探索手段313mと、数値音声連結手段314mとを備えている。これらの構成は、株式市況を読み上げる際の数値に関する合成音の作成方法の一例として特許第4603290号に記載の手法を用いたものであり、当該合成音の作成方法自体は本発明と直接的な関係がないため、ここでは概略のみ説明する。なお、
図3では、有声区間データ設定手段310Mの出力側(右側)において、順序情報ファイル作成手段340及び音響特徴量ファイル作成手段350を省略し、代表して音声ファイル作成手段330のみ図示した。
【0034】
加えて、この有声区間データ設定手段310Mは、株式市況の読み上げに用いる数値以外の会社名等の非数値の合成音を作成するために、非数値音声記憶手段311nと、非数値分割手段312nと、非数値音声探索手段313nと、非数値音声連結手段314nとを備えている。これらの構成は、従来公知の一般的なテキストデータの合成音の作成方法と同様のものであり、当該合成音の作成方法自体は本発明と直接的な関係がないため、ここでは概略のみ説明する。
【0035】
数値音声記憶手段311mは、ハードディスク等の記憶媒体によって構成されており、数値(数値データ)の桁区切りの発話時刻に関連付けた数値、つまり、桁毎の数値を読み上げた音声データを単位音声として記憶しているものである。この実施形態では、数値音声記憶手段311mは、桁の集合からなる「文章」を構成単位としており、各文章には「文番号」が付されており、各桁の発話時刻が記憶されている。
【0036】
数値分割手段312mは、入力手段200Mに入力された数値(数値データ)を、各桁(位取りしたもの)に分割した各桁分割候補とするものである。各桁分割候補は、数値を各桁に分割したもの、例えば、10桁の数値であれば10個に、6桁の数値であれば6個に分割したものである。
【0037】
また、この数値分割手段312mは、入力手段200Mに入力された数値(数値データ)に当該数値の単位(例えば、円、株、個)が付加されていた場合には、数値の最後の桁(1桁目)を分割する際に、この1桁目の数値に単位を付加した数値単位候補に分割するものである。例えば、最後の桁の数値が「3」であり、単位が「円」である場合、「3円」が数値単位候補となる。
【0038】
数値音声探索手段313mは、入力された数値(数値データ)が数値分割手段312mで分割された各桁分割候補を探索単位として、数値音声記憶手段311mに記憶されている音声データを連結した連結コストが最小になる、各桁分割候補に対応する音声データの組み合わせである音声データ列を探索するものである。ここで、連結コストは、数値(各桁分割候補)に対応する音声データがどれだけ滑らかに接続されるかを示す指標である。
【0039】
数値音声連結手段314mは、数値音声探索手段313mにより数値音声記憶手段311mを探索した探索結果である音声データ列に含まれる音声データそれぞれを連結(接続)するものである。数値音声連結手段314mは、音声データ同士を連結した連結部分の補正を行う機能も有している。この数値音声連結手段314mは、連結され、補正された音声データ列を、数値(数値データ)を音声合成した結果である有声区間データとして、音声ファイル作成手段330に出力する。
【0040】
非数値音声記憶手段311nは、数値(数値データ)以外のテキストデータを読み上げた音素又は単語を単位とした音声データを単位音声として記憶している点が数値音声記憶手段311mと相違するが同様にハードディスク等の記憶媒体によって構成されている。
【0041】
非数値分割手段312nは、入力手段200Mに入力されたテキストデータを、非数値音声記憶手段311nにて単位音声としている記憶している単位(音素又は単語)に対応する単位データに分割するものである。
【0042】
非数値音声探索手段313nは、入力されたテキストデータが非数値分割手段312nで分割された単位データを探索単位として、非数値音声記憶手段311nに記憶されている音声データを連結した連結コストが最小になる、各単位データに対応する音声データの組み合わせである音声データ列を探索するものである。
【0043】
非数値音声連結手段314nは、非数値音声探索手段313nにより非数値音声記憶手段311nを探索した探索結果である音声データ列に含まれる音声データそれぞれを連結(接続)するものである。非数値音声連結手段314nは、連結された音声データ列を、非数値(非数値データ)を音声合成した結果である有声区間データとして、音声ファイル作成手段330に出力する。
【0044】
<気象通報の読み上げ目的>
図4に示す有声区間データ設定手段310Wは、グラフ群蓄積手段315と、入力文章グラフ解析手段316と、音声選択手段317と、音声接続手段318と、を備えている。これらの構成は、気象通報を読み上げる際の合成音の作成方法の一例として特許第5054632号に記載の手法を用いたものであり、当該合成音の作成方法自体は本発明と直接的な関係がないため、ここでは概略のみ説明する。
【0045】
グラフ群蓄積手段315は、予め外部から入力された複数の有向グラフを蓄積し、入力文章グラフ解析手段316の求めに応じて、当該有向グラフを出力するものであり、ハードディスク又はフラッシュメモリ等で構成される。有向グラフは、複数のノードと各ノード間の接続を表すエッジとで構成され、前記したノードのそれぞれに置換可能なテキストデータと、当該テキストデータに対応する複数の音声が割り当てられて全体として文章を形成することができるものを意味している。
【0046】
有向グラフは、例えば
図5に示すように、「START」で示された開始ノードと、「[場所]の」という変数を含むノードA1と、「[緯度]」という変数からなるノードA2と、「[経度]付近には」という変数を含むノードA3と、「[気圧]の」という変数を含むノードA4と、「[番号]から変わった+(擾乱・・・)」、「(・・・変わった)−[擾乱種類]があって」、「[擾乱種類]があって」という変数を含むノードA5と、「ほとんど停滞しています」からなるノードA6と、「[方角]へ」という変数を含むノードA7と、「毎時[時速]で進んでいます」という変数を含むノードA8と、「END」で示された終了ノードと、各ノード間に矢印で示されたエッジと、から構成されている。なお、
図5に示す有向グラフにおいて、「[]」は変数を表している。
【0047】
また、ノードA1〜A8における各変数には、
図6に示すように、複数のテキストデータのリストが割り当てられている。例えば[場所]のリストには、「日本のはるか東、…」等が含まれており、[緯度]のリストには、北緯0度から南緯0度までの度数が含まれており、[経度]には、東経1度から西経180度までの度数が含まれている。また、[気圧]のリストには、700ヘクトパスカルから1200ヘクトパスカルまでの数値が含まれており、[番号]のリストには、台風第1号から台風第200号までの号数が含まれている。そして、[擾乱種類]のリストには、「熱帯低気圧があって、…」等が含まれており、[方角]のリストには、東西南北を表す16方位が含まれており、[時速]のリストには、1キロから500キロまでの速度が含まれている。
【0048】
そして、これらのリスト(置換可能なテキストデータ)は、有向グラフのノードのそれぞれに関連づけて、グラフ群蓄積手段315に蓄積されており、有向グラフを比較する際にノードに対応したリストを参照できるようになっている。また、グラフ群蓄積手段315には、
図6に示すリスト(置換可能なテキストデータ)のそれぞれに対応する音声が予め割り当てられて蓄積されている。
【0049】
入力文章グラフ解析手段316は、外部から入力された入力文と、グラフ群蓄積手段315に蓄積されている複数の有向グラフとを比較することで、入力文と、グラフ群蓄積手段315に蓄積されているいずれかの有向グラフのノードにおけるテキストデータとの対応関係を得る。そして、入力文章グラフ解析手段316は、入力文に対応するテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段317に対して出力する。
【0050】
ここで、例えば、「ルソン島の北緯16度東経122度付近には950ヘクトパスカルの台風第3号から変わった熱帯低気圧があって南へ毎時10kmで進んでいます」という文が入力された場合、入力文章グラフ解析手段316は、
図5に示すように、有向グラフ及び
図6のリストから、[場所]=「ルソン島」、[緯度]=「北緯16度」、[経度]=「東経122度」、[気圧]=「950ヘクトパスカル」、〈分岐1〉=「1」、[番号]=「台風第3号」、[擾乱種類]=「熱帯低気圧」、〈分岐2〉=「2」、[方角]=「南」、[時速]=「10km」という対応関係を得る。そして、入力文章グラフ解析手段316は、これらのテキストデータと、当該テキストデータに割り当てられた音声とを音声選択手段317に対して出力する。
【0051】
音声選択手段317は、入力文章グラフ解析手段316において得られた対応関係を用いて、有向グラフのノードにおけるテキストデータと対応付けられている音声について、当該音声と接続する前後の音声の接続部分における類似度が最大となる組み合わせを選択する。そして、音声選択手段317は、選択した音声の組み合わせを音声接続手段318に対して出力する。音声接続手段318は、音声選択手段317によって選択された音声の組み合わせを入力文の構成順に接続し、合成音声からなる有声区間データとして出力する。
【0052】
[合成音送出手段の構成]
図1の合成音送出手段400の構成について、
図7〜
図9を参照しながら説明する。
合成音送出手段400は、ここでは
図7に示すように、ファイル管理手段410と、伸縮率決定手段420と、再生出力用データ作成手段430と、音声バッファリング手段440と、音声再生手段450と、を備えている。
【0053】
<ファイル管理手段410>
ファイル管理手段410は、合成音作成手段300で作成された音声ファイル等を記憶して管理するものであり、ファイル記憶手段411と、制御手段415と、を備えている。
【0054】
≪ファイル記憶手段411≫
ファイル記憶手段411は、データを記憶することができるハードディスク又はフラッシュメモリ等で構成される。
ファイル記憶手段411は、音声ファイル500を上書可能に記憶するための2つの記憶領域412a,412bを有する。音声ファイル500は、合成音作成手段300で作成された音声ファイルである。なお、音声ファイル500には、話速変換前の音声データが格納されており、これら音声データが識別情報(音声部品番号等)に対応付けられている。ここで、音声データとは、例えばフレーズ単位や単語単位の音声を示すデータのことを示している。
【0055】
ファイル記憶手段411は、2つの記憶領域412a,412bを有しているので、例えば、一方に音声ファイル500が記憶され、他方が空いているときに、合成音作成手段300から、更新された音声ファイルを受信した場合に、その更新ファイルも記憶できる。また、後記するように、所定のタイミングで一方の記憶領域が上書不可にロックされることで、音声合成装置100のシステム安定性を高めることができる。
【0056】
ファイル記憶手段411は、順序情報ファイル600を記憶するための2つの記憶領域413a,413bを有する。順序情報ファイル600は、合成音作成手段300で作成された順序情報ファイルである。この順序情報ファイルは、放送番組において再生する音声データの種類及び順番が示されたリスト(再生リスト)であることを示している。
【0057】
ファイル記憶手段411は、音響特徴量ファイル700を記憶するための2つの記憶領域414a,414bを有する。音響特徴量ファイル700は、合成音作成手段300で作成された音響特徴量ファイルである。
ファイル記憶手段411は、ここでは
図7に示すように、合成音送出手段400内に設けられているが、外部に設けられた構成としても構わない。
【0058】
≪制御手段415≫
制御手段415は、例えばCPU(Central Processing Unit)から構成され、合成音作成手段300から受信する音声ファイル等をファイル記憶手段411に記憶して管理するものである。
【0059】
制御手段415は、音声ファイル500から、順序情報ファイル600に記載されている音声データを読み込み、図示しないメモリ上に展開する。そして、制御手段415は、メモリ上に蓄えた音声データのうち、1回の話速変換に必要な分の音声データを話速変換手段433に対して出力する。ここで、「1回の話速変換に必要な分の音声データ」とは、ファイル管理手段410の図示しないメモリ上に蓄えられた音声データのうちの一部の音声データのことを示しており、具体的には、音声データの話速変換の際の単位となる波形の基本周期を3つ以上有する長さの音声データのことを示している。
【0060】
制御手段415は、番組に必要なデータであって図示しないメモリ上に蓄えている話速変換前の音声データの長さの総和(以下、残音声データの長さという)を伸縮率決定手段420内の残必要時間算出手段422(
図8参照)及び再生出力用データ作成手段430内の目標時間長算出手段431に対して出力する。
【0061】
制御手段415は、番組における開始時刻以前の指定時刻を検出した場合又は外部から所定信号を受け付けた場合に、その時点で最新の音声ファイルが格納されている側の記憶領域を、上書可能の非ロック状態から上書不可のロック状態に遷移させる。制御手段415は、上書不可のロック状態に遷移している記憶領域412aに格納された音声ファイル500を参照して音声データを抽出する。
【0062】
したがって、音声合成装置100のシステム安定性を高めるためにファイル記憶手段411に音声ファイルのための2つの記憶領域412a,412bを設けて更新ファイルも記憶できるようにしていたとしても、指定時刻を検出した場合やユーザ操作によるロック指示を受け付けることで、オンエアに用いる音声ファイルを保護できる。そのため、本番(オンエア)中において、再生に用いている音声ファイルが書き換えられるといった放送事故が起こらない放送用の音声合成装置とすることができる。
【0063】
なお、詳細は
図8を参照して後記するが、本実施形態では、ファイル管理手段410の制御手段415は、例えば現在時刻や番組の終了時刻等の時刻情報を伸縮率決定手段420に出力することとした。さらに、話速変換を行う前の音声データの長さの総和の情報(残音声データの長さ)や、合成音声の再生を番組時間尺内に収めるために使う予め定められた無音の長さ(基準無音長)の情報等も伸縮率決定手段420に出力することとした。
【0064】
<伸縮率決定手段420>
伸縮率決定手段420は、音声ファイル500に格納された音声データの話速変換を行う際の伸縮率を決定するものである。本実施形態では、番組の放送中に伸縮率を適宜変化させるために、伸縮率決定手段420が、
図8に示すように、残期間算出手段421と、残必要時間算出手段422と、伸縮率算出手段423と、を備えることとした。
【0065】
≪残期間算出手段421≫
残期間算出手段421には、
図8に示すように、ファイル管理手段410内の(制御手段415:
図7参照)から、番組放送中の現在時刻と放送番組の終了時刻とが入力されるとともに、音声バッファリング手段440から当該音声バッファリング手段440が保存している無音付音声データの長さが入力される。ここで、「無音付音声データ」とは、無音接続手段434において、話速変換後の音声データに、当該音声データ間の間を示す無音が接続されたものを示している。
【0066】
そして、残期間算出手段421は、以下の式(1)に示すように、「終了時間−現在時刻」から音声バッファリング手段440に保存されている無音付音声データの長さの総和を減算することで残放送時間(残期間)を算出し、
図8に示すように、当該残放送時間(残期間)を伸縮率算出手段423に対して出力する。
【0067】
残放送時間(残期間)
=(終了時刻−現在時刻)−音声バッファリング手段内の無音付音声データの長さの総和
… 式(1)
【0068】
前記式(1)における(終了時間−現在時刻)は、放送番組の放送中において処理時点における当該番組の終了時刻までの期間であって、放送中に適宜変化する変数である。この(終了時間−現在時刻)は、指定時間長であって、現在時刻から見て番組が終了するまでに要する今後の客観的な放送時間である。
「音声バッファリング手段内の無音付音声データの長さの総和」とは、音声バッファリング手段440に保存されて未再生である無音付音声データの長さの総和のことである。
つまり、残放送時間(残期間)とは、上記指定時間長(今後の客観的な放送時間)とは異なり、伸縮率の計算に必要な一時記憶時間を考慮した放送時間のことである。
【0069】
≪残必要時間算出手段422≫
残必要時間算出手段422には、
図8に示すように、ファイル管理手段410内の制御手段415(
図7参照)から、残音声データの長さと基準無音長とが入力される。
そして、残必要時間算出手段422は、以下の式(2)に示すように、残音声データの長さに、基準無音長の総和を加算することで残コンテンツ時間(残必要時間)を算出し、
図8に示すように、当該残コンテンツ時間(残必要時間)を伸縮率算出手段423に対して出力する。
【0070】
残コンテンツ時間(残必要時間)=残音声データの長さ+基準無音長の総和
… 式(2)
【0071】
前記式(2)における「残音声データの長さ」は、放送番組に必要な合成音であって処理時点において話速変換されていない音声データの長さの総和のことであり、「基準無音長」とは予め定められた無音の長さである。
【0072】
≪伸縮率算出手段423≫
伸縮率算出手段423には、
図8に示すように、残期間算出手段421から残放送時間(残期間)が入力され、残必要時間算出手段422から残コンテンツ時間(残必要時間)が入力される。そして、伸縮率算出手段423は、以下の式(3)に示すように、残コンテンツ時間(残必要時間)に対する残放送時間(残期間)の値を伸縮率として算出し、
図8に示すように、当該伸縮率を目標時間長算出手段431及び話速変換手段433に対して出力する。
【0073】
伸縮率=残放送時間(残必要時間)/残コンテンツ時間(残必要時間) … 式(3)
【0074】
なお、伸縮率は、場合によって100%よりも小さいときや大きいときがある。伸縮率が100%以下の場合、話速変換で早くしたり、無音の長さをカットするなどすればよく、伸縮率が100%より大きい場合、話速変換で遅くしたり、無音の長さを延長したりすればよい。
【0075】
<再生出力用データ作成手段430>
再生出力用データ作成手段430は、音声データの話速変換を行うとともに、話速変換後の音声データに無音を接続するものである。再生出力用データ作成手段430は、ここでは
図7に示すように、目標時間長算出手段431と、時間長差分算出手段432と、話速変換手段433と、無音接続手段434と、を備えている。
【0076】
≪目標時間長算出手段431≫
目標時間長算出手段431は、個々の音声データの話速変換後の目標時間長を算出するものである。この目標時間長算出手段431は、ファイル管理手段410内の制御手段415を介して音声ファイル500を参照して、話速変換前の音声データの長さ及び基準無音長を取得する。加えて、目標時間長算出手段431には、伸縮率決定手段420内の伸縮率算出手段423(
図8参照)から伸縮率が入力される。そして、目標時間長算出手段431は、以下の式(4)に示すように、話速変換前の音声データの長さに基準無音長を加算し、当該加算した値に伸縮率を乗算することで、個々の音声データについての目標時間長を算出し、
図7に示すように、当該目標時間長を時間長差分算出手段432に対して出力する。なお、目標時間長算出手段431は、個々の音声データごとに目標時間長を算出するため、例えば音声データの数が4つの場合は目標時間長も4つ分算出する。
【0077】
目標時間長=(話速変換前の音声データの長さ+基準無音長)×伸縮率 … 式(4)
【0078】
前記式(4)における「話速変換前の音声データの長さ」は、放送番組に必要な合成音であって処理時点において話速変換されていない個々の音声データの長さのことであり、「基準無音長」とは予め定められた無音の長さである。
【0079】
≪時間長差分算出手段432≫
時間長差分算出手段432は、所定の音声データについての目標時間長から当該所定の音声データを話速変換した後の音声データの長さを減算することで、両者の差分を算出するものである。
【0080】
時間長差分算出手段432には、
図7に示すように、所定の音声データについて目標時間長算出手段431から目標時間長が入力され、当該所定の音声データについて話速変換手段433から話速変換後の音声データの長さが入力される。そして、時間長差分算出手段432は、以下の式(5)に示すように、目標時間長から話速変換後の音声データの長さを減算することで、両者の差分である時間長差分を算出し、
図7に示すように、当該時間長差分を無音接続手段434に対して出力する。
【0081】
時間長差分=目標時間長−話速変換後の音声データの長さ … 式(5)
【0082】
前記式(5)において、「話速変換後の音声データ」とは、話速変換手段433によって話速変換された音声データであって、無音が接続されていない音声データのことを示している。
【0083】
≪話速変換手段433≫
話速変換手段433は、伸縮率決定手段420によって決定された伸縮率に従って、音声データの話速変換を行うものである。
話速変換手段433には、
図7に示すように、ファイル管理手段410内の制御手段415から1回の話速変換に必要な分の音声データが入力され、伸縮率決定手段420内の伸縮率算出手段423(
図8参照)から伸縮率が入力される。そして、話速変換手段433は、例えば音声データのパワー、零交差数、自己相関関数を用いて音声区間を検出するとともに、音声区間についてピッチ周期の抽出を行い、そのピッチ周期と伸縮率とによって規定される時間長に基づいて、音声波形の間引き/繰り返しを行い、音声波形同士を適切な時間長で重ね合わせて接続することで、話速変換を行う。なお、このような話速変換手法については、公知の技術を用いることができる(例えば、特許第3327936号、特許第2955247号)。
【0084】
話速変換手段433は、例えば
図9(a)に示すように、音声データの入力波形を分析して基本周期(例えば5〜10ミリ秒)を抽出する。そして、話速変換手段433は、
図9(a)に示すように、基本周期分の音声波形を間引くことで音声データを短縮して話速を速め、基本周期分の音声波形を繰り返すことで音声データを伸長して話速を遅くする。なお、
図9(a)では、(3)の音声波形と(8)の音声波形とを間引くあるいは繰り返して話速変換を行っているが、これは一例を示したものである。
【0085】
ここで、話速を変換する方法としては、例えばテープの遅回しのような方法もあるが、この場合は
図9(b)に示すように、音声波形の基本周期の数は変えずに、当該基本周期自体を長くするため、話速変換後の音声が低くなってしまう。一方、話速変換手段433における話速変換は、
図9(a)に示すように、音声波形の基本周期を変えずに、当該基本周期を間引く、あるいは繰り返すことで基本周期の数を変化させるため、話速変換後の音声の高さは変化しないという利点がある。
【0086】
話速変換手段433は、以上のような処理によって音声データの話速変換を行い、
図7に示すように、話速変換後の音声データを無音接続手段434に対して出力するとともに、話速変換後の音声データの長さを時間長差分算出手段432に対して出力する。
【0087】
≪無音接続手段434≫
無音接続手段434は、所定長の無音を話速変換後の音声データに接続することで、無音付音声データを生成するものである。この無音接続手段434には、
図7に示すように、時間長差分算出手段432から時間長差分が入力され、話速変換手段433から話速変換後の音声データが入力される。そして、無音接続手段434は、時間長差分に相当する長さの無音を話速変換後の音声データに接続して無音付音声データを生成し、
図7に示すように、当該無音付音声データを音声バッファリング手段440に対して出力する。
【0088】
<音声バッファリング手段440>
音声バッファリング手段440は、無音接続手段434によって生成された無音付音声データを一時的に保存するものである。音声バッファリング手段440は、
図7に示すように、無音接続手段434から入力された無音付音声データを保存し、音声再生手段450の要求に応じて、これらを順次出力する。
【0089】
また、音声バッファリング手段440は、
図7に示すように、当該音声バッファリング手段440内に保存されていてまだ出力されていない無音付音声データを合成音声として再生するために要する時間、つまり、その時点で保存されている無音付音声データの長さの総和を伸縮率決定手段420内の残期間算出手段421(
図8参照)に対して出力する。ここで、音声バッファリング手段440は、具体的にはデータを記憶することができるハードディスクまたはフラッシュメモリ等で構成される。
【0090】
<音声再生手段450>
音声再生手段450は、音声バッファリング手段440によって保存された無音付音声データから合成音声を再生するものである。音声再生手段450は、
図7に示すように、音声バッファリング手段440内に保存されている無音付音声データを古いものから順番に必要な個数だけ取り出し、スピーカ等の図示しない音声デバイスに対して出力して再生する。なお、音声再生手段450が音声バッファリング手段440から取り出す無音付音声データの必要な個数は、例えば音声再生手段450や音声デバイスの性能によって適宜設計変更される。
【0091】
合成音送出手段400は、前記したように、伸縮率算出手段423によって複数の音声データのうち、予め定められた数の音声データごとに伸縮率を算出し、話速変換手段433によって複数の音声データのうち、予め定められた数の音声データごとに前記した伸縮率に従って話速変換を行う。したがって、合成音送出手段400によれば、音声の再生前に番組に必要な全ての音声データを一定の伸縮率で話速変換するのではなく、音声の再生中にその都度伸縮率や無音の長さを調整しながら一部ずつ話速変換を行うため、放送中の再生時に何らかの不具合が生じたり、もしくは終了時間の変更が行われて番組時間尺が変動したりした場合であっても、音声データを番組時間尺内に収めて再生することができる。
【0092】
[音声合成装置の処理手順]
<合成音作成手段>
音声合成装置100の主として合成音作成手段300の処理手順について、
図10を参照(適宜
図1及び
図2を参照)しながら説明する。ここでは、一例として株式市況の番組の合成音を作成する合成音作成手段300Mについて説明する。
まず、放送局において、音声合成装置100の外部にある図示しないサーバは、例えば番組を開始する1〜2時間前に、株価データ提供元である通信社から専用回線を通して番組内容の原データ(株価データ)を取得する(ステップS301)。
【0093】
ここで、図示しないサーバは、音声合成装置100とファイルを共有しており、そのため、音声合成装置100は、株価データの更新を検知すると、入力手段200によって、番組内容の原データ(株価データ)を合成音作成手段300Mに入力する(ステップS302)。
【0094】
そして、合成音作成手段300Mは、有声区間データ設定手段310によって、原データ(株価データ)から合成音を作成する(ステップS303)。また、無音設定手段320によって、無音を設定する。
【0095】
そして、合成音作成手段300Mは、音声ファイル作成手段330によって、株式市況の合成音(有声区間データ)と無音の長さとを含む1つの大きな音声ファイルを作成する(ステップS304)。また、順序情報ファイル作成手段340によって、合成音の再生リストとなる順序情報ファイルを作成する。また、音響特徴量ファイル作成手段350によって、音声の高さの情報を含む音響特徴量ファイルを作成する。
【0096】
そして、合成音作成手段300Mは、ファイル出力手段360によって、音声ファイル等を合成音送出手段400へ出力する(ステップS305)。
合成音作成手段300Mは、株価データの入力から音声ファイルの出力まで例えば1分程度といった僅かな時間で実行できるので、合成音送出手段400は、番組を開始する1〜2時間前には、株価市況の放送番組のための合成音声の再生に用いる音声ファイルを取得することができる。
【0097】
<合成音送出手段>
次に、音声合成装置100の主として合成音送出手段400の処理手順について、
図11を参照(適宜
図1及び
図7を参照)しながら説明する。ここでは、合成音送出手段400が一例として株式市況の番組の合成音を送出するものとして説明する。
【0098】
合成音送出手段400は、ファイル管理手段410によって、合成音作成手段300Mから、音声ファイルを取得する(ステップS401)。ファイル管理手段410の制御手段415は、音声ファイルをファイル記憶手段411の所定の記憶領域412a(又は412b)に格納する。また、制御手段415は、合成音作成手段300Mから順序情報ファイルを受信した場合、ファイル記憶手段411の記憶領域413a(又は413b)に格納する。また、制御手段415は、合成音作成手段300Mから音響特徴量を受信した場合、ファイル記憶手段411の記憶領域414a(又は414b)に格納する。
【0099】
ここで、ファイル管理手段410の制御手段415は、番組開始前の指定時刻(例えばオンエアの10分前)になる前であれば、合成音作成手段300から新規のファイルを受け付けて古いファイルから順に上書更新してもよい。
一方、番組開始前の指定時刻になったら、ファイル管理手段410の制御手段415は、その時点で最新の再生出力用の音声ファイルを上書不可にロックする(ステップS402)。なお、この指定時刻以降に新規のファイルを受信した場合、上書可能の非ロック状態になっている側の記憶領域に古いファイルから順に上書更新するようにしてもよい。
【0100】
その後、ファイル管理手段410の制御手段415は、番組開始時刻になるまで待機し(ステップS403:No)、番組開始時刻になった場合(ステップS403:Yes)、合成音送出手段400は、伸縮率決定手段420によって、前記式(3)で定義された伸縮率を算出する(ステップS404)。そして、話速変換手段433は、算出された伸縮率を用いて音声データの話速を変換する(スプS405)。そして、無音接続手段434は、話速変換後の音声データに対して前記式(5)で定義された時間長差分の無音を接続することで無音付音声データを生成する(ステップS406)。この無音付音声データは音声バッファリング手段440に一時記憶される。そして、音声再生手段450は、音声バッファリング手段440によって保存された無音付音声データから合成音声を再生する(ステップS407)。
【0101】
合成音送出手段400は、番組に必要な合成音声の再生が終了するまで(ステップS408:No)、上記ステップS404〜ステップS407の一連の処理を続行し、番組終了時刻になったら(ステップS408:Yes)、処理を終了する。
【0102】
なお、ここでは、番組開始時刻から番組終了時刻まで合成音声を使用するものとして説明したが、合成音声を使用する番組の最中、例えば、番組冒頭、番組最後、番組途中等に通常の発話音声も使用してもよい。具体的には、番組冒頭と番組最後だけアナウンサーが発話して内容を伝える場合、番組における合成音声区間の開始時刻は、番組冒頭のアナウンサー発話区間の終了直後の時刻となり、合成音声区間の終了時刻は、番組最後のアナウンサー発話区間の開始直前の時刻となる。
【0103】
第1実施形態に係る音声合成装置100は、互いに目的の異なる株式市況と天気予報の各番組に関して、株式市況の番組の合成音を作成する合成音作成手段300Mと、天気予報の番組の合成音を作成する合成音作成手段300Wとを別々に構成し、かつ、各番組に関して合成音送出手段400を共有化して構成されている。このように構成することで、株式市況と天気予報の各番組に関して全て別々に構成した場合に比べ、ハードウェアを共有化し、合成音送出手段400におけるテスト項目を共有化できるなど、省力化することができる。ここで、合成音送出手段400のハードウェアを共有化すれば、当該ハードウェアに必要なスペースや費用を削減することができ、合成音送出手段400におけるソフトウェアのテストにかかる時間や費用を削減することができる。
【0104】
第1実施形態に係る音声合成装置100は、放送に直結した合成音送出手段400と、放送番組の開始時刻よりも数時間前にメイン動作を行う合成音作成手段300と、を分離して設けて構成されている。このように構成することで、合成音送出手段400は、放送機器レベルの安定性が求められるが、合成音作成手段300に関しては放送に直結しないため、合成音送出手段400ほどの安定性を必要とするものではない。仮に合成音作成手段300において不具合が生じたとしても、一般的には合成音作成手段300が外部のサーバから原データを受信した時点で不具合が判明することから、放送番組の開始時刻よりも例えば1時間前、少なくとも30分前には明らかになる。よって、原データから合成音声の作成ができなかったとしても、アナウンサーによる読み上げなどの代替手段をとることが可能である。よって、音声合成装置100によれば、放送事故の起こらない安定した放送用の音声合成装置を構築することができる。
【0105】
(第2実施形態)
図12は、本発明の第2実施形態に係る音声合成装置の全体構成を模式的に示すブロック図である。なお、
図1に示す構成と同様の構成には同様の符号を付して説明を省略する。第2実施形態に係る音声合成装置100Bは、複数のメディアに対応して複数の合成音送出手段400を備えている。
図12に示す例では、音声合成装置100Bは、2つの合成音作成手段301M,301Wと、2つの合成音送出手段400B,400Cを備えている。
【0106】
合成音作成手段301Mは、
図1に示した合成音作成手段300Mと同様の機能を備えており、株式市況の放送番組の合成音を含む音声ファイルを作成する。
合成音作成手段301Wは、
図1に示した合成音作成手段300Wと同様の機能を備えており、天気予報の放送番組の合成音を含む音声ファイルを作成する。
加えて、合成音作成手段301M,301Wは、作成した音声ファイルがいずれの合成音送出手段400B,400Cに対するものであるのかを識別する識別情報を当該音声ファイルに付加する機能を有している。
【0107】
合成音送出手段400B,400Cは、
図1に示した合成音送出手段400と同様の機能を備えている。
加えて、合成音送出手段400B,400Cは、合成音作成手段301M,301Wから音声ファイルを取得した際に、自己に付与された識別情報と、取得した音声ファイルに付加されている識別情報とが一致する場合のみ当該音声ファイルに基づいて合成音声を再生する機能を有している。これにより、合成音送出手段400B,400Cにおける読み間違いを防ぐことができる。
【0108】
図12に示す例では、2つのメディアのうちラジオ放送に対しては、合成音送出手段400Bが用いられ、インターネット放送に対しては、合成音送出手段400Cが用いられることとした。ここで、合成音送出手段400Bは、2つの合成音作成手段301M,301Wで共用され、合成音送出手段400Cも、同様に2つの合成音作成手段301M,301Wで共用されている。
【0109】
つまり、例えば合成音送出手段400Bを備えてラジオ放送における株式市況の放送番組の合成音声の再生を実現可能な音声合成装置において、さらに合成音送出手段400Cを追加するだけで、同様の株式市況の放送番組をインターネット放送においても実現することができることになる。
【0110】
その際に、株式市況の放送番組の番組時間尺は、2つのメディアにおいて必ずしも同じである必要はない。例えば放送局の編成の都合上、ラジオ放送における株式市況の放送番組の番組時間尺が15分であった場合、同じ音声ファイルであっても合成音送出手段400Cにて、より聞き取りやすい話速に変換して、より自然な音声の間となるように間を調整するなどして20分番組となるようにしてもよい。
【0111】
音声合成装置100Bの主として合成音作成手段301M,301Wの処理手順については、
図10のステップS304にて、作成した音声ファイルがいずれの合成音送出手段400B,400Cに対するものであるのかを識別する識別情報を当該音声ファイルに付加する以外は、第1実施形態と同様なので説明を省略する。
【0112】
音声合成装置100Bの主として合成音送出手段400B(又は400C)の処理手順については、
図11のステップS401にて取得した音声ファイルに付加されている識別情報と、自己に付与された識別情報とが一致する場合のみ当該音声ファイルに基づいて合成音声を再生する以外は、第1実施形態と同様なので説明を省略する。
【0113】
第2実施形態に係る音声合成装置100Bは、2つのメディアに対応して2つの合成音送出手段400B,400Cを備えているので、ラジオ放送における株式市況の放送番組と、インターネット放送における株式市況の放送番組とを、異なるタイミング及び異なる時間尺で再生して自動放送することが可能になる。
また、音声合成装置100Bは、2つのメディアに対応して2つの合成音送出手段400B,400Cを備えているので、ラジオ放送における天気予報の放送番組と、インターネット放送における天気予報の放送番組とを、異なるタイミング及び異なる時間尺で再生することができる。
さらに、音声合成装置100Bは、2つのメディアに対応して2つの合成音送出手段400B,400Cを備えているので、ラジオ放送における天気予報の放送番組(又は株式市況の放送番組)と、インターネット放送における株式市況の放送番組(又は天気予報の放送番組)とを、異なるタイミング及び異なる時間尺で再生することができる。
【0114】
<第2実施形態の変形例>
2つのメディアに対応して2つの合成音送出手段400B,400Cを備えることとしたが、さらにラジオ放送を、AMラジオ放送とFMラジオ放送とに分けて送出する場合、合成音送出手段400をさらに追加すればよい。つまり、メディアの種類の数は3つ以上であってもよい。
【0115】
以上、実施形態に基づいて本発明に係る音声合成装置について説明したが、本発明はこれらに限定されるものではない。例えば、各実施形態では、音声合成装置100,100Bが2つの合成音作成手段300を備えることとしたが、3つ以上であってもよい。
各実施形態では、所定の目的の内容を表す合成音声を作成するための原データを株価データと天気データとしたが、その他に例えばニュース原稿データであってもよい。
また、各実施形態では、所定の目的の内容を表す合成音声を再生して外部に出力し、多数の人々に対して当該内容を報知する方法が放送であるものとしたが、テレビ放送やラジオ放送に限らず通信によるものであってもよいし、防災無線等に適用してもよい。
【0116】
音声合成装置100は、電子回路が各種電子部品や半導体デバイス等によってハードウェア的に構築された回路であってもよいし、当該装置100の各構成の処理を汎用的または特殊なコンピュータ言語によって記述した音声合成プログラムとこれを処理するCPUの協働によって実現するものであってもよい。