Linuxtrent: Re: Linux e l'audio

  • From: Matteo Ianeselli <ianezz@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxxxxxx
  • Date: Fri, 2 Feb 2001 10:33:09 +0100

Flavio Stanchina writes:

 > ho appena aggiunto l'audio al mio kernel: sul vecchio Pentium 90 con
 > vecchia ESS1868 è tutto OK, a parte che fa fatica a suonare gli MP3,

Che player usi?

 > A parte questo, ho visto che ci sono EsounD e ALSA, non ho capito a cosa
 > servono nè tantomeno le differenze... consigliatemi!

Digressione (da prendere con le pinze: Azazel e Lele probabilmente
conoscono la storia meglio).

dalla notte dei tempi, l'infrastruttura audio del kernel e` basata
sulla versione Free dell'OSS (Open Sound System della 4Front
Technologies, gli stessi che ora sponsorizzano XMMS, uno dei player
mp3 Free che ci sono).

OSS e` un prodotto commerciale che provvede un interfaccia comune e
dei driver per una tonnellata di sistemi UNIX, Linux compreso. La
versione commerciale comprende piu` driver, che dopo un certo tempo
vengono resi Free (e quindi incorporati nel kernel).

L'architettura di OSS ha alcune stranezze e limitazioni a cui quelli
del progetto ALSA volevano ovviare, per cui si sono rifatti la parte
audio. Peraltro ALSA provvede anche l'API di OSS, per cui il passaggio
non dovrebbe essere traumatico.

Una delle limitazioni di OSS e` che ci puo` essere un solo processo
che tiene aperto il device audio in scrittura, e che dunque puoi far
sentire solo una PCM alla volta.

ESounD (Enlightened Sound Daemon) e` un piccolo demone che una volta
faceva parte del window manager Enlightenment che si occupa di
effettuare via software il mix in tempo reale di piu` sorgenti audio
PCM, normalizzandole per bitrate e ampiezza dei campioni e sparando il
tutto alla scheda audio. In questo modo piu` processi possono usare la
scheda audio contemporaneamente per far sentire suoni.

Lo svantaggio e` che ESounD ha bisogno di una discreta dose di cicli
di CPU (non tanti, ma su un Pentium 90 indubbiamente si sente), e
quando la situazione si fa critica inizia a effettuare il downsampling
dell'audio che gli arriva in modo da porter stare al passo. Il
risultato e` che quando la CPU e` molto carica, il suono esce
distorto.

Se non mi sbaglio, i driver di ALSA tra le altre cose riescono a fare
la stessa cosa, ma in kernel space, eventualmente sfruttando le
capacita` hardware della scheda, e quindi in maniera piu`
efficiente. Ma chiederei conferma a chi li usa.

Bene o male, qualsiasi programma audio di un certo peso sotto Linux ha
la possibilita` di usare sia OSS, che ESounD che ALSA.
-- 
UNIX diapers by Pannolini USPTO 2039887  http://www.uspto.gov
Matteo Ianeselli      ianezz AT sodalia.it  (+39) 0461 316452
Visita il LinuxTrent:            http://linuxtrent.grinta.net

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: