NAudio を使用して double 配列 output[] を wav ファイルに変換しました。ファイルは VLC プレーヤーと Windows Media Player では正常に再生されますが、Winamp で開くか、wavread() を使用して Matlab でアクセスしようとすると失敗します.. (Matlab では次のエラーが表示されます:「無効な Wave ファイル。理由: WAV ファイルのチャンク サイズ情報が正しくありません。" というメッセージが表示されます。これは、明らかにヘッダーに問題があることを意味します)。これを解決する方法についてのアイデアはありますか? 配列を WAV に変換するコードは次のとおりです。
float[] floatOutput = output.Select(s => (float)s).ToArray();
WaveFormat waveFormat = new WaveFormat(16000, 16, 1);
WaveFileWriter writer = new WaveFileWriter("C:\\track1.wav", waveFormat);
writer.WriteSamples(floatOutput, 0, floatOutput.Length);