## page created by jeremie2 #format wiki #LANGUAGE it <
> <> <> = Introduzione = Storicamente nei sistemi Linux per la gestione dei flussi audio sono stati utilizzati differenti server audio a seconda della tipologia di software in utilizzo.<
> Per fare alcuni esempi, i flussi audio standard (player audio/video, filmati web, ecc..) sono stati gestiti da [[Hardware/Audio/PulseAudio|PulseAudio]], mentre nel caso di utilizzo di software per l'editing professionale il server audio di riferimento è stato [[Multimedia/Audio/Jack|JACK]].<
> Purtroppo tali server sono in conflitto fra di loro. Ad es. attivando il server '''JACK''' viene escluso l'audio di tutti quei software che utilizzano '''!PulseAudio'''. '''[[https://pipewire.org/|PipeWire]]''' è stato realizzato proprio per uniformare l'utilizzo dei software audio, eliminare i conflitti e rendere superflua l'installazione del kernel per la [[AmministrazioneSistema/KernelBassaLatenza|bassa latenza]]. '''!PipeWire''' è stato ufficialmente e parzialmente introdotto in '''Ubuntu 22.04''' (installabile in modo limitato anche in '''Ubuntu 20.04''').<
>Tuttavia la sua integrazione può ancora risultare incompleta. Questa guida è stata testata principalmente con il software [[Multimedia/Audio/Ardour|Ardour]] ma può rendersi utile per l'utilizzo di altre applicazioni che fanno uso di '''JACK'''. Uno dei principali vantaggi lo si ha nel poter utilizzare contemporaneamente software che fanno uso o di '''!PulseAudio''' o di '''JACK'''. {{{#!wiki note La versione presente nei repository ufficiali di '''Ubuntu 20.04''' è obsoleta e limitata nelle funzionalità. }}} {{{#!wiki note Per '''Ubuntu 18.04''' il pacchetto '''!PipeWire''' non è disponibile nei [[Repository|repository]] ufficiali.<
> }}} In alternativa può essere installato tramite il [[https://launchpad.net/~pipewire-debian/+archive/ubuntu/pipewire-upstream|PPA PipeWire Upstream ]], che fornisce sia versioni più recenti di quelle del repository ufficiale, aggiornate circa ogni quindici giorni, sia versioni per '''Ubuntu 18.04'''. = Installazione = == Da repository Ubuntu == 0. Installare i pacchetti necessari per '''!PipeWire''': * '''Ubuntu 22.04''': [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://pipewire-audio-client-libraries, libspa-0.2-bluetooth, libspa-0.2-jack|pipewire-audio-client-libraries, libspa-0.2-bluetooth, libspa-0.2-jack]] * '''Ubuntu 20.04''': [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://pipewire, libpipewire-0.2-1, libspa-bluetooth ,libspa-ffmpeg|pipewire, libpipewire-0.2-1, libspa-bluetooth, libspa-ffmpeg]] 0. Rimuovere il pacchetto '''pipewire-media-session''' e poi installare il manager di sessione '''wireplumber''' digitando nel [[AmministrazioneSistema/Terminale|terminale]] i comandi: {{{ sudo apt purge pipewire-media-session sudo apt install wireplumber }}} ## Modificato la procedura pella sostituzione del pacchetto '''pipewire-media-session''' con '''wireplumber''' in cagione del baco <>. <> == Da repository PipeWire == 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i comandi:{{{ sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream }}} 0. Aggiornare la lista dei pacchetti:{{{ sudo apt update }}} 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://pipewire-audio-client-libraries, libspa-0.2-bluetooth, libspa-0.2-jack, pipewire-locales, wireplumber-locales|pipewire-audio-client-libraries, libspa-0.2-bluetooth, libspa-0.2-jack, pipewire-locales, wireplumber-locales]]. = Configurazione = 0. Per la configurazione di software che utilizzano '''ALSA''' e '''JACK''' creare le seguenti copie:{{{ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/ }}}{{{ sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ }}} 0. Terminare la configurazione attraverso il comando:{{{ sudo ldconfig }}} 0. Eliminare completamente il seguente pacchetto per '''!PulseAudio''':{{{ sudo apt purge pulseaudio-module-bluetooth }}} 0. Abilitare '''!WirePlumber''':{{{ systemctl --user --now enable wireplumber.service }}} 0. Riavviare il sistema. 0. Verificare la corretta configurazione digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ pactl info }}} 0. Dovrebbe essere visualizzato un output simile:{{{ Stringa server: /run/user/1000/pulse/native Versione protocollo libreria: 35 Versione protocollo server: 35 Locale: sì Indice client: 66 Dimensione tile: 65472 Nome utente: pinguinux Nome host: slim Nome server: PulseAudio (on PipeWire 0.3.48) Versione server: 15.0.0 Specifica di campionamento predefinita: float32le ch 2 48000 Hz Mappa del canale predefinita: front-left,front-right Sink predefinito: alsa_output.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00.analog-stereo Sorgente predefinita: alsa_input.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00.mono-fallback Cookie: fb6f:2804 }}}Verificare i passaggi svolti nel caso si visualizzasse un output differente o nella stringa:{{{ Nome server: PulseAudio (on PipeWire 0.3.48) }}}mancasse un esplicito riferimento a '''!PipeWire'''. = Gestione flussi audio/video = Per gestire flussi audio/video tra periferiche e programmi, è consigliabile installare i programmi '''Helvum''' e '''qpwgraph''', il primo distribuito solo come pacchetto [[AmministrazioneSistema/InstallareProgrammi/PacchettiFlatpak|Flatpak]], il secondo se si usa il [[#ppapipewire|repository PipeWire]] anche come pacchetto `.deb`. 0. Per abilitare l'installazione di software in formato Flatpak e lo store Flathub seguire i [[AmministrazioneSistema/InstallareProgrammi/PacchettiFlatpak#install|seguenti passi]]. 0. Da [[AmministrazioneSistema/Terminale|terminale]] installare i pacchetti necessari:{{{ flatpak install org.rncbc.qpwgraph org.pipewire.Helvum }}} 0. Riavviare il sistema. == Dal repository Pipewire == 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://qpwgraph|qpwgraph]] 0. Riavviare il sistema. = Audio professionale con Carla = In ambito '''audio professionale''' per collegare i flussi audio e MIDI di sistema con altri provenienti da applicazioni in sandbox, (cioè installati da [[AmministrazioneSistema/InstallareProgrammi/PacchettiSnap|snap]] o [[AmministrazioneSistema/InstallareProgrammi/PacchettiFlatpak|flatpak]]), e per compatibilità con i plugin audio di '''Windows''' e '''Mac''', è consigliabile installare il software '''[[https://wiki.linuxaudio.org/apps/all/carla|Carla]]'''.<
> Per usare '''Carla''' [[AmministrazioneSistema/InstallareProgrammi|installare]] i pacchetti [[apt://carla, carla-bridge-linux32, carla-bridge-linux64, carla-bridge-win64, carla-bridge-win32|carla, carla-bridge-linux32, carla-bridge-linux64, carla-bridge-win64, carla-bridge-win32]] = Frequenza di campionamento e latenza = Con '''!PipeWire''' la frequenza di campionamento e latenza possono essere cambiate all'istante senza dover riavviare il server audio. {{{#!wiki note Eseguire queste modifiche prima di caricare le applicazioni multimediali. }}} La '''frequenza di campionamento''' predefinita è impostata a '''48000 Hz'''.<
> Per cambiarla ad esempio a 44100 Hz, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ pw-metadata -n settings 0 clock.force-rate 44100 }}} È tuttavia consigliabile lasciarla a 48000 Hz, essendo la frequenza ufficiale del audio della TV, dei DVD, di !YouTube ecc.. La '''latenza''' invece è impostata di default a '''1024''', ma nei casi in cui occorra ad esempio registrare uno strumento o fare una live con '''[[https://it.wikipedia.org/wiki/Open_Broadcaster_Software|OBS Studio]]''', conviene abbassarla.<
> Per portarla ad esempio a un valore di 256 digitare:{{{ pw-metadata -n settings 0 clock.force-quantum 256 }}} I valori possibili sono 4096, 2048, 1024, 512, 256, 128, 64, 32. Più i valori sono bassi meno latenza si h,a ma si corre il rischio di rendere il sistema instabile e introdurre rumori nel audio. = Monitorare app che utilizzano PipeWire = Per vedere quali applicazioni stiano utilizzando '''!PipeWire''' e a quale frequenza stiano lavorando, digitare il comando:{{{ pw-top }}} = Ulteriori risorse = * [[https://pipewire.org/|Sito ufficiale del progetto]] * [[https://it.wikipedia.org/wiki/PipeWire|Pagina enciclopedica]] * [[https://pipewire-debian.github.io|Come configurare WirePlumber con PipeWire]] ---- CategoryMultimedia