(57)【要約】【課題】  滑らかで明瞭な歌唱音を合成できる歌唱音合成装置及び歌唱音合成方法を提供する。【解決手段】  立上初期値、立下開始時点、立上開始時点、立下傾き、立上傾き等のパラメータの変更方法を予め設定しておき、読み込んだ音の演奏データによれば、前音と重なることが予測される場合には（Ｓ２１：ＹＥＳ）、設定済の立上曲線に関するパラメータに従い（Ｓ２３）、後音と重なることが予測される場合には（Ｓ２７：ＹＥＳ）、設定済の立下曲線に関するパラメータに従い（Ｓ２９）、フレーム毎に立上げ曲線（Ｓ３３）及び立ち下げ曲線（Ｓ３９，Ｓ４３）を計算する。【選択図】  図１６
2006010730.tif 000002
【特許請求の範囲】
【請求項１】
演奏データに対応して所定の歌唱音を発生させる歌唱音発生手段を備えた歌唱音合成装置において、
前記演奏データ中において歌唱音の２個が重なることを検出する重なり検出手段と、
当該重なり検出手段が２音の重なりを検出したときに、当該重なる２音の前音又は後音の音量に関する演奏データを変更する音量データ変更手段とを備え、
前記音量データ変更手段は、音量の変化を表す音量変化曲線において、後音の音量を立ち上げる際の立上曲線の初期値を変更する立上初期値変更手段、前音の音量を立ち下げる際の立下曲線の開始時点を変更する立下開始時点変更手段、前記立上曲線の開始時点を変更する立上開始時点変更手段、前記立下曲線の傾きを変更する立下傾き変更手段、前記立上曲線の傾きを変更する立上傾き変更手段の少なくとも１つを含むことを特徴とする歌唱音合成装置。
【請求項２】
前記立下開始時点変更手段は、前記立下曲線の開始時点を既定値よりも早くすることを特徴とする請求項１に記載の歌唱音合成装置。
【請求項３】
前記立下傾き変更手段は、前記立下曲線の傾きを既定値よりも急にすることを特徴とする請求項１又は２に記載の歌唱音合成装置。
【請求項４】
前記立下傾き変更手段は、後音の開始時点以降の前記立下曲線の傾きを既定値よりも急にすることを特徴とする請求項３に記載の歌唱音合成装置。
【請求項５】
前記立上初期値変更手段は、前記立上曲線の初期値を、その前音の立下曲線の同時点の値と同一の値に変更することを特徴とする請求項１乃至４のいずれかに記載の歌唱音合成装置。
【請求項６】
前記立上開始時点変更手段は、前記立上曲線の開始時点を既定値よりも遅くすることを特徴とする請求項１乃至５のいずれかに記載の歌唱音合成装置。
【請求項７】
前記立上傾き変更手段は、前記立上曲線の傾きを既定値よりもなだらかにすることを特徴とする請求項１乃至６のいずれかに記載の歌唱音合成装置。
【請求項８】
前記立下傾き変更手段は前記立下曲線の傾きを０とし、前記立上傾き変更手段は前記立上曲線の傾きを０とし、前記立上初期値変更手段は、前記立上曲線の初期値を、その音の音量の値と同一の値に変更することを特徴とする請求項１に記載の歌唱音合成装置。
【請求項９】
演奏データに対応して所定の歌唱音を発生させる歌唱音合成方法において、
前記演奏データ中において歌唱音の２個が重なることを検出する重なり検出ステップと、
当該重なり検出ステップにおいて、２音の重なりを検出したときに、当該重なる２音の前音又は後音の音量に関する演奏データを変更する音量データ変更ステップとを備え、
前記音量データ変更ステップには、音量の変化を表す音量変化曲線において、後音の音量を立ち上げる際の立上曲線の初期値を変更する立上初期値変更ステップ、前音の音量を立ち下げる際の立下曲線の開始時点を変更する立下開始時点変更ステップ、前記立上曲線の開始時点を変更する立上開始時点変更ステップ、前記立下曲線の傾きを変更する立下傾き変更ステップ、前記立上曲線の傾きを変更する立上傾き変更ステップの少なくとも１つを含むことを特徴とする歌唱音合成方法。
【請求項１０】
前記立下開始時点変更ステップは、前記立下曲線の開始時点を既定値よりも早くすることを特徴とする請求項９に記載の歌唱音合成方法。
【請求項１１】
前記立下傾き変更ステップは、前記立下曲線の傾きを既定値よりも急にすることを特徴とする請求項９又は１０に記載の歌唱音合成方法。
【請求項１２】
前記立下傾き変更ステップは、後音の開始時点以降の前記立下曲線の傾きを既定値よりも急にすることを特徴とする請求項１１に記載の歌唱音合成方法。
【請求項１３】
前記立上初期値変更ステップは、前記立上曲線の初期値を、その前音の立下曲線の同時点の値と同一の値に変更することを特徴とする請求項９乃至１２のいずれかに記載の歌唱音合成方法。
【請求項１４】
前記立上開始時点変更ステップは、前記立上曲線の開始時点を既定値よりも遅くすることを特徴とする請求項９乃至１３のいずれかに記載の歌唱音合成方法。
【請求項１５】
前記立上傾き変更ステップは、前記立上曲線の傾きを既定値よりもなだらかにすることを特徴とする請求項９乃至１４のいずれかに記載の歌唱音合成方法。
【請求項１６】
前記立下傾き変更ステップは前記立下曲線の傾きを０とし、前記立上傾き変更ステップは前記立上曲線の傾きを０とし、前記立上初期値変更ステップは、前記立上曲線の初期値を、その音の音量の値と同一の値に変更することを特徴とする請求項９に記載の歌唱音合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器において歌唱音を合成する歌唱音合成装置及び歌唱音合成方法に関するものである。
【背景技術】
【０００２】
一般に、たとえばＭＩＤＩ等の電子楽器を用いて歌唱音を合成する場合に、通常の電子楽器の音量制御方法をそのまま用いると、楽器音と人声音の性質の違いから、不自然に聞こえることがある。このような問題に対処するために、たとえば、特許文献１では、楽器音よりも一般に立上がりが遅い人声音が遅れて聞こえないようにするために、演奏データのノートオン信号に伴って発生される先頭音素の立上がり時間を、他の音素に引き続いて発音される場合の立上がり時間よりも短くする方法が開示されている。
【特許文献１】特許第３１３２３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また、電子楽器の通常の音量制御方法においては、ノートオフ（発音終了）から音量が減衰している間に次の音のノートオン（発音開始）となるので、音が重なって聞こえるため不明瞭に聞こえることがある。これを避けるために次の音のノートオンの直前で前の音の音量を０にすると音が切れて聞こえてしまうという問題がある。上記従来の方法では、このような問題は解決することができない。
【０００４】
本発明は上記問題を解決するためになされたものであり、滑らかで明瞭な歌唱音を合成できる歌唱音合成装置及び歌唱音合成方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の請求項１に記載の歌唱音合成装置は、演奏データに対応して所定の歌唱音を発生させる歌唱音発生手段を備えた歌唱音合成装置において、前記演奏データ中において歌唱音の２個が重なることを検出する重なり検出手段と、当該重なり検出手段が２音の重なりを検出したときに、当該重なる２音の前音又は後音の音量に関する演奏データを変更する音量データ変更手段とを備え、前記音量データ変更手段は、音量の変化を表す音量変化曲線において、後音の音量を立ち上げる際の立上曲線の初期値を変更する立上初期値変更手段、前記立下曲線の開始時点を変更する立下開始時点変更手段、前記立上曲線の開始時点を変更する立上開始時点変更手段、前記立下曲線の傾きを変更する立下傾き変更手段、前記立上曲線の傾きを変更する立上傾き変更手段の少なくとも１つを含むことを特徴とする。
【０００６】
また、本発明の請求項２に記載の歌唱音合成装置は、請求項１に記載の発明の構成に加え、前記立下開始時点変更手段が、前記立下曲線の開始時点を既定値よりも早くすることを特徴とする。
【０００７】
また、本発明の請求項３に記載の歌唱音合成装置は、請求項１又は２に記載の発明の構成に加え、前記立下傾き変更手段が、前記立下曲線の傾きを既定値よりも急にすることを特徴とする。
【０００８】
また、本発明の請求項４に記載の歌唱音合成装置は、請求項３に記載の発明の構成に加え、前記立下傾き変更手段が、後音の開始時点以降の前記立下曲線の傾きを既定値よりも急にすることを特徴とする。
【０００９】
また、本発明の請求項５に記載の歌唱音合成装置は、請求項１乃至４のいずれかに記載の発明の構成に加え、前記立上初期値変更手段が、前記立上曲線の初期値を、その前音の立下曲線の同時点の値と同一の値に変更することを特徴とする。
【００１０】
また、本発明の請求項６に記載の歌唱音合成装置は、請求項１乃至５のいずれかに記載の発明の構成に加え、前記立上開始時点変更手段が、前記立上曲線の開始時点を既定値よりも遅くすることを特徴とする。
【００１１】
また、本発明の請求項７に記載の歌唱音合成装置は、請求項１乃至６のいずれかに記載の発明の構成に加え、前記立上傾き変更手段が、前記立上曲線の傾きを既定値よりもなだらかにすることを特徴とする。
【００１２】
また、本発明の請求項８に記載の歌唱音合成装置は、請求項１に記載の発明の構成に加え、前記立下傾き変更手段が前記立下曲線の傾きを０とし、前記立上傾き変更手段は前記立上曲線の傾きを０とし、前記立上初期値変更手段は、前記立上曲線の初期値を、その音の音量の値と同一の値に変更することを特徴とする。
【００１３】
また、本発明の請求項９に記載の歌唱音合成方法は、演奏データに対応して所定の歌唱音を発生させる歌唱音合成方法において、前記演奏データ中において歌唱音の２個が重なることを検出する重なり検出ステップと、当該重なり検出ステップにおいて、２音の重なりを検出したときに、当該重なる２音の前音又は後音の音量に関する演奏データを変更する音量データ変更ステップとを備え、前記音量データ変更ステップには、音量の変化を表す音量変化曲線において、後音の音量を立ち上げる際の立上曲線の初期値を変更する立上初期値変更ステップ、前記立下曲線の開始時点を変更する立下開始時点変更ステップ、前記立上曲線の開始時点を変更する立上開始時点変更ステップ、前記立下曲線の傾きを変更する立下傾き変更ステップ、前記立上曲線の傾きを変更する立上傾き変更ステップの少なくとも１つを含むことを特徴とする。
【００１４】
また、本発明の請求項１０に記載の歌唱音合成方法は、請求項９に記載の発明の構成に加え、前記立下開始時点変更ステップが、前記立下曲線の開始時点を既定値よりも早くすることを特徴とする。
【００１５】
また、本発明の請求項１１に記載の歌唱音合成方法は、請求項９又は１０に記載の発明の構成に加え、前記立下傾き変更ステップが、前記立下曲線の傾きを既定値よりも急にすることを特徴とする。
【００１６】
また、本発明の請求項１２に記載の歌唱音合成方法は、請求項１１に記載の発明の構成に加え、前記立下傾き変更ステップが、後音の開始時点以降の前記立下曲線の傾きを既定値よりも急にすることを特徴とする。
【００１７】
また、本発明の請求項１３に記載の歌唱音合成方法は、請求項９乃至１２のいずれかに記載の発明の構成に加え、前記立上初期値変更ステップが、前記立上曲線の初期値を、その前音の立下曲線の同時点の値と同一の値に変更することを特徴とする。
【００１８】
また、本発明の請求項１４に記載の歌唱音合成方法は、請求項９乃至１３のいずれかに記載の発明の構成に加え、前記立上開始時点変更ステップが、前記立上曲線の開始時点を既定値よりも遅くすることを特徴とする。
【００１９】
また、本発明の請求項１５に記載の歌唱音合成方法は、請求項９乃至１４のいずれかに記載の発明の構成に加え、前記立上傾き変更ステップが、前記立上曲線の傾きを既定値よりもなだらかにすることを特徴とする。
【００２０】
また、本発明の請求項１６に記載の歌唱音合成装置は、請求項９に記載の発明の構成に加え、前記立下傾き変更ステップが前記立下曲線の傾きを０とし、前記立上傾き変更ステップは前記立上曲線の傾きを０とし、前記立上初期値変更ステップは、前記立上曲線の初期値を、その音の音量の値と同一の値に変更することを特徴とする。
【発明の効果】
【００２１】
本発明の請求項１に記載の歌唱音合成装置によれば、音量変化曲線の立上初期値、立下開始時点、立上開始時点、立下傾き、立上傾き等のパラメータを変化させることにより、前音から後音へ音量を滑らかにつなげ、明瞭な歌唱音を合成することができる。
【００２２】
また、本発明の請求項２に記載の歌唱音合成装置によれば、請求項１に記載の発明の効果に加え、前音の音量変化曲線が立ち下がる開始時点を早くするので、既定値の音量変化曲線に比べて前音と後音が重なる時間が短縮され、その分明瞭な歌唱音が合成できる。
【００２３】
また、本発明の請求項３に記載の歌唱音合成装置によれば、請求項１又は２に記載の発明の効果に加え、前音の立下曲線の傾きを急にするので、既定値の音量変化曲線に比べて前音と後音が重なる部分の音量の全体量が少なくなり、ビビリ音の発生が抑えられる。
【００２４】
また、本発明の請求項４に記載の歌唱音合成装置によれば、請求項３に記載の発明の効果に加え、後音が開始されて以降は、前音の音量を急激に落とすようにしている（すぐに０にしてもよい）ので、前音と後音の重なりがほとんどなくなり、明瞭な歌唱音を合成できる。
【００２５】
また、本発明の請求項５に記載の歌唱音合成装置によれば、請求項１乃至４のいずれかに記載の発明の効果に加え、後音の立上げの初期値を、その時点の前音の音量と同一にするので、０から立ち上がる場合に比べて後音子音の明瞭度が上がり、その分明瞭な歌唱音が合成できる。
【００２６】
また、本発明の請求項６に記載の歌唱音合成装置によれば、請求項１乃至５のいずれかに記載の発明の効果に加え、後音の立上げ開始時点を遅くするので、既定よりも音が重なる時間が短縮され、その分明瞭な歌唱音が合成できる。特に、前音の立下曲線の終了時点以降に立上曲線の開始時点を設定すれば、音の重なりが解消されるので、明瞭に聞き取りができる歌唱音となる。
【００２７】
また、本発明の請求項７に記載の歌唱音合成装置によれば、請求項１乃至６のいずれかに記載の発明の効果に加え、立上曲線の傾きをなだらかにするので、既定値の音量変化曲線に比べて音が重なる部分の音量の全体量が少なくなり、ビビリ音の発生が抑えられる。
【００２８】
また、本発明の請求項８に記載の歌唱音合成装置によれば、請求項１に記載の発明の効果に加え、音量の立ち下げ・立上げをせず、後音の開始時点で前音は一挙に音量を０とし、後音は開始時点からすぐにその音の設定音量とする。従って、立ち下げや立上げに関する複雑な設定をすることなく簡易な構成で滑らかな合成音声を得ることができる。
【００２９】
さらに、本発明の請求項９に記載の歌唱音合成方法によれば、音量変化曲線の立上初期値、立下開始時点、立上開始時点、立下傾き、立上傾き等のパラメータを変化させることにより、前音から後音へ音量を滑らかにつなげ、明瞭な歌唱音を合成することができる。
【００３０】
また、本発明の請求項１０に記載の歌唱音合成方法によれば、請求項９に記載の発明の効果に加え、前音の音量変化曲線が立ち下がる開始時点を早くするので、既定値の音量変化曲線に比べて音が重なる時間が短縮され、その分明瞭な歌唱音が合成できる。
【００３１】
また、本発明の請求項１１に記載の歌唱音合成方法によれば、請求項９又は１０に記載の発明の効果に加え、前音の立下曲線の傾きを急にするので、既定値の音量変化曲線に比べて前音と後音が重なる部分の音量の全体量が少なくなり、ビビリ音の発生が抑えられる。
【００３２】
また、本発明の請求項１２に記載の歌唱音合成方法によれば、請求項１１に記載の発明の効果に加え、後音が開始されて以降は、前音の音量を急激に落とすようにしている（すぐに０にしてもよい）ので、前音と後音の重なりがほとんどなくなり、明瞭な歌唱音を合成できる。
【００３３】
また、本発明の請求項１３に記載の歌唱音合成方法によれば、請求項９乃至１２のいずれかに記載の発明の効果に加え、後音の立上げの初期値を、その時点の前音の音量と同一にするので、０から立ち上がる場合に比べて後音子音の明瞭度が上がり、その分明瞭な歌唱音が合成できる。
【００３４】
また、本発明の請求項１４に記載の歌唱音合成方法によれば、請求項９乃至１３のいずれかに記載の発明の効果に加え、後音の立上げ開始時点を遅くするので、既定値の音量変化曲線に比べて音が重なる時間が短縮され、その分明瞭な歌唱音が合成できる。特に、前音の立下曲線の終了時点以降に立上曲線の開始時点を設定すれば、音の重なりが解消されるので、明瞭に聞き取りができる歌唱音となる。
【００３５】
また、本発明の請求項１５に記載の歌唱音合成方法によれば、請求項９乃至１４のいずれかに記載の発明の効果に加え、立上曲線の傾きをなだらかにするので、既定よりも音が重なる部分の音量の全体量が少なくなり、ビビリ音の発生が抑えられる。
【００３６】
また、本発明の請求項１６に記載の歌唱音合成方法によれば、、請求項９に記載の発明の効果に加え、音量の立ち下げ・立上げをせず、後音の開始時点で前音は一挙に音量を０とし、後音は開始時点からすぐにその音の設定音量とする。従って、立ち下げや立上げに関する複雑な設定をすることなく簡易に滑らかな合成音声を得ることができる。
【発明を実施するための最良の形態】
【００３７】
次に本発明を実施するための最良の形態について図面を参照して説明する。まず、図１及び図２を参照して、本発明の実施の形態である歌唱音合成装置の構成について説明する。図１は、歌唱音合成装置１の電気的構成を示すブロック図である。図２は、歌唱音合成装置１の外部記憶装置２０に記憶された演奏データ２１の構成を示す模式図である。
【００３８】
図１に示すように、歌唱音合成装置１は、供給されるＭＩＤＩ信号に基づいて音源回路により歌唱音等の楽音信号を生成する周知の電子楽器から構成されている。歌唱音合成装置１には、歌唱音合成装置１全体を制御するＣＰＵ１０が設けられ、ＣＰＵ１０には、楽音発生や音声合成等の各種プログラムを記憶したＲＯＭ１２と、ＣＰＵ１０が実行する各種演算処理のワークエリアとして使用されるＲＡＭ１３と、ハードディスク等の外部記憶装置２０と、楽音信号を発生させるための音源回路３１と、各種の操作を入力するための操作パネル４１とがバスを介して接続されている。さらに、ＣＰＵ１０には、所定時間毎にＣＰＵ１０に対して割込を発生させるタイマ１１が接続されている。また、音源回路３１には、発生された楽音信号を音響に変換するアンプやスピーカ等からなるサウンドシステム３２が接続されている。また、外部記憶装置２０には、楽音の詳細情報を規定した演奏データ２１と、歌唱音の合成に用いられる音節辞書２２とが記憶されている。
【００３９】
次に、図２に示すように、演奏データ２１は、楽曲を構成する各音の詳細を規定したデータであり、その音の開始時点（on time）２１１，終了時点（off time）２１２，音程２１３，その音にあてられた歌詞の音節名２１４，音量（velocity）２１５から構成されている。
【００４０】
次に、歌唱音合成装置１が生成する楽音の音量曲線及びこの音量曲線を規定するパラメータについて、図３〜図１３を参照して説明する。図３は、音量曲線及びその音量曲線を規定するパラメータを示す説明図である。図４は、パラメータの設定パターンを示す説明図である。図５は、既定値を用いた場合の音量曲線を示すグラフである。図６は、パターン１により変更された音量曲線を示すグラフである。図７は、パターン２により変更された音量曲線を示すグラフである。図８は、パターン３により変更された音量曲線を示すグラフである。図９は、パターン４により変更された音量曲線を示すグラフである。図１０は、パターン５により変更された音量曲線を示すグラフである。図１１は、パターン６により変更された音量曲線を示すグラフである。図１２は、パターン７により変更された音量曲線を示すグラフである。図１３は、パターン８により変更された音量曲線を示すグラフである。
【００４１】
図３に示すように、歌唱音合成装置１が生成する楽音の音量曲線５０は、発音開始時点(noteon)から設定音量値(velocity)に達するまでの立上曲線５１、設定音量値が維持される部分５２、発音終了時点(noteoff)から減衰していく立下曲線５３からなっている。なお、立下曲線５３は、次の音のnoteonまでの部分５４と次の音のnoteon以降の部分５５とに分けられる。このような音量曲線は、各種のパラメータにより規定されており、これらのパラメータを変更することによって変化する。本実施形態においては、変更可能なパラメータとして、図３に示すように、（１）立上曲線の傾き、（２）立上げ開始時点の遅延シフト、（３）立上げ初期値、（４）立下曲線の傾き、（５）立ち下げ開始時点の前倒しシフト、（６）立下曲線の次音開始以降の傾きの６つを用意している。
【００４２】
そして、図４に示すように、それぞれのパラメータの詳細設定としては、以下のようになる。まず、（１）立上曲線の傾きは、時定数により設定され、既定値を１として、２（なだらか）、０（一気）の設定が可能である。また、（２）立上げ開始時点の遅延シフトは、既定の時点から立ち上げるか、既定時点よりも所定時間遅くするかを設定可能である。また、（３）立上げ初期値は、既定値は０から設定音量値（velocity）まで徐々に立ち上がっていくが、これを前音のその時点の音量値から立ち上がるように設定したり、立ち上がり曲線を無視して初期値をいきなり設定音量値（velocity）にする設定が可能である。また、（４）立下曲線の傾きは、時定数により設定され、既定値を１として、１／２（急）、０（一気）の設定が可能である。また、（５）立ち下げ開始時点の前倒しシフトは、既定の時点から立ち下げるか、既定時点よりも所定時間早くするかを設定可能である。また、（６）立下曲線の次音開始以降の傾きは、次の音が開始されても傾きがそれまでと変わらない既定値を１として、１／４（急峻）、０（一気）の設定が可能である。
【００４３】
さらに、これらのパラメータの設定を組み合わせると、図４に示すような代表的な９個のパターンが考えられる。そこで、次に、各パターンにおいてどのように音量曲線が変化するかを図５〜図１３を参照して説明する。まず、図５に示すパターン０は、各パラメータの既定値を使用した場合の音量曲線である。図５に示すように、音量曲線は、noteon時点にて０から徐々に立ち上がり、各音データで設定されているvelocityに達する（立上曲線）。そして、noteoff時点にてvelocity値から徐々に減衰して０に到達する（立下曲線）。尚、noteoff時点から０に至るまでの間をリリース時間と称する。リリース時間の間に次の音のnoteon時点が到来すれば、図５に示すように、前音と後音が重なり合うことになる。
【００４４】
次に、図６に示すパターン１は、次の音のnoteon時点以降の傾きを０とした場合の音量曲線である。図６に示すように、立上曲線から次の音のnoteon時点までは、図５と同様の曲線を描き、その時点からは一気に０に至る。このようにすると、通常のように音量が徐々に減衰していかないが、次の音と重なり合うことがないので、次の音が明瞭に聞こえやすくなる。
【００４５】
次に、図７に示すパターン２は、次の音のnoteon時点以降の傾きを、既定値の１／４の時間で０に達するように設定した場合の音量曲線である。図７に示すように、立上曲線から次の音のnoteon時点までは、図５及び図６と同様の曲線を描き、その時点からは既定の１／４の時間で０に至る。このようにすると、リリース時間は既定よりも短くなるが、次の音と重なり合う時間も短くなるので、滑らかに音が移り変わるとともに次の音が明瞭に聞こえやすくなる。
【００４６】
次に、図８に示すパターン３は、前音の立下曲線の傾きを、後音のnoteon時点以降は０とし、さらに、後音の立上げ初期値を前音の同時点の音量値に設定した場合の音量曲線である。図８に示すように、後音の立上曲線の初期値を０からでなく、前音のその時点の音量（既にリリース時間に入っているので、前音のvelocity値よりも小さい音量値となる）と同値にするとともに、その時点から前音の音量は減衰をやめて一挙に０に落としている。従って、前音と後音の重なりが生じず、０から急に立ち上がることもないので、後音の子音の明瞭度が上がり、滑らかで明瞭な歌唱音となる。
【００４７】
次に、図９に示すパターン４は、前音の立下曲線の傾きを既定値よりも急となるように設定した場合の音量曲線である。図９に示すように、前音は、noteoff時点以降、既定値の１／２の時間をかけて減衰し、０に至る（リリース時間が既定の半分となる）。このようにすると、リリース時間は既定よりも短くなるが、次の音と重なり合う時間も短くなるので、滑らかに音が移り変わるとともに次の音が明瞭に聞こえやすくなる。
【００４８】
次に、図１０に示すパターン５は、前音の立下曲線の傾きを既定値よりも急とし、かつ、後音の立上曲線の傾きを既定値よりもなだらかになるように設定した場合の音量曲線である。図１０に示すように、前音は、noteoff時点以降、既定値の１／２の時間をかけて減衰し、０に至る（リリース時間が既定の半分となる）。そして、後音は、既定値の２倍の時間をかけてvelocity値に到達する。このようにすると、既定値の音量曲線よりも音が重なる部分の音量の全体量が少なくなり、ビビリ音の発生が抑えられる。
【００４９】
次に、図１１に示すパターン６は、前音の立ち下げ開始時点を前倒しし、前音の立下曲線の傾きを既定値よりも急とし、さらに、後音の立上曲線の傾きを既定値よりもなだらかになるように設定した場合の音量曲線である。図１１に示すように、前音は、既定値よりも早くnoteoffとなり、その時点以降、既定値の１／２の時間をかけて減衰し、０に至る（リリース時間が既定の半分となる上、noteoffが早いので、既定値よりもさらに早く０に到達する）。そして、後音は、既定値の２倍の時間をかけてvelocity値に到達する。従って、前音と後音の重なりが生じず、次の音が明瞭に聞こえやすくなる。
【００５０】
次に、図１２に示すパターン７は、前音の立ち下げ開始時点を前倒しし、前音の立下曲線の傾きを既定値よりも急とし、後音の立上げ開始時点を遅らせ、さらに、後音の立上曲線の傾きを既定値よりもなだらかになるように設定した場合の音量曲線である。図１２に示すように、前音は、既定値よりも早くnoteoffとなり、その時点以降、既定値の１／２の時間をかけて減衰し、０に至る（リリース時間が既定の半分となる上、noteoffが早いので、既定値よりもさらに早く０に到達する）。そして、後音は、既定値よりも遅くnoteonとなり、既定値の２倍の時間をかけてvelocity値に到達する。従って、前音と後音の重なりが生じず、次の音が明瞭に聞こえやすくなる。
【００５１】
次に、図１３に示すパターン８は、前音の立下曲線の傾きを０とし、後音の立上げ初期値をvelocity値とし、後音の立上曲線の傾きを０とした場合の音量曲線である。図１３に示すように、立上げ立ち下げを行なわず、noteonの当初から設定音量とするとともに、noteoffから減衰せずに０とする（リリース時間を設けない）。このようにすれば、簡単な構成で音の重なりを防止して明瞭な歌唱音を得ることができる。
【００５２】
次に、以上の構成の歌唱音合成装置１の動作について、図１４〜図１６を参照して説明する。図１４は、音量曲線を変更するための各種パラメータを設定する設定処理ルーチンの流れを示すフローチャートである。図１５は、歌唱音合成装置１のメインルーチンのフローチャートである。図１６は、図１５のＳ３で実行する音量計算処理のサブルーチンのフローチャートである。
【００５３】
図１４に示すように、パラメータ設定処理では、図３及び図４で説明した６種類のパラメータを順に設定していく。各パラメータを個別に操作者が設定可能に構成してもよいし、パターンを入力するように構成してもよい。また、曲の種類やテンポ等によって自動でパラメータを設定するように構成してもよい。ここで設定されたパラメータが、後述する歌唱音合成処理の音量計算処理において使用される。
【００５４】
まず、立上曲線の傾きを設定する（Ｓ１０１）。前述のように、立上曲線の傾きは、時定数により設定され、既定値を１として、２（なだらか）、０（一気）の設定が可能である。次に、立上げ開始時点を既定値よりも遅らせるか否かを示す立上げ開始時点シフトのパラメータを設定する（Ｓ１０３）。ここで設定されるパラメータは、シフトを行なうか否かである。
【００５５】
次に、立上げ初期値の設定を行なう（Ｓ１０５）。立上げ初期値の既定値は０であるが、例えば、前音のその時点の音量値から立ち上がるように設定したり、立ち上がり曲線を無視して初期値をいきなり設定音量値（velocity）にしたり、所望の値にすることが可能である。
【００５６】
次に、立下曲線の傾きを設定する（Ｓ１０７）。立下曲線の傾きは、立上曲線の傾きと同様、時定数により設定され、既定値を１として、１／２（急）、０（一気）の設定が可能である。
【００５７】
次に、立下げ開始時点を既定値よりも早くするか否かを示す立下げ開始時点シフトのパラメータを設定する（Ｓ１０９）。ここで設定されるパラメータは、シフトを行なうか否かである。
【００５８】
次に、立下曲線の次音開始以降の傾きを設定する（Ｓ１１１）。次の音が開始されても傾きがそれまでと変わらない既定値を１として、１／４（急峻）、０（一気）の設定が可能である。以上により、パラメータ設定処理が終了する。
【００５９】
次に、歌唱音合成装置１のメインルーチンでは、図１５に示すように、処理が開始されると、まず、外部記憶装置２０に記憶された演奏データ２１から音データを読み込む（Ｓ１）。ここで読み込む音データは、処理対象となる当該音データの全ての項目と、直後の音の開始時点(on time)２１１、直前の音の終了時点(off time)２１２である（図２参照）。
【００６０】
次に、当該音の音量を計算する（Ｓ３）。音量計算処理の詳細については、図１６を参照して後述する。そして、読み込んだ音データの音程２１３に基づいて、周知の方法で実際の音のピッチを計算する音程計算処理を実行する（Ｓ５）。次に、読み込んだ音データの音節名２１４に基づいて、音節辞書２２を用いて周知の方法で音節データを合成する（Ｓ７）。
【００６１】
以上で当該音データに基づく歌唱音が生成されたので、できあがったデータをＲＡＭ１３の歌唱音バッファに蓄積する（Ｓ９）。そして、次の音データが演奏データ２１に存在するか否かを判断する（Ｓ１１）。次の音データが存在すれば（Ｓ１１：ＹＥＳ）、Ｓ１に戻って音データを読み込んで以上の処理を繰り返す。次の音データがなければ（Ｓ１１：ＮＯ）、処理を終了する。
【００６２】
次に、図１６を参照して、図１５のＳ３で実行する音量計算処理について説明する。まず、処理対象としている音と前音との重なりがあるか否かを判断する（Ｓ２１）。この判断は、前音のnoteoffからリリース時間を経過した時点を計算し、その時点が対象音のnoteonよりも後になるか否かを判断することにより行なう。
【００６３】
前音との重なりがある場合には（Ｓ２１：ＹＥＳ）、前述した設定処理で設定されている各パラメータに従って、対象音の立上曲線のパラメータを決定する（Ｓ２３）。具体的には、立上曲線の傾き、立上曲線の開始時点を遅らせるか否か（シフト）、立上曲線の初期値を決定する。
【００６４】
一方、前音との重なりが検出されなかった場合には（Ｓ２１：ＮＯ）、立上曲線の全てのパラメータを既定値に戻す初期化処理を実行する（Ｓ２５）。
【００６５】
Ｓ２３及びＳ２５で対象音の立上曲線のパラメータが決定されると、次に、対象音と後音との重なりがあるか否かを判断する（Ｓ２７）。この判断は、対象音のnoteffからリリース時間を経過した時点を計算し、その時点が後音のnoteonよりも後になるか否かを判断することにより行なう。
【００６６】
後音との重なりがある場合には（Ｓ２７：ＹＥＳ）、前述した設定処理で設定されている各パラメータに従って、対象音の立下曲線のパラメータを決定する（Ｓ２９）。具体的には、立下曲線の傾き、立下曲線の開始時点を早くするか否か（シフト）、立下曲線の初期値、後音開始以降の立下曲線の傾きを決定する。
【００６７】
一方、後音との重なりが検出されなかった場合には（Ｓ２７：ＮＯ）、立下曲線の全てのパラメータを既定値に戻す初期化処理を実行する（Ｓ３１）。
【００６８】
Ｓ２９及びＳ３１で対象音の立下曲線のパラメータが決定されると、次に、対象音を所定の時間（本実施形態では１０ミリ秒）で区切ったフレームごとに以下の処理を実行する。まず、最初のフレームについて、次式（１）に基づいて立上曲線を計算する（Ｓ３３）。式（１）では、Volが当該フレームの音量値、Velが当該音の設定音量値（velocity）、Vol0はon時点の音量値、eが当該音のエクスプレッション値、αは時定数、tが現在時点、tonはon時点を示す。
【００６９】
【数１】
2006010730.tif 000003
【００７０】
次に、読み込まれている当該音データのoff時点を参照し、次のフレームがoff時点か否かを判断する（Ｓ３５）。次のフレームがoff時点でなければ（Ｓ３５：ＮＯ）、次のフレームもまだ立上曲線の間に入っているので、Ｓ３３に戻って式（１）による立上曲線の計算を実行する。次のフレームがoff時点であれば（Ｓ３５：ＹＥＳ）、次のフレームからは立下曲線にはいるので、次に、次のフレームを処理対象フレームとして、当該フレームがＲＡＭ１３に読み込まれている次の音のon時点以降にあたるか否かを判断する（Ｓ３７）。当該フレームが次の音のon時点以降にあたらない場合には（Ｓ３７：ＮＯ）、次式（２）に基づいて立下曲線を計算する（Ｓ３９）。式（２）では、Volが当該フレームの音量値、Velが当該音の設定音量値（velocity）、eが当該音のエクスプレッション値、αは時定数、tが現在時点、toffはoff時点を示す。
【００７１】
【数２】
2006010730.tif 000004
【００７２】
当該フレームが次の音のon時点以降にあたる場合には（Ｓ３７：ＹＥＳ）、次に、後音のon時点以降の立下曲線の傾きが、それまでの傾きから変更されるか否かを判断する（Ｓ４１）。後音開始以降の立下曲線の傾きは、Ｓ２９のパラメータ決定処理で決定されているので、これを参照して判断する。傾きの変更がない場合には（Ｓ４１：ＮＯ）、後音のon時点以前の立下曲線と同様に計算すればよいので、Ｓ３９に進み、式（２）に基づいて立下曲線を計算する。
【００７３】
傾きの変更がある場合には（Ｓ４１：ＹＥＳ）、次式（３）に基づいて立下曲線を計算する（Ｓ４３）。式（３）では、Volが当該フレームの音量値、Vol1が前フレームの音量値、eが当該音のエクスプレッション値、αは時定数、tが現在時点、ton_nextは後音のon時点を示す。
【００７４】
【数３】
2006010730.tif 000005
【００７５】
Ｓ３９及びＳ４３の処理により、当該フレームの立下曲線が計算されたので、次に、次のフレームが当該音のoff時点にリリース時間を加えた時点にあたるか否かを判断する（Ｓ４５）。ここで、リリース時間は、noteoffから音が減衰して音量０に至るまでの時間を意味している。従って、off時点にリリース時間を加えた時点は、音量値が０になる時点である。次のフレームがまだリリース時間経過点に達していなければ（Ｓ４５：ＮＯ）、Ｓ３７に戻って、次のフレームを処理対象フレームとして立下曲線の計算を行なう。次のフレームがリリース時間経過点に達していれば（Ｓ４５：ＹＥＳ）、図１５のメインルーチンに戻る。
【００７６】
以上説明したように、本実施形態の歌唱音合成装置１によれば、演奏データに基づいて演奏した場合に音が重なるか否かを予測し、重なりが予測される場合には、立上初期値、立下開始時点、立上開始時点、立下傾き、立上傾き等の各種のパラメータを重なりの予測される前音あるいは後音について変更することにより、いずれか又は両方の音の音量曲線を変更するので、滑らかで明瞭な歌唱音を合成することができる。
【図面の簡単な説明】
【００７７】
【図１】歌唱音合成装置１の電気的構成を示すブロック図である。
【図２】歌唱音合成装置１の外部記憶装置２０に記憶された演奏データ２１の構成を示す模式図である。
【図３】音量曲線及びその音量曲線を規定するパラメータを示す説明図である。
【図４】パラメータの設定パターンを示す説明図である。
【図５】既定値を用いた場合の音量曲線を示すグラフである。
【図６】パターン１により変更された音量曲線を示すグラフである。
【図７】パターン２により変更された音量曲線を示すグラフである。
【図８】パターン３により変更された音量曲線を示すグラフである。
【図９】パターン４により変更された音量曲線を示すグラフである。
【図１０】パターン５により変更された音量曲線を示すグラフである。
【図１１】パターン６により変更された音量曲線を示すグラフである。
【図１２】パターン７により変更された音量曲線を示すグラフである。
【図１３】パターン８により変更された音量曲線を示すグラフである。
【図１４】音量曲線を変更するための各種パラメータを設定する設定処理ルーチンの流れを示すフローチャートである。
【図１５】歌唱音合成装置１のメインルーチンのフローチャートである。
【図１６】図１５のＳ３で実行する音量計算処理のサブルーチンのフローチャートである。
【符号の説明】
【００７８】
１      歌唱音合成装置
１０      ＣＰＵ
１２      ＲＯＭ
１３      ＲＡＭ
２０      外部記憶装置
２１      演奏データ
３１      音源回路
３２      サウンドシステム
５０      音量曲線
５１      立上曲線
５３      立下曲線
【図１】
2006010730.tif 000006
【図２】
2006010730.tif 000007
【図３】
2006010730.tif 000008
【図４】
2006010730.tif 000009
【図５】
2006010730.tif 000010
【図６】
2006010730.tif 000011
【図７】
2006010730.tif 000012
【図８】
2006010730.tif 000013
【図９】
2006010730.tif 000014
【図１０】
2006010730.tif 000015
【図１１】
2006010730.tif 000016
【図１２】
2006010730.tif 000017
【図１３】
2006010730.tif 000018
【図１４】
2006010730.tif 000019
【図１５】
2006010730.tif 000020
【図１６】
2006010730.tif 000021