我正在制作Iphone游戏,我们需要使用压缩格式的声音,我们希望能够无缝地循环回到音频文件中的特定样本(所以有一个介绍,然后它循环回来抵消)
目前我发现的唯一导出过程将允许无缝循环(报告正确的启动和填充帧数,在循环时没有点击等)正在使用apple的afconvert到caf文件中的aac格式。
但是当我们尝试编码以降低比特率时,它会自动重新采样声音!我们不希望声音被重新采样,我遇到的每个其他编码器都有一个设置输出采样率的选项,但我找不到这个。
另一方面,如果有人对使用音频队列无缝循环压缩文件格式感到幸运,请告诉我。
目前我正在处理以下信息:
http://developer.apple.com/mac/library/qa/qa2009/qa1636.html
请注意,当我在默认情况下保留编码的比特率(~128kbs)时,此DID完全正常工作,但是当我将其设置为32kbps时 - 使用-b选项 - 它会重新采样,并现在循环点击。
答案 0 :(得分:1)
它至少需要48kbps。 32kbps将下采样到较低的采样率。
答案 1 :(得分:0)
我认为你混淆了采样率(典型值:32kHz,44.1kHz,48kHz)和比特率(典型值:128kbps,160kbps,192kbps)。
对于比特率,32kbps非常低。此比特率的声音质量会很差。您可能打算将采样率设置为32kHz,这也不是典型的,但更有意义。
当压缩到AAC并解压缩回WAV时,您将无法获得相同的音频文件,因为在AAC中,音频数据的表示格式与原始波形完全不同。例如。你可以移动几微秒,这是转换为压缩格式所必需的。使用任何高度压缩的格式都无法完全解决这个问题。
咔哒声源于两个直接连续播放的样本之间的突然变化。这很可能发生,因为你在循环中跳回的偏移量最终不会与AAV文件中的位置完全相同(如上所述,可以移动微秒)。
压缩时,您不会绕过这些微小的变化。相反,您必须通过调整偏移量来在压缩后补偿它们。这意味着你必须在音频编辑器中打开压缩的声音文件,例如Audacity,并手动查找接近原始偏移的另一个偏移,这适合于循环。
如何找到适合循环的偏移?
放大波形的结尾。看看波形在那里的样子。然后放大原始偏移处的波形,并在其邻域中搜索波形无缝连接到波形末端的偏移。
有关这个问题的示例,请在音频编辑器中打开未压缩的音频文件,然后检查波形的结尾和那里的偏移。