如何在 iPhone 上时移音频
Posted
技术标签:
【中文标题】如何在 iPhone 上时移音频【英文标题】:How to time-shift audio on iPhone 【发布时间】:2010-06-30 18:15:43 【问题描述】:这类似于The Pitch Shift question,除了我想让我的音频保持相同的音高,但播放得更慢或更快——时移。 (在 iPhone 上。)
谁能给我指点图书馆、教程或其他阅读材料来帮助我解决这个问题?
谢谢!
【问题讨论】:
我最终使用了 Dirac 库,它很好地处理了这个问题。也许有一天我会学习所有关于 FFT 的知识并自己实现它。 dspdimension.com/technology-licensing/dirac2-iphone 【参考方案1】:这本质上不是一回事吗?例如,如果您将某个音高移一个八度,然后以一半的速度播放,那么它将以原始音高播放,但持续时间是原来的两倍...
【讨论】:
对。问题是:如何以半速播放。 “只是修改声音样本”对于我来说不是一个足够详细的答案来遵循需要做的事情。 @Olie - 我没有说“只需修改声音样本”:-) 如何更改播放速率取决于您用于播放音频的 API,但如果您是使用一个使用AudiostreamBasicDescription
结构的结构,您可以修改mSampleRate
元素来调整播放速率。您是否尝试过“Pitch Shift”问题中的任何解决方案?您使用哪个 API 播放声音?
啊,是的 - 对不起,我并不是要暗示你这么说,只是在我见过的其他答案中这是一个共同的主题,我不太懂能够解释这种掩饰的水平。我目前不依赖于任何特定的播放机制,因为节奏转换是一个必要的组件。我会调查 AudioStream 的东西。对于您给出的答案:“如果您将某些东西调高一个八度” - 如何? “……然后以半速播放”——如何?这就是我的意思。谢谢!【参考方案2】:
“时移”只是一种延迟。 “时间拉伸”是您想要的,这是音高转换的倒数情况。正如其他人所提到的,狄拉克应该符合要求。
【讨论】:
以上是关于如何在 iPhone 上时移音频的主要内容,如果未能解决你的问题,请参考以下文章