Karta USB jako moje domyślne urządzenie audio

32

Kupiłem małą kartę dźwiękową USB. Moje Pi rozpoznaje urządzenie:

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

Jeśli uruchomię alsamixeri ustawię dźwięk na USB PnP Sound Device, słyszę dźwięk przez kartę dźwiękową USB. Aby było trwałe, piszę:

$ sudo alsactl store

Ale po ponownym uruchomieniu domyślną kartą dźwiękową USB nie jest już.

wprowadź opis zdjęcia tutaj

Więc próbuję zobaczyć listę odtwarzaczy:

$ 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

Edytuję, /etc/asound.confaby wyglądać tak, aby ustawić domyślne:

$ sudo nano /etc/asound.conf


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

Zrób a rebooti nadal moją domyślną nie jest karta dźwiękowa USB.

Kiedy próbuję:

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

Słyszę dźwięk z karty USB.

Próbowałem także:

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

zmień indeks z -2 na 0:

options snd-usb-audio index=0

Uruchom ponownie i nadal nie ustawił domyślnego. Nawet skomentowałem linię i bez powodzenia.

Jak więc ustawić kartę USB jako domyślne urządzenie audio?

Edytować

 dpkg -s pulseaudio

Wyświetla:

Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <[email protected]>
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.
 .

Następnie:

cat /proc/asound/modules

Wyświetla:

 0 snd_bcm2835
 1 snd_usb_audio
PhillyNJ
źródło
Pytanie ... czy masz przypadkowo zainstalowane pulseaudio? Uruchom, dpkg -s pulseaudioaby się dowiedzieć, powie coś takiego, dpkg-query: package 'pulseaudio' is not installed and no information is availablejeśli nie jest. Czy możesz uruchomić to polecenie i opublikować wynik?
RPiAwesomeness
Czy możesz także uruchomić cat /proc/asound/modulesi opublikować dane wyjściowe?
RPiAwesomeness
@RPiAwesomeness - Zaktualizowano o wymagane informacje.
PhillyNJ
1
Dobra, próbowałeś tego options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1:? Z tego, co widzę, po prostu zmieniasz snd-usb-audioindeks, a system go zmienia, ponieważ nie może mieć dwóch (usb i bcm2835) pod tym samym indeksem?
RPiAwesomeness
2
Tak! : D Cieszę się, że pomogliśmy i nigdy nie musieliśmy odinstalowywać pulseaudio! Hurra dla internetu :)
RPiAwesomeness

Odpowiedzi:

28

Okazuje się, że OP starał się myśleć właściwą ścieżką

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

i zmiana indeksu z -2 na 0 poprzez dodanie options snd-usb-audio index=0do pliku. To jednak nie działało.

Prawidłowym sposobem jest dodanie, options snd-usb-audio index=0a następnie dodanie options snd_bcm2835 index=1.

Zasadniczo to wymusza wyłączenie domyślnego modułu dźwiękowego ( snd_bcm2835), gdy moduł dźwiękowy usb ( snd-usb-audio) jest włączony.

Wydaje mi się, że to, co wcześniej działo się z samym dodawaniem, options snd-usb-audio index=0polegało na tym, że snd-usb-audiomoduł i snd_bcm2835oba były w konflikcie, przy czym oba były włączone.

RPiAwesomeness
źródło
Nie ma problemu. Znowu zawsze chętnie pomagam: D
RPiAwesomeness
Słodkie! To również rozwiązało problem dla mnie. Musiałem zrestartować się po zmianie alsa-base.conf, FWIW.
Andrew Swan
@AndrewSwan Nie ma za co! Miło, że mogłem pomóc! :)
RPiAwesomeness
14

W Raspbian Jesse zmiana domyślnego urządzenia audio jest łatwiejsza niż kiedyś.

Teraz wystarczy użyć tego polecenia, aby wyświetlić listę kart dźwiękowych wykrytych jako alsa i zanotować numer karty preferowanego urządzenia.

aplay -l

Następnie utwórz / edytuj plik konfiguracyjny alsa w ~/.asoundrclub systemowy w /etc/asound.confi wklej następujące linie:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

zmiana card 0na numer karty urządzenia dźwiękowego.

Służy alsamixerdo podwójnego sprawdzenia, czy ustawienie domyślne zostało ustawione poprawnie.

Źródło:

półtony
źródło
1
@Greenonline, re: moje „pytanie” z wczoraj, naprawdę nie mogłem dodać tej odpowiedzi innej nocy, ponieważ była ona chroniona przez społeczność i nie miałem jeszcze 10 powtórzeń! Dzięki za przyjazny komentarz, pomógł :)
półtonów
Ach ok. Dzięki. Pomyślałem, że ta odpowiedź wygląda znajomo ... :-)
Greenonline
Przyjęta odpowiedź nie działała dla mnie, ale udało się! Dzięki wielkie.
Twiffy
2
To nie działało dla mnie, zamiast tego uruchomiłem to, pisząc to w asound.conf "pcm.! Default {type plug slave {pcm" hw: 1,0 "}} ctl.! Default {type hw card 1} „Od: linuxcircle.com/2013/05/08/…
Moulde,