最近功放项目组反馈Freeverb混响算法处理存在过一段时间会出现一帧耗时比较长的处理,48kHz采样,2ms的音频数据,有时会存在6ms左右的处理时间,最开始认为是系统调度的问题,但是通过优化系统的线程和处理,依然如此,通过打印手段发现出现的时间比较固定,虽然帧处理平均处理时间很短。因此只能通过打印帧耗时长的帧,同时加长音频文件长度来进行调试分析。通过屏蔽处理代码,打印处理超过2ms的处理耗时来逐步进行定位,最后定位到是粉红噪声的生成函数导致,最后将随机噪声改为固定噪声,来解决这个问题。
总结:对于实时性比较高的项目,需要自己首先保证算法处理时长,不能只看平均处理时长,还需要分析每一帧的处理时长,避免存在某一帧的处理时长加长的现象,导致项目的整个延迟加长。因此算法的帧处理时间打印很重要。
关于音频算法帧耗时的分析调试手段和总结
最新推荐文章于 2024-08-15 15:52:03 发布