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

使用FFmpeg Loudnorm双通法批量归一化音频LUFS的技术咨询

使用FFmpeg Loudnorm双通法批量归一化音频LUFS的技术咨询

嘿,我最近折腾了用FFmpeg的loudnorm滤镜,通过双通法批量把文件夹里的音频统一调整到指定LUFS和真峰值参数的方法,刚好可以分享给大家。

需求说明

我要处理桌面Audios LUFS文件夹里的3个MP3音频:Music1.mp3、Music2.mp3、Music3.mp3,目标是让所有音频统一达到:

  • 目标LUFS:-10.0
  • 目标真峰值:-0.5

同时会创建一个临时文件夹Temp_normalizing_lufs,用来存放处理过程中的中间文件,避免和原文件混在一起。

完整批处理脚本

下面是实现这个需求的Windows批处理代码,每一步都加了注释方便理解:

@echo off
setlocal enabledelayedexpansion

:: 创建临时文件夹,用于存放处理后的音频文件
md "C:\Users\%username%\Desktop\Temp_normalizing_lufs"

:: 切换到原音频所在的文件夹(桌面的Audios LUFS目录)
pushd "%Userprofile%\Desktop\Audios LUFS"

:: 遍历文件夹内所有未被处理过的MP3文件(排除带_LOUDNORM/_EBU后缀的文件,避免重复处理)
FOR /F "delims=" %%a in ('where .:*.mp3 ^|findstr /vi "_LOUDNORM  _EBU"') DO (
    :: 获取不带后缀的文件名
    SET "filename=%%~na"
    
    :: ---------------------- 第一通:分析音频,生成响度统计日志 ----------------------
    ffmpeg -hide_banner -i "%%a" -af "[0:a]loudnorm=print_format=summary" -f null NUL 2> "!filename!.log"
    
    :: 从日志中提取loudnorm需要的关键参数:输入LUFS、输入真峰值、输入增益
    for /f "tokens=2 delims=:" %%b in ('findstr "Input Integrated Loudness:" "!filename!.log"') do set "input_i=%%b"
    for /f "tokens=2 delims=:" %%b in ('findstr "Input True Peak:" "!filename!.log"') do set "input_tp=%%b"
    for /f "tokens=2 delims=:" %%b in ('findstr "Input Gain:" "!filename!.log"') do set "input_g=%%b"
    
    :: ---------------------- 第二通:用提取的参数精准归一化音频 ----------------------
    ffmpeg -hide_banner -i "%%a" -af "loudnorm=I=-10.0:TP=-0.5:LRA=11:measured_I=!input_i!:measured_TP=!input_tp!:measured_LRA=11:measured_thresh=-16.0:offset=!input_g!:print_format=summary" -c:v copy "C:\Users\%username%\Desktop\Temp_normalizing_lufs\!filename!_LOUDNORM.mp3"
    
    :: 删除临时生成的日志文件
    del "!filename!.log"
)

:: 切回初始目录
popd
echo 批量归一化处理完成!处理后的文件存放在桌面的Temp_normalizing_lufs文件夹中。
pause

关键细节说明

  • 双通法的优势:比起单通法,双通法会先分析每个音频的原始响度数据,再针对性调整,能更精准地达到目标参数,避免单通可能出现的响度偏差。
  • 重复处理防护:脚本用findstr /vi "_LOUDNORM _EBU"过滤已处理文件,防止重复执行。
  • 核心参数解释:
    • I=-10.0:目标集成响度(LUFS)
    • TP=-0.5:目标真峰值
    • 带measured_前缀的参数:第一通分析得到的原始音频数据,用于第二通的精准校准

备注:内容来源于stack exchange,提问作者Clamarc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:05:32