(57)【要約】【課題】  発話データの部分再生を可能にする。【解決手段】  本発明は、音声出力される文言を表す音声文字列と、該文言を音声出力する際の韻律、出力態様を表す制御記号とを含む文字列である発話データを記憶する記憶手段と、前記発話データのうち一部を選択する範囲選択手段と、前記範囲選択手段により選択された範囲外にある文字列から所定の規則に従って生成された文字列と、前記範囲選択手段により選択された範囲に属する文字列とから構成される部分再生用発話データを生成する部分再生用発話データ生成手段と、前記部分再生用発話データを再生して音声を出力する出力手段とを有する、発話データの制作・編集装置を提供する。【選択図】      図３
2006030691.tif 000002
【特許請求の範囲】
【請求項１】
音声出力される文言を表す音声文字列と、該文言を音声出力する際の韻律、出力態様を表す制御記号とを含む文字列である発話データを記憶する記憶手段と、
前記発話データのうち一部を選択する範囲選択手段と、
前記範囲選択手段により選択された範囲外にある文字列から所定の規則に従って生成された文字列と、前記範囲選択手段により選択された範囲に属する文字列とから構成される部分再生用発話データを生成する部分再生用発話データ生成手段と、
前記部分再生用発話データを再生して音声を出力する出力手段と
を有する、発話データの制作・編集装置。
【請求項２】
コンピュータ装置に、
音声出力される文言を表す音声文字列と、該文言を音声出力する際の韻律、出力態様を表す制御記号とを含む文字列である発話データを記憶する記憶ステップと、
前記発話データのうち一部を選択する範囲選択ステップと、
前記範囲選択ステップにおいて選択された範囲外にある文字列から所定の規則に従って生成された文字列と、前記範囲選択ステップにおいて選択された範囲に属する文字列とから構成される部分再生用発話データを生成する部分再生用発話データ生成ステップと、
前記部分再生用発話データを再生して音声を出力する出力ステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に音声を出力させるためのデータを作成する技術に関する。
【背景技術】
【０００２】
電子機器にメッセージやガイダンスなどを音声で出力させるために、音声合成技術が用いられている。音声合成技術は、メッセージやガイダンス等の文言を表す文字列と音声の抑揚やアクセント等の韻律と、各音節のピッチや音量、話速など音声の出力態様を表す制御記号とを所定の書式にしたがって記載した発話データを上記電子機器に記憶させておき、この発話データに従って音声を再生させることによって実現される。
【０００３】
図６は、ある書式に従って記載された、“こんにちは、さようなら”という音声を電子機器に出力させる発話データの一例を示す図である。この書式において、発話データは主として、発音する文字を表す音声文字列と、音声文字列に対し、文節あるいは音節単位で韻律（音の強弱、長短、高低などによって作り出される言葉のリズム）を制御する韻律記号と、音量や音の高さ、話速などのパラメータを制御する制御文字列とから構成される。図６において、先頭の“ＨＶ＃Ｊ”は発話データのヘッダ部であり、そのデータが電子機器に日本語の音声を再生させる発話データであることを示している。ヘッダ以降の部分は発話データのボディ部であり、“Ｖ”は音量を、“Ｇ”は発音する音声のピッチ（声の高さ）を、“Ｓ”は音の速度を、“Ｋ”は声質を、“Ｗ”は高低アクセントの韻律変化度を示す制御文字列である。また、“＾”は発音中ピッチを上げる高低アクセントを、“＄”は発音中ピッチを下げる高低アクセントを、“＿”は語頭でピッチを下げるアクセントの変化を、“‘”は語頭でピッチを上げるアクセントの変化を、“＠”は文節の韻律を、“＜”は発音中に音量を上げる強弱アクセントの変化を示す韻律記号である。制御文字列に数字が後続する場合は、その制御文字列で指定されるパラメータの値を、その数字で指定される値に変更することを、また、韻律記号に数字が後続する場合には、その韻律記号で指定されるパラメータを、その数字分だけ変化させることを意味する。また、上記のもののほかにも、発話長の統一を示す制御文字列である“Ｌ”や、発音中に音量を下げる強弱アクセントを示す韻律記号である“＜”等の制御文字列および韻律記号が存在する。なお、予め定められたデフォルトの話速や音量、ピッチで音声を出力する場合はその設定を省略することができる。
図６に示す発話データは、“、”、“。”等の文節の区切り記号により文節に区分される。この書式において、制御文字列により変更されるパラメータは、文節にかかわらず次に変化が指示されるまではその値が維持されるが、韻律記号は１つの文節全体の韻律、あるいはその文節内での韻律の変化を指定するものである。
【０００４】
このように、発話データは音声文字列に所定の制御文字列、韻律記号（以下、必要に応じて制御文字列と韻律記号とを合わせて「制御記号」という）を所定の書式に従って付与することで作成されるものである。したがって、各制御記号の意味やその記述書式などを熟知していなければ、新たに発話データを作成したり、既存の発話データを編集したりすることは困難である。このため、発話データを手軽に作成したり、編集したりすることを可能にすることが望まれていた。このようなニーズに応えるための技術の一例としては、特許文献１に開示された技術がある。特許文献１に開示された技術では、以下に説明するようにして発話データの編集が行われる。まず、電子機器に音声出力させる文言を表す文字列をディスプレイ装置などの表示装置に表示させる。次いで、上記文字列のうちで話速や音量を変更したい部分（文節又は文字）をマウスなどのポインティングデバイスによりユーザに指定させ、例えば、縦軸が話速を表し横軸が音量を表す座標平面内にその部分の話速と音量とに応じた点をプロットさせる。そして、ユーザによって上記座標平面内にプロットされた点の座標に応じた話速および音量を表す制御記号が上記文字列に適宜付与され発話データが生成される。
【特許文献１】特開平０６−２６６３８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
発話データの編集においては、ユーザが意図したとおりのものとなっているか確認するため、編集した発話データを再生させ、再生された音声が意図したとおりになっていない場合には発話データを修正するという作業が繰り返し行われる。その際、作業効率の観点から、発話データ全部ではなく、変更部分など発話データの特定の一部分のみを再生できることが望ましい。しかし、前述のように、制御文字列により変更されるパラメータは、文節にかかわらず次に変化が指示されるまではその値が維持されるので、単純にその一部分の発話データを再生しただけでは、韻律や、音量、音速等のパラメータが発話データ全体を再生したときとは異なるものとなってしまうという問題があった。例えば、図６に示す例で「こんにちは、さようなら」の『なら』の部分に相当する発話データは“なら”である。この部分には制御記号が付加されていないので、『なら』の部分だけ再生させたい場合に発話データ“なら”を再生するだけでは、音量、音速等はデフォルトの値で再生されることとなる。しかし、音量についてはヘッダの直後で“Ｖ３”と指定されており、また、『なら』が含まれる文節には、『なら』の前に韻律記号“＜２”が指定されているので、本来音量はそれらの制御記号で指定される音量で再生されるべきである。また、文節の韻律記号“＠”は、『さようなら』という文節全体にかかっているので、発話データ“なら”の部分だけ再生しても、発話データ全体を再生したときとは異なるものとなってしまう。したがって、発話データの再生は少なくとも文節単位でしか行えず、文節単位で発話データの再生を行う場合でも、その文節に係る音量、ピッチ、速度等の制御文字列をユーザが自ら探し、その文節とともに記述する必要があった。このように、従来、発話データのうち一部分のみを部分再生するには、ユーザは煩雑な操作をしなければならなかった。
【０００６】
本発明は上述の事情に鑑みてなされたものであり、発話データのうちユーザに指定された部分のみを、簡単な操作で再生可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明は、音声出力される文言を表す音声文字列と、該文言を音声出力する際の韻律、出力態様を表す制御記号とを含む文字列である発話データを記憶する記憶手段と、前記発話データのうち一部を選択する範囲選択手段と、前記範囲選択手段により選択された範囲外にある文字列から所定の規則に従って生成された文字列と、前記範囲選択手段により選択された範囲に属する文字列とから構成される部分再生用発話データを生成する部分再生用発話データ生成手段と、前記部分再生用発話データを再生して音声を出力する出力手段とを有する、発話データの制作・編集装置を提供する。
また、本発明は、コンピュータ装置に、音声出力される文言を表す音声文字列と、該文言を音声出力する際の韻律、出力態様を表す制御記号とを含む文字列である発話データを記憶する記憶ステップと、前記発話データのうち一部を選択する範囲選択ステップと、前記範囲選択ステップにおいて選択された範囲外にある文字列から所定の規則に従って生成された文字列と、前記範囲選択ステップにおいて選択された範囲に属する文字列とから構成される部分再生用発話データを生成する部分再生用発話データ生成ステップと、前記部分再生用発話データを再生して音声を出力する出力ステップとを実行させるプログラムを提供する。
かかる発明によれば、発話データのうち、部分再生する選択範囲外の発話データに基づいて適切な韻律、出力態様が指定された、部分再生用の発話データが自動生成および再生されるので、ユーザは発話データの一部のみを試聴することができる。
【発明の効果】
【０００８】
本発明によれば、ユーザは複雑な操作あるいは部分再生専用の発話データを別個に作成することなく、発話データの一部分のみを試聴することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の一実施形態について説明する。
＜１．構成＞
図１は、本発明の一実施形態に係る制作・編集装置１の構成を示すブロック図である。ＣＰＵ（Central Processing Unit）１０は、ＲＯＭ（Read Only Memory）２０あるいはＨＤＤ（Hard Disk Drive）３０からプログラムを読み出し、ＲＡＭ（Random Access Memory）４０をワークエリアとして制作・編集装置１の各部を制御する。ユーザは、キーボード５０、マウス６０等の指示入力部を介して発話データを入力することもできるし、Ｉ／Ｆ（Interface）７０を介して他の電子機器から発話データを入力することもできる。入力された発話データは、ＲＡＭ４０あるいはＨＤＤ３０に記憶される。ＣＰＵ１０は、発話データに従ってデジタルの音声データを生成し、楽音発生部８０に出力する。楽音発生部８０は、ＣＰＵ１０から音声データを引渡された場合に、その音声データに対応するアナログ音声信号を生成し、サウンドシステム９０へ出力するものである。サウンドシステム９０は、楽音発生部８０から出力された音声信号を増幅し、スピーカ９２から音声として出力する。ディスプレイ１００は、例えばＬＣＤ（Liquid Crystal Display）等の表示装置であり、ＣＰＵ１０から出力されたデータに応じた画像を表示するものである。
【００１０】
ＨＤＤ３０には、発話データを制作、編集するための編集ソフトウェアが記憶されており、ＣＰＵ１０は、ユーザからの指示入力に応じて編集ソフトウェアをＨＤＤ３０から読み出して実行する。この編集ソフトウェアを実行することにより、制作・編集装置１は、本実施形態に係る機能を具備することができる。
図２は、この編集ソフトウェア実行時にディスプレイ１００に表示される編集画面を示す図である。ユーザは、この編集画面を見ながらマウス６０、キーボード５０を操作して発話データの編集をすることができる。
ユーザは、キーボード５０を操作することにより、あるいは、マウス６０を操作してボタンＢ１をクリックし、ＨＤＤ３０あるいは外部記録媒体に記憶されたファイルを指定することにより、発話データを制作・編集装置１に入力する。入力された発話データは、ＲＡＭ４０に記憶される。入力された発話データ、すなわち編集対象となる発話データは、領域３１０に表示される。ユーザは、キーボード５０を操作して音声文字列、制御記号を追加、削除することもできるし、マウス６０を操作してツールバー３２０に設けられた各種ボタンやプルダウンメニューをクリックすることにより制御記号を入力することもできる。ＲＡＭ４０に記憶された発話データは、ユーザの操作入力に応じて更新され、それに応じて領域３１０に表示される発話データも更新される。更新した発話データは、マウス６０を操作してボタンＢ２をクリックすることによりＨＤＤ３０あるいは外部記録媒体に保存することができる。
【００１１】
ボタンＢ３は、再生ボタンである。ユーザがマウス６０を操作してボタンＢ３をクリックすると、ＣＰＵ１０は、その時点で領域３１０に表示されている（すなわち、ＲＡＭ４０に記憶されている）発話データに従って音声データを生成し、楽音発生部８０に出力する。楽音発生部８０は、その音声データに対応するアナログ音声信号を生成する。このようにして、発話データに相当する音声がスピーカ９２から出力される。
ユーザは、キーボード５０あるいはマウス６０を操作することにより、領域３１０に表示された発話データの一部分を選択することができる。このとき、ＣＰＵ１０は、選択範囲の始点の位置ｘおよび終点の位置ｙをＲＡＭ４０に記憶する。例えば、図６に示す発話データにおいて、『なら』の部分が選択された場合、『な』の文字は発話データの先頭から３７文字目に位置するので、ｘ＝３７、ｙ＝３８である。また、部分選択が行われていないときは、ｘ、ｙの値はともに０である。選択された部分は、例えば背景色と文字色が反転表示されるといったように、選択されていない部分と区別可能な態様で領域３１０に表示される。この状態でボタンＢ３がクリックされると、後述する動作により選択された部分のみ再生することができる。
【００１２】
＜２．動作＞
続いて、本実施形態に係る制作・編集装置１の動作について説明する。ここでは、図６に示す「こんにちは、さようなら」という音声を出力するための発話データのうち、『なら』の部分だけを再生する動作について説明する。
図６に示す発話データにおいて、「こんにちは、さようなら」という発話データ全体を再生したときの『なら』の部分と同一の態様で『なら』の部分のみを出力するためには、図７に示す発話データを生成する必要がある。すなわち、部分再生の対象となる部分以前に存在する制御文字列により変化させられたパラメータを、部分再生の対象部分直前に指定する必要がある。また、韻律記号は文節全体にかかるものなので、部分再生対象外の部分のデータも発話データとして記載する必要がある。図７に示す発話データにおいては、この部分再生対象外の部分については音量を人間に聞こえないレベルまで低下させ、また、発話速度を高速にすることにより聴感上この部分再生対象外の部分をユーザに聞こえないようにしたものである。以下、図７に示すような、部分再生のための発話データを生成する動作について説明する。
【００１３】
図３は本実施形態に係る制作・編集装置１の動作を示すフローチャートである。ユーザが再生ボタンＢ３をクリックすると（ステップＳ１：ＹＥＳ）、ＣＰＵ１０は、ＲＡＭ４０に記憶されているｘ、ｙの値により、発話データのうち一部の文字列が選択されているか否か判断する（ステップＳ２）。一部の文字列が選択されていない場合（ステップＳ２：ＮＯ）、ＣＰＵ１０は、従来技術と同様に発話データのすべてを再生し（ステップＳ３）、処理を終了する。
発話データのうち一部の文字列が選択されている場合（ステップＳ２：ＹＥＳ）、ＣＰＵ１０は、部分再生のための発話動作を生成する。ＣＰＵ１０は、まず、部分再生の対象部分を含む文節よりも前に位置する発話データから、部分再生のための発話データの生成に必要なデータを抽出する（ステップＳ４）。
【００１４】
図４は、ステップＳ４におけるデータ抽出処理の例を示すフローチャートである。ＣＰＵ１０は、データ抽出処理に先立ち、制御記号等を一時的に記憶するための領域（バッファ）をＲＡＭ４０内に確保する。バッファはパラメータ毎に設けられ、デフォルト値が初期値として格納される。データ抽出処理は、以下のように行われる。
【００１５】
（１）ＣＰＵ１０は、発話データから、選択範囲の前にある文節の区切り記号の位置ｚを抽出する（ステップＳ４１）。文節の区切り記号が複数ある場合は、選択範囲に最も近い文節の区切り記号の位置が抽出される。図６に示す発話データにおいては、発話データの先頭から２６文字目に存在する文節の区切り記号“、”が選択範囲直前の文節の区切り記号であるので、ＣＰＵ１０は、ｚの値として“２６”をバッファに格納する。選択範囲の前に文節の区切り記号が存在しない場合は、ＣＰＵ１０は、ｚの値として“０”をバッファに格納する。
【００１６】
（２）ＣＰＵ１０は、発話データの先頭から順に制御文字列を抽出し（ステップＳ４２）、抽出した制御文字列をバッファに格納する（ステップＳ４３）。ここで、韻律記号は同一文節内にしか影響を及ぼさないので、韻律記号についてはバッファへの格納は行われない。また、同一パラメータに関する制御文字列が複数存在する場合には、最新の値がバッファに格納される。ＣＰＵ１０は、これらの処理を、先頭から位置ｚの発話データまで繰り返し実行する（ステップＳ４４）。図６に示す発話データにおいては、音量の制御文字列として“Ｖ３”が、ピッチの制御文字列として“Ｇ２”が、速度の制御文字列として“Ｓ５２”が、高低アクセント・文節の韻律変化度の制御文字列として“Ｗ３”が抽出され、バッファに格納される。発話長統一については、発話データの先頭から位置ｚまでの範囲に指定が無いので、デフォルト値“Ｌ０”がバッファに格納されている。
以上で説明した（１）、（２）の処理により、選択範囲を含む文節以前に記載された制御文字列がバッファに格納される。
【００１７】
（３）選択範囲を含む文節以前に記載された制御文字列の抽出が完了すると（ステップＳ４４：ＹＥＳ）、ＣＰＵ１０は、位置ｚの次の文字、すなわち選択範囲を含む文節の先頭から、制御記号、音声文字列を抽出し（ステップＳ４５）、抽出した制御記号、音声文字列をバッファに格納する（ステップＳ４６）。この処理は、部分再生の対象となる選択範囲を含む文節を対象とするものであって、制御文字列だけでなく韻律記号および音声文字列についてもバッファへの格納が行われる。ここで、高低アクセントの韻律記号（“‘”、“＿”）および強弱アクセントの韻律記号（“＜”、“＞”）については、韻律記号に後続する数値はパラメータの変化量を示しているので、抽出した値をそのままバッファに格納するのではなく、抽出した値に基づいて適正なパラメータの値が算出され、その値がバッファに格納される。図６に示す発話データを用いて具体的に説明すると、ＣＰＵ１０は、音声文字列“さ”の前に位置する高低アクセントの韻律記号“‘２”から、高低アクセントの値を、バッファに格納されている韻律記号に相当する値（この時点ではデフォルト値なので“０”）に２を加えて“＋２”と算出する。したがってＣＰＵ１０は、“＋２”に相当する高低アクセントの韻律記号“‘２”をバッファに格納する。続いて、ＣＰＵ１０は、音声文字列“さ”に後続する高低アクセントの韻律記号“＿４”から、高低アクセントの値を、バッファに格納されている韻律記号に相当する値（この時点では“‘２”なので“＋２”）から４を減じて“−２”と算出する。したがってＣＰＵ１０は、“−２”に相当する高低アクセントの韻律記号“＿２”をバッファに格納する。強弱アクセントの韻律記号についても同様である。
【００１８】
（４）ＣＰＵ１０は、上述の（３）の処理を、位置ｘの発話データの直前、すなわち選択範囲の直前まで繰り返し実行する（ステップＳ４７）。これにより、選択範囲を含む文節にかかる韻律記号および制御文字列がバッファに格納される。図６に示す発話データにおいては、文節の韻律記号として“＠”が、高低アクセントの韻律記号として“＿２”が、強弱アクセントの韻律記号として“＜２”が、音声文字列として“さよう”がバッファに格納される。
【００１９】
以上の（１）〜（４）の処理が、図３のステップＳ４の処理の一例である。このようにして、発話データから必要なデータが抽出されバッファに格納されると、ＣＰＵ１０は、バッファに格納されたデータに基づいて、部分再生用の新たな発話データ（以下、「部分再生用発話データ」という）を生成する（ステップＳ５）に進行する。
【００２０】
図５は、ステップＳ５における部分再生用発話データ生成処理の例を示すフローチャートである。ＣＰＵ１０は部分再生用発話データ生成処理に先立ち、制御記号等を一時的に記憶するためのバッファをＲＡＭ４０内に確保する。部分再生用発話データの生成処理は、以下のように行われる。
【００２１】
（ａ）ＣＰＵ１０は、文節の韻律記号のバッファに格納された韻律記号を、部分再生用発話データに挿入する（ステップＳ５１）。本実施形態においては、“＠”が挿入される。
（ｂ）ＣＰＵ１０は、音量を最小にし発話速度を最大（音の長さを最小）にする制御文字列を、部分再生用発話データの最後部に挿入する（ステップＳ５２）。本実施形態においては、“Ｓ９９Ｖ１”が挿入される。
（ｃ）ＣＰＵ１０は、強弱アクセントを最小にするため、強弱アクセントのバッファに格納された韻律記号（本実施形態においては、“＜２”）に相当する値（“＋２”）から９９を減じた値（“−９７”）を算出し、その値に相当する強弱アクセントの韻律記号を、部分再生用発話データの最後部に挿入する（ステップＳ５３）。本実施形態においては、“＞９７”が挿入される。
（ｄ）ＣＰＵ１０は、高低アクセントのバッファに格納された韻律記号を、部分再生用発話データの最後部に挿入する（ステップＳ５４）。本実施形態においては、“＿２”が挿入される。
（ｅ）ＣＰＵ１０は、選択範囲の属する文節において選択範囲外に存在する音声文字列、すなわち音声文字列のバッファに格納された音声文字列を、部分再生用発話データの最後部に挿入する（ステップＳ５５）。本実施形態においては、“さよう”が挿入される。
（ｆ）ＣＰＵ１０は、選択範囲を含む文節以前に記載された制御文字列、すなわち上述の（１）、（２）の処理によりバッファに格納された制御文字列を、部分再生用発話データの最後部に挿入する（ステップＳ５６）。
（ｇ）ＣＰＵ１０は、強弱アクセントを元に戻すための強弱アクセントの韻律記号を、部分再生用発話データの最後部に挿入する（ステップＳ５７）。本実施形態においては、“＜９９”が挿入される。
（ｈ）ＣＰＵ１０は、選択範囲の発話データをコピーして、部分再生用発話データの最後部に挿入する（ステップＳ５８）。本実施形態においては、“なら”が挿入される。
【００２２】
以上の（ａ）〜（ｈ）の処理が、図３のステップＳ５の処理の一例である。この処理により、図７に示す部分再生用発話データが生成される。ＣＰＵ１０は、生成した部分再生用発話データをバッファに格納し、全体の発話データと同様に再生する（図３：ステップＳ６）。この部分再生用発話データには、選択範囲を含む文節の音声文字列が全て含まれ、文節の韻律が発話データ全体の場合と同じように指定されている。さらに、選択範囲外の部分については音量最小かつ速度最速（音の長さ最小）の状態で再生されるので、この部分は聴感上聴き取ることができない。したがって、ユーザは、発話データのうち、部分再生したい部分を選択して再生ボタンＢ３を押すだけの簡単な操作により、選択部分だけを、全体を再生したときと同じように再生することができる。
【００２３】
なお、上述の実施形態においては、制作・編集装置１において、本発明に係る機能をソフトウェアモジュールで実現する態様について説明したが、これらの機能をハードウェアモジュールで実現する構成としてもよい。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係る制作・編集装置１の構成を示すブロック図である。
【図２】編集ソフトウェア実行時にディスプレイ１００に表示される編集画面を示す図である。
【図３】制作・編集装置１の動作を示すフローチャートである。
【図４】データ抽出処理の例を示すフローチャートである。
【図５】部分再生用発話データ生成処理の例を示すフローチャートである。
【図６】発話データの一例を示す図である。
【図７】図６の発話データの一部を再生する発話データの一例を示す図である。
【符号の説明】
【００２５】
１…制作・編集装置、１０…ＣＰＵ、２０…ＲＯＭ、３０…ＨＤＤ、４０…ＲＡＭ、５０…キーボード、６０…マウス、７０…Ｉ／Ｆ、８０…楽音発生部、９０…サウンドシステム、９２…スピーカ、１００…ディスプレイ
【図１】
2006030691.tif 000003
【図２】
2006030691.tif 000004
【図３】
2006030691.tif 000005
【図４】
2006030691.tif 000006
【図５】
2006030691.tif 000007
【図６】
2006030691.tif 000008
【図７】
2006030691.tif 000009