O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas.
Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
DAW - Digital Audio Workstation no Linux
Publicado em 13 de agosto de 2003
O André Magoo (André Alves Pereira) ensina no tutorial abaixo como configurar sua estação de trabalho Linux para uso como estação de trabalho com áudio digital (em inglês Digital Audio Workstation - DAW). Parece trabalhoso, mas aparentemente os músicos profissionais estão dispostos a grandes esforços para obter condições perfeitas de seu equipamento de áudio ;-) DAW - Digital Audio Workstation no LinuxAndré Magoo (André Alves Pereira)
Abaixo segue uma lista dos softwares que serão utilizados no processo: a) Kernel 2.4.21 com os patche de baixa latência de Andrew Morton; Por enquanto é só... mais tarde talvez coloque mais algo ;-) a) Kernel (http://www.kernel.org) Vamos começar pelo kernel. Baixe-o (http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.bz2) e também o patch de baixa latência (http://www.zip.com.au/~akpm/linux/2.4.21-low-latency.patch.gz). Copie os dois arquivos para /usr/src e siga os passo abaixo: $ cd /usr/src Agora vamos fazer alguns acertos na configuração do kernel antes de compilá-lo. Vá em Processor type and features, marque Low latency scheduling e Control low latency with sysctl. Acerte também a opção Processor family para o seu tipo de processador (Athlon/Duron/K7 no meu caso...). Pressione escape até voltar a tela principal e vá agora na opção Sound. Desmarque todas as opções com excessão de Sound card support. Isso é necessário porque não usaremos mais o OSS como API de som e sim o ALSA que deverá ser compilado e instalado mais tarde. Pressione a tecla escape até que ele pergunte se que salvar a configuração do kernel, responda yes. Edite o arquivo Makefile e altere a seguinte linha: EXTRAVERSION = Para: EXTRAVERSION = -ll Edite o arquivo /usr/src/linux/include/linux/capabilities.h e altere a linha: #define CAP_INIT_EFF_SET to_cap_t(~0&~CAP_TO_MASK(CAP_SETPCAP)) para: #define CAP_INIT_EFF_SET to_cap_t( ~0 ) E também a linha: #define CAP_INIT_INH_SET to_cap_t(0) para: #define CAP_INIT_INH_SET to_cap_t( ~0 ) Estas alterações são necessárias para que se possa ter acesso as funções de tempo-real do kernel como usuário comum. Mais informações em http://www.tml.hut.fi/~tilmonen/givertcap/ Grave as alterações e saia. Novamente no prompt execute os seguintes comandos: $ make dep Isso deve criar o núcleo básico do kernel. Vamos copiá-lo para o local correto: $ cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.21-ll Vamos agora compilar os módulos: $ make modules Módulos criados. Instalando: $ make módules_install Agora vamos criar uma entrada no lilo para este novo kernel. Edite o arquivo /etc/lilo.conf e adicione as seguintes linhas no final: image = /boot/vmlinuz-2.4.21-ll Onde hdxx é a partição onde sua partição root está. Agora o básico: $ lilo Pronto seu novo kernel já esta pronto. Reincie a máquina e escolha a nova entrada que foi adicionada ao lilo para carregá-lo. Uma observação... se você tinha adicionado módulos extras ao seu kernel terá que faze-lo denovo, por exemplo, drivers de vídeo da Nvidia terão que ser reinstalados. No entanto deve ser algo simples, basta seguir os mesmos passos que você havia seguido anteriormente para instalá-los. b) ALSA (http://www.alsa-project.org) Kernel resolvido vamos agora para o ALSA. Baixe os pacotes mais atualizados em http://www.alsa-project.org que no momento que escrevi este domumento são: ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.6.tar.bz2 Na verdade os dois últimos provavelmente não serão necessários. Mas se tiver disponibilidade de banda, baixe-os e deixe por aí, um dia pode precisar dele :-) Continuando. Descompacte o primeiro pacote e entre no diretório criado: $ tar jxvf alsa-driver-0.9.6.tar.bz2 Compilando: ./configure -with-oss=yes -with-sequencer=yes -enable-optimize Compilado e instalado. Em caso de dúvidas quanto as opções usadas no ./configure use ./configure -help para uma explanação sobre elas. Para configurar, siga com os comandos: $ cd utils Este é um script de configuração do ALSA . Sempre funcionou perfeitamente, mas em caso de problemas entre em contato comigo. Vamos agora para o segundo pacote: $ cd ../.. Tudo pronto. Proximo pacote: $ cd .. Feito. Para evitar complicações, reinicie o computador para fazer uma carga limpa do sistema com os novos módulos. Após a carga vá no prompt e digite: $ alsamixer Deve aparecer um mixer para você acertar o volume de sua placa de som, que por padrão vem muda. Feitos os ajustes saia do programa com ctrl+c e grave as alterações feitas com: $ alsactl store Algumas observações. Algumas placas profissionais de áudio (tais como Echo LAYLA, Gina, Mia, Midiman 1010, 1010LT, entre outras) podem precisar de procedimentos especiais para instalação e configuração de seus módulos. Em caso de dúvida dê uma olhada em (http://www.alsa-project.org/alsa-doc/) onde tem uma tabela das placas suportadas e links para instruções de como é feita a instalação das mesmas. Atenção! Para placas comuns isto não é necessário (tais como SBLive, Audigy, VIA86xxx, etc). Feita a configuração do ALSA. c) JACK (http://jackit.sourceforge.net) Na verdade todas aquelas modifições feitas no kernel foram para que este cara funcione direito. O JACK é um servidor de baixa-latência e banda larga que permite a comunicação entre aplicações de áudio que é o coração de nossa DAW. Só para comparação ele seria comparado ao ReWire da Steinberg (Windows/Mac) com a vantagem que permite a comunicação entre processos totalmente independentes, não possui limitação de números de canais (o ReWire só vai até 64...) e, melhor de tudo, é livre ;-) Antes de instalar o JACK precisamos de uma biblioteca, a libcap. Baixe-a: http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 E o de sempre: $ tar jxvf libcap-1.10.tar.bz2 Edite o arquivo /etc/fstab e adcione as seguintes linhas: shmfs /dev/shm shm defaults 0 0 Não esqueça de cria o diretório /mnt/ramfs... Depois: mount -a Bem vamos lá. Voce pode baixar a ultima versão (http://prdownloads.sourceforge.net/jackit/jack-audio-connection-kit-0.75.0.tar.gz) e usá-la, porém recomendo o uso da versão CVS (devido ao fato das aplicações linux estarem em estágio desenvolvimento muito ativo podem haver melhoramentos significativos de um dia para o outro. Podem também ocorrer grandes acidentes de um dia para o outro, portanto deixem aquela querida senhora for a disso por favor :-)) logo vou começar usando a versão CVS como referência, mesmo porque a partir de determinado ponto o procedimento é o mesmo para as duas versões. Baixe o programa: $ cvs -d :pserver:anonymous@cvs.jackit.sourceforge.net:/cvsroot/jackit login Agora vamos compilá-lo: $ cd jack/ Bom, a partir daqui o procedimento é o mesmo para as duas versões: $ ./configure -prefix=/usr -enable-capabilities -enable-optimize --with-default-tmpdir=/mnt/ramfs Pronto para o uso. Inicie o serviço com: jackstart -a -R -d alsa -d hw:0 -p 512 -r 48000 Feito. Para maiores informações leia: http://jackit.sourceforge.net/docs/faq.php d) LADSPA (http://www.ladspa.org) Esta é a API usada para desenvolvimento de plugins para aplicações de áudio. Seria um equivalente do VST da Steinberg ou DirectX do Windows. Sua vantagem está na sua implementação é muito simples pois sua SDK compões-se de apenas um arquivo header (ladspa.h) dez plugins de exemplo e três programas utilitários. Para uma melhor apresentação, leia: http://linux.oreillynet.com/pub/a/linux/2001/02/02/ladspa.html Baixe o SDK em http://www.ladspa.org/download/ladspa_sdk_1.12.tgz e execute os comandos abaixo: $ tar zxvf ladspa_sdk_1.12.tgz Edite o arquivos /etc/profile e acrescente a seguinte linha: export LADSPA_PATH=/usr/local/lib/ladspa/ Pronto. Esta é só a API. Para usá-la são necessários plugins e programas hosts (que aceitem os ditos plugins). Mais a frente darei exemplos destes programas. Quanto aos plugins abaixo segue uma lista de excelentes opções (outras nem tanto :-)): Hum... Sempre instalo-o... deve ter algo de bom :-) Speak simulator. Muito bom! Preamp para guitarra baseado no Fender 5F4. Se usado com o Speak Simulator o resultado é incrível! Excelente coleção de plugins: Tem um chorus legalzinho... Desculpe puxar a sardinha pro meu lado. É que sou guitarrista então estou mais apto a opinar a este respeito, porém neste conjunto existem plugins excelentes para qualquer uso... Constantemente estão aparecendo coisas novas na net. Pesquise frequentemente e você terá felizes surpresas! e) Qjackconnect (http://www.suse.de/~mana/jack.html) Este programa é um patchbay (painel de conexões) de áudio para o JACK. Baixe o programa e execute os comandos abaixo: $ tar jxvf qjackconnect-0.0.3b.tar.bz2 f) Kaconnect (http://www.suse.de/~mana/kalsatools.html) Este é um patchbay MIDI para ALSA. Na verdade é uma GUI para o aconnect. Baixe-o: ftp://ftp.suse.com/pub/people/mana/kalsatools-current/kaconnect-1.1.1.tar.bz2 Vamos nós outra vez... $ tar jxvf kaconnect-1.1.1.tar.bz2 Feito isso seu Linux está agora pronto para funcionar como estação de trabalho para áudio digital. Seguidos estes procedimentos você conseguirá latências muito baixas (no meu Athlon XP1800+ com 384Mb de RAM os xruns ocorrem com tempos máximos de 0,6ms!). Agora só faltam os programas propriamente dito, então abaixo vai uma lista com algumas sugestões que eu costumo usar. Se houver interesse da comunidade posso escrever outro documento para mostrar com instalá-los :^) - Jack-rack (http://pkl.net/~node/jack-rack.html) Rack de efeitos que utiliza JACK e LADSPA, é o que eu uso atualmente com minha guitarra. O resultado é realmente impressionante, acreditem! - Ardour (http://ardour.sourceforge.net/) Software de áudio multipistas. Impressionante! Dê uma lida na página de características dele (http://ardour.sourceforge.net/features.html). Detalhe, não são características pretendidas, é o que ele já faz! - ZynAddSubFX (http://zynaddsubfx.sourceforge.net/) Software de síntese de áudio. A qualidade é muito boa e também é bonito ;-) - Rosegarden-4 (http://www.all-day-breakfast.com/rosegarden/) Software Sequenciador de áudio e MIDI, editor de partituras. Acho que ainda falta algo, mais tá chegando lá... - Muse (http://muse.seh.de/) O mesmo que o anterior... - Sweep (http://www.metadecks.org/software/sweep/) Software para edição de áudio com suporte à LADSPA. Realmente bom. Segue algora alguns links de onde tirei as informações que coloquei neste documento: http://www.kernel.org Espero não ter esquecido ninguém... Bom, qualquer coisa estamos aí! André Magoo (André Alves Pereira) Comentários para "DAW - Digital Audio Workstation no Linux"
» Postado por: Rafael Goulart em agosto 14, 2003 08:30 AM, 200.217.64.:
» Postado por: André Magoo em agosto 14, 2003 11:41 AM, 200.141.126:
» Postado por: Jean Silva em agosto 14, 2003 05:36 PM, 200.153.241:
» Postado por: adell em agosto 14, 2003 06:39 PM, 200.203.227:
» Postado por: Luciano Giordana em agosto 14, 2003 07:23 PM, 200.246.46.:
» Postado por: Da Styler em agosto 20, 2003 04:31 PM, 200.253.253:
» Postado por: André Magoo em agosto 22, 2003 12:29 PM, 200.149.187:
» Postado por: Leiza Franco em novembro 20, 2003 04:34 PM, 200.171.58.:
» Postado por: Aline M. Marques em novembro 20, 2003 04:46 PM, 200.171.58.:
» Postado por: Bebeto_maya em janeiro 23, 2004 05:07 AM, 200.97.186.:
» Postado por: epichin em janeiro 30, 2004 12:59 PM, 200.216.117:
» Postado por: Dorival Junior em fevereiro 22, 2004 12:07 PM, 200.195.71.:
» Postado por: Tamiris em agosto 22, 2004 10:27 AM, 200.175.37.:
» Postado por: dani em outubro 8, 2004 12:13 PM, 62.81.151.1:
Antes de comentar...
- Preserve a qualidade desta discussão - Leia os Termos de Uso. - Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum. - Mantenha o foco nos argumentos e no assunto - Não faça ataques pessoais. - Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro - Não seja um e-mala ;-) ![]() Envie seu comentário
|