Paràmetres de configuració de PulseAudio
Monitoritzar l’entrada de línia de la tarjeta de so:
echo "load-module module-loopback" >> /etc/pulse/default.pa
pactl load-module module-loopback
Convertir la sortida mono per un sol canal a estereo:
pacmd list-sinks
pacmd load-module module-remap-sink sink_name=mono master=alsa_output.pci-0000_00_1b.0.analog-stereo channels=2 channel_map=mono,mono
Per ajustar els paràmetres del so:
pavucontrol
Configuració completa de reducció de so en temps real.
Utilitzarem el següent grup d’aplicacions per poder fer aquesta tasca.
S.O.: Linux Mint o qualsevol altre linux que us agradi
Jackd: Servidor de So (jack1 o jack2)
Pulseaudio: Servidor de So normalment per defecte en les distribucions modernes
https://www.freedesktop.org/wiki/Software/PulseAudio/
Patchage: Serveix per interconnectar les diferentes peces que fan servir JackD i permet fer la interconnexió personalitzada d’una forma molt senzilla
https://drobilla.net/software/patchage
FFMPEG: Per fer l’enviament del stream a un server IceCAST
zita-njbridge: Per fet l’enviament del stream per si volem enviar-lo a un altre ordinado amb JackD per poder-ho retransmetre via OBS.
https://directory.fsf.org/wiki/Zita-njbridge
Ardour4: Complet estudi de gravació per sistemes Linux. S’utilizarà com a mezclador i gestor dels plugins Calf i Noise-Repellent
Calf Gear Studio: Son plugins LV2 per poder fer diferents modificacions d’una font de so. Ecualitzadors, limitadors, gates …
Noise-Repellent: Plugin LV2 de Luciano Dato. Un espectacular DSP que ens permetrà treure el soroll de QRM i podrem escoltar senyals que normalment no escoltariem.
https://github.com/lucianodato/noise-repellent
Carla és un amfitrió de complements d’àudio amb totes les funcions, amb suport per a molts controladors d’àudio i formats de connectors. És de codi obert i està llicenciat sota la GNU General Public License, versió 2 o posterior.
https://github.com/falkTX/Carla
Després de realitzar la instal·lació de tots aquests paquets procedirem a la configuració.
El primer que farem és fer conviure el servidor PulseAudio amb Jackd. Realitzarem la següent configuració com a usuari.
$mkdir ~/.pulse; cat >~/.pulse/default.pa <<EOF
load-module module-native-protocol-unix
load-module module-jack-sink channels=2
load-module module-jack-source channels=2
load-module module-null-sink
load-module module-stream-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-suspend-on-idle
set-default-sink jack_out
set-default-source jack_in
EOF
Llavors iniciarem QjackCtl que ens proveïrà de l’inici del servei JackD al nostre ordinador.
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/JACK-Audio-Connection-Kit-default-Started._034.png)
En aquest punt ja hauriem de sentir so en el nostre ordinador de forma normal.
Sinó sentissim el so de l’entrada de línia potser es perquè no la tenim seleccionada a nivell de ALSA. Ho podrem fer fàcilment amb el AlsaMixer
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/imatge-1024x482.png)
A partir d’aquí iniciarem Ardour4.
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Streaming-Ardour_042-1024x408.png)
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Streaming-Mixer-Ardour_041.png)
Llavors iniciarem Patchage per tal de fer les connexions que calgui entre l’entrada de so del line-in i Ardour4 en cas que no s’hagi fet automaticament. Connectarem la sortida del monitor de Ardour4 a la sortida dels altaveus. I la sortida del master als connectors d’streaming si els fem servir. Com ffmpeg o zitaj2n. Així podrem control·lar el que sentim i el què publiquem a la xarxa.
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Patchage_033-1024x918.png)
Un cop fetes les conexions i tot funcionant procedirem a configurar els plugins de Ardour4 fins conseguir el so que nosaltres desitjem.
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Audio-Calf-Mono-Input-by-Calf-Studio-Gear_036.png)
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Audio-Noise-repellent-by-Luciano-Dato_037.png)
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Audio-Calf-Equalizer-12-Band-by-Calf-Studio-Gear_038-1024x658.png)
![](https://blog.sergicoll.cat/wp-content/uploads/2020/04/Audio-Calf-Bass-Enhancer-by-Calf-Studio-Gear_040.png)
Si volem que la sortida que tenim la volem publicar a través d’un servidor IceCast ho podem fer amb FFMEG:
ffmpeg -f jack -ac 2 -i ffmpeg -acodec libmp3lame -ab 128k -ice_name "HamRadio Test" -ice_description "HamRadio Test" -content_type audio/mpeg -f mp3 icecast://source:password@icecast.server:8000/stream
Si volem enviar el so a un altre ordinador amb un JackD server per poder-ho intregrar amb OBS i fer stream a Youtube / Twitch … podem utilitzar:
zita-j2n ip-serverdesti 8888 # (en el server: zita-n2j ipserverorigen 8888)
CARLA
Configuració preferida a 10/07/2021
Només cal instal·lar els paquets i els plugins que volguem utilitzar com abans. Però la configuració és més senzilla i més òptima a nivell de recursos del nostres ordinador.
La configuració del PulseAudio és la mateixa que l’exemple anterior.
Configuració pel Carla amb el Qjackctl
![](https://blog.sergicoll.cat/wp-content/uploads/2021/07/imatge.png)
Dins del programa
![](https://blog.sergicoll.cat/wp-content/uploads/2021/07/imatge-1-1024x182.png)
En el patchbay.
![](https://blog.sergicoll.cat/wp-content/uploads/2021/07/imatge-2.png)
Els pàmetres pel plugin Noise Repellent son:
![](https://blog.sergicoll.cat/wp-content/uploads/2021/07/nr.png)
La font del so pot ser externa o podem utilitzar un receptor online tipus OpenWebRx
![](https://blog.sergicoll.cat/wp-content/uploads/2021/07/openwebrx-1024x669.jpg)
CARLA
Configuració preferida a 17/10/2022
Configuració que funciona amb LinuxMint 21
![](https://blog.sergicoll.cat/wp-content/uploads/2022/10/imatge-3.png)
Per automatizar el procés al iniciar el qjackctl
![](https://blog.sergicoll.cat/wp-content/uploads/2022/11/imatge-2.png)
![](https://blog.sergicoll.cat/wp-content/uploads/2022/11/imatge-3.png)
Script jack.sh
#!/bin/bash
#cat /proc/asound/cards
# 0 [PCH ]: HDA-Intel - HDA Intel PCH
# HDA Intel PCH at 0xf7110000 irq 31
# 1 [Set ]: USB-Audio - C-Media USB Headphone Set
# C-Media USB Headphone Set at usb-0000:00:1a.0-1.4, full speed
# 2 [NVidia ]: HDA-Intel - HDA NVidia
# HDA NVidia at 0xf7080000 irq 17
# 3 [camera ]: USB-Audio - web camera
# Xiongmai web camera at usb-0000:00:14.0-4.1, high speed
# 4 [AUDIO ]: USB-Audio - HIFI AUDIO
# Comtrue-inc HIFI AUDIO at usb-0000:00:1d.0-1.6, high speed
function pulseconfig {
mkdir ~/.pulse 2>&1 > /dev/null
cat >~/.pulse/default.pa <<EOF
load-module module-native-protocol-unix
load-module module-jack-sink channels=2
load-module module-jack-source channels=2
load-module module-null-sink
load-module module-stream-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-suspend-on-idle
set-default-sink jack_out
set-default-source jack_in
EOF
}
case "$1" in
start)
pulseconfig
killall pulseaudio 2>&1 1> /dev/null &
;;
after)
pacmd set-default-sink jack_out &
sleep 1
alsa_in -j "C-Media_USB_In" -d hw:1 -q 1 2>&1 > /dev/null &
sleep 1
alsa_in -j "Webcam" -d hw:3 -q 1 2>&1 > /dev/null &
sleep 1
alsa_out -j "C-Media_USB_Out" -d hw:1 -q 1 2>&1 > /dev/null &
sleep 1
alsa_out -j "NVidia" -d hw:2 -q 1 2>&1 > /dev/null &
sleep 1
alsa_out -j "DAC" -d hw:4 -q 1 2>&1 > /dev/null &
;;
restart|reload|force-reload)
$0 stop
$0 start
;;
stop)
rm ~/.pulse/default.pa 2>&1 > /dev/null &
killall pulseaudio 2>&1 > /dev/null &
killall alsa_in 2>&1 > /dev/null &
killall alsa_out 2>&1 > /dev/null &
;;
*)
echo "Usage: $0 start|after|stop" >&2
exit 3
;;
esac
Resultat final
![](https://blog.sergicoll.cat/wp-content/uploads/2022/11/imatge-4.png)
Per poder utilitzar Carla amb tot caldrà utilitzar carla-jack-multi
![](https://blog.sergicoll.cat/wp-content/uploads/2022/11/imatge-5-1024x645.png)