0

我正在尝试从 android 接收一个 3gp 文件并使用其中的值来推断我的服务器中的机器学习模型。服务器代码在 python 中。

当我使用下面的代码打开收到的文件时,

AudioSegment.from_file(BytesIO(posted_data), format="3gp")

输出值对于普通音频来说太大了。我认为这是因为 android 使用 MediaRecorder 的 AMR_NB 编解码器对值进行了编码,但在服务器中没有正确解码。无论如何我可以正确解码我在python服务器中收到的字节吗?

4

1 回答 1

0

FFmpeg被公认为音视频转换的瑞士军刀。它有Python 绑定。我不知道这些绑定的质量,但如果转换是一次性的,您还可以考虑使用非常成熟的 FFmpeg 程序将文件转换为未压缩的音频(如 WAV),然后再用您的代码。甚至Python 标准库也可以处理 WAV

于 2020-06-05T08:27:17.340 回答