Jack multi-canal com poucos recursos

Eis uma forma simples e barata de ter N saídas (ou entradas) num servidor jack.

A ideia é usar algumas placas de som USB baratas e configurar o ALSA para juntá-las num interface único. Para isso usamos um ficheiro de configuração do ALSA parecido com este:

$ cat ~/.asoundrc
pcm.geral {
  type multi
  slaves.a.pcm hw:0
  slaves.a.channels 6
  slaves.b.pcm hw:1
  slaves.b.channels 2
  slaves.c.pcm hw:2
  slaves.c.channels 2
# 6 canais da placa 1
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave a
  bindings.2.channel 2
  bindings.3.slave a
  bindings.3.channel 3
  bindings.4.slave a
  bindings.4.channel 4
  bindings.5.slave a
  bindings.5.channel 5

# 2 canais da placa 2
  bindings.6.slave b
  bindings.6.channel 0
  bindings.7.slave b
  bindings.7.channel 1

# 2 canais da placa 3
  bindings.8.slave c
  bindings.8.channel 0
  bindings.9.slave c
  bindings.9.channel 1
}

ctl.geral {
  type hw
  card 0
}

Cheguei a esta configuração com base neste tutorial.

Estou a usar esta configuração num portátil, usando a placa interna (que tem 6 canais) e mais duas placas de som USB simples só com 1 entrada e 1 saída, e apenas aproveito as saídas. A mesma ideia podia servir para ter N entradas para gravação de várias fontes (para uma banda, por exemplo).
Não tomei atenção à latência do sistema, mas isto não pretende ser algo que compita com placas dedicadas de som de N entradas e saídas, mas que custam várias centenas ou alguns milhares de euros. Potencia porém quem se queira aventurar no assunto e começar a aprender, mas tenha poucos recursos para investir em equipamento e já tenha um computador relativamente recente.
Com os circuitos simples que estas placas têm é possível também sincronizá-las, soldando ligações do cristal de uma das placas para as outras. Um tutorial a abordar esta modificação pode ser encontrado aqui. Isto será mais importante na gravação de áudio para garantir que a sample rate é igual para todas as origens de áudio.

Depois a partir daqui com o jackd a correr poderão ser necessários alguns ajustes para tudo funcionar bem. Não experimentei com o kernel rt, mas uso permissões de rt para o áudio no limit.conf:

@audio - rtprio 99
@audio - nice -10
@audio - memlock 512000

Para arrancar o jackd uso o seguinte .jackdrc:

/usr/bin/jackd -R -m -dalsa -P -dgeral -r48000 -p1024 -n2 -m

De notar que uso a opção -P para só usar o playback, já que não configurei a captura das placas no ficheiro de configuração do ALSA.

Isto permite usar o mixxx com várias placas de som, basta usar uma versão com suporte para o jack e configurar o master para os canais 6-7 e o monitor para os canais 8-9, para neste exemplo usar as 2 placas externas. Podendo fazer a mistura directamente no mixxx ou usando uma mesa de mistura externa.

Terei que experimentar melhor para saber se este sistema é minimamente estável, mas para quem quer começar a aprender técnicas de DJ ou a criar alguma coisa com os sequenciadores e sintetizadores que suportem o jackd tendo a possibilidade de monitorizar algumas dessas aplicações, este sistema pode ser um ponto de partida.

Actualmente as aplicações que estou a usar com este sistema são o seq24 (sequenciador) a activar o hydrogen (drumbox com samples), o zynaddsubfx (sintetizador multi-canal, polifónico e com efeitos) e o nekobee (emulador da 303), o som destas 3 aplicações entra no jackeq (mesa de mistura virtual com equalizador e 4 canais), o monitor deste liga a uma placa externa e o master entra no jamin (equalizador e compressor). Do jamin sai para a placa principal que liga ao sistema de som, ou uso o timemachine para gravações. Tudo isto é ligado com a ajuda do patchage. Cheguei a usar o qjackctl mas o patchage suporta o lash e tem um interface mais simples.
Estas aplicações têm quase todas suporte para o gestor de sessão lash, o que simplifica a preparação do sistema quando queremos voltar a um estado usável, ou à última configuração. Além disso permite configurar várias sessões com diferentes aplicações. As aplicações sem suporte para o lash (jackeq, jack-dssi-host para correr o nekobee e o jamin) podem ser arrancadas com o lash_wrap para ficarem associadas à sessão. Algumas configurações podem não ficar guardadas, mas na globalidade funciona suficientemente bem.

Com várias aplicações e tantos controlos, sinto que o rato se torna um bocado ineficiente… mas com a ajuda de vários desktops virtuais e como a máquina é suficientemente rápida, o compiz também dá alguma ajuda com os plugins cube, expo e scale, por exemplo. Tenho que experimentar isto com o whiteboard para o wiimote quando tiver acesso a um projector… 😎 Não sei se seria funcional, mas não deixa de ser uma ideia engraçada. Os controladores nano da Korg também parecem ser uma alternativa de baixo custo para tornar o sistema mais fácil de gerir.

Adido aos graves?

skullcrushers.gifPara quem gosta de estilos de música em que os graves reinam, uns auscultadores com boa reprodução costumam ser difíceis de encontrar. Normalmente porque os drivers são compreensivelmente pequenos (o tempo da boombox no ombro não se avizinha novamente) e têm pouca ou quase nenhuma deslocação.
Têm havido alertas dos entendidos (e com razão, deve trabalhar-se em todos os sentidos) que se queixam de que a música actual está cada vez mais comprimida nas frequências baixas e tem pouca profundidade sonora, o que para quem gosta de sentir literalmente a música (no que os graves acentuados ajudam) é bom, mas talvez seja uma tendência da moda, e como sempre daqui a uns anos voltaremos quiçá a ter novamente orquestras sinfónicas a acompanhar as bandas do momento, com obras sonoramente complexas. Isto se ainda existir uma indústria musical nessa altura com os moldes actuais, pelo que o panorama poderá ser mais ecléctico e essa questão será secundária, cada um ouve o que quer e quem faz música tem mais liberdade no conteúdo e forma das músicas de produz.

Acho que também é importante não destruir os tímpanos. Ouvir música com auscultadores com volume suficiente para sentir os graves a trepidar as orelhas ou a cabeça, dará mais cedo ou mais tarde em perda de audição, pelo menos até haver órgãos auditivos de substituição, orgânicos (organ cloning is coming) ou electrónicos.

Os meus AKG herdados e com mais de 15 anos já padeciam de falta de parafusos, excesso de fita isoladora, falta de amortecimento nas orelhas e pensei em arranjar algo para os substituir. Pretendo migrar os drivers destes AKG (o modelo clássico de monitorização em estúdio) para outro sítio, porque a qualidade do som é boa, só o invólucro já não dá serve, será projecto para outra altura.

Arrisquei experimentar um modelo que não tem nada a ver com a qualidade dos AKG, nem de outros de marcas conceituadas nesta área, na gama de preços dos AKG que queria substituir. Arrisquei porque fiquei intrigado com a premissa que este modelo apresentava: sistema de vibração com um filtro passa baixo. O modelo em causa é o Skullcrusher da Skullcandy. Se calhar havia (e haverá de certeza) opções mais… sensatas pelo mesmo preço, mas o facto de a transmissão dos graves à volta dos 100Hz ser mecânica, sem produção de som, promete poupar os tímpanos à pressão sonora, recebida neste caso pelo osso do crânio. Tinha que experimentar. 🙂

skullcrushers_saco.jpgSe a qualidade é sequer próxima dos AKG? Nop. Como já sabia (de ter lido opiniões de outras pessoas), falham na reprodução de frequências médias-altas, ou seja, o som podia ser um pouco mais límpido, problema que se pode minimizar com alguma equalização (são para usar ao computador, com a implementação do pulseaudio, em breve teremos equalização em todas as aplicações, penso eu).
No que toca à experiência de audição de músicas com graves acentuados e bem definidos (que é para isso que eles foram desenhados), eles fazem o que é suposto fazerem. Quem gosta de sentir a vibração da batida e tira algum gozo de certas frequências geradas pelos amados sintetizadores (arrepios na espinha e coisas que tal), e não tem propriamente a possibilidade de ter um sistema de som “a sério” no escritório, ou não pode usá-lo enquanto trabalha ou estuda, estes auscultadores poderão ser talvez o mais próximo da experiência. Quem procure fidelidade do som, já deve saber o que quer (alguma coisa das marcas que produzem auscultadores para esse fim) e isto não é de certeza uma opção, senão talvez como uma alternativa de brincadeira, para apreciar a qualidade sonora do outro par, com o bonus de uma massagem às orelhas e zonas envolventes.

A qualidade dos plásticos podia ser melhor, acho que poderão ser resistente (ainda não os usei tempo suficiente, mas tenho a certeza que não duram 15 anos), mas têm um aspecto e toque de brinquedo, e almofadas de suporte (no topo da cabeça por exemplo) em falta. Dobram-se para guardar num saco quando não estão a ser usados. As copas cobrem a orelha (pelo menos a minha), e até ao momento sinto-os confortáveis (apesar de faltar algum acolchoamento), espero que o sejam durante períodos de tempo de algumas horas (a copa é fechada, por isso podem servir como atenuadores de ruído se não estivermos a ouvir música). 🙂

skullcrushers_remote.jpgO sistema de filtragem passa baixo activo usa uma pilha AA, pode ser desactivado e tem regulação da quantidade de vibração (que pode ser afinada com equalização na fonte). Infelizmente não tem aviso (um LED, por exemplo) de necessidade de carregar a pilha (a que vem não é recarregável, mas trocá-la por uma que seja é obrigatório :P), mas quando deixar de tremer logo se percebe. 🙂

Infelizmente estes auscultadores não têm fama suficiente para que alguém se dê ao trabalho de os desmontar para analisar como funcionam ao certo… quando eu tiver tempo, talvez… esta curiosidade… 😛
A marca que aponta a uma demografia jovem também parece dar pouca relevância às especificações técnicas dos produtos, o que é pena.

Para quem joga também poderá dar alguma graça acrescida à explosão daquela ‘nade que acabamos de receber aos pés, com os cumprimentos do jogador adversário. 😛