From 61f05de7ee7d83b54f51b0107a662c31aa09c2f3 Mon Sep 17 00:00:00 2001 From: djairoh Date: Wed, 7 Oct 2026 00:48:41 +0200 Subject: [PATCH] hm: easyeffects --- modules/audio/default.nix | 4 + modules/audio/easyeffects.nix | 157 ++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 modules/audio/easyeffects.nix diff --git a/modules/audio/default.nix b/modules/audio/default.nix index b38ba73..b05d36d 100644 --- a/modules/audio/default.nix +++ b/modules/audio/default.nix @@ -26,6 +26,10 @@ let }; in { + imports = [ + ./easyeffects.nix + ]; + services.pulseaudio.enable = false; security.rtkit.enable = true; diff --git a/modules/audio/easyeffects.nix b/modules/audio/easyeffects.nix new file mode 100644 index 0000000..fab0988 --- /dev/null +++ b/modules/audio/easyeffects.nix @@ -0,0 +1,157 @@ +{ ... }: + +{ + home-manager.users.djai.programs.dconf.enable = true; # required + + home-manager.users.djai.services.easyeffects = { + enable = true; + settings = { + EffectsPipelines = { + processAllInputs = false; + processAllOutputs = false; + }; + StreamInputs.inputDevice = "alsa_input.usb-HP__Inc_HyperX_Cloud_III_Wireless_0000000000000000-00.mono-fallback"; + StreamOutputs.blocklist = ".*"; # dont process output at all + }; + + preset.input = "default"; + extraPresets = { + default = { + input = { + plugins_order = [ + "rnnoise#0" + "autogain#0" + "crusher#0" + "reverb#0" + "crystalizer#0" + ]; + "autogain#0" = { + bypass = false; + force-silence = false; + input-gain = 0.0; + maximum-history = 15; + output-gain = 0.0; + reference = "Geometric Mean (MSI)"; + silence-threshold = -70.0; + target = -23.0; + }; + blocklist = []; + "crusher#0" = { + anti-aliasing = 0.5; + bit-reduction = 16.0; + bypass = true; + dc = 0.0; + input-gain = 0.0; + lfo-active = true; + lfo-range = 20; + lfo-rate = 0.3; + mode = "Linear"; + morph = 0.5; + output-gain = 0.0; + sample-reduction = 16; + }; + "crystalizer#0" = { + adaptive-intensity = true; + band0 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band1 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band10 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band11 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band12 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band2 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band3 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band4 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band5 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band6 = { + bypass = false; + intensity = 32.0; + mute = false; + }; + band7 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band8 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + band9 = { + bypass = false; + intensity = -40.0; + mute = false; + }; + bypass = true; + fixed-quantum = false; + input-gain = 0.0; + output-gain = 0.0; + oversampling = true; + oversampling-quality = 5.0; + transition-band = 120.0; + }; + "reverb#0" = { + amount = -12.0; + bass-cut = 300.0; + bypass = true; + decay-time = 12.0; + diffusion = 0.5; + dry = 0.0; + hf-damp = 5000.0; + input-gain = 0.0; + output-gain = 0.0; + predelay = 0.0; + room-size = "Tunnel-like"; + treble-cut = 5000.0; + }; + "rnnoise#0" = { + bypass = false; + enable-vad = true; + input-gain = 0.0; + model-name = "\"\""; + output-gain = 0.0; + release = 20.0; + use-standard-model = true; + vad-thres = 50.0; + wet = 0.0; + }; + }; + }; + }; + }; +}