JP6569246B2 - 音声合成用データ編集装置 - Google Patents

音声合成用データ編集装置 Download PDF

Info

Publication number
JP6569246B2
JP6569246B2 JP2015043387A JP2015043387A JP6569246B2 JP 6569246 B2 JP6569246 B2 JP 6569246B2 JP 2015043387 A JP2015043387 A JP 2015043387A JP 2015043387 A JP2015043387 A JP 2015043387A JP 6569246 B2 JP6569246 B2 JP 6569246B2
Authority
JP
Japan
Prior art keywords
data
phoneme
control
time
change
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.)
Active
Application number
JP2015043387A
Other languages
English (en)
Other versions
JP2016161898A (ja
Inventor
嘉山 啓
啓 嘉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2015043387A priority Critical patent/JP6569246B2/ja
Publication of JP2016161898A publication Critical patent/JP2016161898A/ja
Application granted granted Critical
Publication of JP6569246B2 publication Critical patent/JP6569246B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、音声合成装置を制御する音声合成用データを編集する音声合成用データ編集装置に関する。
周知の通り、音声合成装置は、複数種類の時系列の制御データからなる音声合成用データに従って音声合成を行う。音声合成装置は、例えば、特許文献1に開示されている。この音声合成装置を制御する音声合成用データには、音符データと、音量データなどの音符データ以外の制御データが含まれる。音符データは、音声合成装置が合成する音声の音高、音素、発音開始時刻、発音終了時刻などを制御するデータである。そして、このような音声合成用データをユーザが編集するための音声合成用データ編集装置が各種提供されている。
図11は、従来の音声合成用データ編集装置の画面の表示例を模式的に示した図である。図11の例では、音符データを表す棒状の図形が、横軸が時間であり縦軸が音高である座標平面上に配置されて画面の上側領域に表示されている。ユーザは、このように表示されている図形の位置や長さなどをマウスなどのポインティングデバイスの操作により変更することによって音符データを編集することができる。また、図11の例では、制御データの一例である音量データの表すグラフが画面の下側領域に表示されている。このグラフの横軸は時間であり、縦軸は音量である。ユーザは、このように表示されているグラフの形状などをマウスなどのポインティングデバイスの操作により変更することによって音量データを編集することができる。
音声合成装置には、音符データと、音符データ以外の他の制御データとが同期して供給される。そして、音声合成装置は、音符データと、当該音符データが示す音の発音期間(発音開始時刻から発音終了時刻までの期間)に存在する他の制御データとによって当該音符データが示す音の発音期間内の音声を合成する。
特開2013−11862号公報
ところで、従来の音声合成用データ編集装置では、音符データが示す音の発音期間が変化すると、当該音符データと当該音符データに対応すべき他の制御データとに時間的なずれが生じる。図12は、図11の音符データが示す音の発音開始時刻を時間軸における過去方向へ移動して発音期間を長くした後の画面の表示例を模式的に示した図である。図12の音量データの表すグラフは、図11のそれから変わっていない。図12の例では、音符データが示す音の発音開始時刻(すなわち、音符データを表す図形の左端)を基準とした音量データが示す音量の立ち上がりタイミングが、図11に比べて、時間軸における未来方向へずれている。このように音符データが示す音の発音タイミングと音量データが示す音量の立ち上がりタイミングとがずれると、当該音符データが示す音の発音期間内の音声は、適切に合成されない。そこで、従来の音声合成用データ編集装置のユーザは、音符データを編集した際には、当該音符データと当該音符データに対応すべき他の制御データとに時間的なずれが生じないように、当該音符データに対応すべき他の制御データも当該音符データの編集に合わせて別個に編集する。
このような他の制御データを変更するための作業は複雑であり、多くのユーザは、試行錯誤により適切な制御データへの変更を行っていた。このため、従来の音声合成用データ編集装置は、ユーザにとって編集の作業効率が良いものではなかった。
この発明は以上のような事情に鑑みてなされたものであり、音声合成用データを編集する作業の効率を向上させる技術的手段を提供することを目的とする。
この発明は、音符データ、前記音符データに対応する音素データ、前記音符データおよび前記音素データ以外の音声合成装置を制御する制御データを含む音声合成用データを編集する装置であって、前記音素データの変更に追従して、前記音素データが示す音素の種類に応じた条件で前記制御データの少なくとも一部を変更する制御を行う制御手段を有することを特徴とする音声合成用データ編集装置を提供する。
この発明によれば、音符データに対応する音素データの変更に追従して、音素データが示す音素の種類に応じた条件で音符データおよび音素データ以外の制御データが変更される。このため、ユーザが音符データを編集すると、音符データおよび音素データ以外の制御データも音素データが示す音素の性質に適応した条件で編集される。従って、本音声合成用データ編集装置を用いれば、音声合成用データを編集する作業の効率を向上させることができる。
この発明の第1実施形態である音声合成用データ編集装置1の構成を示すブロック図である。 同音声合成用データ編集装置1の制御部11が、音符データ122の中のある一つの音符データN1と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。 同音声合成用データ編集装置1の制御部11が実行する処理の流れを示すフローチャートである。 図2に示す音符データN1を表す図形全体を時間軸における過去方向へ移動させた場合の画面の表示例を示す図である。 図2に示す音符データN1が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。 同音声合成用データ編集装置1の制御部11が、音符データ122の中のある一つの音符データN11と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。 図6に示す音符データN11が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。 同音声合成用データ編集装置1の制御部11が、音符データ122の中のある一つの音符データN21と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。 図8に示す音符データN21が示す音の発音期間を長くさせた場合の画面の表示例を示す図である。 この発明の変形例(4)における音符データと音素データの他の表示例を示す図である。 従来の音声合成用データ編集装置の画面の表示例を模式的に示した図である。 図11の音符データが示す音の発音開始時刻を時間軸における過去方向へ移動して発音期間を長くした後の画面の表示例を模式的に示した図である。
以下、図面を参照し、この発明の実施形態について説明する。
<第1実施形態>
図1は、この発明の第1実施形態による音声合成用データ編集装置1の構成を示すブロック図である。図1に示すように、音声合成用データ編集装置1は、制御部11、不揮発性記憶部12、揮発性記憶部13、データI/O(インプット/アウトプット)14、D/A(デジタル/アナログ)変換回路15、表示部16、操作部17およびこれらの各構成要素間のデータの授受を媒介するバス18を含んでいる。
表示部16は、各種データの表す内容などを画面に表示する表示手段である。操作部17は、例えば、マウスなどである。操作部17は、ユーザによる操作を受け付け、その操作内容を表すデータを制御部11に与える入力手段である。なお、操作内容を表すデータとは、例えば、ドラッグアンドドロップ操作であればそのドラッグの開始位置およびドロップ位置の座標データなどである。
揮発性記憶部13は、例えば、RAM(Random Access Memory)である。揮発性記憶部13は、不揮発性記憶部12に記憶されているプログラムを実行するためのワークエリアとして使用される。不揮発性記憶部12は、例えば、フラッシュROMなどである。不揮発性記憶部12には、編集プログラム121および1または複数の曲データ124が格納されている。1つの曲データ124は、音符データ122と制御データ123とから構成されている。音符データ122および制御データ123は、音声合成装置を制御する音声合成用データである。より詳細には、音符データ122は、音声合成装置が行う音声合成に用いられる制御データであって、音の音高や発音期間や音素などのデータを含むものである。制御データ123は、音声合成装置が行う音声合成に用いられる制御データであって、音符データ122以外の他の制御データである。例えば、制御データ123は、音量データや音程データなどである。なお、以下、音符データ以外の他の制御データを単に制御データと呼ぶことがある。編集プログラム121は、ユーザによる操作部17の操作に応じて音符データ122および制御データ123を変更するプログラムである。
制御部11は、例えばCPU(中央演算装置)である。制御部11は、不揮発性記憶部12に記憶されているプログラムを実行することにより音声合成用データ編集装置1の制御中枢として機能する。制御部11は、音符データ122の表す内容および制御データ123の表す内容を表示部16の画面に表示させる。
図2は、制御部11が、音符データ122の中のある一つの音符データN1と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。制御部11は、音符データN1を表す棒状の図形を横軸が時間であり縦軸が音高である座標平面上に配置し、その座標平面および音符データN1を表す図形を画面の上側領域に表示させる。また、制御部11は、横軸が時間であり縦軸が音量である座標平面上に音量データの表すグラフを描き、その座標平面および音量データの表すグラフを画面の下側領域に表示させる。この際、制御部11は、画面の上側領域の座標平面の横軸と下側領域の座標平面の横軸とを対応付けて表示させる。
図2に示す音符データN1には、子音を示す音素データPh1と、母音を示す音素データPh2とが含まれている。音素データPh1は、無声破裂子音/k/を示している。音素データPh2は、母音/a/を示している。図2の音符データN1では、音素データPh1の終了に後続して音素データPh2が開始される。また、図2の音符データN1には、音素データPh1およびPh2に加えて、音素データPh1の開始時刻(すなわち、音符データN1の開始時刻)S1、音素データPh1の終了時刻(すなわち、音素データPh2の開始時刻)V1、音素データPh2の終了時刻(すなわち、音符データN1の終了時刻)E1の各データが含まれている。図2の音符データN1を表す図形の左端は、音符データN1の開始時刻S1に対応し、音符データN1を表す図形の右端は、音符データN1の終了時刻E1に対応している。音声合成用データ編集装置1のユーザは、図2のように表示されている音符データN1を表す図形の位置や長さなどを操作部17を操作して変更することによって音符データN1を編集することができる。
図2に示す音量データC1は、時刻P1における音量データであり、音量データC2は、時刻P2における音量データであり、音量データC3は、時刻P3における音量データである。時刻P1、P2およびP3は、音素データPh1の開始時刻S1から音素データPh1の終了時刻V1までの期間に含まれる時刻である。従って、音量データC1〜C3は、音素データPh1に対応する音量データである。また、図2の時刻P3以降は、音量データC3が維持されている。従って、音素データPh2に対応する音量データはC3である。
音符データの開始時刻は、音声合成装置に対してノートオンを指示する時刻である。音符データの終了時刻は、音声合成装置に対してノートオフを指示する時刻である。音素データの開始時刻は、音声合成装置に対して音素の発声開始を指示する時刻である。音素データの終了時刻は、音声合成装置に対して音素の発声終了を指示する時刻である。音量データなどの制御データの時刻は、音声合成装置に対して音量データなどの制御データを送信する時刻である。音声合成装置は、例えば音量データを受信すると、その時点までに維持していた音量を音量データが示す音量に変更する。
音声合成用データ編集装置1の制御部11は、編集プログラム121を実行することにより、音符データ122に対応する音素データ(具体的には、音符データN1に含まれる音素データPh1)の変更に追従して、制御データ123の少なくとも一部(例えば音量データC1〜C3)を、音素データが示す音素の種類(例えば無声破裂子音)に応じた条件で変更する制御を行う制御手段として機能する。制御部11が行う処理の内容は、動作の説明において詳述する。
また、音声合成用データ編集装置1は、例えば、音声合成装置の役割も果たす。具体的には、図1の不揮発性記憶部12には、音声合成プログラム(図示略)が格納されている。制御部11は、音声合成プログラムを実行することにより、編集プログラム121に従った変更がなされた音声合成用データに基づいて音声波形を合成し、音声合成波形のサンプルデータを出力する制御を行う。この際、制御部11は、D/A変換回路15によりサンプルデータをアナログ信号に変換し、そのアナログ信号をサウンドシステム(図示略)に出力する。これにより、合成音が放音される。また、制御部11は、データI/O14を介して曲データ124を他の装置から受け取って編集し、編集後の曲データ124をデータI/O14を介して他の装置へ送信しても良い。
以上が、音声合成用データ編集装置1の構成である。
次に、音声合成用データ編集装置1の動作を説明する。図3は、音声合成用データ編集装置1の制御部11が編集プログラム121に従って実行する処理の流れを示すフローチャートである。制御部11は、ユーザの操作部17の操作により編集プログラム121の起動指示が与えられると編集プログラム121を実行する。制御部11は、編集プログラム121の実行の開始後に取得したデータが編集プログラム121の終了を示すものであった場合(SA100:Yes)編集プログラム121を終了する。制御部11は、取得したデータが編集プログラム121の終了を示すものでない場合(SA100:No)、ステップSA110〜ステップSA210の処理を繰り返す。
ステップSA110〜ステップSA210において、制御部11は、取得したデータに応じて、揮発性記憶部13に記憶されたデータ(具体的には、不揮発性記憶部12から揮発性記憶部13へ読み出した音符データ122および制御データ123など)を変更する。このステップSA110〜ステップSA210において制御部11が行う処理の概要を説明する。このステップSA110〜ステップSA210では、制御部11は、子音を示す音素データの開始時刻および終了時刻の少なくとも一方の変更に応じて、子音を示す音素データの変更前の開始時刻から終了時刻までの期間内の制御データ(例えば、音量データ)の時刻を、当該音素データが示す子音の種類(例えば、無声破裂子音であるか否か)に応じた条件で変更する。変更される音素データが示す音素の種類が無声破裂子音である場合、制御部11は、母音を示す音素データに先行し、または後続する無声破裂子音を示す音素データの開始時刻および終了時刻の少なくとも一方の変更に応じて、変更前における無声破裂子音を示す音素データおよび母音を示す音素データの境界時刻と、変更前における無声破裂子音を示す音素データの開始時刻から終了時刻までの期間内の制御データの時刻との時間間隔が維持されるように、制御データの時刻を変更する制御を行う。一方、変更される子音データが示す音素の種類が無声破裂子音でない場合、制御部11は、無声破裂子音以外の子音を示す音素データの開始時刻から終了時刻までの期間の伸縮に応じて、変更前の子音を示す音素データの開始時刻から終了時刻までの期間を当該期間内の制御データの時刻により区分した各区間の比率が維持されるように、制御データの時刻を変更する制御を行う。
次に、ステップSA110〜ステップSA210において制御部11が行う処理の詳細を説明する。まず、制御部11は、ユーザによる操作部17の操作を示す操作データを操作部17から取得すると、取得した操作データが音符データ122の変更を示すものであるか否かを判定する(SA110)。例えば、制御部11は、取得した操作データが、音符データ122の開始時刻や終了時刻を表す座標データであるか否かなどによりステップSA110の判定を行う。取得したデータが音符データ122の変更を示すものでない場合(SA110:No)、制御部11は、そのまま描画の更新を行う(SA210)。
取得した操作データが音符データ122の変更を示すものである場合(SA110:Yes)、制御部11は、取得した操作データが音素データの変更に従って制御データを変更するものであるか否かを判定する(SA120)。例えば、制御部11は、取得した操作データが、音素が対応付けられた音符を示す音符データの変更を示すものであるか、あるいは、音素が対応付けられていない音符を示す音符データの変更を示すものであるかなどによりステップSA120の判定を行う。これは、音符に音素が対応付けられている場合、音符データが示す音の発音期間の変更に従って音素の発声期間も変わり、その音素の発声期間の変更に合わせて制御データを変更する必要が生じるからである。
取得した操作データが音素データの変更に従って制御データを変更するものでない場合(SA120:No)、制御部11は、そのまま描画の更新を行う(SA210)。取得した操作データが音素データの変更に従って制御データを変更するものである場合(SA120:Yes)、制御部11は、取得した操作データが音素データの継続長、すなわち、音素データの開始時刻から終了時刻までの期間長の変更を示すものであるか否かを判定する(SA130)。取得した操作データが音素データの継続長の変更を示すものでない場合(SA130:No)、制御部11は、取得した操作データが音符データの開始時刻の変更を示すものであるか否かを判定する(SA140)。取得した操作データが音符データの開始時刻の変更を示すものでない場合(SA140:No)、制御部11は、そのまま描画の更新を行う(SA210)。取得した操作データが音符データの開始時刻の変更を示すものである場合(SA140:Yes)、制御部11は、音素データの開始時刻に従って制御データを変更する(SA150)。ステップSA150の後、制御部11は、変更後の音符データおよび制御データの描画の更新を行う(SA210)。
ステップSA150へ至る流れおよびステップSA150の処理を具体的に説明する。
例えば、ユーザは、図2に示す音符データN1を表す図形をマウスで選択し、当該図形全体を時間軸における過去方向へ移動させたとする。図4は、この場合の画面の表示例を示す図である。制御部11は、変更後の音符データN1aを表す図形の座標データを取得する。この例では、音符データN1を表す図形を移動させているため、ステップSA110の判定結果はYesとなり、次のステップSA120の判定結果もYesとなる。また、変更後の音素データPh1aの開始時刻S1aと変更後の音素データPh1aの終了時刻V1aとの間隔が、変更前の音素データPh1の開始時刻S1と変更前の音素データPh1の終了時刻V1との間隔と同じであるため、ステップSA130の判定結果はNoとなる。また、変更後の音符データN1aの開始時刻と変更前の音符データN1の開始時刻とが異なるため、ステップSA140の判定結果はYesとなる。
ステップSA150では、制御部11は、まず、変更前の音符データN1に含まれる音素データPh1と音素データPh1の開始時刻S1と音素データPh1の終了時刻V1とから、音素データPh1の開始時刻S1から音素データPh1の終了時刻V1までの期間内の制御データ(具体的には、音量データC1〜C3)を認識する。次に、制御部11は、音素データPh1に対応する音量データC1〜C3の時刻P1〜P3を、音符データN1の開始時刻、すなわち音素データPh1の開始時刻S1の変更に従って変化させる。より詳細には、制御部11は、変更前における音素データPh1の開始時刻S1と、変更前における音素データPh1の開始時刻S1から終了時刻V1までの期間内の音量データC1〜C3の時刻P1〜P3との時間間隔が維持されるように、音量データC1〜C3の時刻を変更させる。図4の例では、変更後の音素データPh1aの開始時刻S1aから変更後の音量データC1aの時刻P1aまでの時間間隔(S1a−P1a)が、変更前の音素データPh1の開始時刻S1から変更前の音量データC1の時刻P1までの時間間隔(S1−P1)と同じになるように、変更後の音量データC1aの時刻P1aを決定する。変更後の音量データC2aの時刻P2aおよび変更後の音量データC3aの時刻P3aも音量データC1aの時刻P1aと同様にして決定する。以上が、ステップSA150の具体例である。なお、音符データN1を時間軸における過去方向へ移動させた例を示したが、音符データN1を時間軸における未来方向へ移動させた場合も同様である。
次に、図3のフローチャートのステップSA130において、取得した操作データが音素データの継続長の変更を示すものである場合(SA130:Yes)、制御部11は、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、その変更される音素データの終了に後続して母音データが開始されるものであるか否かを判定する(SA160)。ステップSA160の条件を満足する場合(SA160:Yes)、制御部11は、その変更される音素データの終了時刻に従って制御データを変更する(SA170)。ステップSA170の後、制御部11は、変更後の音符データおよび制御データの描画の更新を行う(SA210)。
ステップSA170へ至る流れおよびステップSA170の処理を具体的に説明する。
例えば、ユーザは、図2に示す音符データN1の開始時刻S1を時間軸における過去方向へ移動させて、当該音符データN1が示す音の発音期間を長くさせたとする。図5は、この場合の画面の表示例を示す図である。図5の例では、当該音符データN1が示す音の発音期間を長くさせたのに伴って、変更後の音素データPh1´の開始時刻S1´が変更前の音素データPh1の開始時刻S1に比べ過去方向へ移動し、変更後の音素データPh1´の終了時刻V1´が変更前の音素データPh1の終了時刻V1に比べ未来方向へ移動している。制御部11は、変更させた後の音符データN1´を表す図形の座標データを取得する。この例では、変更後の音素データPh1´の開始時刻S1´と変更後の音素データPh1´の終了時刻V1´との間隔が、変更前の音素データPh1の開始時刻S1と変更前の音素データPh1の終了時刻V1との間隔よりも大きいため、ステップSA130の判定結果はYesとなる。また、この例では、開始時刻および終了時刻が変更される音素データPh1が示す音素は無声破裂子音/k/であり、音素データPh1に後続して母音/a/を示す音素データPh2が開始されるため、ステップSA160の判定結果はYesとなる。
ステップSA170では、制御部11は、まず、ステップSA150と同様に、音素データPh1の開始時刻S1から音素データPh1の終了時刻V1までの期間内の音量データC1〜C3を認識する。次に、制御部11は、音素データPh1に対応する音量データC1〜C3の時刻P1〜P3を、音素データPh1の終了時刻V1(すなわち、子音を示す音素データPh1と母音を示す音素データPh2との境界時刻)の変更に従って変化させる。より詳細には、制御部11は、音素データPh1の終了時刻V1と、音素データPh1の開始時刻S1から終了時刻V1までの期間内の音量データC1〜C3の時刻P1〜P3との時間間隔が維持されるように、音量データC1〜C3の時刻P1〜P3を変更する。図5の例では、変更後の音素データPh1´の終了時刻V1´から変更後の音量データC1´の時刻P1´までの時間間隔(V1´−P1´)が、変更前の音素データPh1の終了時刻V1から変更前の音量データC1の時刻P1までの時間間隔(V1−P1)と同じになるように、変更後の音量データC1´の時刻P1´を決定する。変更後の音量データC2´の時刻P2´および変更後の音量データC3´の時刻P3´も音量データC1´の時刻P1´と同様にして決定する。以上が、ステップSA170の具体例である。なお、音符データN1が示す音の発音期間を長くさせた例を示したが、音符データN1が示す音の発音期間を短くさせた場合も同様である。
次に、図3のフローチャートのステップSA160において、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、その変更される音素データの終了に後続して母音データが開始されるものでない場合(SA160:No)、制御部11は、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが、母音データに後続してその変更される音素データが開始されるものであるか否かを判定する(SA180)。ステップSA180の条件を満たす場合(SA180:Yes)、制御部11は、その変更される音素データの開始時刻に従って制御データを変更する(SA190)。ステップSA190の後、制御部11は、変更後の音符データおよび制御データの描画の更新を行う(SA210)。
ステップSA190へ至る流れおよびステップSA190の処理を具体的に説明する。
図6は、制御部11が、音符データ122の中のある一つの音符データN11と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。図6の音符データN11は、母音/a/を示す音素データPh11と無声破裂子音/k/を示す音素データPh12とを含んでいる。図6の音符データN11は、母音/a/を示す音素データPh11の終了に後続して無声破裂子音/k/を示す音素データPh12が開始される点において図2の音符データN1と異なる。音符データN11には、音素データPh11およびPh12に加えて、音素データPh11の開始時刻(すなわち、音符データN11の開始時刻)S11、音素データPh11の終了時刻(すなわち、音素データPh12の開始時刻)V11、音素データPh12の終了時刻(すなわち、音符データN11の終了時刻)E1の各データが含まれている。なお、日本語では、音節が「母音(V)」や「子音+母音(CV)」により構成されるが、他の言語では、音節が「母音+子音(VC)」や「子音+母音+子音(CVC)」により構成されるものもある。図6は、このような「母音+子音(VC)」の構成を含む音節について好適な例である。
例えば、ユーザは、図6に示す音符データN11の終了時刻E1を時間軸における未来方向へ移動させて、当該音符データN11が示す音の発音期間を長くさせたとする。図7は、この場合の画面の表示例を示す図である。図7の例では、当該音符データN11の発音期間を長くさせたのに伴って、変更後の音素データPh12´の終了時刻E11´が変更前の音素データPh12の終了時刻E11´に比べ未来方向へ移動し、変更後の音素データPh12´の開始時刻V11´が変更前の音素データPh12の開始時刻V11に比べ過去方向へ移動している。制御部11は、変更後の音符データN11´を表す図形の座標データを取得する。この例では、変更後の音素データPh12´の終了時刻E11´と変更後の音素データPh12´の開始時刻V11´との間隔が、変更前の音素データPh12の終了時刻E11と変更前の音素データPh12の開始時刻V11との間隔よりも大きいため、ステップSA130の判定結果はYesとなる。また、この例では、開始時刻および終了時刻が変更される音素データPh12が示す音素は無声破裂子音/k/であり、母音/a/を示す音素データPh11に後続して音素データPh12が開始されるため、ステップSA160の判定結果はNoとなり、次のステップSA180の判定結果はYesとなる。
ステップSA190では、制御部11は、まず、ステップSA150と同様に、音素データPh12の開始時刻V11から音素データPh12の終了時刻E11までの期間内の音量データC11〜C13を認識する。次に、制御部11は、音素データPh12に対応する音量C11〜C13の時刻P11〜P13を、音素データPh12の開始時刻V11(すなわち、子音を示す音素データPh12と母音を示す音素データPh11の境界時刻)の変更に従って変化させる。より詳細には、制御部11は、音素データPh12の開始時刻V11と、音素データPh12の開始時刻S11から終了時刻V11までの期間内の音量データC11〜C13の時刻P11〜P13との時間間隔が維持されるように、音量データC11〜C13の時刻P11〜P13を変更する。図7の例では、制御部11は、変更後の音素データPh12´の開始時刻V11´から変更後の音量データC11´の時刻P11´までの時間間隔(V11´−P11´)が、変更前の音素データPh12の開始時刻V11から変更前の音量データC11の時刻P11までの時間間隔(V11−P11)と同じになるように、変更後の音量データC11´の時刻P11´を決定する。変更後の音量データC12´の時刻P12´および変更後の音量データC13´の時刻P13´も音量データC11´の時刻P11´と同様にして決定する。以上が、ステップSA190の具体例である。なお、音符データN11が示す音の発音期間を長くさせた例を示したが、音符データN11が示す音の発音期間を短くさせた場合も同様である。
次に、図3のフローチャートのステップSA180において、その変更される音素データが示す音素の種類が無声破裂子音であり、かつ、音符データが母音データに後続してその変更される音素データが開始されるものでない場合(SA180:No)、制御部11は、その変更される音素データの開始時刻から終了時刻までの期間、すなわち、その変更される音素データの継続長に従って制御データを変更する(SA200)。ステップSA200の後、制御部11は、変更後の音符データおよび制御データの描画の更新を行う(SA210)。
ステップSA200へ至る流れおよびステップSA200の処理を具体的に説明する。
図8は、制御部11が、音符データ122の中のある一つの音符データN21と制御データ123の一例である音量データとを表示部16の画面に表示させた例を示す図である。図8の音符データN21は、無声破裂子音/k/を示す音素データPh1に代えて無声破裂子音以外の子音/m/を示す音素データPh21を含んでいる点において図2の音符データN1と異なる。音符データN21では、子音/m/を示す音素データPh21の終了に後続して母音/a/を示す音素データPh22が開始される。音符データN21には、音素データPh21およびPh22に加えて、音素データPh21の開始時刻(すなわち、音符データN21の開始時刻)S21、音素データPh21の終了時刻(すなわち、音素データPh22の開示時刻)V21、音素データPh22の終了時刻(すなわち、音符データN21の終了時刻)E21の各データが含まれている。
例えば、ユーザは、図8に示す音符データN21の開始時刻S21を時間軸における過去方向へ移動させて、当該音符データN21が示す音の発音期間を長くさせたとする。図9は、この場合の画面の表示例を示す図である。図9の例では、当該音符データN21が示す音の発音期間を長くさせるのに伴って、変更後の音素データPh21´の開始時刻S21´が変更前の音素データPh21の終了時刻S21に比べ過去方向へ移動し、変更後の音素データPh21´の終了時刻V21´が変更前の音素データPh21の終了時刻V21に比べ未来方向へ移動している。制御部11は、変更後の音符データN21´を表す図形の座標データを取得する。この例では、変更後の音素データPh21´の終了時刻V21´と変更後の音素データPh21´の開始時刻S21´との間隔が、変更前の音素データPh21´の終了時刻V21と変更前の音素データPh21の開始時刻S21との間隔よりも大きいため、ステップSA130の判定結果はYesとなる。また、開始時刻および終了時刻が変更される音素データPh21が示す音素が無声破裂子音ではないため、ステップSA160の判定結果はNoとなり、次のステップSA180の判定結果もNoとなる。
ステップSA200では、制御部11は、まず、ステップSA150と同様に、音素データPh21の開始時刻S21から音素データPh21の終了時刻V21までの期間内の音量データC21〜C23を認識する。次に、制御部11は、音素データPh21に対応する音量C21〜C23の時刻P21〜P23を、音素データPh21の継続長の変更に従って変化させる。より詳細には、制御部11は、音素データPh21の開始時刻S21から終了時刻V21までの期間を当該期間内の音量データC21〜C23の時刻P21〜P23により区分した各区間の比率が維持されるように、音量データC21〜C23の時刻P21〜P23を変更する。図9の例では、制御部11は、変更前の音素データPh21の終了時刻V21から変更前の音素データPh21の開始時刻S21までの時間間隔(V21−S21)に対する変更後の音素データPh21´の終了時刻V21´から変更後の音素データPh21´の開始時刻S21´までの時間間隔(V1´−S1´)の比((V1´−S1´)/(V1−S1))と、変更前の音量データC21の時刻P21から変更前の音素データPh21の開始時刻S21までの時間間隔(P21−S21)に対する変更後の音量データC21´の時刻P21´から変更後の音素データPh21の開始時刻S21´までの時間間隔(P21´−S21´)の比((P21´−S21´)/(P21−S21))が同じになるように、変更後の音量データC21´の時刻P21´を決定する。変更後の音量データC22´の時刻P22´および変更後の音量データC23´の時刻P23´も音量データC21´の時刻P21´と同様にして決定する。以上が、ステップSA200の具体例である。なお、音符データN21が示す音の発音期間を長くさせた例を示したが、音符データN21が示す音の発音期間を短くさせた場合も同様である。
以上のように、本実施形態による音声合成用データ編集装置1の制御部11は、音声合成に用いられる制御データであって、音符データ以外の他の制御データの少なくとも一部を、音符データに含まれる音素データの変更に追従して、音素データが示す音素の種類に応じた条件で変更する制御を行う。音声合成用データ編集装置1によれば、音符データに含まれる音素データの変更に追従して、音素データが示す音素の種類に応じた条件で音符データ以外の制御データが変更されるため、ユーザが音符データを編集すると、音符データ以外の制御データも音素データが示す音素の性質に適応した条件で編集される。従って、音声合成用データ編集装置1を用いれば、音声合成用データを編集する作業の効率を向上させることができる。
<他の実施形態>
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
(1)上記実施形態の音声合成用データ編集装置1の制御部11は、音素データの変更に追従して、制御データの一例である音量データを変更する制御を行っていた。しかし、音素データの変更に追従して変更される制御データは音量データに限らない。例えば、制御部11は、音素データの変更に追従して、音程データや音色データを変更する制御を行っても良い。また、音素データの変更に追従して変更される制御データは一種類に限らない。例えば、制御部11は、音素データの変更に追従して複数種の制御データ(例えば音量データと音程データと音色データ)を変更する制御を行っても良い。また、制御部11は、音素データの変更に追従して、ユーザによって選択された種類の制御データを変更する制御を行っても良い。
(2)上記実施形態の音声合成用データ編集装置1の制御部11は、取得したデータが音素データの変更に従って制御データを変更するものであるか否かの判定(SA120)を行っていた。しかし、音声合成用データ編集装置は、ユーザの操作部17の操作に応じて、音素データの変更に従って制御データを変更するか否かが選択されるものであっても良い。
(3)上記実施形態では、音符データに音素データが含まれていた。しかし、音素データは、音符データと対応関係があれば良く、必ずしも音符データに含まれていなくても良い。すなわち、音素データが音符データに含まれる上記実施形態は、音素データが音符データと対応関係を有する一態様である。音素データと音符データとの対応関係は、例えば、音素データと音符データが別個にあり、音符データが当該音符データに対応する音素データを識別する識別データを有することなどによっても実現することができる。また、音素データと音符データとの対応関係は、例えば、音素データと音符データが別個にあり、音素データおよび音符データが共通するMBT情報(小節、拍およびティックを示す情報)を共に有することなどによっても実現することができる。
音素データと音符データとが対応関係にあれば、音声合成用データ編集装置の取り扱う音声合成用データは、音符データと、当該音符データに対応する音素データと、当該音符データおよび当該音素データ以外の音声合成装置を制御する制御データとを含む。そして、音声合成用データ編集装置の制御部は、音素データの変更に追従して、音素データが示す音素の種類に応じた条件で制御データの少なくとも一部を変更する制御を行う。このように、音素データと音符データとが対応関係にあれば、音符データの変更に応じて音素データが変更され、音素データの変更に追従して制御データも変更される。
(4)上記実施形態では、例えば図2に示すように、音素データN1を表す棒状の図形を境界線で区切ることで、当該音符データN1に対応する音素データPh1およびPh2の各音素の境界を表していた。しかし、制御部11は、一の音符を示す音符データに対応する複数の音素データが表す各音素の境界(具体的には、隣り合う子音と母音の境界)を表示部に表示させれば良く、その境界の表示態様は、図2の境界線に限らない。
例えば、制御部11は、図10に示す表示態様で音素の境界を表示部に表示させても良い。図10の音符データN1Cには、子音を示す音素データPh1Cの開始時刻S1C、音素データPh1Cの終了時刻(換言すると、母音を示す音素データPh2Cの開始時刻)V1C、音素データPh2Cの終了時刻E1Cおよび音高データの各データが含まれている。
この例の制御部11は、音符データN1Cを表す棒状の図形を、音素データPh2Cの開始時刻V1Cとその終了時刻E1Cとの間に表示させる。また、この例の制御部11は、音高データを画面にレンダリングして得られた線PRを、音素データPh1Cの開始時刻S1Cと音素データPh2Cの終了時刻E1Cとの間に表示させる。このようにすると、当該棒状の図形が音符データN1Cに対応する母音の発音期間を表し、当該線PRにおける当該棒状の図形の左端から時間軸における過去方向へ突出している部分が音符データN1Cに対応する子音の発音期間を表す。すなわち、図10の例の制御部11は、隣り合う音素の表示形態を線と棒状の図形のように各々変えることで、それらの音素の境界を表示させている。図10の例では、具体的には、棒状の図形における線PRが突出する左端が、子音と母音の境界となる。
なお、図10の例において、制御部11は、線PRを直線状に表示させるだけでなく、線PRを曲線状に表示させても良い。例えば、線PRにおける子音の発音期間を表す部分を僅かに曲げて表示させれば、その子音の音高の微細な変化をユーザに認識させることができる。また、制御部11は、線PRを複数の音符間でつなげて表示させても良い。このようにすれば、音符間で滑らかに音高が変化する様子をユーザに認識させることができる。
また、制御部11は、隣り合う音素の表示色を各々変えることで、それらの音素の境界を表示させても良い。また、制御部11は、隣り合う音素における一方の音素の表示色を他方の音素の表示色に徐々に変化させるなどのグラデーションを付与することで、それらの音素の境界を表示させても良い。また、制御部11は、隣り合う音素における一方の音素の表示太さを他方の音素の表示太さに徐々に変化させることで、それらの音素の境界を表示させても良い。
1…音声合成用データ編集装置、11…制御部、12…不揮発性記憶部、13…揮発性記憶部、14…データI/O、15…D/A変換回路、16…表示部、17…操作部、18…バス、121…編集プログラム、122…音符データ、123…制御データ、124…曲データ。

Claims (5)

  1. 音符データ、前記音符データに対応する音素データ、前記音符データおよび前記音素データ以外の音声合成装置を制御する制御データを含む音声合成用データを編集する装置であって、
    前記音素データに基づく制御の開始時刻および終了時刻の少なくとも一方についての第1の変更に応じて、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻に、当該音素データが示す音素の種類に応じた条件で、前記第1の変更の態様に対応した態様の第2の変更を生じさせる制御を行う制御手段を有することを特徴とする音声合成用データ編集装置。
  2. 前記制御手段は、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻を、前記音素データに基づく制御の開始時刻または終了時刻の変更に追従させる制御を行うことを特徴とする請求項1に記載の音声合成用データ編集装置。
  3. 前記制御手段は、母音を示す音素データに先行し、または後続する無声破裂子音を示す音素データに基づく制御の開始時刻および終了時刻の少なくとも一方の変更に応じて、変更前における前記無声破裂子音を示す音素データに基づく制御の実行期間および前記母音を示す音素データに基づく制御の実行期間の境界時刻と、変更前における前記無声破裂子音を示す音素データに基づく制御の開始時刻から終了時刻までの期間内の実行時刻を有する制御データの当該実行時刻との時間間隔が維持されるように、前記制御データに基づく制御の実行時刻を変更する制御を行うことを特徴とする請求項2に記載の音声合成用データ編集装置。
  4. 前記制御手段は、無声破裂子音以外の音素を示す音素データに基づく制御の開始時刻から終了時刻までの期間の伸縮に応じて、変更前の前記音素データに基づく制御の開始時刻から終了時刻までの期間を当該期間内の制御データに基づく制御の実行時刻により区分した各区間の比率が維持されるように、前記制御データに基づく制御の実行時刻を変更する制御を行うことを特徴とする請求項に記載の音声合成用データ編集装置。
  5. 表示手段をさらに有し、
    前記制御手段は、一の音符を示す音符データに対応する複数の音素データが表す各音素の境界を前記表示手段に表示させることを特徴とする請求項1から4のいずれか1の請求項に記載の音声合成用データ編集装置。
JP2015043387A 2015-03-05 2015-03-05 音声合成用データ編集装置 Active JP6569246B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015043387A JP6569246B2 (ja) 2015-03-05 2015-03-05 音声合成用データ編集装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015043387A JP6569246B2 (ja) 2015-03-05 2015-03-05 音声合成用データ編集装置

Publications (2)

Publication Number Publication Date
JP2016161898A JP2016161898A (ja) 2016-09-05
JP6569246B2 true JP6569246B2 (ja) 2019-09-04

Family

ID=56844836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015043387A Active JP6569246B2 (ja) 2015-03-05 2015-03-05 音声合成用データ編集装置

Country Status (1)

Country Link
JP (1) JP6569246B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3879402B2 (ja) * 2000-12-28 2007-02-14 ヤマハ株式会社 歌唱合成方法と装置及び記録媒体
JP5092905B2 (ja) * 2008-05-30 2012-12-05 ヤマハ株式会社 歌唱合成装置およびプログラム
JP6047922B2 (ja) * 2011-06-01 2016-12-21 ヤマハ株式会社 音声合成装置および音声合成方法
JP6127371B2 (ja) * 2012-03-28 2017-05-17 ヤマハ株式会社 音声合成装置および音声合成方法
US9595256B2 (en) * 2012-12-04 2017-03-14 National Institute Of Advanced Industrial Science And Technology System and method for singing synthesis

Also Published As

Publication number Publication date
JP2016161898A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
EP2590162B1 (en) Music data display control apparatus and method
EP2680254B1 (en) Sound synthesis method and sound synthesis apparatus
EP2770499B1 (en) Voice synthesizing method, voice synthesizing apparatus and computer-readable recording medium
JP2011028230A (ja) 歌唱合成用データベース生成装置、およびピッチカーブ生成装置
JP2008268477A (ja) 韻律調整可能な音声合成装置
CN103366730A (zh) 声音合成设备
JP5423375B2 (ja) 音声合成装置
JP2007212884A (ja) 音声合成装置、音声合成方法、及びコンピュータプログラム
JP6569246B2 (ja) 音声合成用データ編集装置
JP2013164609A (ja) 歌唱合成用データベース生成装置、およびピッチカーブ生成装置
JP5157922B2 (ja) 音声合成装置、およびプログラム
WO2020217801A1 (ja) オーディオ情報再生方法および装置、オーディオ情報生成方法および装置、並びにプログラム
JP3843953B2 (ja) 歌唱合成用データ入力プログラムおよび歌唱合成用データ入力装置
JP4026512B2 (ja) 歌唱合成用データ入力プログラムおよび歌唱合成用データ入力装置
JP2005321520A (ja) 音声合成装置及びそのプログラム
JP4751230B2 (ja) 韻律素片辞書作成方法、並びに音声合成装置及びプログラム
JP4508196B2 (ja) 曲編集装置および曲編集プログラム
JP6727477B1 (ja) ピッチパターン補正装置、プログラム及びピッチパターン補正方法
JP5935831B2 (ja) 音声合成装置、音声合成方法およびプログラム
JP4622356B2 (ja) 音声合成用スクリプト生成装置及び音声合成用スクリプト生成プログラム
JP4192994B2 (ja) 歌唱合成用データ入力プログラム
JP6762454B1 (ja) ピッチパターン補正装置、プログラム及びピッチパターン補正方法
JP6435791B2 (ja) 表示制御装置および表示制御方法
JP7004872B2 (ja) ピッチパターン補正装置、プログラム及びピッチパターン補正方法
JP7183556B2 (ja) 合成音生成装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R151 Written notification of patent or utility model registration

Ref document number: 6569246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151