以下にて、本発明にかかる電子機器、音声制御方法、およびプログラムの実施の形態について、図面に基づいて詳細に説明する。
実施の形態1.
まず、本実施の形態にかかるハードウェア構成について説明する。
図1は、本実施の形態における電子機器のハードウェア構成の一例を示すブロック図である。
電子機器10は内蔵したプロセッサ110等により情報処理を実行する装置である。電子機器10の具体的な例としては、PC(Personal Computer)が考えられるがこれに限定されず、例えばサーバ、タブレット、スマートフォン、デジタルTV(Television)、または光ディスクプレーヤ等の情報処理を実行することのできる種々のプロダクトが考えられる。
電子機器10は、プロセッサ110、メモリ120、ストレージ130、ディスプレイ140、スピーカ150、通信部160、入力部170、マイク180、およびバス190を有している。
プロセッサ110は、電子機器10全体を制御する演算処理装置である。プロセッサ110はストレージ130に格納されたコンテンツ生成プログラム131、音声生成プログラム132、言語辞書133、および音声辞書134に基づいて読み上げ音声を生成し、この音声を含むコンテンツを生成する機能を有している。プロセッサ110は電子機器10の中央処理装置(Central Processing Unit)であり、情報を処理する機能を有するが、制御部(Controller)、処理部(Processor)等の種々の呼称にて呼ぶことができる。また、プロセッサ110はハードウェアとして一つの回路、制御部、または処理部で構成されている必要はなく、一つまたは複数の回路、制御部、または処理部にて構成される。
メモリ120は、例えばRAM(Random Access Memory)と呼ばれる半導体で構成された揮発性の記憶装置(記憶媒体)であり、プロセッサ110が各種プログラムを実行する際にプログラムを展開する領域や、各種のキャッシュやバッファとして用いられる。
ストレージ130は、例えばHDD(Hard Disk Drive)、又はSSD(Solid State Disk)等で例示される大容量の不揮発性記憶装置(媒体)であり、プロセッサ110が実行する各種プログラムや、各プログラムを実行する際にプロセッサ110が参照するデータを格納している。本実施の形態では、プログラムとしてコンテンツ生成プログラム131および音声生成プログラム132がストレージ130に記憶されている。また、プロセッサ110が参照するデータとして言語辞書133および音声辞書134がストレージ130に記憶されている
コンテンツ生成プログラム131はプロセッサ110によって実行されるプログラムであり、コンテンツを生成する機能を有するソフトウェアである。ここでのコンテンツとは、例えば動画再生プログラム等により再生可能な、映像と音声が同期された動画音声データである。
音声生成プログラム132はプロセッサ110によって実行されるプログラムであって、音声生成するためのもととなる情報である言語辞書133、音声辞書134等に基づいて、音声を生成する機能を有するソフトウェアである。
言語辞書133はテキストデータの読みやアクセントなどの情報を含むデータベースである。電子機器10が任意のテキストデータから読み上げ方を表すテキストデータへの変換を行う際に、言語辞書133は参照される。
音声辞書134は音声データを生成するために必要な音声素片または音響パラメータを記憶したデータベースである。音声合成の方式がデータベース内の音声(波形)を変形しながら接続を行って音声合成を行う方式であれば、音声辞書134には音声素片が含まれる。音声素片とは読み上げ音声を生成するために必要な、文単位、文節単位、音節単位、および音素単位等で構成された音声データ(波形データ)である。また、音声合成の方式がフォルマント合成方式のような、人間の音声を使用せずに波形を生成する方式であれば、音声辞書134には波形生成に必要な音響パラメータが含まれる。音響パラメータとは、言語辞書133に含まれる単語の周波数や読み上げの速度を示す情報である。
ディスプレイ140は、電子機器10の筐体から露出して設けられる、例えばLCD(Liquid Crystal Display)やOELD(Organic Electroluminescence Display)等の表示装置(表示手段)である。ディスプレイ140はプロセッサ110から表示指示された映像を表示する機能を有している。
スピーカ150は、プロセッサ110からの音声出力指示に基づいて、電気信号を物理振動に変えて、音声を出力する装置である。
通信部160は内蔵されたアンテナによって、例えばワイヤレスLAN(Local Area Network)によって他の機器と通信を行う通信装置である。本実施の形態ではワイヤレスLANを例示して説明するが、当然これに限定されず、他の無線通信規格により他の機器と通信するとしても良いし、有線LANによって通信を実行するとしてもよい。また通信部160は、例えば3G(3rd Generation)やLTE(Long Term Evolution)等の移動体通信網を介して他の機器との通信を実行する通信装置であってもよい。
入力部170は、ユーザが文字データを入力可能なキーボードである。
マイク180は、周囲の音を電気信号に変換して電子機器10に入力する集音装置(マイクロフォン)である。
バス190は、接続される各構成を互いに通信可能に接続する機能を有する伝送回路である。
本実施の形態の電子機器10は、例えば通信部160からコンテンツフレームワーク、読み上げデータ、および映像データを受信し、読み上げデータに基づいて読み上げ音声を生成する。そして電子機器10は、コンテンツフレームワークに基づいて映像データと読み上げデータに基づいて生成された読み上げ音声の音声データを同期させたコンテンツを生成し、出力する機能を有している。以下では、これらのコンテンツフレームワーク、読み上げデータ、および映像データ等について説明を行う。
図2は、本実施の形態におけるコンテンツフレームワーク、読み上げデータ、および映像データを概念的に示した図である。
コンテンツフレームワーク301は、電子機器10がコンテンツを生成する際に使用される、コンテンツのタイムテーブルを有するデータである。コンテンツのタイムテーブルは、コンテンツ内の映像や音声の時間の枠組み(区切り、サブシーン)を定義する。
読み上げデータ302は、コンテンツにて読み上げられる文言を示すデータである。読み上げデータ302は、例えば任意のテキストデータであり、これには漢字やアルファベット、数字、または記号等が含まれていてもよい。
映像データ303は、コンテンツを生成するために用いられる映像の情報である。映像データ303のフォーマットとしては種々の形式が考えられるが、電子機器10がコンテンツを生成できるフォーマットであればどのような形式でもよい。
コンテンツフレームワーク301、読み上げデータ302、および映像データ303はそれぞれ映像と音声とを同期させる区間に基づいて管理されている。つまり、読み上げデータ302は、それぞれが割り当てられた区間で読み上げられる複数の音声を示す情報と呼ぶことができる。また、映像データ303は、それぞれが割り当てられた区間で表示される複数の映像を示す情報と呼ぶことができる。
コンテンツフレームワーク301には、上記区間の時間情報が定義されており、本実施の形態ではこの区間の幾つかをサブシーンと呼ぶ。サブシーンとは、コンテンツを提供されるユーザがコンテンツの内容を理解しやすいタイミングで区切ったコンテンツの一部区間や、コンテンツが示すべき一連の意図が示されるコンテンツの一部区間のことである。
読み上げデータ302のデータ形式は、サブシーンの番号と当該サブシーンで読み上げられる音声のテキストデータとが対応付けられた形式となっている。
映像データ303のデータ形式は、サブシーンの番号と当該サブシーンで表示される映像のデータとが対応付けられた形式となっている。
図2の例では電子機器10によってコンテンツの生成がなされた場合、サブシーン1として0:00から0:03まで区間が継続し、この区間において「全国のお天気です。」という音声が発話され、全国地図の映像が表示される。このようにコンテンツフレームワーク301に示されるサブシーンの区間において、読み上げデータ302が示す音声と、映像データ303が示す映像が出力されるようコンテンツは生成される。
次に、コンテンツフレームワーク301、読み上げデータ302、および映像データ303に基づいてコンテンツを生成するときの音声の読み上げの速度について説明する。
図3は、本実施の形態における音声読み上げ処理の一例を示す図である。
本実施の形態の電子機器10は読み上げデータ302に基づいた音声を生成する。生成の際には読み上げデータ302、言語辞書133、および音声辞書134に基づいて音声生成を行う。音声生成処理は後述にて詳細に説明するが、これらに基づいて生成された音声には速度の初期値(デフォルト)が存在する。速度調整を行っていない音声は初期値の速度にて生成および再生され、再生される音声の再生時間は一般的に、文章が長い場合には長時間、短い場合は短時間となる。
本実施の形態における電子機器10は3つの音声読み上げ方式で読み上げ音声を生成してコンテンツ生成することができる。以下では、これらの3つの音声読み上げ方式を音声読み上げパターン1〜3と呼ぶ。尚、ここでは電子機器10は3つの音声読み上げ方式で音声を生成することができるとするが、3つの音声読み上げ方式全てを実行できることは電子機器10の必須の構成ではなく、電子機器10は例えば読み上げパターン3のみを実行できる等のように、音声読み上げパターン3を含む1つ又は2つの読み上げパターンで読み上げ音声を生成できる構成であってもよい。
まず、音声読み上げパターン1は、音声を初期値の速度で読み上げる方式である。図3に示されるように初期値にて音声を読み上げる場合には、基本的に読み上げられる文字数に応じて読み上げに必要となる読み上げ時間が長くなる。例えば、サブシーン3は文字数が多いため、初期値の読み上げ速度では音声の読み上げに8秒要する。このため、サブシーン3の音声読み上げは、6秒で終了するサブシーン3の区間に入りきらず、サブシーン3の区間が終わった後も(サブシーン3の映像の表示が終わった後も)、音声の読み上げが継続していることとなる。このような場合、対応する映像が終わった後にも音声の読み上げが継続してしまうため、コンテンツを視聴しているユーザは映像と音声の対応関係を認識しづらく、音声読み上げパターン1はユーザに混乱を生じさせてしまう可能性がある。
次に、音声読み上げパターン2は、初期値の速度で音声の読み上げを行った場合にはサブシーンを超過してしまう読み上げ音声に対して、サブシーン区間内に収まるように速度調整を行って音声読み上げを実行する方式である。図3の例では、サブシーン3以外は音声の読み上げがそれぞれのサブシーンの区間内で完了するため、電子機器10はサブシーン3以外の区間では読み上げの速度を変化させない。しかし、サブシーン3では初期値の速度のままでは音声読み上げの時間がサブシーン区間を超過するため、電子機器10は音声読み上げがサブシーン3の区間内に完了するように音声読み上げの速度を変化させる。具体的には、初期値で読み上げた場合、サブシーン3の音声の読み上げには8秒がかかるが、サブシーン3は6秒しかないので、電子機器10は読み上げが6秒で収まるようにサブシーン3の音声読み上げを加速させる。これにより、全てのサブシーンについて、対応する映像が表示されている間に音声の読み上げが完了することになり、ユーザに混乱を生じさせることがなくなる。しかし、この読み上げパターンではサブシーン3のみ音声読み上げの速度が速く、他のサブシーンとサブシーン3との間で大きく音声読み上げの速度が変化してしまうので、ユーザに違和感を与えたり、聞き取りづらい音声となってしまったりする可能性がある。
音声読み上げパターン3は、速度調整を行った音声読み上げ速度の向上を他のサブシーンの音声読み上げにも同様に適用して、他のサブシーンの音声読み上げも加速させる音声読み上げ方法である。音声読み上げパターン3では、サブシーン3の区間に収めるためサブシーン3の音声読み上げ速度を向上させるとき、もともとサブシーン区間に収まっているサブシーン1、2、および4にもサブシーン3と同様の音声読み上げの速度向上を施す。例えば、サブシーン3の音声読み上げをサブシーン区間に収めるために、33%の音声読み上げの加速を行った場合、電子機器10はサブシーン1、2、および4にも同様に33%の音声読み上げの加速を施す。これにより、全体を通しての音声読み上げの速度が統一される。このため、各サブシーンの音声はそれぞれサブシーンの時間に収まり、さらに読み上げ速度の変化によるユーザの違和感や聞き取りづらさが防止される。
また、電子機器10は上述のように読み上げ速度を一致させるサブシーン群を適宜決定することができる。例えば、コンテンツに含まれる全てのサブシーンで音声の読み上げ速度を統一するとしても良いし、コンテンツ内の所定の区間(例えばサブシーン2〜4のみ等)の中で読み上げ速度を統一するとしても良い。
次に、本実施の形態において電子機器10がコンテンツ生成処理を実行するための構成や処理の詳細について図4から図9の図面を用いて詳細に説明する。
図4は、本実施の形態においてコンテンツ生成処理を実行するための機能構成の一例を示すブロック図である。
本実施の形態の電子機器10は、コンテンツフレームワーク301、読み上げデータ302、および映像データ303に基づいて、映像と音声とが含まれるコンテンツを生成し、出力する機能を有している。電子機器10は、読み上げデータ302に基づいて音声生成を行って読み上げ音声の音声データを生成し、生成した音声データと映像データ303と同期させたコンテンツを生成する。この機能を実行するために、ストレージ130に格納されていたコンテンツ生成プログラム131および音声生成プログラム132がプロセッサ110によって実行され、言語辞書133および音声辞書134はメモリ120に展開されてプロセッサ110の処理に活用される。図4ではプロセッサ110によって実行されるコンテンツ生成プログラム131および音声生成プログラム132の各機能の構成がブロックによって示されている。
プロセッサ110(コンテンツ生成プログラム131)は、通信部160が受信したコンテンツフレームワーク301、読み上げデータ302、および映像データ303を取得する。ここではコンテンツフレームワーク301、読み上げデータ302、および映像データ303を通信部160から受信する場合を例示して説明するがこれに限定されず、例えば光メディア等の媒体を読み込んで利用するとしても良い。また、コンテンツフレームワーク301はストレージ130に予め格納しておき、読み上げデータ302および映像データ303を、通信部160を介して取得するとしても良い。また、これらの方法を組み合わせた方法で情報を取得してもよい。
コンテンツ生成プログラム131のサブシーン時間設定部201は、コンテンツフレームワーク301、読み上げデータ302、および映像データ303を受信し、コンテンツフレームワーク301からサブシーンの時間長情報501を取得する機能を有している。サブシーンの時間長情報501とは図5に示されるように各サブシーンと当該サブシーンの時間長情報とが対応付けられた情報であり、ここでのサブシーンの時間長とはサブシーンの開始から終了までの時間の長さである。サブシーン時間設定部201は、読み上げデータ302を音声生成部202に、サブシーンの時間長情報501を伸縮パラメータ算出部204に送信する。
音声生成部202は、サブシーン時間設定部201から取得する読み上げデータ302に基づいてサブシーン毎の読み上げ音声情報601を生成する機能を有している。ここでサブシーン毎の読み上げ音声情報601とは、初期値(デフォルト)の速度で生成された音声の波形を示す情報であり、再生されるべきサブシーンと波形情報とが対応付けられている。
音声生成部202は、テキストデータである読み上げデータ302に形態素解析による言語解析を行った後、この解析結果より読み上げのフレーズ単位を決める。音声生成部202は読み上げのフレーズ単位を決めると、言語辞書133を参照して、このフレーズ単位での読みとアクセント位置を決定する。さらに、音声生成部202は、フレーズ単位で決定された読みとアクセント位置に基づいて文章におけるポーズ位置を予測し、この後に複数のフレーズ単位を含む文章についてイントネーション(ピッチ周期系列)およびリズム(音素の継続時間長)を決定する。音声生成部202は、このイントネーションおよびリズムを決定することで、読み上げ音声の初期値(デフォルト)の速度を定めている。最後に、音声生成部202は上記処理によって決定した文章の読み、アクセント、ポーズ位置、イントネーション、およびリズムに適合する音声素片を音声辞書134より選択し、これらの音声素片の波形を波形接続して読み上げ音声の波形を生成する。上記の言語解析の詳細処理については、例えば参考文献1や参考文献2に示す技術を利用してもよい。
参考文献1:特開2002−333896号公報
参考文献2:特開2003−44073号公報
また、波形接続処理についても例えば参考文献3で開示されているPSOLA(Pitch-Synchronous Overlap and Add)法を用いて素片の基本周波数および継続時間長を変形させながら、素片を順次配置すればよい。また、波形の連続性を考慮し、先行する波形の端の形状と後続する波形の端の形状を考慮して配置位置を決めて(例えば、ピッチ単位の相関値が高くなる位置)、波形同士を重ねあわせる(加算して平均する)よう処理してもよい。
参考文献3:F.J.Charpentier and M.G.Stella、ICASSP86、pp2015-2018、Tokyo、1986
音声生成部202は、上述の方法で図6に示すサブシーン毎の読み上げ音声情報601を生成し、時間長算出部203に送信する機能を有している。
時間長算出部203は、音声生成部202から入力されるサブシーン毎の読み上げ音声情報601を再生した場合の各読み上げ音声の読み上げ時間長を算出する機能を有している。時間長算出部203は、サブシーン毎の読み上げ音声情報601を読み上げた時間をシミュレートして、初期値の速度でサブシーン毎の音声が再生された場合に必要となる読み上げ時間長を図7で示す時間長情報701のようにそれぞれ算出し、この時間長情報701を伸縮パラメータ算出部204に送信する。時間長算出部203は、音声の再生時間を算出して読み上げ時間長を算出するのではなく、読み上げデータ302を解析することで、音声の時間を算出するとしても良い。読み上げデータ302を解析する場合には、時間長算出部203は読み上げデータ302のヘッダ情報やデータ長から音声の時間を算出するとしても良い。
上述では、音声生成部202は読み上げ音声情報601を生成し、この読み上げ音声情報601に基づいて時間長算出部203はサブシーン毎の音声が再生された場合に必要となる読み上げ時間長を算出するものとして例示したが、本実施の形態はこれに限定されない。音声生成部202は音声の波形自体を生成せず、時間長算出部203がサブシーン毎の音声が再生された場合に必要となる時間長を算出するのに必要な情報を生成して、時間長算出部203に送信するとしてもよい。この時間長を算出するのに必要な情報としては、例えば、音声の読み上げ方を表す表話文字やアクセント記号、ポーズ記号、制御記号等の組み合わせの情報が考えられる。これらの情報は初期値の速度で読み上げに要する時間が定められており、時間長算出部203は各表話文字等の読み上げに要する時間を加算することで、読み上げられる各音声が再生された場合に必要となる時間を算出することができる。
伸縮パラメータ算出部204は、時間長算出部203より入力されるサブシーン毎の読み上げ時間長情報701とサブシーン時間設定部201から入力されるサブシーンの時間長情報501に基づいて、伸縮パラメータ算出する機能を有している。
伸縮パラメータとは、音声読み上げの速度を向上させた場合の、速度向上前の(初期値の読み上げ速度での)読み上げに要する時間に対する、速度向上後の読み上げで要する時間の比率である。例えば、初期値での読み上げに8.0秒かかる音声読み上げについて、読み上げ時間が6.0秒になるように読み上げ速度の向上を施した場合、上記比率は0.75なので伸縮パラメータは0.75となる。また、伸縮パラメータは速度向上前の読み上げ速度に対する、速度向上後の読み上げ速度の比率(速度向上率)の逆数とも定義できる。つまり、伸縮パラメータの値が小さくなると音声読み上げの速度の向上率は大きくなり、結果として速度変更後の読み上げ速度は速くなる。
伸縮パラメータ算出部204は直接的には伸縮パラメータを算出するが、前述のとおり伸縮パラメータは初期値の速度から区間内で読み上げを完了するための速度への速度向上率の逆数である。読み上げ速度の初期値は音声生成部202にて決まっているため、伸縮パラメータが決まると、速度変更後の読み上げ速度も一義的に定められる。つまり、伸縮パラメータ算出部204は伸縮パラメータを算出することで、実質的に速度変更後の読み上げ速度を算出しているということになる。換言すれば、伸縮パラメータ算出部204は、割り当てられた区間内で読み上げを完了することのできる音声の読み上げ速度をそれぞれの区間で算出する算出部ともいえる。
伸縮パラメータ算出部204は、対応するサブシーン内で読み上げが完了するために読み上げ音声の速度向上を要する場合(サブシーンの時間長が初期値の速度での読み上げ時間長より短い場合)には、サブシーンの時間長を初期値の読み上げ時間長で割った値を伸縮パラメータとして算出する。また、対応するサブシーン内で読み上げが完了するために読み上げ音声の速度向上を要しない場合(サブシーンの時間長が初期値の速度での読み上げ時間長以上の場合)には、音声は初期値の速度にて読み上げられることが好適なので、伸縮パラメータを「1」として算出する(図8参照)。
図3の説明にて述べたように、電子機器10は音声読み上げの読み上げ速度を変更する機能を有している。そして、音声読み上げの速度変更処理は、この伸縮パラメータに基づいて実行される。
伸縮パラメータ算出部204は、サブシーン毎の伸縮パラメータ情報801を算出し、算出した伸縮パラメータ情報801を伸縮パラメータ調整部205に送信する。
伸縮パラメータ調整部205は、伸縮パラメータ算出部204より入力されるサブシーン毎の伸縮パラメータ情報801に基づいて、各サブシーンの音声の読み上げ時間の伸縮率(換言すれば、読み上げ速度変化率)を調整する機能を有している。本実施の形態における伸縮パラメータ調整部205は、伸縮パラメータが最も小さい(最も読み上げ速度が速い)サブシーンの伸縮パラメータを他のサブシーンの伸縮パラメータにも適用して(一致させて)、調整伸縮パラメータ情報901を出力する(図9参照)。
伸縮パラメータが最も小さいサブシーンとはつまり、読み上げ速度が最も速い読み上げのサブシーンのことであり、伸縮パラメータ調整部205は、この伸縮パラメータを他のサブシーンの伸縮パラメータにも適用する。つまり、伸縮パラメータ調整部205は、読み上げ速度が最も速いサブシーンの読み上げ速度に、他のサブシーンの読み上げ速度を一致させる。言い換えると、伸縮パラメータ調整部205は、第1の区間の第1の読み上げ速度より遅い第2の区間の第2の読み上げ速度を、前記第1の読み上げ速度に一致させるように調整する調整部とも呼ぶことができる。
また、伸縮パラメータ調整部205は、伸縮パラメータを調整するサブシーンの範囲を適宜設定することができる。例えば、コンテンツ全体で音声速度を統一させる場合には、伸縮パラメータ調整部205はコンテンツ全体を対象として、読み上げ速度が最も速いサブシーンを検出し、他のサブシーンの読み上げ速度をこのサブシーンに一致させる。また、所定の複数サブシーンで音声速度を統一させる場合には、伸縮パラメータ調整部205はこの所定の複数サブシーンを対象として、読み上げ速度が最も速いサブシーンを検出し、他のサブシーンの読み上げ速度をこの最も速い読み出し速度に一致させる。例えば、読み上げ速度を一致させる所定の複数サブシーンがサブシーン2〜4であった場合には、伸縮パラメータ調整部205は読み上げ速度が最も速いサブシーンであるサブシーン3の読み上げ速度をサブシーン2および4に適用するように伸縮パラメータを調整し、サブシーン1にはこれを適用しない。
伸縮パラメータ調整部205は、調整伸縮パラメータ情報901を調整後音声生成部206に送信する。
調整後音声生成部206は、調整伸縮パラメータ情報901の値を用いて速度調整を行った読み上げ音声を生成する機能を有している。調整後音声生成部206は、各サブシーンについて、再生時間が初期値の調整伸縮パラメータ倍となるように読み上げ音声の速度調整を行って読み上げ音声を生成する。言い換えると、調整後音声生成部206は、読み上げ速度の初期値からの向上率が、調整伸縮パラメータの逆数倍となる速度の読み上げ音声を生成する。
つまり、本実施の形態における電子機器10は初期値の速度ではサブシーン区間内に読み上げ速度が収まらないサブシーンが存在する場合、サブシーン区間に収まるように当該区間の読み上げ音声の速度を変更し、この変更(音声の読み上げ速度変化率の変更又は音声の読み上げ時間の変化率の変更)を他のサブシーンの音声読み上げにも適用する構成となっている。
ここで、調整後音声生成部206は上記の速度となるように言語辞書133および音声辞書134を用いて新たに読み上げ音声を生成する。調整後音声生成部206は音声生成部202より、音声生成部202が決定した文章の読み、アクセント、ポーズ位置、イントネーション、およびリズムの情報を受け取り、イントネーションおよびリズムを変更することで、読み上げ速度を上記の調整後の速度に変更し、変更したイントネーションおよびリズムと、文章の読み、アクセント、ポーズ位置に適合する音声素片を音声辞書134より選択し、これらの音声素片の波形を波形接続して速度変更後の読み上げ音声の波形を生成する。
また、調整後音声生成部206は、読み上げ音声の話速の変化に応じて、イントネーション(音高の平均値や分散値)を調整するとしても良い。例えば、話速を速くする場合に音高の平均値を低くする、あるいは音高の分散値を大きくすることにより、知覚上の話速の変化を抑えることが可能である。この場合、話速の変化と知覚上のイントネーションの関係を学習した統計モデルやマッピングテーブルを用意し、話速の変化量に応じたイントネーションの制御を行えば良い。また、話速の変化量が予め設定した閾値を超える場合に音高を変化させるように制御しても良い。
調整後音声生成部206は生成した読み上げ音声データをコンテンツ生成部207に送信する。
コンテンツ生成部207は、サブシーン時間設定部201から入力されるコンテンツフレームワーク301および映像データ303と、調整後音声生成部206から入力される読み上げ音声データの情報とに基づいてコンテンツを生成する機能を有している。コンテンツ生成部207はコンテンツフレームワーク301に基づいて、各サブシーンに対応する音声と映像とを同期してコンテンツを生成する。ここでは読み上げデータ302や映像データ303に含まれるサブシーン番号に基づいて、コンテンツフレームワーク301で定められたサブシーン番号と対応する時間から、当該サブシーンと対応する映像データ303と読み上げ音声データとが同時に再生開始されるように同期処理を実行する。本同期処理は、上述のようにサブシーン番号に基づいて、映像データ303と読み上げ音声データの開始時間を決定して、同期するとしても良いし、もともとの映像データ303や読み上げデータ302に再生開始時間のタイムスタンプがふられている場合には、タイムスタンプで定められた時間から映像データ303と読み上げ音声データとが再生開始されるように同期処理を実行するとしてもよい。コンテンツは例えばMPEG等の規格に準拠した動画プレーヤ等で再生可能なフォーマットとなっていてもよい。
またコンテンツ生成部207は、生成したコンテンツをそのままストレージ130に格納するとしても良いし、自身が生成したコンテンツを再生して、映像と音声をそれぞれディスプレイ140とスピーカ150から出力することもできる。
次に、本実施の形態の電子機器10が実行するコンテンツ生成の処理フローについて説明する。
図10は、本実施の形態における電子機器10が実行するコンテンツ生成の処理フローの一例を示すフローチャートである。
まず、プロセッサ110は通信部160等を介してコンテンツフレームワーク301、読み上げデータ302、および映像データ303を取得し(ステップST1001)、サブシーン時間設定部201に渡す。
次に、サブシーン時間設定部201はコンテンツフレームワーク301からサブシーンの時間長情報501を取得し(ステップST1002)、読み上げデータ302を音声生成部202に、サブシーンの時間長情報501を伸縮パラメータ算出部204に送信する。
読み上げデータ302が入力された音声生成部202は、読み上げデータ302に基づいて初期値の速度での読み上げ音声情報601を生成し(ステップST1003)、時間長算出部203に送る。
時間長算出部203は、読み上げ音声情報601を取得すると、初期値の速度で音声を再生した場合に必要となる音声読み上げ時間長をそれぞれのサブシーンで算出し(ステップST1004)、算出した時間長情報701を伸縮パラメータ算出部204に送信する。
次に、伸縮パラメータ算出部204は、時間長算出部203より入力される時間長情報701とサブシーン時間設定部201から入力されるサブシーンの時間長情報501に基づいて、サブシーン毎の伸縮パラメータ情報801を算出する(ステップST1005)。伸縮パラメータ算出部204は、算出した伸縮パラメータ情報801を伸縮パラメータ調整部205に送信する。
伸縮パラメータ情報801が入力された伸縮パラメータ調整部205は、伸縮パラメータが最も小さい(最も読み上げ速度が速い)サブシーンの伸縮パラメータを他のサブシーンの伸縮パラメータにも適用するように伸縮パラメータの調整を行い(ステップST1006)、調整した伸縮パラメータである調整伸縮パラメータ情報901を調整後音声生成部206に出力する。
調整後音声生成部206は、調整伸縮パラメータ情報901の値、音声生成部202から受信する文章の読み、アクセント、ポーズ位置、イントネーション、およびリズムの情報を用いて、速度調整を行った読み上げ音声の音声データを生成する(ステップST1007)。次に調整後音声生成部206は生成した速度調整を行った読み上げ音声データをコンテンツ生成部207に送信する。
次に、コンテンツ生成部207は、サブシーン時間設定部201から入力されるコンテンツフレームワーク301および映像データ303と、調整後音声生成部206から入力される読み上げ音声データとをコンテンツフレームワーク301に従って同期させてコンテンツを生成し(ステップST1008)、これを再生して、映像と音声をそれぞれディスプレイ140とスピーカ150から出力する(ステップST1009)。
以上に一連のコンテンツ生成の処理フローは終了となる。
上述の処理フローでは図3を参照して説明した読み上げパターン3の音声読み上げを行ったコンテンツを生成することができる。
伸縮パラメータ調整部205の機能をオフとして各サブシーンの伸縮パラメータ情報801の調整を行わなければ(ステップST1006をスキップすれば)、読み上げパターン2の音声読み上げを行ったコンテンツを生成することができ、さらに時間長算出部203、伸縮パラメータ算出部204、調整後音声生成部206の機能をオフとして、ステップST1004からステップST1007までの処理をスキップすれば、読み上げパターン1の音声読み上げを行ったコンテンツを生成することができる。
本実施の形態では、伸縮パラメータ算出部204は伸縮パラメータを算出し、伸縮パラメータ調整部205は伸縮パラメータを調整する。伸縮パラメータ算出部204が算出する伸縮パラメータは上述のようにサブシーン区間内に音声読み上げが収まるための音声読み上げ時間の伸縮の比率であり、初期値の音声読み上げ速度からサブシーン区間内に音声読み上げが収まるための音声読み上げ速度への速度変化率の逆数である。変化前の初期値の読み上げ速度は音声生成部202で定められるため、伸縮パラメータ算出部204はつまり、伸縮パラメータを算出することでサブシーン区間内に音声読み上げが収まるための音声読み上げ速度を算出しているということができる。また、伸縮パラメータ調整部205はこの伸縮パラメータを調整するので、音声読み上げの速度を調整しているということができる。
本実施の形態では読み上げデータ302は通信部160より入力されるとして例示したが、これに限定されず、例えば電子機器10の入力装置170(キーボード)からテキストデータを入力し、これを読み上げるとしてもよい。
また、本実施の形態では読み上げデータ302がテキストデータであり、電子機器10が言語辞書133、音声辞書134を参照して音声データを生成する場合を例示して説明したが、これに限定されず、読み上げデータをID(Identifier、識別子)の形式で取得するとしても良い。この場合、音声生成部202および調整後音声生成部206はIDと音声情報とが対応付けられて記憶されているデータベースをストレージ130から取得し、IDに基づいて音声情報を生成することとなる。
さらに、読み上げデータはマイク180を介して取得した人間の発話に基づくテキストデータであってもよい。人間の発話に基づいたテキストデータの取得には公知の音声認識技術を用いればよく、DPマッチング(Dynamic Programming Matching)、HMM(Hidden Markov Model)法、ニューラルネットワーク法等の種々の技術が考えられる。
上記の実施の形態では、電子機器10はイントネーションおよびリズムを変更して読み上げ音声の速度調整を行ったが、これに限定されない。例えば、読み上げ音声内の発話のない区間である非発話区間の長さを調整することで、音声読み上げの速度向上を実現することもできる。この方法では、プロセッサ110はサブシーン区間内で音声信号のパワーが閾値以下の区間を非発話区間と推定し、調整後音声生成部206は、この非発話区間の時間を短縮した音声波形を生成することで音声読み上げの読み上げ開始から読み上げ完了までの時間を短くする。つまり、非発話区間の短縮のみでの読み上げ速度の向上方法では、各サブシーン内の音声の中の発話区間の発話速度は変化しないが、非発話区間の時間が短縮されて、サブシーン内の音声の読み上げ開始から読み上げ完了までの時間が短縮される。この場合、同じ文章量を読み上げるための、開始から終了までの時間が短縮されることで、音声の読み上げ速度が向上したと定義することができる。尚、非発話区間は単に短くしてもよいし、一部を省略して挿入頻度を低くしてもよい。本方式では、例えば参考文献4のような公知技術を用いることができる。このように構成した場合、話速の変化による音節の認識の低下を軽減することができる。
参考文献4:特開2013−160973号公報
また、発話速度の速度調整と非発話区間の長さ調整の両方を実行するとしても良い。このように構成することで、文意の理解と音節の認識性を統合的に考慮して劣化の少ない音声読み上げの速度向上が可能となる。
さらに本実施の形態では映像と音声を同期させてコンテンツを生成、出力する場合を例示して説明したが、これに限定されない。例えば、ロボットの動作と音声を同期させる際の音声読み上げの制御にも本実施の形態の電子機器10は適用可能である。この場合、読み上げが完了すべき区間として、ロボットの一連の動作区間を設定すればよい。そのように構成する場合、サブシーン時間設定部201はロボットの一連の動作区間の時間情報を取得し、伸縮パラメータ算出部204はこの動作区間と読み上げ音声情報601に基づいて、この動作区間内で読み上げが完了するように音声の伸縮パラメータを調整する。調整後音声生成部206は調整後の伸縮パラメータに基づいた速度の読み上げ音声を生成し、プロセッサ110はロボットの動作開始時間と音声読み上げの開始時間が同じタイミングとなるように、ロボットの動作に音声の読み上げを同期して出力する。
本実施の形態の電子機器10によれば、それぞれの区間で音声の読み上げを完了できる速度を算出し、算出結果に基づいて遅い読み上げ速度の音声読み上げを速い読み上げ速度に一致させるように調整して、調整した区間については調整後の読み上げ速度で、調整していない区間についてはそれぞれの区間で音声の読み上げを完了できる読み上げ速度で音声を読み上げるため、全ての対象区間で、完了すべき区間内での音声の読み上げを完了させつつ、音声読み上げの速度変化による音声の聞き取りづらさを低減することができる。
また本実施の形態では音声読み上げの速度の向上率を複数区間で一律とするため、読み上げ速度の速度変化がなくユーザが聞き取り易い音声読み上げを実現できる。
実施の形態2.
次に、本発明の実施の形態2について説明する。
実施の形態2の電子機器10は、音声読み上げの速度調整を実行する際、各サブシーンの読み上げ速度を一律で向上させるのではなく、サブシーン間の速度変化が小さくなるように各サブシーンの読み上げ速度を個別に調整する。本処理について図面を用いて説明を行う。
尚、実施の形態1と同一又は相当の機能を有する構成については実施の形態1と同様の名称、符号を付している。異なる機能を有する構成には同じ名称であっても異なる符号を付している。また以下では、実施の形態1と重複する説明は省略し、異なる構成及び処理について重点的に説明を行う。尚、ハードウェア構成については実施の形態1と同様のため、説明を割愛する。
図11は、本実施の形態においてコンテンツ生成処理を実行するための機能構成の一例を示すブロック図である。
音声生成プログラム1101は、許容差情報1103を有している。
許容差情報1103は、各サブシーン間に許容する伸縮パラメータの許容差に関する情報である。許容差情報1103はコンテンツ全体の中で許容する各サブシーンの伸縮パラメータの差の情報と、隣接するサブシーン間(隣り合う区間)で許容する伸縮パラメータの差の情報とを含んでいる。
そして、伸縮パラメータ調整部1102は、各サブシーンの伸縮パラメータの差が許容差情報1103にて許容されている差以下となるように、伸縮パラメータの調整を実行する機能を有している。
次に、伸縮パラメータ調整部1102が許容差情報1103を用いて実行する伸縮パラメータの調整処理の詳細について説明する。
図12は、本実施の形態における伸縮パラメータ調整処理の一例を示す図である。
伸縮パラメータ調整部1102は、伸縮パラメータ算出部204から入力される伸縮パラメータ情報801と許容差情報1103とに基づいて、各サブシーンの伸縮パラメータを調整する。
本実施の形態の許容差情報1103は、コンテンツ全体での伸縮パラメータの許容差が0.2、隣接するサブシーン間の伸縮パラメータの許容差が0.1であることを示したデータである。つまり、許容差情報1103ではコンテンツ全体に含まれる、サブシーン毎の伸縮パラメータの最大値と最小値との差を0.2以下とするように、伸縮パラメータを調整することが規定されている。同様に、許容差情報1103では、隣接するサブシーン間の伸縮パラメータの差を0.1以下とするように、伸縮パラメータを調整することが規定されている。
伸縮パラメータ調整部1102は、この許容差情報1103が規定するように各サブシーンの伸縮パラメータを調整する。
図12に示す例では、伸縮パラメータの最小値がサブシーン1の0.7、最大値がサブシーン4の0.95となっているので、伸縮パラメータ調整部1102はこの伸縮パラメータ同士の差が0.2となるようサブシーン4の伸縮パラメータを0.9に調整する。この処理により全てのサブシーン間(3つ以上の区間)の伸縮パラメータの差が0.2以下となったので、全体の調整処理は以上となる。
次に、伸縮パラメータ調整部1102は隣接するサブシーン間の伸縮パラメータの差を算出し、隣接するサブシーン間の伸縮パラメータの差が0.1より大きい場合は、大きい方の値を調整する。つまり、図12では、伸縮パラメータ調整部1102はサブシーン1の伸縮パラメータとの差が0.1以下となるように、サブシーン2の伸縮パラメータを0.8に調整する。また、サブシーン3の伸縮パラメータとの差が0.1以下となるように、サブシーン4の伸縮パラメータを0.88に調整する。
伸縮パラメータ調整部1102は、上述のように伸縮パラメータの調整を行い、調整伸縮パラメータ情報1201を調整後音声生成部206に送信する。以降、電子機器10は実施の形態1と同様に調整伸縮パラメータ情報1201に基づいて読み上げ音声データを生成し、コンテンツを生成および出力する。
次に本実施の形態の処理フローについて説明する。
図13は、本実施の形態における電子機器10が実行するコンテンツ生成の処理フローの一例を示すフローチャートである。
処理フローは実施の形態1と多くの部分で同様だがステップST1306では、伸縮パラメータ情報801が入力された伸縮パラメータ調整部1102は、伸縮パラメータ情報801と許容差情報1103とに基づいて伸縮パラメータの調整を行う。
この伸縮パラメータの調整処理の処理フローについて詳細に説明を行う。
図14は、本実施の形態における電子機器10が実行する伸縮パラメータの調整の処理フローの一例を示すフローチャートである。
伸縮パラメータの調整処理としてまず、伸縮パラメータ調整部1102は、伸縮パラメータ算出部204から入力される伸縮パラメータ情報801と許容差情報1103に基づいて、許容差情報1103の全体での伸縮パラメータの許容差に収まらないサブシーンを検出する(ステップST1401)。この時、伸縮パラメータ調整部1102は、最小値の伸縮パラメータを基準として、この許容差情報1103の全体での伸縮パラメータの許容差に収まらないサブシーンを検出する。つまり、最小値の伸縮パラメータとの差が、許容差情報1103の全体での伸縮パラメータの許容差以上となるサブシーンを検出する。
次に、伸縮パラメータ調整部1102は、検出したサブシーンの伸縮パラメータの差がコンテンツ全体の許容差に収まるように高い方(最小値でない方)の伸縮パラメータの値を下げるよう調整する(ステップST1402)。この時、高い方の伸縮パラメータの値は、最小値の伸縮パラメータの値とコンテンツ全体の許容差の値の和となるよう調整される。
次に、伸縮パラメータ調整部1102は、隣接するサブシーンの伸縮パラメータの調整処理に入り、最小値のサブシーンに隣接するサブシーンの伸縮パラメータを隣接サブシーンの許容差に収まる値に調整する(ステップST1403)。
ステップST1403の後、伸縮パラメータ調整部1102は、調整の基準となったサブシーンの次に伸縮パラメータの値が小さいサブシーンを検出し(ステップST1404)、隣接サブシーンの許容差に収まるように、このサブシーンに隣接するサブシーンの伸縮パラメータを調整(ステップST1405)する(隣接するサブシーンの伸縮パラメータを許容差内迄下げるように調整する)。図12の例では、伸縮パラメータ調整部1102は、隣接するサブシーン同士の値の差が0.1となるように、高い方の伸縮パラメータの値を調整する。
伸縮パラメータ調整部1102が、全てのサブシーンが確認されたと判断しない場合(ステップST1406:No)には処理フローはステップST1404に戻り、伸縮パラメータ調整部1102が、全てのサブシーンが確認されたと判断した場合(ステップST1406:Yes)には伸縮パラメータの調整処理の処理フローは終了となる。
上記処理フローではコンテンツ全体での許容差に基づいた調整処理を先に実行し、その後に隣接サブシーン間での許容差に基づいた調整処理を実行する例を示したが、これに限定されず、例えばこの処理を逆の順番に実行するとしてもよい。
上述では、許容差情報1103はコンテンツ全体と隣接サブシーン間での伸縮パラメータの許容差を規定していたが、これに限定されず、例えば所定の期間に含まれる複数サブシーンにおける許容差を規定するとしても良い。また、許容差情報1103は離れたサブシーン間での許容差を規定するとしても良い。さらに、許容差情報1103は異なるコンテンツにおける許容差を規定するとしても良い。
本実施の形態において伸縮パラメータ調整部1102は伸縮パラメータの調整を実行しているが、実施の形態1に記載したように、本調整処理は実質的に各サブシーンの読み上げ速度の調整をしていることと同義である。
本実施の形態では、読み上げ音声の速度の変化を一律とするのではなく、サブシーン毎の読み上げ速度の変化を人間の聴覚上気にならない程度の変化量に設定できる構成とした。
この構成により、完了すべき区間内で音声の読み上げを完了させつつ、速度変化による読み上げ音声の聞き取りづらさを改善することができる。さらに、読み上げ音声の速度を高い変化率で一律に調整する場合と比較して、読み上げ速度をあまり変化させる必要のないサブシーン(聞き取りづらさにあまり影響を与えないサブシーン)については、初期値に近い速度での読み上げを行うことができ、サブシーン毎の読み上げ音声のそれぞれは初期値の速度に近く、ユーザに聞き取り易い音声となる可能性がある。
また、サブシーン毎の読み上げ音声のそれぞれがユーザに聞き取り易くなるという効果を奏しつつ、隣接するサブシーンの読み上げ音声の速度の変化量は小さく抑えることができるので、サブシーンが切り替わった際にユーザに与える違和感や聞き取りづらさを低減することができる。
実施の形態3.
次に、本発明の実施の形態3について説明する。
実施の形態3の電子機器10は、読み上げられる音声の内容に基づいて、伸縮パラメータの調整を行う。具体的には、聞き手が聞きなれている文言については音声読み上げの速度を速くしても聞き手は内容を容易に理解できるため、この文言の読み上げ速度の向上は他のサブシーンより優先して実行する。また、重要な情報を含む読み上げ音声は、読み上げ速度を速くし過ぎないように伸縮パラメータの調整を行う。本処理について以下で図面を用いて説明を行う。
尚、実施の形態1と同一又は相当の機能を有する構成については実施の形態1と同様の名称、符号を付している。異なる機能を有する構成には同様の名称であっても異なる符号を付している。また以下では、実施の形態1と重複する説明は省略し、異なる構成及び処理について重点的に説明を行う。尚、ハードウェア構成については実施の形態1と同様のため、説明を割愛する。
図15は、本実施の形態においてコンテンツ生成処理を実行するための機能構成の一例を示すブロック図である。
音声生成プログラム1501は、特殊扱い情報1503を有している。
特殊扱い情報1503は、読み上げ速度の向上を他のサブシーンより優先して実行するサブシーンを判別するための情報(優先短縮情報)と、他のサブシーンの伸縮パラメータに基づく伸縮パラメータの調整を行わないサブシーンを判別するための情報(非調整情報)とを有している。
コンテンツ生成プログラム1504のサブシーン時間設定部1505は、伸縮パラメータ調整部1502に読み上げデータ302を送信する機能を有している。
伸縮パラメータ調整部1502は、サブシーン時間設定部1505から送信される読み上げデータ302および特殊扱い情報1503に含まれる優先短縮情報と非調整情報とに基づいて、各サブシーンの伸縮パラメータの調整を実行する機能を有している。
まず、優先短縮情報に基づいた各サブシーンの伸縮パラメータの調整処理について説明する。
図16は、本実施の形態における伸縮パラメータ調整処理の一例を示す図である。
伸縮パラメータ調整部1502は、伸縮パラメータ算出部204から入力される伸縮パラメータ情報801、サブシーン時間設定部1505から送信される読み上げデータ302、および特殊扱い情報1503に基づいて各サブシーンの伸縮パラメータを調整する。
特殊扱い情報1503には、優先短縮情報として聞き手が聞き慣れている可能性の高い文言が記憶されている。ここで、聞き手が聞き慣れている文言としてはコンテンツ内の定型的な文言があげられる。図16では電子機器10が天気予報のコンテンツを生成する例を示しており、天気予報の定型文である「全国のお天気です。」、「以上、全国のお天気でした。本日もよい一日をお過ごしください。」という文言が優先短縮情報として登録されている。
伸縮パラメータ調整部1502は、優先短縮情報として登録されている文言(第1の文言)と一致する又はこの文言を含む文言が読み上げられるサブシーン(第1の文言を含んでいる第3の区間)については他のサブシーンより優先して読み上げ速度の向上処理を実行する。つまり、優先短縮情報と文言が一致するサブシーン1、4については読み上げ速度の向上を行っても聞き手の文言の聞き取りづらさへの影響は少ないので、伸縮パラメータ調整部1502は、これらのサブシーンにはより伸縮パラメータの小さい(読み上げ速度の速い)サブシーンの伸縮パラメータを適用するが、これらの以外のサブシーンには対して、これらの伸縮パラメータに基づいた伸縮パラメータの調整(読み上げ速度の調整)は実行しない。図16にて具体的に説明すると、サブシーン4は伸縮パラメータが0.8であり最小の伸縮パラメータだが、サブシーン4は優先短縮情報と文言が一致するサブシーンであるため、この伸縮パラメータを他のサブシーンには適用せず、優先短縮情報と文言が一致しないサブシーン(読み上げられる音声が第1の文言を含んでいない区間)のうち、伸縮パラメータが最も小さいサブシーン3の伸縮パラメータ0.9をサブシーン1およびサブシーン2に適用する。このように構成することで、聞き取り手が聞き取りなれていないと考えられる他のサブシーンの音声読み上げについては、初期値からの速度の変化が小さくなる可能性がある。
次に、非調整情報に基づいた各サブシーンの伸縮パラメータの調整処理について説明する。
図17は、本実施の形態における伸縮パラメータ調整処理の一例を示す図である。
特殊扱い情報1503には、非調整情報として聞き手にとって重要な情報を指す可能性の高い文言(第2の文言)が記憶されている。図17の例では電子機器10が天気予報のコンテンツを生成する例を示しており、「台風情報」「大雪情報」という文言が非調整情報として登録されている。
伸縮パラメータ調整部1502は、非調整情報として登録されている文言(第2の文言)を含むサブシーン(読み上げられる音声が第2の文言を含む第5の区間)については他のサブシーンの調整パラメータを適用しないように伸縮パラメータを調整する。
つまり、「台風情報」という文言を含むサブシーン4は他のサブシーンより情報の重要度が高く、聞き手の認識性を高めるために読み上げの速度を速くし過ぎるべきではないので、サブシーン4については、他のサブシーンの伸縮パラメータに基づいた伸縮パラメータ(読み上げ速度)の調整は実行しない。
図17の例では非調整情報の文言を含まないサブシーン1から3(読み上げられる音声が第2の文言を含んでいない区間)は、最も伸縮パラメータの値が低いサブシーン3の伸縮パラメータ0.8を適用して伸縮パラメータの調整を行うが、非調整情報の文言を含むサブシーン4については他のサブシーンの伸縮パラメータに基づいた伸縮パラメータの調整を実行しない。
このように構成することで、重要な情報の読み上げ速度が他のサブシーンの読み上げ速度に影響を受けて早くなりすぎるような事態を回避することができ、ユーザは重要な情報の読み上げ内容を理解しやすくなる。
伸縮パラメータ調整部1502は、伸縮パラメータ情報801、読み上げデータ302、および特殊扱い情報1503に基づいて各サブシーンの伸縮パラメータを調整し、調整伸縮パラメータ情報1701を調整後音声生成部206に送信する。
次に本実施の形態の処理フローについて説明する。
図18は、本実施の形態における電子機器10が実行するコンテンツ生成の処理フローの一例を示すフローチャートである。
処理フローは実施の形態1と多くの部分で同様だがステップST1806では、伸縮パラメータ情報801が入力された伸縮パラメータ調整部1502は、サブシーン時間設定部1505から読み上げデータ302を受信し、この読み上げデータ302、伸縮パラメータ情報801、および特殊扱い情報1503に基づいて各サブシーンの伸縮パラメータを調整し、調整伸縮パラメータ情報1701を出力する。
この伸縮パラメータの調整処理の処理フローについて詳細に説明を行う。
図19は、本実施の形態における電子機器10が実行する伸縮パラメータの調整の処理フローの一例を示すフローチャートである。
まず、伸縮パラメータ情報801および読み上げデータ302が入力された伸縮パラメータ調整部1502は、特殊扱い情報1503と各サブシーンの読み上げデータ302とを比較し(ステップST1901)、各サブシーンの読み上げデータ302に特殊扱い情報1503の優先短縮情報と非調整情報の文言との一致があるか否かを判別する(ステップST1902)。
ステップST1902において、読み上げデータ302が優先短縮情報として登録されている文言を含む場合(優先短縮情報の文言と一致するまたは文言を含む文言のサブシーンが存在する場合)、伸縮パラメータ調整部1502は、優先短縮情報の文言に一致したまたは文言を含んだサブシーンの伸縮パラメータは他サブシーンに適用せず、一致したサブシーン以外の最小の伸縮パラメータを用いて、各サブシーンの伸縮パラメータを調整する(ステップST1903)。尚、文言が一致した又は文言を含んだサブシーンについては、当該サブシーンの伸縮パラメータが他の伸縮パラメータより低ければ、伸縮パラメータ調整部1502はこのサブシーンの伸縮パラメータに調整は行わず、当該サブシーンの伸縮パラメータが他の伸縮パラメータより高ければ、他のサブシーンの伸縮パラメータを当該サブシーンに適用する。
ステップST1902において、読み上げデータ302が非調整情報として登録されている文言を含む場合(非調整情報の文言を含む文言のサブシーンが存在する場合)、伸縮パラメータ調整部1502は、非調整情報として登録されている文言を含むサブシーン以外のサブシーン間でパラメータ調整を実行し(ステップST1904)、非調整情報として登録されている文言を含むサブシーンには伸縮パラメータの調整を行わない。
ステップST1902おいて、各サブシーンの読み上げデータ302が特殊扱い情報1503に登録されている文言を含まない場合、各サブシーンの中の最小の伸縮パラメータを他のサブシーンの伸縮パラメータに適用するパラメータ調整を行う(ステップST1905)。
ステップST1903、ステップST1904、又はステップST1905が完了すると、伸縮パラメータの調整処理フローは終了となる。
本実施の形態において、特殊扱い情報1503は電子機器10が予め有するものとして例示して説明したが、これに限定されず、通信部160を介して入力されてもよいし、アップデートされるものであってもよい。また、電子機器10は類似するコンテンツに基づいて、頻出する形態素や文字列を学習した統計モデルを持ち、閾値以上の頻度で出現している形態素や文字列を優先短縮情報として登録するとしても良い。さらに、類似するコンテンツではなくても、ユーザがよく視聴するコンテンツに基づいて、頻出する形態素や文字列を学習した統計モデルを持ち、閾値以上の頻度で出現している形態素や文字列を優先短縮情報として登録するとしても良い。
また、同じサブシーンで同期して表示される映像に含まれる文字を参照して優先短縮情報を決定するとしても良い。この場合、図示しない文字認識部で、同サブシーンで表示されている映像に含まれた文字の文字認識やクローズドキャプションの解析を行い、表示されている文言を優先短縮情報として決定してもよい。さらに、表示されている文字が重要であると判断した場合は、このサブシーンを非調整情報の対象として、同サブシーンの音声読み上げの速度を向上させないという構成にしてもよい。
本実施の形態では、読み上げ音声の速度の変化を一律とするのではなく、読み上げ速度が速くてもユーザが理解しやすい文章と、重要情報を含む文章の読み上げ速度の調整を他の読み上げ文章と異ならせた。これらのユーザが理解しやすい文章と、重要情報を含む文章以外の区間では読み上げ速度の速い区間の読み上げ速度に他の区間の読み上げ速度を一致させるように読み上げ速度の調整を行い、ユーザが理解しやすい文章や重要情報を含む文章についても、当該区間にて読み上げが完了するように読み上げ速度の調整を行っている。この構成により、全ての区間内で音声の読み上げを完了させつつ、ユーザが理解しやすい文章や重要情報を含む文章以外の区間の間での読み上げ速度の変化による読み上げ音声の聞き取りづらさを改善することができる。さらに、ユーザが理解しやすい文章はその文章に応じた読み上げ速度で読み上げつつ、他の区間は他の区間同士の間で適切に速度調整を行うので、他の区間の読み上げ速度の向上率が上昇する可能性を低減させ、ユーザの文言理解度の低減を抑えつつ、ユーザが聞き取り易い音声読み上げを実現することができる。また、重要情報を含む文章はその文章に対応する区間に応じた読み上げ速度で読み上げつつ、他の区間は他の区間同士の間で適切に速度調整を行うので、ユーザが傾聴すべき重要な情報の読み上げ速度を速くし過ぎることなく、ユーザが聞き取り易い音声読み上げを実現することができる。
実施の形態4.
次に、本発明の実施の形態4について説明する。
実施の形態4の電子機器10は、機器動作は実施の形態1と同様であるが、コンテンツ生成機能と音声生成機能とがプログラムとしてストレージ130に保存されているのではなく、計算処理を実行するハードウェアである回路上に実装されている点が実施の形態1と異なる。
図20は、本実施の形態における電子機器10のハードウェア構成図の一例を示すブロック図である。
回路2010は、計算処理を実行する半導体回路であり、回路2010にはコンテンツ生成モジュール2011と音声生成モジュール2012が実装されている。
コンテンツ生成モジュール2011は、実施の形態1のコンテンツ生成プログラム131と同様の機能を有するアルゴリズムである。
音声生成モジュール2012は、実施の形態1の音声生成プログラム132と同様の機能を有するアルゴリズムである。
回路2010は、コンテンツ生成モジュール2011および音声生成モジュール2012に基づいた処理により、実施の形態1と同様の動作を実行し、同様の機能を発揮することができる。機能ブロックの構成や処理内容および処理フローは実施の形態1にて説明された内容と重複するため、ここでは説明を割愛する。
本実施の形態のように、電子機器10が機能を発揮するための構成はソフトウェアのみではなく、ハードウェアによる実現も可能である。
以上、本発明について実施の形態をもとに説明した。これらの実施の形態の各構成要素や各処理プロセスの組み合わせに種々の変形例が可能なことは、言うまでもない。