Audio 从PCM转换为WAV。可能吗?

Audio 从PCM转换为WAV。可能吗?,audio,ios7,xcode5,Audio,Ios7,Xcode5,我有一个iPAD的应用程序。 此应用程序记录麦克风的声音。 该项目的音频格式必须是PCM、MP3和WAV文件。MP3文件我从原始原始文件开始,然后使用LAME进行转换。 不幸的是,我没有找到任何例子,允许我将PCM文件转换为WAV文件。 我刚刚注意到,如果我将文件扩展名设置为WAV格式,则从原始应用程序开始保存时不会出现问题,因此我认为PCM WAV文件不会进行类型转换。 对吗 PS:对不起,我的英语。。。我用谷歌翻译,WAV是一种盒子。PCM在盒子里。有许多容器格式,如MP4。MP4可以包含音

我有一个iPAD的应用程序。 此应用程序记录麦克风的声音。 该项目的音频格式必须是PCM、MP3和WAV文件。MP3文件我从原始原始文件开始,然后使用LAME进行转换。 不幸的是,我没有找到任何例子,允许我将PCM文件转换为WAV文件。 我刚刚注意到,如果我将文件扩展名设置为WAV格式,则从原始应用程序开始保存时不会出现问题,因此我认为PCM WAV文件不会进行类型转换。 对吗


PS:对不起,我的英语。。。我用谷歌翻译,WAV是一种盒子。PCM在盒子里。有许多容器格式,如MP4。MP4可以包含音频、视频或两者。它还可以包含多个视频或音频流。或压缩文件。Zip文件可以包含文本文件。但是zip文件也可以包含图像、PDF等,。。。但是你不能说“我怎样才能把一个zip文件转换成zip中的文本文件”

如果您想将PCM数据转换为WAV文件,您应该不会遇到太多问题,因为WAV文件是非常简单的文件。看看这个:

(另见。)


您首先需要该标题,然后可以添加所有pcm数据(请参见数据字段)。

将pcm转换为WAV并不难。PCM和WAV两种格式都包含原始PCM数据,唯一的区别是它们的标题(WAV包含PCM不包含的标题)。所以,如果你只是添加wav头,那么它会做的技巧。只需获取PCM数据并将wav标题添加到PCM数据的顶部即可。要添加带有PCM数据的wav头文件,请选中此项。

我在一个系统上工作,该系统只接受wav文件,但我从amazon Polly收到的是PCM文件,因此最终这样做并解决了我的问题。希望它能帮助别人。这是nodejs的一个示例


// https://github.com/TooTallNate/node-wav
const FileWriter=require('wav')。FileWriter
让audioStream=bufferToStream(res.audioStream);
var outputFileStream=new FileWriter(`${outputFileFolder}/wav/${outputFileName}.wav`{
采样器:8000,
频道:1
});
管道(outputFileStream);
函数bufferToStream(二进制){
const readableInstanceStream=新流。可读({
读(){
这个.push(二进制);
这个.push(null);
}
});
返回readableInstanceStream;
}

wav
文件只是一个简单的例子。WAV文件没有指定任何特定的音频编码。但是,最常见的编码似乎是PCM的变体:。谢谢。。因此,PCM和WAV文件之间没有区别,这并不完全正确,但在实践中,您可能会发现遇到的99.9%的WAV文件只包含PCM数据。例外情况可能是,如果您有自定义编解码器,或者手机上记录了数据(例如,可能使用压缩)。正如您所知,斯坦福链接已断开。可能这是当前的等效链接?