
Producción de Audio en Manjaro KDE
Actualización del Sistema
Antes de iniciar vamos realizar una actualización completa del sistema:
sudo pacman -Syu --noconfirm
Copia de Seguridad
Antes de realizar cualquier cambio en cualquier distro tipo Arch Linux, se recomienda realizar una copia de seguridad. En este caso se utilizará timeshift.
sudo pacman -S timeshift
Pipewire
He estado probando pipewire y la verdad que anda bastante bien, además que varias distribuciones ya lo traen por defecto. Pipewire ya viene instalado en todas las distribuciones y Manjaro no es la excepción.
Quitar pulseaudio antes de instalar pipewire
Este paso ha variado en la última versión, ya que algunos paquetes ya no se instalan por defecto:
sudo pacman -Rdd pulseaudio-zeroconf manjaro-pulse jack2
NOTA: Dejo por acá el anterior por si lo necesito de referencia.
sudo pacman -Rdd pulseaudio-jack pulseaudio-lirc pulseaudio-rtp pulseaudio-zeroconf manjaro-pulse jack2
Instalar PipeWire
Este paso también ha cambiado en la última versión, debido a que pipewire
ya viene instalado por defecto.
sudo pacman -S pipewire pipewire-alsa pipewire-jack pipewire-pulse alsa-utils helvum
Se debe remover los programas que el instalador indique:
resolving dependencies...
looking for conflicting packages...
:: pipewire-alsa and pulseaudio-alsa are in conflict. Remove pulseaudio-alsa? [y/N] y
:: pipewire-pulse and pulseaudio are in conflict. Remove pulseaudio? [y/N] y
:: pipewire-pulse and pulseaudio-bluetooth are in conflict. Remove pulseaudio-bluetooth? [y/N] y
NOTA: Dejo por acá el anterior por si lo necesito de referencia.
sudo pacman -S pipewire-alsa pipewire-jack pipewire-pulse helvum
CPU Governor Performance
Este paso consite en modificar el comando de arranque de GRUB para habilitar el modo performance CPU Governor, es decir modificar el /etc/default/grub
y agregar la configuración:
sudo nano /etc/default/grub
y modificar la siguiente línea:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3
convirtiendola en :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3 threadirqs cpufreq.default_governor=performance
Este es un comando que uso, pero recomiendo que se realice:
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3 threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub
Lo importante es que una vez realizado el cambio, se actualicve el grub asi:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Usuario en el grupo de Audio
Crear el grupo de audio si no existe ya.
sudo groupadd audio
Agregar el usuario actual al grupo de audio:
sudo usermod -aG audio $USER
Privilegios de tiempo real
Lo pirmero es instalar el paquete realtime-privileges que hace parte del AUR
sudo pacman -S realtime-privileges
Luego agregamos el usuario al grupo de realtime:
sudo usermod -aG realtime $USER
En este punto es recomendado salir y volver a entrar a la sesión (Log out - log in) para que todos los cambios realizados entren en funcionamiento.
Modificar los límites
Un paso importante que debe hacerse en Manjaro es darle privilegios de tiempo real al grupo audio, lo cual se realiza en el archivo /etc/security/limits.conf . En caso de conocer más sobre la naturaleza de este paso puedes consultar la información publicada en al sitio web del proyecto jack.
sudo nano /etc/security/limits.d/audio.conf
Una vez acá, se procede a pegar las siguientes líneas de código.
# audio group
@audio - rtprio 95
@audio - memlock unlimited
O se puede ejecutar el comando directo, si no se ha realizado la modificación antes:
echo '# audio group
@audio - rtprio 95
@audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf
Instalar software básico de Audio
Es momento de instalar algo de software de audio
Estos son algunos de los programas más utilizados en audio, que vienen incluidos en el repositorio oficial de Manjaro.
sudo pacman -S ardour helvum audacity soundconverter musescore dragonfly-reverb lsp-plugins calf caps carla dpf-plugins tap-plugins zam-plugins eq10q ebumeter x42-plugins distrho-ports
Latencia para los clientes de Jack en PipeWire
Se copia y modifica el archivo /usr/share/pipewire/jack.conf
en el directorio ~/.config/pipewire/
En la instalación de Manjaro KDE por defecto, se debe crear la carpeta pipewire
en el ~/.config
primero.
mkdir ~/.config/pipewire
cp /usr/share/pipewire/jack.conf ~/.config/pipewire
nano ~/.config/pipewire/jack.conf
En donde modificamos node.latency en la sección jack.properties y ponemos el valor de la latencia. En el siguiente ejemplo esta con 256ms y 48KHz.
# global properties for all jack clients
jack.properties = {
#node.latency = 1024/48000
node.latency = 256/48000
#node.lock-quantum = false
#jack.show-monitor = true
#jack.merge-monitor = false
#jack.short-name = false
#jack.filter-name = false
#
# allow: Don't restrict self connect requests
# fail-external: Fail self connect requests to external ports only
# ignore-external: Ignore self connect requests to external ports only
# fail-all: Fail all self connect requests
# ignore-all: Ignore all self connect requests
#jack.self-connect-mode = allow
#jack.locked-process = true
}
Plugins VST de Windows usando yabridge y wine
Yabridge es el software que permite el uso de plugins VST2, VST3 y CLAP de Windows (32 y 64 bits) en Linux de 64 bits como si fueran plugins nativos.
Instalar wine
Para poder usar yabridge
se debe tener instalado wine, y el recomendado por el proyecto yabridge
es wine-staging
:
sudo pacman -S wine-staging
Una vez instalado wine
, se ejecuta winecfg
y se instala mono
en caso de aparecer la opción.
winecfg
A partir de este momento se pueden poner los *.dll
o los *.vst3
en las carpetas correspondientes en ~/.wine, en mi caso son:
mkdir ~/.wine/drive_c/Program\ Files/Common\ Files/VST2
mkdir ~/.wine/drive_c/Program\ Files/Common\ Files/VST3
Instalar y configurar yabridge
En este momento ya se puede instalar yabridge
sudo pacman -S yabridge yabridgectl
Luego se agregan estas rutas a yabridge
:
yabridgectl add ~/.wine/drive_c/Program\ Files/Common\ Files/VST3
yabridgectl add ~/.wine/drive_c/Program\ Files/Common\ Files/VST2
Cada vez que se instale un VST de windows en una de esas rutas, se debe actualizar la información de yabridge
usando el parametro –prune para que elimine los que se hayan desinstalado.:
yabridgectl sync --prune
Listo. Ya los VST deben estar disponibles en las rutas ~/.vst
y ~/.vst3
, las cuales deben ser agregadas al corresponiente programa de audio para que sean escaneadas.
Fuentes:
- @UNFA - How do I prepare Manjaro KDE for audio production?
- @UNFA - I\‘ve replaced JACK and PulseAudio with PipeWire and this is what happened
- What is the correct way to install package manjaro-pipewire
- PipeWire Github\’s Page
- Cómo instalar PipeWire y WirePlumber en Manjaro 21.2.4
- Linux Audio Setup Scripts by Brendan Ingram
- LinuxAudio.org - System configuration
- Yabridge on GitHub