以下、本発明の実施の形態に係る音声提供システムについて、添付の図面を参照しながら詳細に説明する。なお、本発明に係る音声提供システムは、以下の実施の形態に限定されるものではなく、本発明の趣旨の範囲で適宜変形して実施することができる。
図1は、本実施の形態に係る音声提供システムの概略を示す説明図である。図1に示すように、音声提供システム1は、判定装置の一例を構成する管理サーバ10を備える。管理サーバ10は、インターネット等のネットワークNWを介して接続されたテキスト登録端末20及び声紋登録端末30から提供されるテキスト及び声紋データ(デジタル声紋データ)を蓄積する一方、ネットワークNWを介して接続された外部端末群40に対してテキスト及び声紋データから生成される音声データを提供する。
なお、図1においては、音声提供システム1がネットワークNWを介してテキストや声紋データを受け取り、これらに基づいて生成された音声データを外部端末群40に提供する場合について説明している。しかしながら、本発明に係る音声提供システム1が適用される環境については、上記環境に限定されるものではなく適宜変更が可能である。例えば、テキストや声紋データは、管理サーバ10に対して直接登録してもよい。また、音声データは、外部端末群40に限定されず、管理サーバ10に直接接続された端末(音声出力端末等)に提供するようしてもよい。
管理サーバ10は、本実施の形態に係る音声提供システム1を用いた音声提供サービスを提供する企業等に配置される。管理サーバ10は、例えば、一般的な機能を有するパーソナルコンピュータ(PC)で構成され、ウェブサーバとしての機能を有する。例えば、管理サーバ10は、後述するテキスト登録画面(図6参照)、声紋登録画面(図8参照)及び設定入力画面(図10参照)を、ネットワークNWを通じてテキスト登録端末20、声紋登録端末30及び外部端末群40に提供する。
テキスト登録端末20は、音声提供システム1から提供される音声データの原稿となるテキストを登録する企業等に配置される。テキスト登録端末20は、例えば、一般的な機能を有するPCで構成され、ウェブブラウザ機能を有する。例えば、テキスト登録端末20は、音声データとして、広告の提供を希望する製造業者や、ニュースの提供を希望する新聞社やテレビ局などに配置される。また、テキスト登録端末20は、テレビや冷蔵庫などの任意の家電製品等がインターネットに接続される環境において、これらの家電製品等から情報提供(例えば、音声案内)を希望するサービス提供業者に配置されてもよい。なお、テキスト登録端末20は、テキスト入力端末として必要な構成要素(入力部、表示部や通信部等)を備える。テキスト登録端末20から登録されるテキストは、自然言語で構成される。
声紋登録端末30は、音声提供システム1から提供される音声データの音源となる声紋データ(デジタル声紋データ)を登録する企業等に設置される。声紋登録端末30は、例えば、通常の一般的な機能を有するPCで構成され、ウェブブラウザ機能を有する。例えば、声紋登録端末30は、俳優や声優等が所属するタレント事務所や、スポーツ選手等のマネジメントを行うマネジメント事務所などに配置される。なお、声紋登録端末30は、声紋入力端末として必要な構成要素(入力部、表示部や通信部等)を備える。
ここで、声紋登録端末30から登録される声紋データについて説明する。この声紋データには、例えば、特定の人物の発声を録音した音声の断片データや、特定の人物の発声を分析して得られる、スペクトルや基本周波数などの音響・韻律パラメータが含まれる。なお、声紋データは、これらに限定されるものではなく、後述する音声生成部112による音声合成技術(例えば、波形接続型音声合成やフォルマント合成など)に必要な任意のデータを含む。
外部端末群40は、例えば、ネットワーク接続機能を有する任意の端末(機器)で構成される。図1においては、外部端末群40として、カーナビゲーションシステム(以下、「カーナビ」という)41、スマートフォン等の携帯端末42及び冷蔵庫などの家電製品43を例示している。外部端末群40を構成するカーナビ41、携帯端末42及び家電製品43は、各端末に特有の機能に加え、管理サーバ10から提供される音声データを出力する音声出力機能を有する。
図2は、本実施の形態に係る音声提供システム1の管理サーバ10のブロック図である。なお、図2においては、本発明に関連する管理サーバ10の構成要素のみを示している。図2に示すように、管理サーバ10は、管理サーバ10の全体の制御を行う制御部101を有する。制御部101には、生成部102、記憶部103、判定部104、通信部105、入力部106及び表示部107が接続されている。なお、管理サーバ10の構成については、これに限定されるものではなく適宜変更が可能である。
生成部102は、判定対象生成部111及び音声生成部112を有する。判定対象生成部111は、記憶部103に記憶されたテキストに非許容単語(以下、「NGワード」という)が含まれるか否かを判定する対象(判定対象)を生成する。例えば、判定対象生成部111は、記憶部103に記憶されたテキストを任意箇所で区切って第1の判定対象(第1判定対象)を生成する。また、判定対象生成部111は、記憶部103に記憶されたテキストを形態素に分割して第2の判定対象(第2判定対象)を生成する。さらに、判定対象生成部111は、記憶部103に記憶されたテキスト又は第2判定対象の一部を発音語(例えば、平仮名や韻律)に変換する。
ここで、判定対象生成部111により生成される第1判定対象、第2判定対象について具体的に示す。図3A及び図3Bは、それぞれ判定対象生成部111により生成される第1判定対象及び第2判定対象の一例を示す図である。図3Aにおいては、日本語を用いたテキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」及び英語を用いたテキスト「It is good weather today」から第1判定対象を生成する場合について示している。また、図3Bにおいては、日本語を用いたテキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」及び英語を用いたテキスト「It is good weather today」から第2判定対象を生成する場合について示している。なお、英語を用いてテキストでは、発音記号により第1判定対象、第2判定対象を示している。以下では、日本語を用いたテキストを使用して第1判定対象、第2判定対象について説明する。
図3Aに示すように、第1判定対象は、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」を発音語に変換し、任意箇所で区切って生成される。例えば、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」は、「きょ−う−は−よ−い−て−ん−き−で−す(KYO−U−WA−YO−I−TE−N−KI−DE−SU)」や「きょう−はよ−いて−んき−です(KYOU−WAYO−ITE−NKI−DESU)」に区切って第1判定対象とされる。第1判定対象には、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」を構成する平仮名の順番を維持した状態において、任意の発音語数(平仮名数)で分割した全ての組み合わせが含まれる。
なお、第1判定対象を生成する際、テキストに複数の発音語が含まれる場合には、全ての発音語を含む第1判定対象が生成される。例えば、図3Aに示すテキスト内の「良い(YOI)」には、「よい(YOI)」及び「いい(II)」の発音語が存在する。このため、このテキストから生成される第1判定対象には、「きょうはよいてんきです(KYOUWAYOITENKIDESU)」を任意箇所で区切ったものと、「きょうはいいてんきです(KYOUWAIITENKIDESU)」を任意箇所で区切ったものとが含まれる。
一方、図3Bに示すように、第2判定対象は、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」を形態素に分割して生成される。例えば、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」は、「今日−は−良い−天気−です(KYOU−WA−YOI−TENKI−DESU)」に分割されて第2判定対象とされる。判定対象生成部111により生成された判定対象(第1判定対象、第2判定対象)は、後述する記憶部103内のテキストデータベース(DB)113にて、生成元のテキストに関連付けて登録される。
音声生成部112は、テキストDB113に保存されたテキストから、後述する記憶部103内の声紋DB114に登録された声紋データを用いて音声データを生成する。音声生成部112は、声紋データに基づいて音声波形を生成する、音声合成部と呼ぶこともできる。例えば、音声生成部112は、波形接続型音声合成やフォルマント合成等により音声波形を生成することができる。波形型音声合成では、録音された特定の人物等の音声の断片データが連結して合成される。一方、フォルマント合成では、録音された特定の人物等の音声は使用されず、基底周波数、音色、雑音レベルなどのパラメータを調整して波形が形成され、人工的な音声データが生成される。
また、音声生成部112は、後述するように、テキストに含まれるNGワードの有無に応じて生成する音声データの態様を変更する。テキストにNGワードが含まれない場合には、当該テキストを修正することなくテキストに対応する音声データを生成する。一方、テキストにNGワードが含まれる場合には、NGワードに対応する部分を修正したテキストに対応する音声データを生成する。例えば、NGワードに対応する部分を修正する際、音声生成部112は、当該部分を削除又は置換した音声データを生成することができる。
記憶部103は、制御部101が管理サーバ10を制御するために必要な情報が記憶されている。例えば、記憶部103には、後述するテキスト登録画面(図6参照)、声紋登録画面(図8参照)及び設定入力画面(図10参照)を生成するための情報が記憶されている。また、記憶部103には、各種の情報が登録されたデータベース(DB)が記憶されている。具体的には、テキストDB113、声紋DB114、第1NGワードDB115、第2NGワードDB116が記憶されている。
テキストDB113には、ネットワークNWを介してテキスト登録端末20から登録されたテキストが登録されている。テキストDB113において、テキストは、テキスト登録端末20の識別情報と関連付けて登録されている。また、テキストDB113においては、判定対象生成部111により生成された判定対象(第1判定対象、第2判定対象)が生成元のテキストに関連付けて登録されている。
声紋DB114には、ネットワークNWを介して声紋登録端末30から登録された声紋データが登録されている。声紋DB114において、声紋データは、声紋登録端末30の識別情報と関連付けて登録されている。
第1NGワードDB115には、社会通念上、使用することが好ましくない単語や、後述するテキストの属性情報から特定される単語を含む基本NGワードが登録されている。例えば、基本NGワードには、第三者を罵倒する単語、猥褻な単語や反社会的な発言を連想させる単語が含まれる。また、基本NGワードには、テキストの属性情報が「政治」の場合に政治的立場を連想させる単語が含まれる。
第2NGワードDB116には、ネットワークNWを介して声紋登録端末30から登録された単語を含む個別NGワードが登録されている。この個別NGワードは、声紋DB116に登録された声紋データと関連付けて登録されている。個別NGワードには、声紋データを提供する人物の印象に悪影響を与える単語が含まれる。例えば、声紋データを提供する人物が「スポーツ選手」である場合に「八百長」や「ドーピング」などの単語が含まれる。
判定部104は、テキストDB113に登録されるテキストや、このテキストに関連付けられる第1判定対象、第2判定対象にNGワード又はNGワードでない許容単語(以下、「OKワード」という)が含まれるかを判定する。テキストDB113に登録されるテキストにNGワードが含まれるかを判定する際、判定部104は、第1NGワードDBに登録された基本NGワードを参照する。また、テキストDB113に登録された第1判定対象、第2判定対象にNGワードが含まれるかを判定する際、判定部104は、第2NGワードDBに登録された個別NGワードを参照する。この場合、判定部104は、必要に応じて個別NGワードの発音語(NG音)を生成し、第1判定対象及び第2判定対象と比較する。
通信部105は、制御部101の制御の下、テキスト登録端末20、声紋登録端末30及び外部端末群40との間で情報の通信を行う。例えば、通信部105は、テキスト登録端末20及び声紋登録端末30に対して、それぞれテキスト登録画面(図6参照)及び声紋登録画面(図8参照)に必要な情報を送信する。一方、通信部105は、テキスト登録端末20、声紋登録端末30及び外部端末群40から、それぞれテキスト、声紋データ及び設定入力情報を受信する。
入力部106は、管理サーバ10に対する指示を受け付ける。例えば、入力部106は、第1NGワードDB115における基本NGワードの編集等の指示を受け付ける。表示部107は、管理サーバ10を操作するために必要な情報を表示する。例えば、表示部107には、管理サーバ10のステータスや記憶部103に記憶されたテキストや声紋データの登録状況等が表示される。
ここで、本実施の形態に係る音声提供システム1から音声提供を受ける外部端末群40の構成例について携帯端末42を代表して説明する。図4は、本実施の形態に係る音声提供システム1から音声提供を受ける携帯端末42のブロック図である。なお、図4においては、本発明に関連する携帯端末42の構成要素のみを示している。
図4に示すように、携帯端末42は、端末全体の制御を行う制御部421を備える。制御部421には、アプリケーション実行部(以下、「アプリ実行部」という)422、音声出力部423、通信部424、入力部425及び表示部426が接続されている。なお、携帯端末42の構成については、図4に示す構成に限定されるものではなく適宜変更が可能である。
アプリ実行部422は、管理サーバ10から提供される音声データを出力するために必要な処理を実行する。例えば、アプリ実行部422は、管理サーバ10から提供される音声データに対する設定を入力する設定入力画面(図10参照)を生成し、この設定入力画面を表示部426で表示する。また、アプリ実行部422は、通信部424を介して受信した音声データの確認(例えば、設定入力画面での設定と合致してるか否かの確認)を行い、音声出力部423に出力する。
音声出力部423は、アプリ実行部422から受け取った音声データを出力する。例えば、音声出力部423は、管理サーバ10から提供されるテキストに対応する音声データをスピーカから出力する。
通信部424は、制御部421の制御の下、ネットワークNWを介して管理サーバ10との間で情報を通信する。例えば、通信部424は、上述した設定入力画面で入力された情報を管理サーバ10に対して送信する。また、通信部424は、管理サーバ10から音声データを受信する。
入力部425は、携帯端末42に対する指示を受け付ける。例えば、入力部425は、設定入力画面への情報の入力指示を受け付ける。表示部426は、携帯端末42を操作するために必要な情報を表示する。例えば、表示部426には、携帯端末42のステータスや設定入力画面等が表示される。
本実施の形態に係る音声提供システム1において、例えば、管理サーバ10は、テキスト登録端末20から新聞記事などのテキストを受信し、声紋登録端末30から特定の俳優などの声紋データを受信する。一方、管理サーバ10は、携帯端末42から、所望のテキスト及び声紋データが指定された設定情報を受信する。管理サーバ10は、携帯端末42からの設定情報に基づいて、指定された声紋データを用いてテキストから音声データを生成し、携帯端末42に提供する。これにより、携帯端末42においては、新聞記事などのテキストが操作者のお気に入りの俳優の声で読み上げられた音声データを受信し、出力することができる。
以下、このような構成を有する音声提供システム1におけるテキストの登録から音声データの提供までの動作について説明する。まず、テキスト登録端末20から管理サーバ10に対してテキストを登録する際の動作について説明する。図5は、本実施の形態に係る音声提供システム1におけるテキスト登録時の動作を説明するためのフロー図である。
図5に示すように、管理サーバ10にテキストを登録する際、テキスト登録端末20からテキストの登録が申請される(ステップST501)。このテキスト登録申請を検出すると、記憶部103に記憶された情報からテキスト登録画面の生成に必要な情報(登録画面情報)が読み出され、通信部105を介してテキスト登録端末20に出力される(ステップST502)。このテキスト登録画面に必要な情報を受信すると、テキスト登録端末20にてテキスト登録画面が表示される(ステップST503)。
図6は、本実施の形態に係る音声提供システム1で利用されるテキスト登録画面600の一例を示す図である。図6に示すテキスト登録画面600は、テキスト登録端末20の操作者が提供したいテキストを登録するための画面である。図6に示すように、テキスト登録画面600には、属性選択部601、テキスト入力部602、リセットボタン603及び終了ボタン604が設けられている。
属性選択部601は、登録するテキストの属性情報を選択する部分である。例えば、属性選択部601には、テキストの属性情報として、「エンタメ」、「スポーツ」、「ニュース」、「経済」等のカテゴリを選択するボックス(カテゴリ選択ボックス)が設けられている。これらのカテゴリ選択ボックスを選択することにより、登録されるテキストの属するカテゴリを特定することができる。なお、属性選択部601には、直接的にテキストの属性情報を入力する構成としてもよい。属性選択部601は、テキストの属性情報を指定することを前提として任意の構成を採用することができる。
テキスト入力部602は、登録するテキストが入力される部分である。テキスト入力部602には、テキストを入力する欄(テキスト入力欄)が設けられている。このテキスト入力欄にテキストの文字や数字を入力することにより、管理サーバ10に登録したいテキストを指定することができる。例えば、テキスト入力欄には、新聞記事、交通情報、音声案内や広告情報に関するテキストが入力される。
リセットボタン603は、テキスト登録画面600で選択、指定した情報をリセットする際に利用される。終了ボタン604は、テキスト登録画面600を用いたテキストの登録処理を終了する際に利用される。終了ボタン604を選択することにより、テキスト登録画面600を介して選択/入力した属性情報及びテキストが管理サーバ10に送信される。
なお、テキスト登録画面600は、図6に示す例に限定されるものではなく適宜変更が可能である。テキスト登録画面600に、登録したテキストに対する取扱いについて指定する部分を設けることは実施の形態として好ましい。例えば、登録したテキストに、声紋データとの関係でNGワードが含まれた場合の音声データの修正方法(NGワードの削除、置換)を指定するようにしてもよい。
このようなテキスト登録画面600が表示されると、属性選択部601から属性情報が選択され、テキスト入力部602にテキストが入力される。そして、テキスト登録画面600の終了ボタン604が選択されると、これらの属性情報及びテキストが管理サーバ10に送信される(ステップST504)。
属性情報及びテキストを受け取ると、判定部104によりテキストにNGワードが含まれているかが判定される(ステップST505)。このとき、判定部104は、第1NGワードDBに登録された基本NGワードを参照する。これにより、テキスト内に、社会通念上、使用することが好ましくない単語等が含まれるかが検出される。このようにテキストの登録段階で基本NGワードの有無を判定することにより、基本NGワードを含むテキストが管理サーバ10に登録されるのを防止することができる。
テキストに基本NGワードが含まれる場合(ステップST505:Yes)には、テキスト登録端末20にその旨を示すエラーメッセージが出力される(ステップST506)。このようにエラーメッセージを出力することにより、テキスト等の不適切性をテキスト登録者に通知することができる。エラーメッセージを受信したテキスト登録者は、再びテキスト登録画面600からテキスト等を入力し、管理サーバ10に送信する(ステップST504)。
一方、テキストに基本NGワードが含まれない場合(ステップST505:No)には、ステップST504で送信されたテキストがテキストDB113に登録される(ステップST507)。そして、テキストDB113への登録処理が完了すると、管理サーバ10からテキスト登録端末20に対してテキスト登録の完了が通知される(ステップST508)。このような一連の動作により管理サーバ10(テキストDB113)には、新聞記事等のテキストが登録される。
次に、声紋登録端末30から管理サーバ10に対して声紋データを登録する際の動作について説明する。図7は、本実施の形態に係る音声提供システム1における声紋登録時の動作を説明するためのフロー図である。
図7に示すように、管理サーバ10に声紋データを登録する際、声紋登録端末30から声紋データの登録が申請される(ステップST701)。この声紋登録申請を検出すると、記憶部103に記憶された情報から声紋登録画面の生成に必要な情報(登録画面情報)が読み出され、通信部105を介して声紋登録端末30に出力される(ステップST702)。この声紋登録画面に必要な情報を受信すると、声紋登録端末30にて声紋登録画面が表示される(ステップST703)。
図8は、本実施の形態に係る音声提供システム1で利用される声紋登録画面800の一例を示す図である。図8に示す声紋登録画面800は、声紋登録端末30の操作者が提供したい声紋データを登録するための画面である。図8に示すように、声紋登録画面800には、属性選択部801、NGワードカテゴリ選択部802、NGワード選択/入力部803、声紋入力部804、リセットボタン805及び終了ボタン806が設けられている。
属性選択部801は、登録する声紋データ(より具体的には、声紋データの人物)の属性情報を選択する部分である。例えば、属性選択部801には、声紋データの属性情報として、「俳優」、「アイドル」、「声優」、「アーティスト」等のカテゴリを選択するボックス(カテゴリ選択ボックス)が設けられている。これらのカテゴリ選択ボックスを選択することにより、登録される声紋データの属するカテゴリを特定することができる。なお、属性選択部801には、直接的に声紋データの属性情報を入力するようにしてもよい。属性選択部801は、声紋データの属性情報を指定することを前提として任意の構成を採用することができる。
NGワードカテゴリ選択部802は、NGワード(個別NGワード)のカテゴリを選択する部分である。NGワードカテゴリ選択部802には、例えば、「離婚」、「災害」、「反社会」や「広告」などのカテゴリを選択するボックス(カテゴリ選択ボックス)が設けられている。これらのカテゴリ選択ボックスには、各カテゴリに関連付けられるNGワードの候補(NGワード候補)が予め登録されている。これらのカテゴリ選択ボックスを選択することにより、登録される声紋データに関連付けられるNGワード(個別NGワード)の属するカテゴリを特定することができる。
NGワード選択/入力部803は、登録する声紋データに関連付けられるNGワード(個別NGワード)を選択又は入力する部分である。NGワード選択/入力部803には、上述したNGワードカテゴリ選択部802からカテゴリを選択することにより、NGワード候補が表示される。声紋登録者は、このようなNGワード候補から登録する声紋データに関連付けられるNGワードを選択することができる。また、声紋登録者は、NGワード選択/入力部803に直接的にNGワード(個別NGワード)を入力することもできる。
声紋入力部804は、登録する声紋データ(デジタル声紋データ)を入力する部分である。声紋入力部804には、声紋データを添付するボックス(声紋添付ボックス)が設けられている。この声紋添付ボックスに声紋データを添付することにより、管理サーバ10に登録したい声紋データを指定することができる。
リセットボタン805は、声紋登録画面800で選択、指定した情報をリセットする際に利用される。終了ボタン806は、声紋登録画面800を用いた声紋データの登録処理を終了する際に利用される。終了ボタン806を選択することにより、声紋登録画面800を介して選択/入力した属性情報及び声紋データが管理サーバ10に送信される。
なお、声紋登録画面800は、図8に示す例に限定されるものではなく適宜変更が可能である。声紋登録画面800に、登録した声紋データに対する取扱いについて指定する部分を設けることは実施の形態として好ましい。例えば、登録した声紋データを用いて音声データを生成する際、テキストにNGワードが含まれた場合の音声データの修正方法(NGワードの削除、置換)を指定するようにしてもよい。
また、声紋登録画面800において、特定の人物の声紋データに関するNGワードを類推して表示させる機能を備えることは実施の形態として好ましい。例えば、特定の人物の過去1年間の言動(例えば、テレビやラジオ等のメディアにより発言等)に基づいてNGワードを類推し、NGワード選択/入力部803に表示するようにしてもよい。これらのNGワードは、声紋登録者からの選択に応じて表示することが好ましい。
このような声紋登録画面800が表示されると、属性選択部801から属性情報が選択され、NGワードカテゴリ選択部802からNGワードのカテゴリが選択される。これらの情報が選択されると、属性情報及びNGワードカテゴリが管理サーバ10に送信される(ステップST704)。
属性情報及びNGワードカテゴリを受け取ると、管理サーバ10からNGワードの候補リスト(NGワード候補リスト)が声紋登録端末30に送信される(ステップST705)。このNGワード候補リストは、声紋登録画面800のNGワード選択/入力部803に表示される。
なお、ここでは、NGワードカテゴリ選択部802からのカテゴリの選択等に応じてNGワード候補リストを声紋登録端末30に送信する態様について説明しているが、これに限定されない。例えば、ステップST702でNGワード候補リストを声紋登録端末30に送信しておき、属性情報及びカテゴリの選択に応じてこれらをNGワード選択/入力部803に表示するようにしてもよい。
NGワード選択/入力部803にNGワードが表示されると、声紋登録者によりNGワード選択/入力部803からNGワード(個別NGワード)が指定され、声紋入力部804にて声紋データが添付される。そして、声紋登録画面800の終了ボタン806が選択されると、これらのNGワード及び声紋データが管理サーバ10に送信される(ステップST706)。
NGワード及び声紋データを受信すると、声紋データは声紋DB114に登録され、NGワードは、第2NGワードDB116に登録される(ステップST707)。なお、第2NGワードDB116において、NGワードは、この声紋データに関連付けて登録されている。そして、声紋DB114、第2NGワードDB116への登録処理が完了すると、管理サーバ10から声紋登録端末30に対して声紋登録の完了が通知される(ステップST708)。このような一連の動作により、管理サーバ10(声紋DB114、第2NGワードDB116)には、声紋登録者が音声データの生成に利用可能な俳優や女優等の声紋データが登録されると共に、その声紋データのNGワードが登録される。
以上のテキスト登録動作及び声紋登録動作により、管理サーバ10には、音声データを生成するためのテキスト及び声紋データが登録される。管理サーバ10は、このようなテキスト及び声紋データを用いて音声データを生成し、生成した音声データを携帯端末42等に提供する。この際、管理サーバ10は、携帯端末42等から指定される所望の設定に基づいて、テキスト及び声紋データを選択し、これらのテキスト及び声紋データに基づいて音声データを生成する。
次に、携帯端末42から管理サーバ10に所望の設定を指定し、管理サーバ10から提供された音声データを携帯端末42にて出力する動作について説明する。図9は、本実施の形態に係る音声提供システム1における音声提供時の動作を説明するためのフロー図である。
携帯端末42にて管理サーバ10からの音声データの提供を受ける場合、図9に示すように、携帯端末42において音声出力アプリが起動される(ステップST901)。この音声出力アプリを起動することにより、管理サーバ10との間で音声提供システム1に関する情報を通信することが可能となる。音声出力アプリが起動されると、携帯端末42における所望の設定を入力するための設定入力画面が表示される(ステップST902)。
図10は、本実施の形態に係る音声提供システム1で利用される設定入力画面1000の一例を示す図である。図10に示す設定入力画面1000は、携帯端末42の操作者が提供を受けたい音声データを指定するための画面である。図10に示すように、設定入力画面1000には、テキスト指定部1001、声紋指定部1002、リセットボタン1003及び終了ボタン1004が設けられている。
テキスト指定部1001は、携帯端末42の操作者が提供を受けたい音声データに対応するテキストを指定する部分である。テキスト指定部1001には、テキストの種別を示す「エンタメ」、「スポーツ」、「ニュース」、「経済」等のテキストを選択するボックス(テキスト選択ボックス)が設けられている。これらテキスト選択ボックスを選択することにより、管理サーバ10から提供される音声データに対応するテキストを特定することができる。
図10においては、説明の便宜上、簡略化しているが、テキスト選択ボックスには様々なジャンルのテキストを含むコンテンツが表示される。また、テキスト選択ボックスを、テキスト登録者を識別可能なアイコンで構成することは実施の形態として好ましい。この場合には、携帯端末42の操作者は、直感的に所望のテキストを選択することが可能となる。
声紋指定部1002は、携帯端末42の操作者が提供を受けたい音声データの音源となる声紋データを指定する部分である。声紋指定部1002には、声紋データに対応する人物が属するカテゴリを選択するボックス(カテゴリ選択ボックス)が設けられている。これらのカテゴリ選択ボックスを選択することにより、声紋データに対応する人物の候補者を特定していくことができる。特定のカテゴリ選択ボックスが選択されると、声紋指定部1002には、そのカテゴリに属する複数の人物が表示される。操作者は、声紋指定部1002に表示される候補者を選択することにより、声紋データに対応する人物を特定することができる。また、声紋指定部1002には、声紋データに対応する人物を直接入力することができる入力欄が設けられている。
リセットボタン1003は、設定入力画面1000で選択、指定した情報をリセットする際に利用される。終了ボタン1004は、設定入力画面1000を用いた所望の設定の入力処理を終了する際に利用される。終了ボタン1004を選択することにより、設定入力画面1000を介して選択/入力したテキスト及び声紋データが管理サーバ10に送信される。
なお、設定入力画面1000は、図10に示す例に限定されるものではなく適宜変更が可能である。設定入力画面1000に、設定したテキスト及び声紋データから生成される音声データに対する取扱いについて指定する部分を設けることは実施の形態として好ましい。例えば、設定したテキスト及び声紋データに、NGワードが含まれた場合の音声データの修正方法(NGワードの削除、置換)を指定するようにしてもよい。
このような設定入力画面1000に対して操作者から所望の設定が入力され、終了ボタン1004が選択されると、管理サーバ10に対して設定情報が送信される(ステップST903)。この設定情報には、操作者が選択したテキストと、操作者が選択した声紋データ(より具体的には、声紋データに対応する人物に関する情報)が含まれる。
携帯端末42から設定情報を受信すると、管理サーバ10において、この設定情報に含まれるテキスト及び声紋データが選択される(ステップST904)。管理サーバ10は、テキストDB113及び声紋DB114から設定情報に含まれるテキスト及び声紋データを選択する。そして、テキスト及び声紋データを選択した後、その声紋データに関連付けられたNGワード(個別NGワード)が、指定されたテキストに含まれるかを判定する判定処理(以下、「NG判定処理」という)が行われる(ステップST905)。
ここで、このNG判定処理について説明する。図11は、本実施の形態に係る音声提供システム1におけるNG判定処理を説明するためのフロー図である。このNG判定処理は、主に管理サーバ10における生成部102(判定対象生成部111)及び判定部104で実行される。
図11に示すように、NG判定処理において、まず判定対象生成部111は、上述したステップST904で選択されたテキストに対して第2判定対象生成処理(形態素解析処理)を行う(ステップST1101)。第2判定対象生成処理においては、選択されたテキストが形態素に分割される。すなわち、第2判定対象生成処理によりテキストから第2判定対象(図3B参照)が生成される。テキストから生成された第2判定対象は、記憶部103のテキストDB113に当該テキストに対応付けて登録される。
第2判定対象が登録されると、判定部104は、この第2判定対象にNGワード(個別NGワード)が含まれるかを判定する判定処理(以下、「一次判定処理」という)を行う(ステップST1102)。この一次判定処理において、判定部104は、ステップST904で選択された声紋データに関連付けられた個別NGワードを第2NGワードDB116から読み出す。そして、判定部104は、この個別NGワードと第2判定対象とを一つ一つ比較することにより、テキストにおけるNGワード及びOKワードを判定する(ステップST1103)。これにより、テキストを構成する形態素とNGワードとが比較され、テキストに含まれるNGワードが検出される。
テキストからOKワードが検出されると(ステップST1103:OK)、判定対象生成部111は、そのOKワードの発音語を生成する(ステップST1104)。ここで、OKワードが検出される場合とは、テキストからNGワードに該当しない第2判定対象が検出された場合に相当する。一方、判定部104は、個別NGワードの発音語(以下、「NG音」という)を生成する(ステップST1105)。この場合、生成されたOKワードの発音語はテキストDB113に登録され、生成されたNG音は、第2NGワードDB116に登録される。
OKワードの発音語及びNG音が生成されると、判定部104は、OKワードの発音語にNG音が含まれるかを判定する判定処理(以下、「二次判定処理」という)を行う(ステップST1106)。この二次判定処理において、判定部104は、OKワードの発音語とNG音とを一つ一つ比較することにより、NGワード及びOKワードを判定する(ステップST1107)。これにより、一次判定処理でOKワードと判定された第2判定対象の発音語とNGワードの発音語とが比較され、テキストに含まれるNGワードが検出される。
二次判定処理においても、OKワードが検出されると、判定対象生成部111は、ステップST904で選択されたテキストに対して第1判定対象生成処理を行う(ステップST1108)。第1判定対象生成処理においては、選択されたテキストの発音語が生成され、その発音語を任意箇所で区切った判定対象が生成される。すなわち、第1判定対象生成処理によりテキストから第1判定対象(図3A参照)が生成される。テキストから生成された第1判定対象は、記憶部103のテキストDB113に当該テキストに関連付けて登録される。
第1判定対象が登録されると、判定部104は、この第1判定対象にNG音が含まれるかを判定する判定処理(以下、「三次判定処理」という)を行う(ステップST1109)。この三次判定処理において、判定部104は、第1判定対象であるテキストの発音語の任意の組み合わせと、第2NGワードDB116に登録された個別NGワードのNG音との合致を一つ一つ比較することにより、NGワードを判定する(ステップST1110)。これにより、テキストの発音語の任意の組み合わせとNG音とが比較され、一次判定処理及び二次判定処理で検出されなかったNGワードが検出される。例えば、図3Aに示す例において、第1判定対象の一つとして「きょう−はよ−いて−んき−です(KYOU−WAYO−ITE−NKI−DESU)」が生成されている場合、「きょう(KYOU)」、「はよ(WAYO)」、「いて(ITE)」、「んき(NKI)」、「です(DESU)」のそれぞれの発音語とNG音とが比較される。
三次判定処理において、NGワードが検出されなかった場合(ステップST1110:No)、判定部104は、NG判定処理の判定結果として、テキストにNGワードが含まれていないことを示す判定(OK判定)を選択する(ステップST1111)。
一方、三次判定処置において、NGワードが検出された場合(ステップST1110:Yes)、一次判定処理において、NGワードが検出された場合(ステップST1103:NG)及び二次判定処理においてNGワードが検出された場合(ステップST1107:NG)には、判定部104は、テキストにおけるNGワードの箇所を記録する(ステップST1112)。そして、判定部104は、NG判定処理の判定結果として、テキストにNGワードが含まれていることを示す判定(NG判定)を選択する(ステップST1113)。
ステップST1111にてOK判定を選択し、或いは、ステップST1113にてNG判定を選択すると、判定部104は、NG判定処理を終了する。このようなNG判定処理により、ステップST904で選択された声紋データに関連付けられたNGワード(個別NGワード)が、選択されたテキストに含まれるか否かが判定される。
このようなNG判定処理においては、三次判定処理において、テキストを任意箇所で区切って生成される第1判定対象に対応する発音と個別NGワードに対応する発音(NG音)との比較によりNGワードが判定される。このため、テキストを構成する文字や数字の任意の組み合わせの発音とNG音とを比較することができる。これにより、テキストの文脈に関わらず、テキストに含まれるNGワードを精度良く検出することができる。
また、NG判定処理においては、第1判定対象とNGワードとの比較(三次判定処理)に先立って、テキストを構成する形態素(第2判定対象)に基づいてテキストに含まれるNGワード及びOKワードが判定される(一次判定処理)。これにより、第1判定対象に先立って、第2判定対象との比較によりテキストに形態素として含まれるNGワードを確実に検出することができる。また、テキストに含まれるNGワードを段階的に判定することができるので、NGワードの検出漏れを低減することができる。
さらに、NG判定処理においては、第1判定対象とNGワードとの比較(三次判定処理)に先立って、一次判定処理にてOKワードと判定された第2判定対象に対応する発音とNGワードに対応する発音との比較によりNGワードが判定される(二次判定処理)。このため、OKワードと判定された形態素の意味に関わらず、当該形態素に含まれるNGワードを検出することができる。
NG判定処理を終了すると、判定部104により、図9に示すように、NG判定処理の判定結果がOK判定か、NG判定かが判定される(ステップST906)。ここで、OK判定の場合(ステップST906:OK)、音声生成部112により音声データが生成される(ステップST907)。この場合、音声生成部112は、ステップST904で選択されたテキストに修正等の処理を施すことなく、ステップST904で選択された声紋データを用いてテキストに対応する音声データを生成する。そして、生成された音声データは、管理サーバ10から携帯端末42に出力される(ステップST908)。
一方、NG判定処理の判定結果がNG判定の場合(ステップST906:NG)、音声生成部112によりテキストの一部を修正した音声データ(修正音声データ)が生成される(ステップST909)。この場合、音声生成部112は、ステップST904で選択されたテキストにおけるNGワードに対応する部分を修正したテキストに対応する音声データを生成する。なお、テキストにおけるNGワードに対応する部分以外の部分は、ステップST904で選択された声紋データを用いて音声データが生成される。
NGワードに対応する部分を修正する際、音声生成部112は、テキストにおけるNGワードに対応する部分を削除した音声データを生成することができる。また、音声生成部112は、テキストにおけるNGワードに対応する部分を置換した音声データを生成することができる。NGワードを置換する態様として、音声生成部112は、例えば、ステップST904で選択した声紋データと異なる声紋データを用いた音声データを生成することができる。例えば、NGワードに対応する部分のみを、予め定めた声紋データを用いて音声データを生成することができる。また、音声生成部112は、テキストにおけるNGワードに対応する部分を他の表現の単語に置換した音声データを生成することができる。なお、NGワードに対応する部分に対する修正の態様は、テキスト登録者や声紋登録者の意向を考慮して選択することが好ましい。
NGワードに対応する部分を修正して生成された音声データ(修正音声データ)は、管理サーバ10から携帯端末42に出力される(ステップST910)。ステップST908又はステップST910にて管理サーバ10から音声データを受け取ると、携帯端末42にて、スピーカ等を介して音声出力される(ステップST911)。この音声出力により音声提供システム1における音声提供時の動作が終了する。
以上説明したように、本実施の形態に係る音声提供システム1において、管理サーバ10の音声生成部112は、判定部104の判定結果に応じて、記憶部103に登録されたテキストから特定の声紋データを用いた音声データを生成する。これにより、判定部104の判定結果に応じてテキストから特定の声紋データを用いた音声データが生成される。このため、テキストに含まれるNGワードの有無に応じて音声データを切り替えて生成することができる。これにより、テキストに含まれるNGワードの有無に応じて態様の異なる音声データを携帯端末42に提供することができる。
ここで、記憶部103に登録されたテキストにNGワードが含まれない場合、音声生成部112は、テキストに対応する音声データを生成する。これにより、特別な修正等が施されることなく、NGワードを含まないテキストに対応する音声データが生成される。このため、迅速にテキストに対応する音声データを携帯端末42に提供することができる。
一方、記憶部103に登録されたテキストにNGワードが含まれる場合、音声生成部112は、NGワードに対応する部分を修正したテキストに対応する音声データを生成する。これにより、NGワードを含むテキストであっても、当該NGワードの部分が修正された音声データを携帯端末42に提供することができる。
例えば、記憶部103に登録されたテキストにNGワードが含まれる場合、音声生成部112は、テキストに含まれるNGワードに対応する部分を削除又は置換することができる。NGワードに対応する部分を削除する場合には、NGワードを含むテキストであっても、テキストに含まれるNGワードが確実に削除された音声データを携帯端末42に提供することができる。一方、NGワードに対応する部分を置換する場合には、NGワードを含む音声データが特定の声紋データを用いてそのまま携帯端末42に提供されるのを防止することができる。
NGワードに対応する部分を置換する際には、当該部分を特定の声紋データと異なる声紋データを用いることができる。この場合には、NGワードを含むテキストであっても、テキストが有する意味を変更させることなく、これに応じた音声データを携帯端末42に提供することができる。また、NGワードに対応する部分を置換する際には、当該部分を異なる表現の単語に置換することができる。この場合には、NGワードを含むテキストであっても、テキストが有する意味を大幅に変更させることなく、これに応じた音声データを携帯端末42に提供することができる。
また、本実施の形態に係る音声提供システム1において、管理サーバ10の記憶部103(より具体的には、第2NGワードDB116)には、声紋登録端末30から登録された声紋データに関連付けられるNGワードが登録される。このため、判定部104によって特定の声紋データに関連付けられるNGワード(個別NGワード)がテキストに含まれるかが判定される。これにより、特定の声紋データに関連付けられるNGワードを含む音声データが携帯端末42に提供されるのを確実に防止することができる。
さらに、本実施の形態に係る音声提供システム1において、管理サーバ10の判定部104は、テキスト登録端末20からのテキスト登録時に、当該テキストに含まれるNGワード(一般NGワード)の有無を判定する。これにより、テキスト登録端末20からのテキストの登録段階において、NGワードを含むテキストが登録されるのを防止することができる。
この場合において、判定部104は、テキストの属性情報に関連付けられるNGワード(一般NGワード)の有無を判定する。これにより、テキスト登録端末20からのテキストの登録段階において、属性情報から特定されるNGワードを含むテキストが登録されるのを防止することができる。
なお、本発明は上記実施の形態に限定されず、さまざまに変更して実施可能である。上記実施の形態において、添付図面に図示されている構成要素については、これに限定されず、本発明の効果を発揮する範囲内で適宜変更が可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施可能である。
例えば、上記実施の形態においては、図11に示すNG判定処理における三次判定処理において、判定部104が、第1判定対象であるテキストの発音語の任意の組み合わせと、第2NGワードDB116に登録されたNGワード(個別NGワード)のNG音との合致を一つ一つ比較する場合について説明している。しかしながら、三次判定処理における比較方法については、これに限定されるものではなく適宜変更が可能である。例えば、判定部104は、第1の判定対象に対応する発音と、NGワードに対応する発音との部分的な一致によりNGワードを判定するようにしてもよい。この場合には、第1の判定対象及びNGワードの発音が完全に一致する場合に限らず、テキストに含まれるNGワードと部分的に一致する単語を検出することができる。これにより、テキストに含まれるNGワードと類似する単語まで検出することができる。なお、NGワードに対応する発音との部分的な一致に関する割合は、予め定めてもよいし、実績に基づく機械学習やベイズ統計により定めてもよい。
また、上記実施の形態においては、図11に示すNG判定処理における三次判定処理において、判定部104が、第1の判定対象に対応する発音とNGワード(個別NGワード)に対応する発音との比較によりNGワードを判定する場合について説明している。しかしながら、判定部104による判定方法は、これに限定されるものではなく適宜変更が可能である。例えば、第1の判定対象を構成する文字列とNGワードを構成する文字列との比較によりNGワードを判定するようにしてもよい。この場合には、テキストを任意箇所で区切って生成される第1判定対象を構成する文字列とNGワードを構成する文字列との比較によりNGワードが判定される。このため、テキストを構成する文字や数字の任意の組み合わせとNGワードとを比較することができる。これにより、テキストの文脈に関わらず、テキストに含まれるNGワードを精度良く検出することができる。
さらに、上記実施の形態においては、管理サーバ10が、記憶部103に登録されたテキストから特定の声紋データを用いた音声データを生成し、生成した音声データを携帯端末42等に提供する場合について説明している。しかしながら、携帯端末42等に提供される情報については、音声データのみに限定されるものではなく適宜追加することが可能である。例えば、音声データに加え、その生成に用いたテキストを一緒に提供するようにしてもよい。また、音声データに加え、画像データ、動画データ又はコンピュータグラフィックス(CG)を提供するようにしてもよい。この場合、音声データに関連する画像データや動画データ等を提供することは実施の形態として好ましい。
さらに、上記実施の形態においては、記憶部103に登録されたテキストにNGワードが含まれる場合、音声生成部112により、NGワードに対応する部分を置換することができる。このようなテキストの一部の置換は、NGワード以外のテキストの一部に適用することもできる。例えば、テキストに含まれる特定の単語を、予め用意された異なる単語に置換するようにしてもよい。この場合、例えば、判定部104によってテキストから特定の単語が検出されると、音声生成部112は、予め用意された異なる単語に置換することができる。
このような置換の態様について具体例を示す。例えば、図3Aに示すテキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」のうち、「です(DESU)」が置換対象となる単語(以下、「置換対象ワード」という)として登録されているものとする。また、この置換対象ワードに置換される単語(以下、「置換ワード」という)として、「にゃん(NYAN)」が予め登録されているものとする。例えば、これらの置換対象ワードや置換ワードは、声紋登録端末30から登録することができる。
このようにテキストに含まれる特定の単語を置換する実施の形態において、判定部104は、テキスト「今日は良い天気です(KYOUWAYOITENKIDESU)」に置換対象ワードである「です(DESU)」が含まれるか判定する(置換判定処理)。この置換判定処理は、例えば、図9に示すステップST905のNG判定処理に置き換えられる。この置換判定処理における判定対象は、上述した第1判定対象(テキストを発音語に変換し、任意箇所で区切った判定対象)や、第2判定対象(テキストを形態素に分割した判定対象)とすることができる。置換判定処理において、判定部104は、第2判定対象及び/又は第1判定対象に置換対象ワードが含まれるかを判定する。
置換判定処理により、置換対象ワードである「です(DESU)」が検出されると、音声生成部112は、この置換対象ワードを置換ワードである「にゃん(NYAN)」に置換した音声データ(置換音声データ)を生成する。これにより、置換音声データとして、「今日は良い天気にゃん(KYOUWAYOITENKINYAN)」というテキストに対応する音声データが生成される。そして、生成された置換音声データは、管理サーバ10から携帯端末42に送信される。携帯端末42においては、この置換音声データをスピーカ等で音声出力する。これにより、「今日は良い天気にゃん(KYOUWAYOITENKINYAN)」という音声データが携帯端末42から出力される。
このようにテキストに含まれる特定の単語を置換する実施の形態においては、例えば、アニメ等の特定のキャラクターの声紋データが設定入力画面(図10参照)から選択された場合において、新聞記事等のテキストに基づいて当該キャラクターの話し方に合わせた音声データを携帯端末42に提供することができる。これにより、例えば、特定のキャラクターによって新聞記事等を読み上げる音声提供サービスを提供することができる。
さらに、上記実施の形態においては、日本語を用いたテキストが判定対象となる場合におけるNGワードの判定を中心に説明している。しかしながら、NGワードの判定対象は、日本語に限定されることなく、世界各国で用いられる任意の言語に適用することができる。また、複数の言語に跨ってNGワードの有無を判定するようにしてもよい。例えば、英語を用いたテキストに対応する発音が、日本語のNGワードに対応する発音に一致又は類似する場合、英語を用いたテキストの一部をNGワードと判定することができる。