>>> from env_helper import info; info()
页面更新时间: 2024-01-19 23:04:26
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-17-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

8.1. Mp3文件处理

Python中的wave库只能处理wav格式的音频文件。

8.1.1. 获取文件时长

要获取mp3文件的时长,需要使用外部库如pydub、audioread或mutagen。 以上三个库都可以获取mp3文件的时长,具体使用哪个取决于个人喜好和特定需求。

以下是使用pydub库的示例代码。安装库的命令:

sudo apt install -y python3-pydub
>>> from pydub import AudioSegment
>>>
>>> audio = AudioSegment.from_file('aa.mp3', format="mp3")
>>> duration = audio.duration_seconds
>>> duration
361.98

使用audioread库的示例代码。安装库的命令:

sudo apt install -y python3-audioread
>>> import audioread
>>>
>>> with audioread.audio_open('aa.mp3') as f:
>>>     duration = f.duration
>>> duration
362.0

使用mutagen库的示例代码。安装使用:

sudo apt install -y  python3-mutagen/stable
>>> from mutagen.mp3 import MP3
>>>
>>> audio = MP3('aa.mp3')
>>> duration = audio.info.length
>>> duration
362.044

8.1.2. 转换文件格式

pydub是python的一个音频处理库,能对wav格式的音频直接进行处理。

输入pip3 install  pydub 即可

>>> from pydub import AudioSegment
>>> data = AudioSegment.from_mp3('aa.mp3')
>>> data.export("xx_data.wav",format="wav")
<_io.BufferedRandom name='xx_data.wav'>