哪些计算机资源用于音频处理?

Posted

技术标签:

【中文标题】哪些计算机资源用于音频处理?【英文标题】:What computer resources are used for audio processing? 【发布时间】:2020-11-02 10:14:34 【问题描述】:

环境描述:

    音频处理发生在 DAW(数字音频工作站)中。 带有适当驱动程序的外部声卡(通过 USB 2.0 连接)用作声音设备。

DAW:收割者; 声卡:Audient id14; 司机:阿西奥。

问题描述: 与音频一起工作时,音响工程师使用 VST 插件来处理声音。如果添加大量处理,在某些时候声音会开始开裂、滞后和高度失真。缺少一些资源(哪一个?)

可能的解决方案: 更改声卡参数之一:采样率(在我的情况下为 44.1-96 kHZ)或缓冲区大小(在我的情况下为 16 - 4046 个样本)。 增加缓冲区大小会导致延迟增加和卸载......在这方面加载的任何内容。 降低采样率也会卸载东西。

破解发生时的任务管理器测量: CPU 50% (7700HQ); RAM 50% (16Gb),取决于并行运行的程序数量; 磁盘 0%。

如您所见,还有大量的“空间”,但在给定采样率和缓冲区大小的情况下,可以成功应用于音频的处理量是什么?关于如何增强它的任何建议?

【问题讨论】:

我非常愿意对此进行更正,但我相信音频通常是在单个高优先级线程上处理的。据我了解,音频 DSP 不能在多个内核上执行。因此,尽管 CPU 可能仅显示 50% 的使用率,但请查看跨内核的使用情况。 如何改进处理?真正唯一的方法是将处理卸载到定制的硬件上(查看 Universal Audio 及其 DSP 卡)或获得更大、更快的处理器,并尽最大努力使用AVX(或任何SIMD instructions)矢量化任何处理是相关的)。 你的外置USB声卡只是ADC和DAC的接口。板载没有 DSP。 感谢您的评论。似乎并非如此。当我启动 DAW 时,我看到使用的 RAM 有所增加。然后在加载后推动“播放”或添加 vst 对这些没有明显的影响。 (看我刚刚附上的图片)。也许限制是RAM交换的速度? 那么可能是缓冲区对于您的界面来说太小了。可悲的是,资源的增加不会改善这一点。为了彻底,值得测试完全相同的设置,但使用另一个音频接口,可能是 USB2 的替代品,例如火线、雷电、PCI。 【参考方案1】:

我设法在我的 DAW 中找到了性能指标。根据他们的说法,CPU 使用率为 10%,而所谓的“实时 CPU”或“RT CPU”正在最大化。其他性能参数,如磁盘读/写、内存使用率均以低水平加载。

我还发现在“首选项”-“缓冲区”中有一个“允许在 8 核上进行实时 FX 多处理”的选项。在其他论坛上,我读到它帮助了某人。虽然它对我的问题没有显着影响。 我发现有些 VST 采用了一些实时处理(臭氧 VST 低端焦点)。这样的单一效果会占用你 RT CPU 的 80%。

我将采用的策略是:

    “录音”和“混音”分离阶段。对于录制,使用具有低缓冲区大小的 ASIO 来消除不必要的延迟,同时使用尽可能高的采样率来获得具有良好分辨率的源轨道。用于混合 - 反之亦然。 + 如果这还不够 - 选择一些默认驱动程序,例如“Direct Sound”并从您的 PC 输出,而不是从外部声卡(这可能会在一定程度上影响声音的质量,但仍然......) 将“混合”阶段与“母带制作”分开。 IE。同时与多轨混合工作。使用之前混合的单个轨道进行母带处理。 我不是“冻结”曲目的拥护者,但如果确定不会在舞台上使用某些东西 - 这可能是释放一些额外资源的一种选择。

【讨论】:

以上是关于哪些计算机资源用于音频处理?的主要内容,如果未能解决你的问题,请参考以下文章

Python中常用的音频处理库都有哪些

语音识别入门Python音频处理示例(含完整代码)

python中的视频和音频处理库

国外的专业音频软件都有哪些?各个领域。

音频处理库性能对比:计算mel频谱的速度哪个更快?

Android音频开发(三)——音频编解码