0
naudioとASIOで32ビットのバイト配列を再生しようとしています。 しかし、私はそれを実行することはできません。出力信号が歪んでいる。 同じ変換方法がnaudioとWASAPIの32ビットでうまく動作します。NAudioとASIOで32ビットオーディオを再生
サンプル変換:
var newAmp = (int)Math.Round(amp * (Math.Pow(2, 32)/2));
var buffer = BitConverter.GetBytes(newAmp);
プレイ、レコードnaudioとASIO経由:
var waveToneClass = new WaveTone(48000, 32, playBuffer, true, 1);
var stream = new BlockAlignReductionStream(waveToneClass);
asio_outin = new AsioOut(nameOfDriver);
asio_outin.ChannelOffset = 0;
asio_outin.InputChannelOffset = 0;
asio_outin.InitRecordAndPlayback(stream, 1, 48000);
asio_outin.AudioAvailable += ASIO_dataAvailable;
asio_outin.Play();
と:
private AsioOut asio_outin = null;
16ビットと同じ方法で、私はクリーンを取得信号。 しかし、出力レベルが非常に低く、ゲインが高いとアーチファクトが発生し、それが32ビットの理由です。
NAudio v1.7.3.0/Windows 7の/ .NET 4.0
私の障害は何ですか?