哪种音频文件格式最容易操作?

时间:2011-02-08 17:08:55

标签: c++ c ios audio

你好,好的电脑人员,

每到question I had earlier concerning accessing the samples in an audio file,我现在意识到核心音频格式可能不是最佳选择。

特别是因为on page 15 of the spec它提到了一些关于使用C作为“符号方便”的东西,即你不能用一些c函数打开它并用它做你想做的事。

那就是说,如果我想打开一个音频文件,然后在其上运行一些C,C ++或Objective-C代码来播放样本值,那么这种格式最好是这样做的:WAV? AIFF?其他

请记住,我希望能够在iOS上运行。

谢谢!

5 个答案:

答案 0 :(得分:9)

未压缩的WAV文件。它们由标题和原始样本组成。

答案 1 :(得分:5)

我曾经通过C ++操纵WAV,这很容易。 我使用此规范编写代码:https://ccrma.stanford.edu/courses/422/projects/WaveFormat/通过本文档和对数字音频的一点了解,您可以轻松地操作WAV文件。

答案 2 :(得分:2)

未压缩的WAV是音频编辑的事实标准。您可以使用各种库轻松地操作它们。如果您只是想要完整的原始样本,甚至没有WAV标题,请使用PCM,但是您必须提前知道您的采样率,频率等,因为您将无法获得通常在WAV标题中的所有信息是未压缩的样本。

答案 3 :(得分:1)

最简单的未压缩WAV文件格式只有一个44字节的标题(它告诉你采样率,每个采样的位数,以及数据是立体声对还是单声道),后面直接跟着一个原始PCM阵列(通常)短整数。

在小端CPU(例如Intel或大多数ARM)上,您可以将此文件格式直接映射到16位短路的C数组中,并使用与标头的适当偏移量对其进行索引。

答案 4 :(得分:0)

未压缩的WAV将是最简单的处理,因为您不必在操作之前处理它们的解码,所以您可能希望从那开始,直到您确定您的操作例程/代码。

但是,除非你计划只有一些点效果或相当大的结果束,否则从长远来看,看看像IMA ADPCM这样的东西可能会更好。解码算法就在那里(有关详细信息,请查看http://wiki.multimedia.cx/index.php?title=IMA_ADPCM),实现起来相对简单,它可以让您在产品中添加更多声音。