Como fazer o Raspberry Pi usar uma placa de som USB externa como padrão


Respostas:


10

O arquivo que você está procurando está localizado /usr/share/alsa/alsa.conf. Não é chamado alsa-base.confapenasalsa.conf

Todo o texto relevante está nesse arquivo, apenas execute, sudo nano /usr/share/alsa/alsa.confaltere a placa de som padrão para 1 ou o que você preferir, obviamente, 0 é o padrão, de modo que não exclua também o # da linha que diz ... load card-specific configuration files(a pedido) e agora i tenho o som vindo da minha placa de áudio cirrus executando o debian 8 jessie em ras pi2


11
Fiz algumas correções rápidas de formatação. Talvez uma cópia da parte relevante do arquivo de configuração do alsa torne sua resposta ainda melhor.
Journeyman Geek

2
"Carregar arquivos de configuração específicos do cartão (mediante solicitação)" não é um comentário?
SILENT

Na verdade, é apenas um comentário para explicar o bloco de código abaixo dela
PTS

Sim. Resposta parcial. Não há informações autorizadas suficientes aqui para eu decidir sobre a votação. ... e essa linha é um comentário que não é executável. E o bloco em si não é comentado.
precisa saber é o seguinte

13

Isso funcionou para mim na Jessie Raspbian.

Se você não precisar do chip de áudio integrado (por exemplo, saída analógica ou áudio hdmi), desative-o e o dispositivo de áudio USB poderá se tornar o dispositivo principal:

  1. Desative o áudio integrado.
    • Abra /etc/modprobe.d/raspi-blacklist.confe adicione blacklist snd_bcm2835.
  2. Permita que o dispositivo de áudio USB seja o dispositivo padrão.
    • Abra /lib/modprobe.d/aliases.confe comente a linhaoptions snd-usb-audio index=-2
  3. Reiniciar
    • sudo reboot
  4. Teste.
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav

Atualizei a resposta para usar uma estratégia diferente para desativar o áudio integrado. Dessa forma, é melhor porque não quebra o applet de áudio da área de trabalho.
leif81

O primeiro passo é crucial, mas eu não o encontrei em nenhum outro lugar. Voto a favor. O resto está desatualizado. Junho de 2018: Já sabia entrar /usr/share/alsa/alsa.confe alterá-lo para dizer os dois default.ctl.card 1e default.pcm.card 1- depois de tudo isso, reinicie e tente alsa -lver apenas o USB sendo exibido e que é o cartão número 1. Eu instalei mplayerpara o teste e é ótimo. Eles bloquearam esta pergunta para respostas, então aqui está.
precisa saber é o seguinte

@SDsolar Fico feliz em ajudar. Embora eu não ache que a Etapa 2 esteja desatualizada? Você tem uma maneira alternativa de definir o dispositivo como padrão. Bom saber.
leif81

Pode ser um problema de versão. Por exemplo, meus sistemas LTS 16.04 foram atualizados imediatamente a partir do CD de instalação 14.04. Portanto, existem vestígios de ambas as maneiras de fazer as coisas, principalmente as envolvidas no processo de inicialização que foram alteradas na v15. No meu caso, os arquivos modprobe.d existem, mas estão todos em branco. Então, no final, é bom que essa resposta mostre os dois lados, se você incluir meu comentário. -> Você definitivamente resolveu meu maior problema com a alsamixerlista negra de bcm2835. Eu pesquisei alto e baixo e apenas sua resposta teve essa última peça do quebra-cabeça. TNX MCH
SDsolar 06/06

3

Eu tive problemas com isso nas versões recentes do Raspbian (Jessie).

Há um arquivo chamado aliases.confno /lib/modprobe.dqual contém a linha options snd-usb-audio index=-2. Essa linha substitui os /etc/modprobe.d/arquivos, então você precisa alterá-lo. Comente com # a linhaoptions snd-usb-audio index=-2

Em /usr/share/alsa/alsa.confI un-comentou “carregar arquivos específicos do cartão de configuração (a pedido)” e eu também substituiu o conteúdo do .asoundrcque é um arquivo oculto em sua pasta pessoal com:

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

A desvantagem desta solução é que o applet de som da área de trabalho não aparecerá. Portanto, para controlar o volume, use os alsamixerbotões do aplicativo ou do nível de som físico no dongle de som USB.

Referências para isso:

  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

O método descrito aqui no Raspberry Pi StackExchange funcionou para mim. Estou executando Raspian Jessie.

A nova informação era que eu tinha que criar um novo .confarquivo e não editar /usr/share/alsa/alsa.conf:

Para reordenar meus cartões, primeiro criei um arquivo chamado /etc/modprobe.d/alsa base.conf. Ele pode ter o nome que você quiser, desde que termine com .conf. Adicionei o seguinte:

# 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

Eu não estava satisfeito com as respostas anteriores, dando instruções um pouco ambíguas, então achei que documentaria uma solução mais clara.

Uma boa publicação aqui mostra como testar qual dispositivo e cartão você está procurando usar.

Encontre o número do seu dispositivo de hardware e o número do cartão usando aplay -lantes e depois de conectar seu dispositivo USB.

Para o meu sistema, o dispositivo usb está listado como card 1: CODEC [USB Audio CODEC], device 0 ...

Você pode confirmar que o dispositivo está funcionando com

aplay -D hw:1,0 InsertYourWavFileHere.wav

Certifique-se de copiar um arquivo de áudio wav válido no diretório atual e renomeie adequadamente. Se isso funcionar, você poderá codificar esses valores de forma que eles se tornem padrões para aplay entre todos os outros áudio manipulados pelo alsa (na maioria dos casos)

Para editar seus valores padrão, você também deve usar o arquivo de configuração conforme indicado por outras pessoas:

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

As linhas específicas que você deseja alterar estão algumas páginas abaixo. Você pode pesquisar com Cntl + W ou apenas rolar para baixo.

Mudança:

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

Para:

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

Salve o arquivo de configuração pressionando control + x, o nano solicitará que você confirme suas edições e pressione Y e Enter.


Você pode explicar o que está falando quando diz: "copie um arquivo de áudio wav válido para o diretório atual e renomeie-o adequadamente"? Isso se refere ao aplaycomando "confirmar que o dispositivo está funcionando"? Não é bom o suficiente especificar um arquivo de áudio wav válido por seu nome atual e caminho completo?
G-Man diz 'Reinstate Monica'

@ G-man Sim, a especificação de qualquer arquivo de áudio wav por seu caminho completo ou válido deve estar correta. No meu exemplo em particular, eu tinha usado, InsertYourWavFileHere.wavmas isso poderia ser facilmente substituído com ./audio/test.wavum arquivo wav no subdiretório de áudio chamado test.wav, por exemplo. Se for esse o caso, aplay -D hw:1,0 ./audio/test.wav deve funcionar da mesma forma.
Top21217

0

Após alterar alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) e ( load card-specific configuration files (on request)), você deve modificar seu arquivo asoundrc e inserir :

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

Ficará tudo bem


0

Eu dei um artigo completo aqui que cobre todas as opções acima e muito mais. Incluindo esclarecer alguns conceitos errôneos e armadilhas nos arquivos de configuração do ALSA.

O essencial relevante é desativar o módulo de áudio Broadcom chamado snd_bcm2835e verifique se ele snd_usb_audioé carregado primeiro e somente. Isso pode ser feito de duas maneiras.

  • No /boot/config.txtarquivo
  • No arquivo da lista negra do módulo.

Em seguida, defina a configuração do ALSA para apontar para o snd_usb_audioíndice.


-1

Eu tentei muitas sugestões das pessoas para alterações de configuração. Kodi continuou a colocar áudio para HDMI. Finalmente descobri que o Kodi tem uma configuração no System | Áudio que permite que você escolha para qual placa de áudio enviar! Tão óbvio quando você vê.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.