gpt4 book ai didi

ios - 预定的音频单元参数事件被延迟

转载 作者:行者123 更新时间:2023-12-03 01:57:45 24 4
gpt4 key购买 nike

我有一个适用于iOS的音乐排序应用,该应用使用AUSamplers和效果音频单元。

主播放循环使用渲染通知回调将音符打开和关闭事件发送到采样器来实现。我有一些笔记,可以通过计算缓冲区偏移并将其传递给MusicDeviceMIDIEvent调用来成功播放节拍。

我现在正在尝试实现一种自动化功能,该功能可让您定义随时间变化的效果参数。为了进行初始测试,我会反复将主调音台的音量从0条增加到每条1条(即每2秒以120 bpm的速度)。

我正在使用AudioUnitScheduleParameters安排即时事件,每个渲染回调一次。但是,实际的音量更改似乎略有延迟。当音量从1下降到0时,这在小节开始时非常明显;排在该小节开头的所有音符都会短暂地以最大音量弹奏,然后降至0并按预期增加。我已验证在事件注释之前,已将参数事件安排在缓冲区偏移处。

我当前的解决方法是“自动”运行音频,在此过程中,我向用于计算当前音量水平的采样计数添加一些偏移。不过,我只是通过实验确定了偏移量,对此解决方案我没有信心。

是否由于某些原因而导致计划的参数事件被延迟?

最佳答案

2个缓冲区延迟可能是将参数更新消息从下游音频单元回调传递到已被调用且当前正在运行的上游回调(已在中间进程混合传入的音频缓冲区)所需的时间。

关于ios - 预定的音频单元参数事件被延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34075405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com