我应该为实时音频信号处理应用程序使用python后端吗?

问题描述 投票:0回答:1

我正在考虑使用Flutter前端和python后端来构建应用程序以实时处理音频,但是即使我选择使用python来简化操作,我也不确定它是否是处理过程中最好的应用程序实时所需的速度,在这种意义上也许像c ++更好。因此,如果有人在这方面有经验,可以告诉我您是否认为python后端可以(或者不是),我会非常感激。

python flutter audio signal-processing real-time
1个回答
0
投票

Python在大多数情况下都可以,只要您使用良好的库即可。例如,“ PyAudio”是用C编写的,因此所有繁重的工作都是在从您的Python代码调用的快速机器代码中完成的。您也可以使用PyPI之类的东西来提高程序速度。

如果性能最终仍然成为您可以使用Cython的问题,则可以使用Cython编写C代码和某些“类Python”代码,这些数据类型可以在您的Python程序中无缝使用。这样一来,您就可以在保持简单的Python程序流的同时,快速地执行繁重的代码。

如果您使用类似的运行单个Python服务器的AWS EC2实例之类的工具,则部署Python服务器的方式在这里也起着重要作用,当用户负载增加时,可能会遇到一些问题。您可以通过使用诸如AWS Lambda Functions之类的方法来解决此问题,实质上是在为每个请求启动python服务器实例时自动缩放负载。

归根结底,为了简单起见,Python很好,如果它最终成为一个问题,有很多方法可以克服该语言的缓慢速度障碍。

这里是在不与Cython一起使用PyAudio的很好的指南:https://bastibe.de/2012-11-02-real-time-signal-processing-in-python.html

希望这会有所帮助!

[请注意,这个答案是我的看法,因为问题过于笼统,无法给出一个简明的答案。

一些参考。

Cython:https://cython.org/

PyPI:https://pypi.org/

PyAudio:https://pypi.org/project/PyAudio/

带有Python的AWS Lambda函数:https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html

© www.soinside.com 2019 - 2024. All rights reserved.