PDA

Visualizza la versione completa : /dev/dsp mancante su Ubuntu 11.10


ardito86
20-03-2012, 14:16
Spero che qualcuno mi sappia aiutare.

In merito a questa interessante guida: http://www.oreilly.de/catalog/multilinux/excerpt/ch14-05.htm
noto purtroppo con rammarico che il file /dev/dsp non esiste. Infatti, compilato il programma, all'avvio mi dice che /dev/dsp non esiste.

Vista la facilità con cui posso registrare e mandare dati grezzi alla scheda audio con questo modo, come posso risolvere? Oppure, mi potete suggerire altri metodi per comunicare con la scheda audio su ubuntu? Grazie.

linoma
20-03-2012, 16:59
Se nn ricordo male /dev/dsp fa riferimento ad un vecchio layer per drivers di schede audio (OSS), oggi dovrebbe essere ALSA. Cmq OSS pare essere deprecated, ripeto ricordo.

sacarde
20-03-2012, 18:54
caricato il modulo: snd-pcm-oss
?

ardito86
20-03-2012, 19:05
Originariamente inviato da sacarde
caricato il modulo: snd-pcm-oss
?
No, come?

Comunque manca proprio il file/dev/dsp.

Ma credo che passerò ad ALSA, che come ha detto linoma, oss ormai è obsoleto e si usa ALSA o PulseAudio

sacarde
20-03-2012, 21:18
sudo modprobe snd-pcm-oss

MItaly
20-03-2012, 22:44
OSS 3 è obsoleto, OSS 4 va meglio di ALSA (che è un gran pasticcio). :mem:
PulseAudio è l'ennesimo layer di astrazione di cui si farebbe volentieri a meno (le sue funzionalità normalmente usate sono supportate direttamente da OSS 4), ma che non si può evitare perché diverse applicazioni funzionano solo tramite esso.
La cosa ridicola è che:
- ALSA come backend supporta l'emulazione OSS3, ma senza le funzionalità di mixing (a parte questo, ho visto applicazioni andare meglio in emulazione OSS piuttosto che direttamente ALSA);
- OSS 4 supporta l'emulazione ALSA;
- PulseAudio accetta come backend sia OSS che ALSA, e può emulare entrambi per gestire lui il multiplexing.

... e come se non bastasse c'è anche il sistema audio Jack, che accetta tutti gli altri come backend e con ciascuno dà rogne diverse.

ardito86
21-03-2012, 01:27
Originariamente inviato da sacarde
sudo modprobe snd-pcm-oss
Sono un noob di linux...mi dice modulo non trovato. Comunque ho installato un pacchetto di nome alsa-oss ma niente.


OSS 3 è obsoleto, OSS 4 va meglio di ALSA (che è un gran pasticcio).
PulseAudio è l'ennesimo layer di astrazione di cui si farebbe volentieri a meno (le sue funzionalità normalmente usate sono supportate direttamente da OSS 4), ma che non si può evitare perché diverse applicazioni funzionano solo tramite esso.
La cosa ridicola è che:
- ALSA come backend supporta l'emulazione OSS3, ma senza le funzionalità di mixing (a parte questo, ho visto applicazioni andare meglio in emulazione OSS piuttosto che direttamente ALSA);
- OSS 4 supporta l'emulazione ALSA;
- PulseAudio accetta come backend sia OSS che ALSA, e può emulare entrambi per gestire lui il multiplexing.

... e come se non bastasse c'è anche il sistema audio Jack, che accetta tutti gli altri come backend e con ciascuno dà rogne diverse.

Ok, sono tutti dei layer. Quello che mi chiedo: quando un applicazione qualsiasi, ovvero un qualsia player, per esempio VLC, "suona" una canzone su linux, che interfaccia usa fra queste? Se OSS non è più supportato da linux, perché converrebbe scrivere applicazioni per OSS?

No perché, ho compilato un'applicazione basilare per riprodurre un'onda (a forma di sega), ma nonostante non mi dia alcun errore, io non sento alcun suono. L'esempio è preso da qui:
http://www.suse.de/~mana/alsa090_howto.html , in 2. Basic PCM audio

MItaly
21-03-2012, 01:36
Originariamente inviato da ardito86
Ok, sono tutti dei layer. Quello che mi chiedo: quando un applicazione qualsiasi, ovvero un qualsia player, per esempio VLC, "suona" una canzone su linux, che interfaccia usa fra queste?
Attualmente praticamente ogni applicazione supporta più di un layer in uscita. VLC supporta sia ALSA che OSS che PulseAudio (credo che di default usi PulseAudio, poi ALSA, poi OSS). È questo l'assurdo a cui siamo arrivati.

Ah dimenticavo, le applicazioni Gnome hanno un ulteriore layer: GStreamer (che in verità oltre a gestire l'audio fa molte altre cose in maniera molto flessibile). Rhythmbox, Totem & co. parlano con GStreamer, che a sua volta ha un'impostazione (modificabile con il "Selettore sistemi audio" o da gconf) che gli indica i sink predefiniti (anche qui, sono supportati PulseAudio, OSS e ALSA).

Se OSS non è più supportato da linux, perché converrebbe scrivere applicazioni per OSS?
Perché per il resto del mondo UNIX (FreeBSD, Solaris & co.) esiste solo OSS; perché anche su Linux bene o male OSS lo trovi sempre (c'è OSS 4, c'è l'emulazione OSS sia di ALSA che di PulseAudio); perché le interfacce di OSS sono più comode e meglio documentate di quelle ALSA.

ardito86
21-03-2012, 01:43
Ok, mi hai confuso abbastanza :D

Grazie mille comunque, hai risolto i miei dubbi

sacarde
21-03-2012, 10:03
Originariamente inviato da sacarde
sudo modprobe snd-pcm-oss

purtroppo non e' incluso nel kernel

in /boot/config-.........

# CONFIG_SND_PCM_OSS is not set


bisognerebbe ricompilare il kernel


http://www.linuxquestions.org/questions/linux-general-1/what-happened-to-dev-dsp-in-ubuntu-10-10-a-862717/

Loading