1

私は最近、HTK (HMM ツール キット) を使用したサウンド検出プロジェクトを作成しています。テスト後、次の結果ファイルを取得します。

#!MLF!#
"../data/test/keyboard_04.rec"
0 47000000 keyboard -83909.929688
.

公式ドキュメントではタイムスタンプの単位は100nsとありますので、この結果では0sから4.7sの間で「鍵盤」の音がするということになります。しかし奇妙なことに、テスト用のサウンド ファイルには 1.9 しかありません。詳細情報は次のとおりです。

>>  audioinfo('keyboard_04.wav')
ans = 
         Filename: [1x50 char]
CompressionMethod: 'Uncompressed'
      NumChannels: 2
       SampleRate: 44100
     TotalSamples: 83712
         Duration: 1.8982
            Title: []
          Comment: []
           Artist: []
    BitsPerSample: 24

さらに、HVite を実行すると、次の警告が表示されます。

WARNING [-7032]  OWarn: change HMM Set vecSize

多分これは私の問題に関係していますか?

タイムスタンプが非常に大きい理由を知っている人はいますか? とにかくありがとう!

4

1 に答える 1

0

あ、時差がある理由が分かった。HTK 結果のタイムスタンプは、オーバーラップがあっても「合計フレーム時間」です。私の例では、ウィンドウ サイズは 25 ミリ秒、ウィンドウ ステップは 10 ミリ秒、合計 188 フレームです。

HTK の場合、188*0.025=4.7(秒)。ただし、今回の結果はオーバーラップを考慮していません。

オーバーラップ、つまり 0.025+187*0.01=1.895 を考慮してください。これが音声時間です。

HTK のなんて奇妙な設定でしょう、笑。

于 2015-05-25T11:43:14.973 に答える