python - 如何从声音文件中获取振幅和频率?

标签 python audio scipy

y, sound = scipy.io.wavfile.read('mysound.wav')

如果我绘制 sound 的绝对值,那是“mysound.wav”的幅度吗?也就是说,声音有多响?

声音中到底存储了什么?我知道这代表声音吗?如何从该表示中获得频率和幅度?

最佳答案

这不是太多的编码问题,而是与物理学有关的问题!您的sound变量包含“瞬时振幅”列表,但我认为这不是您要查找的。如果文件是纯正弦曲线,则数据的最大值将是声音的振幅(强度)。

但是,您的声音可能会随时间变化。例如,您可以强烈弹奏乐器的音符,然后慢慢消失。因此,在短时间内定义了幅度。

声音也可以由不同的频率组成(谐波,人声...)。更完整的描述使用傅里叶变换和spectrograms

关于python - 如何从声音文件中获取振幅和频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58478470/

相关文章:

python - 按间隔合并两个 Pandas 数据帧

python - MySQL 错误 - 错误 1054 : Unknown column in 'where clause'

database - 音频存储最佳实践

python - 网格索引和实际值之间的转换

python - Scikit 学习 : measure of goodness of fit, 更好地分割数据集还是使用全部数据集?

python - 在 mac 上安装 scrapy - 找不到 pyasn1 发行版

python - while循环更改变量[python]中的递归函数

ios - 无效的文件输出 AVAssetExport

android - 在Android中播放媒体

python - 用Python中的复杂函数拟合数据