Auricolari Bluetooth con PipeWire

Qualche mese fa ho comprato degli auricolari bluetooth, non per comunicare, ma solo per “coprire” un ambiente di lavoro estremamente rumoroso, ascoltando musica.

Gli EarFun Air Pro hanno la cancellazione attiva del rumore (ANC), audio di qualità molto buona e un’ottima indossabilità. A mio parere, un valido compromesso rispetto a marchi più blasonati (e costosi).

Fortunatamente ho cambiato lavoro. Con la nuova attività ho iniziato ad avere la necessità di usare anche il microfono integrato.
Ubuntu 20.04LTS supporta il protocollo A2DP (miglior qualità ma solo unidirezionale) e vede regolarmente gli auricolari bluetooth come output.
Quando provo a cambiare il profilo audio in HSP/HFP (minor qualità ma bidirezionale) mi propone esclusivamente il microfono integrato del mio laptop, ignorando gli auricolari.

Per risolvere questo problema e poter utilizzare codec più performanti (come mSBC) ho deciso di installare PipeWire, un progetto creato da Red Hat, di cui ho sentito parlare molto bene.

PipeWire nasce con il nome PulseVideo, un multimedia server, che vuole portare la filosofia di PulseAudio nel video, con supporto nativo a Wayland. Dopo le prime versioni hanno deciso che questo approccio si poteva estendere anche all’audio, integrando il supporto a PulseAudio, Alsa, Jack.

Nel repository Ubuntu è disponibile una versione piuttosto datata. Ho preferito aggiungere il PPA ufficiale con i pacchetti più recenti :

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt-dist-upgrade
sudo apt install pipewire

Nel nostro caso, vanno installate anche queste librerie:

sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries

Adesso disabilitiamo PulseAudio (il framework audio default):

systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user stop pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio

Adesso abilitiamo PipeWire:

systemctl --user --now enable pipewire pipewire-pulse 
systemctl --user --now enable pipewire-media-session.service
systemctl --user start pipewire pipewire-pulse

Per verificare che Pulsewire sia attivo, dovete eseguire (potrebbe essere necessario un riavvio):

pactl info

E’ possibile abilitare i codec mSBC e sbc-XQ (non tutti gli auricolari li supportano) copiando le impostazioni default da /usr/share/pipewire/media-session.d/bluez-monitor.conf nella cartella del proprio utente ~/.config/pipewire/media-session.d/bluez-monitor.conf (oppure in quella di sistema /etc/pipewire/media-session.d/bluez-monitor.conf).

Nella sezione properties vanno aggiunte (oppure de-commentate) le seguenti righe:

bluez5.enable-sbc-xq = true
bluez5.enable-msbc = true
Subscribe
Notificami

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

0 Commenti
Newest
Oldest Most Voted
Inline Feedbacks
View all comments