[第1の実施形態]
本実施形態では、工場における設備の操作の指示や設備の稼働状況を作業員に報知する音声生成装置に本発明を適用した場合の、音声生成装置の構成や音声生成方法等を説明する。
図1は、第1の実施形態に係る音声生成装置の機能ブロック図である。
図1に示すように、本実施形態に係る音声生成装置1は、入力値処理部100と、モーフィング率決定部101と、変換テーブル102と、音声再生部103と、音声データベース104とを備える。また、音声再生部103は、音声データ選択部103aと、再生制御部103bとを含む。音声生成装置1は、一定間隔で騒音レベルを取得し、これに応じた音声をフレーム単位で生成し再生する動作を繰り返すことにより、周辺の騒音レベルに応じた音声を再生する。
入力値処理部100は、マイク2から入力される音声信号(入力値)に基づいて、設備3の周辺の騒音レベルを算出する。この入力値処理部100は、設備3の制御部300からの音声データの再生を指示する制御信号を受信すると、音声信号の取得を開始する。また、入力値処理部100は、再生制御部103bからの音声データの再生が終了したことを示す信号を受信すると、マイク2からの音声信号の取得及び騒音レベルの算出を終了する。
モーフィング率決定部101は、入力値処理部100で算出した騒音レベルと、変換テーブル102と、再生制御部103bからのアクセント句境界を示す情報に基づいて、モーフィング率を決定する。変換テーブル102は、騒音レベルとモーフィング率との対応関係を示すテーブルである。また、アクセント句境界を示す情報は、現在処理対象となっているフレームがアクセント句境界であるかを示す情報である。
音声再生部103は、設備3の制御部300からの出力対象の音声データを指定する情報と、モーフィング率決定部101で決定したモーフィング率とに基づいて、音声データベース104から音声データを読み出し、スピーカ4に出力する。音声データベース104には、予め様々なモーフィング率でモーフィングした音声データを格納してある。音声データを指定する情報及びモーフィング率は、音声データ選択部103aが受信する。音声データ選択部103aは、音声データを指定する情報及びモーフィング率をキー情報として音声データベース104を検索し、該当する音声データを特定する。また、音声データ選択部103aは、音声データを特定すると、特定した音声データのID情報を再生制御部103bに通知する。再生制御部103bは、通知されたID情報に基づいて音声データベース104から音声データを読み出し、再生するフレームを決定して、スピーカ4に出力する。また、再生制御部103bは、アクセント句境界を示す情報をモーフィング率決定部101に送信する。更に、再生制御部103bは、音声データの出力(再生)が終了すると、再生が終了したことを入力値処理部100に通知する。
図2は、第1の実施形態におけるモーフィング率決定部の機能ブロック図である。
図2に示すように、本実施形態におけるモーフィング率決定部101は、瞬時モーフィング率決定部101aと、アクセント句モーフィング率決定部101bとを含む。更に、モーフィング率決定部101は、声質モーフィング率決定部101cと、基本周波数モーフィング率決定部101dと、継続長モーフィング率決定部101eとを含む。
瞬時モーフィング率決定部101aは、入力値処理部100で算出した騒音レベルと、変換テーブル102とに基づいて、現在の騒音レベルに応じたモーフィング率を決定する。
アクセント句モーフィング率決定部101bは、現在処理対象となっているフレームを含むアクセント句の先頭のフレームを再生したときの騒音レベルと、変換テーブル102とに基づいてモーフィング率を決定する。以下、アクセント句の先頭のフレームを再生したときの騒音レベルのことをアクセント句先頭の騒音レベルともいう。現在処理対象となっているフレームを含むアクセント句先頭の騒音レベルは、入力値処理部100から受信した騒音レベルと、再生制御部103bから受信したアクセント句境界を示す情報に基づいて、アクセント句境界における騒音レベルを保持することにより求める。そして、入力値処理部100から騒音レベルを受信する毎に、現在処理対象となっているフレームを含むアクセント句先頭の騒音レベルと、変換テーブル102とに基づいてモーフィング率を決定する。
声質モーフィング率決定部101cは、再生する音声データにおける声質のモーフィング率を決定する。ここで、音声データの声質は、メルケプストラム、メル一般化ケプストラム、又はスペクトルによって表されるパラメータである。本実施形態における声質モーフィング率決定部101cは、瞬時モーフィング率決定部101aで決定したモーフィング率を声質のモーフィング率とする。
基本周波数モーフィング率決定部101dは、再生する音声データにおける基本周波数のモーフィング率を決定する。ここで、基本周波数は、F0とも呼ばれ、声の高さを表すパラメータである。本実施形態における基本周波数モーフィング率決定部101dは、アクセント句モーフィング率決定部101bで決定したモーフィング率を基本周波数のモーフィング率とする。
継続長モーフィング率決定部101eは、再生する音声データにおける継続長のモーフィング率を決定する。ここで、継続長は、音素の長さを表すパラメータである。本実施形態における継続長モーフィング率決定部101eは、アクセント句モーフィング率決定部101bで決定したモーフィング率を継続長のモーフィング率とする。なお、継続長モーフィング率101eは、瞬時モーフィング率決定部101aで決定したモーフィング率を継続長のモーフィング率にしてもよい。
図3Aは、音声データベースの構成を示す図である。図3Bは、再生位置の対応関係を示す図である。図3Cは、1つの音声データセットの構成例を示す図である。
図3Aに示すように、本実施形態に係る音声生成装置1の音声データベース104は、第1の音声データセット104−1及び第2の音声データセット104−2を含む複数の音声データセットからなる。ここで、1つの音声データセットは、ある1つのメッセージについての声質のモーフィング率と、基本周波数(及び継続長)のモーフィング率との組み合わせが異なる複数の音声データの集合である。例えば、第1の音声データセット104−1に含まれる複数の音声データは、全て「ハンドルを右に回してください」というメッセージの音声データであるが、それぞれ、声質のモーフィング率と、基本周波数のモーフィング率との組み合わせが異なる。また、各音声データは、予め、アクセント句境界の情報を保持する。例えば、「ハンドルを右に回してください」を発声した音声データであれば、「|ハンドルを|右に|回してください」の「|」に相当する音声データ上の位置がアクセント句境界であるという情報を保持する。ただし、テキスト情報はなくてもよく、少なくとも音声データ上の各位置がアクセント句境界であるかどうかという情報を保持する。更に、各音声データは、再生位置の対応が取れるように、予め、例えば、図3Bに示すように、1モーラあたり、1.0進むような基準時刻を保持する。
また、本実施形態では、図3Cに示した第1の音声データセット104−1のように、1つの音声データセットにおける声質のモーフィング率MP及び基本周波数のモーフィング率MAを、それぞれ0から1まで0.1ずつ変化させている。なお、モーフィング率MP,MAは、騒音レベルが低いときに聞き取りやすい条件で作成された第1の音声データと、騒音レベルが高いときに聞き取りやすい条件で作成された第2の音声データとをモーフィングしたときの第1の音声データの比率を表している。
また、図3Cにおいて、音声データMD(MP,MA){MP=0〜1、MA=0〜1}は、それぞれ、声質のモーフィング率がMP、基本周波数のモーフィング率がMAの音声データを表している。また、図3Cにおいて、MDGn{n=0〜10}は、基本周波数のモーフィング率MAが同じ値で声質のモーフィング率MPが異なる音声データMD(MP,MA){MP=0〜1}のグループを表している。
また、音声データセットの作成に用いる第1の音声データ及び第2の音声データは、音声合成処理によりテキストデータから変換した音声データでもよいし、人が発した音声を録音して得た音声データでもよい。
次に、本実施形態の音声生成装置1における音声生成処理について説明する。
図4Aは、第1の実施形態に係る音声生成処理を示すフローチャート(その1)である。図4Bは、第1の実施形態に係る音声生成処理を示すフローチャート(その2)である。
本実施形態に係る音声生成装置1は、設備3の制御部300から音声(メッセージ)の出力を要求する制御信号を受信したときに、設備3の周囲の騒音レベルに応じたモーフィング率の音声データをフレーム単位で生成し出力する。このとき、音声生成装置1は、図4Aに示すように、まず、再生位置を含むアクセント句の先頭を再生したときの騒音レベルを初期化する(ステップS1)。ステップS1は、アクセント句モーフィング率決定部101bが行う。
次に、音声生成装置1は、マイク2からの音声信号(入力値)を取得し、現時点の騒音レベルを算出する(ステップS2)。ステップS2は、入力値処理部100が行う。入力値処理部100は、例えば、予め用意された音声信号の入力パワーと騒音レベルとの対応テーブルに基づいて騒音レベルを算出する。また、入力値処理部100は、算出した騒音レベルをモーフィング率決定部101の瞬時モーフィング率決定部101a及びアクセント句モーフィング率決定部101bに渡す。
瞬時モーフィング率決定部101aは、入力値処理部100から現時点の騒音レベルを受け取ると、図4Aに示すように、現時点の騒音レベル、及び変換テーブル102に基づいて瞬時モーフィング率を求める(ステップS3a)。その後、瞬時モーフィング率決定部101aは、求めた瞬時モーフィング率を声質モーフィング率決定部101cに渡す。すると、声質モーフィング率決定部101cは、受け取った瞬時モーフィング率を声質のモーフィング率MPに設定する(ステップS3b)。
一方、アクセント句モーフィング率決定部101bは、入力値処理部100から現時点の騒音レベルを受け取ると、図4Aに示すように、現時点の騒音レベルを保持する(ステップS4a)。続けて、アクセント句モーフィング率決定部101bは、アクセント句先頭の騒音レベル、すなわち再生位置を含むアクセント句の先頭を再生したときの騒音レベルが設定済みであるか否かを確認する(ステップS4b)。騒音レベルが未設定の場合(ステップS4b;No)、アクセント句モーフィング率決定部101bは、現時点の騒音レベルを、再生位置を含むアクセント句の先頭を再生したときの騒音レベルに設定する(ステップS4c)。その後、アクセント句モーフィング率決定部101bは、アクセント句の先頭を再生したときの騒音レベルと変換テーブル102とに基づいてアクセント句モーフィング率を求める(ステップS4d)。また、騒音レベルが設定済みの場合(ステップS4b;Yes)、アクセント句モーフィング率決定部101bは、ステップS4cの処理をスキップして、アクセント句モーフィング率を求める処理(ステップS4d)を行う。ステップS4dの後、アクセント句モーフィング率決定部101bは、求めたアクセント句モーフィング率を基本周波数モーフィング率決定部101d及び継続長モーフィング率決定部101eに渡す。すると、基本周波数モーフィング率決定部101dは、受け取ったアクセント句モーフィング率を基本周波数のモーフィング率MAに設定する(ステップS4e)。同様に、継続長モーフィング率決定部101eは、受け取ったアクセント句モーフィング率を継続長のモーフィング率に設定する(ステップS4e)。
こうして声質、基本周波数、及び継続長のモーフィング率が決定すると、モーフィング率決定部101は、決定した声質、基本周波数、及び継続長のモーフィング率MP,MAを音声再生部103の音声データ選択部103aに渡す。図4Bに示すように、音声データ選択部103aは、設備3の制御部300からの出力対象の音声データを指定する情報、声質のモーフィング率MP、及び基本周波数のモーフィング率MAに基づいて、音声データベース104から出力用の音声データを決定する(ステップS5)。このとき、音声データ選択部103aは、音声データを指定する情報に基づいて音声データベース104から音声データセットを特定する。また、音声データ選択部103aは、声質のモーフィング率MP、及び基本周波数のモーフィング率MAに基づいて、特定した音声データセットにおける音声データMD(MP,MA)を決定する。その後、音声データ選択部103aは、音声データMD(MP,MA)に関する情報を再生制御部103bに渡す。
再生制御部103bは、音声データMD(MP,MA)に関する情報を受け取ると、音声データベース104から音声データMD(MP,MA)を読み出し、現時点の基準時刻に基づく再生位置からスピーカ4に出力する(ステップS6)。
また、再生制御部103bは、音声データをスピーカ4に出力すると、再生位置が音声データの終了位置に到達しているか否かを確認する(ステップS7)。再生位置が音声データの終了位置に到達していない場合(ステップS7;No)、再生制御部103bは、次に、再生位置がアクセント句境界と一致するか否かを確認する(ステップS8)。再生位置がアクセント句境界と一致する場合(ステップS8;Yes)、再生制御部103bは、アクセント句モーフィング率決定部101bと協働して、アクセント句の先頭を再生したときの騒音レベルを現時点での騒音レベルに更新する(ステップS9)。その後、再生制御部103bは、再生位置を次のフレーム先頭に変更し(ステップS10)、入力値処理部100にステップS2の処理を行わせる。以後、音声生成装置1は、再生位置が音声データの終了位置に到達するまでステップS2〜S10を繰り返す。
そして、再生位置が音声データの終了位置に到達した場合(ステップS7;Yes)、再生制御部103bは終了位置の出力をもって出力処理を終了する。これにより、音声生成装置1は待機状態となる。待機状態の音声生成装置1は、設備3の制御部300からの新たな制御信号を受信すると、当該制御信号に応じた音声データの生成及び出力処理を行う。
図5は、音声データの再生位置とモーフィング率との関係を説明するグラフを表す図である。なお、図5には、音声データの各再生位置における騒音レベルLをプロットしたグラフ、声質モーフィング率MPをプロットしたグラフ、及び基本周波数モーフィング率MAをプロットしたグラフを上下方向に並べて示している。
ある音声データを再生しているときの騒音レベルLは、例えば、図5に示したように、L1≦L≦L2の範囲で変動する。図5に示した例において、n番目のアクセント句を再生しているときの騒音レベルLは、アクセント句の先頭となる再生位置P1(アクセント句境界Bn)ではL=L1であるが、途中で上昇してL=L2に変化する。
本実施形態に係る音声生成処理では、現時点の騒音レベルLに基づいて声質モーフィング率MPを決定する。そのため、n番目のアクセント句に含まれる再生位置P4を再生する時点の騒音レベルLがL=L2である場合、再生位置P4に対する声質モーフィング率MPは騒音レベルL2に応じた値MP(L2)となる。
一方、本実施形態に係る音声生成処理では、再生位置を含むアクセント句の先頭を再生したときの騒音レベルに基づいて基本周波数及び継続長のモーフィング率MAを決定する。そのため、再生位置P4を再生する時点の騒音レベルLがL=L2であっても、再生位置P4に対する基本周波数及び継続長のモーフィング率MAは、n番目のアクセント句の先頭を再生する時点の騒音レベルL1に応じた値MA(L1)となる。
このように、本実施形態に係る音声生成処理では、1つのアクセント句の再生中に騒音レベルLが大きく変化した場合、声質モーフィング率のみが騒音レベルに応じて変化し、基本周波数及び継続長のモーフィング率は変化しない。すなわち、1つのアクセント句を再生している間、騒音レベルに応じて変化するのは聞き取りやすさとの相関がある声質モーフィング率のみであり、アクセントとの相関がある基本周波数モーフィング率は変化しない。よって、音声データの再生中にアクセント句のアクセントが変わってしまうことを防止できる。
図6は、アクセント句の再生中に騒音レベルが変化したときのアクセントを説明するグラフを表す図である。なお、図6には、「ハンドルを」というアクセント句を再生したときの騒音レベル及び周波数と、再生した音声のアクセントとを示している。
図6において、曲線F(L1)は、騒音レベルLがL=L1のときに聞き取りやすい条件で作成した音声データにおける再生位置と基本周波数との関係を示している。また、曲線F(L2)は、騒音レベルLがL=L2のときに聞き取りやすい条件で作成した音声データにおける再生位置と基本周波数との関係を示している。そして、曲線Foutは、騒音レベルLに基づいて決定した基本周波数のモーフィング率に従って音声データを生成したときの再生位置と基本周波数との関係を示している。
従来の音声生成処理においては、アクセント句の再生中に騒音レベルLが変化すると基本周波数のモーフィング率も変化する。このとき、図6の上段のグラフに示すように、再生位置が0(アクセント句の先頭)からP1(「ン」と「ド」との間)までの騒音レベルL2の区間の音声は、曲線F(L2)の基本周波数で再生される。同様に、再生位置がP2(「ド」と「ル」との間)からP3(アクセント句の終了位置)までの騒音レベルL1の区間の音声は、曲線F(L1)の基本周波数で再生される。また、再生位置がP1からP2までの区間のように騒音レベルLがL=L2からL=L1へと徐々に減少している場合の音声は、騒音レベルに応じた基本周波数のモーフィング率MAで周波数を変化させながら再生する。
したがって、従来の音声生成処理により「ハンドルを」というアクセント句を再生した場合の基本周波数は、図6の上段のグラフに示した曲線Foutのようになる。すなわち、騒音レベルLが低下する再生位置P1以降は、再生開始時の音声データにおける基本周波数F(L2)よりも低い周波数で再生される。よって、再生された「ハンドルを」というアクセント句は、図6の上段に示したように「ン」の部分だけ強くなって聞こえる。しかしながら、「ハンドルを」というアクセント句を標準的なアクセントで発音した場合、図6の下段のグラフに示したように、「ンドルを」の4音が「ハ」よりも強く、かつほぼ同じ強さで聞こえる。よって、従来の音声生成処理のように騒音レベルの変化に応じてアクセント句内で基本周波数のモーフィング率が変化した場合、アクセントが変わってしまい、作業員に違和感を与えてしまうことがある。また、アクセントの異なる同音異義語があるアクセント句を含むメッセージの場合、メッセージの内容を理解しづらくなることがある。
これに対し、本発明(本実施形態)に係る音声生成処理では、上記のように、1つのアクセント句の再生中における基本周波数のモーフィング率MAは、途中で騒音レベルが大きく変化しても、アクセント句の先頭を再生したときのモーフィング率のままである。すなわち、図6の中段及び下段のグラフに示したように、アクセント句の先頭を再生したときの騒音レベルLがL=L2であれば、騒音レベルLが変化する再生位置P1以降の基本周波数も騒音レベルL2のときのままである。そのため、再生された「ハンドルを」というアクセント句の周波数を表す曲線Foutは曲線F(L2)と一致する。したがって、再生された「ハンドルを」というアクセント句は、図6の下段のグラフに示したように「ンドルを」の4音が「ハ」よりも強く、かつほぼ同じ強さで聞こえる。よって、騒音レベルが途中で変化しても標準的なアクセントで聞き取ることができ、作業員が違和感を覚えることや、内容を理解しづらくなることを防止できる。
このように、第1の実施形態によれば、現時点(現在の再生位置)における騒音レベルに基づいて声質のモーフィング率を決定することで、騒音レベルの変化により音声が聞き取りにくくなることを防止できる。しかも、現在の再生位置を含むアクセント句の先頭を再生したときの騒音レベルに基づいて現在の再生位置における基本周波数のモーフィング率を決定することで、アクセントが変わって内容を理解しづらくなることも防止できる。
工場等の施設においては、作業員が設備を安全かつ正しく操作できるよう、設備の稼働状況や操作案内をリアルタイムで正確に報知することが望まれる。本実施形態の音声生成装置1は、上記のように、設備3の周囲の騒音レベルに応じて声質をリアルタイムで変化させる一方で、基本周波数はアクセント句単位で変化させる。そのため、騒音レベルが一定ではない環境下においても、音声によるメッセージを聞き取りやすく、アクセントの間違いにより内容を理解しづらくなることもない。よって、本実施形態の音声生成装置1は、工場等の施設における安全かつ正確な作業の支援に最適といえる。
なお、第1の実施形態に係る音声生成装置1では、図2に示した瞬時モーフィング率決定部101aと声質モーフィング率決定部101cとが1つの決定部に統合されたものであってもよい。同様に、図2に示したアクセント句モーフィング率決定部101b、基本周波数モーフィング率決定部101d、及び継続長モーフィング率決定部101eは、1つの統合された決定部であってもよい。また、継続長モーフィング率決定部101eは、瞬時モーフィング率決定部101aで決定したモーフィング率を継続長のモーフィング率にしてもよい。
また、第1の実施形態に係る音声生成装置1は、例えば、コンピュータと、図4A及び図4Bに示した処理をコンピュータに実行させるプログラムとにより実現可能である。このコンピュータとプログラムにより実現される音声生成装置1について、図7を参照しながら説明する。
図7は、コンピュータのハードウェア構成図である。
図7に示すように、音声生成装置として動作させるコンピュータ5は、プロセッサ50と、主記憶装置51と、補助記憶装置52と、入力装置53と、出力装置54と、通信インタフェース装置55と、を備える。コンピュータ5におけるこれらの要素50〜55は、バス59により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
プロセッサ50は、Central Processing Unit(CPU)又はMicro Processing Unit(MPU)等の演算処理装置であり、オペレーティングシステムを含む各種のプログラムを実行することによりコンピュータ5の全体の動作を制御する。
主記憶装置51は、Read Only Memory(ROM)51a及びRandom Access Memory(RAM)51bを含む。ROM 51aには、例えばコンピュータ5の起動時にプロセッサ50が読み出す所定の基本制御プログラム等が予め記録されている。また、RAM 51bは、プロセッサ50が各種のプログラムを実行する際に、必要に応じて作業用記憶領域として使用する。本実施形態においては、例えば、アクセント句の先頭を再生したときの騒音レベルや、再生する音声データを含む音声データセットを示す情報等の一時的な保持にRAM 51bを用いることができる。
補助記憶装置52は、Hard Disk Drive(HDD)やSolid State Drive(SSD)等の主記憶装置51に比べて大容量の記憶装置である。補助記憶装置52には、プロセッサ50によって実行される各種のプログラムや、変換テーブル102及び音声データベース104を含む各種のデータを記憶させることができる。
入力装置53は、例えば、各種のボタンやスイッチ、及びマイク2である。ボタンやスイッチは、コンピュータ5(音声生成装置1)の動作設定等に用いる。コンピュータ5のオペレータが各種のボタンやスイッチを操作すると、その操作内容に対応付けられている入力情報がプロセッサ50に送信される。また、マイク2は、設備3の周囲の騒音レベルを求める際に用いる。
出力装置54は、例えば液晶ディスプレイやスピーカ4である。液晶ディスプレイは、プロセッサ50等から送信される表示データに従って操作案内や設定値等を表示する。また、スピーカ4は、プロセッサ50等から送信される音声データを出力する。
通信インタフェース装置55は、コンピュータ5と設備3の制御部300とを通信可能に接続するための装置である。コンピュータ5は、通信インタフェース装置55により設備3の制御部300からの制御信号を受信すると、制御信号に応じたメッセージ(音声データ)を生成して出力する。
このコンピュータ5は、プロセッサ50が補助記憶装置52から上述した音声生成処理についてのプログラムを読み出して実行する。プロセッサ50は、プログラムの実行中、通信インタフェース装置55を介して設備3の制御部300からの制御信号を受信すると、マイク2を利用して設備3の周囲の騒音レベルを求める。また、プロセッサ50は、現時点の騒音レベル、アクセント句の先頭を再生したときの騒音レベル、補助記憶装置52あるいはRAM 51bに記憶させた変換テーブル102等に基づいて、瞬時モーフィング率MP及びアクセント句モーフィング率MAを決定する。そして、プロセッサ50は、声質のモーフィング率を瞬時モーフィング率MPに設定するとともに、基本周波数及び継続長のモーフィング率をアクセント句モーフィング率MAに設定する。更に、プロセッサ50は、設定した声質、基本周波数、及び継続長のモーフィング率の組み合わせに基づいて補助記憶装置52の音声データベース104から再生する音声データを読み出し、スピーカ4に出力する。
[音声生成装置1の適用例]
本実施形態に係る音声生成装置1の適用例として、図1には、音声生成装置1を設備3とは別個に設けた例を挙げている。しかしながら、本実施形態に係る音声生成装置1は、これに限らず、設備3に音声生成部として内蔵させたものであってもよい。更に、複数の設備の稼働状況を1つの管理サーバで一元管理している施設に適用する場合、設備3からではなく、管理サーバからの制御信号に基づいて音声を出力することも可能である。
図8Aは、第1の実施形態に係る音声生成装置の別の適用例を示す図である。
本実施形態に係る音声生成装置1を適用可能な工場等の施設は、図8Aに示すように、複数の設備3(3A,3B)があり、それらの稼働状況を1つの管理サーバ6で一元管理している場合が多い。管理サーバ6は、各設備3と通信可能に接続されており、例えば、各設備3に設けた各種のセンサから設備3内の温度、圧力、設備3から作業員までの距離、作業員の有無等の情報を取得する。そして、管理サーバ6は、各設備3から取得した情報に基づいて各設備3の稼働状況を監視し、各設備3が正常に稼動するよう管理する。このように管理サーバ6で複数の設備3の稼働状況を一元管理している場合、各設備3に個別に適用された複数の音声生成装置1(1A,1B)の動作も管理サーバ6で制御、管理することが可能である。複数の音声生成装置1の動作を管理サーバ6で一元管理すると、例えば、設備3Aに何らかの異常が発生したことを伝える音声データを、設備3Bの周囲に向けて出力することができる。そのため、設備3Aの周囲に向けて異常を伝える音声データを出力したにも係わらず一定期間異常への対処がなされない場合に、他の設備3Bの周囲にいる作業員等に設備3Aの異常を報知することができる。したがって、設備3Aの異常への対処が遅れることによる設備3Aの故障等を防止することができる。また、複数の設備3A,3Bが連動(協働)している場合、例えば、1つの設備で発生した異常を他の設備の周囲にいる作業員に早期に報知でき、連鎖的な設備の異常の発生を防止することができる。
図8Bは、第1の実施形態に係る音声生成装置の更に別の適用例を示す図である。
複数の設備3(3A,3B)の稼働状況を1つの管理サーバ6で一元管理している施設に音声生成装置1を適用する場合、例えば、図8Bに示すように、音声生成装置1に相当する音声生成部600を管理サーバ6に設けてもよい。このようにすることで、複数の設備3のそれぞれに音声生成装置1を適用する場合に比べ、音声生成装置の導入コストやメンテナンス費用を低減することができる。
なお、本実施形態に係る音声生成装置1は、工場に限らず、例えば、駅構内や繁華街等で音声案内を行う装置に適用することも可能であることはもちろんである。
[第2の実施形態]
本実施形態では、eラーニングシステムに本発明を適用した場合の音声生成装置の構成や音声生成方法等を説明する。
図9は、第2の実施形態に係るeラーニングシステムの構成例を示す図である。
図9に示すように、本実施形態に係るeラーニングシステムでは、ホストコンピュータ8と、複数の端末(クライアント)9とがインターネット等の通信ネットワーク10で接続されている。ホストコンピュータ8は、教材の作成や提供等を行うコンピュータである。一方、複数の端末9は、それぞれ、学習者が教材を利用して学習する際に用いるコンピュータである。
ホストコンピュータ8は、教材としての音声データを作成するときや再生するときに音声生成装置として動作する。このホストコンピュータ8は、コンピュータ本体80と、キーボード81と、マウス82と、表示装置83と、スピーカ84とを備える。コンピュータ本体80は、図7に示したコンピュータのハードウェア構成におけるプロセッサ50、主記憶装置51、補助記憶装置52、通信インタフェース装置55等を備える。また、キーボード81及びマウス82は、図7に示したコンピュータのハードウェア構成における入力装置53に該当する。また、表示装置83及びスピーカ84は、図7に示したコンピュータのハードウェア構成における出力装置54に該当する。
ホストコンピュータ8を音声生成装置1として動作させるときには、コンピュータ本体80に音声データ作成プログラムを実行させる。音声データ作成プログラムは、オペレータがキーボード81等を操作して入力した文字情報(テキストデータ)から音声データを作成するプログラムである。音声データ作成プログラムの実行中、表示装置83には、例えば、図9及び図10に示したような作業ウインド85が表示される。
図10は、表示装置に表示される作業ウインドの構成例を示す図である。
音声データ作成時に表示装置83に表示される作業ウインド85には、例えば、図10に示したように、入力領域85aと、再生ボタン85bと、保存ボタン85cと、スライダー85dと、溝85eとが設けられている。
入力領域85aは、図9に示したキーボード81等を操作して入力した文字情報を音声データ作成用の文字情報として受け付け、表示する領域である。
再生ボタン85bは、入力領域85aに表示された文字情報を音声データに変換して再生するときに使用する。また、保存ボタン85cは、入力領域に表示された文字情報を音声データに変換して保存、すなわち電子ファイルとして記憶装置に記憶させるときに使用する。
スライダー85dは、入力領域85aに表示された文字情報を音声データに変換して再生する際の音声の強調度合いの指定に用いる。このスライダー85dは、溝85eに沿って左右に動かすことが可能であり、図10に示した例では、スライダー85dを溝85eの左端(平静)に移動させたときの強調度合いが最も低く、溝85eの右端(強調)に近づくほど強調度合いが高くなる。スライダー85dを溝85eに沿って移動させると、溝85eの左端からの距離に応じてスライダー値が変化する。コンピュータ本体80が音声データを作成する際には、スライダー85dの位置に応じた強調度合いになるよう、スライダー値に基づいて平静時の音声パラメータと強調時の音声パラメータとをモーフィングする。
次に、コンピュータ本体80を音声生成装置1として動作させた場合の機能ブロックの構成例を、図11及び図12を参照して説明する。
図11は、第2の実施形態に係る音声生成装置の機能ブロック図である。図12は、第2の実施形態における合成音声作成部の機能ブロック図である。
図11に示すように、第2の実施形態に係る音声生成装置1(コンピュータ本体80)は、入力データ処理部120と、モーフィング率決定部121と、変換テーブル122と、合成音声作成部123と、音声データベース124と、を備える。また、音声生成装置1は、表示制御部125と、テキストデータベース126と、を更に備える。
入力データ処理部120は、入力装置(キーボード)81から入力されるテキストデータの受け付け処理、及び入力装置(マウス)82から入力されるスライダー85dの位置情報の受け付け処理を行う。入力データ処理部120は、入力されたテキストデータを表示制御部125渡すとともに、テキストデータベース126に記憶させる。また、入力データ処理部120は、入力されたスライダー85dの位置情報(スライダー値)を表示制御部125に渡す。更に、入力データ処理部120は、マウス82等からの再生ボタン85b又は保存ボタン85cを押下する操作と対応した信号を受け付けると、スライダー値をモーフィング率決定部121に渡すとともに、テキストデータを合成音声作成部123に渡す。
表示制御部125は、表示装置83の表示を制御する。表示制御部125は、例えば、入力データ処理部120から受け取ったテキストデータ及びスライダー値に基づいて、表示装置83に表示させた作業ウインド85における入力領域85a内の表示やスライダー85dの位置を変更する。
モーフィング率決定部121は、入力データ処理部120から受け取ったスライダー値と、変換テーブル122と、合成音声作成部123からのアクセント句境界を示す情報とに基づいて、モーフィング率を決定する。変換テーブル122は、スライダー値とモーフィング率との対応関係を示すテーブルである。また、アクセント句境界を示す情報は、現在スピーカ84に出力した音声データの再生位置がアクセント句境界であるかを示す情報である。
合成音声作成部123は、入力データ処理部120から受け取ったテキストデータと、モーフィング率決定部121で決定したモーフィング率とに基づいて合成音声を作成する。また、合成音声作成部123は、作成した合成音声をスピーカ84に出力する。更に、保存ボタン85cを押下する操作に応じて合成音声を作成した場合、合成音声作成部123は、作成した合成音声を音声データベース124に記憶させる。なお、合成音声を音声データベース124に記憶させる場合、合成音声作成部123は、合成音声のデータをテキストデータベース126に記憶させたテキストデータと対応付けて記憶させる。
本実施形態の音声生成装置1におけるモーフィング率決定部121は、第1の実施形態と同様の方法で声質、基本周波数、及び継続長のモーフィング率を決定する。すなわち、モーフィング率決定部121は、図2に示したモーフィング率決定部101と同様、瞬時モーフィング率決定部と、アクセント句モーフィング率決定部と、声質モーフィング率決定部と、基本周波数モーフィング率決定部と、継続長モーフィング率決定部とを含む。
一方、本実施形態の音声生成装置1における合成音声作成部123は、テキストデータとモーフィング率とに基づいて合成音声の音声データを作成する。本実施形態の合成音声作成部123は、既知の音声合成方法の1つである、隠れマルコフモデル(HMM)に基づいた合成方法により音声データを作成する。この合成音声作成部123は、図12に示すように、言語処理部123aと、平静音声パラメータ作成部123bと、強調音声パラメータ作成部123cと、モーフィング処理部123dと、分析合成部123eと、を含む。また、合成音声作成部123は、平静音声HMMパラメータ123fと、強調音声HMMパラメータ123gと、を更に含む。
言語処理部123aは、テキストデータを読み・アクセントを表す表音テキストに変換する。
平静音声パラメータ作成部123bは、表音テキストと平静音声HMMパラメータ123fとに基づいて、平静時の音声についての音声パラメータを作成する。また、強調音声パラメータ作成部123cは、表音テキストと強調音声HMMパラメータ123gとに基づいて、強調時の音声についての音声パラメータを作成する。
モーフィング処理部123dは、平静時の音声についての音声パラメータと強調時の音声についての音声パラメータとをモーフィング率決定部121で決定したモーフィング率でモーフィングし、現在のフレームに対する音声パラメータを作成する。
分析合成部123eは、現在のフレームに対する音声パラメータを分析合成して音声波形に変換する。また、分析合成部123eは、現在のフレームにアクセント句の先頭が含まれる場合、アクセント句の先頭が含まれることを示す情報をモーフィング率決定部121に通知する。
次に、本実施形態の音声生成装置1(ホストコンピュータ8)における音声生成処理について説明する。
図13Aは、第2の実施形態に係る音声生成処理を示すフローチャート(その1)である。図13Bは、第2の実施形態に係る音声生成処理を示すフローチャート(その2)である。
本実施形態に係る音声生成装置1は、図10に示したような作業ウインド85の再生ボタン85b又は保存ボタン85cを押下する操作がなされたときに、入力領域85aに表示されたテキストを音声データに変換して再生する。このとき、音声生成装置1は、図13Aに示すように、まず、テキストデータの再生位置、及びスライダー値と再生位置との対応付けを初期化する(ステップS21)。ステップS21は、モーフィング率決定部121のアクセント句モーフィング率決定部(図示せず)が行う。
次に、音声生成装置1は、現時点のスライダー値を取得してモーフィング率決定部121に渡すとともに、テキストデータを合成音声作成部123に渡す(ステップS22)。ステップS22は、入力データ処理部120が行う。入力データ処理部120は、取得したスライダー値をモーフィング率決定部121の瞬時モーフィング率決定部及びアクセント句モーフィング率決定部(図示せず)に渡す。また、入力データ処理部120は、テキストデータを合成音声作成部123の言語処理部123aに渡す。
ステップS22の後、音声生成装置1は、モーフィング率決定処理(ステップS23)、及び音声パラメータの作成処理を行う。モーフィング率決定処理(ステップS23)は、モーフィング率決定部121が行う。モーフィング率決定部121は、図4Aに示したステップS3a,S3b及びステップS4a〜S4eと同様の処理により、声質、基本周波数、及び継続長のモーフィング率を決定する。なお、本実施形態で行うステップS23の処理では、騒音レベルの代わりにスライダー値を用いる。また、モーフィング率決定部121は、決定した声質、基本周波数、及び継続長のモーフィング率を合成音声作成部123のモーフィング処理部123dに渡す。
一方、音声パラメータの作成処理は、合成音声作成部123が行う。合成音声作成部123は、まず、モーフィング率決定処理S23と並行して、テキストデータを読み・アクセントを表す表音テキストに変換する処理(ステップS24a)と、平静音声及び強調音声についての音声パラメータを作成する処理(ステップS24b)とを行う。
ステップS24aは、言語処理部123aが行う。言語処理部123aでは、既知の変換方法のいずれかによりテキストデータを表音テキストに変換する。
また、ステップS24bは、平静音声パラメータ作成部123b及び強調音声パラメータ作成部123cが行う。平静音声パラメータ作成部123bは、表音テキストと平静音声HMMパラメータ123fとに基づいて、強調度が最も低い平静時の音声についての音声パラメータを作成する。強調音声パラメータ作成部123cは、表音テキストと強調音声HMMパラメータ123gとに基づいて、強調度が最も高い強調時の音声についての音声パラメータを作成する。このステップS24bの処理は、隠れマルコフモデルに基づく既知の音声パラメータの作成方法のいずれかにより行う。平静音声パラメータ作成部123bは、作成した音声パラメータをモーフィング処理部123dに渡す。同様に、強調音声パラメータ作成部123cは、作成した音声パラメータをモーフィング処理部123dに渡す。
モーフィング処理部123dは、音声パラメータ及びモーフィング率を受け取ると、図13Bに示すように、受け取った音声パラメータとモーフィング率とに基づいてフレームに対する音声パラメータを作成する(ステップS25)。モーフィング処理部123dは、既知の音声合成処理におけるモーフィング処理のいずれかによりフレームに対する音声パラメータを作成する。また、モーフィング処理部123dは、作成した音声パラメータを分析合成部123eに渡す。
分析合成部123eは、フレームに対する音声パラメータを分析合成してフレームの音声データ(音声波形)に変換する(ステップS26)。分析合成部123eは、既知の音声合成処理における変換方法のいずれかにより、フレームの音声パラメータを音声データに変換する。
また、分析合成部123eは、得られた音声データを出力する(ステップS27)。分析合成部123eは、得られた音声データをスピーカ84に出力する。また、作業ウインド85の保存ボタン85cを押下する操作に応じた音声合成処理の場合、音声データを音声データベース124に記憶させる。
更に、分析合成部123eは、音声データを出力した後、フレームがテキストデータの終了位置に到達しているかを確認する(ステップS28)。フレームがテキストデータの終了位置に到達していない場合(ステップS28;No)、分析合成部123eは、次に、フレームにアクセント句境界が含まれるかを確認する(ステップS29)。アクセント句境界が含まれる場合(ステップS29;Yes)、分析合成部123eは、モーフィング率決定部121と協働して、再生位置を含むアクセント句の先頭を再生した時刻のスライダー値を現時点でのスライダー値に更新する(ステップS30)。その後、分析合成部123eは、フレームを次のフレームに変更し(ステップS31)、入力データ処理部120にステップS22の処理を行わせる。以後、音声生成装置1は、フレームがテキストデータの終了位置に到達するまでステップS22〜S31を繰り返す。
そして、フレームがテキストデータの終了位置に到達した場合(ステップS28;Yes)、分析合成部123eは最後のフレームの音声データを出力して処理を終了する。これにより、音声生成装置1は待機状態となる。待機状態の音声生成装置1は、作業ウインド85の再生ボタン85b又は保存ボタン85cを押下する操作と対応した信号を受信すると、再びテキストデータの生成及び出力処理を行う。
このように、本実施形態の音声生成処理では、テキストデータを音声データ(音声波形)に変換する際、声の張り方等の音声の強調度合いと相関がある声質のモーフィング率を現時点のスライダー値に基づいて決定する。そのため、音声データの所望の区間を容易に強調させることができる。例えば、図10に示したように、作業ウインド85の入力領域85aに「C言語ではポインタが重要です。」と入力して再生する場合、スピーカ84からスライダー85dの位置に応じた強調度の音声で「C言語ではポインタが重要です。」と出力される。この際、「ポインタが」というアクセント句の先頭でスライダー85dを右側に移動させ、終了位置でスライダー85dを左側に戻すと、「ポインタが」という部分を強調することができる。
また、本実施形態の音声生成処理では、アクセントとの相関がある基本周波数のモーフィング率をアクセント句の先頭を再生したときのスライダー値に基づいて決定する。そのため、アクセント句の再生中にスライダー値を変えてもアクセントは変わらない。よって、アクセント句のアクセントが変わってしまい再生音の内容を理解しづらくなることを防止できる。例えば、「C言語ではポインタが重要です。」というテキストデータを「ポインタが」というアクセント句が強調されるよう再生した場合、「ポインタが」の再生中にスライダー85bの位置が変わってもアクセントは変わらない。
なお、本実施形態では隠れマルコフモデルに基づいて平静時及び強調時の音声パラメータを作成する場合を例に挙げたが、モーフィングに使用する2つの音声パラメータは、これに限らず、他の方法で作成してもよい。
以上記載した各実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
入力装置からの入力値に基づいて声質のモーフィング率及び基本周波数のモーフィング率を含む2以上のモーフィング率を決定するモーフィング率決定部と、
前記モーフィング率に基づく音声データを再生する音声再生部と、を備え、
前記モーフィング率決定部は、
前記音声データの各フレームを再生する時点における前記入力値に基づいて前記声質のモーフィング率を決定する第1のモーフィング率決定部と、
前記音声データのうち前記フレームを含むアクセント句の先頭のフレームを再生したときの前記入力値に基づいて前記基本周波数のモーフィング率を決定する第2のモーフィング率決定部と、を含む
ことを特徴とする音声生成装置。
(付記2)
前記モーフィング率決定部は、
前記第2のモーフィング率決定部で決定した前記基本周波数のモーフィング率を継続長のモーフィング率に決定する、
ことを特徴とする付記1に記載の音声生成装置。
(付記3)
前記モーフィング率決定部は、
前記第1のモーフィング率決定部で決定した前記声質のモーフィング率を継続長のモーフィング率に決定する、
ことを特徴とする付記1に記載の音声生成装置。
(付記4)
前記入力値は、装置外部の所定の区域における騒音レベルの値を含む、
ことを特徴とする付記1に記載の音声生成装置。
(付記5)
前記入力値は、予め定めた範囲内を移動可能なスライダーの前記範囲内における位置を示す値である、
ことを特徴とする付記1に記載の音声生成装置。
(付記6)
前記モーフィング率の組み合わせが異なる複数の音声データを記憶させた記憶部、を更に備え、
前記音声再生部は、
前記音声データの再生位置毎に、前記モーフィング率決定部で決定した前記モーフィング率の組み合わせに基づいて、前記記憶部から音声データを読み出して前記再生位置から出力する再生制御部を含む、
ことを特徴とする付記1に記載の音声生成装置。
(付記7)
前記音声生成装置は、所定の言語に基づくテキストデータに基づいて合成音声を作成する合成音声作成部、を備え、
前記合成音声作成部は、
所定の言語に基づくテキストデータを表音テキストに変換する言語処理部と、
声種の異なる2以上の変換パラメータに基づいて、前記表音テキストについての2以上の音声パラメータを作成する音声パラメータ作成部と、
前記2以上の音声パラメータを前記モーフィング率に基づいてモーフィングして前記合成位置に対する音声パラメータを作成するモーフィング処理部と、
モーフィング処理部で作成した音声パラメータを音声データに変換して出力する出力部と、
を含むことを特徴とする付記1に記載の音声合成装置。
(付記8)
コンピュータが、
出力対象の音声データにおける現時点の再生位置と、当該再生位置と対応した入力値とに基づいて声質のモーフィング率を決定し、
前記音声データのうちの前記再生位置を含むアクセント句の先頭を再生したときの入力値に基づいて基本周波数のモーフィング率を決定し、
決定した前記モーフィング率を含む2以上のモーフィング率に基づいて音声データを生成する、
処理を実行することを特徴とする音声生成方法。
(付記9)
継続長のモーフィング率を前記基本周波数のモーフィング率と同じモーフィング率に決定し、
前記声質、前記基本周波数、及び前記継続長のモーフィング率に基づいて前記音声データを生成する、
ことを特徴とする付記8に記載の音声生成方法。
(付記10)
継続長のモーフィング率を前記声質のモーフィング率と同じモーフィング率に決定し、
前記声質、前記基本周波数、及び前記継続長のモーフィング率に基づいて前記音声データを生成する、
ことを特徴とする付記8に記載の音声生成方法。
(付記11)
前記音声データの前記再生位置毎に、前記声質及び基本周波数のモーフィング率に基づいて、予め用意された前記声質及び基本周波数のモーフィング率の組み合わせが異なる複数の音声データのいずれかを選択して前記音声データを生成する、
ことを特徴とする付記8に記載の音声生成方法。
(付記12)
出力対象の音声データにおける現時点の再生位置と、当該再生位置に対応した入力値とに基づいて声質のモーフィング率を決定し、
前記音声データのうちの前記再生位置を含むアクセント句の先頭を再生したときの入力値に基づいて基本周波数のモーフィング率を決定し、
決定した前記モーフィング率を含む2以上のモーフィング率に基づいて音声データを生成する、
処理をコンピュータに実行させるためのプログラム。