Come fare in modo che Raspberry Pi utilizzi una scheda audio USB esterna come impostazione predefinita


17

Qualcuno sa come cambiare la priorità di avvio della scheda audio?

Tutti i tutorial mi stanno dicendo di modificare /etc/modprobe.d/alsa-base.conf, ma il file manca in Raspbian Jesse .


Upgrade per essere arrivato su Google - giugno 2018
SDsolar,

Risposte:


10

Il file che stai cercando si trova in /usr/share/alsa/alsa.conf. Non si chiama alsa-base.confgiustoalsa.conf

Tutto il testo rilevante si trova in quel file, basta sudo nano /usr/share/alsa/alsa.confcambiare la scheda audio predefinita in 1 o qualunque cosa tu preferisca, ovviamente 0 è predefinito, quindi non quello che ho anche cancellato il # dalla riga che dice ... load card-specific configuration files(su richiesta) e ora i ho il suono proveniente dalla mia scheda audio cirrus con debian 8 jessie su ras pi2


1
Ho fatto alcune correzioni rapide di formattazione. Forse una copia della parte rilevante del file di configurazione di alsa renderebbe la tua risposta ancora migliore.
Journeyman Geek

2
"Carica file di configurazione specifici della scheda (su richiesta)" non è un commento?
SILENZIO

È davvero solo un commento per spiegare il blocco di codice sottostante
PTS

Sì. Risposta parziale. Non ho abbastanza informazioni autorevoli qui per me per decidere il voto. ... e quella riga è un commento che non è eseguibile. E il blocco stesso non è commentato.
SDsolar,

13

Questo ha funzionato per me su Raspbian Jessie.

Se non hai bisogno del chip audio integrato (ad es. Uscita analogica o audio hdmi), disabilitalo e il dispositivo audio USB può diventare il dispositivo principale:

  1. Disabilita l'audio integrato.
    • Apri /etc/modprobe.d/raspi-blacklist.confe aggiungi blacklist snd_bcm2835.
  2. Consenti al dispositivo audio USB di essere il dispositivo predefinito.
    • Apri /lib/modprobe.d/aliases.confe commenta la rigaoptions snd-usb-audio index=-2
  3. Reboot
    • sudo reboot
  4. Provalo.
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav

Ho aggiornato la risposta per utilizzare una strategia diversa per disabilitare l'audio di bordo. In questo modo è meglio perché non interrompe l'applet audio desktop.
leif81,

Il primo passo è cruciale ma non l'avevo trovato altrove. Upvote. Il resto è obsoleto. Giugno 2018: sapevo già di entrare /usr/share/alsa/alsa.confe cambiarlo per dire entrambi default.ctl.card 1e default.pcm.card 1- dopo tutto ciò, riavviare e provare alsa -la vedere solo la visualizzazione USB e che è la scheda n. 1. Ho installato mplayerper il test ed è fantastico. Hanno bloccato questa domanda alle risposte, quindi eccola qui.
SDsolar,

@SDsolar Lieto di aiutarti. Anche se non credo che il passaggio 2 sia obsoleto? Hai un modo alternativo di impostare il dispositivo come predefinito. Buono a sapersi.
leif81,

Potrebbe essere un problema di versione. Ad esempio, i miei sistemi LTS 16.04 sono stati entrambi immediatamente aggiornati dal CD di installazione 14.04. Quindi ci sono tracce di entrambi i modi di fare le cose, in particolare le cose coinvolte nel processo di avvio che sono cambiate in v15. Nel mio caso, i file modprobe.d esistono ma sono tutti vuoti. Quindi alla fine è positivo che questa risposta mostri entrambi i modi se includi il mio commento. -> Hai sicuramente risolto il mio problema più grande alsamixerinserendo nella lista nera bcm2835. Ho cercato in alto e in basso e solo la tua risposta ha avuto l'ultimo pezzo del puzzle. TNX MCH
SDsolar

3

Ho avuto problemi con questo nelle ultime versioni di Raspbian (Jessie).

C'è un file chiamato aliases.confin /lib/modprobe.dcui contiene la linea options snd-usb-audio index=-2. Quella riga sovrascrive i /etc/modprobe.d/file, quindi è necessario modificarlo. Commenta con un # la lineaoptions snd-usb-audio index=-2

Nel /usr/share/alsa/alsa.conf ho commentato "carica file di configurazione specifici della scheda (su richiesta)" e ho anche sostituito il contenuto di .asoundrcun file nascosto nella cartella principale con:

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

L'aspetto negativo di questa soluzione è che l'applet audio desktop non verrà visualizzata. Quindi, per controllare il volume, utilizzare l' alsamixerapplicazione o i pulsanti del livello audio fisico sul dongle audio USB.

Riferimenti per questo:

  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 .

2

Il metodo descritto qui al StackExchange di Raspberry Pi ha funzionato per me. Sto gestendo Raspian Jessie.

La nuova informazione era che dovevo creare un nuovo .conffile e non modificarlo /usr/share/alsa/alsa.conf:

Per riordinare le mie carte, per prima cosa creo un file chiamato /etc/modprobe.d/alsa base.conf. Può essere nominato come vuoi fino a quando termina con .conf. Ho quindi aggiunto quanto segue:

# 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

2

Non ero soddisfatto delle risposte precedenti che davano istruzioni un po 'ambigue, quindi ho pensato che avrei documentato una soluzione più chiara.

Un buon post qui mostra come testare quale dispositivo e scheda stai cercando di usare.

Trova il numero del tuo dispositivo hardware e il numero della carta usando aplay -lprima e dopo aver inserito il tuo dispositivo USB.

Per il mio sistema, il dispositivo USB è elencato come card 1: CODEC [USB Audio CODEC], device 0 ...

Puoi confermare che il dispositivo funziona

aplay -D hw:1,0 InsertYourWavFileHere.wav

Assicurati di copiare un file audio wav valido nella directory corrente e rinominalo in modo appropriato. Se funziona, puoi codificare questi valori in modo tale che diventino predefiniti per l'aplay tra tutti gli altri audio gestiti da alsa (la maggior parte dei casi)

Per modificare i valori predefiniti è necessario anche un file di configurazione come altri hanno affermato:

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

Le righe specifiche che vorresti cambiare sono alcune pagine in basso. Puoi cercare con Cntl + W o semplicemente scorrere verso il basso.

Modificare:

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

Per:

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

Salvare il file di configurazione premendo control + x, quindi nano ti chiederà di confermare le modifiche e premi Y e Invio.


Puoi spiegare di cosa stai parlando quando dici "copia un file audio wav valido nella tua directory corrente e rinomina in modo appropriato"? Si riferisce al aplaycomando per "confermare che il dispositivo funziona"? Non è abbastanza buono specificare un file audio wav valido con il suo nome attuale e il percorso completo?
G-Man dice 'Reinstate Monica' il

@ G-man Sì, specificare qualsiasi file audio wav con il suo percorso completo o valido dovrebbe andare bene. Nel mio esempio particolare l'avevo usato InsertYourWavFileHere.wavma questo potrebbe essere facilmente sostituito con ./audio/test.wavse avessi un file wav nella sottodirectory audio chiamato test.wav per esempio. Se così fosse, allora aplay -D hw:1,0 ./audio/test.wav dovrebbe funzionare altrettanto bene.
topher217,

0

Dopo aver modificato alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) e ( load card-specific configuration files (on request)) devi modificare il tuo file asoundrc e inserire:

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

Sarà ok


0

Ho dato una recensione completa qui che copre tutto quanto sopra e molto altro. Compreso l'eliminazione di alcune idee sbagliate e insidie ​​nei file di configurazione ALSA.

L'essenziale rilevante è disabilitare il modulo audio Broadcom chiamato snd_bcm2835e assicurarsi che snd_usb_audiosia caricato il pugno e solo. Questo può essere fatto in due modi.

  • Nel /boot/config.txtfile
  • Nel file della lista nera del modulo.

Quindi imposta la tua configurazione ALSA in modo che punti snd_usb_audioall'indice.


-1

Ho provato molti suggerimenti delle persone per le modifiche di configurazione. Kodi ha continuato a distribuire l'audio su hdmi. Ho finalmente scoperto che Kodi ha un'impostazione in Sistema | Audio che ti consente di scegliere a quale scheda audio trasmettere! Così ovvio una volta che lo vedi.

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.