From 5a94344a1f61937f291245320ba7adb78f0f0ecb Mon Sep 17 00:00:00 2001 From: aNNiMON Date: Sun, 30 Jun 2024 21:48:39 +0300 Subject: [PATCH] Add audio noise reduction filter --- .../ffmpegbot/commands/ffmpeg/FFmpegCommandBuilder.java | 2 ++ .../java/com/annimon/ffmpegbot/parameters/AudioEffect.java | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/annimon/ffmpegbot/commands/ffmpeg/FFmpegCommandBuilder.java b/src/main/java/com/annimon/ffmpegbot/commands/ffmpeg/FFmpegCommandBuilder.java index 7ec4a43..2a5446e 100644 --- a/src/main/java/com/annimon/ffmpegbot/commands/ffmpeg/FFmpegCommandBuilder.java +++ b/src/main/java/com/annimon/ffmpegbot/commands/ffmpeg/FFmpegCommandBuilder.java @@ -51,6 +51,8 @@ public class FFmpegCommandBuilder implements Visitor { audioFilters.add(switch (p.getValue()) { case AudioEffect.ECHO -> "aecho=0.8:0.9:40|50|70:0.4|0.3|0.2"; case AudioEffect.ECHO_2 -> "aecho=0.8:0.9:500|1000:0.2|0.1"; + case AudioEffect.NOISE_REDUCTION_5 -> "afftdn=nr=5"; + case AudioEffect.NOISE_REDUCTION_12 -> "afftdn=nr=12"; case AudioEffect.PULSATOR -> "apulsator=mode=sine:hz=0.5"; case AudioEffect.VIBRATO -> "vibrato=f=4"; default /* AudioEffect.ROBOT */ -> "afftfilt=\"" + diff --git a/src/main/java/com/annimon/ffmpegbot/parameters/AudioEffect.java b/src/main/java/com/annimon/ffmpegbot/parameters/AudioEffect.java index 9181926..51e7890 100644 --- a/src/main/java/com/annimon/ffmpegbot/parameters/AudioEffect.java +++ b/src/main/java/com/annimon/ffmpegbot/parameters/AudioEffect.java @@ -8,11 +8,13 @@ public class AudioEffect extends StringParameter { public static final String ROBOT = "Robot"; public static final String ECHO = "Echo"; public static final String ECHO_2 = "Echo 2"; + public static final String NOISE_REDUCTION_5 = "Noise reduction 5dB"; + public static final String NOISE_REDUCTION_12 = "Noise reduction 12dB"; public static final String PULSATOR = "Pulsator"; public static final String VIBRATO = "Vibrato"; private static final List VALUES = List.of( - "", ROBOT, ECHO, ECHO_2, PULSATOR, VIBRATO + "", ROBOT, ECHO, ECHO_2, NOISE_REDUCTION_5, NOISE_REDUCTION_12, PULSATOR, VIBRATO ); public AudioEffect() {