Scheda USB come dispositivo audio predefinito


32

Ho acquistato una piccola scheda audio USB. My Pi riconosce il dispositivo:

$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller

Se corro alsamixere imposto l'audio su USB PnP Sound Device, riesco a sentire l'audio attraverso la scheda audio USB. Per renderlo permanente scrivo:

$ sudo alsactl store

Ma dopo il riavvio, l'impostazione predefinita non è più la scheda audio USB.

inserisci qui la descrizione dell'immagine

Quindi provo a vedere un elenco di dispositivi di riproduzione:

$ aplay -l

    **** List of PLAYBACK Hardware Devices ****
  card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
  card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Modifico /etc/asound.confin questo modo per impostare il valore predefinito:

$ sudo nano /etc/asound.conf


pcm.!default {
 type hw
 card 1
 device 0
}

Fare un reboote ancora il mio valore predefinito non è la scheda audio USB.

Quando provo:

$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1

Sento l'audio dalla scheda USB.

Ho anche provato quanto segue:

$ sudo nano /etc/modprobe.d/alsa-base.conf

cambia l'indice da -2 a 0:

options snd-usb-audio index=0

Riavvia e ancora non ha impostato il valore predefinito. Ho anche commentato la riga e senza fortuna.

Quindi, come posso impostare la scheda USB come dispositivo audio predefinito?

modificare

 dpkg -s pulseaudio

Displays:

Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Architecture: armhf
Multi-Arch: foreign
Version: 2.0-6
Depends: libasound2 (>= 1.0.24.1), libc6 (>= 2.13-28), libcap2 (>= 2.10), libdbus-1-3 (>= 1.1.1), libfftw3-3, libgcc1 (>= 1:4.4.0), libice6 (>= 1:1.0.0), libltdl7 (>= 2.4.2), liborc-0.4-0 (>= 1:0.4.16), libpulse0 (= 2.0-6), libsamplerate0 (>= 0.1.7), libsm6, libsndfile1 (>= 1.0.20), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 4.1.1), libsystemd-daemon0 (>= 31), libsystemd-login0 (>= 31), libtdb1 (>= 1.2.7+git20101214), libudev0 (>= 146), libwebrtc-audio-processing-0, libx11-6, libx11-xcb1, libxcb1, libxtst6, adduser, lsb-base (>= 3.2-13), consolekit, udev (>= 143), libasound2-plugins
Recommends: pulseaudio-module-x11, gstreamer0.10-pulseaudio, rtkit
Suggests: pulseaudio-utils, pavumeter, pavucontrol, paman, paprefs
Breaks: libltdl3 (<< 1.5.24-1)
Conffiles:
 /etc/init.d/pulseaudio 8580c855e4547e8a3c84dca96d9bbd7e
 /etc/default/pulseaudio ee26e4427d72cf16a59b1a8ce2712c66
 /etc/xdg/autostart/pulseaudio.desktop 5e19ffbe14d21702be1edd3256c4265d
 /etc/xdg/autostart/pulseaudio-kde.desktop fd20c58d32035e908a0866784e4e3511
 /etc/pulse/system.pa 408f6d6119d7afce522ab1b394709134
 /etc/pulse/default.pa a9ac2a96744beae0913865fafd3d2582
 /etc/pulse/daemon.conf 6c9e4c973cabb406beee3ec81c63fcd7
 /etc/dbus-1/system.d/pulseaudio-system.conf 69d56dc5342bf589a2e199541709a452
Description: PulseAudio sound server
 PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
 WIN32 systems. It is a drop in replacement for the ESD sound server with
 much better latency, mixing/re-sampling quality and overall architecture.
 .

Poi:

cat /proc/asound/modules

Displays:

 0 snd_bcm2835
 1 snd_usb_audio

Domanda ... hai pulseaudio installato per caso? Corri dpkg -s pulseaudioper scoprirlo, dirà qualcosa del genere dpkg-query: package 'pulseaudio' is not installed and no information is availablese non lo è. Potresti eseguire quel comando e pubblicare l'output?
RPiAwesomeness

Inoltre, puoi eseguire cat /proc/asound/modulese pubblicare l'output?
RPiAwesomeness

@RPiAwesomeness - Aggiornato con le informazioni richieste.
PhillyNJ,

1
Ok, hai provato questo options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1:? Da quello che posso vedere, stai solo cambiando l' snd-usb-audioindice e il sistema lo sta cambiando perché non può avere due (usb e bcm2835) nello stesso indice?
RPiAwesomeness,

2
Sìì! : D Sono contento di aver aiutato e non abbiamo mai dovuto disinstallare pulseaudio! Evviva per Internet :)
RPiAwesomeness,

Risposte:


28

Si scopre che l'OP stava pensando sulla strada giusta con i suoi tentativi

$ sudo nano /etc/modprobe.d/alsa-base.conf

e cambiando l'indice da -2 a 0 tramite l'aggiunta options snd-usb-audio index=0al file. Tuttavia, questo non funzionava.

Il modo corretto per farlo è aggiungere options snd-usb-audio index=0seguito da options snd_bcm2835 index=1.

In sostanza, ciò che fa ciò è forzare la snd_bcm2835disattivazione del modulo audio predefinito ( ) mentre il modulo audio USB ( snd-usb-audio) è abilitato.

Quello che credo accadesse in precedenza con l'aggiunta di solo options snd-usb-audio index=0era che il snd-usb-audiomodulo e il snd_bcm2835erano in conflitto, con entrambi abilitati.


Nessun problema. Ancora una volta, sono sempre felice di aiutarti: D
RPiAwesomeness,

Dolce! Ciò ha risolto il problema anche per me. Ho dovuto riavviare dopo aver cambiato alsa-base.conf, FWIW.
Andrew Swan,

@AndrewSwan Prego! Felice di aiutare! :)
RPiAwesomeness il

14

Con Raspbian Jesse, cambiare il dispositivo audio predefinito è più semplice di prima.

Ora, usa semplicemente questo comando per elencare le tue schede audio rilevate da alsa e prendere nota del numero di scheda del tuo dispositivo preferito.

aplay -l

Quindi crea / modifica il file di configurazione alsa in ~/.asoundrc, o quello a livello di sistema in /etc/asound.conf, e incolla queste righe:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

passando card 0al numero di scheda del dispositivo audio.

Utilizzare alsamixerper ricontrollare che l'impostazione predefinita è stata impostata correttamente.

Fonte:


1
@Greenonline, re: la mia 'domanda' di ieri, non ho davvero potuto aggiungere questa risposta l'altra sera, perché era protetta dalla comunità e non avevo ancora 10 rappresentanti! Grazie per il commento amichevole, mi ha aiutato :)
semitoni il

Ah ok. Grazie. Pensavo che questa risposta fosse familiare ... :-)
Greenonline,

La risposta accettata non ha funzionato per me, ma questo ha funzionato! Grazie mille.
Twiffy,

2
Questo non ha funzionato per me, invece l'ho fatto funzionare scrivendo questo in asound.conf "pcm.! Default {type plug slave {pcm" hw: 1,0 "}} ctl.! Default {type hw card 1} "Da: linuxcircle.com/2013/05/08/…
Moulde,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.