From 07c6c7b9fbf63bb6115d4fb095a1c3e6ccf9765d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Thu, 25 Aug 2022 22:19:38 +0200 Subject: [PATCH] feat: add easyeffects - enable easyeffects service - add microphone config --- home/felschr.nix | 1 + home/services/easyeffects.nix | 101 ++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 home/services/easyeffects.nix diff --git a/home/felschr.nix b/home/felschr.nix index 10dd300..803f24d 100644 --- a/home/felschr.nix +++ b/home/felschr.nix @@ -15,6 +15,7 @@ ./ausweisapp.nix ./gaming ./services/languagetool.nix + ./services/easyeffects.nix ]; programs.gpg.enable = true; diff --git a/home/services/easyeffects.nix b/home/services/easyeffects.nix new file mode 100644 index 0000000..a2abfa1 --- /dev/null +++ b/home/services/easyeffects.nix @@ -0,0 +1,101 @@ +{ config, lib, pkgs, ... }: + +{ + services.easyeffects.enable = true; + + # 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; + 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"; + 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"; + }; + 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" "rnnoise" "limiter" ]; + rnnoise = { + bypass = false; + input-gain = 0.0; + model-path = ""; + output-gain = 0.0; + }; + }; + }; + + xdg.configFile."easyeffects/autoload/input/alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-00.analog-stereo:analog-input-mic.json".text = + builtins.toJSON { + device = + "alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-00.analog-stereo"; + device-description = "Yeti Stereo Microphone Analog Stereo"; + device-profile = "analog-input-mic"; + preset-name = "optimised"; + }; +}