Switch to new audio interface

This commit is contained in:
Agatha Lovelace 2023-12-21 22:42:29 +01:00
parent 3c4a6243a3
commit 4598d10b2e
Signed by: sorceress
GPG Key ID: 01D0B3AB10CED4F8
2 changed files with 30 additions and 37 deletions

View File

@ -21,7 +21,7 @@
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.noisetorch}/bin/noisetorch -i -s ${ ExecStart = "${pkgs.noisetorch}/bin/noisetorch -i -s ${
if config.networking.hostName == "tears" then if config.networking.hostName == "tears" then
"UMC202HD_Left" "US-4x4HR_ch0"
else else
"alsa_input.pci-0000_00_1f.3.analog-stereo" "alsa_input.pci-0000_00_1f.3.analog-stereo"
}"; }";

View File

@ -54,43 +54,36 @@
hardware.cpu.amd.updateMicrocode = hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware; lib.mkDefault config.hardware.enableRedistributableFirmware;
# Workaround for UMC202HD only exposing a single stereo input # Creating separate mono sources for Tascam US-4x4HR
environment.etc."pipewire/pipewire.conf.d/91-umc202hd.conf".text = '' environment.etc."pipewire/pipewire.conf.d/91-us-4x4hr.conf".text = let
name = "US-4x4HR";
target = "alsa_input.usb-TASCAM_US-4x4HR_no_serial_number-00.pro-input-0";
input = ch: ''
{
name = libpipewire-module-loopback
args = {
node.description = "${name} Input ${toString ch} Mono"
capture.props = {
node.name = "capture.${name}_ch${toString ch}"
audio.position = [ AUX${toString ch} ]
stream.dont-remix = true
target.object = "${target}"
node.passive = true
}
playback.props = {
node.name = "${name}_ch${toString ch}"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
'';
in ''
context.modules = [ context.modules = [
{ name = libpipewire-module-loopback ${input 0}
args = { ${input 1}
node.description = "UMC202HD Left Input Mono" ${input 2}
capture.props = { ${input 3}
node.name = "capture.UMC202HD_Left"
audio.position = [ AUX0 ]
stream.dont-remix = true
target.object = "alsa_input.usb-BEHRINGER_UMC202HD_192k-00.analog-stereo"
node.passive = true
}
playback.props = {
node.name = "UMC202HD_Left"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
{ name = libpipewire-module-loopback
args = {
node.description = "UMC202HD Right Input Mono"
capture.props = {
node.name = "capture.UMC_202HD_Right"
audio.position = [ AUX1 ]
stream.dont-remix = true
target.object = "alsa_input.usb-BEHRINGER_UMC202HD_192k-00.analog-stereo"
node.passive = true
}
playback.props = {
node.name = "UMC202HD_Right"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
] ]
''; '';
} }