JP2009086597A - テキスト音声変換サービスシステム及び方法 - Google Patents
テキスト音声変換サービスシステム及び方法 Download PDFInfo
- Publication number
- JP2009086597A JP2009086597A JP2007259847A JP2007259847A JP2009086597A JP 2009086597 A JP2009086597 A JP 2009086597A JP 2007259847 A JP2007259847 A JP 2007259847A JP 2007259847 A JP2007259847 A JP 2007259847A JP 2009086597 A JP2009086597 A JP 2009086597A
- Authority
- JP
- Japan
- Prior art keywords
- data
- text
- text data
- voice
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】文章の一部分を変換した音声データを作成し、不適切な用語の発声と同じになるように音声データの再生順序を作成すれば、これを聞いた側では、不適切な用語を発声したように聞こえる。
【解決手段】テキストデータを音声データに変換する際に、音声データの読みを表すテキストデータも生成する。複数の部分テキストデータに対応する音声データの読みを表すテキストデータの再生順序を変更し、変更した読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、部分テキストデータに対応する音声データを予め定めた音声データに置換する。
【選択図】図1
【解決手段】テキストデータを音声データに変換する際に、音声データの読みを表すテキストデータも生成する。複数の部分テキストデータに対応する音声データの読みを表すテキストデータの再生順序を変更し、変更した読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、部分テキストデータに対応する音声データを予め定めた音声データに置換する。
【選択図】図1
Description
本発明は、ブログサイト(blog(Weblog)をWebサーバで公開および運用することを代行するサイト)やSNSサイト(Social Networking Service:コミュニティ型のWebサイト)において、ユーザからのテキストデータからなる文章をネットワーク経由で入力し、音声データに変換して公開し、他のユーザが閲覧した際に文章を音声で出力するテキスト音声変換サービスシステムに関するものである。
人間の声を蓄積、解析し、特徴を表す特徴データを抽出し、その特徴データを用いて、任意のテキストデータを音声データに変換し、あたかも人間のように自然なアクセントで発声する音声合成装置が出現してきた。これらの音声合成装置として、例えば、Hideyuki Mizuno、他著、Text−to−Speech Synthesis Technology Using Corpus−Based Approach、NTT Technical Review、Vol.2、No.3、pp.70−75、March 2004(非特許文献1)がある。
このような音声合成装置を用いると、視聴者の聞く環境によっては、特徴データの元となった声を提供した者(以下、元話者)が実際に話しているのと同じように聞こえる可能性がある。元話者は、俳優、またはアニメーションの登場人物(キャラクタと呼ぶ)の声を吹き替える声優の場合もある。公衆の面前で、このような音声合成装置を用いると、これらの俳優、キャラクタが発話することのありえない乱暴な言い回しなどの不適切な言葉を発話させることが可能である。この場合、音声データに変換された内容によっては、これらの俳優や声優のイメージを傷つける可能性がある。
この課題を解決するために、いくつかの技術が開発されてきた。
例えば、特開平5−165486号公報(特許文献1)に記載の技術では、テキストデータでなる入力文章を音声信号に変換して発音出力するテキスト音声変換装置において、読み上げ禁止用語を格納する読み上げ禁止テーブルと、入力文章を単語単位で切り出し、読み上げ禁止テーブルを検索して入力文章に含まれている単語が読み上げ禁止用語か否かを判断する読み上げ禁止用語判断手段と、この読み上げ禁止用語判断手段の判断結果に基づいて、読み上げ禁止用語に該当する単語の発音を禁止する発音禁止手段とを設けている。
上記特許文献1の技術では、テキストデータでなる入力文章を音声信号に変換して発音出力するテキスト音声変換装置において、読み上げ禁止用語とこの読み上げ禁止用語を表現する置換表現との対を格納する読み上げ禁止テーブルと、入力文章を単語単位で切り出し、読み上げ禁止テーブルを検索して入力文章に含まれている単語が読み上げ禁止用語か否かを判断する読み上げ禁止用語判断手段と、この読み上げ禁止用語判断手段の判断結果に基づいて、読み上げ禁止用語を置換表現に変換して発音させる読み上げ禁止用語置換手段とを設けている。
さらに、特開2004−271727号公報(特許文献2)に記載の技術では、発注者の指定した音声メッセージの発話内容と、ある特定の話者の音声特徴データとを用いて音声合成処理し、それによって得られた音声合成データを音声データとして提供する音声データ提供システムであって、発注者から音声データ作成を受注する受注側は、発注者の指定した音声メッセージの発話内容を受信するとともに、その音声メッセージを発話させる話者の選択情報を受信すると、受信した音声メッセージの発話内容に選択された話者の発話する内容として不適切な表現が含まれているか否かを判定し、不適切な表現が含まれていないと判定された場合に、その音声メッセージの発話内容と当該選択された話者の音声特徴データとを用いて音声合成処理し、その音声合成データを音声データとして提供するようにしていた。
Hideyuki Mizuno他著、Text−to−Speech Synthesis Technology Using Corpus−Based Approach、NTT Technical Review、Vol.2、No.3、pp.70−75、March 2004
特開平5−165486号公報
特開2004−271727号公報
インターネットの普及に伴い、個人が情報を発信するWebページを設けることが多くなった。この代表的なものとしてブログがある。ブログとは、個人やグループが、日々起こったことや特定の話題について記述したWebページの集合である。多くのブログが、写真、音楽、動画のファイルを掲載しており、記述した人以外の者もWebブラウザを用いてアクセスすることで、掲載された文章を読んだり、写真や動画を見たり、音楽を聴くことができる。音声合成装置で作成した音声データをブログサイトなどで一般に公開することもできる。
上述の技術では、音声データをブログサイトなどで一般に公開する際に、文章の一部分を変換した音声データを作成し、不適切な用語の発声と同じになるように音声データの再生順序を作成すれば、これを聞いた側では、不適切な用語を発声したように聞こえてしまい、元話者の俳優、声優のイメージを傷つけることになる可能性がある。
本発明のテキスト音声変換サービスシステム及び方法は次のような態様により、上記課題を解決する。接続する端末から受信したテキストデータから複数の部分テキストデータを抽出する。抽出した複数の部分テキストデータを音声データに変換し、この音声データの読みを表すテキストデータを生成する。複数の部分テキストデータに対応する音声データの読みを表すテキストデータを連続させたとき(音声データの再生順序を変更したとき)、連続させた読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、部分テキストデータに対応する音声データを予め定めた音声データに置換する。
本発明は、態様はさらに、音声合成のための音声合成サイト、及び読み上げ禁止用語をチェックする内容審査サイトをそれぞれ独立したサイトとし、他のブログサイトと共用することにより、効率的になる。
本発明は、音声データに対応する読みのテキストデータを用いることにより、部分テキストデータの音声合成に伴う、不適切な用語の発声を禁止することができる。
ブログサイトなどでテキストデータを音声データへ変換して再生する実施例を以下に説明する。
図1から図9を用いて、実施例1を詳細に説明する。実施例1は、Webブラウザと音声再生機能とを備えるパーソナルコンピュータ、ブログサイト、及び音声合成サイトの3つの部分から構成される。
実施例1では、ユーザがパーソナルコンピュータからブログサイトにアクセスし、文章を投稿したときに、文章の一部を俳優やアニメーションのキャラクタの音声に近似した音声に置き換えることができる。そして他のユーザが他のパーソナルコンピュータからブログサイトにアクセスし、文章を閲覧する際に、文章の一部を俳優やアニメーションのキャラクタが話しているように再生できる。
図1は、実施例1の構成図である。1と2は、オペレーティング・システムを搭載したパーソナルコンピュータ(PC)である。3と4は、人間が認知できるように文字や図形を表示するディスプレイ装置である。5と6は、ユーザが文字を入力するキーボードである。7と8は、それぞれ、ディスプレイ装置3と4に表示された図形や文字の場所を指し示すボタンつきのマウス(ポインティングデバイス)である。9と10は、パーソナルコンピュータで動作するプログラムであって、HTMLを用いて記述されたテキストデータをディスプレイ3と4に表示するWebブラウザ、11と12は、パーソナルコンピュータで動作するプログラムであって、WAVEフォーマットで記録された音声データを音声で再生する音声再生部、13と14は、それぞれ音声再生部11と12の出力を人間が認知できる音声に変換するスピーカである。
WAVEフォーマットは、音声ファイルの形式であり、音声信号をデジタルデータに変換したものを記録するための保存形式である。HTML(HyperText Markup Language)は、Web上の文章を記述するためのマークアップ言語である。
ブログサイト20は、HTTP(Hyper Text Transfer Protocol)でPCと通信するWebサーバ22、HTMLで記述されたHTMLテキストデータを編集する編集部24、HTMLで記述されたHTMLテキストデータを格納するHTMLテキストデータベース26、音声データとテキストデータを格納する音声デキストデータベース28、変換要求部30、読み上げ禁止用語データベース32、および内容審査部34を有する。変換要求部30は、HTMLテキストデータベース26に格納されたテキストデータの一部分を音声に変換することを要求し、変換した音声データと読み上げテキストデータを音声テキストデータベース28に格納するように指示を出し、HTMLテキストデータベース26に格納されたテキストデータの一部を置換する。読み上げ禁止用語データベース32は、音声での読み上げに適していない読み上げ禁止用語を格納する読み上げ禁止用語データベースである。内容審査部34は、HTMLテキストデータベース26、音声テキストデータベース28、及び読み上げ禁止用語データベース32とを参照し、読み上げる用語が読み上げ禁止用語である場合、読み上げる用語に対応する音声データを変更する。
ブログサイト20は、ブログの提供を代行するインターネット上のWebサイトであり、サーバなどのコンピュータとWebサイト用のソフトウェアから構成される。Webサイトに一意に対応するURI(Uniform Resource Identifier)をPC1のWebブラウザ9で入力することで、Webサイトであるブログサイト20にアクセスし、ブログのWebページを閲覧できる。ブログサイト20には、ユーザを認証するログイン機能やWebページを検索する検索機能などがある。
編集部24、変換要求部30、および内容審査部34は、ブログサイト20で動作するプログラムであり、HTMLテキストデータベース26、音声デキストデータベース28、及び読み上げ禁止用語データベース32は、ブログサイト20で用いられるデータベースである。これらは、ブログサイト20を構成するハードウエア(コンピュータ)、そのオペレーティング・システム、及びそれらが提供するファイルシステムなどで実現する。
音声合成サイト40は、ブログサイト20からURIとテキストデータとを受信する受信部42、漢字かな混じりのテキストデータを入力し、WAVEなどの音声ファイルの形式の音声データと、ローマ字などで記述した発声を表現する読みのテキストとを出力する音声合成部44、ブログサイト20へ、指定されたURIを用いてデータを送信する送信部46である。漢字かな混じりのテキストデータを音声データに変換する音声合成機能を実装するため技術については、非特許文献1に詳細に記載されている。
本実施例では、「aho」と「baka」は不適切な用語の発声であり、これを聞いた側では不適切な用語が発声されたように聞こえる。
以下、図2と図3を用いて、パーソナルコンピュータ1でのエンドユーザの操作に伴うブログサイト20の編集部24の動作を説明する。
図2は、エンドユーザがブログに文章を書き込む際にパーソナルコンピュータ1のディスプレイ装置3に表示される入力画面200の例である。
文章を入力する入力画面200は、文章のタイトルを入力するタイトル入力部分202、文章の本文を入力する本文入力部分204、変換した音声を読み上げる俳優やアニメーションのキャラクタと絵文字の対応を表示する音声−絵文字対応表示部分206、タイトル入力部分202と本文入力部分204に書き込まれた文章をブログサイト20のHTMLテキストデータベース26に格納せずに終了することを指示する「取り消すボタン」208、タイトル入力部分202と本文入力部分204に書き込まれた文章をブログサイト20のHTMLテキストデータベース26に格納することを指示する「書き込むボタン」210などを表示する。
音声−絵文字対応表示部分206は、本文入力部分204で、絵文字である星印で囲まれたテキストを俳優1の音声に変換し、絵文字である三角印で囲まれたテキストを俳優2の音声に変換することを表示している。この例では、2種類の音声を選択できるようにしているが、2種類以上あっても良い。音声−絵文字対応表示部分206の表示は、ユーザごとに異なっていても良く、例えば絵文字である四角が俳優1としても良い。
図3は、編集部24の処理フローチャートである。いま、パーソナルコンピュータ1のWebブラウザ9がブログサイト20にアクセスし、Webサーバ22を通じて、編集部24が処理を開始したとする。
編集部24は、処理を開始し(ステップ300)、図2のタイトル入力部分202及び本文入力部分204が空白の画面を作成し(ステップ302)、それらを表示する命令をWebサーバ22を通じてパーソナルコンピュータ1のWebブラウザ9に送信すると、Webブラウザ9はディスプレイ3に表示し(ステップ304)、ユーザからの入力を待つ(ステップ306)。
テキストの入力があったならば、編集部24は入力されたテキストを表示する命令を、Webサーバ22を通じてパーソナルコンピュータ1のWebブラウザ9に送信し、Webブラウザ9はディスプレイ装置3に表示する。ステップ304と306とを繰り返すことによって、テキストを入力し、それを表示する。ステップ306でテキスト入力ではなく、「取り消すボタン」208、又は「書き込むボタン」210が選択(入力)されたときは、その選択されたボタンによって分岐する(ステップ308)。「取り消すボタン」208が選択されたときは、タイトル入力部分202及び本文入力部分204を空白に変更し(ステップ310)、処理を終了する(ステップ314)。「書き込むボタン」210が選択されたときは、タイトル入力部分202、本文入力部分204にある内容を、適当なユニークなURIでHTMLテキストデータベース26へ格納し(ステップ312)、処理を終了する(ステップ314)。
ここでは、ユーザは、キーボード5とマウス7を用いて、Webブラウザ9から図2に示すように、タイトル入力部分200に「近所の公園」、本文入力部分204に「面白い場所だった。また、いこうかな。」と入力したとする(ステップ300から304)。
次に、その後、ユーザは、「場」と「か」を音声データに変換するために、それぞれ、「場」と「か」の直前と直後に、それぞれ、絵文字である星印を挿入したとする。図2の例では、「場」と「か」を俳優1の合成音声に変換することを指示した画面を示している。
ユーザは、この文章を格納したくないときは、取り消すボタン208を押す。入力したデータは、ステップ310で、消去され、パーソナルコンピュータ1のWebブラウザ9では、図2で、タイトル入力部分202、本文入力部分204を空白に変更し、ディスプレイ装置3に表示し、処理を終了する(ステップ308から314)。
ここでは、ユーザは、書き込むボタン210をマウス7で選択し、タイトル入力部分202と本文入力部分204に書き込まれた文章をブログサイト20のHTMLテキストデータベース26へ適当なURIをつけて、ファイルとして格納したとする(ステップ310から314)。ここでは、付けられたURIは、「http:://blog1.com/u1/10/honbun.html」とする。
このときにHTMLテキストデータベース26に格納されたHTML文章を図4に示す。図4は、ひとつのファイルであるHTML文章400を示す。図4の左端の番号4010から4090は、本実施例を説明するために付加した行番号であり、本来のHTML文章には含まれない。
変換要求部30は、定期的にHTMLテキストデータベース26を参照し、新たに格納されたファイルであるHTML文章を検出し、星印や三角印などの絵文字で囲まれたテキストデータの部分を抽出し、抽出されたテキストデータ毎に、ユニークなURIを生成し、それらのテキストデータと生成したURIを音声合成サイト40へ送信し、URIに対応するファイル名の音声データと、そのURIの最後尾の拡張子「.wav」を「.txt」で置換した、音声データの読みのテキストデータを得る。
ここでは、音声合成サイト40に送信されたデータのひとつは、テキストデータが「場」であり、それに対応して生成されたURIは、
「http://blog1.com/u1/10/01.wav」
であり、他のひとつは、テキストデータが、「か」であり、それに対応して生成されたURIは、
「http://blog1.com/u1/10/02.wav」
であるとする。
「http://blog1.com/u1/10/01.wav」
であり、他のひとつは、テキストデータが、「か」であり、それに対応して生成されたURIは、
「http://blog1.com/u1/10/02.wav」
であるとする。
ここでは、生成されるURIは、HTMLテキストデータベース26に格納されたHTML文章のパス名にユニークな数字を追加したものとしているが、HTML文章のパス名とは関係のないものでも良い。
上記のデータを受信した音声合成サイト40の受信部42は、テキストデータを音声合成部44へ、URIを送信部46へそれぞれ出力する。音声合成部44は、テキストデータを音声データに変換し、音声データの発声音を表現する読みのテキストデータと音声データを出力する。
送信部46は、音声合成部44から音声データと読みのテキストデータを得、受信部42からURIとを得て、URIに対応する音声データのファイルと、そのURIの最後尾の拡張子「.wav」を「.txt」で置換したURIに対応させた読みのテキストデータとをブログサイト20の変換要求部30へ戻す。ここで、読みのテキストデータは「場」を「ba」という発声音に変換し、「か」を「ka」という発声音に変換したとし、テキストデータは「ba」と「ka」となる。
この段階では、「場」に対応する読みのテキストデータのURIは、
「http://blog1.com/u1/10/01.txt」
であり、このURIで指定されるファイルの内容は、文字として解釈して「ba」である。「か」に対応する読みのテキストデータのURIは、
「http://blog1.com/u1/10/02.txt」
であり、このURIで指定されるファイルの内容は、文字として解釈して「ka」である。
「http://blog1.com/u1/10/01.txt」
であり、このURIで指定されるファイルの内容は、文字として解釈して「ba」である。「か」に対応する読みのテキストデータのURIは、
「http://blog1.com/u1/10/02.txt」
であり、このURIで指定されるファイルの内容は、文字として解釈して「ka」である。
これらのデータを受信した変換要求部30は、受信したデータを音声テキストデータベース28へ格納し、HTMLテキストデータベース26にアクセスし、音声データと、テキストデータを得たHTML文章の絵文字で囲まれた部分を、Webブラウザが再生できるようにURIを含む適当なタグで置換する。
図5は、置換した後のHTML文章500を表したものである。左端の番号5010から5090は、本実施例を説明するために付加した行番号であり、本来のHTML文章には含まれない。
読みのテキストデータを得たHTML文章の絵文字で囲まれた部分と音声データとを置換するので、星印で囲まれたテキストデータの部分を音声データのURIを含む適当なタグで置換する。ここでは、Webブラウザが、リンク先のURIの最後尾を拡張子と解釈して、その拡張子に対応するアプリケーション・プログラムを自動的に起動するとし、「<a」タグ、リンク先を示すURI、及び「</a」タグで置換する。
したがって、図4の4060行目の星で囲まれた部分「場」が、図5の5060行目から5066行目に示すように、「面白い
<a href=“http://blog1.com/u1/10/01.wav”>
場</a>
所だった。」
に置換される。また、図4の4070行目の星で囲まれた部分「か」が、図5の5070行目から5076行目に示すように、
「また、いこう
<a href=“http://blog1.com/u1/10/02.wav”>
か</a>
な。」
に置換される。以降は、図4に示すHTML文章に代わって、図5に示すHTML文章がHTMLテキストデータベース26に格納される。
<a href=“http://blog1.com/u1/10/01.wav”>
場</a>
所だった。」
に置換される。また、図4の4070行目の星で囲まれた部分「か」が、図5の5070行目から5076行目に示すように、
「また、いこう
<a href=“http://blog1.com/u1/10/02.wav”>
か</a>
な。」
に置換される。以降は、図4に示すHTML文章に代わって、図5に示すHTML文章がHTMLテキストデータベース26に格納される。
図6は、音声テキストデータベース28に格納される音声データと読みのテキストデータの例を説明する図である。図6は、Wave形式の音声データ602と606、及び音声データの発声音を表現するテキストデータ604と608を示す。
内容審査部34は、HTMLテキストデータベース26にあるすべてのHTML文章と音声テキストデータベース28にある音声データとテキストデータを参照し、読み上げ禁止用語データベース32に格納した読み上げ禁止用語を用いて処理する。
以下、内容審査部34の処理を図5から図8を用いて詳細に説明する。図7は、内容審査部34の処理フローチャートである。図8は、読み上げ禁止用語データベース32に格納されている読み上げ禁止用語の例を示すものである。
内容審査部34は、定期的にHTMLテキストデータベース26にあるHTML文章について、各々、図7のステップ700からステップ730の処理を行う。内容審査部34は、処理を開始する(ステップ700)と、URIのリストを記憶する変数である$Fと、文字列を記憶する変数である$Sを空にする(ステップ702)。次にHTMLテキストデータベース26のひとつのHTML文章、つまり、URIで指定されるひとつのファイルの先頭から1行を読み込み(ステップ704)、ファイルの終了(EOF)か否かを判定する(ステップ706)。終了であるときはステップ714へ進み、終了でないときはステップ708へ進み、パタンマッチを行い、音声データのURIで指定されたファイル(Waveファイル)を抽出し、ステップ710へ進む。
ステップ710で、パタンマッチが成功し、Wave形式のURIがあるときは、ステップ712へ進み、URIを$Fに追加し、そのURIの拡張子を「.wav」から「.txt」に置換したURIで指定されるファイルに格納されているテキストデータを$Sに追加し、ステップ704へ戻り、ステップ704から712を繰り返す。Wave形式のURIがないときは、ステップ704へ戻り、ステップ704から712を繰り返す。
ここでは、内容審査部34は、図5のHTML文章について処理し、ステップ702から712の処理を繰り返したとする。すると、図5のHTML文章500の5062行目がステップ708でパタンマッチし、ステップ712で、「http://blog1.com/u1/10/01.wav」が、$Fに追加される。また、「.wav」から「.txt」に置換したURIは、「http://blog1.com/u1/10/01.txt」となり、それに格納されているテキストデータ、「ba」が$Sに追加される。
ステップ704へ戻り、上述のステップ704からステップ712を繰り返し、再び、図5のHTML文章500の5072行目がステップ708でパタンマッチし、ステップ712で、「http://blog1.com/u1/10/02.wav」が、$Fに追加される。また、「.wav」から「.txt」に置換したURIは、「http://blog1.com/u1/10/02.txt」となり、それに格納されているテキストデータ、「ka」が$Sに追加される。
したがって、$Fは、[http://blog1.com/u1/10/01.wav、http://blog1.com/u1/10/02.wav]となり、$Sは、[ba、ka]となる。
ステップ714へ進み、$Sが空白のときは終了し(730)、空白でないときは、$Sと読み上げ禁止用語データベース28にある読み上げ禁止用語とのパタンマッチを行う(ステップ716)。次に、ステップ718へ進み、パタンマッチが成功した場合は、対応する音声データの内容を予め決めた音声データに置換し(ステップ720)、$Fと$Sを一要素分左へシフトする(ステップ722)。パタンマッチが成功しなかった場合は、ステップ722へ進む。ステップ722が終了した後は、ステップ714からステップ722を繰り返し、$Sが空白のときは終了する(ステップ730)。
ここでは、図8に示すように、禁止用語データベース28には、2つの読み上げ禁止用語802と804が格納され、内容は、それぞれ、「aho」と「baka」であったとする。ここでは、ステップ714で、$Sは[ba、ka]であり、空白で無いので、ステップ716へ進む。読み上げ禁止用語802は、「aho」であり、パタンマッチは成功しないが、読み上げ禁止用語804は、「baka」であり、パタンマッチは成功する。したがって、ステップ720で、対応する音声データの内容を予め決めた音声データに置換する。ここでは、音声データの置換は、$Fの先頭(左側)にあるURIで指定される音声データのファイルの内容を無音に置換するとする。
この段階で、$Fは、[http://blog1.com/u1/10/01.wav、http:/blog1.com/u1/10/02.wav]であるので、図6の音声データ602である「http://blog1.com/u1/10/01.wav」の内容は、「ba」に対応する音ではなく、無音となる。
ステップ722で、$Fと$Sを一要素分左へシフトし、$Fは、[http://blog1.com/u1/10/02.wav]となり、$Sは、[ka]となる。ステップ714からステップ718でパタンマッチするものは無いので、ステップ722へ進み、$Fと$Sを一要素分左へシフトし、再度、ステップ714で、$Fと$Sは、両者とも空白になり、内容審査部34の処理を終了する(ステップ730)。
上記の状態でパーソナルコンピュータ2のWebブラウザ10が、ブログサイト20へアクセスし、Webサーバ20を経由して、HTMLテキストデータベース26にある、HTML文章(図5)を閲覧したとする。このとき、パーソナルコンピュータ2のディスプレイ4には、図9に示すように表示される。
図9は、パーソナルコンピュータ2のディスプレイ4に表示される表示画面の例であり、900は、表示画面、902は、文章のタイトル、904は、文章の本文、906と908は、リンクの存在を示す下線である。Webブラウザでは、下線のあるテキストをマウスでクリックすると、<a>タグの内部にかかれたリンクの拡張子に対応するアプリケーション・プログラムが起動し、リンクで示すファイルを読み込み、再生し、スピーカ14から音声として出力する。
ここで、パーソナルコンピュータ2を操作しているユーザが、下線906、と908をマウスでこの順番に選択したとする。下線906と908に対応するリンクは、それぞれ図5の5062から5064行目と5072から5074行目であり、「http://blog1.com/u1/10/01.wav」と、「http://blog1.com/u1/10/02.wav」である。拡張子が「.wav」であるので、パーソナルコンピュータ2の音声再生部12は、「http://blog1.com/u1/10/01.wav」と「http://blog1.com/u1/10/02.wav」の再生を試みる。音声再生部12は、ブログサイト20のWebサーバ22経由で、音声テキストデータベース28へアクセスし、「http://blog1.com/u1/10/01.wav」と「http://blog1.com/u1/10/02.wav」に対応する音声ファイル602と606をパーソナルコンピュータ2にダウンロードし、再生する。
ここでは、上述のように、「http://blog1.com/u1/10/01.wav」の内容は、無音となっているので、下線906をマウスで選択したときは、「ba」の音は再生されず、スピーカ14は、無音のままであり、下線908をマウスで選択したときだけ「ka」の音が再生されるので、スピーカ14から「baka」と聞こえることは無い。
本実施例では、ステップ720で、音声データの置換は、左にある単語に対応する方の音声データのファイルを無音にするとしたが、無音の代わりに、予め固定した音にしても良い。
本実施例では、パーソナルコンピュータ1のユーザが、ステップ300から314の処理で、格納した合成音声の再生を含むWebページをそのまま、パーソナルコンピュータ2のユーザが閲覧する例を取り上げたが、パーソナルコンピュータ1のユーザが、一度格納したWebページを、再度編集し、再生される音声ファイルへのリンクの位置や順序を変更しても、内容審査部34は、定期的にステップ700から730の処理を行うので、不適切な発声を検出することができる。
上述の実施例1で、音声合成サイト40で、受信部42が受信したテキストデータを、音声合成部44へ入力する前に、テキストデータで内容を審査し、不適切と判断した場合は、変更したテキストデータを音声合成部44へ送るテキストデータとしても良い。
本実施例では、音声テキストデータベース28に格納されたテキストデータ604と608は、変換要求部30と内容審査部34からだけアクセスされ、編集部24など、他のプログラムからアクセスされることが無いので、いったん音声ファイルを作成し、音声テキストデータベース28に格納した後に、音声テキストデータベース28のテキストデータだけを変更して、内容審査部34で適正と判定され、不適切な用語を発声するように変更することはできないという効果がある。
本実施例では、日本語の場合を用いたが、他の言語、例えば英語や中国語なども、発声を表現するテキストデータを用いることができるので、同様に扱うことができる。
実施例1では、変換したテキストデータを、そのまま、テキストデータとしてファイルに格納し、音声データとともにテキストデータをブログサイトへ送信したが、テキストデータとしてファイルに格納する代わりに、音声データにテキストデータを電子透かしで埋め込んで、電子透かし入りの音声データだけをブログサイトへ送信してもよい。
以下、この場合を実施例2として、図2から図4、図8から図13を用いて説明する。図2から図4、図8から図9は、それぞれ実施例1と同じである。
この実施例2は、Webブラウザと音声再生機能を備えるパーソナルコンピュータ、実施例1とは異なる構成のブログサイトA、及び実施例1とは異なる構成の音声合成サイトAの3つの部分から構成される。実施例2の構成を図10に示す。図10において、図1と同じものには同じ符号を付している。
ブログサイトA1000における、実施例1との主な違いは、音声データベース1002、変換要求部A1004、電子透かし検出部1006及び内容審査部A1008にある。音声データベース1002は、電子透かしが挿入された電子透かし入り音声データを格納する。変換要求部A1004は、HTMLテキストデータベース26に格納されたテキストデータの一部分を電子透かし入り音声に変換することを要求し、変換した電子透かし入り音声データを音声データベース1002に格納するように指示を出し、HTMLテキストデータベース26に格納されたテキストデータの一部を置換する。電子透かし検出部1006は、音声データベース1002に格納された電子透かし入り音声データから電子透かしで挿入されたテキストデータを抽出する。内容審査部A1008は、HTMLテキストデータベース26と、読み上げ禁止用語データベース32と、電子透かし検出部1006から得たテキストデータとを参照し、読み上げ禁止用語か否かを判定し、読み上げ禁止用語と判定したときは、音声データベース1002に格納された対応する音声データを変更する。
音声データベース1002、変換要求部A1004、電子透かし検出部1006、内容審査部A1008は、ブログサイトA1000で動作するプログラムであり、ブログサイトA1000を構成するハードウエア(コンピュータ)、そのオペレーティング・システム、及びそれらが提供するファイルシステムなどで実現する。
音声合成サイトA1010は、ブログサイトA1000からURIとテキストデータとを受信する受信部A1012、音声データにテキストデータの電子透かしを挿入する電子透かし挿入部1014、電子透かし入りの音声データをURIに対応するファイル名の音声データのファイルとして、ブログサイトA1000へ送信する送信部A1016である。
本実施例でも、「aho」と「baka」は、不適切な用語の発声であり、これを聞いた側では、不適切な用語を発声したように聞こえる。
パーソナルコンピュータ1でのエンドユーザの操作の流れと、編集部24の処理の流れは、実施例1と同じである(図2と図3)。ここでは、エンドユーザは、書き込むボタン210をマウス7で操作し、タイトル入力部分202と本文入力部分204に書き込まれた文章をブログサイトA1000のHTMLテキストデータベース26へ適当なURIで、ファイルとして格納したとする(ステップ310から314)。
ここでは、付けられたURIは、実施例1と同様に「http://blog1.com/u1/10/honbun.html」であり、HTMLテキストデータベース26に格納されたHTML文章は実施例1と同様に図4であったとする。
変換要求部A1004は、定期的にHTMLテキストデータベース26を参照し、新たに格納されたファイルであるHTML文章を検出し、星印や三角印など絵文字で囲まれたテキストデータの部分を抽出し、抽出されたテキストデータ毎に、ユニークなURIを生成し、それらテキストデータとURIを音声合成サイトA1010へ送信し、URIに対応するファイル名の電子透かし入り音声データを得る。
ここでは、音声合成サイトに出力されたデータのひとつは、テキストデータが「場」であり、URIが「http://blog1.com/u1/10/03.wav」であったとし、他のひとつは、テキストデータが「か」であり、URIが「http://blog1.com/u1/10/04.wav」であったとする。
上記のデータを受信した音声合成サイトA1010の受信部A1012は、テキストデータを音声合成部44へ出力し、URIを送信部A1016へ出力する。音声合成部44は、テキストデータを音声データに変換し、音声データの発声音を表現するテキストデータと、音声データを電子透かし挿入部1014へ出力する。
電子透かし挿入部1014は、音声合成部44から入力した音声データに、テキストデータを電子透かしとして挿入し、送信部A1016へ出力する。音声データへの電子透かしの挿入、電子透かしの検出、抽出については、特開2003−99077号公報に記載してある。
送信部A1016は、電子透かし挿入部1014から得た、電子透かし入り音声データを、受信部A1012から得たURIに対応するファイル名の音声データのファイルとしてブログサイトA1000の変換要求部A1004へ戻す。ここで、テキストデータは、「場」を「ba」という音に変換し、「か」を「ka」という音に変換したものとする。
一方の「ba」が、電子透かしで挿入された電子透かし入りの音声データのファイルは、URIが「http://blog1.com/u1/10/03.wav」であり、他方の「ka」が、電子透かしで挿入された電子透かし入りの音声データのファイルは、URIが「http://blog1.com/u1/10/04.wav」である。
これらのデータを受信した変換要求部A1004は、受信したデータを音声データベース1002へ格納し、HTMLテキストデータベース26にアクセスし、音声データと、テキストデータを得たHTML文章の絵文字で囲まれた部分を、Webブラウザが再生できるようにURIを含む適当なタグで置換する。
図11は、置換した後のHTML文章1100を表したものである。左端の番号11010から11090は、本実施例を説明するために付加した行番号であり、本来のHTML文章には、含まれない。
音声データと、テキストデータを得たHTML文章の絵文字で囲まれた部分を置換するので、ここでは、星印で囲まれたテキストデータの部分を音声データのURIを含む適当なタグで置換する。ここでは、Webブラウザが、リンク先のURIの最後尾を拡張子と解釈して、その拡張子に対応するアプリケーション・プログラムを自動的に起動するとし、「<a」タグ、リンク先を示すURI、「</a」タグで置換する。
したがって、図4の4060行目の星印で囲まれた部分「場」が、図11の11060行目から11066行目に示すように、
「面白い
<a href=“http://blog1.com/u1/10/03.wav”>
場</a>
所だった。」
に置換される。図4の4070行目の星印で囲まれた部分「か」が、図11の11070行目から11076行目に示すように、
「また、いこう
<a href=“http://blog1.com/u1/10/04.wav”>
か</a>
な。」
に置換される。以降は、図4に示すHTML文章に代わって、図11に示すHTML文章がHTMLテキストデータベース26に格納される。図12は、音声データベース1002に格納される電子透かし入り音声データの例1202と1204とを示す。
「面白い
<a href=“http://blog1.com/u1/10/03.wav”>
場</a>
所だった。」
に置換される。図4の4070行目の星印で囲まれた部分「か」が、図11の11070行目から11076行目に示すように、
「また、いこう
<a href=“http://blog1.com/u1/10/04.wav”>
か</a>
な。」
に置換される。以降は、図4に示すHTML文章に代わって、図11に示すHTML文章がHTMLテキストデータベース26に格納される。図12は、音声データベース1002に格納される電子透かし入り音声データの例1202と1204とを示す。
内容審査部A1008は、HTMLテキストデータベース26にあるHTML文章と音声データベース1002にある電子透かし入り音声データとを参照し、読み上げ禁止用語データベース32に格納した読み上げ禁止用語を用いて処理する。
以下、内容審査部A1008の処理を図8、図11から図13を用いて詳細に説明する。図13は、内容審査部A1008の処理を示すフローチャートである。
内容審査部A1008は、定期的にHTMLテキストデータベース26にあるファイルであるHTML文章の各々について、図13のステップ1300からステップ1330の処理を行う。
内容審査部A1008は、処理を開始する(ステップ1300)と、URIのリストを記憶する変数である$Fと、文字列を記憶する変数である$Sを空にする(ステップ1302)。次にHTMLテキストデータベース26のひとつのHTML文章、つまりURIで指定されるひとつのファイルの先頭から1行を読み込み(ステップ1304)、ファイルの終了(EOF)か否かを判定する(ステップ1306)。
終了であるときは、ステップ1314へ進み、終了でないときは、ステップ1308へ進み、パタンマッチを行い、音声データのURIで指定されたファイルを抽出し、ステップ1310へ進む。
ステップ1310で、パタンマッチが成功し、音声データのURIがあるときは、ステップ1311へ進み、パタンマッチしたURIで指定される音声データのファイルの音声データを電子透かし検出部1006へ出力し、電子透かしで挿入されているテキストデータを抽出し、ステップ1312へ進み、パタンマッチしたURIを$Fに追加し、テキストデータを$Sに追加し、ステップ1304へ戻り、ステップ1304から1312を繰り返す。音声データのURIがないときは、ステップ1304へ戻り、ステップ1304から1312を繰り返す。
ここでは、内容審査部A1008は、図11のHTML文章について処理し、ステップ1302から1312の処理を繰り返したとする。すると、図11のHTML文章1100の11062行目がステップ1308でパタンマッチし、ステップ1311で、「http://blog1.com/u1/10/03.wav」から電子透かしで挿入されているテキストデータ「ba」を抽出する。ステップ1312で「http://blog1.com/u1/10/03.wav」が、$Fに追加され、「ba」が$Sに追加される。
ステップ1304へ戻り、上述のステップ1304からステップ1312を繰り返し、再び、図11のHTML文章1100の11072行目がステップ1308でパタンマッチし、ステップ1311で、「http://blog1.com/u1/10/04.wav」から電子透かしで挿入されているテキストデータ「ka」を抽出する。ステップ1312で「http://blog1.com/u1/10/04.wav」が、$Fに追加され、「ka」が$Sに追加される。
したがって、$Fは、[http://blog1.com/u1/10/03.wav、http://blog1.com/u1/10/04.wav]となり、$Sは、[ba、ka]となる。
ステップ1314へ進み、$Sが空白のときは終了し(1330)、空白でないときは、$Sと読み上げ禁止用語データベース28にある読み上げ禁止用語とのパタンマッチを行う(ステップ1316)。次に、ステップ1318へ進み、パタンマッチが成功した場合は、対応する音声データの内容を予め決めた音声データに置換し(ステップ1320)、$Fと$Sを一要素分左へシフトする(ステップ1322)。パタンマッチが成功しなかった場合は、ステップ1322へ進む。ステップ1322が終了した後は、ステップ1314からステップ1322を繰り返し、$Sが空白のときは終了する(ステップ1330)。
ここでは、図8に示すように、禁止用語データベース28には、2つの読み上げ禁止用語802と804が格納され、内容は、それぞれ、「aho」と「baka」であったとする。ステップ1314で、$Sは[ba、ka]であり、空白で無いので、ステップ1316へ進む。読み上げ禁止用語802は「aho」であり、パタンマッチは成功しないが、読み上げ禁止用語804は「baka」であり、パタンマッチは成功する。従って、ステップ1320で、対応する音声データの内容を予め決めた音声データに置換する。ここでは、音声データの置換は、$Fの先頭(左側)にあるURIで指定される音声データのファイルの内容を無音に置換するとする。
この段階で、$Fは、[http://blog1.com/u1/10/03.wav、http://blog1.com/u1/10/04.wav]であるので、図12の音声データ1202である「http://blog1.com/u1/10/03.wav」の内容は、「ba」に対応する音ではなく、無音となる。
次に、ステップ1322で、$Fと$Sを一要素分左へシフトし、$Fは、[http://blog1.com/u1/10/04.wav]となり、$Sは、[ka]となる。ステップ1314からステップ1318でパタンマッチするものは無いので、ステップ1322へ進み、$Fと$Sを一要素分左へシフトし、再度、ステップ1314で、$Fと$Sは、両者とも空白になり、内容審査部A1008の処理を終了する(ステップ1330)。
上記の状態でパーソナルコンピュータ2のユーザがWebブラウザ10を用いて、ブログサイト1000へアクセスし、Webサーバ22を経由して、HTMLテキストデータベース26にある、HTML文章(図11)を閲覧したとする。このとき、パーソナルコンピュータ2のディスプレイ4には、実施例1と同様に図9に示すように表示される。ここで、パーソナルコンピュータ2を操作しているユーザが、下線906、と908をマウスでこの順番に選択したとする。
下線906と908に対応するリンクは、それぞれ図11の11062から11064行目と11072から11074行目であり、「http://blog1.com/u1/10/03.wav」と「http://blog1.com/u1/10/04.wav」である。拡張子が「.wav」であるので、実施例1と同様にパーソナルコンピュータ2の音声再生部12は、「http://blog1.com/u1/10/03.wav」と「http://blog1.com/u1/10/04.wav」の再生を試みる。
ここでは、上述のように、「http://blog1.com/u1/10/03.wav」の内容は、無音となっているので、下線906をマウスで選択したときは、「ba」の音は再生されず、スピーカ14は、無音のままであり、下線908をマウスで選択したときだけ「ka」の音が再生されるので、スピーカ14から「baka」と聞こえることは無い。
本実施例では、ステップ1320で、音声データの置換は、左にある単語に対応する方の音声データのファイルを無音にするとしたが、無音の代わりに、予め固定した音にしても良い。
本実施例で、音声合成サイトA1010で、受信部A1012が出力したテキストデータを、音声合成部44へ入力する前に、テキストデータで内容を審査し、音声合成部44へ送るテキストデータを変更しても良い。
本実施例では、日本語の場合を用いたが、他の言語、例えば英語や中国語なども、発声を表現するテキストデータを用いることができるので、同様に扱うことができる。
実施例1では、複数のブログサイトがあった場合、新たな読み上げ禁止用語を登録するときに複数のブログサイトの読み上げ禁止用語データベースを、それぞれ更新する必要がある。内容審査部と、読み上げ禁止用語データベースをブログサイトの外部の別のサイトに内容審査サイトとして設置し、複数のブログサイトで、内容審査サイトを共有するようにすれば、新たな読み上げ禁止用語を登録するときに、共有する内容審査サイトの読み上げ禁止用語データベースだけを更新すればよく、手間が省ける。
以下、この場合の実施例3を図2から図9、図14を用いて説明する。この実施例は、Webブラウザと音声再生機能を備えるパーソナルコンピュータ、実施例1と異なる構成のブログサイト、実施例1と同じ音声合成サイト、及び内容審査サイトの4つの部分から構成される。図2から図9の各構成要素の動作は、実施例1の図2から図9の各構成要素の動作と同じである。内容審査サイトは、インターネット上のWebサイトであり、サーバなどのコンピュータとソフトウェアで構成される。
図14は、実施例3の構成を示す。図14において、図1と同じものには同じ符号を付している。
ブログサイトB1400は、内容審査に関わる構成を備えていない点が実施例1と異なり、内容審査に関わる構成は、ブログサイトB1400とは異なるサイトである内容審査サイト1402に設けられる。
内容審査サイト1402は、読み上げ禁止用語データベース1404及び内容審査部1406を有する。読み上げ禁止用語データベース1404は、音声での読み上げに適していない読み上げ禁止用語を格納する。内容審査部1406は、ブログサイトB1400のHTMLテキストデータベース26と音声テキストデータベース28、及び読み上げ禁止用語データベース1404を参照し、読み上げ禁止用語か否かを判定し、読み上げ禁止用語と判定したときは、対応する音声データを変更する。
ブログサイトB1400には、ユーザを認証するログイン機能やWebページを検索する検索機能などがあるが、本実施例でも、省略する。
読み上げ禁止用語データベース1404と内容審査部1406とは、それぞれ内容審査サイト1402で動作するデータベース及びプログラムであり、内容審査サイト1402を構成するハードウエア(コンピュータ)、そのオペレーティング・システム、及びそれらが提供するファイルシステムなどで実現する。
本実施例でも、「aho」と「baka」は、不適切な用語の発声であり、これを聞いた側では、不適切な用語を発声したように聞こえる。
以下、実施例1と同様に、パーソナルコンピュータ1でユーザが図2のように入力し、ブログサイト1400の編集部24が図3に示す処理を実行したとする。このときにHTMLテキストデータベース26に格納されたHTML文章は、図4と同じであり、付けられたファイル名も実施例1と同様に、「http://blog1.com/u1/10/honbun.html」であったとする。
ブログサイトB1400の変換要求部30は、実施例1と同様に、定期的にHTMLテキストデータベース26を参照し、新たに格納されたファイルであるHTML文章を検出し、星印や三角印など絵文字で囲まれたテキストデータの部分を抽出し、抽出されたテキストデータ毎に、ユニークなURIを生成し、それらテキストデータとURIを音声合成サイト40へ送信し、URIに対応するファイル名の音声データと、そのURIの最後尾の「.wav」を「.txt」で置換したファイル名の読みのテキストデータを得る。ここでは、実施例1と同様に、音声合成サイトに送信されたデータのひとつは、テキストデータが「場」であり、生成されたURIは「http://blog1.com/u1/10/01.wav」であったとし、他のひとつは、テキストデータが「か」であり、生成されたURIは「http://blog1.com/u1/10/02.wav」であったとする。
上記のデータを受信した音声合成サイト40は、実施例1と同様に動作し、URIに対応するファイル名の音声データのファイルと、そのURIの最後尾の「.wav」を「.txt」を置換したURIで、テキストデータをブログサイト3 1400の変換要求部30へ戻す。ここで、テキストデータは、実施例1と同様に、「場」を「ba」という音に変換し、「か」を「ka」という音に変換したとし、テキストデータは、「ba」と、「ka」となる。
この段階では、実施例1と同様に、「場」に対応するテキストデータのURIは、「http://blog1.com/u1/10/01.txt」となり、このURIで指定されるファイルの内容は、文字として解釈して、「ba」である。「か」に対応するテキストデータのURIは、「http://blog1.com/u1/10/02.txt」で、このURIで指定されるファイルの内容は、文字として解釈して、「ka」となる。
これらのデータを受信した変換要求部30は、実施例1と同様に受信したデータを音声テキストデータベース28へ格納し、HTMLテキストデータベース26にアクセスし、音声データと、テキストデータを得たHTML文章の絵文字で囲まれた部分を、Webブラウザが再生できるようにURIを含む適当なタグで置換する。置換した後のHTML文章は、図5と同じであり、図4に示すHTML文章に代わって、図5に示すHTML文章がHTMLテキストデータベース26に格納される。音声テキストデータベース28に格納される音声データと読みのテキストデータは、実施例1と同様に、図6に示す通りである。
内容審査サイト1402の内容審査部1406は、ブログサイトB1400のHTMLテキストデータベース26にあるHTML文章と音声テキストデータベース28にある音声データとテキストデータを参照し、読み上げ禁止用語データベース1404に格納した読み上げ禁止用語を用いて処理する。
内容審査部1406の処理は、実施例1の内容審査部34と同様であり、定期的にHTMLテキストデータベース26にあるファイルであるHTML文章の各々について、図7のステップ700からステップ730の処理を行う。ここでは、内容審査部34は、図5のHTML文章について処理を行い、ステップ702から712の処理を繰り返したとする。
すると、図5のHTML文章500の5062行目がステップ708でパタンマッチし、ステップ712で、「http://blog1.com/u1/10/01.wav」が、$Fに追加される。また、「.wav」から「.txt」に置換したURIは、「http://blog1.com/u1/10/01.txt」となり、それに格納されているテキストデータ、「ba」が$Sに追加される。
ステップ704へ戻り、上述のステップ704からステップ712を繰り返し、再び、図5のHTML文章500の5072行目がステップ708でパタンマッチし、ステップ712で、「http://blog1.com/u1/10/02.wav」が、$Fに追加される。また、「.wav」から「.txt」に置換したURIは、「http://blog1.com/u1/10/02.txt」となり、それに格納されているテキストデータ、「ka」が$Sに追加される。
この結果、$Fは[http://blog1.com/u1/10/01.wav、http://blog1.com/u1/10/02.wav]となり、$Sは[ba、ka]となる。
次にステップ714へ進み、$Sが空白のときは終了し(730)、空白でないときは、$Sと読み上げ禁止用語データベース28にある読み上げ禁止用語とのパタンマッチを行う(ステップ716)。
次に、ステップ718へ進み、パタンマッチが成功した場合は、対応する音声データの内容を予め決めた音声データに置換し(ステップ720)、$Fと$Sを一要素分左へシフトする(ステップ722)。パタンマッチが成功しなかった場合は、ステップ722へ進む。ステップ722が終了した後は、ステップ714からステップ722を繰り返し、$Sが空白のときは終了する(ステップ730)。
読み上げ禁止用語データベース1404には、図8に示す2つの読み上げ禁止用語802と804が格納され、内容は、それぞれ、「aho」と「baka」であったとする。
ここでは、ステップ714で、$Sは[ba、ka]であり、空白で無いので、ステップ716へ進む。読み上げ禁止用語802は「aho」であり、パタンマッチは成功しないが、読み上げ禁止用語804は「baka」であり、パタンマッチは成功する。どこで、ステップ720で、対応する音声データの内容を予め決めた音声データに置換する。ここでは、音声データの置換は、$Fの先頭(左側)にあるURIで指定される音声データのファイルの内容を無音に置換するとする。
この段階で、$Fは[http://blog1.com/u1/10/01.wav、http://blog1.com/u1/10/02.wav]であるので、図6の音声データ602である、「http://blog1.com/u1/10/01.wav」の内容は、「ba」に対応する音ではなく、無音となる。
次に、ステップ722で、$Fと$Sを一要素分左へシフトし、$Fは[http://blog1.com/u1/10/02.wav]となり、$Sは[ka]となる。ステップ714からステップ718でパタンマッチするものは無いので、ステップ722へ進み、$Fと$Sを一要素分左へシフトし、再度、ステップ714で、$Fと$Sは、両者とも空白になり、内容審査部1406の処理を終了する(ステップ730)。
上記の状態でパーソナルコンピュータ2のユーザが、Webブラウザ10を用いて、ブログサイトB1400へアクセスし、Webサーバ20を経由して、HTMLテキストデータベース26にある、HTML文章(図5)を閲覧したとする。このとき、パーソナルコンピュータ2のディスプレイ4には、実施例1と同様に図9のように表示される。
ここで、実施例1と同様にパーソナルコンピュータ2を操作しているユーザが、下線906、と908をマウスでこの順番に選択したとする。ここでは、上述のように、「http://blog1.com/u1/10/01.wav」の内容は、無音となっているので、下線906をマウスで選択したときは、「ba」の音は再生されず、スピーカ14は無音のままであり、下線908をマウスで選択したときだけ「ka」の音が再生されるので、スピーカ14から「baka」と聞こえることは無い。
本実施例では、ステップ720で、音声データの置換は、左にある単語に対応する方の音声データのファイルを無音にするとしたが、実施例1と同様に無音の代わりに、予め固定した音にしても良い。
本実施例では、パーソナルコンピュータ1のユーザが、ステップ300から314の処理で、格納した合成音声の再生を含むWebページをそのまま、パーソナルコンピュータ2のユーザが閲覧する例を取り上げたが、パーソナルコンピュータ1のユーザが、一度格納したWebページを、再度編集し、再生される音声ファイルへのリンクの位置や順序を変更しても、内容審査部34は、定期的にステップ700から730の処理を行うので、不適切な発声を検出することができる。
上述の実施例3で、音声合成サイト40で、受信部42が出力したテキストデータを、音声合成部44へ入力する前に、テキストデータで内容を審査し、不適切と判断した場合は、テキストデータを変更し、変更したテキストデータを音声合成部44へ送るテキストデータとしても良い。
本実施例では、音声テキストデータベース28に格納されたテキストデータ604と608は、変換要求部30と内容審査サイト1402からだけアクセスされ、編集部24など、他のプログラムからアクセスされることが無いので、いったん音声ファイルを作成し、音声テキストデータベース28に格納した後に、音声テキストデータベース28のテキストデータだけを変更して、内容審査サイト1402で適正と判定され、不適切な用語を発声するように変更することはできないという効果がある。
本実施例では、日本語の場合を用いたが、他の言語、例えば英語や中国語なども、発声を表現するテキストデータを用いることができるので、同様に扱うことができる。
実施例2では、内容審査部と、電子透かし検出部と、読み上げ禁止用語データベースをブログサイトに備えたが、内容審査部と、電子透かし検出部と、読み上げ禁止用語データベースをブログサイトの外部の別のサイトに内容審査サイトとして設置し、複数のブログサイトで、内容審査サイトを共有するようにしても良い。
以下、この場合の実施例4を図2から図4、図8、図9、図11から図13、図15を用いて説明する。この実施例は、Webブラウザと音声再生機能を備えるパーソナルコンピュータ、実施例2と異なる構成のブログサイト、実施例2と同じ音声合成サイト、及び実施例3と異なる構成の内容審査サイトの4つの部分から構成される。
内容審査サイトは、インターネット上のWebサイトであり、サーバなどのコンピュータとソフトウェアで構成する。
図4、図8、図9、図11から図13の各構成要素の動作は、実施例2の各構成要素の動作と同じである。
図15は、実施例4の構成を示す。図15において、図10と同じものには同じ符号を付している。
ブログサイトC1500は、内容審査に関わる構成を備えていない点が実施例2と異なり、内容審査に関わる構成は、ブログサイトC1500とは異なるサイトである内容審査サイト1502に設けられる。
1502は、内容審査サイト1502は、電子透かし検出部1504、読み上げ禁止用語データベース1506及び内容審査部A1508を有する。電子透かし検出部1504は、図10の電子透かし検出部1006と同じである。読み上げ禁止用語データベース1506は、図10の読み上げ禁止用語データベース32と同じである。内容審査部A1508は、ブログサイトC1500の音声データベース1002を参照し、電子透かし検出部1504からテキストデータを得て、ブログサイトC1500のHTMLテキストデータベース26と、読み上げ禁止用語データベース1506を参照し、読み上げ禁止用語か否かを判定し、読み上げ禁止用語と判定したときは、音声データベース1002に格納された対応する音声データを変更する。
ブログサイトには、ユーザを認証するログイン機能やWebページを検索する検索機能などがあるが、本実施例でも、省略する。
読み上げ禁止用語データベース1506、電子透かし検出部1504、及び内容審査部A1508は、内容審査サイトA1502で動作するデータベース及びプログラムであり、内容審査サイトA1502を構成するハードウエア(コンピュータ)、そのオペレーティング・システム、及びそれらが提供するファイルシステムなどで実現する。
本実施例でも、「aho」と「baka」は、不適切な用語の発声であり、これを聞いた側では、不適切な用語を発声したように聞こえる。
パーソナルコンピュータ1でのエンドユーザの操作の流れと、編集部24での処理の流れは、実施例1から実施例3と同じである(図2と図3)。
ここでは、エンドユーザは、書き込むボタン210をマウス7で操作し、タイトル入力部分202と本文入力部分204に書き込まれた文章をブログサイトC1500のHTMLテキストデータベース26へ適当なファイル名をつけて、ファイルとして格納したとする(ステップ310から314)。ここでは、付けられたファイル名は、実施例1から実施例3と同様に「http://blog1.com/u1/10/honbun.html」であったとする。このときにHTMLテキストデータベース26に格納されたHTML文章は実施例1と同様に図4であったとする。
変換要求部A1004は、実施例1から実施例3と同様に、定期的にHTMLテキストデータベース26を参照し、新たに格納されたファイルであるHTML文章を検出し、星印や三角印など絵文字で囲まれたテキストデータの部分を抽出し、抽出されたテキストデータ毎に、ユニークなURIを生成し、それらテキストデータとURIを音声合成サイトA1010へ送信し、URIに対応するファイル名の電子透かし入り音声データを得る。
ここでは、音声合成サイトA1010に送信されたデータのひとつは、テキストデータが「場」であり、URIが「http://blog1.com/u1/10/03.wav」であったとし、他のひとつは、テキストデータが「か」であり、URIが、「http://blog1.com/u1/10/04.wav」であったとする。
上記のデータを受信した音声合サイトA1010の受信部A1012は、テキストデータを音声合成部44へ出力し、URIを送信部A1016へ出力する。音声合成部44は、テキストデータを音声データに変換し、読みのテキストデータと、音声データを電子透かし挿入部1014へ出力する。電子透かし挿入部1014は、音声合成部44から入力した音声データに、読みのテキストデータを電子透かしとして音声データに挿入し、送信部A1016へ出力する。音声データへの電子透かしの挿入、電子透かしの検出、抽出については、実施例2と同様である。
送信部A1016は、実施例2と同様に、電子透かし挿入部1014から得た、電子透かし入り音声データを、受信部A1012から得たURIに対応するファイル名の音声データのファイルとしてブログサイトC1500の変換要求部A1004へ戻す。ここで、テキストデータは、「場」を「ba」という音に変換し、「か」を「ka」という音に変換したとする。
一方の「ba」が電子透かしで挿入された電子透かし入りの音声データのファイルは、URIが「http://blog1.com/u1/10/03.wav」であり、他方の「ka」が電子透かしで挿入された電子透かし入りの音声データのファイルは、URIが「http://blog1.com/u1/10/04.wav」である。
これらのデータを受信した変換要求部A1004は、受信したデータを音声データベース1002へ格納し、HTMLテキストデータベース26にアクセスし、音声データと、テキストデータを得たHTML文章の絵文字で囲まれた部分を、Webブラウザが再生できるようにURIを含む適当なタグで置換する。置換した後のHTML文章は、実施例2の図11と同様である。以降は、図4に示すHTML文章に代わって、図11に示すHTML文章がHTMLテキストデータベース26に格納される。音声データベース1002に格納される電子透かし入り音声データは、実施例2の図12と同様である。
内容審査サイトA1502の内容審査部A1508は、ブログサイトC1500のHTMLテキストデータベース26にあるHTML文章と、音声データベース1002にある電子透かし入り音声データを参照し、読み上げ禁止用語データベース1506に格納した読み上げ禁止用語を用いて処理を行う。
内容審査部A1508の処理は、実施例2の内容審査部の処理と同様であり、定期的にHTMLテキストデータベース26にあるファイルであるHTML文章の各々について、図13のステップ1300からステップ1330の処理を実行する。ここでは、内容審査部2 1508は、図11のHTML文章について処理を行い、ステップ1302から1312の処理を繰り返したとする。
すると、図11のHTML文章1100の11062行目がステップ1308でパタンマッチし、ステップ1311で、「http://blog1.com/u1/10/03.wav」から電子透かしで挿入されているテキストデータ「ba」を抽出する。ステップ1312で「http://blog1.com/u1/10/03.wav」が、$Fに追加され、「ba」が$Sに追加される。
ステップ1304へ戻り、上述のステップ1304からステップ1312を繰り返し、再び、図11のHTML文章1100の11072行目がステップ1308でパタンマッチし、ステップ1311で、「http://blog1.com/u1/10/04.wav」から電子透かしで挿入されているテキストデータ「ka」を抽出する。ステップ1312で「http://blog1.com/u1/10/04.wav」が、$Fに追加され、「ka」が$Sに追加される。
この結果、$Fは、実施例2と同様に、[http://blog1.com/u1/10/03.wav、http://blog1.com/u1/10/04.wav]となり、$Sは[ba、ka]となる。
次にステップ1314へ進み、$Sが空白のときは終了し(1330)、空白でないときは、$Sと読み上げ禁止用語データベース1506にある読み上げ禁止用語とのパタンマッチを行う(ステップ1316)。
次に、ステップ1318へ進み、パタンマッチが成功した場合は、対応する音声データの内容を予め決めた音声データに置換し(ステップ1320)、$Fと$Sを一要素分左へシフトする(ステップ1322)。パタンマッチが成功しなかった場合は、ステップ1322へ進む。ステップ1322が終了した後は、ステップ1314からステップ1322を繰り返し、$Sが空白のときは終了する(ステップ1330)。
ここでは、禁止用語データベース1506には、実施例2と同様に図8に示すように、2つの読み上げ禁止用語802と804が格納され、内容は、それぞれ、「aho」と「baka」であったとする。
ステップ1314で、$Sは[ba、ka]であり、空白でないので、ステップ1316へ進む。読み上げ禁止用語802は「aho」であり、パタンマッチは成功しないが、読み上げ禁止用語804は「baka」であり、パタンマッチは成功する。そこで、ステップ1320で、対応する音声データの内容を予め決めた音声データに置換する。ここでは、音声データに置換は、$Fの先頭(左側)にある単語に対応する方の音声データのファイルを無音にするとする。
この段階で、$Fは、[http://blog1.com/u1/10/03.wav、http://blog1.com/u1/10/04.wav]であるので、図12の音声データ1202である、「http://blog1.com/u1/10/03.wav」の内容は、「ba」に対応する音ではなく、無音となる。
次に、ステップ1322で、$Fと$Sを一要素分左へシフトし、$Fは[http://blog1.com/u1/10/04.wav]となり、$Sは[ka]となる。ステップ1314からステップ1318でパタンマッチするものは無いので、ステップ1322へ進み、$Fと$Sを一要素分左へシフトし、再度、ステップ1314で、$Fと$Sは、両者とも空白になり、内容審査部A1508の処理を終了する(ステップ1330)。
上記の状態でパーソナルコンピュータ2のユーザが、Webブラウザ10を用いて、ブログサイトC1500へアクセスし、Webサーバ22を経由して、HTMLテキストデータベース26にある、HTML文章(図11)を閲覧したとする。このとき、パーソナルコンピュータ2のディスプレイ4には、実施例1から実施例3と同様に図9に示すように表示される。
ここで、パーソナルコンピュータ2を操作しているユーザが、下線906、と908をマウスでこの順番に選択したとする。
下線906と908に対応するリンクは、それぞれ図11の11062から11064行目と11072から11074行目であり、「http://blog1.com/u1/10/03.wav」と、「http://blog1.com/u1/10/04.wav」である。拡張子が「.wav」であるので、実施例1と同様にパーソナルコンピュータ2の音声再生部12は、「http://blog1.com/u1/10/03.wav」と「http://blog1.com/u1/10/04.wav」の再生を試みる。
ここでは、上述のように、「http://blog1.com/u1/10/03.wav」の内容は無音となっているので、下線906をマウスで選択したときは、「ba」の音は再生されず、スピーカ14は、無音のままであり、下線908をマウスで選択したときに「ka」の音が再生されるので、スピーカ14から「baka」と聞こえることは無い。
本実施例では、ステップ1320で、音声データの置換は、左にある単語に対応する方の音声データのファイルを無音にするとしたが、無音の代わりに、予め固定した音にしても良い。
上述の実施例4で、音声合成サイトA1010で、受信部A1012が出力したテキストデータを、音声合成部44へ入力する前に、テキストデータで内容を審査し、音声合成部44へ送るテキストデータを変更しても良い。
本実施例では、日本語の場合を用いたが、他の言語、例えば英語や中国語なども、発声を表現するテキストデータを用いることができるので、同様に扱うことができる。
1、2:パーソナルコンピュータ、3、4:ディスプレイ、5、6:キーボード、7、8:マウス、9、10:Webブラウザ、11、12音声再生部、13、14スピーカ、20、1000、1400、1500:ブログサイト、22:Webサーバ、24:編集部、26:HTMLテキストデータベース、28:音声テキストデータベース、30:変換要求部、32:読み上げ禁止用語データベース、34:内容審査部、40、1010:音声合成サイト、42:受信部、44:音声合成部、46:送信部、200:入力画面、202:タイトル入力部分、204:本文入力部分、206:音声−絵文字対応表示部分、208:取り消すボタン、210:書き込むボタン、400、500:HTML文章、602:音声データ、604:テキストデータ、606:音声データ、608:テキストデータ、802、804:読み上げ禁止用語、1402、1502:内容審査サイト。
Claims (5)
- テキストデータの受信に応答して、該テキストデータを音声データに変換し、該音声データと該音声データの読みを表すテキストデータとを送信する音声合成サイトと、
接続する端末から受信したテキストデータを格納するテキストデータベース、前記端末からの指示に応答して前記テキストデータから複数の部分テキストデータを抽出し、前記抽出した複数の部分テキストデータを前記音声合成サイトに送信し、前記音声合成サイトから送信された前記複数の部分テキストデータに対応する音声データと該音声データの読みを表すテキストデータとを音声テキストデータベースに格納する変換要求部、及び前記複数の部分テキストデータに対応する前記音声データの読みを表すテキストデータを連続させたとき、該連続させた読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、前記部分テキストデータに対応する前記音声データを予め定めた音声データに置換する内容審査部を含むブログサイトとを有することを特徴とするテキスト音声変換サービスシステム。 - 前記音声データの読みを表すテキストデータが前記音声データに電子透かしとして挿入されることを特徴とする請求項1記載のテキスト音声変換サービスシステム。
- テキストデータの受信に応答して、該テキストデータを音声データに変換し、該音声データと該音声データの読みを表すテキストデータとを送信する音声合成サイトと、
接続する端末から受信したテキストデータを格納するテキストデータベース、及び前記端末からの指示に応答して前記テキストデータから複数の部分テキストデータを抽出し、前記抽出した複数の部分テキストデータを前記音声合成サイトに送信し、前記音声合成サイトから送信された前記複数の部分テキストデータに対応する音声データと該音声データの読みを表すテキストデータとを音声テキストデータベースに格納する変換要求部を含むブログサイトと、
前記複数の部分テキストデータに対応する前記音声データの読みを表すテキストデータを連続させたとき、該連続させた読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、前記部分テキストデータに対応する前記音声データを予め定めた音声データに置換する内容審査サイトを有することを特徴とするテキスト音声変換サービスシステム。 - 前記音声データの読みを表すテキストデータが前記音声データに電子透かしとして挿入されることを特徴とする請求項3記載のテキスト音声変換サービスシステム。
- 接続する端末からテキストデータを受信し、
前記端末からの指示に応答して前記テキストデータから複数の部分テキストデータを抽出し、
前記抽出した複数の部分テキストデータを音声データに変換し、
前記変換された音声データの読みを表すテキストデータを生成し、
前記複数の部分テキストデータに対応する前記音声データの読みを表すテキストデータを連続させたとき、該連続させた読みを表すテキストデータが予め設定した読み上げ禁止用語に該当する場合に、前記部分テキストデータに対応する前記音声データを予め定めた音声データに置換することを特徴とするテキスト音声変換サービス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259847A JP2009086597A (ja) | 2007-10-03 | 2007-10-03 | テキスト音声変換サービスシステム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007259847A JP2009086597A (ja) | 2007-10-03 | 2007-10-03 | テキスト音声変換サービスシステム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009086597A true JP2009086597A (ja) | 2009-04-23 |
Family
ID=40660043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007259847A Pending JP2009086597A (ja) | 2007-10-03 | 2007-10-03 | テキスト音声変換サービスシステム及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009086597A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014199450A1 (ja) * | 2013-06-11 | 2014-12-18 | 株式会社東芝 | 電子透かし埋め込み装置、電子透かし埋め込み方法、及び電子透かし埋め込みプログラム |
CN115050349A (zh) * | 2022-06-14 | 2022-09-13 | 抖音视界(北京)有限公司 | 文本转换音频的方法、装置、设备和介质 |
-
2007
- 2007-10-03 JP JP2007259847A patent/JP2009086597A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014199450A1 (ja) * | 2013-06-11 | 2014-12-18 | 株式会社東芝 | 電子透かし埋め込み装置、電子透かし埋め込み方法、及び電子透かし埋め込みプログラム |
CN105283916A (zh) * | 2013-06-11 | 2016-01-27 | 株式会社东芝 | 电子水印嵌入装置、电子水印嵌入方法及电子水印嵌入程序 |
JPWO2014199450A1 (ja) * | 2013-06-11 | 2017-02-23 | 株式会社東芝 | 電子透かし埋め込み装置、電子透かし埋め込み方法、及び電子透かし埋め込みプログラム |
US9881623B2 (en) | 2013-06-11 | 2018-01-30 | Kabushiki Kaisha Toshiba | Digital watermark embedding device, digital watermark embedding method, and computer-readable recording medium |
CN115050349A (zh) * | 2022-06-14 | 2022-09-13 | 抖音视界(北京)有限公司 | 文本转换音频的方法、装置、设备和介质 |
CN115050349B (zh) * | 2022-06-14 | 2024-06-11 | 抖音视界有限公司 | 文本转换音频的方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Baumann et al. | The Spoken Wikipedia Corpus collection: Harvesting, alignment and an application to hyperlistening | |
US8849895B2 (en) | Associating user selected content management directives with user selected ratings | |
US8712776B2 (en) | Systems and methods for selective text to speech synthesis | |
US8396714B2 (en) | Systems and methods for concatenation of words in text to speech synthesis | |
US8352272B2 (en) | Systems and methods for text to speech synthesis | |
US8510277B2 (en) | Informing a user of a content management directive associated with a rating | |
US8352268B2 (en) | Systems and methods for selective rate of speech and speech preferences for text to speech synthesis | |
US8583418B2 (en) | Systems and methods of detecting language and natural language strings for text to speech synthesis | |
US8355919B2 (en) | Systems and methods for text normalization for text to speech synthesis | |
JP4225703B2 (ja) | 情報アクセス方法、情報アクセスシステムおよびプログラム | |
US20110153330A1 (en) | System and method for rendering text synchronized audio | |
US20100082328A1 (en) | Systems and methods for speech preprocessing in text to speech synthesis | |
US20100082327A1 (en) | Systems and methods for mapping phonemes for text to speech synthesis | |
JP2007242013A (ja) | コンテンツ管理指示を呼び出すための方法、システム、およびプログラム(コンテンツ管理指示の呼び出し) | |
JP2000081892A (ja) | 効果音付加装置および効果音付加方法 | |
WO2001001390A1 (fr) | Trieuse-liseuse electronique | |
JP2013072957A (ja) | 文書読み上げ支援装置、方法及びプログラム | |
Graham et al. | Evaluating OpenAI's Whisper ASR: Performance analysis across diverse accents and speaker traits | |
Tamminga | Matched guise effects can be robust to speech style | |
JP2009140466A (ja) | 使用者製作問答データに基づいた会話辞書サービスの提供方法及びシステム | |
JP7200533B2 (ja) | 情報処理装置およびプログラム | |
JP6179971B2 (ja) | 情報提供装置及び情報提供方法 | |
US20080243510A1 (en) | Overlapping screen reading of non-sequential text | |
Kotkar et al. | An audio wiki for publishing user-generated content in the developing world | |
JP2009086597A (ja) | テキスト音声変換サービスシステム及び方法 |