如何使用python获取mp3文件的采样率

Posted

技术标签:

【中文标题】如何使用python获取mp3文件的采样率【英文标题】:How to get sample rate of mp3 file using python 【发布时间】:2017-11-05 03:53:23 【问题描述】:

我需要使用 pygame 播放这个 mp3 文件,但我不知道文件的采样率是多少。我需要一些方法来以编程方式获取音频文件的采样率,以便我可以以正确的速率播放它,因为如果我不这样做,它只会扭曲声音。感谢您的帮助

【问题讨论】:

【参考方案1】:

pydub 的答案非常好,直到您将它与 pyinstaller 一起使用。以下是如何使用诱变剂完成您正在寻找的事情。

# Specifically MP3 file
from mutagen.mp3 import MP3
audio_info = MP3('FILENAME.mp3').info

# Generic audio file
import mutagen
audio_info = mutagen.File('FILENAME.ext').info

print(audio_info.sample_rate)

【讨论】:

【参考方案2】:

使用pydub:

>>> from pydub import Audiosegment
>>> song = AudioSegment.from_mp3("file.mp3")
>>> song.frame_rate
44100

或者使用pydub.utils.mediainfo():

>>> from pydub.utils import mediainfo
>>> info = mediainfo("file.mp3")
>>> print(info['sample_rate'])
44100

【讨论】:

对不起,我应该在原帖中这么说,但我已经尝试过了,但我似乎无法为此安装 ffmpeg 依赖项:/ 尝试安装***版本 你也可以安装deps。 readme 安装车轮版本对我有用,非常感谢!

以上是关于如何使用python获取mp3文件的采样率的主要内容,如果未能解决你的问题,请参考以下文章

更改 mp3 文件的采样率

如何使用 PyAudio 或 PortAudio 获取设备的音频采样率列表?

如何使用 PyAudio 或 PortAudio 获取设备的音频采样率列表?

以编程方式降低上传的 MP3 文件的采样率 [关闭]

请教java如何实现获取一段mp3的总时长

如何获取 MP3 文件的比特率? (德尔福)