PulseAudio è un server audio in rete open source per Linux e altri sistemi operativi simili a UNIX. È stato progettato da zero per fornire agli utenti un'alternativa affidabile al vecchio ESOUND (Enlightened Sound Daemon).
È un server audio modulare
Essendo una parte molto importante di qualsiasi ambiente di elaborazione, un server audio viene principalmente utilizzato per la miscelazione software di diversi flussi audio, hardware generico e astrazione API audio, oltre alla trasparenza della rete. È un server audio modulare che incorpora numerosi moduli plug-in per supportare protocolli audio, dispositivi audio, X Window System, bluetooth, connettività JACK, trasporto RTP, SAP e SDP, controllo volume, filtri e vari protocolli.
Architettura plugin estensibile
Anche se l'architettura dei plugin è estendibile, supporta il collegamento statico e il caricamento automatico dei moduli, più di una sorgente o sink, l'interpolazione della latenza lato client, funzionalità a bassa latenza accettabile e il ricampionamento e la conversione del tipo di campione. Per la registrazione e la riproduzione del suono, il progetto fornisce misure di latenza molto accurate. Può essere facilmente integrato in altri programmi, dispone di un'architettura "Zero-Copy" e di un'interfaccia diretta della riga di comando che consente agli utenti esperti di configurare il demone mentre è in esecuzione.
Sotto il cappuccio
Dietro le quinte, PulseAudio include una C API completamente asincrona (Application Programming Interface), due API sincrone e diverse opzioni di streaming audio di rete. Il server audio può essere utilizzato per combinare facilmente più schede audio e per sincronizzare più flussi di riproduzione allo stesso tempo. Diversi progetti open source offrono supporto per il server audio PulseAudio, come ALSA, LiVES, MPD, MPlayer, xine, VLC Media Player e SXEmacs.
Supportato su qualsiasi distribuzione moderna s di Linux
Al momento, PluseAudio è supportato su qualsiasi moderna distribuzione Linux, così come sui sistemi operativi FreeBSD, NetBSD, Solaris, Mac OS X e Microsoft Windows (Win32). È anche il server audio predefinito di numerosi e noti sistemi operativi Linux e può essere facilmente configurato tramite le applicazioni grafiche PulseAudio Volume Control e PulseAudio Preferences.
Novità in questa versione :
- Il tarball per 12.1 conteneva uno script di configurazione non funzionante (la compilazione falliva quando gsettings era abilitato), quindi non usarlo! Usa PulseAudio 12.2, è meglio! Non ci sono modifiche oltre al tarball rigenerato con uno script di configurazione funzionante e un file NEWS aggiornato.
Novità nella versione 11.1:
- Rapporti di latenza migliori (e quindi migliore sincronizzazione A / V) con il profilo Bluetooth A2DP
- Rapporti di latenza molto più accurati per i dispositivi AirPlay
- Risolto un problema di crash o di utilizzo elevato della CPU con Intel HDMI LPE
- module-switch-on-connect ora ignora i dispositivi virtuali
- Quando usi il passthrough per l'audio compresso, imposta il & quot; non-audio & quot; bit
- Assegna priorità all'uscita HDMI sull'uscita S / PDIF
- Supporto HSP per più cuffie Bluetooth
- Scegli il profilo bluetooth A2DP per impostazione predefinita invece di HSP
- Nuovo & quot; sink_input_properties & quot; argomento del modulo per module-ladspa-sink
- Nuovo & quot; use_system_clock_for_timing & quot; argomento del modulo per module-pipe-sink
- module-pipe-sink ora può usare una pipe esistente
- Supporto dell'uscita stereo dell'auricolare per cuffie Steelseries Arctis 7
- Supporto jack per altoparlante TB16 Dell Thunderbolt Dock
- Supporto fisso per l'input digitale per alcune schede audio USB
- Risolto il rilevamento di Traktor Audio 6 di Native Instruments
- Possibilità di disabilitare l'input o l'output su macOS
- Nuovo & quot; dereverb & quot; opzione per il cancellatore di eco Speex
- Nuovo modulo: module-always-source
- File di stato non più leggibili da tutti gli utenti nella modalità di sistema
- module-augment-properties ora usa XDG_DATA_DIRS per trovare i file .desktop
- Aggiornamenti per i binding Vala
- La dipendenza GConf può ora essere evitata li>
- Licenza qpaeq modificata da AGPL a LGPL
- qpaeq portato a Qt 5
- Compatibilità con glibc 2.27
- Lo strumento esdcompat non è più installato se il supporto di esound è disabilitato
Novità della versione nella versione:
- Miglioramenti al routing automatico
- Beamforming e varie altre nuove funzionalità nel cancellatore di eco WebRTC
- Vari miglioramenti in module-role-cork e module-role-ducking
- Refexing LFE disabilitato per impostazione predefinita li>
- trasporto memoria condivisa supportato da memfd
- Supporto per frequenze di campionamento fino a 384 kHz
- versione minima della dipendenza da elaborazione webrtc-audio urtata a 0.2
- Modificato lo standard C da C99 a C11.
Novità della versione nella versione 8.0:
- Routing automatico con maggiori probabilità di cambiare profilo
- Miglioramenti al supporto di OS X e NetBSD
- Registrazione del diario Systemd per i client
- Nuova interfaccia di programmazione della bilancia LFE
- Miglioramenti al protocollo del modulo dbus
- Gestione del file di configurazione più flessibile
- pulsecore-8.0.so spostato in una directory privata li>
- Nuovo script per misurare il consumo di memoria
- Varie correzioni di bug e piccoli miglioramenti
Novità nella versione 7.1:
- Correzione di un errore quando si utilizza srbchannel
- Correggere un errore di compilazione del sistema di generazione che ha causato la comparsa di collegamenti simbolici in /
- Fai in modo che le carte Xonar funzionino meglio
- Altre correzioni di bug minori e miglioramenti
Novità della nuova versione nella versione 7.0:
- Sintesi dei canali LFE con filtro passa-basso
- Nuovi resampler basati su libsoxr
- Supporto attivazione socket per TCP
- Il & quot; srbchannel & quot; Meccanismo IPC abilitato di default
- Supporto di rilevamento jack più flessibile quando si utilizza UCM
- L'uscita dovuta a SIGTERM non è considerata un errore
- Supporto migliore per Creative SoundBlaster Omni Surround 5.1
Novità della versione nella versione 6.0:
- Supporto HSP (cuffia) nativo di BlueZ 5
- Supporto profilo BlueZ 5 HFP (a mani libere) via oFono
- supporto attivazione socket systemd
- Supporto migliore per i profili multicanale e 2.1
- Rimappa ottimizzazioni
- Molti miglioramenti minori, correzioni di bug e aggiornamenti i18n
Novità della nuova versione nella versione 4.0:
- Migliore gestione delle richieste a bassa latenza
- Ottimizzazioni durante il mixaggio (generico, ARM NEON)
- Il resampler predefinito ora è speex-float-1 (utilizzo della CPU inferiore)
- Maggiore refactoring Bluetooth per una maggiore affidabilità e una più facile manutenzione
- Correzioni per un piacevole passaggio a / da JACK
- Nuovo modulo per applicare ducking in base ai ruoli di streaming
- Correzioni dell'infrastruttura di cancellazione dell'eco
- Completamento di Bash e zsh per gli strumenti da riga di comando
- Correzioni di Solaris e OS X
- Molti altri miglioramenti, correzioni di bug e documentazioni e aggiornamenti i18n
Novità della versione nella versione 3.0:
- Supporto ALSA di Case Manager (UCM):
- L'hardware audio su computer desktop e laptop è in genere abbastanza standard per essere gestito da PulseAudio utilizzando un set comune di file di configurazione. La situazione è diversa ad es. telefoni e tablet. Praticamente tutti questi dispositivi necessitano di file di configurazione separati per descrivere l'hardware in modo che PulseAudio possa utilizzare correttamente tutte le funzionalità di base dell'hardware. La configurazione può essere fornita come file di configurazione PulseAudio, ma gli ALSA hanno lavorato su un sistema che consente alle applicazioni (come PulseAudio) di utilizzare l'hardware senza richiedere alcuna configurazione aggiuntiva nell'applicazione. Il sistema si chiama UCM e PulseAudio ora ne ha il supporto.
- Parametri del filtro LADSPA modificabili in fase di esecuzione:
- Il modulo LADSPA ora espone un'interfaccia D-Bus di base per modificare i parametri del filtro al volo. In precedenza i parametri non potevano essere modificati dopo aver caricato il filtro.
- Supporto immediato per i sorgenti Bluetooth:
- PulseAudio può essere utilizzato in un ruolo di cuffia Bluetooth, ad esempio per collegare un laptop a un telefono cellulare e far finta che il laptop sia un auricolare. In questo caso, è spesso preferibile eseguire il loopback dell'audio dal telefono alla scheda audio del laptop. Questo viene ora fatto automaticamente dal modulo-bluetooth-policy, che viene caricato di default. Tuttavia, gli utenti devono abilitare il supporto del codice sorgente nella loro configurazione di BlueZ.
- Ottimizzazione ARM NEON:
- Sono state aggiunte ottimizzazioni per la conversione del formato campione tra S16LE e i formati in virgola mobile utilizzando le istruzioni ARM NEON. Il supporto per questi viene rilevato in fase di compilazione (in base ai flag FPU) oltre al tempo di esecuzione (basato su / proc / cpuinfo). Come parte di questo sforzo, sono state gettate le basi per aggiungere ulteriori ottimizzazioni NEON in futuro.
- Offset di latenza dispositivo configurabile:
- La segnalazione accurata della latenza è importante per es. & quot; lip sync & quot; nella riproduzione di video. PulseAudio si affida all'hardware audio per fornire informazioni accurate sul ritardo dell'audio. Se queste informazioni non sono accurate per qualche motivo, ora è possibile configurare un offset da applicare a ciascun report di latenza, grazie al lavoro di Summer of Code di Damir Jelic. Ad esempio, se stai guardando un video e utilizzi un auricolare Bluetooth per l'uscita audio, la sincronizzazione labiale potrebbe essere un po 'spenta, perché attualmente PulseAudio non dispone del supporto adeguato per interrogare la latenza dei dispositivi Bluetooth. Con la prossima versione di pavucontrol, sarai in grado di risolvere il problema di sincronizzazione regolando l'offset di latenza dell'auricolare Bluetooth.
- Attenersi alle specifiche della directory di base XDG:
- La posizione dei file di configurazione è stata spostata da ~ / .pulse a ~ / .config / pulse (o se $ XDG_CONFIG_HOME è impostato, quindi usa quello). Se ~ / .pulse esiste, tuttavia, verrà comunque utilizzato in modo che la configurazione dell'utente non venga persa durante l'aggiornamento di PulseAudio. Anche il cookie di autenticazione è stato spostato da ~ / .pulse-cookie a ~ / .config / pulse / cookie.
- La posizione dei file di runtime (ovvero i file che non devono essere conservati attraverso i riavvii, ad esempio i socket) è stata spostata da una directory casuale in / tmp a $ XDG_RUNTIME_DIR / pulse. Nel caso in cui $ XDG_RUNTIME_DIR non sia impostato, lo schema precedente viene ancora utilizzato come fallback.
- Varie modifiche ALSA:
- Una regressione in 2.0, che potrebbe far sì che alcune macchine non abbiano & quot; Speaker & quot; o & quot; Microfono interno & quot; porte, è stato per lo più corretto in 3.0 - se usato insieme a Linux 3.6 o versioni successive. Inoltre, una soluzione alternativa per i kernel più vecchi viene applicata ad alcune macchine più comuni.
- Pierre-Louis Bossart ha introdotto una modifica per migliorare l'accuratezza delle query di timestamp e quindi la pianificazione basata su timer, interrogando un numero di parametri di temporizzazione ALSA in modo atomico.
- Abbiamo aggiunto la proprietà del nome dell'icona alle porte ALSA, che potrebbe aiutare i produttori dell'interfaccia utente a visualizzare icone per porta migliori.
- Inoltre, ci sono stati altri cambiamenti, come la rimozione della fastidiosa porta lfe-on-mono e l'aggiunta di più nomi di controllo del mixer per stare meglio in sincronia con il kernel.
- Miglioramenti per i test automatici:
- Deng Zhengrong ha migliorato il supporto dei test automatici di PulseAudio come parte del suo lavoro su Google Summer of Code. I miglioramenti includono il supporto per la segnalazione di copertura del test con gcov, cambiando i test esistenti per utilizzare il & quot; check & quot; framework e rendendo possibile il lancio di un daemon PulseAudio a scopo di test mentre contemporaneamente sta eseguendo il daemon normale.
- Scaricamento dei moduli in base al nome:
- pactl e pacmd ora supportano i moduli di scarico per nome. Lo scarico in precedenza poteva essere fatto solo dall'indice del modulo, il che era un po 'scomodo, perché di solito non si conosce l'indice senza prima cercarlo in qualche modo.
- Miglioramenti della registrazione:
- Oltre ai miglioramenti dei test automatici, lo studente GSoC Deng ha lavorato anche sulle strutture di registrazione di PulseAudio. Ora è possibile modificare la destinazione del log di un demone in esecuzione con pacmd, usando il comando set-log-target. Inoltre, è stato aggiunto un nuovo tipo di destinazione del registro: & quot; newfile & quot ;. Il & quot; newfile & quot; il target è come il vecchio & quot; file & quot; target, con la differenza che se il nome file specificato esiste già, il file non viene sovrascritto, ma viene creato un nuovo file con un suffisso numerato.
- Refactoring del codice Bluetooth:
- C'è stato un sacco di lavoro di refactoring sui moduli Bluetooth, come preparazione per il prossimo supporto di BlueZ 5 e per rendere il codice più piacevole con cui lavorare in generale. Queste non sono modifiche direttamente visibili all'utente, ma vorremmo cogliere l'occasione qui per ringraziare comunque Mikel Astiz per l'ottimo lavoro svolto.
- Passaggi successivi:
- Lo sviluppo continua come sempre, e la versione 4.0 è prevista per il mese di aprile (finora non siamo stati molto bravi a mantenere un ciclo di rilascio di 4 mesi, quindi, prendetelo con un pizzico di sale). Il rapporto di PulseConf 2012 offre alcuni indizi su cosa potrebbe succedere dopo.
Novità nella versione 2.0:
- Frequenze di campionamento alternative
- rilevamento della presa
- Cancellazione dell'eco: cancellatore WebRTC, controllo automatico del guadagno, compensazione della deriva
- Modulo Virtual Surround
- Xen Paravirtualised audio sink
- Risolto il supporto di HURD
- Miglioramenti della qualità del decodificatore A2DP
Novità della versione nella versione 0.9.17:
- Lennart Poettering (13):
- libpulse: aggiungi il nuovo codice di errore PA_ERR_BUSY
- alsa: converte correttamente le dimensioni del buffer di esempio
- alsa: riporta correttamente i codici di errore sospesi
- i18n: aggiungi ja a LINGUAS
- i18n: esegui make update-po
- build-sys: aumenta la versione della libreria
- doxygen: rilascia i riferimenti a pacat.c e paplay.c come esempi poiché non sono utili come tali e nel caso di paplay non esiste nemmeno più
- doxygen: aggiungi rtclock.h alla documentazione
- doxygen: non confondere doxygen con spurie ..
- proplist: definisce le proprietà per la memorizzazione della posizione della finestra
- position-event-sounds: posizione della finestra d'onore se impostata, posizione sia verticalmente che orizzontalmente
- core: aggiungi un fattore di volume aggiuntivo che viene applicato dopo che il campionamento è avvenuto
- position-event-sounds: applica il fattore volume dopo, non prima di ricampionare
- amitakhya (1):
- Invio della traduzione per Assamese
- anipeter (1):
- Invio di traduzione per Malayalam
- hyuuga (1):
- Invio di traduzione per po / ja.po
- ifelix (1):
- Invio della traduzione per Tamil
- jassy (1):
- Invio della traduzione per il Punjabi
- kkrothap (1):
- Invio della traduzione per Telugu
- rajesh (1):
- Invio della traduzione per l'hindi
- runab (1):
- Invio della traduzione in bengalese (India)
- sandeeps (1):
- Invio della traduzione per Marathi
- swkothar (1):
- Invio della traduzione per Gujarati
- warrink (1):
- Invio della traduzione per l'olandese
I commenti non trovato