不同方式获取音频时长 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。

需要更多数据资源和技术解决方案,知识星球: "DataBall - X 数据球(free)"

-------------------------------------------------------------------------------------------------------

方式一:pydub 的 AudioSegment 实现

但是该方式有限制:对于时长长的音频会报以下错误:

python 复制代码
pydub.exceptions.CouldntDecodeError: Unable to process >4GB files

具体实现代码如下:

python 复制代码
#-*-coding:utf-8-*-

from pydub import AudioSegment
audio = AudioSegment.from_file("test.wav")

duration_ms = len(audio)

print("音频总时长:{:.1f} 秒, {:.1f} 分钟,{:.1f} 小时".format(duration_ms/1000,duration_ms/60000,duration_ms/3600000))

方式二:librosa 实现

暂时未发现时长限制

具体实现代码如下:

python 复制代码
#-*-coding:utf-8-*-
import librosa

# 加载音频文件
audio, sr = librosa.load("test.wav")

# 获取音频时长(以秒为单位)
duration_s = librosa.get_duration(y=audio, sr=sr)

print("音频时长为 {} 秒,{:.2f} 小时".format(duration_s,duration_s/60/60))

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

数据可以如此美好!

相关推荐
爱研究的小牛10 小时前
Synthesia技术浅析(二):虚拟人物视频生成
人工智能·深度学习·机器学习·aigc·音视频
cuijiecheng201812 小时前
音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现
ffmpeg·音视频
EasyGBS15 小时前
国标GB28181-2022视频平台EasyGBS小知识:局域网ip地址不够用怎么解决?
tcp/ip·安全·智能路由器·音视频·视频监控
丘上人18 小时前
ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片
ffmpeg·音视频
EasyNVR19 小时前
EasyNVR平台现已支持AAC、G711A及G711U音频编码格式
数据库·安全·音视频·视频监控·aac·g711
denghai邓海20 小时前
用OpenCV实现UVC视频分屏
人工智能·opencv·音视频
Hacker_xingchen20 小时前
计算机网络:因特网上的视频音频服务
计算机网络·音视频
来吧~1 天前
vue3使用vue3-video-play播放m3u8视频
前端·javascript·vue.js·音视频
Eric.Lee20211 天前
moviepy 将mp4视频文件提取音频mp3 - python 实现
音视频·moviepy·音频提取