Multicanais usando o jackd e o alsa - como fazer?

Iniciado por LinuxWay, 11 de Fevereiro de 2010, 17:14

tópico anterior - próximo tópico

LinuxWay

Olá, amigos do fórum Ubuntu Linux.

Tenho buscado na internet há semanas sobre como fazer para o jack reconhecer mais de uma placa de som, e utilizar a interface qjacktl. Estou no Ubuntu 9.04 e migrando para o 9.10 em breve. Possuo também o Kubuntu 9.10.

Meu problema é o seguinte: existe a possibilidade de fazer com que o jackd utilize mais de uma captura/saída de áudio existentes no pc, certo? Bem, já pesquisei a respeito e achei algumas informações:

http://www.vivaolinux.com.br/artigo/Som-multicanal-(surround)-no-Linux/?pagina=1
http://www.cse.ohio-state.edu/~bondhugu/alsamch.shtml
http://azulebanana.com/bluey/tag/jackd/
http://ccrma-mail.stanford.edu/pipermail/planetccrma/2006-July/012213.html

No meu caso, tenho umas dessas placas de som usb, com entrada para microfones e saída para headphones. Estão funcionando ok, já pude verificar. No entanto, gostaria de fazer algumas interligações no jack (pelo qjacktl ou Patchage) utilizando a captura default e também a captura da placa usb (posteriormente, constatando que o som ficou ok, gostaria de aumentar o número dessas placas usb). Motivo: gostaria de aplicar algumas configurações no microfone que fica na captura default do notebook. Pela placa usb, gostaria de colocar a o violão/guitarra e aplicar efeitos. E interligar os dois na saída playback default do notebook, através do qjacktl. Isso é possível?

Embora tenha chegado aos links acima, infelizmente não consegui compreender muito bem como fazer a configuração, acho que me confundi com os nomes dos dispositivos; criei o arquivo .asoundrc e editei semelhante às indicações dos links, mas acho que estou chamando o jackd com os argumentos errados, ou inseri entradas erradas no arquivo. Especialmente a diferença entre a configuração da saída de áudio e a da entrada para microfone de cada placa USB ficou meio obscura pra mim. Quero fazer uns testes e mais tarde possivelmente comprar uma placa de áudio melhor.

Essas configurações são relativas ao alsa. Será que usando o pulse não seria mais fácil? Se for o caso, como seria a configuração?

Desde já agradeço qualquer ajuda.

Abraços.

Becker

Vou acompanhar este post.

O jack control permite selecionar uma placa de som de cada vez.
Para poder conectar teria que aparecer nas opções de conexões as diferentes entradas das placas.
No pulse áudio pelo que percebi só existe a opção de selecionar a reprodução de vários dispositivos ao mesmo tempo.
Com relação aos inputs (microfones) parece não ter suporte para gravação simultânea.
Dei um olhada nos links postados, e sinceramente não sei dizer , o que pode ser feito.
Parece que a solução é alteração dos arquivos internos de configuração.
Mas persista, que deve existir uma solução.

Mas deverá surgir um problema de latência, não sei se um notebook vai ser capaz de aguentar, mas só testando para saber.
Tentei fazer algo parecido no Audacity e não consegui.

LinuxWay

Não tenho encontrado referências melhores com relação a isso.
Quanto a ser o notebook, acredito que não tenha muitos problemas de latência para poucas placas, salvo se for problema da placa, com alta latência.

Aqui, inicio o jack assim:

jackd -d alsa -p 1024 -r 96000

e consigo 10.7 ms de latência, e pouquíssimos xruns. Pra se ter uma idéia, liguei numa mesa de som um violão, teclado e 2 microfones, pra dar uma testada. A saída liguei na entrada de microfones do note. A saída do note, numa caixa de som daqui de casa. Eu e um amigo tocamos. Utilizei o jack-rack para equalizar e aplicar eco. Sinceramente: latência zero aos nossos ouvidos.

O que não entendo é que no qjacktl aparece a possibilidade de fazer as interligações, e no "system", aparece apenas a captura default. Será que é tão difícil fazer com que o alsa configure todos os adaptadores de áudio de uma vez, e o jack os reconheça? O Alsa poderia reconhecer todos e permitir a escolha de todos como reprodutores/capturas simultâneos, mas vir por default com apenas uma captura/reprodução padrão.

O problema no Audacity é o mesmo do jackd, ambos dependerão do alsa. Pelo menos no que li a respeito... pelas informações acima, você cria tipo um adaptador de áudio virtual no alsa, que possui todas as entradas e saídas simultâneas, e ao iniciar o jackd, você precisa iniciar o jackd com o parâmetro

-C multi_capture -P multi_playback

do último link.

Na espera de ajuda dos pessoal, aguardo.

Abraços.


Becker

Quais as placas de áudio usb você esta testando?

Acredito que a solução passa necessariamente por alterações nas configurações do Alsa.
O que você esta tendando é uma adaptação, o sistema alsa não foi desenvolvido para esta possibilidade.



LinuxWay

Na verdade, o alsa permite essa configuração sim, mas não existe uma GUI para isso. Tanto que pode ser conferido nos links que postei.

Provavelmente estou entrando com algo errado nas configurações do alsa, como citado nos links acima. Estou tentando entender a nomeclatura, mas acho que tenho viajado...

Pode-se ver mesmo pelo qjacktl que "parece" que ele permitiria mais conexões de entrada/saída, mas depende do alsa as ter reconhecido.

No caso, estou usando essas placas usb genéricas. Comprei no mercado livre. Já li relatos de pessas que conseguiram fazer a tal façanha com o alsa, mas só em posts meio antigos.

Abraços.