【发布时间】:2011-12-02 11:57:43
【问题描述】:
伙计们,
我正在努力解决与 PCM 数据播放持续时间相关的简单概念。非常感谢您的反馈。
我正在开发的应用程序从乐谱中播放吉他音符。
我已经实现了用于吉他弹拨的 Jaffe-Smith 算法。
https://ccrma.stanford.edu/~jos/Mohonk05/Extended_Karplus_Strong_EKS_Algorithm.html.
假设我计算音符 A (440 Hz) 一秒钟的样本。
以 11025 的采样率,我将存储 11025 个可以作为 PCM 音频发送到计算机扬声器的样本。
对于吉他上的所有独特音符,计算所有音符的样本需要相当长的时间。我想我会预先计算并将它们保存为二进制数据,并在应用程序运行时简单地加载它们。
到目前为止一切顺利。
现在,假设我想播放一首歌曲(各种音符的列表)。假设这首歌需要以每分钟 100 拍的速度播放。假设我必须演奏音符 A 一拍或 0.6 秒 (60/100)。
重新计算 0.6 秒的样本可能需要相当长的时间。
我可以简单地播放 (11025 * 0.6) 个样本吗?这会产生任何副作用吗?
有没有更好的方法来实现我想要做的事情?
提前感谢您的帮助。
问候, 彼得
【问题讨论】:
标签: audio core-audio audio-streaming