Alsa & JACK - nomes de cartão e dispositivo (diferentes convenções de nomenclatura)

3

Estou um pouco confuso sobre os nomes dos dispositivos de áudio. Se eu usar o comando aplay -l , obtenho a lista de todos os dispositivos de áudio no meu sistema:

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 2: VT1708S Alt Analog [VT1708S Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: USB [Scarlett 2i4 USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Observe que o pedido é card 0 , card 1 , card 3 , em que card 2 não está listado. Isso me confunde.

Eu sei que cada entrada aqui é um único dispositivo (não um cartão), então se eu estiver correto (e por favor confirme ou me corrija se eu estiver errado) eu nomearia minha placa de som "Scarlet 2i4" como hd:3,0 ? Ou é hd:2,0 porque falta card 2 ?

Agora, quando eu abro um JACK e quero ajustar as configurações de áudio, tenho nomes diferentes dos acima. Os nomes são:

  • hw:USB,0
  • hw:USB
  • hw:0
  • plughw:0
  • /dev/audio
  • /dev/dsp

Onde um JACK obtém essa tabela de dispositivos? Que tipo de convenção de nomenclatura é essa e como posso descobrir qual dispositivo é qual (eu quero que o JACK use principalmente o meu "Scarlet 2i4")? Existe algum comando de terminal que me avise isso?

No momento, minhas configurações de ~/.jackrc são assim:

/usr/bin/jackd -nziga-scarlet-2i4 -t2000 -dalsa -dhw:0 -r48000 -p128 -n2
    
por 71GA 14.10.2013 / 19:44

1 resposta

2

Cada cartão tem um número (também chamado de "índice"). Normalmente, um driver pega o primeiro número livre, mas é possível forçar os drivers a usar outro número. Também é possível que os números permaneçam livres porque foram usados anteriormente por um dispositivo desconectado.

Cada cartão tem um nome (como "HDA NVidia") e um ID exclusivo (como "NVidia").

Cada dispositivo PCM possui um número / índice (que é fixo e determinado pelo driver), um nome e um ID (tipicamente, ID e nome são idênticos).

Em um nome de dispositivo como hw:0,0 , o primeiro parâmetro é o cartão (o número do cartão ou o ID do cartão) e o padrão é 0. O segundo parâmetro é o número do dispositivo (usando o ID não é possível), e o padrão é 0.

Em nomes de dispositivos ALSA, hw especifica um dispositivo de hardware, enquanto plughw adiciona plug-ins para converter automaticamente formatos e taxas de amostra se os recursos do hardware e do aplicativo não corresponderem. (Tipcialmente, Jack não precisa disso.)

Jack não possui uma lista de dispositivos. Essa janela é a ferramenta QJackCtl, que é comumente usada para iniciar o Jack.

Os dispositivos /dev/audio e /dev/dsp são dispositivos OSS; essa interface é obsoleta no Linux, e mostrá-los nessa lista não faz sentido (esses dispositivos são na verdade o mesmo que hw:0 ).

A lista padrão no QJackCtl não mostra outros cartões além do primeiro; você tem que clicar no botão ao lado da lista.

    
por 16.10.2013 / 11:29

Tags