(57)【要約】【課題】  少ないデータ量で高品質の音声合成を可能とする音声合成用スクリプトを生成する。【解決手段】  合成する文字列、セグメント位置、ピッチ列等の入力データ１が入力されると、ピッチ一定区間検出部２は入力データのピッチがあるしきい値内の値を取り続けるピッチ一定区間を検出し、ビブラート区間検出部３はピッチが振動するビブラート区間を検出する。音階抽出部４は、ピッチ一定区間とビブラート区間のうちの長い方の区間を基準ピッチ区間とし、該区間内の平均ピッチに対応する音階を基準ピッチとして出力する。合成用スクリプト作成部５は、前記入力データ１と基準ピッチから、ピッチの遷移を基準ピッチからの相対変化を表す高低アクセント記号で表現する音声合成用スクリプトを作成する。音声合成装置は、この音声合成用スクリプトの高低アクセント記号からピッチ列を生成し、合成する。【選択図】  図１
2006030610.tif 000002
【特許請求の範囲】
【請求項１】
音声合成装置に供給する音声合成用スクリプトを生成する音声合成用スクリプト生成装置であって、
合成しようとする音声のモーラ情報、発話長情報及びピッチ遷移情報を入力する手段と、
前記ピッチ遷移情報から基準ピッチ区間を検出する手段と、
該検出した基準ピッチ区間における基準ピッチを検出する手段と、
前記ピッチ遷移情報を前記基準ピッチに対する相対変化で表現する音声合成用スクリプトを生成する手段と
を有することを特徴とする音声合成用スクリプト生成装置。
【請求項２】
さらに、前記モーラ情報、前記発話長情報及び前記ピッチ遷移情報を音声波形情報から抽出する手段を設けたことを特徴とする請求項１記載の音声合成用スクリプト生成装置。
【請求項３】
前記基準ピッチ区間は、ピッチ一定区間又はビブラート区間であることを特徴とする請求項１又は２に記載の音声合成用スクリプト生成装置。
【請求項４】
前記基準ピッチは、前記基準ピッチ区間における平均ピッチであることを特徴とする請求項１〜３のいずれかに記載の音声合成用スクリプト生成装置。
【請求項５】
前記音声合成用スクリプトを生成する手段は、所定の記号と基準ピッチに対するピッチの相対変化との対応を表すテーブルを参照して、前記音声合成用スクリプトを生成するものであることを特徴とする請求項１〜４のいずれかに記載の音声合成用スクリプト生成装置。
【請求項６】
ピッチ遷移情報を基準ピッチに対する相対変化で表現する音声合成用スクリプトに基づいて音声を合成する音声合成装置であって、
前記音声合成用スクリプトを入力する手段と、
該入力された音声合成用スクリプトからピッチ遷移情報を生成する手段と、
該生成されたピッチ遷移情報を用いて音声を合成する音声合成手段と
を有することを特徴とする音声合成装置。
【請求項７】
コンピュータに、
合成しようとする音声のモーラ情報、発話長情報及びピッチ遷移情報を入力するステップと、
前記ピッチ遷移情報から基準ピッチ区間を検出するステップと、
該検出した基準ピッチ区間における基準ピッチ区間を検出するステップと、
前記ピッチ遷移情報を前記基準ピッチに対する相対変化で表現する音声合成用スクリプトを生成するステップと
を実行させることを特徴とする音声合成用スクリプト生成プログラム。
【請求項８】
コンピュータに、
ピッチ遷移情報を基準ピッチに対する相対変化で表現する音声合成用スクリプトを入力するステップと、
該音声合成用スクリプトからピッチ遷移情報を生成するステップと、
該ピッチ遷移情報を用いて音声を合成するステップと
を実行させることを特徴とする音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成用スクリプトを生成する音声合成用スクリプト生成装置並びに音声合成用スクリプト生成プログラム、及び、該音声合成用スクリプトに基づいて音声を合成する音声合成装置並びに音声合成プログラムに関する。
【背景技術】
【０００２】
合成しようとする音声に対応する文字列と、音の高さ、長さ、強さなどの韻律を表す記号を含む音声合成用スクリプトを入力し、規則に従って音声合成する音声合成装置が知られている。
例えば、特許文献１には、楽譜から文字列と高さ、強さ及び長さデータからなる参照データを作成し、該参照データを用いて、実際の歌音声のセグメンテーションを行い、音声合成用データを生成する歌音声合成データの作成装置であって、参照データの一つである高さデータを各モーラの代表点のピッチとするものが記載されている。
【特許文献１】特開平３−７９９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のように、自然な音声合成を行うため、実際の音声データを分析して音声合成用データを作成する従来技術があったが、生成した音声合成用データによる合成では各モーラのピッチ指定の自由度がないため、合成音声の自然性が不足していた。
【０００４】
例えば、実際の歌声を元にピッチを抽出すると、一定のピッチで歌っているようでも、音の立上がりなどでは、前の音の音程からのピッチの変化が観られる。
図１０は、歌声におけるピッチ変化の一例を示す図である。
このような歌を音声合成により歌わせようとしたときに、図１０の（１）で示すタイミングのピッチＳ１を基準としてこのセグメントの音の高さ（音階）を決定したとすると、その後のピッチの変化をピッチの上げ下げを指示する高低アクセント記号を用いて記述しても、ピッチの上げ下げ記号によるピッチの変化幅がピッチがほぼ一定となったときの音階と一致しない場合には、音痴に聞こえてしまう。
歌を歌わせるときは、文字などのテキストに記述する文字単位（音節、モーラなど）でのピッチ変化の中で、ピッチが一定の区間やビブラート区間などのそもそもその文字を歌う音程のところでの音階を出力し、それからのピッチの差分をピッチを上げ下げする記号で表現すれば、上記のような不自然さをなくすことができる。図１０の場合には、（２）のタイミングあたりのピッチ（Ｓ２）の音階をこのセグメントの基準とすることにより、よい結果を得ることができる。
【０００５】
そこで、本発明は、少ないデータ量で高品質の音声合成を可能とする音声合成用スクリプトを生成することができる音声合成用スクリプト生成装置並びに音声合成用スクリプト生成プログラム、及び、該音声合成用スクリプトに基づいて音声を合成することができる音声合成装置並びに音声合成プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の音声合成用スクリプト生成装置及び音声合成用スクリプト生成プログラムは、合成しようとする音声のピッチ遷移情報をみて、なるべくピッチが一定である区間又はビブラートのかかっている区間である基準ピッチ区間を検出し、該基準ピッチ区間における平均ピッチなどの基準ピッチを決定し、前記ピッチ遷移情報を前記基準ピッチに対する相対変化で表現する音声合成用スクリプトを生成することを主要な特徴としている。
また、本発明の音声合成装置及び音声合成プログラムは、ピッチ遷移情報を基準ピッチに対する相対変化で表現する音声合成用スクリプトを入力し、該入力された音声合成用スクリプトからピッチ遷移情報を生成して、該ピッチ遷移情報を用いて音声を合成することを主要な特徴としている。
【発明の効果】
【０００７】
本発明の音声合成用スクリプト生成装置又は音声合成用スクリプト生成プログラムによれば、少ないデータ量で高品質の音声合成を可能とする音声合成用スクリプトを生成することができる。
また、本発明の音声合成装置又は音声合成プログラムによれば、前記音声合成用スクリプト生成装置又は音声合成用スクリプト生成プログラムにより生成されたスクリプトに基づいて高品質の音声合成を行うことができる。
特に、基準ピッチ区間の基準ピッチからの相対変化でピッチ遷移情報を表現しているため、ピッチ変化が重要な意味を持つ歌唱合成において、有用である。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の音声合成用スクリプト生成装置の一実施の形態の構成を示す機能ブロック図である。
この図において、１は入力データ、２は入力データのピッチがあるしきい値内の値を取り続けるピッチ一定区間を検出するピッチ一定区間検出部、３はピッチが振動するビブラート区間を検出するビブラート区間検出部、４は前記ピッチ一定区間検出部２及び前記ビブラート区間検出部３からの出力に基づいて入力データの基準ピッチの最寄りの音階情報（音名）を出力する音階抽出部、５は前記入力データ及び前記音階抽出部４からの出力に基づいて音声合成用スクリプトを作成する合成用スクリプト作成部である。
ここで、本発明における音声合成用スクリプトは、例えば、発話長が例えば長音記号「−」の数に応じて変更でき、各長音記号ごとに高低アクセント記号を記述することで、その長音記号のタイミングで高低アクセント記号によるピッチ変化を行い、さらに、高低アクセント記号による変化レベルが高低アクセント記号の直後に数値を記述することで実現することができるものとされている。
なお、前記各構成要素は、それぞれ個別の処理部として実現することもできるが、コンピュータにおけるプログラム処理により実現することもできる。
【０００９】
前記入力データ１は、実際の発話を分析したり、直接入力するなどされた、合成する文字列（モーラ情報）、各モーラが発話されるタイミングのセグメント情報（発話長情報、ある音素区間の発声開始時間と発声終了時間）、ピッチ遷移情報（ピッチ列）及び音量遷移情報（音量列）などである。なお、音量遷移情報は含まれていなくてもよい。
図２は、このような入力データ１を音声分析により得るための構成の一例を示す図である。この構成は、コンピュータプログラムによっても実現することができる。
この図において、１１は発話内容を書き起こした入力音素記号列（かな、アルファベットなど）と音声波形が入力され、セグメンテーションを行って、各モーラが音声波形の中で発話される区間（セグメント位置）を求め、文字列（かな、アルファベットなど）と該セグメント位置を出力するセグメンテーション部である。なお、セグメンテーション部ではなく、音声認識部を用いる場合には、前記入力音素記号列を入力することなく、文字列とセグメント位置を得ることができる。
また、１２は入力される前記音声波形に対してゼロクロス区間測定などの方法を用いてピッチを求め、時系列のピッチ変化を表したピッチ列を出力するピッチ検出部である。
１３は入力音声波形の一定区間の平均エネルギーを求めるなどの方法で音量の時系列の変化を表した音量列を出力する音量検出部である。
このように実際の音声波形を分析することにより、前記入力データ１を得ることができる。
【００１０】
図３は、前記入力データ１の一例を示す図である。
ここでは、（ａ）に示すようなピッチの変化と発話長で「あさ」と発音する際に、得られる入力データの例を（ｂ）に示している。
この図に示すように、各文字（モーラ）に対するセグメント情報（発声開始位置、発声終了位置）と各文字（モーラ）が持つ単位時間当たりのピッチ変化列（例えば、１０msecごとのピッチ値の列）がセットになっている。
【００１１】
このような入力データ１は、前記ピッチ一定区間検出部２、ビブラート区間検出部３及び音階抽出部４からなる音階抽出処理部に入力される。この音階抽出処理部では、各音節（モーラ）単位のピッチ情報より、あるしきい値内の値を取り続けるピッチ一定区間又は同じピッチを何度もクロスするビブラート区間を検出し、ピッチ一定区間又はビブラート区間のうち長い方の区間を基準ピッチ区間として、その基準ピッチ区間における平均ピッチの最寄りの音名を音階情報として出力する。また、ピッチ一定区間もビブラート区間も検出されないときには、ピッチ情報の平均値の最寄りの音名を音階情報として出力する。
【００１２】
図４を参照して、前記ピッチ一定区間と前記ビブラート区間について説明する。
図４の（ａ）はピッチ一定区間を示す図であり、図示するように、ピッチの変動が所定のしきい値（一定区間判別しきい値）以内である区間がピッチ一定区間である。
また、図４の（ｂ）に示すように、ピッチが同じピッチを何度もクロスする区間（ピッチが振動している区間）がビブラート区間である。
前記入力データ中のピッチ列から、前記ピッチ一定区間検出部２は図４の（ａ）に示すピッチ一定区間を検出し、前記ビブラート区間検出部３は図４の（ｂ）に示すビブラート区間を検出する。
【００１３】
図５は、前記ピッチ一定区間検出部２において実行されるピッチ一定区間検出処理の流れを示すフローチャートである。
まず、最大一定区間長（MaxLeglen）及び最大一定区間開始位置（MaxLegStartPos）を初期値「０」に設定する（ステップＳ１）。なお、一定区間判別しきい値（Δ）、一定区間であると認める最低限の長さ（MinimumLegLen）は、それぞれ所定の値に設定されており、各モーラに対する発声開始位置から発声終了位置の区間の時間長であるセグメント区間長（SegmentLen）は前記入力データ１により得られている。
次に、検索開始点（StartPos）を「０」とする（ステップＳ２）。
そして、検索開始点に最大一定区間長を加えた値（StartPos+MaxLeglen）がセグメント区間長（SegmentLen）より小さいか否かを判定し（ステップＳ３）、小さい場合には、検索点ｉを検索開始点＋１（StartPos+1）として（ステップＳ４）、検索点ｉにおけるピッチ（Pitch[i]）と検索開始点のピッチ（Pitch[StartPos]）との差がΔより大きいか否かを判定する（ステップＳ５）。その結果Δよりも大きいときは、検索開始点からｉまでの距離（i-StartPos）が最大一定区間長（MaxLeglen）よりも大きいか否かを判定し（ステップＳ６）、大きいときは（i-StartPos）を新たな最大一定区間長（MaxLeglen）、その検索開始点（StartPos）を最大一定区間開始位置（MaxLegStartPos）として（ステップＳ７）、また、（i-StartPos）が最大一定区間長（MaxLeglen）以下のときはそのまま、検査開始点（StartPos）を（StartPos+1）に更新する（ステップＳ８）。そして、前記ステップＳ３に戻る。
【００１４】
一方、前記ステップＳ５において、検索点ｉにおけるピッチ（Pitch[i]）と検索開始点（StartPos）のピッチ（Pitch[StartPos]）との差がΔ以下であるときは、ｉを（ｉ＋１）に更新して検索点を進め（ステップＳ９）、ｉがセグメント区間長（SegmentLen）以下（ステップＳ１０がＮＯ）のときは、前記ステップＳ５に戻る。
また、ｉがセグメント区間長（SegmentLen）を超えた（ステップＳ１０がＹＥＳ）ときは、ｉと検索開始点との間の距離（i-StartPos）が最大一定区間長（MaxLeglen）より大きいか否かを判定する（ステップＳ１１）。その結果、最大一定区間長よりも大きいときは（i-StartPos）を新たな最大一定区間長（MaxLeglen）、検索開始点（StartPos）を最大一定区間開始位置（MaxLegStartPos）として（ステップＳ１２）、そうでないときはそのまま、ステップＳ１３に進み、最大一定区間長（MaxLeglen）が一定区間であると認める最低限の長さ（MinimumLegLen）を超えているか否かを判定する。最大一定区間長（MaxLeglen）が最低限の長さ（MinimumLegLen）を超えているときは、最大一定区間開始位置（MaxLegStartPos）から（MaxLegStartPos+MaxLeglen）までの区間を一定区間と決定し（ステップＳ１４）、最低限の長さ（MinimumLegLen）以下のときは「一定区間なし」とする（ステップＳ１５）。
このようにして、前記ピッチ一定区間検出部２は、ピッチの変動が所定のしきい値（Δ）以下である区間のうちの最も長い区間をピッチ一定区間と決定する。
【００１５】
図６は、前記ビブラート区間検出部３において実行されるビブラート区間検出処理の流れを示すフローチャートである。
まず、最大ビブラート区間長（MaxVibLen）と最大ビブラート区間開始位置（MaxVibStartPos）をともに初期値「０」に設定し（ステップＳ２１）、検索開始点（StartPos）を「０」に設定する（ステップＳ２２）。なお、ビブラート区間であると認める最低限の長さ（MinimumVibLen）はあらかじめ所定の値に設定されており、セグメント区間長（SegmentLen）は入力データ１より得られている。
次に、検索開始点に最大ビブラート区間長を加えた値（StartPos+MaxViblen）がセグメント区間長（SegmentLen）よりも小さいか否かを判定し（ステップＳ２３）、小さい場合には、検索点ｉを検索開始点＋１（StartPos+1）として（ステップＳ２４）、ステップＳ２５のクロスポイントの判定に進む。
【００１６】
ステップＳ２５では、検索点ｉのピッチ（Pitch[i]）が検索開始点のピッチ（Pitch[StartPos]）以上で、かつ、その次の検索点（ｉ＋１）のピッチ（Pitch[i+1]）が検索開始点のピッチ（Pitch[StartPos]）以下であるか、あるいは、逆に、検索点ｉのピッチ（Pitch[i]）が検索開始点のピッチ（Pitch[StartPos]）以下で、かつ、その次の検索点（ｉ＋１）のピッチ（Pitch[i+1]）が検索開始点のピッチ（Pitch[StartPos]）以上であるときには、その検索点ｉをクロスポイントであると判定する。
その検索点ｉがクロスポイントである場合には、検索開始点（StartPos）から検索点ｉまでの長さ（i-StartPos）が最大ビブラート区間長（MaxViblen）より大きいか否かを判定し（ステップＳ２６）、大きいときは、その検索開始点から検索点ｉまでの長さ（i-StartPos）を新たな最大ビブラート区間長（MaxViblen）とし、その検索開始点（StartPos）を最大ビブラート区間開始位置（MaxVibStartPos）とする（ステップＳ２７）。そして、ｉをｉ＋１として検索点を進める（ステップＳ２８）。
また、前記ステップＳ２５でクロスポイントでないと判定されたとき、及び、前記ステップＳ２６で最大ビブラート区間長以下であると判定されたときは、そのまま、検索点を進める（ステップＳ２８）。
【００１７】
検索点の位置ｉがセグメント区間長（SegmentLen）を超えるまで、前記ステップＳ２５（クロスポイントの判定）以降の処理を繰り返し（ステップＳ２９）、セグメント区間長を超えたときには、前記検索開始点（StartPos）を１進めて（ステップＳ３０）、前記ステップＳ２３に戻り、検索開始点と最大ビブラート区間長の和（StartPos+MaxViblen）がセグメント区間長より小さい間は、上記ステップＳ２４以降の処理を繰り返す。
そして、検索開始点と最大ビブラート区間長の和がセグメント区間長以上となったときは（ステップＳ２３がＹＥＳ）、ステップＳ３１に進み、得られた最大ビブラート区間長（MaxViblen）がビブラート区間であると認める最低限の長さ（MinimumVibLen）より大きいか否かを判定し、大きいときは、最大ビブラート区間開始位置（MaxVibStartPos）から最大ビブラート区間開始位置＋最大ビブラート区間長（MaxVibStartPos+MaxViblen）までの区間をビブラート区間であると決定し（ステップＳ３２）、そうでないときはビブラート区間なしと決定する（ステップＳ３３）。
このようにして、前記ビブラート区間検出部３は、ビブラート区間を検出する。
【００１８】
前述のように、前記音階抽出部４は、前記ピッチ一定区間検出部２により検出されたピッチ一定区間と前記ビブラート区間検出部３により検出されたビブラート区間のうちの長いほうの区間を基準ピッチ区間と決定し、その基準ピッチ区間における平均ピッチを基準ピッチとして該基準ピッチに最も近い周波数を有する音名を音階情報として出力する。また、前記ピッチ一定区間又は前記ビブラート区間がいずれも検出されなかったときは、そのセグメント区間における平均ピッチに最も近い周波数を有する音名を出力する。
なお、前記基準ピッチは、基準ピッチ区間の平均ピッチに限られることはなく、基準ピッチ区間における最も低いピッチや最も高いピッチなどを基準ピッチとしてもよい。
【００１９】
前記合成用スクリプト作成部５は、前記入力データ１として入力された文字（モーラ）列、セグメント位置、ピッチ列及び音量列の各データと、前記音階抽出部４で抽出された音階情報を元に、対応する音声合成システムにあった音声合成用スクリプトを作成する。
前述のように、本発明における音声合成用スクリプトは、音の高さを表す音階情報、発話長を表す記号及びピッチの上げ下げを表す高低アクセント記号を含んでいる。
発話長を表す記号は、例えば、「−」（長音記号）であり、この記号により所定単位の発話長を表す。
図７は、高低アクセント記号の一例を示す図である。この図において、（ａ）はピッチの上げを表す記号「’」（アポストロフィ）、（ｂ）はピッチの下げを表す記号「＿」（アンダースコア）、（ｃ）はピッチの下げシフトを表す記号「＄」（ドル記号）である。
図７に示す例では、「’」により所定の時間単位Ｔ０（例えば、「−」による発話長の単位と同じ時間単位）においてピッチが所定値（Ｐ０）上昇することを表し、「＿」によりピッチが所定値（Ｐ０）下降することを表し、「＄」によりピッチが所定値（Ｐ０）だけ下方にシフトすることを表すことができる。なお、この変化レベル（Ｐ０）は、基準ピッチに対する変化量である。
【００２０】
このような高低アクセント記号とそれに対応するピッチの相対変化の対応を表す高低アクセント記号・ピッチ変換テーブルを記憶しておき、このテーブルを参照することにより、高低アクセント記号によるピッチの相対変化の態様を選択することもできる。例えば、前記図７の（ａ）〜（ｃ）における所定の時間単位Ｔ０におけるピッチの変化レベル（Ｐ０）の大きさが異なるものや、前記図７の（ａ）や（ｂ）のように直線的にピッチが変更されるのではなく、曲線的に変更されるものなど各種のピッチ変化に対応した複数のデータを記憶しておき、これを選択して使用することができる。
【００２１】
図８は、前記合成用スクリプト作成部５により作成される音声合成用スクリプトの一例を示す図である。この図において、（ａ）はピッチ列の例、（ｂ）は該ピッチ列に対応する音声合成用スクリプトを示す。
図８の（ａ）の実線に示すようなピッチ列をもつ「あ」という文字（モーラ）が入力された場合、ピッチの後半部分がビブラート区間であるとみなされ、その区間の平均ピッチから音階情報が「Ｄ＃４」と決定される。
そして、前記合成用スクリプト作成部５において使用する高低アクセント記号・ピッチ変換テーブルを決定すると、１つの長音記号での発話長（Ｔ０）と１つのアクセント記号でのピッチの変化レベル（Ｐ０）が決定される。
そこで、まず、図８の（ａ）に実線で示すこの発音単位における最初の（ｔ０における）ピッチの値と前記音階情報（この場合は、Ｄ＃４）との前記ピッチの変化レベルを単位とする差（この場合は、−２×Ｐ０）を検出し、ピッチを音階情報から２×Ｐ０だけ下方にシフトさせるアクセント記号「＄２」を決定する。次に、前記発話長時間（Ｔ０）経過後の入力ピッチに最も近いピッチの変化量（Ｐ０）を単位とする値を決定し、それに対応する高低アクセント記号を決定する処理を繰り返す。図８の（ａ）において、時刻ｔ１からｔ２の間にピッチが２×Ｐ０だけ上昇しているため、これを表すアクセント記号「’２」と長音記号「−」が決定される。次に、時刻ｔ２からｔ３にかけてのピッチの変化量を検出すると、Ｐ０の上昇であるため、「’−」が決定され、時刻ｔ３からｔ４にかけては２×Ｐ０だけ下がっているため、「＿２−」というアクセント記号が決定される。以下同様にして、図８の（ｂ）に示す音声合成用スクリプトが作成される。なお、スクリプトの先頭部分には、その音階情報（Ｄ＃４）が記述される。
このようにして、図８の（ａ）に実線で示したピッチの変化を破線のように表すことができる。
なお、音量列（音量遷移情報）も入力されている場合には、該音量列についても、音量の上げ下げを表す記号（例えば、「＞」，「＜」など）を用いて、上述したピッチ列の場合と同様に、音量の遷移を記号で表すことができる。
【００２２】
次に、このようにして作成された音声合成用スクリプトにより音声を合成する音声合成装置について、図９を参照して説明する。なお、この音源合成装置も、コンピュータにおけるプログラム処理により実現することができる。
図９において、入力された音声合成用スクリプトは、スクリプト解析部２１で解析され、モーラ（文字）情報と、ピッチ情報（音階、高低アクセント記号）、音量情報に分けられる。
音韻データ作成部２２では、モーラ情報からそれにあった音韻データ（例えば、「あ」のフォルマント情報や波形データ）を音韻データベース２３から取り出す。
ピッチ列生成部２４では、前記音声合成用スクリプト生成装置において用いられたものと同じ高低アクセント記号・ピッチ変換テーブル２５を用いて、その音階の高さに、高低アクセント記号に応じたピッチ変化を順次適用して、ピッチ列（ピッチ遷移情報）を生成する。また、音量情報についても、同様に音量列生成部２６で音量列（音量遷移情報）を生成する。
音声合成部２７では、前記音韻データベース２３から取り出した音韻データに対してピッチ列と音量列を元にピッチと音量を付けて音声を出力する。
ここで、合成方式は、一般的なフォルマント合成や波形合成など、ピッチと音量がつけられる方式であるならば、どの方式であってもよい。
【００２３】
なお、上記における高低アクセント記号は上述したものに限られることはなく、スクリプトの文法として規定された記号であれば何でもよい。
また、上記においては、基準ピッチを音名（音階情報）で表していたが、これに限られることはなく、ピッチ周波数そのものなど他の方法で表現してもよい。
【図面の簡単な説明】
【００２４】
【図１】本発明の音声合成用スクリプト生成装置の一実施の形態の構成を示す機能ブロック図である。
【図２】入力データを音声分析により得るための構成の一例を示す図である。
【図３】入力データの一例を示す図である。
【図４】ピッチ一定区間とビブラート区間について説明するための図であり、（ａ）はピッチ一定区間を示し、（ｂ）はビブラート区間を示す図である。
【図５】ピッチ一定区間検出処理の流れを示すフローチャートである。
【図６】ビブラート区間検出処理の流れを示すフローチャートである。
【図７】高低アクセント記号の一例を示す図であり、（ａ）はピッチの上げを示す記号、（ｂ）はピッチの下げを示す記号、（ｃ）はピッチのシフトを示す記号の例を示す図である。
【図８】音声合成用スクリプトの一例を示す図であり、（ａ）はピッチ列、（ｂ）は該ピッチ列に対応する音声合成用スクリプトを示す図である。
【図９】作成された音声合成用スクリプトにより音声を合成する音声合成装置の構成を示すブロック図である。
【図１０】歌声におけるピッチの一例を示す図である。
【符号の説明】
【００２５】
１：入力データ、２：ピッチ一定区間検出部、３：ビブラート区間検出部、４：音階抽出部、５：合成用スクリプト作成部、１１：セグメンテーション部、１２：ピッチ検出部、１３：音量検出部、２１：スクリプト解析部、２２：音韻データ作成部、２３：音韻データベース、２４：ピッチ列生成部、２５：高低アクセント記号・ピッチ変換テーブル、２６：音量列生成部
【図１】
2006030610.tif 000003
【図２】
2006030610.tif 000004
【図３】
2006030610.tif 000005
【図４】
2006030610.tif 000006
【図５】
2006030610.tif 000007
【図６】
2006030610.tif 000008
【図７】
2006030610.tif 000009
【図８】
2006030610.tif 000010
【図９】
2006030610.tif 000011
【図１０】
2006030610.tif 000012