【问题标题】:Core Audio - Remote IO Based Low-Latency MetronomeCore Audio - 基于远程 IO 的低延迟节拍器
【发布时间】:2012-04-22 12:05:22
【问题描述】:

我正在尝试使用 Core Audio 构建低延迟节拍器。

我想要实现的是使用远程 IO,它应该为我生成的每个音频包提供一个时间戳。然后我想用它来记住我何时开始播放并从开始时间戳中减去当前时间戳以获得当前位置。然后我想用它来根据需要为节拍器生成音频。

经过一些研究,我发现这将是创建低延迟节拍器的最佳方式。然而,尝试实现它并深入研究这个框架是相当艰巨的。如果有人知道我如何将这些组合在一起,或者甚至可以指出我可以收集使其工作所需的信息的来源,我将不胜感激!

谢谢。

【问题讨论】:

    标签: xcode core-audio remoteio


    【解决方案1】:

    忽略数据包时间戳,计算样本。如果您以已知的采样率将每个节拍器声音的起点定位为相隔精确数量的样本,则速度将精确到亚毫秒。每个数据包的时间戳解析精度要低得多。

    【讨论】:

    • 啊太棒了,非常感谢。顺便问一下,您能否推荐我可以学习的任何资源(书籍/网站/项目)以真正帮助我更熟练地掌握这个框架?我一直在阅读“学习核心音频”一书,但我想知道是否有像你这样有更多经验的人有什么建议?我来自音频工程背景,我习惯于使用数字音频,但这是一个全新的领域!再次感谢
    • 《学习核心音频》这本书是一个极好的资源。这是一篇更老的博客文章:atastypixel.com/blog/using-remoteio-audio-unit
    • 太棒了,感谢您的洞察力!我会坚持下去,Core Audio 的书还有很多内容。
    • 你能指出任何使用这种技术的示例代码的方向吗?
    • 查看 Apple 的 MixerHost 示例代码。如何计算音频样本是基本的 C 编程。如何修改 PCM 样本需要一些 DSP 研究。
    猜你喜欢
    • 1970-01-01
    • 2015-12-15
    • 2014-10-30
    • 2012-07-01
    • 1970-01-01
    • 2017-08-09
    • 2014-06-21
    • 2019-10-08
    • 2015-01-23
    相关资源
    最近更新 更多