如何降低PCM数据的播放速度?
Posted
技术标签:
【中文标题】如何降低PCM数据的播放速度?【英文标题】:How to reduce playback speed of PCM data? 【发布时间】:2011-11-03 23:23:47 【问题描述】:伙计们,
在我的 android 应用程序中,我录制音频并播放。用户通常是歌手。
我现在需要能够以低速播放音频。
据我了解,PCM 数据只是不同频率的正弦波的混合。有一个主导波(最高震级)会产生歌曲的音符。
为了将速度降低 2 倍,起初我以为我会复制每个样本。例如,如果采样的输入 PCM 值为 20000、25000、30000、...,我将回放 20000、20000、25000、25000、30000、30000。但是,这似乎不是正确的解决方案。我似乎在这里所做的只是增加正弦波的波长(因此是频率)。我认为这会导致声音/音符发生变化。
有人可以建议如何降低或提高速度吗?
提前感谢您的帮助。
问候, 彼得
【问题讨论】:
【参考方案1】:如果速度是指将 PCM 数据中的声音从慢(高大)变为快(花栗鼠),那么
你可能想看看这个algorithm for pitch shifting.。我们的想法是根据您想要的音高获得正确的采样率。
【讨论】:
感谢您的帮助。我不打算改变声音。我只想以较低的速度播放录音。以上是关于如何降低PCM数据的播放速度?的主要内容,如果未能解决你的问题,请参考以下文章
CoreAudio AudioQueue PCM 速度快且不稳定
在 iOS 中将音频文件的播放速度降低 600%-900%(不影响音高)