2023-07-22 16:35:58 +02:00
|
|
|
{ pkgs, ... }:
|
2022-08-25 22:19:38 +02:00
|
|
|
|
|
|
|
{
|
|
|
|
services.easyeffects.enable = true;
|
2023-07-22 16:35:58 +02:00
|
|
|
services.easyeffects.package = pkgs.easyeffects.override {
|
|
|
|
# easyeffects speex integration doesn't work otherwise
|
|
|
|
speexdsp = pkgs.speexdsp.overrideAttrs (old: { configureFlags = [ ]; });
|
|
|
|
};
|
2022-08-25 22:19:38 +02:00
|
|
|
|
|
|
|
# based on https://gist.github.com/MateusRodCosta/a10225eb132cdcb97d7c458526f93085
|
|
|
|
xdg.configFile."easyeffects/input/optimised.json".text = builtins.toJSON {
|
|
|
|
input = {
|
|
|
|
blocklist = [ ];
|
2023-07-22 16:35:58 +02:00
|
|
|
plugins_order = [ "rnnoise#0" "speex#0" ];
|
|
|
|
"rnnoise#0" = {
|
2022-08-25 22:19:38 +02:00
|
|
|
bypass = false;
|
2024-03-07 20:07:42 +01:00
|
|
|
enable-vad = false;
|
2022-08-25 22:19:38 +02:00
|
|
|
input-gain = 0.0;
|
2023-07-22 16:35:58 +02:00
|
|
|
model-path = "";
|
2022-08-25 22:19:38 +02:00
|
|
|
output-gain = 0.0;
|
2024-03-07 20:07:42 +01:00
|
|
|
release = 20.0;
|
|
|
|
vad-thres = 50.0;
|
|
|
|
wet = 0.0;
|
2022-08-25 22:19:38 +02:00
|
|
|
};
|
2023-07-22 16:35:58 +02:00
|
|
|
"speex#0" = {
|
2022-08-25 22:19:38 +02:00
|
|
|
bypass = false;
|
2023-07-22 16:35:58 +02:00
|
|
|
enable-agc = true;
|
|
|
|
enable-denoise = true;
|
|
|
|
enable-dereverb = true;
|
2024-03-07 20:07:42 +01:00
|
|
|
input-gain = 0.0;
|
|
|
|
noise-suppression = -70;
|
|
|
|
output-gain = 0.0;
|
2023-07-22 16:35:58 +02:00
|
|
|
vad = {
|
|
|
|
enable = true;
|
|
|
|
probability-continue = 90;
|
|
|
|
probability-start = 95;
|
2022-08-25 22:19:38 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
}
|