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

如何用Python检测批量.wav文件中的10kHz以上特定频率

提取WAV文件最高频率并筛选的Python实现

必要依赖安装

先安装音频处理库librosa,它能简化音频加载和频率分析:

pip install librosa

如果后续要写入Excel,还需要安装pandas和openpyxl:

pip install pandas openpyxl

核心代码实现

以下代码会遍历目标文件夹下的所有.wav文件,提取每个文件的最高有效频率,并筛选出10kHz以上的文件:

import os
import librosa
import numpy as np

# 配置参数
target_folder = "替换为你的蝙蝠录音文件夹路径"
frequency_threshold = 10000  # 10kHz

# 遍历文件夹
for root, _, files in os.walk(target_folder):
    for filename in files:
        if filename.lower().endswith(".wav"):
            file_path = os.path.join(root, filename)
            try:
                # 加载音频,保留原始采样率
                audio_data, sample_rate = librosa.load(file_path, sr=None)
                # 计算短时傅里叶变换幅度谱
                stft_spectrum = np.abs(librosa.stft(audio_data))
                # 获取频率轴
                frequencies = librosa.fft_frequencies(sr=sample_rate)
                # 过滤低能量噪声,只保留有有效音频的频率点
                valid_frequencies = frequencies[np.any(stft_spectrum > 1e-6, axis=1)]
                
                if not valid_frequencies.size:
                    print(f"{filename}: 无有效音频信号")
                    continue
                
                max_frequency = valid_frequencies.max()
                # 判断是否符合筛选条件
                if max_frequency >= frequency_threshold:
                    print(f"✅ {filename}: 最高频率 {max_frequency/1000:.2f} kHz")
                    # 可在此处将符合条件的文件信息存入列表,后续写入Excel
                else:
                    print(f"❌ {filename}: 最高频率 {max_frequency/1000:.2f} kHz")
            except Exception as e:
                print(f"⚠️ {filename}: 处理失败 - {str(e)}")

关键说明

  • 频率过滤:代码中用stft_spectrum > 1e-6过滤低能量噪声,避免把背景噪声的低频误判为有效信号,可根据实际录音环境调整这个阈值。
  • Excel写入:如果要把结果整理到Excel,可在筛选时将符合条件的文件名、最高频率存入列表,再用pandas写入:
    import pandas as pd
    
    # 假设已收集到符合条件的文件信息列表
    results = [{"文件名": "file1.wav", "最高频率(kHz)": 12.5}, ...]
    df = pd.DataFrame(results)
    df.to_excel("蝙蝠录音筛选结果.xlsx", index=False, engine="openpyxl")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:29:58