diff --git a/home/services/easyeffects.nix b/home/services/easyeffects.nix index 411d050..fb0366e 100644 --- a/home/services/easyeffects.nix +++ b/home/services/easyeffects.nix @@ -1,91 +1,36 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { services.easyeffects.enable = true; + services.easyeffects.package = pkgs.easyeffects.override { + # easyeffects speex integration doesn't work otherwise + speexdsp = pkgs.speexdsp.overrideAttrs (old: { configureFlags = [ ]; }); + }; # based on https://gist.github.com/MateusRodCosta/a10225eb132cdcb97d7c458526f93085 xdg.configFile."easyeffects/input/optimised.json".text = builtins.toJSON { input = { blocklist = [ ]; - compressor = { - attack = 20.0; - boost-amount = 6.0; - boost-threshold = -72.0; + plugins_order = [ "rnnoise#0" "speex#0" ]; + "rnnoise#0" = { bypass = false; - hpf-frequency = 10.0; - hpf-mode = "off"; input-gain = 0.0; - knee = -6.0; - lpf-frequency = 20000.0; - lpf-mode = "off"; - makeup = 0.0; - mode = "Downward"; + model-path = ""; output-gain = 0.0; - ratio = 4.0; - release = 100.0; - release-threshold = -120.0; - sidechain = { - lookahead = 0.0; - mode = "RMS"; - preamp = 0.0; - reactivity = 10.0; - source = "Middle"; - type = "Feed-forward"; + }; + "speex#0" = { + bypass = false; + input-gain = 0.0; + output-gain = 0.0; + noise-suppression = -70; + enable-agc = true; + enable-denoise = true; + enable-dereverb = true; + vad = { + enable = true; + probability-continue = 90; + probability-start = 95; }; - threshold = -12.0; - }; - gate = { - attack = 10.0; - bypass = false; - curve-threshold = -24.0; - curve-zone = -6.0; - hpf-frequency = 10.0; - hpf-mode = "off"; - hysteresis = false; - hysteresis-threshold = -12.0; - hysteresis-zone = -6.0; - input-gain = 0.0; - lpf-frequency = 20000.0; - lpf-mode = "off"; - makeup = 0.0; - output-gain = 0.0; - reduction = -12.0; - release = 100.0; - sidechain = { - input = "Internal"; - lookahead = 0.0; - mode = "RMS"; - preamp = 0.0; - reactivity = 10.0; - source = "Middle"; - }; - }; - limiter = { - alr = false; - alr-attack = 5.0; - alr-knee = 0.0; - alr-release = 50.0; - attack = 5.0; - bypass = false; - dithering = "None"; - external-sidechain = false; - gain-boost = true; - input-gain = 0.0; - lookahead = 5.0; - mode = "Herm Thin"; - output-gain = 0.0; - oversampling = "None"; - release = 5.0; - sidechain-preamp = 0.0; - stereo-link = 100.0; - threshold = 0.0; - }; - plugins_order = [ "gate" "compressor" "speex" "limiter" ]; - speex = { - bypass = false; - input-gain = 0.0; - output-gain = 0.0; - noise-suppression = -15.0; }; }; };