|
|
|
|
quinta-feira, 19 de fevereiro de 2009
|
|
Plug-ins, etc. |
voltar |
|
O conceito de plug-in de software - parte 1
|
por Rodrigo Meirelles e Alan Tygel
|
Plug-in é um conceito herdado do hardware, em que um circuito complementar (plug-in) poderia ser fisicamente encaixado num circuito principal. Em software, plug-in é todo programa projetado para estender as funcionalidades de outro, denominadado "host" (hospedeiro). O host provê serviços que o plug-in pode utilizar, incluindo o registro e troca de informações. Os plug-ins normalmente dependem desses serviços e não funcionam sozinhos, enquanto os hosts não dependem de plug-ins para funcionar. A exceção são os plug-ins com versão stand-alone, que funcionam tanto dentro do host quanto fora dele, com diferentes abordagens.
O uso de plug-ins começou ainda nos anos 1970, quando o editor de texto EDT, rodando no sistema operacional Unisys VS/9, usando o mainframe Univac 90/60, permitia que um programa fosse rodado de dentro do editor. Os primeiros softwares a utilizarem plug-ins em computadores pessoais foram o HyperCard (banco de dados) e o QuarkXPress (editoração gráfica), ambos lançados em 1987 sob a plataforma Macintosh.
Atualmente, os plug-ins são implementados como bibliotecas compartilhadas e precisam estar em uma pasta pré-determinada pelo host para serem carregados. São usados normalmente para implementar funções específicas em softwares que desempenham atividades gerais. Um exemplo são os softwares de edição de imagem: o host se encarrega de ferramentas como pincel e borracha, e os filtros para imagem (foco, baixo-relevo, negativo) são implementados pelos plug-ins. Outro tipo de uso é em jogos, onde os plug-ins podem trazer novos ambientes, personagens ou ferramentas.
Vantagens da arquitetura baseada em plug-ins
Pode-se dizer que o desenvolvimento de software com arquitetura baseada em plug-ins traz vantagens a todos. Os desenvolvedores do host podem se concentrar exclusivamente em questões referentes à interface com o usuário e com o sistema operacional, além de reduzir a complexidade e o número de funcionalidades do software, o que torna o gerenciamento mais eficiente. O desenvolvedor de plug-ins se preocupa unicamente com seu algoritmo, sem precisar se ocupar das interfaces de comunicação com o sistema. E, por fim, o usuário é poupado de um programa grande e complexo, com várias funcionalidades não utilizadas; pelo contrário, este só possui o essencial para o trabalho em vista.
Plug-ins para áudio: uma face da transição do analógico para o digital
A década de 1990 trouxe a revolução do áudio digital. Nos estúdios de gravação, os rolos de fita e as enormes mesas analógicas de 48 ou até 64 canais foram substituídas por poderosos computadores equipados com softwares de gravação. Um dos pioneiros neste mercado foi o Pro Tools. O software, assim como outros similares, possui basicamente dois modos de operação: o primeiro simula um mixer analógico, mostrando os canais verticalmente, com suas entradas, saídas e inserções (Figura 1); o segundo, que representa a grande mudança de paradigma, dispõe os canais horizontalmente, mostrando a forma de onda do áudio (Figura 2).
As opções de edição de áudio então se multiplicaram. Era possível observar a forma de onda e trabalhar diretamente no domínio do tempo, de forma não linear, tornando trivial uma tarefa outrora muito trabalhosa. As edições tornaram-se mais dinâmicas quando, por exemplo, uma nota errada poderia ser substituída por outra em apenas alguns cliques. No entanto, os estúdios ainda dependiam muito de efeitos analógicos para o processamento do áudio, como reverberador, compressor e equalizador. Foi então que os plug-ins para áudio começaram a entrar em cena. Como podemos ver em muitos softwares atuais, por vezes o próprio fabricante do hardware lança o seu equivalente virtual na forma de plug-in, com interface que simula o equipamento real como o exemplo da Figura 3. Nela, vemos o 1176LN, exemplo de processador de dinâmica da UAD fabricado em versão hardware e software (plug-in).
Entretanto, a grande revolução do processamento de áudio se deu quando esses plug-ins passaram a ser capazes de trabalhar em tempo real, ou seja, atuar no sinal da mesma forma que os equipamentos atuam, sem demandar um tempo de espera para ouvir o material processado. O primeiro marco nesse tipo de processamento foi o sistema Pro Tools TDM, que desbancou os ADATs na seqüência da revolução digital, como já vimos em outra oportunidade.
Um exemplo: imagine se queremos amenizar os graves de uma voz através de filtros. Sem o processamento em tempo real, temos que ouvir uma previsão do processamento desejado e, após a definição dos parâmetros desejados, esperar que o áudio original se transforme no áudio processado. No caso, esperar que a voz com excesso de graves se transforme em um arquivo sem essas freqüências, para depois ser executado. Dá para perceber somente com esse exemplo que os plug-ins só se tornaram relevantes no cotidiano do estúdio na medida em que passaram a atuar de forma online. Na próxima seção esse assunto será retomado.
Com a cada vez maior migração do processamento em hardware para o processamento controlado por software (plug-ins), tornou-se viável a criação de estúdios de menor porte e mais tarde os home studios, estúdios de pequeno porte que podem ser compostos de apenas um computador, com entrada e saída de áudio. Nesses estúdios digitais, muitas vezes caseiros, é possível atingir boa qualidade sonora com baixíssimo investimento, quando comparados a um estúdio de grande porte com todo o processamento feito com hardwares analógicos.
Esta qualidade é alcançada em grande parte devido à enorme quantidade de plug-ins existentes hoje no mercado. As aplicações vão desde as simulações de analógicos, como amplificadores valvulados, compressores e reverbs, até inovações e possibilidades do áudio digital que permitem afinar ou mudar o timbre de uma voz. Além de plug-ins de efeitos, são também muito utilizados os plug-ins sintetizadores, chamados de instrumentos virtuais. Estes recriam com perfeição a sonoridade de instrumentos antigos, como órgão Hammond, ou difíceis de encontrar para gravação, como uma orquestra sinfônica.
Um aspecto interessante dos plug-ins para áudio é que, ao contrário de outros tipos, eles em geral não são específicos para apenas um software. Isto deriva possivelmente do fato de que a tarefa de um plug-in de áudio é bem definida: receber amostras de áudio do host, processá-las e devolvê-las ao host. Com isso, foram criados alguns protocolos de comunicação entre plug-in e host. Cada plug-in então pode ser utilizado em todos os hosts compatíveis com o seu protocolo. Os protocolos mais usados no mercado são o VST, Audio-unit, RTAS, Audio-Suite, Direct-X e o Ladspa.
O protocolo VST apresenta algumas vantagens sobre seus concorrentes. De todos os listados, o VST é o único capaz de rodar tanto em MacOS quanto em Windows ou Linux. Além disso, é um protocolo aberto, ou seja, qualquer desenvolvedor pode baixar o Software Development Kit (SDK), disponível no site do fabricante [http://www.steinberg.net], e começar a desenvolver plug-ins. Estas duas características fazem com que exista uma maior quantidade de plug-ins gratuitos em VST, feitos por pequenas fábricas de software ou desenvolvedores amadores. Os plug-ins fabricados pelas grandes empresas normalmente têm versão RTAS, VST e AU. Com isso, abrangem as três maiores DAWs disponíveis no mercado: Pro Tools, Cubase e Logic, respectivamente.
Você pode baixar aqui o VST SDK, kit gratuito para os programadores (figura 4).
Acompanhe em breve o final a segunda parte deste artigo.
Rodrigo Meirelles é engenheiro eletrônico e de computação, formado pela UFRJ, produtor fonográfico e mestrando em Educação da PUC-Rio. Ocupa atualmente a posição de diretor da Ground Control Treinamentos (Digidesign Sponsored School) e é professor do curso de Produção Fonográfica, da Universidade Estácio de Sá. Participou de produções musicais de artistas como Paralamas do Sucesso, Djavan e Forfun; atuou como palestrante em congressos como AES-Brasil, GECOM/UFRJ e Semana da Eletrônica (DEL/UFRJ); ministrou treinamentos corporativos em empresas de televisão e produção musical e participa do Grupo de Pesquisa Educação e Mídia.
Alan Tygel é engenheiro eletrônico formado pela UFRJ. Atualmente cursa o mestrado em Engenharia Elétrica na COPPE/UFRJ, no Grupo de Processamento de Áudio. Tem interesse especial no desenvolvimento de plug-ins VST e publicou artigos sobre seus plug-ins de restauração, equalização e som tridimensional nos congressos da AES Brasil. Além disso, ministrou recentemente um minicurso sobre programação para áudio na UFBA.
|
|
|
SOBRE O AUTOR |
|
Rodrigo Meirelles é engenheiro eletrônico e de computação, produtor fonográfico e mestrando em Educaçaõ. É hoje diretor da Ground Control Treinamentos e professor de produção na Estácio de Sá.
Para entrar em contato, escreva para plugins@musitec.com.br.
|
|
|
|
|
|
|