所以我正在尝试编写基本的音序器。需要非常精确计时的东西。这适用于iOS 9。
我现在正在使用libpd(纯数据),只是发送各种延迟的事件来实现我所追求的效果。听起来不错,但不是很好。
在iOS上有这种精确音乐时机的“最佳实践”吗?我可以从libpd中取出笔记调度,也许可以获得更好的效果吗?
谢谢!
答案 0 :(得分:0)
如果您想要最精确的计时,那么在播放前渲染音频将允许您只播放一个音频文件,并且所有音频都将在正确的时间播放。您还可以让用户实时播放音符,几乎没有延迟,因为您只播放另一个音轨。您可以在后台线程上进行大部分渲染,因为用户进行了更改,因此所有这些处理都不会阻止主线程。
此预渲染音频的缺点包括处理渲染时间(可能只是一小部分时间或旧设备上复杂音频的整分钟),内存管理和代码复杂性。这会产生最好的结果。
如果您要动态操作音符,我会建议他们来拍摄事件。当用户进行更改时,播放新的音频文件。这应该是相对简单的实现。
如果您正在尝试使用某种MIDI音序器,那么我高度建议使用预渲染音频。它确实需要相当大的处理能力,编程可能很困难,但结果对用户来说要好得多。