需要有关音频处理应用程序的一些建议

问题描述

我想问一些有关实时音频数据处理的建议。 目前,我使用python套接字创建了一个简单的服务器和客户端,该套接字从麦克风发送和接收音频数据,直到停止为止(每个数据包4096字节,但可能还要更多)。

我看到了两种不同的分析:

  • 实时:对每个X字节数据包进行分析,然后将结果发送回响应
  • 在接收到很多字节(例如,每1h)之后,附加这些字节并将其存储到DB中。停止麦克风后,将所有先前的块连接起来并对其执行一些操作(例如为该录制的会话创建波形图图像)。

对于这种用法,我可以使用哪种自托管数据库

如何定期固定这些大量数据并将其添加数据库中?

仅6分钟,我收到了大约32MB的数据。也许我应该在收到每个块后立即将它们放入redis中,而不是将其保留在python对象中。另一种方法是将音频数据序列化为b64。我只是害怕失去速度,因为我目前正在使用tcp来发送数据。

感谢您的帮助!

解决方法

关于尺寸的问题。有什么理由不压缩音频数据吗?很简单6分钟未压缩音频(单声道)为32 MB是正常的。您可以存储较小的块和/或将传入的块附加到较大的文件中。看看这个,它可能对您有帮助:

https://realpython.com/playing-and-recording-sound-python/

How to join two wav files using python?