So verwenden Sie für Raspberry Pi standardmäßig eine externe USB-Soundkarte

17

Weiß jemand, wie man die Startpriorität der Soundkarte ändert?

In allen Tutorials werde ich zum Bearbeiten aufgefordert /etc/modprobe.d/alsa-base.conf, aber die Datei fehlt in Raspbian Jesse .

Carl Hudson
quelle
Upvote für das Auftauchen in Google - Juni 2018
SDsolar

Antworten:

10

Die gesuchte Datei befindet sich in /usr/share/alsa/alsa.conf. Es heißt nicht alsa-base.confnuralsa.conf

Alle relevanten Text ist in dieser Datei nur laufen sudo nano /usr/share/alsa/alsa.confÄnderung der Standardsoundkarte 1 oder was auch immer Sie bevorzugen offensichtlich 0 Default so nicht , dass man i gelöscht auch die # von der Linie , die sagt ... load card-specific configuration files(auf Anfrage) und jetzt i habe den sound von meiner cirrus audio karte bekommen, auf der debian 8 jessie auf ras pi2 läuft

Breeskeeper
quelle
1
Ich habe einige schnelle Formatierungskorrekturen vorgenommen. Vielleicht würde eine Kopie des relevanten Teils der alsa-Konfigurationsdatei Ihre Antwort noch verbessern.
Geselle Geek
2
Ist "Kartenspezifische Konfigurationsdateien laden (auf Anfrage)" kein Kommentar?
SILENT
Es ist in der Tat nur ein Kommentar, um den Code-Block darunter zu erklären
PTS
Ja. Teilweise Antwort. Nicht genug maßgebliche Informationen, damit ich mich für eine Abstimmung entscheide. ... und diese Zeile ist ein Kommentar, der nicht ausführbar ist. Und der Block selbst ist nicht auskommentiert.
SDsolar
13

Das hat bei Raspbian Jessie funktioniert.

Wenn Sie den integrierten Audio-Chip (dh Analogausgang oder HDMI-Audio) nicht benötigen, deaktivieren Sie ihn und das USB-Audiogerät kann zum primären Gerät werden:

  1. Onboard-Audio deaktivieren.
    • Öffnen /etc/modprobe.d/raspi-blacklist.confund hinzufügen blacklist snd_bcm2835.
  2. Erlauben Sie dem USB-Audiogerät, das Standardgerät zu sein.
    • Öffnen Sie /lib/modprobe.d/aliases.confdie Zeile und kommentieren Sie sie ausoptions snd-usb-audio index=-2
  3. Starten Sie neu
    • sudo reboot
  4. Probieren Sie es aus.
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav
leif81
quelle
Ich habe die Antwort aktualisiert, um eine andere Strategie zum Deaktivieren von Onboard-Audio zu verwenden. Dieser Weg ist besser, da er das Desktop-Audio-Applet nicht beschädigt.
Leif81
Der erste Schritt ist entscheidend, aber ich hatte ihn nirgendwo anders gefunden. Upvote. Der Rest ist veraltet. Juni 2018: Bereits wußte in zu gehen /usr/share/alsa/alsa.confund es sowohl zu sagen zu ändern default.ctl.card 1und default.pcm.card 1- dann nach all dem Neustart und versuchen , alsa -lnur das USB zeigt und dass es Karte # 1 zu sehen. Ich habe es mplayerfür den Test installiert und es ist großartig. Sie haben diese Frage an Antworten gebunden, also hier ist sie.
SDsolar
@ SDsolar Bin froh zu helfen. Obwohl ich nicht denke, dass Schritt 2 veraltet ist? Sie haben eine alternative Möglichkeit, das Gerät als Standard festzulegen. Gut zu wissen.
Leif81
Es könnte ein Versionsproblem sein. Beispielsweise wurden meine 16.04 LTS-Systeme sofort von der 14.04 Installations-CD aktualisiert. Es gibt also Spuren beider Vorgehensweisen, insbesondere im Zusammenhang mit dem Bootvorgang, der sich unter Version 15 geändert hat. In meinem Fall existieren die Dateien modprobe.d, aber sie sind alle leer. Am Ende ist es also gut, dass diese Antwort beide Möglichkeiten aufzeigt, wenn Sie meinen Kommentar hinzufügen. -> Du hast definitiv mein größtes Problem gelöst, alsamixerindem du bcm2835 auf die schwarze Liste gesetzt hast. Ich suchte hoch und niedrig und nur Ihre Antwort hatte das letzte Puzzleteil. TNX MCH
SDsolar
3

Ich hatte Probleme damit in den letzten Versionen von Raspbian (Jessie).

Es gibt eine Datei mit dem Namen, aliases.confin /lib/modprobe.dder die Zeile enthalten ist options snd-usb-audio index=-2. Da diese Zeile die /etc/modprobe.d/Dateien überschreibt , müssen Sie diese ändern. Kommentieren Sie mit einem # die Zeile ausoptions snd-usb-audio index=-2

In /usr/share/alsa/alsa.conf"Kartenspezifische Konfigurationsdateien laden (auf Anfrage)" habe ich nicht kommentiert und den Inhalt .asoundrceiner versteckten Datei in Ihrem Home-Ordner durch Folgendes ersetzt:

pcm.!default plughw:Device
ctl.!default plughw:Device

Der Nachteil dieser Lösung ist, dass das Desktop-Sound-Applet nicht angezeigt wird. Verwenden Sie zur Lautstärkeregelung die alsamixerAnwendungstasten oder die Lautstärketasten am USB-Sound-Dongle.

Referenzen dazu:

  1. https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=124016&p=857433&hilit=usb+audio#p857433
  2. http://alsa.opensrc.org/Asoundrc#Default_PCM_device .
Digitalfix
quelle
2

Die hier beschriebene Methode beim Raspberry Pi StackExchange hat bei mir funktioniert. Ich leite Raspian Jessie.

Die neue Information war, dass ich eine neue .confDatei erstellen und nicht bearbeiten musste /usr/share/alsa/alsa.conf:

Um meine Karten neu zu ordnen, erstelle ich eine Datei mit dem Namen /etc/modprobe.d/alsa base.conf. Es kann beliebig benannt werden, solange es mit .conf endet. Ich habe dann folgendes hinzugefügt:

# This sets the index value of the cards but doesn't reorder.
options snd_usb_audio index=0   
options snd_bcm2835 index=1

# Does the reordering.
options snd slots=snd_usb_audio,snd_bcm2835
Lennart Hennigs
quelle
2

Ich war nicht zufrieden mit den vorherigen Antworten, die etwas mehrdeutige Anweisungen gaben, und dachte mir, ich würde eine klarere Lösung dokumentieren.

Ein guter Beitrag hier zeigt, wie Sie testen können, welches Gerät und welche Karte Sie verwenden möchten.

Finden Sie Ihre Hardware-Gerätenummer und Kartennummer aplay -lvor und nach dem Einstecken Ihres USB-Geräts.

Für mein System ist das USB-Gerät als aufgeführt card 1: CODEC [USB Audio CODEC], device 0 ...

Sie können bestätigen, dass das Gerät funktioniert

aplay -D hw:1,0 InsertYourWavFileHere.wav

Stellen Sie sicher, dass Sie eine gültige WAV-Audiodatei in Ihr aktuelles Verzeichnis kopieren und entsprechend umbenennen. Wenn dies funktioniert, können Sie diese Werte fest codieren, sodass sie für alle anderen von alsa bearbeiteten Audiodaten (in den meisten Fällen) standardmäßig wiedergegeben werden.

Um Ihre Standardwerte zu bearbeiten, müssen Sie als Konfigurationsdatei wie von anderen angegeben vorgehen:

sudo nano /usr/share/alsa/alsa.conf

Die spezifischen Zeilen, die Sie ändern möchten, sind ein paar Seiten tiefer. Sie können mit Strg + W suchen oder einfach nach unten scrollen.

Veränderung:

defaults.pcm.card 0 defaults.pcm.device 0

Zu:

defaults.pcm.card 1 defaults.pcm.device 0

Speichern Sie die Konfigurationsdatei, indem Sie Strg + x drücken. Dann werden Sie von nano aufgefordert, Ihre Änderungen zu bestätigen, und Sie drücken Y und die Eingabetaste.

topher217
quelle
Können Sie erklären, wovon Sie sprechen, wenn Sie sagen: "Kopieren Sie eine gültige WAV-Audiodatei in Ihr aktuelles Verzeichnis und benennen Sie sie entsprechend um"? Bezieht sich dies auf den aplayBefehl „Bestätigen, dass das Gerät funktioniert“? Ist es nicht gut genug, eine gültige WAV-Audiodatei mit dem aktuellen Namen und dem vollständigen Pfad anzugeben?
G-Man sagt, dass Monica
@ G-man Ja, die Angabe einer WAV-Audiodatei anhand ihres vollständigen oder gültigen Pfads sollte in Ordnung sein. In meinem speziellen Beispiel hatte ich verwendet, InsertYourWavFileHere.wavaber dies könnte genauso einfach ersetzt werden, ./audio/test.wavwenn Sie zum Beispiel eine WAV-Datei im Audio-Unterverzeichnis test.wav hätten. Wenn das der Fall wäre, dann aplay -D hw:1,0 ./audio/test.wav müsste es genauso gut funktionieren.
Topher217
0

Nach der Änderung alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) und ( load card-specific configuration files (on request)) müssen Sie Ihre asoundrc-Datei ändern und Folgendes eingeben:

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

Es wird in Ordnung sein

bouziat jacques
quelle
0

Ich habe hier eine vollständige Beschreibung gegeben , die all das oben Genannte und vieles mehr abdeckt. Einschließlich der Beseitigung einiger Missverständnisse und Fallstricke in den ALSA-Konfigurationsdateien.

Das relevante Wesentliche ist, das aufgerufene Broadcom-Audiomodul zu deaktivieren snd_bcm2835und sicherzustellen, dass snd_usb_audioes zuerst und nur geladen wird. Dies kann auf zwei Arten erfolgen.

  • In der /boot/config.txtDatei
  • In der Modul-Blacklist-Datei.

Stellen Sie dann Ihre ALSA-Konfiguration so ein, dass sie auf den snd_usb_audioIndex zeigt.

not2qubit
quelle
-1

Ich habe die Vorschläge vieler Leute für Konfigurationsänderungen ausprobiert. Kodi fuhr fort, Audio auf HDMI auszugeben. Ich habe endlich herausgefunden, dass Kodi eine Einstellung in System | hat Audio, mit dem Sie auswählen können, auf welcher Audiokarte die Ausgabe erfolgen soll! So offensichtlich, wenn man es sieht.

Pete .T.
quelle