我正致力于语音识别,从而处理音频信号,即将一堆变换和数字信号处理(DSP)技术应用于原始音频信号,以便获得有价值的表示,然后将其输入到机器学习算法中。 / p>
我的代码库完全用Matlab编写,仅适用于有限(有界)信号。我计划迁移到一个解决方案,我可以处理有限和无限(流)音频信号,最好是在python中(主要用于机器学习和音频信号处理中的第三方库可用性)。
经过一番研究,我发现Apache Beam非常适合我的情况,但似乎某些功能在python SDK中不可用,就像在我的情况下超级重要的窗口概念一样,对于有界和无界信号(通常,我的代码处理32毫秒的帧/窗口)。
所以,我正在寻求建议:
答案 0 :(得分:0)
首先,一般来说,我会避免使用Python进行繁重的DSP:与C / C ++相比,它将不可避免地导致性能下降。
现在我对Apache Beam了解不多,但它似乎根本不适合音频信号处理,而是处理大量文本数据。实际上,我找不到任何提及“#34; audio"在他们的网站上......
在一天结束时,您的程序可能是用C / C ++编写的。你可以使用,例如:
您还可以尝试混合 Matlab Coder 和 PortAudio :使用 Matlab Coder 转换您在C / C ++中的特定算法将它们集成到 PortAudio 为您提供的骨架中。
PortAudio 的基本原则是: