外部データを使う場合、ホルマントデータを与える必要がありますが、そのフォーマットに関してです。
ホルマントデータは、基本的に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バイト目を何度も与えなくて済むので、データの削減が図れるのが狙いなようです。
過去にいろいろと調べてみたんですが、よくわからないんですね...