アットウィキロゴ

STRAIGHT Libraryのパラメータ仕様(推定)

STRAIGHT Libraryにの仕様に関するまとめと推定。

 半分くらいは管理人のまとめ用。気がついたことがあれば更新されます。STRAIGHTはFrame単位で解析・合成する高機能VOCODERで、解析を行った際には音源情報とスペクトル情報を抽出する。また音声の合成には音源情報とスペクトル情報を使用します。スペクトル情報は基本周波数に対して平滑化が行われており、音程変化に比較的強いです。ただし数回の合成・解析で高音域に乱れが生じるのを確認済。

StraightSource型(音源情報)

基本周波数と非周期性尺度バッファの二つのデータを保持する。

基本周波数

いわゆる音程。

非周期性尺度バッファ

声に含まれる調音以外の要素の強さを格納する配列。
  • BREを上げるにはバッファ内の数値を一律等倍している。
  • 0〜numFrames-1までのバッファで、おそらくsamplingFrequency/2を等間隔に区切って周波数ごとの強度を記憶していると思われる。

straightSourceCompute( Straight, Source, double* inputWave, long length );

  • あらかじめ用意されている読み込み関数は、DLLが必要なのでなんとなくいやならこちらを使用するべし。

StraightSpecgram型(スペクトル情報)

スペクトルの時間変化を保持する。

スペクトルバッファ

声に含まれる調音要素の強さを格納する配列。
  • これも非周期性尺度バッファと同じく、周波数に対して等間隔な配列と思われる。
    • ただし、F0に対して平滑化が行われている。
  • フレーム単位でGendorFactorを操作したい場合、一次元のスペクトルバッファ配列を伸縮させる。

straightSpecgramCompute( Straight, StraightSpecgram, StraightSource, double*, long );

  • straightSourceComputeに同じ。

StraightSynth型

音源情報とスペクグラムから音声を再合成する。
  • STRAIGHT Libraryに用意されたファイル出力をするとメモリリークする。DLLを読み込む辺りでの開放忘れか。

straightSynthGetOutputWave

    • こちらならDLL使わないので安心。ただし出力を自分で書く必要があります。

StraightConfig型

初期化用構造体。

frameShift

  • ざっくり言って解析・合成時の単位時間。デフォルトは1ms。

frameLength

  • 1Frameの解析・合成に必要な区間。デフォルトは40ms。frameLength - frameShift分はオーバラップするのだろう。

タグ:

+ タグ編集
  • タグ:
最終更新:2009年12月15日 16:00