(57)【特許請求の範囲】
【請求項１】
複数の文字によって構成された文字列を取得する文字列取得手段と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、
時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、
表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、
前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、
単語を発音するときの発音時間に対する、当該単語を構成する各文字の発音時間の長さ又は当該単語を構成する各文字の発音時間の比を、複数の単語について記憶する発音長辞書記憶手段とを備え、
前記割り当て手段は、前記文字列の全体を発音するときの音長であって利用者が指定した文字列音長と、当該文字列を構成する各文字について前記発音長辞書記憶手段に記憶されている前記発音時間の長さ又は前記発音時間の比とに基づいて、前記各文字に音長を割り当てる
ことを特徴とする音声合成装置。
【請求項２】
複数の文字によって構成された文字列を取得する文字列取得手段と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、
時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、
表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、
前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、
前記文字列を構成する各文字に音高又は音長を割り当てるときの指標を前記表示手段に表示させる指標表示手段とを備え、
前記割り当て手段は、前記指標表示手段によって表示されている指標に従って、前記図形において前記文字列を構成する各文字に対応する位置の座標値を補正し、当該補正後の座標値に基づき、前記各文字に音高及び音長を割り当てる
ことを特徴とする音声合成装置。
【請求項３】
複数の文字によって構成された文字列を取得する文字列取得手段と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、
時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、
表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、
前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、
複数の図形の形状の各々に対応付けて、文字が発音される際に適用される音響効果を記憶した音響効果記憶手段とを備え、
前記図形表示手段は、前記表示手段に表示されている図形に対して重ね合わせられた図形が利用者によって指定されると、当該重ね合わせられた図形を前記表示手段に表示させ、
前記割り当て手段は、前記音響効果記憶手段に記憶されている複数の図形の形状のうち、前記重ね合わせられた図形との類似度が閾値を超える図形の形状を特定し、特定した図形の形状に対応付けられて記憶されている音響効果を、当該重ね合わせられた図形の座標値に対応する位置に表示されている前記文字に割り当てる
ことを特徴とする音声合成装置。
【請求項４】
コンピュータに、
複数の文字によって構成された文字列を取得する文字列取得機能と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、
音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、
表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、
前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、
単語を発音するときの発音時間に対する、当該単語を構成する各文字の発音時間の長さ又は当該単語を構成する各文字の発音時間の比を、複数の単語について記憶する発音長辞書記憶機能と
を実現させるためのプログラムであって、
前記割り当て機能においては、前記文字列の全体を発音するときの音長であって利用者が指定した文字列音長と、当該文字列を構成する各文字について前記発音長辞書記憶機能によって記憶されている前記発音時間の長さ又は前記発音時間の比とに基づいて、前記各文字に音長が割り当てられる
ことを特徴とするプログラム。
【請求項５】
コンピュータに、
複数の文字によって構成された文字列を取得する文字列取得機能と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、
音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、
表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、
前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、
前記文字列を構成する各文字に音高又は音長を割り当てるときの指標を前記表示手段に表示させる指標表示機能と
を実現させるためのプログラムであって、
前記割り当て機能においては、前記指標表示機能によって表示されている指標に従って、前記図形において前記文字列を構成する各文字に対応する位置の座標値が補正され、当該補正後の座標値に基づき、前記各文字に音高及び音長が割り当てられる
ことを特徴とするプログラム。
【請求項６】
コンピュータに、
複数の文字によって構成された文字列を取得する文字列取得機能と、
取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、
音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、
表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、
前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、
複数の図形の形状の各々に対応付けて、文字が発音される際に適用される音響効果を記憶する音響効果記憶機能と、
を実現させるためのプログラムであって、
前記図形表示機能においては、前記表示手段に表示されている図形に対して重ね合わせられた図形が利用者によって指定されると、当該重ね合わせられた図形が前記表示手段に表示され、
前記割り当て機能においては、前記音響効果記憶機能によって記憶されている複数の図形の形状のうち、前記重ね合わせられた図形との類似度が閾値を超える図形の形状が特定され、特定された図形の形状に対応付けられて記憶されている音響効果が、当該重ね合わせられた図形の座標値に対応する位置に表示されている前記文字に割り当てられる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成装置及びプログラムに関する。
【背景技術】
【０００２】
複数の音の音高および音長（以下「音符列」という）がデータとして入力された場合に、マウスやキーボードの操作に応じて、入力された音符列に対して、音程の連続変化やビブラート等の音響効果を反映させる技術が知られている（例えば特許文献１〜４）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１４３１５５号公報
【特許文献２】特許３７８１１６７号公報
【特許文献３】特許３６２０４０５号公報
【特許文献４】特開２００２−３７２９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、歌は、歌詞という文字列と上述した音符列とが対応付けられたものであるが、上記特許文献１〜４に記載の技術は、音符列のみを処理の対象としたものであって、歌詞という文字列と音符列との関係を考慮した技術ではない。
本発明は、文字列に対して音符列の割り当てを容易に行える技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、複数の文字によって構成された文字列を取得する文字列取得手段と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、単語を発音するときの発音時間に対する、当該単語を構成する各文字の発音時間の長さ又は当該単語を構成する各文字の発音時間の比を、複数の単語について記憶する発音長辞書記憶手段とを備え、前記割り当て手段は、前記文字列の全体を発音するときの音長であって利用者が指定した文字列音長と、当該文字列を構成する各文字について前記発音長辞書記憶手段に記憶されている前記発音時間の長さ又は前記発音時間の比とに基づいて、前記各文字に音長を割り当てることを特徴とする音声合成装置を提供する。
【０００７】
また、本発明は、複数の文字によって構成された文字列を取得する文字列取得手段と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、前記文字列を構成する各文字に音高又は音長を割り当てるときの指標を前記表示手段に表示させる指標表示手段とを備え、前記割り当て手段は、前記指標表示手段によって表示されている指標に従って、前記図形において前記文字列を構成する各文字に対応する位置の座標値を補正し、当該補正後の座標値に基づき、前記各文字に音高及び音長を割り当てることを特徴とする音声合成装置を提供する。
【０００８】
また、本発明は、複数の文字によって構成された文字列を取得する文字列取得手段と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示手段と、時間を表す第１軸および音高を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示手段と、表示されている前記図形において、表示されている前記文字列を構成する各文字に対応する位置の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段と、前記文字列を構成する各文字を前記割り当て手段によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成手段と、複数の図形の形状の各々に対応付けて、文字が発音される際に適用される音響効果を記憶した音響効果記憶手段とを備え、前記図形表示手段は、前記表示手段に表示されている図形に対して重ね合わせられた図形が利用者によって指定されると、当該重ね合わせられた図形を前記表示手段に表示させ、前記割り当て手段は、前記音響効果記憶手段に記憶されている複数の図形の形状のうち、前記重ね合わせられた図形との類似度が閾値を超える図形の形状を特定し、特定した図形の形状に対応付けられて記憶されている音響効果を、当該重ね合わせられた図形の座標値に対応する位置に表示されている前記文字に割り当てることを特徴とする音声合成装置を提供する。
【０００９】
また、本発明は、コンピュータに、複数の文字によって構成された文字列を取得する文字列取得機能と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、単語を発音するときの発音時間に対する、当該単語を構成する各文字の発音時間の長さ又は当該単語を構成する各文字の発音時間の比を、複数の単語について記憶する発音長辞書記憶機能とを実現させるためのプログラムであって、前記割り当て機能においては、前記文字列の全体を発音するときの音長であって利用者が指定した文字列音長と、当該文字列を構成する各文字について前記発音長辞書記憶機能によって記憶されている前記発音時間の長さ又は前記発音時間の比とに基づいて、前記各文字に音長が割り当てられることを特徴とするプログラムを提供する。
さらに、本発明は、コンピュータに、複数の文字によって構成された文字列を取得する文字列取得機能と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、前記文字列を構成する各文字に音高又は音長を割り当てるときの指標を前記表示手段に表示させる指標表示機能とを実現させるためのプログラムであって、前記割り当て機能においては、前記指標表示機能によって表示されている指標に従って、前記図形において前記文字列を構成する各文字に対応する位置の座標値が補正され、当該補正後の座標値に基づき、前記各文字に音高及び音長が割り当てられることを特徴とするプログラムを提供する。
さらに、本発明は、コンピュータに、複数の文字によって構成された文字列を取得する文字列取得機能と、取得された前記文字列を構成する各文字を表示手段に表示させる文字列表示機能と、音高を表す第１軸および時間を表す第２軸を有する座標系における図形が利用者によって指定されると、当該図形を、前記文字列を構成する各文字に対応付けた状態で前記表示手段に表示させる図形表示機能と、表示されている前記文字列を構成する各文字に対応する前記図形の座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て機能と、前記文字列を構成する各文字を前記割り当て機能によって割り当てられた音高及び音長で発音させる音声データを合成する音声合成機能と、複数の図形の形状の各々に対応付けて、文字が発音される際に適用される音響効果を記憶する音響効果記憶機能と、を実現させるためのプログラムであって、前記図形表示機能においては、前記表示手段に表示されている図形に対して重ね合わせられた図形が利用者によって指定されると、当該重ね合わせられた図形が前記表示手段に表示され、前記割り当て機能においては、前記音響効果記憶機能によって記憶されている複数の図形の形状のうち、前記重ね合わせられた図形との類似度が閾値を超える図形の形状が特定され、特定された図形の形状に対応付けられて記憶されている音響効果が、当該重ね合わせられた図形の座標値に対応する位置に表示されている前記文字に割り当てられることを特徴とするプログラムを提供する。
【発明の効果】
【００１０】
本発明によれば、文字列に対して音符列の割り当てを容易に行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る音声合成装置のハードウェア構成を表すブロック図
【図２】発音辞書ＤＢの内容を表す図
【図３】最短発音時間ＤＢの内容を表す図
【図４】音声ＤＢの内容を表す図
【図５】音響効果ＤＢの内容を表す図
【図６】音声合成装置の機能構成を表すブロック図
【図７】音声合成装置の外観及び表示内容を表す図
【図８】音声合成装置の処理フロー図
【図９】軌跡分析処理及び文字間隔制御処理を説明するための模式図
【図１０】音声合成処理を説明するための模式図
【図１１】音声合成処理を説明するための模式図
【図１２】音声合成処理を説明するための模式図
【図１３】音声ＤＢの内容を表す図
【図１４】変形例１０を説明するための模式図
【図１５】音高に対する補正機能を説明する模式図
【図１６】音長に対する補正機能を説明する模式図
【図１７】初期値発音辞書ＤＢの内容を表す図
【図１８】変形例１３に係る、音声合成装置の表示内容を表す図
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について説明する。
＜実施形態＞
＜構成＞
図１は、本発明の実施形態に係る音声合成装置１００のハードウェア構成を表すブロック図である。この音声合成装置１００は、制御部１０、記憶部２０、ＵＩ（User Interface）部３０、及び音声出力部４０を備えており、各部がバスを介して接続されている。音声合成装置１００は、文字列と、音符列を含む発音に関する情報である音声情報とに基づいて音声データを合成し、この合成された音声データに基づく音声を出力する装置である。本実施形態においては、音声合成装置１００はスマートフォンである。制御部１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有する。ＣＰＵは、ＲＯＭや記憶部２０に記憶されている制御プログラムを読み出して、ＲＡＭにロードして実行することにより、音声合成装置１００の各部をバス経由で制御する。また、ＲＡＭは、ＣＰＵがデータの加工などを行う際のワークエリアとして機能する。
【００１３】
記憶部２０は、コンピュータを音声合成装置として機能させるためのアプリケーションプログラム（以下このプログラムを「音声合成アプリケーション」という）を記憶している。制御部１０がこの音声合成アプリケーションを実行することにより、音声合成装置１００に、後述する図６に示される機能が実現される。また、記憶部２０は、発音辞書ＤＢ（Database）２１、最短発音時間ＤＢ２２、音声ＤＢ２３、及び音響効果ＤＢ２４を備える。発音辞書ＤＢ２１は、利用者によって入力された文字列に発音時間が割り当てられる際の基準となるデータである、複数の発音レコードからなる。最短発音時間ＤＢ２２は、「あ」や「い」といった一文字毎に、その文字が発音される場合に最低限必要とされる時間の長さを割り当てたものである、複数の最短発音時間レコードからなる。
【００１４】
音声ＤＢ２３は、利用者による入力内容に従って合成される音声に関するデータである、複数の音声レコードからなる。この音声レコードは、利用者が入力した文字列（入力文字列という）に対して、この文字列を構成する１文字毎に音符列と音響効果とを対応付けたものである。この音声レコードは、利用者による入力内容に従って生成され、音声ＤＢ２３に登録される。音響効果ＤＢ２４は、予め決められた図形の形状（音響効果図形という）と音響効果の種類とを対応付けた、複数の音響効果レコードからなる。例えば、或る一定範囲の間隔でピーク値をとる波形の図形に対しては、ビブラートという音響効果が対応付けられている、といった具合である。
【００１５】
図２は、発音辞書ＤＢ２１の内容を表す図である。発音辞書ＤＢ２１に含まれる各発音レコードは、識別ＩＤ、文字列、文字数、及び基準割り当て音長といった複数の項目からなる。識別ＩＤは、各発音レコードを一意に識別するためのＩＤであり、例えば６桁の数字からなる。文字列は、発音の対象となる単語として予め決められたものである。文字数は、文字列を構成する文字の数である。基準割り当て音長は、文字列を構成する各文字についてその文字列の先頭の文字から順番に割り当てられた発音時間の長さである。基準割り当て音長においては、該当する文字列が自然な抑揚で発音された場合に掛かる時間の長さに基づいて、各文字における音長が予め決定されている。例えば識別ＩＤが「０００００１」である発音レコードは、「おはよう」という「４つ」の文字数からなる文字列について、「お」、「は」、及び「よ」という文字についてはそれぞれ「０．２秒」ずつ発音がなされ、「う」という文字については「０．１秒」発音がなされることを表している。これらの０．２秒とか０．１秒という数値は、文字列を構成する各文字の発音時間の比を意味しているから、発音辞書ＤＢ２１は、単語を発音するときの発音時間に対する、当該単語を構成する各文字の発音時間の比を、複数の単語について記憶する発音辞書記憶手段の一例である。
【００１６】
図３は、最短発音時間ＤＢ２２の内容を表す図である。最短発音時間ＤＢ２２に含まれる各最短発音時間レコードは、識別ＩＤ、文字、及び最短発音時間といった複数の項目からなる。識別ＩＤは、各最短発音時間レコードを一意に識別するためのＩＤであり、例えば４桁の数字からなる。文字は、例えば平仮名であれば「あ」から「ん」までの文字である。ここで、文字は、平仮名に限らず、漢字、数字あるいはアルファベット等であってもよい。最短発音時間は、該当する文字が発音される場合に最低限必要とされる時間の長さであり、例えば実験的にその文字を聞き取ることが可能とされた最短時間に基づいて予め決定されている。例えば図３において、「あ」という文字は、少なくとも「０．０５秒」の発音時間が必要とされることを表している。この最短発音時間ＤＢ２２は、文字が発音されるときの最短の音長を複数の文字について記憶する最短発音時間記憶手段である。なお、文字によっては（例えば母音である「あ」、「い」、「う」、「え」及び「お」や、撥音である「ん」）、最短発音時間ＤＢ２２に最短発音時間レコードが登録されていなくともよい。
【００１７】
図４は音声ＤＢ２３の内容を表す図である。音声ＤＢ２３に含まれる音声レコードは、文字順ＩＤ、入力文字、音高、音長、及び音響効果といった複数の項目からなる。文字順ＩＤは、各音声レコードを一意に識別し、且つ各入力文字の並び順を表すためのＩＤであり、例えば４桁の数字からなる。入力文字は、利用者によって歌詞として入力された文字列を構成する各文字である。音高は、文字が発音される際の音の高さであり、周波数により表される。音長は、文字が発音される際に掛かる時間を表す。音響効果は、文字に適用される音響効果の種類を表す。以降において、文字に対して音響効果が適用されることを、その音響効果が“かかった”状態であるという場合がある。例えば図４に示される音声レコードに対応する文字列が発音される際には、文字順ＩＤに従って、「こ」、「ん」、「に」、「ち」、「は」の順番で発音がなされる。図４において、例えば「こ」という文字は、「４０６Ｈｚ」の音高で「０．３秒」の間、「ビブラート」のかかった状態で発音がなされることを表している。なお、図４では、「こんにちは」という文字列についての音声レコードしか図示していないが、実際には、この「こんにちは」以外の全ての文字列に含まれる各文字についての音声レコードがこの音声ＤＢ２３に含まれている。
【００１８】
図５は音響効果ＤＢ２４の内容を表す図である。
音響効果ＤＢ２４に含まれる音響効果レコードは、識別ＩＤ、音響効果図形、音響効果といった複数の項目からなる。識別ＩＤは各音響効果レコードを一意に識別する数字であり、例えば３桁の数字からなる。音響効果図形は、図形の形状を表すデータであり、音響効果レコード毎にその形状が異なっている。音響効果は、発音の際に文字にかけられる音響効果の種類である。例えば、図５に示されるように、識別ＩＤが「００１」であって、音響効果図形が或る一定範囲の間隔でピーク値をとる波型の図形である音響効果レコードには、「ビブラート」の音響効果が対応付けられている。音響効果ＤＢ２４は、複数の図形の形状の各々に対応付けて、文字が発音される際に適用される音響効果とを対応付けて記憶した音響効果記憶手段である。
【００１９】
再び図１に戻る。ＵＩ部３０は、ボタン（非図示）及びタッチスクリーン３１を備える。利用者が、ボタンあるいはタッチスクリーン３１を操作すると、ＵＩ部３０はその操作に応じた信号を制御部１０に供給する。制御部１０は、受け取った信号に基づいて音声合成装置１００の全体を制御する。タッチスクリーン３１は、表示装置の画面上に光透過性のタッチセンサが積層された構造を有している。利用者は、表示装置に表示されている画像を見ながら、タッチスクリーン３１に指を触れたりタッチスクリーン３１上を指でなぞったりするなどの操作を行うことにより、音声合成装置１００に対して指示を入力する。
【００２０】
音声出力部４０は、ＤＡＣ（Digital Analog Converter）、アンプ、及びスピーカを備えている。音声出力部４０は、制御部１０から供給されるデジタルの音声データをＤＡＣによってアナログの音声データに変換して、それをさらにアンプで増幅し、スピーカから増幅後のアナログの音声信号に応じた音声を出力させる。
【００２１】
この音声合成装置１００において、利用者は、タッチスクリーン３１を介して、発音対象の文字列（つまり歌詞）を入力し、さらにこの文字列をどのように発音させるかを表す音声情報を図形によって入力する。この音声情報は、入力された文字列に対する文字列音長、音高、音長、及び音響効果を表している。なお、文字列音長とは、文字列全体が発音される際に掛かる時間のことであり、各文字に割り当てられる音長を合計した時間に相当する。音声合成装置１００は、これらの文字列と音声情報とに基づいて音声データを合成し、この合成された音声データに基づく音声を出力する。
【００２２】
図６は、音声合成装置１００の機能構成を表すブロック図である。文字列取得手段１１は、利用者がタッチスクリーン３１を介して入力した、複数の文字によって構成された文字列を取得し、ＲＡＭに記憶させる。基準音長特定手段１２は、ＲＡＭに記憶された入力文字列を用いて発音辞書ＤＢ２１を検索し、該当する発音レコードを特定すると、特定した発音レコードをＲＡＭに記憶する。
【００２３】
表示制御手段１３は、利用者によりＵＩ部３０を通じて行われた操作に応じて、タッチスクリーン３１に表示する内容を制御する。例えば、表示制御手段１３は、ＲＡＭに記憶された入力文字列について、この入力文字列を構成する文字の各々を表す画像（入力文字画像という）をタッチスクリーン３１に表示させる。このように、表示制御手段１３は、取得された文字列を構成する各文字を表示手段であるタッチスクリーン３１に表示させる文字列表示手段１３Ａとして機能する。また、表示制御手段１３は、利用者がタッチスクリーン３１を指でなぞったときの、その指先の位置の軌跡をタッチスクリーン３１に表示させる。タッチスクリーン３１は、後述する図７で説明するように、時間を表す第１軸と音高を表す第２軸とで構成される座標系が設定された表示領域を備えており、この表示領域に対して利用者がタッチスクリーン３１を指でなぞって軌跡を描く。この軌跡は、上述した音声情報を表す図形、つまり入力文字列に対する文字列音長、音高、音長、及び音響効果を表す図形に相当するものであり、後述する図７で説明するように、入力文字画像に対応付けた状態でタッチスクリーン３１に表示される。以下、この図形のことをピッチカーブという。このように、表示制御手段１３は、利用者によって指定された、時間を表す第１軸および音高を表す第２軸を有する座標系における図形（ピッチカーブ１０３）を、入力文字列を構成する各文字を表す入力文字画像１０４に対応付けた状態でタッチスクリーン３１に表示させる図形表示手段１３Ｂとして機能する。
【００２４】
文字間隔制御手段１４は、利用者がタッチスクリーン３１に表示される入力文字画像をドラッグし、その表示位置を変更する操作に応じて、各入力文字画像１０４の間隔を制御し、この制御内容（文字間隔制御内容という）をＲＡＭに記憶するとともに表示制御手段１３に入力する。ここで、入力文字画像１０４とは、利用者がテキストボックス１０１に入力した内容に応じて表示される各文字の画像である（図７参照）。また、ここでいうドラッグとは、タッチスクリーン３１上で入力文字画像１０４を指先で触って選択し、そのままの状態で指先を移動させることをいう。文字間隔制御内容には、タッチスクリーン３１に表示される各入力文字画像１０４同士の間の距離を表す数値が含まれる。この数値は常に０以上の値を取る。表示制御手段１３は、入力された文字間隔制御内容に含まれる、隣り合う位置にある入力文字画像の距離を表す数値（文字間隔値という）が０である場合、タッチスクリーン３１において、これらの入力文字画像１０４を結合された状態で表示させる。ここで、「結合」とは、１つの入力文字画像１０４を囲む矩形と、この入力文字画像１０４と隣り合う入力文字画像１０４を囲む矩形とが接している状態を意味する（図７参照）。
【００２５】
また、表示制御手段１３は、文字間隔値が０でない場合、この文字間隔値に応じた距離を空けて、入力文字画像１０４を分離された状態で表示させる。ここで、「分離」とは、１つの入力文字画像１０４を囲む矩形と、この入力文字画像１０４と隣り合う入力文字画像１０４を囲む矩形とが離れている状態を意味する。つまり、文字列表示手段１３Ａとして機能する表示制御手段１３は、タッチスクリーン３１に表示されている各文字の位置を利用者の指示に従って変更して、この各文字を表示させる（図７参照）。軌跡分析手段１５は、上述したピッチカーブと各入力文字画像１０４との関係を分析し、入力文字列に対する文字列音長、音高、音長、及び音響効果を分析結果として算出すると、この分析結果をＲＡＭに記憶する。このとき、軌跡分析手段１５は、タッチスクリーン３１上の座標系において、各入力文字画像１０４に対応する図形（ピッチカーブ１０３）の座標値に基づき、各文字に対する音高及び音長を算出する。
【００２６】
音声レコード生成手段１６は、ＲＡＭに記憶された、入力文字列、発音レコード、文字間隔制御内容、及び軌跡分析手段１５によるピッチカーブの分析結果と、最短発音時間ＤＢ２２の内容とを入力パラメータとして、音声レコードを生成する処理を行う。この際、音声レコード生成手段１６は、入力文字列を構成する各文字に対して、音高、音長、音響効果を割り当てる。音声レコード生成手段１６は、生成した音声レコードを、音声ＤＢ２３に記憶させる。音声合成手段１７は、音声レコード生成手段１６より処理が完了した旨の通知を受けると、音声ＤＢ２３に記憶された音声レコードに基づいて音声データを合成し、音声出力部４０からこの音声データに基づく音声を出力させる。
【００２７】
上記のように、基準音長特定手段１２、文字間隔制御手段１４、軌跡分析手段１５、及び音声レコード生成手段１６が協働することで、表示されている文字列を構成する各文字に対応する図形であるピッチカーブの座標値に基づき、当該各文字に音高及び音長を割り当てる割り当て手段１８として機能する。
【００２８】
＜動作＞
次に、図７及び図８を参照しながら音声合成装置１００の動作について説明を行う。
図７は、音声合成装置１００の外観及び表示内容を表す図であり、図８は、音声合成装置１００の処理フロー図である。
図７に示すように、音声合成装置１００は、筐体１１０、タッチスクリーン３１、及びスピーカ１１１を有する。筐体１１０にはタッチスクリーン３１及びスピーカ１１１が設けられている。タッチスクリーン３１には、テキストボックス１０１、発音基準線１０２、ピッチカーブ１０３、入力文字画像１０４、再生ボタン画像１０５、戻るボタン画像１０６、及び割り当て文字画像１０９が表示される。図７に示されたピッチカーブ１０３が表示される領域において、Ｘ軸（第１軸）は時間を表しており、Ｘ軸において負方向から正方向に向かって時間が経過する。また、図７に示されたピッチカーブ１０３が表示される領域において、Ｙ軸（第２軸）は音高を表しており、正方向に向かう程高い音となり、負方向に向かう程低い音となる。本実施形態においては、Ｙ軸における最小の座標値と最大の座標値との間には、１オクターブの音高が割り当てられているものとする。
【００２９】
テキストボックス１０１は、文字列が入力される領域である。利用者が、タッチスクリーン３１においてテキストボックス１０１に該当する領域を触れると、タッチスクリーン３１にキーボード画像が表示される。利用者は、このキーボード画像に触れることでテキストボックス１０１に文字列を入力する。発音基準線１０２は、入力された文字列が発音される際の音高の基準を直線で表したものである。例えば、利用者が発音基準線１０２をなぞるようにしてタッチスクリーン３１に触れると、発音基準線１０２に対して予め定められた音高（例えば４４０Ｈｚ）に従って、入力文字列の発音がなされる。ピッチカーブ１０３は、上述したように、入力文字列に対する文字列音長、音高、音長、及び音響効果を決定するものである。利用者によってタッチスクリーン３１に描かれた図形が、ピッチカーブ１０３としてタッチスクリーン３１に表示される。
【００３０】
入力文字画像１０４は、上述したとおりである。また、上述したように、利用者がタッチスクリーン３１上で入力文字画像１０４をドラッグすることにより、各入力文字画像１０４の表示位置を変更し、これらを結合及び分離させることが可能である。隣り合う２つの入力文字画像１０４が結合された場合、これらの入力文字画像１０４に対応する２つの文字のうち、先に入力された文字の音長は最短発音時間となる。一方、隣り合う２つの入力文字画像１０４が分離された場合、これらの入力文字画像１０４に対応する２つの文字のうち、先に入力された文字の音長は上記の結合時よりも長くなる。つまり、音を延ばした状態で発音がなされる。なお、入力文字画像１０４は、その表示位置が、ピッチカーブ１０３の直下（Ｙ軸負方向）に、ピッチカーブ１０３の横幅（Ｘ軸方向の長さ）に沿った状態で表示される。ここで、利用者が、入力文字列を変更することなく新たにピッチカーブ１０３を描き直した場合、表示制御手段１３は、各入力文字画像１０４同士のＸ軸における間隔の比を保ったまま、新たなピッチカーブ１０３の横幅に沿うように、表示位置を変更して入力文字画像１０４を表示させる。
【００３１】
利用者が再生ボタン画像１０５に触れると、入力文字列が、入力されたピッチカーブ１０３に従ってスピーカ１１１から発音される。利用者が、戻るボタン画像１０６に触れると、タッチスクリーン３１には入力文字ライブラリがツリー状に表示される。入力文字ライブラリとは、利用者が入力した文字列と、この文字列に対して入力されたピッチカーブ１０３との組み合わせを複数含むものである。利用者が戻るボタン画像１０６に触れると、例えば「こんにちは」、「こんばんは」、「おやすみなさい」といった複数の文字列がツリー状に表示される。利用者が、タッチスクリーン３１を介して、表示された複数の文字列のうちいずれかを選択すると、選択された文字列について図７のような画面がタッチスクリーン３１に表示される。
【００３２】
割り当て文字画像１０９は、入力文字画像１０４に対して、音高を表すＹ軸方向における高さを反映させたものである。図７に表されるように、割り当て文字画像１０９の各々は、Ｘ軸方向における表示位置については、対応する各々の入力文字画像１０４と同一であり、Ｙ軸方向における表示位置については、ピッチカーブ１０３と、各入力文字画像１０４を囲む矩形の中心から発音基準線１０２に対してＹ軸正方向に延びる垂線との交差点の直下となる。ここで、利用者が、入力文字列を変更することなく新たにピッチカーブ１０３を描き直した場合、表示制御手段１３は、各割り当て文字画像１０９同士のＸ軸における間隔の比を保ったまま、新たなピッチカーブ１０３の横幅（Ｘ軸方向の長さ）に沿うように、各割り当て文字画像１０９のＸ軸方向の表示位置を変更するとともに、新たなピッチカーブ１０３のＹ軸方向の高さに応じて、各割り当て文字画像１０９のＹ軸方向の表示位置を変更して表示させる。
【００３３】
図８において、利用者が、テキストボックス１０１に文字列を入力すると（ステップＳ１；ＹＥＳ）、文字列取得手段１１は、入力文字列をＲＡＭに記憶させる（ステップＳ２）。例えば、図７に表されるように、利用者が、テキストボックス１０１に「こんにちは」という文字列を入力すると、文字列取得手段１１は、「こんにちは」という入力文字列をＲＡＭに記憶させる。次に基準音長特定手段１２が、上記の入力文字列を用いて発音辞書ＤＢ２１を検索し、該当する発音レコードを特定して、特定した発音レコードをＲＡＭに記憶させる（ステップＳ３）。ここでは、基準音長特定手段１２は、「こんにちは」という文字列を用いて、図２に表される発音辞書ＤＢ２１を検索した結果、識別ＩＤが「０００００２」の発音レコードをＲＡＭに記憶させる。
【００３４】
次に、表示制御手段１３が、上記の入力文字列（ここでは「こんにちは」）に基づいて、タッチスクリーン３１上に入力文字画像１０４を表示させる（ステップＳ４）。この際、表示制御手段１３は、ＲＡＭに記憶された発音レコードにおける基準割り当て音長に基づいた態様で入力文字列を表示させる。具体的に説明すると、図２に表されるように、「こんにちは」という文字列に対して、「こ」、「に」、「ち」、及び「は」の各文字には「０．２秒」の発音時間が割り当てられ、「ん」という文字には「０．１秒」の発音時間が割り当てられている。ここで、前述したように、これらの０．２秒とか０．１秒という数値は、文字列を構成する各文字の発音時間の比を意味しているから、表示制御手段１３は、隣り合う入力文字画像１０４を、この発音時間の比に応じた距離だけ分離させてタッチスクリーン３１に表示させる。この結果、入力文字画像１０４の表示態様は図７に表すようなものとなる。なお、入力文字列に該当する文字列が発音辞書ＤＢ２１に存在せず、この入力文字列に関する発音レコードがＲＡＭに記憶されていない場合、表示制御手段１３は、当該入力文字列を構成する文字を表す入力文字画像１０４を等間隔で表示させる。
【００３５】
次に、文字間隔制御手段１４が、利用者の操作によって入力文字画像１０４の表示位置が変更されると、各入力文字画像１０４の間隔を制御し、文字間隔制御内容をＲＡＭに記憶するとともに、表示制御手段１３に対して文字間隔制御内容を入力し、入力文字画像１０４の表示態様を制御させる（ステップＳ５）。
【００３６】
図９は、文字間隔制御処理を説明するための模式図である。
図９を用いてステップＳ５の詳細を説明する。利用者が、矩形が破線で表された「ん」という入力文字画像１０４を、矩形が実線で表された位置へ向かってドラッグした場合、以下のような処理が行われる。文字間隔制御手段１４は、「ん」という入力文字画像１０４と「に」という入力文字画像１０４との間の距離βを文字間隔値として算出すると、算出した文字間隔値をＲＡＭに記憶させるとともに表示制御手段１３に入力する。表示制御手段１３は、入力された文字間隔値に基づいて、「ん」という入力文字画像１０４の表示位置を変更する。つまり表示制御手段１３は、「ん」という入力文字画像１０４について、その表示位置を、矩形が破線であらわされた位置から、矩形が実線で表された位置に変更する。この結果、図９においては、入力文字画像１０４の表示位置が変更された結果、「こ」と「ん」という入力文字画像１０４が結合されており、「に」、「ち」及び「は」という入力文字画像１０４とは、分離されている。
【００３７】
そして、音声レコード生成手段１６によって、入力文字「ん」に対して音長が割り当てられる際には、距離βに応じた音長が算出されることで、変更前の距離γに応じた音長と比較して、長い音長が割り当てられる。結果として入力文字「ん」の発音が為される場合には、「んーーー」というように、延ばされた音として発音されることとなる。また、文字列全体の音長は文字列音長として定められているから、入力文字「ん」に対して算出される音長が長く変更されると、その分だけ、入力文字「こ」に対して算出される音長は、結合される前と比較して短いものとなる。ここで、入力文字「こ」に割り当てられる音長は、最短発音時間ＤＢ２２における文字「こ」に該当する最短発音時間として記憶された時間の長さよりも短くなることは無い。つまり、音声レコード生成手段１６は、文字列を構成する各文字に対し、最短発音時間記憶手段である最短発音時間ＤＢ２２に記憶されている最短の音長以上の音長を割り当てる。
【００３８】
ステップＳ５の次に、利用者が再生ボタン画像１０５に触れることがなく（ステップＳ６；ＮＯ）、さらに、利用者がタッチスクリーン３１に図形を描くことが無い、すなわちピッチカーブ１０３が入力されなかった場合（ステップＳ７；ＮＯ）、処理がステップＳ４に戻り、上記の処理が繰り返される。
【００３９】
一方、ステップＳ５の次に、利用者が再生ボタン画像１０５に触れることがなく（ステップＳ６；ＮＯ）、さらに、利用者が、タッチスクリーン３１に図形を描いた場合、すなわちピッチカーブ１０３が入力された場合（ステップＳ７；ＹＥＳ）、軌跡分析手段１５は、入力されたピッチカーブ１０３を分析する（ステップＳ９）。具体的には、ステップＳ９において軌跡分析手段１５は、入力されたピッチカーブ１０３と各入力文字画像との関係を分析して、入力文字列に対する文字列音長と、この入力文字列を構成する各文字に対する音高、音長、及び音響効果とを特定し、これらをＲＡＭに記憶する。
【００４０】
ステップＳ９の処理を更に詳細に説明する。まず、軌跡分析手段１５は、ピッチカーブ１０３が入力された際の利用者の指先の移動速度（つまりピッチカーブ１０３の始端から終端に至るまでの入力に要した時間）に応じて、文字列全体の発音時に割り当てる音長である文字列音長を算出する。利用者がタッチスクリーン３１上に図形を描いた際の速度が速ければ文字列音長は時間が短いものとなり、軌跡を描いた際の速度が遅ければ文字列音長は時間が長いものとなる。例えば軌跡分析手段１５が、ピッチカーブ１０３の描画速度から文字列音長を３秒と分析し、これが入力文字列に割り当てられると、文字列全体が３秒の長さで発音されることとなる。つまり、図７の例では、「こんにちは」という文字列が３秒の長さで発音されることとなる。
【００４１】
次に、軌跡分析手段１５は、入力文字列の各文字の音高を求める。具体的には、まず、軌跡分析手段１５は、ピッチカーブ１０３が入力される領域において、各入力文字画像１０４を囲む矩形の中心から発音基準線１０２に対してＹ軸正方向に延びる垂線（入力文字線という）を仮想的に描く。そして、軌跡分析手段１５は、発音基準線１０２に割り当てられた音高を基準とし、ピッチカーブ１０３と入力文字線との交差点のＹ座標値に応じて、入力文字列を構成する各文字の音高を算出する。つまり、上述した交差点のＹ座標値が、発音基準線１０２のＹ座標値より大きければ、その交差点に対する入力文字の音高は、発音基準線１０２に割り当てられたものよりも高いものとなる。一方、交差点のＹ座標値が、発音基準線１０２のＹ座標値より小さければ、その交差点に対する入力文字の音高は、発音基準線１０２に割り当てられたものよりも低いものとなる。
【００４２】
次に、軌跡分析手段１５は、入力文字列の各文字の音長を求める。具体的には、軌跡分析手段１５は、文字列音長における時間の長さを１として、ＲＡＭに記録された発音レコードにおける基準割り当て音長を正規化することにより、各文字に割り当てる音長の比率を算出する。
【００４３】
ここで、図９を用いてステップＳ９の詳細を説明する。図９においては、タッチスクリーン３１を拡大して表しており、表示内容の一部を説明の都合上省略している。また、図９において、入力文字線１０７が表されているが、実際にはこれはタッチスクリーン３１に表示されない。交差点Ａ，Ｂ，Ｃ，Ｄ，及びＥは、各入力文字線１０７とピッチカーブ１０３とが交差する交差点であり、Ｘ座標値とＹ座標値とを各々保持している。例えば軌跡分析手段１５が「こ」という入力文字の音高を算出する際には、交差点ＡのＹ座標値が、発音基準線１０２のＹ座標値より小さいため、軌跡分析手段１５は、発音基準線１０２のＹ座標値から、交差点ＡのＹ座標値を減算することで、差分長αを求める。そして軌跡分析手段１５は、発音基準線１０２のＹ座標値を基準として、発音基準線１０２における音高（例えばここでは４４０Ｈｚ）よりも差文長αに相当する音高だけ低い音高を、入力文字「こ」に対して算出する。
【００４４】
一方、例えば軌跡分析手段１５が「に」という入力文字の音高を算出する際には、交差点ＣにおけるＹ座標値が、発音基準線１０２のＹ座標値より大きいため、軌跡分析手段１５は、交差点ＣのＹ座標値から、発音基準線１０２のＹ座標値を減算することで、差分長α’を求める。そして軌跡分析手段１５は、発音基準線１０２のＹ座標値を基準として、発音基準線１０２における音高よりも差文長α’に相当する音高だけ高い音高を入力文字「に」に対して算出する。
【００４５】
次に、文字列を構成する各文字の音長については、前述したように、文字列音長と発音辞書ＤＢ２１の内容に基づく各文字の音長の比とに従って決められる。例えば、図７の例に戻ると、入力文字列が「こんにちは」であり、文字列音長が「３秒」であり、各文字の音長は、図２に示されるように、文字「こ」、「に」、「ち」及び「は」については「０．２秒」、文字「ん」については「０．１秒」である。従って、軌跡分析手段１５は、文字列音長の「３秒」を基準として正規化を行うことにより、文字「こ」、「に」、「ち」及び「は」については「０．６７秒」の音長を、文字「ん」については「０．３３秒」の音長を割り当てる（小数点以下第三位を四捨五入）。ここで、四捨五入する位は、設計において適宜変更されてもよい。このように、軌跡分析手段１５は、図形の始端から終端に至るまでの入力に要した時間に基づいて、文字列の全体を発音するときの音長である文字列音長を算出し、算出した文字列音長と、上記文字列を構成する各文字について発音辞書記憶手段に記憶されている比とに基づいて、各文字に音長を割り当てる。
【００４６】
ここで、利用者によって図７から図９のように入力文字画像１０４「ん」の表示位置が変更されていたとすると、軌跡分析手段１５は、表示位置が変更された後の入力文字画像１０４「ん」についての交差点ＢにおけるＸ座標値を取得する。また、軌跡分析手段１５は、入力文字画像１０４「ん」に対してＸ軸正方向で隣り合う入力文字画像１０４「に」についての交差点ＣにおけるＸ座標値を取得する。そして軌跡分析手段１５は、交差点Ｂに対応するＸ座標値から交差点Ｃに対応するＸ座標値を減算することで、交差点Ｂと交差点ＣとにおけるＸ座標値の差分を算出する。軌跡分析手段１５は、算出したＸ座標値の差分に基づいて、入力文字「ん」に対して、その表示位置が変更される前よりも長い音長を割り当てる。これにより、上述したように、入力文字「ん」は、延ばされた音として発音されることとなる。一方、ピッチカーブ１０３が変更されない限り、文字列音長は入力済みのピッチカーブ１０３に基づく文字列音長を維持するから、入力文字「ん」の音長が長く変更されることに従って、入力文字「こ」の音長は短く変更される。ここで入力文字「こ」に割り当てられる音長は、入力文字「ん」について、変更前よりも長くなった音長の分だけ、短いものとなる。また、ここにおいて、入力文字「こ」には、少なくとも、最短発音時間ＤＢ２２に記憶された、文字「こ」に対応する最短発音時間が割り当てられる。
【００４７】
また、既に描かれたピッチカーブ１０３に対して、利用者が既に描いた図形（ピッチカーブ）に重ね合わされる位置に他の図形を描くと、軌跡分析手段１５が、複数の図形の形状を記憶する音響効果ＤＢ２４から、重ね合わせられるようにして描かれた図形に対して、予め定められた閾値以上の類似度を持つ音響効果図形を特定する。そして、軌跡分析手段１５は、特定した音響効果図形に対応付けられた音響効果の種類を、重ね合わせられた図形のＹ座標値に対応する位置に表示されている文字に対する音響効果の種類としてＲＡＭに記憶する。ここで、図形どうしの類似度を求める方法は、既知の方法を用いればよい。また、この際、表示制御手段１３は、入力済のピッチカーブ１０３に対して利用者が重ね合わせて描いた図形を、タッチスクリーン３１に表示する。
【００４８】
ステップＳ９の次に、図形表示手段１３Ｂとして機能する表示制御手段１３は、ピッチカーブ１０３を入力文字画像１０４に対応付けた状態でタッチスクリーン３１に表示させる（ステップＳ１０）。次に、音声レコード生成手段１６は、ＲＡＭに記憶された、入力文字列、発音レコード、文字間隔制御内容、及びピッチカーブ１０３の分析結果と最短発音時間ＤＢ２２とに基づいて、入力文字列を構成する各文字に、音高、音長、及び音響効果を割り当てることで音声レコードを生成し、生成した音声レコードを音声ＤＢ２３に登録する（ステップＳ１１）。この際、音声レコード生成手段１６は、各文字に割り当てる音長の比率に基づいて、文字列全体における音長が文字列音長と同一になるように、各文字に音長を割り当てる。ここで、前述したように、各文字に割り当てられる音長は、最短発音時間ＤＢ２２において該当する文字の最短発音時間として記憶された時間の長さよりも短くなることは無い。なお、入力文字列を構成する全ての文字に対して最短発音時間が割り当てられた場合の合計時間と比較して、算出された文字列音長が上記合計時間に満たない場合、音声レコード生成手段１６は、各文字における最短発音時間を、文字の入力順に従って先頭から積算していく。そして、音声レコード生成手段１６は、この積算の結果が、算出された文字列音長を越えた時点で、以降の文字を発音対象とせず、音長を割り当てない。
【００４９】
そして、音声合成手段１７が、音声ＤＢ２３に記憶された音声レコードの内容に基づき、音声データを合成する（ステップＳ１２）。つまり、音声合成手段１７は、文字列を構成する各文字を、割り当て手段１８によって割り当てられた音高及び音長で発音させる音声データを合成する。音声合成手段１７は、音声データを合成する際に、或る文字に割り当てられた音高と、この文字の次に入力された文字に割り当てられた音高とを、ピッチベンドによって繋ぐ処理を施す。また、音声合成手段１７は、該当する文字について、割り当てられた音響効果を反映した状態で音声データを合成する。音声出力部４０は、この音声データに基づいて音声を出力する（ステップＳ１３）。
【００５０】
一方、ステップＳ５の後に、利用者が再生ボタン画像１０５に触れた場合（ステップＳ６；ＹＥＳ）、すなわちピッチカーブ１０３が入力されていない（ステップＳ９〜Ｓ１１を経ない）場合、音声レコード生成手段１６は、ＲＡＭに記憶された入力文字列を音声ＤＢ２３に登録する。そして音声レコード生成手段１６は、ＲＡＭに記憶された発音レコードにおける基準割り当て音長に従って、音声ＤＢ２３における項目「音長」を更新するとともに、発音基準線１０２と同一の音高で、音声ＤＢ２３における項目「音高」を更新する（ステップＳ８）。例えば、図７の例では入力文字列が「こんにちは」であるため、音声レコード生成手段１６は、音声ＤＢ２３における項目「音長」について、図２に示される内容に従って、文字「こ」、「に」、「ち」及び「は」については「０．２秒」、文字「ん」については「０．１秒」という数値で更新する。また、例えば、図７の例では発音基準線１０２の音高が「４４０Ｈｚ」であるため、音声レコード生成手段１６は、「こ」、「ん」、「に」、「ち」、及び「は」における項目「音高」について「４４０Ｈｚ」で更新する。その後、処理はステップＳ１２に移行する。
【００５１】
図１０〜図１２は、音声合成処理を説明するための模式図である。
なお、音声合成装置１００には、ピッチカーブ１０３が描かれた際の処理を設定するモードである「描画モード」が存在する。「描画モード」には、初期設定で設定されている「上書き描画モード」と、「連続描画モード」とがある。「上書き描画モード」は、タッチパネル３１にピッチカーブ１０３が既に描かれ、表示された状態において、利用者が新たにピッチカーブ１０３を描くと、既に描かれていたピッチカーブ１０３が消去され、新たに描かれた際の軌跡に応じてピッチカーブ１０３が表示されるモードである。一方、「連続描画モード」は、タッチパネル３１にピッチカーブ１０３が既に描かれ、表示された状態において、既に描かれたピッチカーブ１０３と重ならないタッチパネル３１の領域に利用者が新たにピッチカーブ１０３を描くと、既に描かれていたピッチカーブ１０３は変更されないまま、新たに描かれた際の軌跡に応じてピッチカーブ１０３が追加で表示されるモードである。この描画モードは、利用者が、ＵＩ部３０を通じて適宜変更することが可能である。描画モードは、「上書き描画モード」、及び「連続描画モード」に限らず、他の設定内容を選択可能としてもよい。
【００５２】
図１０〜図１２において、「お」、「は」、「よ」、及び「う」という入力文字画像１０４が表示されている。図１０、及び図１１は、描画モードが「連続描画モード」である場合の例である。図１０は、入力文字画像群１０８Ａにおいて全ての入力文字画像１０４が結合された場合を示している。図１０では、入力されたピッチカーブ１０３ａに応じて、「おはよう」という音声が出力される。図１０において右側に表示されたピッチカーブ１０３ｂは、入力文字線と交差しないため、何も処理が行われない。あるいは、このようなピッチカーブ１０３ｂは、入力文字列に応じた音声の出力を繰り返すように、ＵＩ部３０を通じて利用者が設定可能としてもよい。上述した、入力文字列に応じた音声の出力を繰り返す場合、軌跡分析手段１５は、入力文字列の繰り返しを意味するフラグを立てた状態（例えば「１」の値）でＲＡＭに記憶する。音声レコード生成手段１６は、このフラグを参照し、フラグが入力文字列を繰り返すことを意味する値（ここでは「１」）を取っている場合、登録済みの音声レコードと同一の内容を、音声ＤＢ２３に追加で登録する。あるいは、音声レコード生成手段１６が、予め定められた、入力文字列を繰り返して発音させることを表す記号（例えば「＊」）を、音声ＤＢ２３における項目「入力文字」に対して追加で登録することで、音声合成手段１７が、入力文字列が繰り返し発音されるように音声データを合成するようにしてもよい。
【００５３】
図１１では、「お」及び「は」が結合された入力文字画像群１０８Ｂと、「よ」及び「う」が結合された入力文字画像群１０８Ｃとが分離されている。また、入力文字画像群１０８Ｂに対するピッチカーブ１０３ｃと、入力文字画像群１０８Ｃに対するピッチカーブ１０３ｄとは連続しておらず、軌跡が途切れた状態となっている。このような場合、入力されたピッチカーブ１０３に応じて音声が出力される際には、軌跡の途切れに応じて、「おは□□よう」というように、「おは」という音声と「よう」という音声との間に無音の期間（無音期間という）が生じる（ここで□は無音期間を意味する）。具体的には、軌跡分析手段１５は、軌跡が途切れた箇所におけるＸ軸方向の長さに基づいて、この無音期間の長さを算出する。そして軌跡分析手段１５は、算出した無音期間の時間の長さと、無音期間を挟む２つの入力文字（すなわちここでは、「は」と「よ」）とを対応付けて、ＲＡＭに記憶する。音声レコード生成手段１６は、ＲＡＭに記憶されたこの内容に従って、無音期間に相当する音声レコードを生成する。図１３は、音声ＤＢの内容を表す図である。ここで、文字順ＩＤが「０００３」の音声レコードが、無音期間に該当する音声レコードである。無音期間に該当する音声レコードを区別するには、例えば入力文字としてスペースを割り当ててもよい。図１３においては便宜上、スペースを「△」で表している。図１３における音声レコードに基づいて音声合成手段１７が合成した音声データが、音声として出力される際には、「おは」と発音された後に０．５秒の無音期間が生じ、次いで「よう」と発音されることとなる。
【００５４】
図１２は、描画モードが「上書き描画モード」である場合の例である。図１２では、「お」及び「は」が結合された入力文字画像群１０８Ｄと、「よ」及び「う」が結合された入力文字画像群１０８Ｅとが分離されている。また、入力文字画像群１０８Ｄに対するピッチカーブ１０３ｅと、入力文字画像群１０８Ｅに対するピッチカーブ１０３ｆとは、途切れずに連続した軌跡を描いている。さらにピッチカーブ１０３ｅおよびピッチカーブ１０３ｆに対して、ビブラートの音響効果が適用される波型の図形が重ね合わせて描かれている。このように、表示制御手段１３は、表示手段であるタッチスクリーン３１に表示されている図形（すなわちピッチカーブ１０３）に対して、重ね合わせる図形が利用者によって指定されると、この重ね合わせる図形をタッチスクリーン３１に表示させる。この波型の図形のＹ座標値は、「お」、「は」、「よ」、「う」のそれぞれの表示位置に対応している。従って、図１２では、入力されたピッチカーブ１０３に応じて、「お〜は〜〜〜よ〜う〜」というように、「は」に対する発音が延ばされた状態で、各文字に対する発音にビブラートがかかった状態で音声が出力される。
【００５５】
このように、音声合成装置１００によれば、文字列が入力された後に、利用者が軌跡を描くようにタッチスクリーン３１に触れることで、文字列に対して音符列の割り当てを容易に行うことが可能となる。
【００５６】
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
＜変形例１＞
実施形態においては、音声合成装置１００の例としてタッチスクリーン３１を備えたスマートフォンを挙げていたが、これに限ったものではない。音声合成装置１００は、タッチスクリーン３１を備えていなくてもよい。例えば、音声合成装置１００は、ＵＩ部３０としてマウス、キーパッド、またはペンタブレットを有していてもよい。また、音声合成装置１００は、ＰＤＡ（Personal Digital Assistant）、携帯ゲーム機、携帯音楽プレーヤ、あるいはＰＣ（Personal Computer）であってもよい。音声合成装置１００がＰＣである場合、ディスプレイ上に表示された内容に対して利用者がマウスを用いて描いた結果が、ピッチカーブ１０３として認識されたり、入力文字画像１０４に対する間隔制御として認識されたりする。
【００５７】
＜変形例２＞
実施形態においては、音響効果の例として、ビブラートを挙げたが、これに限ったものではない。例えば、図９に表されるように、入力済みのピッチカーブ１０３に対して丸で囲むような軌跡を重ね合わせて描くと、対応する文字の発音がファルセットでなされるようにしてもよい。この他にも、ピッチカーブ１０３の描き方や重ね合わせて描く図形の形状に応じて、対応する文字に様々な音響効果を割り当てるようにしてもよい。
【００５８】
＜変形例３＞
実施形態において、ピッチカーブ１０３は利用者により入力されるものとしていたが、これに限らず、特定の形状を持つ複数のピッチカーブ１０３をプリセットデータとして記憶部２０が記憶していてもよい。例えば、標準語、関西弁、東北弁といった方言の抑揚に対応したピッチカーブ１０３がプリセットデータとして記憶部２０に記憶されている場合、利用者がＵＩ部３０を通じて、このプリセットデータから特定のピッチカーブ１０３を指定できるようにしてもよい。要するに、利用者が、音高を表す第１軸および時間を表す第２軸を有する座標系における図形を指定できればよい。
【００５９】
＜変形例４＞
実施形態においては、Ｙ軸における最小の座標値と最大の座標値との間に、１オクターブの音高が割り当てられているものとしたが、この音高は、これに限ったものではない。例えば、利用者がＵＩ部３０を介して設定することにより、Ｙ軸に割り当てられる音高の幅を狭く、あるいは広く、変更することが可能としてもよい。例えば、利用者が、Ｙ軸における最小の座標値と最大の座標値との間に、２オクターブの音高を設定した場合を考える。また、このとき、発音基準線１０２の音高が「２６１Ｈｚ」であったとする。この場合、発音基準線１０２の音高を中心として、発音基準線１０２のＹ軸正方向には、「２６１Ｈｚ」より１オクターブ高い「５２３Ｈｚ」の音高を持つ仮想的な発音基準線が存在する。また、発音基準線１０２のＹ軸負方向には、「２６１Ｈｚ」より１オクターブ低い「１３０Ｈｚ」の音高を持つ仮想的な発音基準線が存在する。実施形態においては、軌跡分析手段１５は、常に発音基準線１０２のＹ座標値と交差点のＹ座標値との差分長から、ある入力文字についての音高を算出していた。しかし、上述のように、タッチパネル３１に表示される発音基準線１０２以外に、仮想的な発音基準線が存在する場合は、Ｙ軸方向において交差点と最も近い発音基準線のＹ座標値を基準として、入力文字の音高を算出するようにしてもよい。
【００６０】
＜変形例５＞
実施形態においては、入力文字画像１０４に対して利用者がドラッグの操作を行うことで、各入力文字画像１０４を結合及び分離させることを可能としたが、入力文字画像１０４に対する操作は、これに限ったものではない。例えば、利用者が、或る入力文字画像１０４の右辺あるいは左辺に触れて、これをドラッグすることにより、この入力文字画像１０４がＸ軸方向において表示される長さ（入力文字画像１０４の横幅）を変更可能としてもよい。この場合、音声レコード生成手段１６は、変更された入力文字画像１０４の横幅に応じて、横幅が長いほど長い音長を、横幅が短いほど短い音長を、該当する文字に割り当てる。
【００６１】
＜変形例６＞
実施形態においては、音声合成手段１７は、或る文字に割り当てられた音高と、この文字の次に入力された文字に割り当てられた音高とを、ピッチベンドによって繋ぐ処理を施していたが、これに限ったものではない。例えば、音声合成手段は、ピッチベンドを施さずに、音声ＤＢ２３に記憶された、各文字に割り当てられた音高のみに従って音声データを合成するようにしてもよい。
【００６２】
＜変形例７＞
実施形態においては、入力文字列を構成する全ての文字に対して最短発音時間が割り当てられた場合の合計時間と比較して、算出された文字列音長が上記合計時間に満たない場合、軌跡分析手段１５は、各文字における最短発音時間を、入力された順序に従って先頭から積算した。そして、軌跡分析手段１５は、この積算の結果が、算出された文字列音長を越えた時点で、以降の文字を発音対象としないような制御を行っていた。これに限らず、軌跡分析手段１５は、上述の合計時間に満たないような速度でピッチカーブ１０３が入力された場合、タッチスクリーン３１に表示するピッチカーブ１０３における軌跡の長さを予め制限するようにしてもよい。
【００６３】
＜変形例８＞
また、利用者が音高を直感的に分かるように、タッチパネル３１を正面から見た場合の左側に鍵盤の画像を表示しても良い。
【００６４】
＜変形例９＞
実施形態においては、利用者が、入力済みのピッチカーブ１０３に対してさらに別の図形を重ねて描くと、この別の図形に応じた音響効果が発音時に適用されるようになっていたが、これを以下のようにしてもよい。音声合成装置１００は、入力済みのピッチカーブ１０３に対して利用者が別の図形を重ねて描く際の処理のモードを表す「追加入力モード」を記憶部２０に記憶する。「追加入力モード」には、「音響効果モード」と「音符列変更モード」が存在する。「音響効果モード」は、実施形態において説明したとおりであって、上述した、重ねて描かれた別の図形に応じた音響効果が、該当する入力文字の発音に際して適用される。「音符列変更モード」では、利用者が、入力済みのピッチカーブ１０３における特定の箇所に触れてドラッグすると、表示制御手段１３が、ピッチカーブ１０３の該当する箇所について、ドラッグの内容に応じて表示態様を変更する。例えば、利用者が、ピッチカーブ１０３の特定の箇所に触れて、Ｙ軸正方向にドラッグすると、ピッチカーブ１０３における該当の箇所の座標値がＹ軸正方向に移動するとともに、ピッチカーブ１０３における該当の箇所の周辺についての表示態様が、この移動に伴ってＹ軸正方向に曲線を描くように表示される。また、利用者がピッチカーブ１０３の特定の箇所に触れて、Ｙ軸負方向にドラッグすると、ピッチカーブ１０３における該当の箇所の座標値がＹ軸負方向に移動するとともに、ピッチカーブ１０３における該当の箇所の周辺についての表示態様が、この移動に伴ってＹ軸負方向に曲線を描くように表示される。利用者は、ＵＩ部３０を通じて、「追加入力モード」を適宜変更することが可能である。そして、軌跡分析手段１５は、該当する箇所の変更後の座標値に従って、この座標値に対応する入力文字に割り当てられる音高及び音長を算出し、音声レコード生成手段１６は、算出された結果に基づいて該当する入力文字に音高及び音長を割り当てる。
【００６５】
＜変形例１０＞
実施形態においては、ピッチカーブ１０３と入力文字線１０７との交差する座標値に従って、各々の文字の音高及び音長が算出されていたが、発音に際しての音声情報はこれに限ったものではない。例えば、ピッチカーブ１０３の形状がＸ軸に対して平坦な箇所には、より多くの文字が発音対象となるように、また、ピッチカーブ１０３の形状がＸ軸に対して急峻な箇所には、より少ない文字が発音対象となるように、各々の文字の発音開始位置が算出されてもよい。具体的には、以下のとおりである。
【００６６】
図１４は、変形例１０を説明するための模式図である。
図１４は、タッチパネル３１の一部を拡大したものである。図１４における入力文字「こ」を例に挙げると、軌跡分析手段１５は、交差点Ａにおけるピッチカーブ１０３に対する接線Ｌ１ａの傾きを算出すると、さらにこの傾きの絶対値を算出してＲＡＭに記憶させる。ここで、矩形が破線で表された「こ」という入力文字画像１０４ａ、破線で表された入力文字線１０７ａ、及び交差点Ａは、変形例９における処理によって表示位置が変更される前の状態を表している。軌跡分析手段１５は、他の入力文字「ん」についても、上述した、傾きの絶対値を算出する。ここで、交差点における傾きの絶対値が大きいほど、その交差点において、ピッチカーブ１０３が急峻、つまりそのピッチカーブの形状がＸ軸に対して直交した状態に近いことを表している。一方、傾きの絶対値が小さいほど、その交差点において、ピッチカーブ１０３が平坦、つまりそのピッチカーブの形状がＸ軸に対して平行に近いことを表している。
【００６７】
そして軌跡分析手段１５は、傾きの絶対値が予め定められた閾値を超える場合には、該当する入力文字画像の座標値を基準として、Ｘ軸における正方向あるいは負方向のいずれかにおいて、接線の傾きの絶対値が上述の閾値以下となる直近の座標値を求め、この求められた座標値におけるＸ軸が取る値を、該当する入力文字の発音開始位置として算出する。一方、傾きの絶対値が予め定められた閾値を超えない場合には、軌跡分析手段１５は、入力文字線１０７とピッチカーブ１０３との交差点における座標値におけるＸ軸が取る値を、該当する入力文字の発音開始位置として算出する。つまり、接線の傾きの絶対値が閾値に向かって大きくなる箇所、すなわちピッチカーブ１０３が急峻な箇所には、入力文字の発音開始位置が割り当てられない可能性が高くなる。結果として、上述した急峻な箇所では、ピッチカーブ１０３が平坦な箇所と比較して、より少ない文字が発音対象とされることになる。
【００６８】
例えば、図１４において、交差点Ａにおける接線Ｌ１ａの傾きの絶対値が、上述した閾値を超えるため、「こ」という入力画像文字１０４ａの発音開始位置が、Ｘ軸において負方向に移動した位置（すなわち時間軸において前方の位置）となる。具体的には、交差点Ａ’において接線Ｌ１ａ’の傾きの絶対値が閾値以下となるため、軌跡分析手段１５は、入力文字表示画像１０４ａを、入力文字画像１０４ａ’の表示位置まで移動させる。そして、入力文字「ん」の発音開始位置が、交差点Ｂにおける座標値におけるＸ軸が取る値と同一に算出された場合、入力文字「ん」に対して、入力文字「こ」が時間軸において前方へ移動するため、入力文字「こ」に割り当てられる音長が、移動前と比較して長いものとなる。
【００６９】
＜変形例１１＞
実施形態では、軌跡分析手段１５が、ピッチカーブ１０３の始端から終端に至るまでの入力に要した時間に応じて、文字列全体の発音時に割り当てる音長である文字列音長を算出していたが、文字列音長の算出方法はこれに限らない。軌跡分析手段１５は、ピッチカーブ１０３の始端から終端に至るまでのそのピッチカーブ１０３上の距離や、ピッチカーブ１０３の始端のＸ座標値と終端のＸ座標値との差の大きさに基づいて文字列音長を算出してもよい。例えば、ピッチカーブ１０３の始端から終端に至るまでのそのピッチカーブ１０３上の距離が大きいほど文字列音長も大きくなったり、ピッチカーブ１０３の始端のＸ座標値と終端のＸ座標値との差が大きいほど文字列音長も大きくなるといった具合である。このように、文字列音長の算出方法には種々のものがあるが、文字列を構成する各文字の音長の算出に関しては、軌跡分析手段１５は各文字に対応する図形（ピッチカーブ）の座標値に基づき音高及び音長を算出する。
【００７０】
＜変形例１２＞
実施形態においては、音声合成手段１７が音声データを合成する際に、或る文字に割り当てられた音高と、この文字の次に入力された文字に割り当てられた音高とを、ピッチベンドによって繋ぐ処理を施していたが、これに限らず、割り当て手段１８が、補正機能と称するものを実現することで、入力文字の各々に、上記補正機能によって定まる所定の音階に従った音高を割り当てるようにしてもよい。また、割り当て手段１８は、入力文字の各々に、上記補正機能によって定まる所定の時間の長さに従った音長を割り当てるようにしてもよい。つまり、割り当て手段１８が実現する補正機能には、音高に対する補正機能と、音長に対する補正機能とがある。
【００７１】
図１５（ａ）及び図１５（ｂ）は、音高に対する補正機能を説明する模式図である。
図１５（ａ）及び図１５（ｂ）においては、タッチスクリーン３１上に、メニューボタン画像１１２が表示されている。利用者がメニューボタン画像１１２に触れると、制御部１０が、タッチスクリーン３１に、利用者が実行可能な機能の選択肢（機能選択肢という）をリスト形式で表示する。利用者が、表示された機能選択肢から望みのものを選択すると、制御部１０は、選択された機能を実行する。ここで、タッチスクリーン３１に表示される機能選択肢には、制御部１０によって実現される、「音高の補正」及び「音長の補正」が含まれており、利用者は、両者の機能について「ＯＮ／ＯＦＦ」を設定することで、これらの機能を実現するか否かを選択することができる。
【００７２】
図１５（ａ）は、音高に対して補正が行われる前の表示状態を表しており、「こんにちは」という入力文字列に対して、傾斜したピッチカーブ１０３が入力されている様子を例示している。この状態で利用者が再生ボタン画像１０５に触れると、実施形態で説明したように、入力文字列における隣り合う文字同士がピッチベンドによって繋げられた音声データが合成される。図１５（ａ）の状態において、利用者が機能選択肢における「音高の補正」を「ＯＮ」に設定すると、割り当て手段１８が音高に対する補正を行った結果、図１５（ｂ）のような表示状態となる。図１５（ｂ）において、タッチスクリーン３１には、表示制御手段１３によって、音高を表すピアノロールを模した横縞模様の画像が、背景画像として表示されている。ここで、黒色の横縞画像は黒鍵を表し、白色の横縞画像は白鍵を表す。また、各横縞画像には、割り当て手段１８によって、ピッチ方向（Ｙ軸方向）における縦幅及び時間軸方向（Ｘ軸方向）における横幅の全域にわたり、１つの音高が割り当てられている。これらの各横縞画像は、割り当て手段１８が入力文字列１０４を構成する各文字に音高を割り当てるときの指標となる。
【００７３】
このとき、割り当て手段１８は、図１５（ａ）において、ピッチカーブ１０３において入力文字画像１０４の各々に対応する位置に応じて割り当てた音高を、ピアノの音階においてその音高に最も近い音高に変更する。つまり、割り当て手段１８は、指標に相当する横縞画像に従って、ピッチカーブ１０３において入力文字画像１０４を構成する各文字に対応する位置の座標値を補正し、その補正後の座標値に基づき、各文字に音高を割り当てる。これに伴い、表示制御手段１３は、割り当て文字画像１０９の各々が、ピッチ方向において最も近い横縞画像と重なる位置に表示されるように、表示位置の制御を行う。例えば図１５（ｂ）の例では、Ｙ軸において最も下方に表示された白鍵の横縞画像を「Ｃ３」とすると、「こ」という割り当て文字画像１０９には「Ｄ＃３」の音高が割り当てられ、「に」という割り当て文字画像１０９には「Ｇ３」の音高が割り当てられるといった具合である。表示制御手段１３は、このように割り当て文字画像１０９の表示位置を制御するとともに、ピッチカーブ１０３の表示態様も変更する。具体的には、図１５（ｂ）で表されるように、表示制御手段１３は、ピッチカーブ１０３を、各割り当て文字画像１０９及び横縞画像の位置に従って階段状に表示する。すなわち、表示制御手段１３は、利用者によって指定されたピッチカーブ１０３において各割り当て文字画像１０９に対応する位置の座標値を、指標に相当する横縞画像に従って変更し、座標値が変更されたピッチカーブ１０３を表示させることになる。これにより、各々の文字が、割り当てられた音高で割り当てられた音長の期間だけ発音されることとなる。
【００７４】
また、図１５（ｂ）の状態において、利用者が或る割り当て文字画像１０９を指定してピッチ方向（Ｙ軸方向）に引きずるように移動（ピッチ方向へのいわゆる「ドラッグ」）させると、表示制御手段１３は、この割り当て文字画像１０９を、ピッチ方向においてドラッグの終点と最も近い横縞画像に重なるように表示する制御を行う。表示制御手段１３は、この制御に伴って、ピッチカーブ１０３の形状もピッチ方向へとその形状を変更する。この結果、当該割り当て文字画像１０９には、割り当て手段１８により上記横縞画像に相当する音高が割り当てられる。つまり、割り当て手段１８は、指標に相当する横縞画像に従って、ピッチカーブ１０３において割り当て文字画像１０９を構成する各文字に対応する位置の座標値を補正し、その補正後の座標値に基づき、各文字に音高を割り当てる。
【００７５】
また、予め定められた閾値を超える速度でピッチカーブ１０３が入力されると、制御部１０は、そのような速度で入力された範囲のピッチカーブ１０３においては補正を行わない。つまり、上記範囲については、実施形態と同様に、割り当て手段１８によって、或る文字に割り当てられた音高と、この文字の次に入力された文字に割り当てられた音高とが、ピッチベンドによって繋がれる処理が施される。なお、上記処理は、入力済みのピッチカーブ１０３における特定の箇所を、予め定められた閾値を超える速度で、利用者が変形例９で上述したようにドラッグすることで変更した場合についても同様である。
【００７６】
なお、表示制御手段１３及び割り当て手段１８は、「音高の補正」が「ＯＮ」に設定されると同時に、既に表示されている割り当て文字画像１０９及びピッチカーブ１０３に対して上述の処理を行ってもよいし、「音高の補正」が「ＯＮ」に設定された後から入力された割り当て文字画像１０９及びピッチカーブ１０３に対してのみ上述の処理を行ってもよい。このような上述の処理を行うタイミングは、音声合成装置１００において予め定められていてもよいし、タッチスクリーン３１を介して利用者により変更可能としてもよい。
【００７７】
図１６（ａ）及び図１６（ｂ）は、音長に対する補正機能を説明する模式図である。
図１６（ａ）及び図１６（ｂ）は、利用者が、機能選択肢における「音長の補正」を「ＯＮ」に設定した状態を表している。「音長の補正」が「ＯＮ」に設定されると、表示制御手段１３によって、タッチスクリーン３１のＹ軸正方向における上部に時間軸目盛り１１３が表示される。時間軸目盛り１１３は、Ｘ軸正方向に向かうにつれて経過する時間を表している。図１６の例では、時間軸目盛り１１３における１つ分の目盛りが０．１秒を表しているが、この１つ分の目盛りには、０．１秒以外の所定長の時間が対応付けられていてもよいし、小節や拍が対応付けられていてもよい。なお、小節や拍が対応付けられる場合、利用者がタッチスクリーン３１を介して、拍子について「４拍子」や「３／４拍子」といった設定を行えるようにしてもよい。この時間軸目盛り１１３は、割り当て手段１８が入力文字列１０４を構成する各文字に音長を割り当てるときの指標となる。
【００７８】
図１６（ａ）において、利用者が、「ち」という割り当て文字画像１０９を指定して、Ｄ１に示されるような軌跡でドラッグを行うと、このドラッグの軌跡（ドラッグ軌跡という）に応じて、表示制御手段１３は、割り当て文字画像１０９の表示位置を変更して表示させる。ドラッグ軌跡Ｄ１では、「ち」という割り当て文字画像１０９が、「に」という割り当て文字画像１０９に近づくようにドラッグされている。従って、表示制御手段１３は、「ち」という割り当て文字画像１０９の表示位置を、図１６（ｂ）で示される表示位置に変更して表示させる。このとき、割り当て文字画像１０９の表示位置は、時間軸目盛り１１３の１単位（つまり１つ分の各目盛り）に応じた位置に規制される。つまり、割り当て文字画像１０９の表示位置が、或る時間軸目盛り１１３とそれに隣り合う時間軸目盛り１１３との間にある場合には、近いほうの時間軸目盛り１１３の位置に変更される。この表示位置の変更に伴って、割り当て手段１８は、「に」という割り当て文字画像１０９に割り当てる音長を短くするとともに、「ち」という割り当て文字画像１０９に割り当てる音長を長くする。つまり、割り当て手段１８は、指標に相当する時間軸目盛り１１３に従って、ピッチカーブ１０３において割り当て文字画像１０９を構成する各文字に対応する位置の座標値を補正し、その補正後の座標値に基づき、各文字に音長を割り当てる。これに伴い、表示制御手段１３は、入力文字画像１０４の表示位置を変更して表示させる。また、利用者が、入力文字画像１０４を表す矩形の左端（あるいは右端）を指定してドラッグを行うと、割り当て手段１８によって上記入力文字画像１０４に割り当てられる音長が変更される。例えば図１６（ｂ）において、利用者がドラッグ軌跡Ｄ２で表される軌跡でドラッグを行うと、割り当て手段１８は、「こ」という入力文字画像１０４に割り当てる音長を短くするとともに、「ん」という入力文字画像１０４に割り当てる音長を長くする。これに伴い、表示制御手段１３は、割り当て文字画像１０９の表示位置を変更して表示させる。
【００７９】
なお、便宜上、「音高の補正」と「音長の補正」とを、それぞれ別の図面を用いて、個別の機能として説明したが、両者の機能は、制御部１０によって同時に並列で実行されてもよい。また、表示制御手段１３が、ピアノロールを模した背景画像を時間軸方向（Ｘ軸方向）の全域に渡って表示することに代えて、タッチスクリーン３１の左端にのみピアノロールを模した背景画像を表示するようにしてもよい。以上述べた変形例１２によれば、利用者が、文字列に対して直感的に音符列の割り当てを行うことが可能となる。
【００８０】
＜変形例１３＞
実施形態においては、文字列を構成する各文字の、発音時間の比を含む複数の発音レコードからなる発音辞書ＤＢ２１を記憶部２０が備えており、割り当て手段１８が、文字列音長と発音レコードとに基づいて各文字に割り当てる音長を決定していたが、これに限らず、発音辞書ＤＢ２１に代えて、発音レコードが各文字についての発音時間の絶対値を含むような初期値発音辞書ＤＢを、記憶部２０が備えるようにしてもよい。
【００８１】
図１７は、初期値発音辞書ＤＢの内容を表す図である。
初期値発音辞書ＤＢに含まれる各発音レコードは、識別ＩＤ、文字、初期値発音時間といった複数の項目からなる。識別ＩＤは、各発音レコードを一意に識別するためのＩＤであり、例えば４桁の数字からなる。文字は、発音の対象となる文字として予め決められた１文字である。初期値発音時間は、各発音レコードにおける各文字について、予め割り当てられた発音時間の初期値である。初期値発音時間においては、実験的に求められた、該当する文字が自然な抑揚で発音された場合に掛かる時間の長さに基づいて、各文字における音長の初期値が予め決定されている。例えば図１７において、文字「あ」、「い」、「う」及び「え」という文字について、初期値として「０．３秒」という長さの発音時間が予め割り当てられている。
【００８２】
図１８（ａ）及び図１８（ｂ）は、変形例１３に係る、音声合成装置１００の表示内容を表す図である。
図１８（ａ）は、利用者がテキストボックス１０１に文字列を入力した直後であって、利用者によってピッチカーブ１０３が入力されていない状態を表している。図１８（ａ）においては、「あたま」という文字列が入力されており、「あ」、「た」及び「ま」という各文字に対して、割り当て手段１８によって、初期値発音辞書ＤＢの発音レコードに基づいて、同一の長さの初期値発音時間が音長として割り当てられている。また、図１８（ａ）においては、入力文字画像１０４のＸ軸方向における横幅と、発音基準線１０２のＹ軸方向における位置に基づいて、表示制御手段１３によってデフォルトのピッチカーブ１０３が表示されている。
【００８３】
図１８（ｂ）は、図１８（ａ）の状態から、利用者がピッチカーブ１０３を入力した状態を表している。図１８（ｂ）においては、ピッチカーブ１０３の形状に従って、入力文字画像１０４の各々について、表示制御手段１３によって、ピッチ方向（Ｙ軸方向）における表示位置が変更されている。ここで、入力文字画像１０４の各々には、初期値発音時間が既に割り当てられているから、実施形態のように、ピッチカーブ１０３の形状に従って、割り当て手段１８によって文字列音長と発音時間の比を含む複数の発音レコードとに基づいた音長が、各入力文字画像１０４に割り当てられることはない。一方、入力文字列の最初の文字を表す入力文字画像１０４の左端から、入力文字列の最後の文字を表す入力文字画像１０４の右端までの長さ（つまり、入力文字画像１０４の時間軸方向（Ｘ軸方向）における幅）が、入力されたピッチカーブ１０３の時間軸方向（Ｘ軸方向）における長さよりも短い場合、以下のようにしてもよい。この場合、割り当て手段１８によって、入力文字列の最後の文字を表す入力文字画像１０４に対して、入力されたピッチカーブ１０３の終端に合わせた音長が割り当てられる。図１８（ｂ）においては、割り当て手段１８によって入力文字列の最後の文字を表す「ま」という入力文字画像１０４に対して、入力されたピッチカーブ１０３の終端に合わせた音長が割り当てられている。
【００８４】
なお、割り当て手段１８が、入力文字列の最後の文字を表す入力文字画像１０４に対して、ピッチカーブ１０３の終端に合わせて音長を割り当てる処理は、利用者によって「ＯＮ／ＯＦＦ」を設定可能としてもよい。また、利用者がピッチカーブ１０３を入力した際に、割り当て手段１８が入力文字画像１０４の各々に割り当てる発音時間は、あくまでも初期値であるため、利用者は、ピッチカーブ１０３の入力後に、入力文字画像１０４を表す矩形の左端（あるいは右端）又は割り当て文字画像１０９を時間軸方向（Ｘ軸方向）にドラッグすることで、各文字に割り当てられる音長を変更させることが可能である。また、利用者がタッチスクリーン３１を介して設定を変更することで、当該変形例のような初期値発音辞書ＤＢに基づく音長の割り当て処理に代わって、実施形態における、各文字の発音時間の比を記憶した発音辞書ＤＢ２１に基づく音長の割り当て処理に移行することを可能にしてもよい。また、その逆に、利用者がタッチスクリーン３１を介して設定を変更することで、各文字の発音時間の比を記憶した発音辞書ＤＢ２１に基づく音長の割り当て処理に代わって、当該変形例のような初期値発音辞書ＤＢに基づく音長の割り当て処理に移行することを可能にしてもよい。以上述べた変形例１３によれば、各文字について、利用者の操作に依らず、自然な抑揚で発音された場合の音長が初期値として割り当てられる。なお、実施形態における発音辞書ＤＢ２１及び上記初期値発音辞書ＤＢはいずれも発音長辞書記憶手段に相当する。
【００８５】
＜変形例１４＞
音声合成装置１００のハードウェア構成は、図１で説明したものに限定されない。図５に示される機能を実装できるものであれば、音声合成装置１００はどのようなハードウェア構成を有していてもよい。例えば、音声合成装置１００は、図５に示される機能要素の各々に対応する専用のハードウェア（回路）を有していてもよい。
【００８６】
＜変形例１５＞
上述の実施形態で説明した音声合成アプリケーションに関するプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００８７】
１０…制御部、１１…文字列取得手段、１２…基準音長特定手段、１３…表示制御手段、１４…文字間隔制御手段、１５…軌跡分析手段、１６…音声レコード生成手段、１７…音声合成手段、１８…割り当て手段、２０…記憶部、２１…発音辞書ＤＢ、２２…最短発音時間ＤＢ、２３…音声ＤＢ、２４…音響効果ＤＢ、３０…ＵＩ部、３１…タッチスクリーン、４０…音声出力部、１００…音声合成装置、１０１…テキストボックス、１０２…発音基準線、１０３、１０３ａ〜１０３ｆ…ピッチカーブ、１０４、１０４ａ、１０４ａ’、１０４ｂ…入力文字画像、１０５…再生ボタン画像、１０６…戻るボタン画像、１０７、１０７ａ、１０７ａ’、１０７ｂ…入力文字線、１０８Ａ〜１０８Ｅ…入力文字画像群、１０９…割り当て文字画像、１１０…筐体、１１１…スピーカ、１１２…メニューボタン画像、１１３…時間軸目盛り、Ａ〜Ｅ、Ａ’…交差点、Ｌ１ａ、Ｌ１ａ’、Ｌ２…接線、α、α’…差分長、β、γ…距離
【図１】
0005879682.tif 000002
【図２】
0005879682.tif 000003
【図３】
0005879682.tif 000004
【図４】
0005879682.tif 000005
【図５】
0005879682.tif 000006
【図６】
0005879682.tif 000007
【図７】
0005879682.tif 000008
【図８】
0005879682.tif 000009
【図９】
0005879682.tif 000010
【図１０】
0005879682.tif 000011
【図１１】
0005879682.tif 000012
【図１２】
0005879682.tif 000013
【図１３】
0005879682.tif 000014
【図１４】
0005879682.tif 000015
【図１５】
0005879682.tif 000016
【図１６】
0005879682.tif 000017
【図１７】
0005879682.tif 000018
【図１８】
0005879682.tif 000019