2012年12月13日

音声合成の設計(3)

  内部ROMデータだと固定語しか出せないので、通常は外部データを使う事になります。

  外部データを使う場合、ホルマントデータを与える必要がありますが、そのフォーマットに関してです。


  ホルマントデータは、基本的に7バイト単位で与えます(例外あり。後述)。

ホルマントパラメータ




・1バイト目のbit7-3:TIME
 繰り返し回数。通常は1("00001")を設定。0("00000")の時は、データが終了した事を意味します。

・1バイト目のbit2:QMAG
 "1"の時は、2〜6バイト目のf、b の値を2倍にします。

・1バイト目のbit1:S.I.
 "1"の時は、F、B、の補間を行わない。

・1バイト目のbit0:V/UV
 7バイト目のFVと併せて、音源を選択する。

 V/UV = "0"、FV="0" の時、無声音源(摩擦音源)
 V/UV = "0"、FV="1" の時、使用禁止
 V/UV = "1"、FV="0" の時、有声音源
 V/UV = "1"、FV="1" の時、有声摩擦音源(有声音源+無声音源)

・2バイト目のbit7-3:f1
 1段目のホルマントフィルタの周波数情報用の差分データ

・2バイト目のbit2-0:b1
 1段目のホルマントフィルタの帯域幅用の差分データ

・3バイト目のbit7-3:f2
 2段目のホルマントフィルタの周波数情報用の差分データ

・3バイト目のbit2-0:b2
 2段目のホルマントフィルタの帯域幅用の差分データ

・4バイト目のbit7-3:f3
 3段目のホルマントフィルタの周波数情報用の差分データ

・4バイト目のbit2-0:b3
 3段目のホルマントフィルタの帯域幅用の差分データ

・5バイト目のbit7-3:f4
 4段目のホルマントフィルタの周波数情報用の差分データ

・5バイト目のbit2-0:b4
 4段目のホルマントフィルタの帯域幅用の差分データ

・6バイト目のbit7-3:f5
 5段目のホルマントフィルタの周波数情報用の差分データ

・6バイト目のbit2-0:b5
 5段目のホルマントフィルタの帯域幅用の差分データ

・7バイト目のbit7-4:AMP
 音源からフィルタへ入力する際の音量値用データ

・7バイト目のbit3:FV
 1バイト目のV/UV と併せて、音源を選択する。

・7バイト目のbit2-0:p
 有声音源用の周波数を決定する値の差分データ


  それぞれのパラメータの詳細については、後ほど。


  1バイト目のTIME は、繰り返し回数を示し、2以上の場合は7バイト単位ではなく、7バイト+αになります。
  この時、7バイト目を繰り返します。

  例えば、TIME に3を設定した場合は、

  1バイト目
  2バイト目
  3バイト目
  4バイト目
  5バイト目
  6バイト目
  7バイト目
  7バイト目その2
  7バイト目その3

  になります。その2、その3のデータを処理する時は、1〜6バイト目が同じ値として扱います。

  1〜6バイト目を何度も与えなくて済むので、データの削減が図れるのが狙いなようです。




posted by えすび at 21:07| Comment(2) | P6解析:音声合成 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
詳細教えてほしいです
Posted by yosi at 2020年06月10日 19:18
詳細は上に書いた通りで、これ以上はわかりません。

過去にいろいろと調べてみたんですが、よくわからないんですね...
Posted by えすび at 2020年06月10日 19:51
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。