
La gestione dell’audio in Linux storicamente ha subito varie evoluzioni.
OSS
Il primo “sistema sonoro” suportato dal Kernel Linux fino alla versione 2.4.x è stato Open Sound System (OSS). L’API del sistema portabile OSS tuttavia soffriva di alcune limitazioni: mancanza di supporto hardware per MIDI, hardware mixing di multipli canali audio, …
ALSA
A partire dalla versione 2.5.x (2002) del Kernel venne introdotto l’Advanced Linux Sound Architecture (ALSA). Questo componente del Kernel dalla versione 2.6.è diventata l’interfaccia predefinita nella fornitura di device driver per le schede audio. Obiettivo di ALSA la configurazione automatica del hardware e un efficace gestione delle schede audio. ALSA prevede una modalità opzionale di emulazione di OSS. JACK è un completo framework che utilizza ALSA per consentire operazioni di mixing ed editing audio a bassa latenza tipiche del livello professionale. I programmi che operano solo su Linux utilizzano in genere ALSA, quelli che utilizzano altri sistemi linux come BSD sfruttano OSS. ALSA ha un API più complessa di OSS e risolve alcuni dei limiti di OSS consentendo: sintesi MIDI a livello hardware, driver di perifica per l’ambito multiprocessore, mixing hardware di canali multipli, full duplex.
ALSA fornisce una libreria in user space che consente agli sviluppatori di evitare di interagiere con il Kernel in modo diretto.
Tra i pacchetti che potrebbe essere opporuno avere installato oatre a alsa-base
- alsa-utils
- alsa-tools-gui
- alsamixer e/o alsamixergui
- ( gstreamer0.10-alsa )
testare che la funzionalità audio
speaker-test -c 2
alsamixer il mixer da terminale è completo ed efficace
alsamixer
alsamixergui mixer a interfaccia grafica
Pulseaudio
PulseAudio ( già Polyaudio ) è un server audio multipiattaforma (funziona anche in Windows ) usato in alternativa ad ALSA. PulseAudio si appoggia ad ALSA e consente a differenza di quest’ultimo di riprodurre il suono da più fonti audio diverse contemporaneamente ( pulseaudio ubuntu )
per verificare che sia operativo pulseaudio basta verificare che il pacchetto in questione sia installato
eventualmente digitare
ps fax | grep [p]ulseaudio
Funzionalità
Le principali funzioni di PulseAudio includono:
- Supporto per fonti audio multiple;
- Un demone del sistema sonoro ( configurabile da riga di comando);
- Capacità di sincronizzare molteplici flussi di riproduzione;
- Una architettura di memoria di tipo zero-copy, per ridurre il carico del processore; Nota ATTENZIONE Che il programma pavucontrol “mangia” risorse di CPU notevoli tenerlo aprto il minimo indispensabile.
- Capacità di localizzare i computers della rete con PulseAudio, permettendo la riproduzione sugli stessi del flusso audio;
- Controllo del volume a livello di singola applicazione:
- Possibilità di cambio al volo del dispositivo di riproduzione;
- Funzioni di conversione dei campioni e ricampionamento;
- Capacità di combinare più schede audio in una sola;
- Un’interfaccia a riga di comando con capacità di scripting;
- Supporto ai dispositivi audio bluetooth e al loro riconoscimento;
- Consente di regolare l’equalizzazione a livello di sistema;
- Un’architettura di plugin estendibile con supporto ai moduli caricabili;
Jack
JACK Audio Connection Kit (JACK e un server audio o demone che consente connessioni a bassa latenza per gestire dati sia audio che midi.
Jack è sfruttato dalla gran parte delle applicazioni audio professioni su Linux …
Interfacce audio
Alcuni comandi per elencare le interfacce audio presenti nel sistema in ubuntu debian
:~$ cat /proc/asound/cards 0 [M2496 ]: ICE1712 - M Audio Audiophile 24/96 M Audio Audiophile 24/96 at 0xcf00, irq 21 1 [USB20MIDI ]: USB-Audio - USB2.0-MIDI USB2.0-MIDI at usb-0000:00:12.0-2, full speed
cat /proc/asound/modules è il comando da utilizzare per visualizzare il nome con cui vengono identificate le interfacce audio. Questono me si utilizza anche per cambiare la scheda audio di defaul, l’ordine delle stesse, l’eventuale inserimento in backlist …
cat /proc/asound/modules 0 snd_hda_intel 1 snd_ice1712 2 snd_usb_audio
altro comando per elencare le schede audio pci
lspci -v | grep -A7 -i "audio" 00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) Subsystem: Giga-byte Technology GA-MA770-DS3rev2.0 Motherboard Flags: bus master, slow devsel, latency 32, IRQ 16 Memory at fe024000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Kernel driver in use: snd_hda_intel Kernel modules: snd-hda-intel -- 01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Cedar HDMI Audio [Radeon HD 5400/6300 Series] Subsystem: PC Partner Limited Device aa68 Flags: bus master, fast devsel, latency 0, IRQ 44 Memory at fdffc000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 -- 03:06.0 Multimedia audio controller: VIA Technologies Inc. ICE1712 [Envy24] PCI Multi-Channel I/O Controller (rev 02) Subsystem: VIA Technologies Inc. M-Audio Delta Audiophile 2496 Flags: bus master, medium devsel, latency 32, IRQ 20 I/O ports at cf00 [size=32] I/O ports at ce00 [size=16] I/O ports at cd00 [size=16] I/O ports at cc00 [size=64] Capabilities: [80] Power Management version 1 Kernel driver in use: snd_ice1712
Risorse:
- Le informazioni sulla scheda audio in linux ubuntu debian
- Configurare l’audio in ubuntu server 13.04 – ALSA
- Audio in Linux: Oss, ALSA, pulseaudio ubuntu linux
- Pulseaudio ubuntu
- Advanced Linux Sound Architecture (Italiano) – ArchWiki
- M-Audio Audiophile 2496 – Ubuntu 11.10 – 12.04 – 12.10 linux …
- Linux schede audio compatibili