You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用librosa批量计算音频平均时长及查找最长最短音频的方法

解决方案

完整可运行代码

import librosa
import glob

# 初始化总时长变量、存储所有音频路径+时长的列表
total_duration = 0
audio_info = []
audio_paths = glob.glob('E:/...*/*.wav')

# 可选:判断是否找到匹配的音频文件
if not audio_paths:
    print("未匹配到对应路径下的wav文件,请检查路径配置")
else:
    for path in audio_paths:
        y, sr = librosa.load(path, sr=16000)
        cur_duration = librosa.get_duration(y=y, sr=sr)
        total_duration += cur_duration
        audio_info.append((path, cur_duration))
    
    # 计算并输出平均时长
    avg_duration = total_duration / len(audio_paths)
    print(f"平均时长:{avg_duration:.2f} 秒")

    # 查找并输出最长音频
    max_item = max(audio_info, key=lambda x: x[1])
    print(f"最长音频:路径为{max_item[0]},时长为{max_item[1]:.2f} 秒")

    # 查找并输出最短音频
    min_item = min(audio_info, key=lambda x: x[1])
    print(f"最短音频:路径为{min_item[0]},时长为{min_item[1]:.2f} 秒")

实现说明

  • 修复了原代码的隐藏问题:删除了重复的librosa导入,新增总时长变量初始化,避免运行时报错
  • 平均时长输出:通过print配合格式化字符串输出,保留2位小数提升可读性
  • 最长/最短音频查找:遍历音频时同步存储每个文件的路径和对应时长,最后通过max、min函数按时长字段取值,直接得到对应文件的完整信息
  • 新增空路径校验,避免路径匹配不到文件时出现除零报错

内容的提问来源于stack exchange,提问作者KRISHNA CHAUHAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:15:07