2012-04-24 68 views
2

我想播放声音文件(wav,mp3,...一切都很好,只要我可以将mp3转换为它),但是在播放时,我想要每秒打印当前幅度(以分贝为单位)。Python - 获取声音文件的振幅

我已经尝试谷歌这个,但没有找到任何适合我的问题。

+0

你在什么操作系统上? – mac 2012-04-24 19:15:48

+0

Debian,所以它应该在Linux上工作。 – omnidan 2012-04-24 19:16:09

+1

您是否真的需要当前样本的振幅,最后一秒的平均值或某种加权平均值(如传统的VU仪表)? – Brad 2012-04-24 19:16:12

回答

0

从Python中的任意源代码提取声音信息的一种可能方式是GStreamer库。首先,阅读this tutorial以熟悉PyGStreamer。

更新: 检查Getting max amplitude for an audio file per second,它可能会帮助你。

+0

我已经看过你之前给过我的第二个链接,但它不是现场计算(同时有相同的文件播放),是吗? – omnidan 2012-04-24 19:27:07

+0

错误,它正在计算正在播放文件时的峰值。检查PyGStreamer的教程,并解释GStreamer的工作原理:) – 2012-04-24 19:32:27

+0

我试过了。它显示峰值,是的,但是然后我必须:首先解析所有峰值,然后播放文件,并创建一个每秒执行一次函数以显示当前峰值的代码,但实际上并不实际。 – omnidan 2012-04-24 19:37:50