我有一个电路将麦克风数据作为字节发送给我。我将这些字节保存到.txt文件中并使用FileStream
读取它们。电路的频率为16khz。
我的问题是当我尝试将这些字节转换为wav时,它给了我一个毫无意义的结果。此外,我的录制时间与wav文件持续时间不匹配。
WaveFormat waveFormat = new WaveFormat(16000,8,1);
using (WaveFileWriter writer = new WaveFileWriter(tempFile, waveFormat))
{
writer.Write(audioBuffer, 0, audioBuffer.Length);
}
wav文件的数据结构是什么?我应该将它们转换为Hex或float还是其他东西?
答案 0 :(得分:0)
记录16位而不是8位是很常见的,所以我建议先尝试一下:
new WaveFormat(16000,16,1);
一旦你获得了正确的位深度,你就应该听到可识别的声音,尽管如果你的采样率或通道数错误,音调会出错。