Não é possível definir o dispositivo de áudio de entrada e saída padrão no Raspberry jessie

12

Estou enfrentando um problema semelhante ao descrito nesta pergunta . No entanto, estou executando Jessie no Raspberry Pi e ele não possui um /etc/modprobe.d/alsa-base.confarquivo.

Alguém pode me dizer onde e como definir o dispositivo de áudio de entrada e saída padrão em Jessie.

Parth Doshi
fonte
Você pode apenas tentar criar esse arquivo; Não sei se ele foi removido por causa de algo relacionado à árvore de dispositivos e, em caso afirmativo, se isso fará alguma diferença. O que eles chamam realmente não importa (além de determinar a ordem em que são lidos), desde que terminem .conf. É o que neles conta.
goldilocks
ok vou criá-lo mas depois qual será o conteúdo do mesmo. Devo adicionar apenas uma linha "opções snd-usb-audio index = 0" ??
Parth Doshi
Eu acho que existem duas linhas sugeridas lá, aquela e options snd_bcm2835 index=1.
goldilocks
Oi eu tentei adicionar o mesmo, mas ainda o padrão é o snd_bcm2835 apenas. Eu também fiz uma reinicialização
Parth Doshi
Deixe isso lá e, se você não estiver usando a árvore de dispositivos para nada (por exemplo, I2C), tente adicionar device_tree=(sem nada depois) /boot/config.txtpara desativá-lo e, em seguida, reinicie novamente. Se isso não funcionar, você também pode remover essa linha config.txtpara não esquecer mais tarde.
goldilocks

Respostas:

9

Ok, primeiro exclua o arquivo /etc/modprobe.d/alsa-base.confRaspbian Jessie não usa esse arquivo de configuração como o Wheezy.

Para descobrir qual endereço seu dispositivo usa, primeiro é necessário digitar o comando, aplay -lmostrando todos os dispositivos de saída de áudio e seus endereços. Por exemplo, minha placa de som USB aparece como dispositivo 1 na saída, parecido com este.

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: 0/1
  Subdevice #0: subdevice #0

Agora, para definir o dispositivo no seu cartão padrão, você precisará editar o arquivo /usr/share/alsa/alsa.confcom o comando sudo nano /usr/share/alsa/alsa.confrolar para baixo até encontrar as linhas

defaults.ctl.card 0
defaults.pcm.card 0

e altere-os para (se o seu dispositivo também estiver listado como dispositivo 1, caso contrário, altere 1 para qualquer endereço em que esteja listado)

defaults.ctl.card 1
defaults.pcm.card 1

Explicação: As placas de som USB são registradas como placa 1 no Raspbian Jessie. No Wheezy, eles seriam registrados como cartão -2 por padrão e a edição /etc/modprobe.d/alsa-base.confmudaria isso.

Não sei se este próximo passo é necessário, mas sem ele meu cartão não funcionaria.

Crie e edite o arquivo ~/.asoundrcusando o comando sudo nano ~/.asoundrce altere-o para que ele leia apenas isso:

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

Agora, a saída de áudio padrão (alto-falantes) e a entrada de áudio (microfone) são o seu dispositivo USB.

Patrick Cook
fonte
@ParthDoshi Editei a pergunta, caso você não esteja usando uma placa de som USB.
Patrick Cook
Obrigado Patrick pela resposta rápida. Vou verificar isso e informá-lo. Estou usando um microfone USB como entrada e alto-falantes de áudio como saída. Meus alto-falantes estão conectados através de uma tomada de áudio de 3,5 mm.
Parth Doshi /
@ParthDoshi para que seus alto-falantes estejam usando a placa de som padrão no pi?
Patrick Cook
Sim, eles estão usando a placa de som padrão. Fiz um teste executando o comando speaker-test ... Sou capaz de reproduzir um arquivo mp3 de amostra no meu PI que ouço claramente pelos meus alto-falantes. O único problema é o microfone a partir de agora
Parth Doshi
Ok, então você não precisa alterar uma das linhas desses arquivos. Estou descobrindo qual linha agora.
Patrick Cook
4

A pergunta está se referindo a outro post que já tem uma resposta que simplesmente afirma que, com Jessie, não há necessidade de editar /usr/share/alsa/alsa.conf, basta criar ~/.asoundrce digitar

pcm.!default {
    type hw
    card 1
}

ctl.!default {
    type hw
    card 1
}

PS: Acabei de testar com uma instalação limpa em um raspberry 2 conectado aos alto-falantes Logitech Z-5, funciona perfeitamente

Edoardo
fonte
3

Se você possui um dispositivo diferente para entrada e saída (por exemplo, microfone mic e alto-falante de áudio de 3,5 mm), você pode escrevê-lo assim em seu ~ / .asoundrc:

pcm.!default {
  type asym
  playback.pcm
  {
    type hw
    card 0
    device 0
  }
  capture.pcm
  {
    type hw
    card 1
    device 0
  }
}
Ma x
fonte