Mixing barato em Linux – 1

Este será o primeiro do acompanhar de uma ideia que andava há vários meses para experimentar, usar placas de som baratas USB para misturar música.

usb_audio.pngComecei por adquirir um par de placas USB baratas. Em Linux funcionam na perfeição, são do mais simples possível, uma saída e uma entrada. Tive alguns problemas de latência se usar ambas num hub USB, mas este hub não tem alimentação, nem tenho a certeza que suporte a versão 2.0 do protocolo USB, mas poderá ser que o tráfego no barramento USB seja demasiado para duas placas em simultâneo. 🙂

Tenho para aqui uma mesa de mistura com a minha idade, mas que já tem crossfader, dado que a equalização será feita por software também é desprezável o facto de não haver equalização por canal na mesa.

Para já testei ambas as placas a funcionar com o xmms e corre tudo sem problemas, dado que as ligue a portas USB independentes sem passar pelo hub. A minha ideia era usar o mixxx, mas ainda não suporta várias placas de som… por isso vou para já fazer uns testes com o mais que testado xmms.:)

Para poder ter duas instâncias de xmms sem partilha de definições, configurei o xmms como queria (activei o suporte para múltiplas instâncias):

screenshot-preferences.png

Depois criei uma pasta onde vou guardar as definições de cada instância, chamei-lhe xmms. O xmms recorre apenas à variável $HOME para saber onde está o directório onde guardará as suas definições, daí podermos mudá-lo a nosso favor.

Criei o seguinte script bastante simples para gerir o arranque das duas instâncias e no meu caso chamei-lhe launch_xmms:

#! /bin/bash
# Player 1
export HOME=$PWD/player1
xmms&

# Player 2
export HOME=$PWD/player2
xmms&

Dei-lhe permissões de execução com

chmod +x launch_xmms

Depois criei dois directórios, player1 e player2, para onde copiei a configuração original do xmms:

cp -r $HOME/.xmms player1 && cp -r $HOME/.xmms player2

Agora posso correr o script de arranque e tenho duas instâncias do xmms com definições independentes entre si e do xmms normal:

./launch_xmms

Agora em cada instância defino a placa de saída, hw:1,0 e hw:2,0:

screenshot-alsa-driver-configuration.png

Agora falta apenas ligar as placas à mesa e testar. Com o suporte de filtros LADSPA do xmms posso usar os filtros disponíveis para esta framework no xmms, inclusive controlo de pitch, além de haver um plugin também para esse fim.

Nos próximos posts pretendo documentar melhor todo o processo com mais imagens e fotografias e talvez alguns samples do resultado.

Aspecto exemplificativo:

screenshot.png