当前位置: 首页 > news >正文

音频处理深入:混音、降噪、音量调节与格式转换

音频处理深入:混音、降噪、音量调节与格式转换

视频处理讲完了,这篇专门讲音频。音量忽大忽小怎么办?背景噪音怎么消?两个音频怎么混一起?麦克风录音怎么优化?FFmpeg 的音频滤镜虽然不如视频多,但日常处理完全够用。

大家好,我是黒漂技术佬。

很多人做视频只关心画面,忽略了音频——但观众对音频的容忍度比视频低多了。画面糊一点能看,声音渣、有杂音、忽大忽小,直接就划走了。

这篇把 FFmpeg 常用的音频处理讲清楚:音量、降噪、混音、格式转换、常用滤镜,配合实际场景讲。


一、音频基础概念扫盲

先搞懂几个基本概念,后面参数才看得懂。

采样率(Sample Rate)

每秒对声音采样多少次,单位 Hz。常见:

  • 44100 Hz(44.1kHz):CD 音质,最常用
  • 48000 Hz(48kHz):视频常用标准
  • 22050 Hz / 16000 Hz:语音、电话音质

位深(Bit Depth)

每个采样点用多少位存储,决定动态范围:

  • 16 bit:CD 音质,够用
  • 24 bit:专业录音,后期处理空间大

声道数(Channels)

  • 1:单声道(Mono)
  • 2:立体声(Stereo)
  • 5.1、7.1:环绕声

码率(Bitrate)

每秒音频的数据量,单位 kbps。和音质正相关:

  • 64 kbps 单声道:语音够用
  • 128 kbps 立体声:MP3 常见,接近 CD 听感
  • 192-320 kbps:高音质
  • 无损(FLAC/PCM):1000+ kbps

二、音频格式转换

常见格式对比

格式编码特点适用场景
MP3MPEG-1 Layer3兼容性最好,有损通用、音乐
AACAdvanced Audio Coding同码率比 MP3 好视频、手机、流媒体
OpusOpus低码率音质最好语音、直播、WebRTC
FLACFree Lossless无损压缩音乐存档
WAVPCM 原始数据无损、体积大录音、后期制作

常用转换命令

MP3 → AAC

ffmpeg-iinput.mp3-acodecaac-b:a128k output.m4a

WAV → MP3

ffmpeg-iinput.wav-acodeclibmp3lame-q:a2output.mp3

-q:a 2是 LAME 的 VBR 模式,约 190kbps,音质很好。

任意格式 → WAV(无损提取)

ffmpeg-iinput.mp3-acodecpcm_s16le output.wav

提取视频里的音频

ffmpeg-iinput.mp4-vn-acodeccopy output.aac

-vn去掉视频流,-acodec copy直接复制音频,不重新编码,速度快。


三、音量调节

基础调节

# 音量加倍ffmpeg-iinput.mp3-af"volume=2"output.mp3# 音量减半ffmpeg-iinput.mp3-af"volume=0.5"output.mp3# 降低 3dBffmpeg-iinput.mp3-af"volume=-3dB"output.mp3

可以用倍数,也可以用 dB(分贝)。

音量标准化:自动调到合适大小

录音声音忽大忽小,或者整体太小怎么办?用loudnorm滤镜做响度标准化:

ffmpeg-iinput.mp3-af"loudnorm=I=-16:TP=-1.5:LRA=11"output.mp3

参数说明:

  • I=-16:综合响度 -16 LUFS(视频平台常用标准)
  • TP=-1.5:峰值不超过 -1.5 dB
  • LRA=11:响度范围

做视频上传 B 站、YouTube 的话,响度标准化很有用——不会声音太小被淹没,也不会太大被平台二次压缩。

检测音量

先看看当前音频的音量情况,再决定调多少:

ffmpeg-iinput.mp3-af"volumedetect"-fnull /dev/null

输出里会有max_volumemean_volume,告诉你最大音量和平均音量。


四、降噪

录音有背景噪音(空调声、电脑风扇声),用 FFmpeg 可以消掉一部分。

方法 1:afftdn(频域降噪)

ffmpeg-iinput.mp3-af"afftdn=nf=-20"output.mp3
  • nf=-20:降噪强度,单位 dB。数值越小降噪越强。
  • 常用范围:-15 到 -30
  • 优点:简单,一步到位
  • 缺点:降噪强了容易有「水音」「金属音」

方法 2:arnndn(AI 降噪,推荐)

FFmpeg 7.0+ 支持的 AI 降噪滤镜,效果比传统方法好很多。

ffmpeg-iinput.mp3-af"arnndn=m=model.rnnn"output.mp3

需要下载训练好的模型文件(.rnnn 格式),网上有很多开源的语音降噪模型。

我做售货柜语音交互的时候对比过,arnndn 对环境噪音的抑制效果明显更好,人声也更自然。缺点是需要额外模型文件,老版本 FFmpeg 不支持。

降噪的正确姿势

  1. 先录一段纯噪音(没人说话的几秒)
  2. 用噪音样本做降噪参考(部分降噪工具支持)
  3. 降噪强度别开太大,否则人声会失真
  4. 降噪是「减法」,噪音太大救不回来,前期录好最重要

五、混音与拼接

两个音频混合(叠加)

ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex"[0:a][1:a]amix=inputs=2:duration=shortest"output.mp3
  • amix=inputs=2:两个输入混合
  • duration=shortest:以短的那个为准,播完就结束

背景音乐音量调小

ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex"[1:a]volume=0.3[bgm];[0:a][bgm]amix=inputs=2"output.mp3

先把背景音乐降到 30%,再和人声混合。

多个音频首尾拼接

和视频拼接一样,用 concat:

# filelist.txtfile'001.mp3'file'002.mp3'file'003.mp3'ffmpeg-fconcat-ifilelist.txt-ccopy output.mp3

格式、采样率、声道数必须一致才能 copy,否则要重新编码。


六、声道处理

立体声转单声道

ffmpeg-istereo.mp3-ac1mono.mp3

提取左声道 / 右声道

# 左声道ffmpeg-istereo.mp3-af"pan=mono|c0=c0"left.mp3# 右声道ffmpeg-istereo.mp3-af"pan=mono|c0=c1"right.mp3

单声道转立体声(复制声道)

ffmpeg-imono.mp3-ac2stereo.mp3

只是左右声道一模一样,不是真的立体声效果。

双声道各自处理

比如左声道人声、右声道伴奏,分别处理再混合。


七、常用音频效果

淡入淡出

# 前 3 秒淡入,最后 3 秒淡出ffmpeg-iinput.mp3-af"afade=t=in:d=3,afade=t=out:st=27:d=3"output.mp3
  • t=in淡入,t=out淡出
  • d=3持续 3 秒
  • st=27从第 27 秒开始淡出

均衡器(EQ)

# 提升低音(100Hz 增益 5dB)ffmpeg-iinput.mp3-af"equalizer=f=100:t=q:w=1:g=5"output.mp3# 提升高音(5kHz 增益 3dB)ffmpeg-iinput.mp3-af"equalizer=f=5000:t=q:w=1:g=3"output.mp3

简单调节音色,让声音更闷或更亮。

压缩器(Compressor)

声音忽大忽小时,压缩器把大的压小、小的放大,整体音量更平稳。

ffmpeg-iinput.mp3-af"acompressor=threshold=-20dB:ratio=4:attack=5:release=50"output.mp3
  • threshold=-20dB:超过 -20dB 的部分开始压缩
  • ratio=4:4:1 压缩比
  • attack=5:启动时间 5ms
  • release=50:释放时间 50ms

做语音节目、播客的时候加个压缩器,听感会好很多——不会突然一声吓一跳,也不会小声听不清。

混响(Reverb)

ffmpeg-iinput.mp3-af"aecho=0.8:0.9:1000:0.3"output.mp3

加一点点空间感,干巴巴的人声会自然一些。别加太多,不然像澡堂子里说话。


八、重采样:改采样率和位深

# 48kHz 转 44.1kHzffmpeg-iinput.wav-ar44100output.wav# 16bit 转 24bitffmpeg-iinput.wav-sample_fmts32 output.wav

-ar改采样率,-sample_fmt改位深格式。

视频和音频合并的时候,如果采样率不一致,最好先统一,否则播放可能有问题。


九、实战:麦克风录音优化流程

我做售货柜语音模块的时候,总结的一套处理流程:

原始录音 → 降噪 → 压缩 → 响度标准化 → 输出

一条命令搞定:

ffmpeg-irecord.wav\-af"afftdn=nf=-20,acompressor=threshold=-18dB:ratio=3,loudnorm=I=-16:TP=-1.5:LRA=11"\-acodecaac-b:a64k output.m4a

三步处理完,录音的听感提升一个档次。


十、音频处理的几个原则

1. 能不转码就不转码

有损格式每转一次损失一次。只是改封装、拼接,用-c copy

2. 处理用无损,输出再压

如果要做多步处理(降噪+压缩+EQ),中间用 WAV 或 FLAC 无损格式,最后一步再转成 MP3/AAC。

3. 前期比后期重要

麦克风选好点、环境安静点,比后期用软件降噪效果好十倍。FFmpeg 是辅助,不是万能的。


十一、本篇小结

  • 音频三要素:采样率、位深、声道数
  • 格式转换:AAC 通用、MP3 兼容好、Opus 低码率强、FLAC 无损
  • 音量:volume手动调,loudnorm自动标准化
  • 降噪:afftdn简单直接,arnndnAI 降噪效果更好
  • 混音:amix叠加,concat首尾拼接
  • 效果器:压缩器让音量平稳,EQ 调音色,混响加空间感
  • 处理流程尽量少转码,中间用无损格式过渡

下一篇讲抽帧与截图进阶:精确抽帧、关键帧抽帧、批量生成缩略图、做 YOLO 数据集的最佳实践——做计算机视觉的同学一定会用到。

我是黒漂技术佬。

http://www.cnnetsun.cn/news/3213367.html

相关文章:

  • ADP5350电源管理IC在嵌入式系统中的应用与优化
  • 绵竹深夜连震,iPhone 用户只能刷朋友圈?我写了一个开源地震预警系统
  • 采购智慧养老设备总踩坑?星梦云康轻量化方案提供参考
  • A股实时行情 API 接入教程:TickDB REST ticker、K线与 WebSocket 实测
  • 2026OpenClaw企业版品牌下载推荐 八款商用智能体分行业量化选型测评指南
  • PyTorch 2.0 线性回归实战:3步从数据加载到模型保存(附完整代码)
  • ZIP密码破解工具对比:ARCHPR vs fcrackzip vs ZipCracker 3款实战评测
  • TraceID 跨越异步任务:不要让消息队列切断调用链
  • 孩子书桌用什么灯好?盘点护眼效果好的护眼台灯,品质过硬!
  • 半导体超纯水系统 2026:3种主流配置方案与18.2 MΩ·cm水质保障
  • 2026工程物资管理软件哪个好?5款轻付费和免费的管理软件对比!
  • 智算中心冷板批量焊接的产能瓶颈:柔性换型怎么破?
  • 多版本Python共存以及环境变量配置
  • 翠湖逛累了别瞎跑!翠怡酒店旁藏着机关食堂开的便民小吃点
  • 报社登报多少钱?报社登报如何办理?办理须注意什么?
  • 全终端接入:OKCC呼叫中心五大接入方式的技术实现解析
  • 深化实验室数智化管理:广凌实验室一体化管理系统的创新实践
  • 太原装修最容易后悔的10个设计|花钱添堵!入住90%想拆掉
  • 银行流水识别工具怎么选?企业批量处理要看字段、结构和复核路径
  • MEMS倾角振动一体机 vs 独立传感器:工业监测系统集成度与边缘计算能力对比分析
  • Outlook、GMX、华为花瓣邮箱3款安全邮箱深度解析:隐私保护与反垃圾实战配置
  • 翻译够准 沟通够稳
  • 德国宣誓翻译件怎么弄?很简单!只需要这三步!
  • 2026儿童口腔健康:专业运营学习伙伴助您一臂之力
  • 力扣560. 和为 K 的子数组中,哈希表mp为什么要mp[0] = 1 ?
  • APK Editor Studio:当传统逆向工具无法满足时,如何构建跨平台的Android应用分析工作流
  • 2026日志分析工具选型参考:卓豪Log360产品能力介绍
  • 运营策划哪家好
  • 电池供电设备零功耗一键开关机方案:ECJ5056-50A8DE 应用笔记
  • 2026年度10款降AI率平台红黑榜!优缺点全透明,达标率硬核对标行业天花板