如何利用ffmpeg和sox进行降噪

如何利用ffmpeg和sox进行降噪

你好!本篇博客的降噪思路:通过截取音频中的已知噪音部分,根据该噪音样本对整个音频进行降噪。截取噪音使用ffmpeg,降噪使用sox。

安装工具

两个工具的下载地址如下:

  1. ffmpeg ,下载地址:ffmpeg.org;
  2. sox ,下载地址:http://sox.sourceforge.net/;

开始降噪

  1. 将音频流和视频流拆分为2个不同的文件:
    视频: ffmpeg -i input.mp4 -vcodec copy -an tmpvid.mp4
    音频: ffmpeg -i input.mp4 -acodec pcm_s16le -ar 128k -vn tmpaud.wav
  2. 从上一步的音频结果文件中生成一个噪声样本:
    ffmpeg -i input.mp4 -acodec pcm_s16le -ar 128k -vn -ss 00:00:00.0 -t 00:00:00.5 noiseaud.wav
    -ss: 从开始的时间偏移. (h: m: s.ms).
    -t duration: 表示要剪切的音频段的持续时间(h: m: s.ms),以便下一步用来作为噪声文件。
    选择一段没有语音、只有噪音的音频(例如,讲话者静音时的那一秒钟)。
  3. 使用sox生成噪音profile:
    sox noiseaud.wav -n noiseprof noise.prof
  4. 清除音频流中的噪声样本:
    sox tmpaud.wav tmpaud-clean.wav noisered noise.prof 0.21
    更改0.21以调整采样率的灵敏度级别(我发现0.2-0.3通常提供最佳结果)。
  5. 使用ffmpeg将新的音频和视频流合并到一起:
    ffmpeg -i tmpvid.mp4 -i tmpaud-clean.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 128k out.mp4

英文原文地址

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值