使用 pydub 的 AudioSegment 获取音频时长 - python 实现

通过使用 pydub 的 AudioSegment 获取音频时长,音频常用格式如 m4a,wav等。

安装 python 库:

python 复制代码
 pip install pydub

获取 m4a 格式的音频时长代码如下,代码如下:

python 复制代码
#-*-coding:utf-8-*-
# date:2024-10
# Author: DataBall - XIAN
# Function: 获取音频时长

from pydub import AudioSegment

file_ = "test.m4a"
audio_type = "m4a"

print("音频路径:{}".format(file_))
print("音频类型:{}".format(audio_type))

audio = AudioSegment.from_file(file_, format=audio_type)

duration_ms = len(audio) # 时长毫秒
duration_seconds = duration_ms / 1000.0 # 转换为秒

print("音频时长: {:.2f} 小时, {:.2f} 分钟, {:.2f} 秒".format(duration_seconds/3600,duration_seconds/60,duration_seconds))

执行程序的log如下:

python 复制代码
音频路径:test.m4a
音频类型:m4a
音频时长: 0.15 小时, 9.14 分钟, 548.59 秒

获取 wav 格式的音频时长代码如下,代码如下:

python 复制代码
#-*-coding:utf-8-*-
# date:2024-10
# Author: DataBall - XIAN
# Function: 获取音频时长

from pydub import AudioSegment

file_ = "test.wav"
audio_type = "wav"

print("音频路径:{}".format(file_))
print("音频类型:{}".format(audio_type))

audio = AudioSegment.from_file(file_, format=audio_type)

duration_ms = len(audio) # 时长毫秒
duration_seconds = duration_ms / 1000.0 # 转换为秒

print("音频时长: {:.2f} 小时, {:.2f} 分钟, {:.2f} 秒".format(duration_seconds/3600,duration_seconds/60,duration_seconds))

执行程序的log如下:

python 复制代码
音频路径:test.wav
音频类型:wav
音频时长: 0.00 小时, 0.04 分钟, 2.49 秒

​​

助力快速掌握数据集的信息和使用方式。

数据可以如此美好!

相关推荐
立方世界5 分钟前
【Leaflet.js实战】地图标记与弹窗:从基础到高级的完整实现
开发语言·javascript·ecmascript
CodeCraft Studio5 分钟前
借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
linux·服务器·python·aspose·email·mhtml·eml
SkylerHu6 分钟前
MacOS 使用ssh2-python报错ImportError: dlopen ... _libssh2_channel_direct_tcpip_ex
python·macos·ssh2
瘦马1 小时前
如何播放 M3U8 格式的视频
音视频·m3u8·m3u8在线播放
却道天凉_好个秋1 小时前
音视频学习(六十七):音视频像素格式
音视频·像素格式
saber_andlibert1 小时前
【Linux】深入理解Linux的进程(一)
linux·运维·服务器·开发语言·c++
yanqiaofanhua4 小时前
C语言自学--数据在内存中的存储
c语言·开发语言
计算机软件程序设计7 小时前
基于Python的二手车价格数据分析与预测系统的设计与实现
开发语言·python·数据分析·预测系统
K姐研究社8 小时前
通义万相Wan2.5模型实测,可生成音画同步视频
人工智能·aigc·音视频
mortimer8 小时前
Traceback 模块:`format_exc` 和 `format_exception` 傻傻分不清
python