terça-feira, 6 de março de 2012

Guitarra + Ubuntu Linux = Diversão Garantida

Em Dezembro ganhei o Rocksmith, o jogo de guitarra de verdade. Veio com uma Epiphone Les Paul Junior (Vintage Sunburst) e é bem divertido. Mas para praticar um pouco pelo método tradicional, acaba sendo inconveniente porque daí ninguém mais usa a TV em casa. De bobeira resolvi testar o cabo no PC e minha intuição estava certa, o cabo do jogo é um microfone USB (tem genérico na DealExtreme aqui e aqui, é só procurar USB guitar) e o Ubuntu reconheceu ele direto. Para usar o Ubuntu como amplificador, módulo de efeitos, gravador e metrônomo, precisamos dos seguintes pacotes padrão do Ubuntu, o meu Linux atual, mas também tem para todo e qualquer Linux (Mint, Debian, etc):
  • Jack Audio Connection Kit e pacotes associados, para o áudio em tempo real.
  • Rakarrak Guitar Effects para fazer os efeitos de áudio.
  • Free Music Instrument Tuner (opcional, o Rakarrack tem um afinador).
  • Gtklick (também opcional, é um metrônomo).
  • Audacity para gravar o som.
Vale lembrar que dá pra usartudo isso com a guitarra ligada no line in do computador, ou direto na entrada do microfone com um adaptador. Fica a gosto do freguês, o cabo USB é o que eu tinha mais a mão.

A configuração inicial do Linux como amplificador e módulo de efeitos é pouco intuitiva, mas oferece configurações bem flexíveis. Provavelmente deve ter coisa que faça parecido (talvez até mais fácil) no Windows. Sei que tem para iPod/iPad/iPhone, mas como não queria gastar nisso, a solução é excelente.

Quando você instalar o pacote do Jack, você deve escolher como ele vai funcionar. Escolha em tempo real (real time), que é o que a gente precisa: tocar a guitarra e escutar o som imediatamente, com o mínimo de atraso. Na primeira vez que você rodar ele vai encontrar dois erros, primeiro, o arquivo /etc/security/limits.conf não vai ter as permissões para áudio em tempo real, nem seu usuário vai fazer parte do grupo audio. Para o limits.conf, basta colocar as seguintes linhas:

@audio          -       rtprio          100
@audio          -       nice            -10

Já para resolver o usuário, basta dar o comando:

sudo usermod -a -G audio [nome do usuario]

Para acertar o usuário, basta reiniciar a sessão, já o limits.conf não sei, por via das dúvidas, reiniciei o sistema. Feito isto, o Jack vai rodar sem problemas, mas o som da Guitarra não vai sair direto. Tem dois passos a fazer, o primeiro é colocar a entrada do sistema (do Jack, não do controle de áudio do Gnome) no cabo USB. É só clicar no botão Setup da janela do Jack e escolher o cabo USB como Input Device.


Isso disponibiliza o cabo USB como a entrada do sistema do Jack. Se você usar a guitarra no microfone ou no line in, selecione aqui a entrada correta. Para escutar o som da guitarra no som do computador, no menu Connections do Jack devemos conectar um cliente de leitura (Readable Client), que fornece som, a um cliente de escrita (Writable Client), que consome ou reproduz o som. Clique no System em cada um deles e depois no botão Connect.


Meio complicado para escutar a guitarra, mas essa chatice na verdade é a maior flexibilidade do Jack, que é um servidor de áudio. Programas podem ser clientes de leitura, ou se comportar como clientes de escrita. Então, dá para fazer qualquer combinação possível de programas e dispositivos fĩsicos. A mais legal é usar um módulo de efeitos, o Rakarrak. No pacote do Ubuntu ele vem com 80 efeitos clássicos, como trash metal, Jimmy Hendrix, jazz, blues, etc. Quando rodar o programa, basta configurar as conexões do Jack para que a guitarra (System) seja cliente de leitura do Rakarrak, que por sua vez será cliente de leitura do som do cliente de escrita do computador (System):


 O Rakarrak é bem completo pra quem entende de como funciona um modulador de efeitos. eu me dou por satisfeito em escolher um efeito padrão nos presets dele e clicar no botão FX On, logo embaixo do File, que ativa o processamento de efeitos.


Claro, dá para gravar o som da guitarra com o efeito para ver como está indo a evolução usando o Audacity. Basta escolher o Jack como host de áudio (padrão é o Alsa) e o Rakarrak como dispositivo de gravação nas preferências do Audacity.


Para afinar a guitarra, dá pra usar tanto o Rakarrak (preferi ele para isso), ou o Free Music Instrument Tuner, que também serve para essa tarefa. No final é só usar o Gtklik como metrônomo e praticar. Praticar bastante! :)