Apuntes de radio - Gqrx + Pulseaudio ... Es posible ...

Este pequeño manual trata de como configurar el servidor de sonido 'pulseaudio' para su uso con 'gqrx'. Es una configuración sencilla, para salir al paso, ya que yo sigo utilizando principálmente ALSA como sistema de sonido.

Está dirigido a usuarios de GNU/Linux en general y usuarios de Arch Linux en particular.

Primero comenzamos abriendo un terminal y escribiendo como 'root':

--

[root@------ ----]# pacman -Ss pulse
extra/libao 1.1.0-3 [instalado]
Cross-platform audio output library and plugins
extra/libcanberra-pulse 0.30-3 [instalado]
PulseAudio plugin for libcanberra
extra/libpulse 3.0-2 [instalado]
A featureful, general-purpose sound server (client library)
extra/paprefs 0.9.10-2 [instalado]
A simple GTK-based configuration dialog for PulseAudio
extra/pavucontrol 2.0-1 [instalado]
A GTK volume control tool for PulseAudio
extra/pulseaudio 3.0-2 [instalado]
A featureful, general-purpose sound server
extra/pulseaudio-alsa 2-2 [instalado]
ALSA Configuration for PulseAudio

Y procedemos a instalar los paquetes necesarios para el funcionamiento de 'pulseaudio':

--

[root@------ ----]# pacman -S pulseaudio paprefs pulseaudio-alsa pavucontrol libcanberra-pulse libpulse
atención: pulseaudio-3.0-2 está actualizado -- re-instalando
atención: paprefs-0.9.10-2 está actualizado -- re-instalando
atención: pulseaudio-alsa-2-2 está actualizado -- re-instalando
atención: pavucontrol-2.0-1 está actualizado -- re-instalando
atención: libcanberra-pulse-0.30-3 está actualizado -- re-instalando
atención: libpulse-3.0-2 está actualizado -- re-instalando
resolviendo dependencias...
verificando conflictos...

Objetivos (6): libcanberra-pulse-0.30-3 libpulse-3.0-2 paprefs-0.9.10-2 pavucontrol-2.0-1 pulseaudio-3.0-2
pulseaudio-alsa-2-2

Tamaño de descarga: 1,33 MiB
Tamaño instalado: 7,56 MiB
Tamaño a actualizar: 0,00 MiB

¿Continuar con la instalación? [S/n]

Una vez instalados los paquetes editamos el fichero '/etc/pulse/daemon.conf' descomentando de esta manera:

--

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
local-server-type = user
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

exit-idle-time=0
; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto

; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

resample-method=speex-float-0
; resample-method = speex-float-3
; enable-remixing = yes
; enable-lfe-remixing = no

; flat-volumes = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 1000000

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
default-sample-channels = 2
; default-channel-map = front-left,front-right

; default-fragments = 4
; default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0

En mi caso utilizo los dos canales por defecto ya que no estoy utilizando ningún sistema de sonido 5,1 o análogos. Ahí deberemos especificar el sistema de sonido que querramos utilizar.

Después de ésto editaremos el fichero '/etc/asound.conf' como configuración global del sistema o bien para un usuario en concreto en el fichero '/home/usuario/.asound.conf':

Ésta es la configuración escrita por defecto en '/etc/asound.conf', lo aconsejable sería o bien comentar las entradas existentes o realizando una copia de seguridad del mismo.

## Use PulseAudio by default
pcm.!default {
type pulse
fallback "sysdefault"
hint {
show on
description "Default ALSA Output (currently PulseAudio Sound Server)"
}
}

ctl.!default {
type pulse
fallback "sysdefault"
}

# vim:set ft=alsaconf:

Podemos sustituir el contenido del fichero o bien añadirle estas nuevas líneas habiendo comentado las anteriores que contenía por defecto.

pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}

Ahora lo aconsejable sería rebootear el sistema para que se apliquen los cambios. Debido a algunos problemas del servicio 'dbus-org.bluez.service' con systemd a veces es aconsejable el iniciar 'pulseaudio' como usuario desde un terminal escribiendo:

23:43:26 ------:~ > pulseaudio &

Pasando así la ejecución del servidor a segundo plano, si deseamos configurar los niveles de audio independientemente para cada aplicación ejecutaremos la siguiente orden:

23:43:26 ------:~ > pavucontrol

De esta manera tendremos configurado nuestro servidor de sonido, no de una manera ortodoxa, pero sí de una manera funcional para el propósito que nos ocupa que es realmente poder utilizar 'gqrx'.