(57)【特許請求の範囲】
【請求項１】
音符データ、前記音符データに対応する音素データ、前記音符データおよび前記音素データ以外の音声合成装置を制御する制御データを含む音声合成用データを編集する装置であって、
前記音素データに基づく制御の開始時刻および終了時刻の少なくとも一方についての第１の変更に応じて、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻に、当該音素データが示す音素の種類に応じた条件で、前記第１の変更の態様に対応した態様の第２の変更を生じさせる制御を行う制御手段を有することを特徴とする音声合成用データ編集装置。
【請求項２】
前記制御手段は、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻を、前記音素データに基づく制御の開始時刻または終了時刻の変更に追従させる制御を行うことを特徴とする請求項１に記載の音声合成用データ編集装置。
【請求項３】
前記制御手段は、母音を示す音素データに先行し、または後続する無声破裂子音を示す音素データに基づく制御の開始時刻および終了時刻の少なくとも一方の変更に応じて、変更前における前記無声破裂子音を示す音素データに基づく制御の実行期間および前記母音を示す音素データに基づく制御の実行期間の境界時刻と、変更前における前記無声破裂子音を示す音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻との時間間隔が維持されるように、前記制御データに基づく制御の実行時刻を変更する制御を行うことを特徴とする請求項２に記載の音声合成用データ編集装置。
【請求項４】
前記制御手段は、無声破裂子音以外の音素を示す音素データに基づく制御の開始時刻から終了時刻までの期間の伸縮に応じて、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間を当該期間内の制御データに基づく制御の実行時刻により区分した各区間の比率が維持されるように、前記制御データに基づく制御の実行時刻を変更する制御を行うことを特徴とする請求項１に記載の音声合成用データ編集装置。
【請求項５】
表示手段をさらに有し、
前記制御手段は、一の音符を示す音符データに対応する複数の音素データが表す各音素の境界を前記表示手段に表示させることを特徴とする請求項１から４のいずれか１の請求項に記載の音声合成用データ編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声合成装置を制御する音声合成用データを編集する音声合成用データ編集装置に関する。
【背景技術】
【０００２】
周知の通り、音声合成装置は、複数種類の時系列の制御データからなる音声合成用データに従って音声合成を行う。音声合成装置は、例えば、特許文献１に開示されている。この音声合成装置を制御する音声合成用データには、音符データと、音量データなどの音符データ以外の制御データが含まれる。音符データは、音声合成装置が合成する音声の音高、音素、発音開始時刻、発音終了時刻などを制御するデータである。そして、このような音声合成用データをユーザが編集するための音声合成用データ編集装置が各種提供されている。
【０００３】
図１１は、従来の音声合成用データ編集装置の画面の表示例を模式的に示した図である。図１１の例では、音符データを表す棒状の図形が、横軸が時間であり縦軸が音高である座標平面上に配置されて画面の上側領域に表示されている。ユーザは、このように表示されている図形の位置や長さなどをマウスなどのポインティングデバイスの操作により変更することによって音符データを編集することができる。また、図１１の例では、制御データの一例である音量データの表すグラフが画面の下側領域に表示されている。このグラフの横軸は時間であり、縦軸は音量である。ユーザは、このように表示されているグラフの形状などをマウスなどのポインティングデバイスの操作により変更することによって音量データを編集することができる。
【０００４】
音声合成装置には、音符データと、音符データ以外の他の制御データとが同期して供給される。そして、音声合成装置は、音符データと、当該音符データが示す音の発音期間（発音開始時刻から発音終了時刻までの期間）に存在する他の制御データとによって当該音符データが示す音の発音期間内の音声を合成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１１８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来の音声合成用データ編集装置では、音符データが示す音の発音期間が変化すると、当該音符データと当該音符データに対応すべき他の制御データとに時間的なずれが生じる。図１２は、図１１の音符データが示す音の発音開始時刻を時間軸における過去方向へ移動して発音期間を長くした後の画面の表示例を模式的に示した図である。図１２の音量データの表すグラフは、図１１のそれから変わっていない。図１２の例では、音符データが示す音の発音開始時刻（すなわち、音符データを表す図形の左端）を基準とした音量データが示す音量の立ち上がりタイミングが、図１１に比べて、時間軸における未来方向へずれている。このように音符データが示す音の発音タイミングと音量データが示す音量の立ち上がりタイミングとがずれると、当該音符データが示す音の発音期間内の音声は、適切に合成されない。そこで、従来の音声合成用データ編集装置のユーザは、音符データを編集した際には、当該音符データと当該音符データに対応すべき他の制御データとに時間的なずれが生じないように、当該音符データに対応すべき他の制御データも当該音符データの編集に合わせて別個に編集する。
【０００７】
このような他の制御データを変更するための作業は複雑であり、多くのユーザは、試行錯誤により適切な制御データへの変更を行っていた。このため、従来の音声合成用データ編集装置は、ユーザにとって編集の作業効率が良いものではなかった。
【０００８】
この発明は以上のような事情に鑑みてなされたものであり、音声合成用データを編集する作業の効率を向上させる技術的手段を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、音符データ、前記音符データに対応する音素データ、前記音符データおよび前記音素データ以外の音声合成装置を制御する制御データを含む音声合成用データを編集する装置であって、前記音素データの変更に追従して、前記音素データが示す音素の種類に応じた条件で前記制御データの少なくとも一部を変更する制御を行う制御手段を有することを特徴とする音声合成用データ編集装置を提供する。
【００１０】
この発明によれば、音符データに対応する音素データの変更に追従して、音素データが示す音素の種類に応じた条件で音符データおよび音素データ以外の制御データが変更される。このため、ユーザが音符データを編集すると、音符データおよび音素データ以外の制御データも音素データが示す音素の性質に適応した条件で編集される。従って、本音声合成用データ編集装置を用いれば、音声合成用データを編集する作業の効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の第１実施形態である音声合成用データ編集装置１の構成を示すブロック図である。
【図２】同音声合成用データ編集装置１の制御部１１が、音符データ１２２の中のある一つの音符データＮ１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。
【図３】同音声合成用データ編集装置１の制御部１１が実行する処理の流れを示すフローチャートである。
【図４】図２に示す音符データＮ１を表す図形全体を時間軸における過去方向へ移動させた場合の画面の表示例を示す図である。
【図５】図２に示す音符データＮ１が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。
【図６】同音声合成用データ編集装置１の制御部１１が、音符データ１２２の中のある一つの音符データＮ１１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。
【図７】図６に示す音符データＮ１１が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。
【図８】同音声合成用データ編集装置１の制御部１１が、音符データ１２２の中のある一つの音符データＮ２１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。
【図９】図８に示す音符データＮ２１が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。
【図１０】この発明の変形例（４）における音符データと音素データの他の表示例を示す図である。
【図１１】従来の音声合成用データ編集装置の画面の表示例を模式的に示した図である。
【図１２】図１１の音符データが示す音の発音開始時刻を時間軸における過去方向へ移動して発音期間を長くした後の画面の表示例を模式的に示した図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、この発明の実施形態について説明する。
＜第１実施形態＞
図１は、この発明の第１実施形態による音声合成用データ編集装置１の構成を示すブロック図である。図１に示すように、音声合成用データ編集装置１は、制御部１１、不揮発性記憶部１２、揮発性記憶部１３、データＩ／Ｏ（インプット／アウトプット）１４、Ｄ／Ａ（デジタル／アナログ）変換回路１５、表示部１６、操作部１７およびこれらの各構成要素間のデータの授受を媒介するバス１８を含んでいる。
【００１３】
表示部１６は、各種データの表す内容などを画面に表示する表示手段である。操作部１７は、例えば、マウスなどである。操作部１７は、ユーザによる操作を受け付け、その操作内容を表すデータを制御部１１に与える入力手段である。なお、操作内容を表すデータとは、例えば、ドラッグアンドドロップ操作であればそのドラッグの開始位置およびドロップ位置の座標データなどである。
【００１４】
揮発性記憶部１３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。揮発性記憶部１３は、不揮発性記憶部１２に記憶されているプログラムを実行するためのワークエリアとして使用される。不揮発性記憶部１２は、例えば、フラッシュＲＯＭなどである。不揮発性記憶部１２には、編集プログラム１２１および１または複数の曲データ１２４が格納されている。１つの曲データ１２４は、音符データ１２２と制御データ１２３とから構成されている。音符データ１２２および制御データ１２３は、音声合成装置を制御する音声合成用データである。より詳細には、音符データ１２２は、音声合成装置が行う音声合成に用いられる制御データであって、音の音高や発音期間や音素などのデータを含むものである。制御データ１２３は、音声合成装置が行う音声合成に用いられる制御データであって、音符データ１２２以外の他の制御データである。例えば、制御データ１２３は、音量データや音程データなどである。なお、以下、音符データ以外の他の制御データを単に制御データと呼ぶことがある。編集プログラム１２１は、ユーザによる操作部１７の操作に応じて音符データ１２２および制御データ１２３を変更するプログラムである。
【００１５】
制御部１１は、例えばＣＰＵ（中央演算装置）である。制御部１１は、不揮発性記憶部１２に記憶されているプログラムを実行することにより音声合成用データ編集装置１の制御中枢として機能する。制御部１１は、音符データ１２２の表す内容および制御データ１２３の表す内容を表示部１６の画面に表示させる。
【００１６】
図２は、制御部１１が、音符データ１２２の中のある一つの音符データＮ１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。制御部１１は、音符データＮ１を表す棒状の図形を横軸が時間であり縦軸が音高である座標平面上に配置し、その座標平面および音符データＮ１を表す図形を画面の上側領域に表示させる。また、制御部１１は、横軸が時間であり縦軸が音量である座標平面上に音量データの表すグラフを描き、その座標平面および音量データの表すグラフを画面の下側領域に表示させる。この際、制御部１１は、画面の上側領域の座標平面の横軸と下側領域の座標平面の横軸とを対応付けて表示させる。
【００１７】
図２に示す音符データＮ１には、子音を示す音素データＰｈ１と、母音を示す音素データＰｈ２とが含まれている。音素データＰｈ１は、無声破裂子音/ｋ/を示している。音素データＰｈ２は、母音/ａ/を示している。図２の音符データＮ１では、音素データＰｈ１の終了に後続して音素データＰｈ２が開始される。また、図２の音符データＮ１には、音素データＰｈ１およびＰｈ２に加えて、音素データＰｈ１の開始時刻（すなわち、音符データＮ１の開始時刻）Ｓ１、音素データＰｈ１の終了時刻（すなわち、音素データＰｈ２の開始時刻）Ｖ１、音素データＰｈ２の終了時刻（すなわち、音符データＮ１の終了時刻）Ｅ１の各データが含まれている。図２の音符データＮ１を表す図形の左端は、音符データＮ１の開始時刻Ｓ１に対応し、音符データＮ１を表す図形の右端は、音符データＮ１の終了時刻Ｅ１に対応している。音声合成用データ編集装置１のユーザは、図２のように表示されている音符データＮ１を表す図形の位置や長さなどを操作部１７を操作して変更することによって音符データＮ１を編集することができる。
【００１８】
図２に示す音量データＣ１は、時刻Ｐ１における音量データであり、音量データＣ２は、時刻Ｐ２における音量データであり、音量データＣ３は、時刻Ｐ３における音量データである。時刻Ｐ１、Ｐ２およびＰ３は、音素データＰｈ１の開始時刻Ｓ１から音素データＰｈ１の終了時刻Ｖ１までの期間に含まれる時刻である。従って、音量データＣ１〜Ｃ３は、音素データＰｈ１に対応する音量データである。また、図２の時刻Ｐ３以降は、音量データＣ３が維持されている。従って、音素データＰｈ２に対応する音量データはＣ３である。
【００１９】
音符データの開始時刻は、音声合成装置に対してノートオンを指示する時刻である。音符データの終了時刻は、音声合成装置に対してノートオフを指示する時刻である。音素データの開始時刻は、音声合成装置に対して音素の発声開始を指示する時刻である。音素データの終了時刻は、音声合成装置に対して音素の発声終了を指示する時刻である。音量データなどの制御データの時刻は、音声合成装置に対して音量データなどの制御データを送信する時刻である。音声合成装置は、例えば音量データを受信すると、その時点までに維持していた音量を音量データが示す音量に変更する。
【００２０】
音声合成用データ編集装置１の制御部１１は、編集プログラム１２１を実行することにより、音符データ１２２に対応する音素データ（具体的には、音符データＮ１に含まれる音素データＰｈ１）の変更に追従して、制御データ１２３の少なくとも一部（例えば音量データＣ１〜Ｃ３）を、音素データが示す音素の種類（例えば無声破裂子音）に応じた条件で変更する制御を行う制御手段として機能する。制御部１１が行う処理の内容は、動作の説明において詳述する。
【００２１】
また、音声合成用データ編集装置１は、例えば、音声合成装置の役割も果たす。具体的には、図１の不揮発性記憶部１２には、音声合成プログラム（図示略）が格納されている。制御部１１は、音声合成プログラムを実行することにより、編集プログラム１２１に従った変更がなされた音声合成用データに基づいて音声波形を合成し、音声合成波形のサンプルデータを出力する制御を行う。この際、制御部１１は、Ｄ／Ａ変換回路１５によりサンプルデータをアナログ信号に変換し、そのアナログ信号をサウンドシステム（図示略）に出力する。これにより、合成音が放音される。また、制御部１１は、データＩ／Ｏ１４を介して曲データ１２４を他の装置から受け取って編集し、編集後の曲データ１２４をデータＩ／Ｏ１４を介して他の装置へ送信しても良い。
以上が、音声合成用データ編集装置１の構成である。
【００２２】
次に、音声合成用データ編集装置１の動作を説明する。図３は、音声合成用データ編集装置１の制御部１１が編集プログラム１２１に従って実行する処理の流れを示すフローチャートである。制御部１１は、ユーザの操作部１７の操作により編集プログラム１２１の起動指示が与えられると編集プログラム１２１を実行する。制御部１１は、編集プログラム１２１の実行の開始後に取得したデータが編集プログラム１２１の終了を示すものであった場合（ＳＡ１００：Ｙｅｓ）編集プログラム１２１を終了する。制御部１１は、取得したデータが編集プログラム１２１の終了を示すものでない場合（ＳＡ１００：Ｎｏ）、ステップＳＡ１１０〜ステップＳＡ２１０の処理を繰り返す。
【００２３】
ステップＳＡ１１０〜ステップＳＡ２１０において、制御部１１は、取得したデータに応じて、揮発性記憶部１３に記憶されたデータ（具体的には、不揮発性記憶部１２から揮発性記憶部１３へ読み出した音符データ１２２および制御データ１２３など）を変更する。このステップＳＡ１１０〜ステップＳＡ２１０において制御部１１が行う処理の概要を説明する。このステップＳＡ１１０〜ステップＳＡ２１０では、制御部１１は、子音を示す音素データの開始時刻および終了時刻の少なくとも一方の変更に応じて、子音を示す音素データの変更前の開始時刻から終了時刻までの期間内の制御データ（例えば、音量データ）の時刻を、当該音素データが示す子音の種類（例えば、無声破裂子音であるか否か）に応じた条件で変更する。変更される音素データが示す音素の種類が無声破裂子音である場合、制御部１１は、母音を示す音素データに先行し、または後続する無声破裂子音を示す音素データの開始時刻および終了時刻の少なくとも一方の変更に応じて、変更前における無声破裂子音を示す音素データおよび母音を示す音素データの境界時刻と、変更前における無声破裂子音を示す音素データの開始時刻から終了時刻までの期間内の制御データの時刻との時間間隔が維持されるように、制御データの時刻を変更する制御を行う。一方、変更される子音データが示す音素の種類が無声破裂子音でない場合、制御部１１は、無声破裂子音以外の子音を示す音素データの開始時刻から終了時刻までの期間の伸縮に応じて、変更前の子音を示す音素データの開始時刻から終了時刻までの期間を当該期間内の制御データの時刻により区分した各区間の比率が維持されるように、制御データの時刻を変更する制御を行う。
【００２４】
次に、ステップＳＡ１１０〜ステップＳＡ２１０において制御部１１が行う処理の詳細を説明する。まず、制御部１１は、ユーザによる操作部１７の操作を示す操作データを操作部１７から取得すると、取得した操作データが音符データ１２２の変更を示すものであるか否かを判定する（ＳＡ１１０）。例えば、制御部１１は、取得した操作データが、音符データ１２２の開始時刻や終了時刻を表す座標データであるか否かなどによりステップＳＡ１１０の判定を行う。取得したデータが音符データ１２２の変更を示すものでない場合（ＳＡ１１０：Ｎｏ）、制御部１１は、そのまま描画の更新を行う（ＳＡ２１０）。
【００２５】
取得した操作データが音符データ１２２の変更を示すものである場合（ＳＡ１１０：Ｙｅｓ）、制御部１１は、取得した操作データが音素データの変更に従って制御データを変更するものであるか否かを判定する（ＳＡ１２０）。例えば、制御部１１は、取得した操作データが、音素が対応付けられた音符を示す音符データの変更を示すものであるか、あるいは、音素が対応付けられていない音符を示す音符データの変更を示すものであるかなどによりステップＳＡ１２０の判定を行う。これは、音符に音素が対応付けられている場合、音符データが示す音の発音期間の変更に従って音素の発声期間も変わり、その音素の発声期間の変更に合わせて制御データを変更する必要が生じるからである。
【００２６】
取得した操作データが音素データの変更に従って制御データを変更するものでない場合（ＳＡ１２０：Ｎｏ）、制御部１１は、そのまま描画の更新を行う（ＳＡ２１０）。取得した操作データが音素データの変更に従って制御データを変更するものである場合（ＳＡ１２０：Ｙｅｓ）、制御部１１は、取得した操作データが音素データの継続長、すなわち、音素データの開始時刻から終了時刻までの期間長の変更を示すものであるか否かを判定する（ＳＡ１３０）。取得した操作データが音素データの継続長の変更を示すものでない場合（ＳＡ１３０：Ｎｏ）、制御部１１は、取得した操作データが音符データの開始時刻の変更を示すものであるか否かを判定する（ＳＡ１４０）。取得した操作データが音符データの開始時刻の変更を示すものでない場合（ＳＡ１４０：Ｎｏ）、制御部１１は、そのまま描画の更新を行う（ＳＡ２１０）。取得した操作データが音符データの開始時刻の変更を示すものである場合（ＳＡ１４０：Ｙｅｓ）、制御部１１は、音素データの開始時刻に従って制御データを変更する（ＳＡ１５０）。ステップＳＡ１５０の後、制御部１１は、変更後の音符データおよび制御データの描画の更新を行う（ＳＡ２１０）。
【００２７】
ステップＳＡ１５０へ至る流れおよびステップＳＡ１５０の処理を具体的に説明する。
例えば、ユーザは、図２に示す音符データＮ１を表す図形をマウスで選択し、当該図形全体を時間軸における過去方向へ移動させたとする。図４は、この場合の画面の表示例を示す図である。制御部１１は、変更後の音符データＮ１ａを表す図形の座標データを取得する。この例では、音符データＮ１を表す図形を移動させているため、ステップＳＡ１１０の判定結果はＹｅｓとなり、次のステップＳＡ１２０の判定結果もＹｅｓとなる。また、変更後の音素データＰｈ１ａの開始時刻Ｓ１ａと変更後の音素データＰｈ１ａの終了時刻Ｖ１ａとの間隔が、変更前の音素データＰｈ１の開始時刻Ｓ１と変更前の音素データＰｈ１の終了時刻Ｖ１との間隔と同じであるため、ステップＳＡ１３０の判定結果はＮｏとなる。また、変更後の音符データＮ１ａの開始時刻と変更前の音符データＮ１の開始時刻とが異なるため、ステップＳＡ１４０の判定結果はＹｅｓとなる。
【００２８】
ステップＳＡ１５０では、制御部１１は、まず、変更前の音符データＮ１に含まれる音素データＰｈ１と音素データＰｈ１の開始時刻Ｓ１と音素データＰｈ１の終了時刻Ｖ１とから、音素データＰｈ１の開始時刻Ｓ１から音素データＰｈ１の終了時刻Ｖ１までの期間内の制御データ（具体的には、音量データＣ１〜Ｃ３）を認識する。次に、制御部１１は、音素データＰｈ１に対応する音量データＣ１〜Ｃ３の時刻Ｐ１〜Ｐ３を、音符データＮ１の開始時刻、すなわち音素データＰｈ１の開始時刻Ｓ１の変更に従って変化させる。より詳細には、制御部１１は、変更前における音素データＰｈ１の開始時刻Ｓ１と、変更前における音素データＰｈ１の開始時刻Ｓ１から終了時刻Ｖ１までの期間内の音量データＣ１〜Ｃ３の時刻Ｐ１〜Ｐ３との時間間隔が維持されるように、音量データＣ１〜Ｃ３の時刻を変更させる。図４の例では、変更後の音素データＰｈ１ａの開始時刻Ｓ１ａから変更後の音量データＣ１ａの時刻Ｐ１ａまでの時間間隔（Ｓ１ａ−Ｐ１ａ）が、変更前の音素データＰｈ１の開始時刻Ｓ１から変更前の音量データＣ１の時刻Ｐ１までの時間間隔（Ｓ１−Ｐ１）と同じになるように、変更後の音量データＣ１ａの時刻Ｐ１ａを決定する。変更後の音量データＣ２ａの時刻Ｐ２ａおよび変更後の音量データＣ３ａの時刻Ｐ３ａも音量データＣ１ａの時刻Ｐ１ａと同様にして決定する。以上が、ステップＳＡ１５０の具体例である。なお、音符データＮ１を時間軸における過去方向へ移動させた例を示したが、音符データＮ１を時間軸における未来方向へ移動させた場合も同様である。
【００２９】
次に、図３のフローチャートのステップＳＡ１３０において、取得した操作データが音素データの継続長の変更を示すものである場合（ＳＡ１３０：Ｙｅｓ）、制御部１１は、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、その変更される音素データの終了に後続して母音データが開始されるものであるか否かを判定する（ＳＡ１６０）。ステップＳＡ１６０の条件を満足する場合（ＳＡ１６０：Ｙｅｓ）、制御部１１は、その変更される音素データの終了時刻に従って制御データを変更する（ＳＡ１７０）。ステップＳＡ１７０の後、制御部１１は、変更後の音符データおよび制御データの描画の更新を行う（ＳＡ２１０）。
【００３０】
ステップＳＡ１７０へ至る流れおよびステップＳＡ１７０の処理を具体的に説明する。
例えば、ユーザは、図２に示す音符データＮ１の開始時刻Ｓ１を時間軸における過去方向へ移動させて、当該音符データＮ１が示す音の発音期間を長くさせたとする。図５は、この場合の画面の表示例を示す図である。図５の例では、当該音符データＮ１が示す音の発音期間を長くさせたのに伴って、変更後の音素データＰｈ１´の開始時刻Ｓ１´が変更前の音素データＰｈ１の開始時刻Ｓ１に比べ過去方向へ移動し、変更後の音素データＰｈ１´の終了時刻Ｖ１´が変更前の音素データＰｈ１の終了時刻Ｖ１に比べ未来方向へ移動している。制御部１１は、変更させた後の音符データＮ１´を表す図形の座標データを取得する。この例では、変更後の音素データＰｈ１´の開始時刻Ｓ１´と変更後の音素データＰｈ１´の終了時刻Ｖ１´との間隔が、変更前の音素データＰｈ１の開始時刻Ｓ１と変更前の音素データＰｈ１の終了時刻Ｖ１との間隔よりも大きいため、ステップＳＡ１３０の判定結果はＹｅｓとなる。また、この例では、開始時刻および終了時刻が変更される音素データＰｈ１が示す音素は無声破裂子音/ｋ/であり、音素データＰｈ１に後続して母音/ａ/を示す音素データＰｈ２が開始されるため、ステップＳＡ１６０の判定結果はＹｅｓとなる。
【００３１】
ステップＳＡ１７０では、制御部１１は、まず、ステップＳＡ１５０と同様に、音素データＰｈ１の開始時刻Ｓ１から音素データＰｈ１の終了時刻Ｖ１までの期間内の音量データＣ１〜Ｃ３を認識する。次に、制御部１１は、音素データＰｈ１に対応する音量データＣ１〜Ｃ３の時刻Ｐ１〜Ｐ３を、音素データＰｈ１の終了時刻Ｖ１（すなわち、子音を示す音素データＰｈ１と母音を示す音素データＰｈ２との境界時刻）の変更に従って変化させる。より詳細には、制御部１１は、音素データＰｈ１の終了時刻Ｖ１と、音素データＰｈ１の開始時刻Ｓ１から終了時刻Ｖ１までの期間内の音量データＣ１〜Ｃ３の時刻Ｐ１〜Ｐ３との時間間隔が維持されるように、音量データＣ１〜Ｃ３の時刻Ｐ１〜Ｐ３を変更する。図５の例では、変更後の音素データＰｈ１´の終了時刻Ｖ１´から変更後の音量データＣ１´の時刻Ｐ１´までの時間間隔（Ｖ１´−Ｐ１´）が、変更前の音素データＰｈ１の終了時刻Ｖ１から変更前の音量データＣ１の時刻Ｐ１までの時間間隔（Ｖ１−Ｐ１）と同じになるように、変更後の音量データＣ１´の時刻Ｐ１´を決定する。変更後の音量データＣ２´の時刻Ｐ２´および変更後の音量データＣ３´の時刻Ｐ３´も音量データＣ１´の時刻Ｐ１´と同様にして決定する。以上が、ステップＳＡ１７０の具体例である。なお、音符データＮ１が示す音の発音期間を長くさせた例を示したが、音符データＮ１が示す音の発音期間を短くさせた場合も同様である。
【００３２】
次に、図３のフローチャートのステップＳＡ１６０において、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、その変更される音素データの終了に後続して母音データが開始されるものでない場合（ＳＡ１６０：Ｎｏ）、制御部１１は、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、母音データに後続してその変更される音素データが開始されるものであるか否かを判定する（ＳＡ１８０）。ステップＳＡ１８０の条件を満たす場合（ＳＡ１８０：Ｙｅｓ）、制御部１１は、その変更される音素データの開始時刻に従って制御データを変更する（ＳＡ１９０）。ステップＳＡ１９０の後、制御部１１は、変更後の音符データおよび制御データの描画の更新を行う（ＳＡ２１０）。
【００３３】
ステップＳＡ１９０へ至る流れおよびステップＳＡ１９０の処理を具体的に説明する。
図６は、制御部１１が、音符データ１２２の中のある一つの音符データＮ１１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。図６の音符データＮ１１は、母音/ａ/を示す音素データＰｈ１１と無声破裂子音/ｋ/を示す音素データＰｈ１２とを含んでいる。図６の音符データＮ１１は、母音/ａ/を示す音素データＰｈ１１の終了に後続して無声破裂子音/ｋ/を示す音素データＰｈ１２が開始される点において図２の音符データＮ１と異なる。音符データＮ１１には、音素データＰｈ１１およびＰｈ１２に加えて、音素データＰｈ１１の開始時刻（すなわち、音符データＮ１１の開始時刻）Ｓ１１、音素データＰｈ１１の終了時刻（すなわち、音素データＰｈ１２の開始時刻）Ｖ１１、音素データＰｈ１２の終了時刻（すなわち、音符データＮ１１の終了時刻）Ｅ１の各データが含まれている。なお、日本語では、音節が「母音（Ｖ）」や「子音＋母音（ＣＶ）」により構成されるが、他の言語では、音節が「母音＋子音（ＶＣ）」や「子音＋母音＋子音（ＣＶＣ）」により構成されるものもある。図６は、このような「母音＋子音（ＶＣ）」の構成を含む音節について好適な例である。
【００３４】
例えば、ユーザは、図６に示す音符データＮ１１の終了時刻Ｅ１を時間軸における未来方向へ移動させて、当該音符データＮ１１が示す音の発音期間を長くさせたとする。図７は、この場合の画面の表示例を示す図である。図７の例では、当該音符データＮ１１の発音期間を長くさせたのに伴って、変更後の音素データＰｈ１２´の終了時刻Ｅ１１´が変更前の音素データＰｈ１２の終了時刻Ｅ１１´に比べ未来方向へ移動し、変更後の音素データＰｈ１２´の開始時刻Ｖ１１´が変更前の音素データＰｈ１２の開始時刻Ｖ１１に比べ過去方向へ移動している。制御部１１は、変更後の音符データＮ１１´を表す図形の座標データを取得する。この例では、変更後の音素データＰｈ１２´の終了時刻Ｅ１１´と変更後の音素データＰｈ１２´の開始時刻Ｖ１１´との間隔が、変更前の音素データＰｈ１２の終了時刻Ｅ１１と変更前の音素データＰｈ１２の開始時刻Ｖ１１との間隔よりも大きいため、ステップＳＡ１３０の判定結果はＹｅｓとなる。また、この例では、開始時刻および終了時刻が変更される音素データＰｈ１２が示す音素は無声破裂子音/ｋ/であり、母音/ａ/を示す音素データＰｈ１１に後続して音素データＰｈ１２が開始されるため、ステップＳＡ１６０の判定結果はＮｏとなり、次のステップＳＡ１８０の判定結果はＹｅｓとなる。
【００３５】
ステップＳＡ１９０では、制御部１１は、まず、ステップＳＡ１５０と同様に、音素データＰｈ１２の開始時刻Ｖ１１から音素データＰｈ１２の終了時刻Ｅ１１までの期間内の音量データＣ１１〜Ｃ１３を認識する。次に、制御部１１は、音素データＰｈ１２に対応する音量Ｃ１１〜Ｃ１３の時刻Ｐ１１〜Ｐ１３を、音素データＰｈ１２の開始時刻Ｖ１１（すなわち、子音を示す音素データＰｈ１２と母音を示す音素データＰｈ１１の境界時刻）の変更に従って変化させる。より詳細には、制御部１１は、音素データＰｈ１２の開始時刻Ｖ１１と、音素データＰｈ１２の開始時刻Ｓ１１から終了時刻Ｖ１１までの期間内の音量データＣ１１〜Ｃ１３の時刻Ｐ１１〜Ｐ１３との時間間隔が維持されるように、音量データＣ１１〜Ｃ１３の時刻Ｐ１１〜Ｐ１３を変更する。図７の例では、制御部１１は、変更後の音素データＰｈ１２´の開始時刻Ｖ１１´から変更後の音量データＣ１１´の時刻Ｐ１１´までの時間間隔（Ｖ１１´−Ｐ１１´）が、変更前の音素データＰｈ１２の開始時刻Ｖ１１から変更前の音量データＣ１１の時刻Ｐ１１までの時間間隔（Ｖ１１−Ｐ１１）と同じになるように、変更後の音量データＣ１１´の時刻Ｐ１１´を決定する。変更後の音量データＣ１２´の時刻Ｐ１２´および変更後の音量データＣ１３´の時刻Ｐ１３´も音量データＣ１１´の時刻Ｐ１１´と同様にして決定する。以上が、ステップＳＡ１９０の具体例である。なお、音符データＮ１１が示す音の発音期間を長くさせた例を示したが、音符データＮ１１が示す音の発音期間を短くさせた場合も同様である。
【００３６】
次に、図３のフローチャートのステップＳＡ１８０において、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが母音データに後続してその変更される音素データが開始されるものでない場合（ＳＡ１８０：Ｎｏ）、制御部１１は、その変更される音素データの開始時刻から終了時刻までの期間、すなわち、その変更される音素データの継続長に従って制御データを変更する（ＳＡ２００）。ステップＳＡ２００の後、制御部１１は、変更後の音符データおよび制御データの描画の更新を行う（ＳＡ２１０）。
【００３７】
ステップＳＡ２００へ至る流れおよびステップＳＡ２００の処理を具体的に説明する。
図８は、制御部１１が、音符データ１２２の中のある一つの音符データＮ２１と制御データ１２３の一例である音量データとを表示部１６の画面に表示させた例を示す図である。図８の音符データＮ２１は、無声破裂子音/ｋ/を示す音素データＰｈ１に代えて無声破裂子音以外の子音/ｍ/を示す音素データＰｈ２１を含んでいる点において図２の音符データＮ１と異なる。音符データＮ２１では、子音/ｍ/を示す音素データＰｈ２１の終了に後続して母音/ａ/を示す音素データＰｈ２２が開始される。音符データＮ２１には、音素データＰｈ２１およびＰｈ２２に加えて、音素データＰｈ２１の開始時刻（すなわち、音符データＮ２１の開始時刻）Ｓ２１、音素データＰｈ２１の終了時刻（すなわち、音素データＰｈ２２の開示時刻）Ｖ２１、音素データＰｈ２２の終了時刻（すなわち、音符データＮ２１の終了時刻）Ｅ２１の各データが含まれている。
【００３８】
例えば、ユーザは、図８に示す音符データＮ２１の開始時刻Ｓ２１を時間軸における過去方向へ移動させて、当該音符データＮ２１が示す音の発音期間を長くさせたとする。図９は、この場合の画面の表示例を示す図である。図９の例では、当該音符データＮ２１が示す音の発音期間を長くさせるのに伴って、変更後の音素データＰｈ２１´の開始時刻Ｓ２１´が変更前の音素データＰｈ２１の終了時刻Ｓ２１に比べ過去方向へ移動し、変更後の音素データＰｈ２１´の終了時刻Ｖ２１´が変更前の音素データＰｈ２１の終了時刻Ｖ２１に比べ未来方向へ移動している。制御部１１は、変更後の音符データＮ２１´を表す図形の座標データを取得する。この例では、変更後の音素データＰｈ２１´の終了時刻Ｖ２１´と変更後の音素データＰｈ２１´の開始時刻Ｓ２１´との間隔が、変更前の音素データＰｈ２１´の終了時刻Ｖ２１と変更前の音素データＰｈ２１の開始時刻Ｓ２１との間隔よりも大きいため、ステップＳＡ１３０の判定結果はＹｅｓとなる。また、開始時刻および終了時刻が変更される音素データＰｈ２１が示す音素が無声破裂子音ではないため、ステップＳＡ１６０の判定結果はＮｏとなり、次のステップＳＡ１８０の判定結果もＮｏとなる。
【００３９】
ステップＳＡ２００では、制御部１１は、まず、ステップＳＡ１５０と同様に、音素データＰｈ２１の開始時刻Ｓ２１から音素データＰｈ２１の終了時刻Ｖ２１までの期間内の音量データＣ２１〜Ｃ２３を認識する。次に、制御部１１は、音素データＰｈ２１に対応する音量Ｃ２１〜Ｃ２３の時刻Ｐ２１〜Ｐ２３を、音素データＰｈ２１の継続長の変更に従って変化させる。より詳細には、制御部１１は、音素データＰｈ２１の開始時刻Ｓ２１から終了時刻Ｖ２１までの期間を当該期間内の音量データＣ２１〜Ｃ２３の時刻Ｐ２１〜Ｐ２３により区分した各区間の比率が維持されるように、音量データＣ２１〜Ｃ２３の時刻Ｐ２１〜Ｐ２３を変更する。図９の例では、制御部１１は、変更前の音素データＰｈ２１の終了時刻Ｖ２１から変更前の音素データＰｈ２１の開始時刻Ｓ２１までの時間間隔（Ｖ２１−Ｓ２１）に対する変更後の音素データＰｈ２１´の終了時刻Ｖ２１´から変更後の音素データＰｈ２１´の開始時刻Ｓ２１´までの時間間隔（Ｖ１´−Ｓ１´）の比（（Ｖ１´−Ｓ１´）／（Ｖ１−Ｓ１））と、変更前の音量データＣ２１の時刻Ｐ２１から変更前の音素データＰｈ２１の開始時刻Ｓ２１までの時間間隔（Ｐ２１−Ｓ２１）に対する変更後の音量データＣ２１´の時刻Ｐ２１´から変更後の音素データＰｈ２１の開始時刻Ｓ２１´までの時間間隔（Ｐ２１´−Ｓ２１´）の比（（Ｐ２１´−Ｓ２１´）／（Ｐ２１−Ｓ２１））が同じになるように、変更後の音量データＣ２１´の時刻Ｐ２１´を決定する。変更後の音量データＣ２２´の時刻Ｐ２２´および変更後の音量データＣ２３´の時刻Ｐ２３´も音量データＣ２１´の時刻Ｐ２１´と同様にして決定する。以上が、ステップＳＡ２００の具体例である。なお、音符データＮ２１が示す音の発音期間を長くさせた例を示したが、音符データＮ２１が示す音の発音期間を短くさせた場合も同様である。
【００４０】
以上のように、本実施形態による音声合成用データ編集装置１の制御部１１は、音声合成に用いられる制御データであって、音符データ以外の他の制御データの少なくとも一部を、音符データに含まれる音素データの変更に追従して、音素データが示す音素の種類に応じた条件で変更する制御を行う。音声合成用データ編集装置１によれば、音符データに含まれる音素データの変更に追従して、音素データが示す音素の種類に応じた条件で音符データ以外の制御データが変更されるため、ユーザが音符データを編集すると、音符データ以外の制御データも音素データが示す音素の性質に適応した条件で編集される。従って、音声合成用データ編集装置１を用いれば、音声合成用データを編集する作業の効率を向上させることができる。
【００４１】
＜他の実施形態＞
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
【００４２】
（１）上記実施形態の音声合成用データ編集装置１の制御部１１は、音素データの変更に追従して、制御データの一例である音量データを変更する制御を行っていた。しかし、音素データの変更に追従して変更される制御データは音量データに限らない。例えば、制御部１１は、音素データの変更に追従して、音程データや音色データを変更する制御を行っても良い。また、音素データの変更に追従して変更される制御データは一種類に限らない。例えば、制御部１１は、音素データの変更に追従して複数種の制御データ（例えば音量データと音程データと音色データ）を変更する制御を行っても良い。また、制御部１１は、音素データの変更に追従して、ユーザによって選択された種類の制御データを変更する制御を行っても良い。
【００４３】
（２）上記実施形態の音声合成用データ編集装置１の制御部１１は、取得したデータが音素データの変更に従って制御データを変更するものであるか否かの判定（ＳＡ１２０）を行っていた。しかし、音声合成用データ編集装置は、ユーザの操作部１７の操作に応じて、音素データの変更に従って制御データを変更するか否かが選択されるものであっても良い。
【００４４】
（３）上記実施形態では、音符データに音素データが含まれていた。しかし、音素データは、音符データと対応関係があれば良く、必ずしも音符データに含まれていなくても良い。すなわち、音素データが音符データに含まれる上記実施形態は、音素データが音符データと対応関係を有する一態様である。音素データと音符データとの対応関係は、例えば、音素データと音符データが別個にあり、音符データが当該音符データに対応する音素データを識別する識別データを有することなどによっても実現することができる。また、音素データと音符データとの対応関係は、例えば、音素データと音符データが別個にあり、音素データおよび音符データが共通するＭＢＴ情報（小節、拍およびティックを示す情報）を共に有することなどによっても実現することができる。
【００４５】
音素データと音符データとが対応関係にあれば、音声合成用データ編集装置の取り扱う音声合成用データは、音符データと、当該音符データに対応する音素データと、当該音符データおよび当該音素データ以外の音声合成装置を制御する制御データとを含む。そして、音声合成用データ編集装置の制御部は、音素データの変更に追従して、音素データが示す音素の種類に応じた条件で制御データの少なくとも一部を変更する制御を行う。このように、音素データと音符データとが対応関係にあれば、音符データの変更に応じて音素データが変更され、音素データの変更に追従して制御データも変更される。
【００４６】
（４）上記実施形態では、例えば図２に示すように、音素データＮ１を表す棒状の図形を境界線で区切ることで、当該音符データＮ１に対応する音素データＰｈ１およびＰｈ２の各音素の境界を表していた。しかし、制御部１１は、一の音符を示す音符データに対応する複数の音素データが表す各音素の境界（具体的には、隣り合う子音と母音の境界）を表示部に表示させれば良く、その境界の表示態様は、図２の境界線に限らない。
【００４７】
例えば、制御部１１は、図１０に示す表示態様で音素の境界を表示部に表示させても良い。図１０の音符データＮ１Ｃには、子音を示す音素データＰｈ１Ｃの開始時刻Ｓ１Ｃ、音素データＰｈ１Ｃの終了時刻（換言すると、母音を示す音素データＰｈ２Ｃの開始時刻）Ｖ１Ｃ、音素データＰｈ２Ｃの終了時刻Ｅ１Ｃおよび音高データの各データが含まれている。
【００４８】
この例の制御部１１は、音符データＮ１Ｃを表す棒状の図形を、音素データＰｈ２Ｃの開始時刻Ｖ１Ｃとその終了時刻Ｅ１Ｃとの間に表示させる。また、この例の制御部１１は、音高データを画面にレンダリングして得られた線ＰＲを、音素データＰｈ１Ｃの開始時刻Ｓ１Ｃと音素データＰｈ２Ｃの終了時刻Ｅ１Ｃとの間に表示させる。このようにすると、当該棒状の図形が音符データＮ１Ｃに対応する母音の発音期間を表し、当該線ＰＲにおける当該棒状の図形の左端から時間軸における過去方向へ突出している部分が音符データＮ１Ｃに対応する子音の発音期間を表す。すなわち、図１０の例の制御部１１は、隣り合う音素の表示形態を線と棒状の図形のように各々変えることで、それらの音素の境界を表示させている。図１０の例では、具体的には、棒状の図形における線ＰＲが突出する左端が、子音と母音の境界となる。
【００４９】
なお、図１０の例において、制御部１１は、線ＰＲを直線状に表示させるだけでなく、線ＰＲを曲線状に表示させても良い。例えば、線ＰＲにおける子音の発音期間を表す部分を僅かに曲げて表示させれば、その子音の音高の微細な変化をユーザに認識させることができる。また、制御部１１は、線ＰＲを複数の音符間でつなげて表示させても良い。このようにすれば、音符間で滑らかに音高が変化する様子をユーザに認識させることができる。
【００５０】
また、制御部１１は、隣り合う音素の表示色を各々変えることで、それらの音素の境界を表示させても良い。また、制御部１１は、隣り合う音素における一方の音素の表示色を他方の音素の表示色に徐々に変化させるなどのグラデーションを付与することで、それらの音素の境界を表示させても良い。また、制御部１１は、隣り合う音素における一方の音素の表示太さを他方の音素の表示太さに徐々に変化させることで、それらの音素の境界を表示させても良い。
【符号の説明】
【００５１】
１…音声合成用データ編集装置、１１…制御部、１２…不揮発性記憶部、１３…揮発性記憶部、１４…データＩ／Ｏ、１５…Ｄ／Ａ変換回路、１６…表示部、１７…操作部、１８…バス、１２１…編集プログラム、１２２…音符データ、１２３…制御データ、１２４…曲データ。
【図１】
0006569246.tif 000002
【図２】
0006569246.tif 000003
【図３】
0006569246.tif 000004
【図４】
0006569246.tif 000005
【図５】
0006569246.tif 000006
【図６】
0006569246.tif 000007
【図７】
0006569246.tif 000008
【図８】
0006569246.tif 000009
【図９】
0006569246.tif 000010
【図１０】
0006569246.tif 000011
【図１１】
0006569246.tif 000012
【図１２】
0006569246.tif 000013