我最近花了相当多的时间学习实时音频处理的细节,我发现的大多数库/工具都是以c/c++代码或脚本/图形语言的形式存在的,其中包含编译的c/c++代码。
使用基于回调的App,在应用程序中独立于GUI或其他进程运行音频进程非常简单。但是,我找不到的是如何将多个进程/线程用于应用程序的音频处理部分。
你能提供链接,书名,任何相关的东西吗?
发布于 2012-07-22 07:23:17
这听起来像是你想要为音频做多线程DSP。这并不是很多,因为高性能音频需要低延迟和实时调度。要执行多线程DSP,您需要在线程之间传递数据,这通常涉及互斥。在使用互斥锁时,很难让实时编程正常工作。
当然,除了互斥,还有很多非阻塞的数据结构,但是最终,与其他形式的并行相比,将音频DSP算法并行化带来的性能提升要小得多。
相反,如果您对从回调中获取音频数据感兴趣,那么您需要学习一些关于非阻塞数据结构的知识。您可能需要查看PortAudio的源代码。特别是,PortAudio中的RingBuffer是一种可移植的、非阻塞的数据传递结构,对于许多应用程序在不阻塞的情况下在线程之间获取数据非常有用。
https://stackoverflow.com/questions/11587197
复制相似问题