2017-01-16 2 views
0

waveInを使用してnAudioで記録すると、取得するバッファの値が大きくなります。サンプルを正しく表示するには、グラフを約20000にスケーリングする必要があります。記録されたwaveファイルからこのオーディオを再生し、SampleChannelサンプルプロバイダを使用してwaveOutからサンプルをキャプチャすると、値は小さくなります。NAudioの再生サンプル値が記録された値よりもはるかに小さい

ファイルフォーマットでは、私に与えられた値には、32ビット/サンプル(float?)と2チャンネルのblockAlignが8つあると書かれています。これは、各チャンネルの値を作成するために何らかの方法で2x4浮動小数点数を組み合わせる必要があることを意味しますか?

私は、提供されたバッファ配列の浮動小数点は浮動小数点形式の3.05175781E-05の倍数であることに注意してください。

私はここで何をすべきかについて少し迷っています。ウェーブフォームsampleProviderが作成する浮動体を処理する必要がありますか? waveIn

答えて

0

、あなたはおそらく16ビットのサンプルを記録しているので、彼らは、範囲内のshortまたはInt16値-32768

32767あなたは浮動小数点( floatまたは Single)のサンプルを扱うとき、彼らは正規化されています-1.0〜1.0の範囲に設定します。

+0

これは昨夜の解答だったかもしれないと思っていたので、私はウェーブインの値を32768で割って正規化します。おかげでヒープ、 veは与えられていて、pluralsightのビデオは非常に役に立ちます。 –

+0

WaveOutサンプル値が同じ範囲にない理由は、samplechannelがそれらを浮動小数点に変換しているからです –

関連する問題