Introdução
Olá pessoal, neste artigo vou falar sobre o DBMix
(Digital Audio Mixing System), que trata-se de um sistema de mixagem de audio
que nos permite executar até cinco faixas de som através de um único dispositivo
de saída, que no caso é a sua placa de som.
Uma vez que você tenha mais
que uma música ou faixa com efeitos sonoros abertos ao mesmo tempo, você pode
manipulá-los de maneira independente, criando o efeito desejado no resultado
final e claro, gravar sua obra de arte para usar mais tarde em suas festas ou
bailes :)
Em primeiro lugar quero deixar claro que não entendo nada de
DJ e muito menos de manipulação de audio. Este artigo lhe dá apenas um empurrão
inicial, que no meu ver é a parte mais complicada quando se deseja migrar para
um novo sistema. O aprimoramento de seu trabalho será adquirido de acordo com a
sua capacidade e criatividade de aprender os recursos que o software lhe
propicia.
Como funciona o DBMix Você deve estar se perguntando como é possível
executar até cinco arquivos de audio simultaneamente em uma única placa de som,
até porque se você escolher o XMMS para reproduzir os arquivos, a segunda
instância do programa já irá nos indicar que o dispositivo de audio está
ocupado.
Bom, a resposta é simples. O DBMix utiliza um daemon que
funciona como camada entre os seus clientes de reprodução de audio (XMMS,
mpg123, sox, etc) e sua placa de som e seu nome é dbfsd (DB Fourier
Synthesis Daemon). Nós vamos configurar nossos clientes de reprodução de audio
para enviar seu output para o dbfsd e o mesmo se encarregará de unificar
os diversos canais em apenas um streaming de audio, que será então enviado para
a placa de som através do driver do seu sistema operacional Linux.
A
figura abaixo ilustra o esquema do dbfsd:
|
|
Além do dbfsd, outro elemento importante do pacote
DBMix é o dbmixer, que é a interface do usuário com o sistema de
mixagem em si, onde você poderá controlar todos os canais de entrada de uma só
vez.
|
|
Obtendo e instalando
Você encontra o DBMix a partir se seu site oficial:
e pode fazer o download do tarball em:
No momento da produção deste artigo, o DBMix se
encontrava em sua versão 0.9.8, logo o arquivo encontrado foi o
DBMix-0.9.8.tar.gz. Para instalar o programa siga os seguintes passos:
$ tar -zxvf DBMix-0.9.8.tar.gz $ cd DBMix-0.9.8 $
./configure $ make $ su # make install
Como sou usuário de
Debian, para instalar o software nessa distribuição só tive o trabalho de
digitar:
# apt-get install dbmix xmms-dbmix
O pacote
xmms-dbmix é um plugin que permite que o XMMS envie seu output para o
dbfsd ao invés de escrever direto na placa de som. A instalação a partir
do código-fonte já inclui este plugin em seus arquivos, logo você não precisa se
preocupar com esse detalhe se estiver usando este método.
Usuários de
outras distribuições podem pesquisar quanto a existência de pacotes prontos para
seu sistema, porém vale lembrar que a instalação a partir do código-fonte serve
para todo tipo de Linux.
|
|
Configurando o XMMS
O processo de instalação e uso básico do XMMS está fora do
escopo desse artigo, porém é tão simples que nem vejo a necessidade de
documentação sobre isso :)
Por padrão o XMMS só executa uma instância de
si próprio por vez. Por exemplo, abra um terminal e nele digite:
$
xmms &
Agora tente executar mais uma instância do programa
repetindo o comando e veja o que acontece... nada! Se já existe uma janela com o
xmms, a segunda é desnecessária na maioria das aplicações deste software.
Mas se vamos precisar de até cinco instâncias do programa para poder
executar os arquivos de audio simultâneos, vamos precisar resolver este
problema. Clique com o botão direito sobre o XMMS e escolha: Opções -<
Preferências. Na janela que se abre, entre na aba "Opções" e
marque: "Permitir múltiplas instâncias".
|
|
O próximo passo a se configurar no XMMS agora é o seu
driver de output, aquele que fará com que o programa envie a saída de audio para
o dbfsd, que será o responsável por juntar as partes num stream único.
Clique com o botão direito sobre o XMMS e escolha: Opções -<
Preferências. Na janela que se abre, entre na aba "Plugins de E/S de
audio", localize a combo com a lista de Plugins de Saída e escolha:
"DBMix Output Plugin v0.9.8 OSS".
|
|
Pronto! Nosso XMMS já está pronto para fazer parte de
nossa festa. :) |
|
Iniciando o dbfsd
Agora que já temos todo o ambiente pronto, vamos à festa. O
primeiro passo a ser executado é iniciar o daemons dbfsd. Para isso, abra
um terminal e digite:
$ dbfsd
Nota: o dbfsd pode
ser executado como usuário comum desde que este esteja adicionado ao grupo
"audio" de sua distribuição. Ou seja, ele precisa ter permissões de escrita
sobre o dispositivo de audio utilizado (/dev/audio).
Se quiser
executar o daemon em modo debug, acrescente a opção "-d" ao comando e se quiser
liberar o terminal para usar outros programas, adicione um "&" ao final do
comando. Para maiores informações, consulte o clássico "man":
$ man
dbfsd
ATENÇÃO: o plugin DBMix do XMMS só irá funcionar se este
daemon estiver executando no seu sistema operacional, logo se você abrir o XMMS
antes do dbfsd, na hora que apertar o "Play" irá ocorrer erro de saída.
|
|
DBMixer, o dono da festa
Uma vez que temos o dbfsd rodando no sistema, podemos
executar o mixer, que será a principal ferramenta do DJ. Digite:
$
dbmixer
Será aberto um mixer um pouco diferente, conforme figura
mostrada abaixo:
|
|
A tela do DBMixer meio que se descreve por si só.
Os primeiros 4 quadros tratam dos 4 canais de audio que podem ser utilizados. A
medida em que você vai abrindo janelas do XMMS (ou o player desejado), as mesmas
vão sendo associadas com o primeiro canal disponível.
Quando um canal
está reproduzindo um som, você pode aumentar ou diminuir a velocidade de
reprodução usando a barra de rolagem, que está ajustada por padrão em 100.0
(velocidade normal) ou pelos botões de velocidade ("<5" e "5>"), que
adicionam ou subtraem 5 pontos de velocidade do canal. Para restaurar os
padrões, clique no botão "-|-".
Na área inferior da tela, temos as
ferramentas de mistura de canal. Você seleciona o canal inicial e o final e
controla o balanceamento de mistura através dos botões "<" e ">". O botão
que existe entre os dois "^" serve para restaurar o balanceamento. Você também
pode regular a velocidade de auto-mistura usando o controle "autofade Spd.", no
canto inferior direito da tela.
Outro recurso interessante pode ser
acessado através do clique no botão "Mic Talkover", que fará com que o volume de
saída seja diminuído em 75% fazendo com que o microfone seja claramente
escutado. Isso lhe permite falar ou cantar durante a mixagem. Uau!
Cada
canal também possui um botão "Mute" e "Pause" pelos quais a qualquer momento
você pode calar ou parar a reprodução de audio.
A melhor forma de se
entender como tudo funciona é executando o programa mesmo.
|
|
Executando o XMMS
Você já deve estar ansioso para mixar suas músicas certo?
Então vamos lá! Entre no diretório onde se encontra suas MP3 e execute as
instâncias do XMMS da seguinte forma:
$ xmms track_01.mp3 & $
xmms track_02.mp3 & $ xmms track_03.mp3 &
Note que cada
instância do XMMS foi executada com um "&" para que o terminal fosse
liberado para executar a próxima instância e assim sucessivamente. Veja abaixo
um screenshot que ilustra as 3 instâncias do XMMS e como elas se auto-associaram
aos canais do DBMixer:
|
|
|
mpg123 ao invés de XMMS
No artigo inteiro vimos como fazer com que o XMMS enviasse seu
output para o daemon dbfsd através do plugin criado especialmente para
ele.
Junto com o pacote DBMix vem um programa chamado
dbcat, que tem por finalidade pegar a saída de qualquer programa de
reprodução de audio e jogar para o dbfsd. No caso do mpg123,
podemos executar um MP3 da seguinte forma:
$ mpg123 -s track_01.mp3 |
dbcat
A opção "-s" indica que o mpg123 enviará sua saída para
o STDOUT padrão do terminal. Essa saída será então capturada pelo dbcat,
que repassará a mesma para o dbfsd.
Essa lógica funciona não
somente para o mpg123, mas como para qualquer outro reprodutor de audio
que tenha suporte ao envio de saída para STDOUT.
|
|
Gravando o resultado de sua mixagem
Agora que você já está craque nos efeitos de mixagem, é óbvio
que deseja gravar sua música para a posteridade.
Na janela do
DBMixer existe um botão chamado "Options" no canto inferior do
lado direito. Clique nesse botão e escolha "Record Session". Será aberta
uma janela onde você escolherá o caminho/nome do arquivo que receberá a
gravação. Esse arquivo será gravado no formato WAV, que em seguida poderá ser
convertido para o formato de seu agrado (MP3, OGG, etc).
IMPORTANTE:
para finalizar a gravação do arquivo, você precisa clicar novamente no botão
"Options" e "Stop Record Session", caso contrário o dbfsd
continuará gravando esse arquivo até que o daemon seja parado.
|
|
Considerações finais
Como ressaltei no início do artigo, não entendo nada de
manipulação de audio. Se algo passou desapercebido ou se este software nos
oferece recursos muito mais poderosos dos que apresentei, está feito o convite
para que você escreva a continuação deste texto.
O Linux está a cada dia
mais rico em quantidade e qualidade de software para desktop. Como eu nunca
havia ouvido falar sobre programas para DJ"s no Linux, resolvi pesquisar e para
minha surpresa encontrei o DBMix. Mais um ponto para a comunidade!
Todo o artigo foi baseado em informações obtidas no site oficial do
DBMix e nos arquivos README do pacote tarball disponível também no site:
Se você conhece alguma outra documentação em Português que fale sobre
mixagem de audio sob Linux, por favor deixe-me conhecer esta URL. A idéia desse
artigo surgiu depois que o DESUS levantou a lebre sobre este assunto no
canal #vivaolinux.
Por fim, gostaria de agradecer ao
Sourceforge.Net, por incentivar a livre pesquisa e desenvolvimento de
projetos oferecendo toda a sua estrutura para os mesmo e a Robert Michael S
Dean, autor e mantenedor do projeto.
E deixo como lição de casa para
cada um que leu e gostou do artigo: converter pelo menos 1 DJ para o
Linux. Será que você consegue?
[]"s, Fábio
| |