不同方式获取音频时长 - 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))

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

数据可以如此美好!

相关推荐
却道天凉_好个秋25 分钟前
音视频学习(七十二):视频压缩:分块与预处理
音视频·视频压缩
gf13211112 小时前
python_字幕文本、音频、视频一键组合
python·音视频·swift
YANshangqian2 小时前
音频录制和编辑软件
音视频
gf13211113 小时前
python_字幕、音频、媒体文件(图片或视频)一键组合
python·音视频·swift
daizhe3 小时前
基于JavaCV实现FFmpeg设置视频moov前置以及截取封面图片
ffmpeg·音视频·javacv
DsirNg4 小时前
Vue3 实时音频录制与转写 Composable 技术实现
音视频
平凡灵感码头6 小时前
第一次做蓝牙产品,从零开发(5)蓝牙音频项目中功放芯片
单片机·嵌入式硬件·音视频
TengTaiTech15 小时前
单芯片音频二分频新高度:全系列高通QCC平台智能分频方案解析
音视频
qq_3106585118 小时前
mediasoup源码走读(六)——NetEQ
服务器·c++·音视频
YANshangqian19 小时前
Monkey‘s Audio(无损音频压缩器)
音视频