Feat: Add support for PEQ preamp (#1923)
authorMaxim Raznatovski <nda.mr43@gmail.com>
Thu, 30 Jan 2025 14:17:56 +0000 (15:17 +0100)
committerGitHub <noreply@github.com>
Thu, 30 Jan 2025 14:17:56 +0000 (15:17 +0100)
music_assistant/helpers/dsp.py

index 457825f1063bb979250d339cf3a17f4bbf008803..5195bd6482f102ded0c8ed7fd53a1227d9deee26 100644 (file)
@@ -24,8 +24,11 @@ def filter_to_ffmpeg_params(dsp_filter: DSPFilter, input_format: AudioFormat) ->
         List of FFmpeg filter parameter strings
     """
     filter_params = []
+    preamp = 0
 
     if isinstance(dsp_filter, ParametricEQFilter):
+        if dsp_filter.preamp:
+            preamp = dsp_filter.preamp
         for b in dsp_filter.bands:
             if not b.enabled:
                 continue
@@ -109,4 +112,7 @@ def filter_to_ffmpeg_params(dsp_filter: DSPFilter, input_format: AudioFormat) ->
                 f"equalizer=frequency=9000:width=18000:width_type=h:gain={dsp_filter.treble_level}"
             )
 
+    if preamp != 0:
+        filter_params.insert(0, f"volume={preamp}dB")
+
     return filter_params