1
INTRODUÇÃO ......................................................................................................................... 5
1.1
HISTÓRIA ............................................................................................................................ 5
1.2
ANALÓGICO E DIGITAL ....................................................................................................... 9
1.3
SÍNTESE SONORA E SAMPLING ........................................................................................... 11
1.3.1
Síntese Aditiva............................................................................................................. 12
1.3.2
Síntese Subtractiva ...................................................................................................... 13
1.3.3
Síntese FM (Frequency Modulation) .......................................................................... 13
1.3.4
Síntese PM (Physical Modeling) ................................................................................. 14
1.3.5
Síntese Whaveshaping................................................................................................. 14
1.3.6
Síntese granular .......................................................................................................... 15
1.3.7
Síntese Wavetable ....................................................................................................... 16
1.3.8
Sampling ..................................................................................................................... 16
1.4
1.4.1
Chorus......................................................................................................................... 18
1.4.2
Flanger........................................................................................................................ 19
1.4.3
Phaser ......................................................................................................................... 19
1.4.4
Equalizador gráfico .................................................................................................... 19
1.4.5
Equalizador paramétrico ............................................................................................ 19
1.4.6
Compressor e Limitador ............................................................................................. 20
1.4.7
Reverberação .............................................................................................................. 20
1.5
2
EFEITOS ............................................................................................................................ 18
TIPOS DE SOFTWARE .......................................................................................................... 21
MIDI ......................................................................................................................................... 24
2.1
INTRODUÇÃO .................................................................................................................... 24
2.2
GENERAL MIDI ................................................................................................................ 25
2.3
PLACAS E INTERFACES MIDI ............................................................................................ 26
2.4
MENSAGENS MIDI ........................................................................................................... 28
2.4.1
MIDI System Exclusive ............................................................................................... 29
2.5
CONTROLADORES MIDI ................................................................................................... 30
2.6
SEQUENCIADORES MIDI................................................................................................... 32
2.6.1
Princípios básicos da sequenciação ........................................................................... 33
2.6.2
Resolução temporal..................................................................................................... 33
2.6.3
Sequenciação por software vs hardware..................................................................... 34
2
2.6.4
Pistas e canais............................................................................................................. 35
2.6.5
Suporte multi-porta ..................................................................................................... 35
2.6.6
Gravação e introdução da informação ....................................................................... 36
2.6.7
Sistemas de visualização ............................................................................................. 39
2.6.8
Funções básicas de edição.......................................................................................... 44
2.7
3
2.7.1
Stream Buffers............................................................................................................. 46
2.7.2
Serviços MIDI ............................................................................................................. 47
2.7.3
Estruturas MIDI.......................................................................................................... 50
ÁUDIO DIGITAL ................................................................................................................... 54
3.1
PLACAS DE SOM ................................................................................................................ 54
3.2
LATÊNCIA ......................................................................................................................... 56
3.3
DRIVERS PARA PLACAS DE SOM ......................................................................................... 58
3.3.1
3.4
5
ASIO............................................................................................................................ 61
PLUGINS ............................................................................................................................ 63
3.4.1
VST.............................................................................................................................. 63
3.4.2
DirectX........................................................................................................................ 64
3.5
4
WINDOWS MIDI ............................................................................................................... 46
FORMATOS DE FICHEIROS ÁUDIO ...................................................................................... 66
3.5.1
RIFF Wave .................................................................................................................. 67
3.5.2
AIFF............................................................................................................................ 68
3.6
REWIRE E VST SYSTEM LINK ........................................................................................... 68
3.7
DOLBY DIGITAL ............................................................................................................... 69
PANORAMA DO MERCADO .............................................................................................. 71
4.1
REASON ............................................................................................................................ 71
4.2
MAX MSP ....................................................................................................................... 73
4.3
HALION ........................................................................................................................... 75
4.4
REAKTOR .......................................................................................................................... 76
4.5
CUBASE ............................................................................................................................ 77
OPEN SOURCE ...................................................................................................................... 79
5.1
SISTEMA DE SOM GNU/LINUX .......................................................................................... 81
5.2
CSOUND ........................................................................................................................... 82
6
CONSIDERAÇÕES FINAIS.................................................................................................. 84
7
REFERÊNCIAS ...................................................................................................................... 85
3
8
BIBLIOGRAFIA ..................................................................................................................... 87
9
GLOSSÁRIO ........................................................................................................................... 88
4
1 Introdução
No âmbito deste projecto defino como “Sistemas de Produção e Criação
Musical” a uma reunião de dois conjuntos com vista a atingir um determinado
fim. O primeiro conjunto é constituído pelas ferramentas de software que têm a
capacidade de comunicar com instrumentos reais passíveis de o serem. O
segundo conjunto é constituído por um conjunto de ferramentas que de alguma
forma se integram com as do primeiro conjunto. O fim a atingir é a criação e/ou
produção de música. Está claro que as capacidades destes sistemas estão para
além da definição dada e como exemplos posso mencionar a capacidade de
criar e produzir sonoridades susceptíveis de não serem consideradas música e a
crescente capacidade multimédia destes sistemas.
1.1 História
Todas as culturas humanas desenvolveram – paralelamente à língua – pelo
menos uma forma de arte visual e música. Pouco pode ser dito das verdadeiras
origens da música pois as suas raízes são envoltas na mais remota antiguidade
humana. Como Charles Darwin escreveu na Origem das espécies: “A música é,
talvez, mais uma característica definidora dos seres humanos do que uma fase
passageira na evolução da inteligência.”
Ao tentar definir por palavras o que a música realmente é, poder-se-ia
sugerir que a música estimula um sentido para o qual a nossa mente é o órgão
primário (se não o único): o nosso senso de tempo. Pelo facto de música ser
uma arte temporal, o seu estudo correcto inclui necessariamente um método de
capturar, representar e interpretar informação de sucessivos momentos no
5
tempo. Tal avanço tecnológico ocorreu acerca de um século atrás, com o
advento da criação de meios de gravação de som.
Muita coisa aconteceu desde a invenção do fonógrafo por Thomas Edison.
Na altura Edison utilizou uma fina folha de estanho, um cilindro giratório e um
estilete metálico para capturar ondas sonoras, preservar as suas vibrações e
reproduzi-las como som. Este foi o primeiro aparelho de gravação analógica e
alterou para sempre a maneira como ouvimos música. Actuações ao vivo ficam
assim preservadas e disponíveis para quando as queiram ouvir.
A gravação sonora não só transformou drasticamente o estudo da música,
mas também os métodos pelos quais a música é feita, de maneiras
fundamentais. Instrumentos musicais vêm expandindo o horizonte musical
praticamente desde a viragem do século vinte. Temos como exemplo o
Etherphone ou Thèremin inventado pelo russo Leon Thèremin em 1920.
Usando-se este instrumento era possível controlar a intensidade e a altura do
som gerado por osciladores quase sinusoidais através do movimento das mãos
próximo de duas antenas.
O primeiro programa de música para computador foi desenvolvido por Max
Mathews nos laboratórios Bell em 1957 e corria num IBM 704. Este software
teve o nome de MUSIC, com as diferentes versões assinaladas por números
romanos. O MUSIC II de 1958 demorava no computador mais rápido de então
cerca de uma hora para gerar um minuto de música.
A maioria dos compositores das décadas de 60 e 70 não trabalhava com
computadores. Na altura o acesso a computadores era limitado, a programação
era difícil e os resultados obtidos pelos sintetizadores analógicos eram mais
gratificantes para o compositor. Em 1968 Max Mathews desenhou um sistema
que permitia a um computador controlar um sintetizador analógico em tempo
6
real. O GROOVE permitia gravar as acções de um músico enquanto este tocava
e alterava controlos num sintetizador. Depois de efectuada a gravação, as
acções podiam ser editadas e reproduzidas de novo no sintetizador.
Por volta de 1970 a música por computador estava a ser estudada em
cerca de onze instituições. No final dessa década o número de universidades e
centros de pesquisa que exploravam a composição por computador e áreas
relacionadas ascendiam já a cerca de 100. Por essa altura todo o trabalho dos
centros de pesquisa era efectuado em mainframes e a criação de uma qualquer
peça musical requeria um elevado esforço. Os papéis científicos publicados no
“The Journal of the Audio Engineering Society” e no “Computer Music Journal”
eram na altura mais abundantes do que a música criada por computador. O
objectivo de então era desenvolver um sistema capaz de efectuar síntese em
tempo real.
Com o aparecimento do microprocessador e dos primeiros computadores
pessoais tornou-se cada vez mais simples a ligação destes com os
sintetizadores. A música por computador tornou-se então mais acessível a
muitos músicos que não estavam relacionados com instituições de pesquisa. Os
sintetizadores tornavam-se cada vez menos analógicos, sequenciadores e
teclados digitais eram cada vez mais populares e os osciladores digitais
ofereciam uma maior estabilidade do que os analógicos. Um microprocessador
da altura podia ser programado para produzir 16 vozes, com algumas limitações,
chegando algumas placas a serem comercializadas para o Apple II por
companhias como a Mountain Hardware.
Em 1981 o consórcio entre fabricantes de instrumentos musicais começou
aquilo que mais tarde, em 1983, originou o standard MIDI. Em 1983 um
consórcio entre fabricantes de sintetizadores, nascido em 1981, deu origem a ao
standard MIDI. Desde então que o normal utilizador possível conectar
7
praticamente qualquer computador a praticamente qualquer sintetizador.
Quando o Commodore 64 foi apresentado em 1982 incluía um chip com um
sintetizador de 4 vozes. Aparentemente a primeira intenção eram os jogos mas
rapidamente apareceu software para a composição musical.
Menos de um século passado desde a invenção do primeiro instrumento
electrónico, muitas invenções e inovações trouxeram-nos muito mais longe,
através da fita magnética, do som estéreo, da cassete áudio, do CD, do DVD e
equipamento sofisticado de gravação. Os resultados: melhor qualidade sonora
para os ouvintes, maior flexibilidade para o músico. Com o aumento da
prevalência das gravações digitais nos últimos anos, a criação e produção
musical deu um grande salto em frente. A gravação analógica é como uma
transcrição física da música, convertendo ondas sonoras em padrões
magnéticos e vice-versa. A gravação digital é mais similar ao funcionamento de
um computador.
A música gravada digitalmente é amostrada umas dezenas de milhares de
vezes num segundo. Essas samples (amostras) são transformadas numa série
de impulsos eléctricos e guardados em código binário. Este código é então
convertido de novo para sinais de áudio analógicos que podem ser reproduzidos
num qualquer sistema estéreo convencional e apreciados por um ouvido
humano. Este processo envolve bastante menos passos que uma gravação
tradicional, passos esses que adicionam uma distorção significante e ruído de
fundo, sendo o resultado um som mais limpo e de mais alta qualidade. Este
processo também alterou a música em estúdio. A produção tornou-se mais
rápida, simples e bastante menos dispendiosa.
Isto significa que deixaram de ser precisas placas de mistura muito caras,
gravadores de fita multi-pista, equipamento de redução de ruído e uma equipa
de técnicos para trabalhar com o equipamento. Em sua substituição temos agora
8
uns quantos PCs a um preço comparativamente reduzido. Músicos e
compositores criam agora estúdios de gravação digital em sua casa, a um preço
relativamente baixo. Com um microfone, um teclado e um PC os artistas podem
gravar a sua música, fazer experiências com ela e melhora-la. Eles podem fazer
os seus próprios CDs.
A Internet possibilita ainda um novo passo em frente. Os músicos podem
enviar a sua música para todo o mundo em ficheiros comprimidos, trocar loops
pela rede, emprestar sons ou partilhar ideias musicais. Na era digital, a inovação
técnica alimenta a inovação artística.
1.2 Analógico e digital
As ondas sonoras são oscilações do ar, que vão variando ao longo do
tempo de acordo com as características dos sons. A palavra “analógico” significa
que uma gama de valores é apresentada de uma forma contínua e não de uma
forma discreta. Isto implica que sejam feitas medições em todos os momentos e
infinita resolução – contudo limitações físicas inerentes, tais como o tamanho do
grão numa fita magnética ou o nível de ruído de um circuito electrónico,
impedem que qualquer sistema do mundo real seja verdadeiramente contínuo.
Tecnicamente o som analógico é superior, pois consegue traduzir com a máxima
perfeição todo o espectro sonoro e, principalmente, a sua complexidade (o som
musical é muito complexo).
O processo de digitalização consiste em fazer uma sequência de medidas
dos valores de voltagem. Cada um desses valores é representado por um
número inteiro. O sinal digitalizado passa a ser representado por esta sequência
de números. Em geral, quando realizamos uma digitalização, os dados ficam na
memória RAM, e temos condição de gerar um arquivo com os resultados.
9
Para converter um sinal de áudio analógico (ex: sinal de um microfone) em
códigos digitais, é usado um conversor analógico-digital (ADC). O conversor
amostra várias vezes o sinal durante um período de tempo, digamos, 44.100
vezes por segundo, o que dá uma taxa de amostragem de 44.1 kHz. A cada
amostragem, o conversor mede a amplitude do sinal e codifica-o sob a forma de
valor numérico. Essa forma de medir o sinal regularmente durante um período
de tempo é chamada de sampling, e a conversão da amplitude do sinal em valor
numérico é chamada de quantize (quantização). As duas acções juntas
compõem o processo de digitalização.
Para fazer oposto - conversão do código digital em sinal analógico - é
usado um conversor digital-analógico (DAC).
Em ambos os casos, a frequência na qual o dispositivo opera é chamada de
taxa de amostragem (sampling rate). A taxa de amostragem determina a
resposta efectiva de frequências, e deve ser mais do que o dobro da maior
frequência a ser reproduzida. Dessa forma, a taxa de amostragem de 44.1 kHz
do CD é ligeiramente mais alta do que o dobro da frequência mais alta de áudio,
que é 20 kHz.
A precisão obtida no processo da quantização é directamente dependente
da qualidade dos conversores ADC e DAC. A resolução ou tamanho do número
digital (expresso em bits) determina a relação sinal/ruído teórica a que o sistema
de áudio é capaz de operar. O número de bits pode ser comparado ao número
de casas decimais de uma calculadora - quanto maior, mais preciso será o
resultado.
A digitalização do som possui um efeito colateral indesejável que é a alta
sensibilidade à sobrecarga de sinal. Se um sinal analógico começa a
10
sobrecarregar (saturar), ocorre que a amplitude do sinal atinge o nível máximo e
os picos da onda começam a ser cortados (clipping). Quanto maior a proporção
do sinal que está a ser cortado, mais harmónicos - percebidos como distorção serão ouvidos. Esse processo é gradual, com o nível de distorção sendo uma
percentagem do sinal total, e crescendo proporcionalmente ao aumento do sinal
de entrada.
A distorção digital é um caso diferente. Por exemplo, numa situação onde
um código de 4 bits possui o valor positivo 0111 ao qual se adiciona menor valor
possível (0001), que é o menor acréscimo de amplitude que pode haver. A
adição dos dois códigos resulta no valor 1000, que indica o maior valor negativo
possível. Ou seja, o valor que era positivo torna-se instantaneamente negativo (e
máximo), resultando uma distorção extrema e bastante perceptível.
Nos processadores digitais de áudio, os dados serão modificados de
diversas maneiras, com vários cálculos e processos, para se obter o efeito
desejado. Isso dá origem a vários erros, uma vez que nesses cálculos os valores
sofrem inevitáveis aproximações, resultando em mais ruído. Para minimizar
esses erros de arredondamento, os cálculos devem ser efectuados com uma
resolução maior do que a que os dados foram digitalizados, isto é, o
processamento deve ser feito com uma resolução superior à dos conversores
ADC e DAC. Por isso, muitos equipamentos processam com resolução interna
de 24 bits, ou mesmo 32 bits, enquanto seus conversores possuem resolução de
16, 20 ou 24 bits.
1.3 Síntese sonora e Sampling
A síntese sonora é o processo de gerar sons. Tal pode ser conseguido,
através do processamento de sons já existentes ou através da sua geração
electrónica ou mecânica. Pode utilizar a matemática, física ou biologia,
11
combinando arte e ciência numa mistura de habilidade musical e domínio
técnico. Utilizada cuidadosamente pode produzir performances emocionais que
pintam paisagens sónicas com um conjunto de timbres vasto e rico, limitado
apenas pela imaginação do criador. Os sons podem ser simples ou complexos e
os métodos empregues na sua criação são diversos. A síntese sonora pode ser
analógica, digital ou híbrida.
Apresento em seguida uma breve descrição de alguns dos principais e mais
utilizados métodos de síntese.
1.3.1 Síntese Aditiva
A síntese aditiva é uma técnica poderosa para a geração de sons
complexos baseada nas descobertas de Joseph Fourier. Ele descobriu que
teoricamente qualquer som que ocorre na natureza pode ser gerado através da
soma dos sinais de saída de um número qualquer de osciladores utilizando
ondas sinusoidais, que são usados para modelar cada harmónico presente em
um certo espectro. Cada oscilador tem sua frequência e amplitude controladas
por funções de tempo independentes. As funções de tempo para o controle da
frequência e amplitude podem ser obtidas por análise de sons reais, e neste
caso, a síntese é basicamente uma recomposição do espectro analisado.
Podem ser utilizados osciladores analógicos ou digitais neste tipo de síntese,
embora que com os analógicos seja de muito difícil implementação devido ao
número de osciladores necessários para criar formas de onda ricas em
harmónicos.
12
1.3.2 Síntese Subtractiva
A síntese subtractiva é tradicionalmente utilizada em sintetizadores
analógicos e ainda hoje é uma das formas mais populares de síntese. Este tipo
de síntese está baseada na ideia de que um instrumento real pode ser divido em
três partes importantes: a fonte do som, um filtro que processa a saída da fonte,
e alguns controladores que servem de interface entre o executante e o
instrumento. Na síntese subtractiva são utilizados vários tipos diferentes de
filtros que mudam a característica de um som complexo moldando o seu
espectro. Os filtros podem ser de quatro tipos gerais, de acordo com a forma da
sua resposta de amplitude: low-pass (LP), high-pass (HP), band-pass (BP) e
band-reject (BR). Visto que a base deste tipo de síntese é um pouco limitada
foram empregues um grande número de outras técnicas para levar a síntese
subtractiva aos limites. Alguns exemplos disso são anéis de modulação e formas
de onda.
1.3.3 Síntese FM (Frequency Modulation)
A síntese de áudio por meio de modulação de frequência foi um método
desenvolvido por John Chowning na década de 60, aplicando conceitos já
desenvolvidos para a transmissão de sinais de rádio por FM. Ela possibilita a
criação de espectros complexos que evoluem no tempo, com o uso de apenas
dois osciladores sinusoidais, em um arranjo chamado de FM simples. Com isso
a economia em tempo de computação é muito grande em relação à síntese
aditiva. A um desses osciladores é dado o nome de portador enquanto que ao
outro o de modulador. O modulador é utilizado para “modular” a frequência do
portador sendo possível criar espectros muito ricos em harmónicos que não são
possíveis através de outros tipos de síntese.
13
1.3.4 Síntese PM (Physical Modeling)
A PM é um tipo de síntese em que propriedades complexas, físicas ou
acústicas, são analisadas através de leis da física. Estas propriedades físicas
são então representadas através de algoritmos matemáticos e processados em
tempo real por um CPU ou por um chip VLSI. Estes algoritmos podem ser
combinados para simular uma propriedade acústica e/ou um instrumento. Entre
as coisas normalmente modeladas encontram-se guitarras, violinos, osciladores
analógicos e até mesmo sons vocais. A PM é uma forma de síntese
extremamente poderosa e relativamente nova que apresenta algumas
vantagens na forma de reprodução de samples estáticos. Outra das vantagens
em relação a outras formas de síntese é que permite ao músico um grande
controlo em tempo real.
1.3.5 Síntese Whaveshaping
A Waveshaping é uma técnica de síntese por distorção. Trata-se do uso de
uma distorção de amplitude de um sinal como meio de produção de timbres
complexos. Aqui utiliza-se um oscilador sinusoidal cuja saída é conectada a um
processador não linear, ou waveshaper, que altera a forma da onda passando
por ele. Um waveshaper é caracterizado pela sua função de transferência, que
relaciona a amplitude do sinal de saída com o de entrada.
14
1.3.6 Síntese granular
O físico britânico Dennis Gabor provavelmente foi o primeiro a propor o
conceito de um "quantum sonoro", segundo o qual todos os fenómenos sonoros
seriam baseados na combinação de uma unidade indivisível de informação, sob
o ponto de vista psico-acústico. Estudos posteriores mostraram que, se vários
segmentos sonoros de pequena duração forem combinados sequencialmente, a
combinação deles será percebida como uma textura musical contínua, mas se a
duração dos segmentos exceder a um determinado limiar, da ordem de 100 ms,
então eles passarão a ser ouvidos como eventos individualizados.
A síntese granular baseia-se na combinação de uma enorme quantidade de
pequenos eventos sonoros – chamados de grãos – com duração inferior a 50
milissegundos. Esses eventos podem ser criados a partir de uma forma de onda
electrónica (sinusoidal, dente-de-serra, etc.), de um sinal gerado por síntese FM
ou de uma amostra digital (sample).
O que mais se destaca na técnica da síntese granular é a relação entre a
simplicidade do grão, que ouvido sozinho é apenas um click, mas quando
inúmeros pequenos segmentos são combinados sequencialmente, pode-se
obter texturas complexas e interessantes. Manipulando-se os parâmetros
básicos dos pequenos grãos, pode-se obter variações enormes na textura final.
Entretanto, quanto maior for a densidade dos grãos, maior a dificuldade de se
manipular o processo, por causa da grande quantidade de processamento
requerida. Isso inviabilizou o uso da síntese granular durante muitos anos, e as
experiências limitavam-se a edições de trechos de áudio em fita magnética. Só
mesmo no meio da década de 1980 é que se conseguiu uma implementação em
tempo real.
15
1.3.7 Síntese Wavetable
Este método de síntese utiliza pequenas gravações digitais de instrumentos
reais reunidas numa tabela de ondas sonoras (Wavetable) como base para o
processo de síntese. O conjunto de instrumentos gravados é denominado de
Wavetable Database ou conjunto de amostras dos instrumentos. A qualidade do
som produzido é determinado quer pela qualidade da base de dados, quer pela
qualidade dos algoritmos de processamento de sinal utilizados no processo de
síntese. Uma das maiores desvantagens deste método de síntese.
Apresenta, como vantagem sobre a síntese FM, uma reprodução bem mais
próxima do original. Em compensação, é preciso ter memória para essa tabela.
1.3.8 Sampling
O termo sampler significa amostrador, e neste caso refere-se a um
equipamento que regista amostras digitais de um som, para serem usadas
posteriormente. Em linhas gerais, o sampler digital é um equipamento capaz de
gravar (digitalmente) um som qualquer, editá-lo e armazená-lo na memória, para
ser executado posteriormente, sob o controle de um teclado ou um sequenciador
MIDI.
Para gravar um som no sampler, basta conectar à sua entrada de áudio um
microfone (ou uma outra fonte de sinal, como um reprodutor de CDs, por
exemplo) e iniciar o processo de digitalização, que é efectuado pelo conversor
analógico/digital do sampler. Nesse momento, o som já digitalizado é
armazenado então na memória interna do sampler, onde é devidamente
processado e configurado para ser uma forma-de-onda (“waveform”) utilizável na
edição de timbres, daí então um processo igual ao dos sintetizadores digitais
16
convencionais que utilizam síntese subtractiva, que dará o resultado final, ou
seja, um timbre que pode ser controlado por um teclado ou por um sequenciador
MIDI.
A principal diferença de um sampler para um sintetizador comum é que as
formas-de-onda não estão fixas na memória, e podem ser carregadas pelo
utilizador. Isso faz do sampler um equipamento dependente da qualidade das
amostras que nele serão colocadas (sampleadas pelo próprio usuário ou
carregadas a partir de bancos de sons criados por empresas especializadas).
Estando a amostra na memória, é necessário ajustá-la adequadamente
para que possa ser usada. Um dos aspectos mais importantes no processo de
sampling esta relacionado com a parte utilizável de uma amostra. Todo som
natural (voz humana, violino, etc.) possui uma característica chamada de
formant, que delineia as amplitudes dos harmónicos presentes no seu espectro
de frequências, conforme um padrão próprio. Esse formant está directamente
associado ao dispositivo físico onde o som é gerado (corpo do violino, estrutura
da laringe, etc.). Isso faz com que mesmo notas de alturas diferentes tenham um
contorno bastante similar nas amplitudes do espectro.
Por exemplo, quando se analisa o espectro de frequências produzido pela
nota Lá 3 de um violino o formant mostra algumas ênfases em determinadas
frequências. Ao analisar o espectro de frequências de uma nota Lá 4 do mesmo
violino constata-se que o seu formant mostra praticamente as mesmas ênfases
da nota Lá 3. O exemplo deixa claro que, nos sons naturais, as características
de amplitude do espectro são fixas, de acordo com um formant próprio, não
alterando com a altura do som. Ao tentar usar a nota Lá 3 para gerar a nota Lá
4, efectuando uma transposição por processamento digital (dobrando a
frequência por meio de um recurso simples de “pitch shifting”), será obtida uma
nota Lá 4 com um espectro de frequências obedecendo a um formant
17
completamente diferente do original daquele violino. Na prática, isso fará com
que o som dessa nota Lá 4 soe estranho, ainda que com características de
violino.
Por isso, para se samplear um som natural, é necessário fazer várias
amostragens, evitando-se ao máximo o aproveitamento da amostra de uma nota
para as demais. Esse processo é chamado de “multisampling”, e associa uma
amostra a um pequeno grupo de notas. Idealmente, cada nota deveria ter sua
própria amostra.
1.4 Efeitos
Existem diversos tipos de efeitos que podem ser adicionados ao sinal de
áudio, desde a simulação de ambientes acústicos, até alterações totalmente não
naturais. Apresento de seguida alguns dos efeitos mais utilizados no processo
da produção e criação sonora.
1.4.1 Chorus
Este efeito cria a ilusão de que duas ou mais fontes sonoras estão a soar
juntas - efeito de “coro”. Ele é obtido quando se adiciona ao som original uma
cópia sua atrasada e com afinação (ou atraso) variando periodicamente. O efeito
simula as variações de afinação e tempo que ocorrem naturalmente quando
duas ou mais pessoas tentam tocar ou cantar a mesma coisa, ao mesmo tempo
(daí o nome de efeito de “coro”).
18
1.4.2 Flanger
O efeito de “flanging” era muito usado nas gravações das décadas de 1960
e 1970, e é o resultado da mistura de um sinal com uma cópia sua atrasada e
com o atraso variando (processo similar ao do chorus). Muitas vezes é descrito
como “avião a jacto passando dentro do som”.
1.4.3 Phaser
Este efeito é semelhante ao flanger, mas ao invés de apenas atrasar o som,
algumas das suas frequências são deslocadas no tempo. Pode-se criar efeitos
bastante estranhos na imagem do estéreo quando se utiliza o Phaser em
material estéreo.
1.4.4 Equalizador gráfico
Permite ajustar individualmente o ganho (ou redução) em faixas (bandas)
separadas do espectro do sinal (normalmente 15 ou 31 bandas). O ajuste de
cada banda é feito por meio de um controle deslizante, de forma que as
posições desses controles permitem uma visualização imediata de como o
equipamento está actuando sobre o sinal.
1.4.5 Equalizador paramétrico
19
Permite ajustar uma frequência central de actuação e qual o ganho ou
atenuação a ser efectuado na faixa centralizada nessa frequência. Em sistemas
de som profissionais os canais de entrada em geral possuem um ou mais
equalizadores paramétricos.
1.4.6 Compressor e Limitador
O compressor e o limitador reduzem a dinâmica por meio de um controle
automático de ganho. Isso reduz a amplitude das passagens mais altas e dessa
forma restringe a dinâmica para uma faixa desejada. Embora os compressores e
limitadores executem funções similares, há um ponto essencial que os
diferencia: o limitador limita abruptamente o sinal acima de determinado nível,
enquanto que o compressor controla o sinal suavemente dentro de uma faixa
mais ampla. Ambos monitorizam continuamente o sinal e intervêm assim que o
nível excede um limiar parametrizavel. Qualquer sinal que exceda esse limiar
terá seu nível reduzido imediatamente.
1.4.7 Reverberação
A reverberação digital tenta oferecer uma simulação do fenómeno real da
reverberação (e em alguns casos, uma reverberação surrealista), utilizando para
isso algoritmos computacionais. A qualidade da simulação depende muito do
software (algoritmo), do desempenho do processador utilizado, e da qualidade
dos conversores A/D e D/A. Uma vez que a reverberação natural é composta de
milhares de ecos, deve ser usado um processador muito rápido para efectuar os
20
cálculos complexos necessários. Para fazer um reverb natural, é preciso um
software adequado, capaz de controlar os parâmetros mais importantes do
fenómeno da reverberação. Devem ser computados, por exemplo, a difracção e
as reflexões do sinal em diferentes tipos de material, os deslocamentos de fase
e as ressonâncias do ambiente.
1.5 Tipos de software
Tendo em conta o âmbito em que o projecto se enquadra existem vários
tipos de softwares diferentes. No entanto, devido à abundância de software
disponível e ao alto ritmo a que se sucedem os lançamentos de novo software,
dividir os softwares por tipos não é tarefa fácil. Isto também porque existem
novas ferramentas, que por si só, podem englobar funções de vários outros
softwares de tipos bem distintos. Não obstante, proponho a seguinte divisão,
tendo o que foi dito anteriormente:
•
Sequenciadores áudio e MIDI - software desenhado para
gravação, reprodução e edição de música utilizando MIDI e/ou
áudio, podendo incluir alguns instrumentos virtuais e/ou caixas de
efeitos. Podem, ou não, suportar plugins externos sob a forma de
efeitos ou instrumentos virtuais.
•
Sequenciadores de padrões - Software desenhado principalmente
para criação de batidas, ritmos e loops de bateria desde o princípio
utilizando o MIDI e/ou samples. A grande maioria deste tipo de
software utiliza algum tipo de grelha que permite definir as batidas.
Cada posição na grelha representa um estado ON/OFF de um som
de bateria ou de um outro instrumento numa altura específica de
tempo.
21
•
Notação musical - Este tipo de software é essencialmente um
processador de texto para música. Permite a criação, impressão e
leitura de partituras.
•
Editores de patches - São ferramentas que fornecem uma interface
para parametrizar, controlar e gravar sons de instrumentos; e
definir parâmetros para samplers e sintetizadores virtuais ou não.
Este tipo de ferramentas permite uma fácil organização, edição e
visualização de patches.
•
Instrumentos virtuais -
são essencialmente uma emulação em
software de um verdadeiro instrumento. A grande maioria dos
instrumentos virtuais emula sintetizadores e samplers existindo no
entanto implementações de outros instrumentos. Os sons são na
maioria das vezes disparados através de um teclado MIDI ou
através de outro controlador MIDI. Podem funcionar em modo
standalone ou como plugins.
•
Editores de loops - Os loops são a base de construção para muita
da música moderna. Os editores de loops são programas utilizados
para reorganização de samples e definição de pontos de loop
através do reconhecimento e manipulação dos seus conteúdos.
Normalmente permitem efectuar sobre loops operações que se
executam com ritmos programados com sons individuais de
bateria, tais como alterar o tempo ou substituir sons e processá-los
individualmente.
•
Editores de áudio - software que pode reproduzir, editar, afinar e
gravar ficheiros de áudio. Alguns conseguem também enviar e
receber samples de samplers exteriores. Normalmente a captura
de áudio é feita através deste tipo de software.
22
•
Workstation Áudio/MIDI - software desenhado para gravação,
reprodução e edição de música utilizando MIDI e/ou áudio. Ao
contrário dos sequenciadores de áudio e MIDI, não suportam
plugins externos, mas normalmente podem funcionar em modo
slave com alguns destes. Incluem instrumentos virtuais e caixas de
efeito.
23
2 MIDI
2.1 Introdução
O MIDI (Musical Instrument Digital Interface) é um protocolo que fornece
uma interface de comunicação entre instrumentos musicais electrónicos e
computadores, definindo quer a organização da informação transmitida quer os
circuitos utilizados para conectar os dois sistemas.
Desde que foi criado por um consórcio entre fabricantes de instrumentos
musicais electrónicos japoneses e americanos, tem representado um papel de
relevo na música electrónica pois tornou-se num padrão mundialmente aceite. O
padrão MIDI ainda está na versão 1.0, isto é, desde 1983 até aqui, qualquer
dispositivo pode ser ligado a qualquer outro e os dois funcionarão, no que
depender do padrão. Dadas as enormes dificuldades em se conseguir reunir
todas as empresas hoje envolvidas em projectos MIDI (desde Microsoft até
Hollywood, passando por dezenas de fabricantes de teclados, reverbs, mesas
de som, etc.) para mais uma vez discutir um novo padrão, é muito difícil que haja
uma versão 2.0 ou semelhante nos próximos anos.
No entanto, o padrão, apesar de manter as suas características básicas,
vem tendo várias adições ao longo dos anos, fazendo-o cada vez mais
abrangente e capaz de lidar com as mais diversas características de
instrumentos que venham a implementar MIDI.
A interface especifica uma linguagem de dados em série, compostos por
mensagens MIDI por vezes denominadas de eventos. O MIDI funciona em série
24
e tem o seu sinal transmitido à taxa fixa de 31.25 Kbaud ou 31.250 bits por
segundo.
O protocolo MIDI divide a informação segundo 16 canais, tornando possível
a criação de sistemas electrónicos musicais personalizados, nos quais os
instrumentos podem ser divididos e direccionados por canais diferentes (MIDI
CHANNELS) possibilitando que, com o auxílio de um sequenciador, cada um
toque a sua parte a seu tempo. Toda esta informação pode ser transmitida com
o recurso a um único cabo, onde cada canal transporta a informação de um
dado instrumento.
O MIDI possui vários modos de operação, sendo que os mais importantes
são os seguintes:
• Monofónico (um instrumento: uma nota de cada vez)
• Polifónico (um instrumento: varias notas ao mesmo tempo)
• Multi-Timbral
(vários
instrumentos
simultaneamente:
varias
notas
simultâneas)
2.2 General MIDI
Um sintetizador compreende um conjunto de sons de vários instrumentos, e
a necessidade de uma padronização fez surgir o padrão General MIDI (GM). O
GM é um subconjunto e um complemento à especificação MIDI original, datado
de 1988. Ele descreve várias características que um instrumento MIDI deve
possuir para se qualificar como um aparelho compatível GM.
25
Posteriormente, em 1999, foi criada uma extensão a esta especificação
designada por General MIDI Level 2 Specification (GM2). A especificação GM2
estabelece as seguintes condições básicas para os instrumentos musicais:
•
Numeração dos timbres
•
Notas que accionem os instrumentos de percussão
•
Número mínimo de partes timbrais
•
16 canais MIDI : até 2 canais de MIDI para bateria (10/11); até 16
canais para melodia/harmonia
•
Polifonia mínima : 32 notas
•
Conjunto mínimo de controlos
•
Outras condições básicas de operação
Um dos componentes mais significativos deste padrão é o Instrument Patch
Map, uma lista de 128 sons juntamente com os seus números atribuídos pelo
programa. Os sons incluem uma boa selecção de instrumentos de orquestra,
teclados, conjuntos vocais, timbres de sintetizador, instrumentos étnicos, efeitos
sonoros e muito mais.
2.3 Placas e interfaces MIDI
Para trabalhar com o MIDI é necessário, obviamente, hardware que suporte
entrada e saída de MIDI. As placas MIDI são aquelas que instaladas dentro do
computador permitem a troca de informações entre o controlador e o gerador de
timbres. As interfaces têm a mesma função, porém, são externas, ligadas ao
computador através das portas paralelas, USB ou FireWire. As placas e
26
interfaces possuem diversas configurações e devem ser utilizadas de acordo
com a conveniência, quanto ao número de portas/canais necessários. As placas
MIDI podem ser específicas só para o efeito ou podem vir incorporadas numa
placa de som.
A conexão entre equipamentos MIDI é feita com cabos com cabos cujas
pontas têm conectores DIN de 5 pinos do tipo macho. As ligações nos
instrumentos são “fêmea” com cinco pequenos orifícios, enquanto que os cabos
são “macho” com cinco pinos correspondentes nas extremidades. Dado que a
transmissão por série apenas necessita de um cabo único, nem todos os pinos
são usados. Assim sendo, os pinos 1 e 3 não são usados, o pino 2, diz respeito
ao shielding, que previne que a informação seja interferida por frequências
eléctricas intrusas. O pino 4 corresponde à terra, que faz com que a corrente flua
na direcção correcta. O pino 5 é o verdadeiro transmissor da informação MIDI.
Figura 1 – DIN Plug
Dado que a informação corre sempre numa única direcção os instrumentos
dispõem de várias conexões, para que a informação possa ser enviada de volta.
Para isso existem as ligações de MIDI IN, OUT e THROUGH, localizadas na
face posterior do instrumento.
O MIDI IN recebe a informação que chega e envia-a para o computador do
instrumento. Uma vez analisada são dadas as instruções ao instrumento, como
por exemplo NOTE ON – o instrumento toca a nota.
27
O MIDI OUT envia a informação correspondente às acções que estão a
ocorrer no instrumento.
O MIDI TROUGHT (THRU) duplica a informação que é recebida pelo MIDI
IN, de forma que o instrumento sirva de elo de uma cadeia. Esta funcionalidade
está na base de sistemas de gravação e produção, nas quais se encontram
vários instrumentos ligados entre si.
2.4 Mensagens MIDI
O MIDI permite o controlo de múltiplas funções e baseia a sua linguagem
na forma de mensagens. Estas mensagens são: STATUS que define a natureza
da mensagem; DATA que define se uma nota foi pressionada e com que
velocidade. Valores entre 0 e 127 são relativos a DATA e de 128 a 255 dizem
respeito a STATUS. Depois existem ainda as mensagens de canal, estando
entre elas: NOTE ON e NOTE OFF, sendo que a primeira é enviada sempre que
uma tecla é pressionada e a segunda quando é libertada. Existe também a
mensagem da velocidade (VELOCITY), que diz respeito à rapidez com que é
feito o toque na nota e os valores encontram-se entre 1 e 127, sendo que,
definindo a amplitude da nota, a mais baixa amplitude corresponde à mensagem
de valor 1.
O MIDI permite ainda a manipulação do som alterando o valor do pitch
(PITCH BEND). Com 128 valores possíveis, este tipo de mensagem provoca
alterações na natureza da nota. Quanto mais alto é o valor mais aguda será a
nota em relação à original.
As mensagens MIDI consistem numa string e são algo do género:
28
•
Começar a tocar nota nº (nnn) - NOTE ON
•
Parar de tocar nota nº (nnn) - NOTE OFF
•
Mudar para o instrumento #24 (mudança de parâmetros)
•
Mudar o controlador (X) para valor (Z)
•
...
Cada mensagem MIDI está associada a um índice temporal de nome
timestamp. Cada timestamp é medida em ticks.
De um modo geral, qualquer mensagem MIDI que um instrumento não
saiba interpretar é ignorada. Isso é bom, pois evita que os sintetizadores sejam
desprogramados por acidente por receberem informação que era destinada a
outro aparelho.
2.4.1 MIDI System Exclusive
Embora existam um grande número de mensagens para os controladores
MIDI, existe uma forma alternativa de controlar um dispositivo MIDI remoto. As
mensagens Sysex (System Exclusive) foram projectadas de forma a permitirem
aos fabricantes a criação das suas próprias mensagens MIDI. Essas mensagens
podem ser utilizadas para editar parâmetros dos sintetizadores; para guardar
dados relativos ao som; e para transmitir samples.
29
2.5 Controladores MIDI
Um controlador MIDI é um dispositivo real que é utilizado para controlar
parte de uma performance. O controlador pode ser mudo, para tocar sons de
outros aparelhos, ou pode gerar sons próprios. Um sintetizador MIDI de teclado,
por exemplo, funciona ao mesmo tempo com as funções de controlador e
módulo de som. Para executar bem as duas funções, deve ser encarado como
se fossem duas partes distintas do estúdio: o controlador e o módulo. Facilmente
se pode desligar a função Local (LOCAL OFF) e conectar o dispositivo MIDI ao
computador: OUT para IN e IN para OUT. O teclado agora só emitirá sons
quando for determinado no sequenciador. Sem isso, ele fica mudo. Esta
configuração permite a utilização do teclado para controlar (tocar) o som de
outro instrumento, sem que o seu próprio som atrapalhe a execução.
Para adaptar melhor a técnica instrumental do músico à transmissão de
dados musicais via MIDI, existem inúmeros tipos de controladores alternativos,
em forma de guitarras, violas, baterias de vários formatos, violinos, violas,
violoncelos, instrumentos de sopro, vibrafones, caixas com botões e sliders,
mesas misturadoras, etc.
Mesmo que não saiba tocar num teclado, poderá ser da conveniência do
músico dispor de um pois este poderá útil a programar as baterias e percussões,
a realizar certos encadeamentos harmónicos e outras facilidades típicas desse
tipo de instrumento. Esse teclado pode ser mudo ou conter os sons que serão
sequenciados, tocados através dele e do controlador alternativo.
Cada tipo de controlador tem as suas próprias características. As guitarras
MIDI podem causar um certo atraso na transmissão dos dados, devido à
dificuldade de reconhecer a afinação da nota executada. Enquanto um teclado
transmite a nota imediatamente ao tocarmos, já que cada tecla tem um contacto
30
electrónico, a guitarra usa um conversor, que primeiro reconhece a frequência
fundamental de cada nota tocada, para só então convertê-la numa nota MIDI e
transmiti-la a um sintetizador ou outro aparelho. Este conversor tem que
aguardar que se complete um ciclo da onda sonora da corda da guitarra, para
identificar a nota tocada. Só que o dedo do guitarrista, como de qualquer
instrumentista de cordas, não tem a exactidão de uma tecla, porque é comum
que a corda fique ligeiramente esticada quando é tocada. Existe por vezes a
dúvida de se um Fá é mesmo um Fá ou é um Mi que foi esticado pelo pitch
bender. O conversor, muitas vezes, precisa de tomar decisões como esta, antes
de fazer a conversão do som para uma nota MIDI.
Ao sequenciar cada parte do arranjo numa guitarra controladora, o músico
pode compensar esses atrasos de duas formas: quantizando ou adiantando o
trecho. As duas operações são fáceis de efectuar em softwares que disponham
das funções adequadas.
Cada controlador combina melhor com certos timbres, e pior com outros. É
melhor tocar bateria electrónica por meio de pads do que nas cordas de uma
guitarra MIDI (embora seja possível), mas os pads não permitem tocar violino
enquanto que a guitarra, sim. O músico deve escolher aquele controlador que
melhor se adapta à sua técnica instrumental, procurando manter também um
teclado.
Figura 2 – Controlador MIDI Oxigen
31
Independentemente do tipo de controlador, existe um número de elementos
em comum que são utilizados em todos eles. Cada um deles fornece sinais de
controlo ou voltagens que produzem alguns ou todos os pontos informativos
descritos:
•
Pitch de um evento de uma nota
•
Principio e fim de um evento de uma nota
•
Dinâmica de uma nota (volume)
•
Alterações no pitch
•
Alterações na modulação
•
Sustain
•
Controlos adicionais de expressão
Alguns controladores combinam vários destes pontos num controlador
composto, enquanto que outros os fornecem independentemente. Um teclado
pode fornecer apenas um pitch básico e informações sobre a dinâmica,
enquanto que outros mais sofisticados podem fornecer pitch-bend, modulação e
informação sobre o sustain.
2.6 Sequenciadores MIDI
De todas as aplicações e actividades relacionadas com o MIDI, a
sequenciação foi a primeira a aparecer, e continua sendo hoje, a mais popular.
Isto faz com que o sequenciador seja sem dúvida, depois dos próprios
instrumentos (ou da placa de som), a peça mais importante de um estúdio MIDI.
32
Quer estejam baseados em hardware quer estejam baseados em software
(a alternativa mais frequente), sejam mais ou menos sofisticados, todos os
sequenciadores suportam como mínimo as mesmas funções básicas: gravar,
editar e reproduzir mensagens MIDI.
À margem destas funcionalidades imprescindíveis, cada sequenciador
oferece um imenso leque de possibilidades adicionais e particularidades.
2.6.1 Princípios básicos da sequenciação
Embora um sequenciador MIDI mantenha muitas analogias e conceitos
herdados dos equipamentos de gravação (record) de áudio multi-pista, deve-se
ter claro que este não grava som, mas sim mensagens MIDI. Podemos pensar
num sequenciador como uma caixa negra que em modo de gravação recebe
mensagens MIDI e as vai armazenando ordenadamente, colocando-lhes
etiquetas com o instante preciso de recepção de cada uma das mensagens.
Desta forma, quando o sequenciador está em modo de reprodução (play), o seu
relógio interno vai observando as mensagens armazenadas, deixando-as “sair”
no devido instante temporal.
2.6.2 Resolução temporal
Se no áudio digital, para obter uma qualidade profissional é necessária uma
frequência de amostragem de pelo menos 44 KHz, esta não necessita nem mais
ou menos de ser tão precisa no terreno do MIDI. Se nos sequenciadores por
hardware iniciais esta resolução costumava ser de 1/24 de semínima os actuais
33
sequenciadores por software oferecem resoluções de várias centenas de
unidades por semínima. A maioria dos sequenciadores oferece a opção de
escolha da resolução entre vários valores possíveis. Neste sentido, é de
salientar que quanta maior for a resolução utilizada, numa determinada
composição, maior será o processamento a ser efectuado.
2.6.3 Sequenciação por software vs hardware
Embora o nascimento do MIDI coincida praticamente com a chegada dos
primeiros computadores pessoais, para os quais não tardaram em aparecer
interfaces MIDI e simples programas de sequenciação, a escassa potencia
dessas
primeiras
máquinas,
favoreceu
inicialmente
a
proliferação
de
sequenciadores por hardware, especialmente em aplicações mais profissionais.
Se à alguns anos atrás, estas unidades dedicadas, ofereciam maior potência e
fiabilidade na sequenciação, do que qualquer computador, na actualidade, é
obvio que a importância deste tipo de equipamento diminuiu consideravelmente
(embora o seu menor tamanho e a sua rapidez de manejo fazem com que sejam
utilizados para actuações ao vivo). Actualmente alguns sintetizadores (os
denominados de workstations) incorporam um pequeno sequenciador que lhes
permite trabalhar com autonomia, sem a necessidade de um computador.
Embora estes sequenciadores possam ser cómodos em alguns casos (viagens,
etc.), as suas possibilidades são realmente limitadas. A partir deste ponto, a não
ser
que
indique
explicitamente
o
contrário,
quando
utilizar
o
termo
“sequenciador” estou-me a referir a uma aplicação de software.
As possibilidades que oferecem os actuais programas de sequenciação
eram, desde logo, impensáveis à alguns anos atrás, e crescem ao ritmo de
tantos outros campos da informática de consumo, pelo que seria impossível
34
referi-las a todas. Centrar-me-ei, por isso, nos conceitos, aspectos e prestações
mais importantes, que não podem faltar a qualquer sequenciador, seja qual for o
seu preço.
2.6.4 Pistas e canais
Todos os sequenciadores utilizam o conceito de pista, inspirado nos seus
antecessores, os gravadores áudio multi-pista. Embora cada pista esteja
normalmente associada a um canal MIDI, estes dois conceitos não se devem
confundir. O número de canais MIDI (e por conseguinte, o de possíveis
instrumentos simultâneos) é de 16; no entanto, a grande maioria dos
sequenciadores oferece várias dezenas ou mesmo centenas de pistas.
Enquanto que o canal, é um conceito físico que vem imposto pela própria
especificação MIDI, a pista é um conceito lógico que cada programa pode utilizar
e redefinir a seu gosto, pois faz unicamente referência ao modo como o
programa armazena, mostra e permite manipular a informação.
Por regra geral, e ainda que isto não deva ser o principal critério de eleição,
pode-se considerar que quanto mais pistas ofereça um sequenciador melhor
será, pois permite maior flexibilidade na hora de compor e arranjar uma peça.
2.6.5 Suporte multi-porta
A um nível profissional, os dezasseis canais que oferece o MIDI, são
frequentemente uma limitação perante arranjos e orquestrações complexas que
requerem mais instrumentos em simultâneo. Para resolver esta limitação, alguns
35
fabricantes de interfaces MIDI para Macintosh começaram a desenhar, no
princípio dos anos noventa, interfaces com suporte multi-porta, que permitia
multiplicar por dois, três, quatro ou mesmo mais, os dezasseis canais iniciais.
Paralelamente, os sequenciadores MIDI para Macintosh, começaram a
implementar esta funcionalidade, adicionando a cada pista um parâmetro
adicional (a porta) ao canal já existente.
Para plataformas Windows foi mais tarde implementada o mesmo tipo de
solução. Aquando da instalação de uma placa de som, são incorporados no
sistema, um ou mais drivers MIDI. Cada um destes drivers corresponde a uma
porta lógica e é capaz de direccionar por conseguinte dezasseis canais MIDI
independentes. Assim sendo, uma placa de som que instale três drivers MIDI
permite referenciar facilmente quarenta e oito canais MIDI simultâneos. Quase
todos os sequenciadores para Windows suportam esta característica e são
capazes de utilizar qualquer um dos drivers instalado no sistema. Para isso,
cada posta inclui junto à especificação do canal, um parâmetro adicional
correspondente à porta, que ao ser activado mostra uma lista com os nomes dos
dispositivos instalados, para que se possa seleccionar um deles.
2.6.6 Gravação e introdução da informação
Num sequenciador MIDI, costumasse gravar a informação numa pista de
cada vez, podendo estar as restantes pistas já gravadas, activadas para
reprodução ou não.
36
2.6.6.1 Ajuste do tempo
Ao começar um projecto num sequenciador um dos primeiros parâmetros a
ser definido é o tempo, alias todos os sequenciadores já possuem um valor por
defeito para este parâmetro. Este parâmetro, que pode ser alterado as vezes
necessárias, é importante na hora de efectuar uma gravação através de um
qualquer controlador MIDI, e como tal todos os sequenciadores possuem uma
funcionalidade (metrónomo) para de uma forma audível marcam o tempo
escolhido. Em certas situações, pode suceder que o utilizador tenha o tempo na
cabeça, mas não saiba com precisão o valor numérico que lhe corresponde.
Para isso, a maioria dos sequenciadores possui uma funcionalidade que permite
estabelecer o tempo interactivamente, carregando repetidas vezes uma tecla do
computador ou mediante vários clicks no rato.
É de salientar que o tempo seleccionado na altura em que é efectuada uma
gravação não necessita de coincidir com o tempo final da peça. Isto significa que
se uma passagem é especialmente complicada, ou se a destreza do utilizador
no piano deixar bastante a desejar, é sempre possível escolher um tempo
inferior, e acelerar a peça posteriormente. Esta é uma das grandes vantagens
que o MIDI oferece a músicos amadores. Também é possível obter variações do
tempo, que de forma brusca quer de forma progressiva, ao longo de uma
mesma peça.
2.6.6.2 Escolha do instrumento ou programa MIDI
Uma vez seleccionado o tempo, é normalmente elegido um instrumento ou
programa, o que define o tipo de som associado a uma determinada pista. Se o
instrumento a escolher pertencer à lista dos existentes no General MIDI, o valor
37
na coluna correspondente ao banco deve estar a zero. Para facilitar a escolha
do instrumento, muitos sequenciadores possuem em cada pista a lista com o
nome dos 128 programas que compõem o General MIDI. A qualidade destes
sons é totalmente independente do software sequenciador, e depende
exclusivamente da placa de som ou sintetizador a que esteja conectado.
É preciso ter em conta que embora se disponha de um número virtualmente
ilimitado de pistas, o número de canais continua a ser dezasseis, pelo que a
escolha de um determinado instrumento numa determinada pista, irá afectar
todas as pistas com as quais esta partilhe a porta e o canal. Isto implica que
apenas é necessário definir um instrumento para uma pista associada a um
determinado canal, que todas as outras associadas ao mesmo canal ficam
automaticamente definidas.
Para o caso de o instrumento desejado não pertencer à lista General MIDI
terá que ser indicado o número do banco desejado, na coluna correspondente.
Alguns sequenciadores permitem editar o nome dos instrumentos associados a
diferentes bancos.
2.6.6.3 Gravação de pistas
Para iniciar o processo de gravação todos os sequenciadores dispõem de
uma barra de ferramentas que imita os botões de um gravador convencional, e
que incluem como mínimo os botões de gravação, reprodução, avanço rápido e
rebobinar.
38
2.6.6.4 Primeiras correcções
No processo de gravação de uma pista é muito provável que o primeiro
resultado obtido não seja logo perfeito. Como tal, existem várias opções para
efectuar correcções. A opção mais óbvia reside em repetir toda a gravação,
podendo ser utilizada uma pista auxiliar para guardar a gravação anterior. Pode
acontecer o caso de apenas um pequeno fragmento da gravação não estar
como pretendido. Para esse caso, todos os sequenciadores oferecem as opções
de punch in e pinch out, que permitem fazer a reprodução do que já foi gravado
e gravar por cima, apenas no fragmento incorrecto. Para este efeito, basta
indicar os compassos que se queiram corrigir, e iniciar a reprodução no ponto da
peça que seja mais cómodo, tendo em conta que apenas serão gravadas as
mensagens recebidas nos compassos indicados. Finalmente, para aqueles que
não se sentem demasiado à vontade perante um teclado musical, ou para
aqueles fragmentos que estão revestidos de uma dificuldade especial, resta
sempre a opção de gravar passo-a-passo, que consiste na introdução de notas
uma a uma, desde o teclado musical, e no avanço com a ajuda do rato ou do
teclado do computador. As opções não terminam aqui, já que existem muitas
outras alternativas para introdução ou correcção da informação que serão
descritas mais à frente.
2.6.7 Sistemas de visualização
Os primeiros sequenciadores ofereciam poucas alternativas na hora de
visualizar a informação MIDI contida nas suas pistas. Hoje em dia, ainda que
qualquer sequenciador tenha as suas pequenas peculiaridades, quase todos
incorporam com ligeiras variações três formas básicas para visualizar e
modificar esta informação: a lista de eventos, a vista de piano e a partitura
39
convencional. Salvo excepções, estas janelas de visualização só permitem
aceder à informação de uma pista de cada vez.
2.6.7.1 A lista de eventos
A lista de eventos permite visualizar em modo texto e ordenadas
temporalmente, todas as mensagens MIDI contidas numa pista. Tipicamente
cada mensagem ocupa uma linha, e que tem como dados mais importantes o
tipo de mensagem (nota, programa, controlo, etc.), o canal e uma etiqueta
temporal.
A lista de eventos é a forma de visualização que incorporava os primeiros
sequenciadores por software, e costuma ser a única das formas que mostra toda
a informação MIDI armazenada, pois as restantes formas filtram essa
informação em maior ou menor parte. Através dela é possível observar não só
as notas, mas também todos os controlos, mudanças de programa e outras
mensagens contidas na pista seleccionada. Através desta janela é possível
modificar qualquer parâmetro assim como eliminar ou inserir novos eventos com
uma precisão absoluta.
Figura 3 – Lista de eventos no software Cubase
40
Utilizar a lista de eventos para inserir muitos eventos MIDI pode ser num
entanto fastidioso; no entanto é uma janela para inserir eventos esporádicos.
Descrevo agora algumas das aplicações:
•
Controlos – embora a maioria dos sequenciadores ofereçam
alternativas para introduzir e editar eventos de controlo, a lista de
eventos é ideal quando se deseja adicionar um único controlo, tal
como modificar o volume ou a reverberação de um canal.
•
Mudança de programa: Embora ao iniciar uma pista se possa indicar
o programa (instrumento) inicial, nada impede que o utilizador deseje
mudar de instrumento ao longo da composição. Para tal, basta inserir
no instante oportuno um evento de mudança de programa com os
valores desejados.
•
Uma nota sobre as notas: em todos os modos de visualização, as
notas possuem sempre uma duração, quando o conceito de duração
não é próprio do MIDI. O que ocorre, é que para facilitar a tarefa do
utilizador,
os
sequenciadores
agrupam
automaticamente
as
mensagens de NOTE ON com as correspondentes mensagens
NOTE OFF, mostrando no ecrã a duração calculada.
2.6.7.2 O piano-roll
No piano-roll, as notas são representadas graficamente, com rectângulos
de longitude variável, o que evoca os rolos antigamente utilizados nos pianos
mecânicos. Nesta representação, o tempo costuma transcorrer horizontalmente
41
e da esquerda para a direita, enquanto que a posição vertical do rectângulo vem
determinada pela altura MIDI da nota. O piano-roll incorpora sempre ícones de
zoom, que permitem modificar a resolução horizontal (tempo) e vertical (alturas),
para uma visão mais ou menos precisa.
Esta representação é muito intuitiva – especialmente para aqueles que não
dominam a escrita de musical tradicional – permitindo efectuar modificações
facilmente: é possível arrastar as notas horizontalmente; alarga-las ou encurtalas (para modificar a sua duração); ou mudá-las de posição verticalmente.
Figura 4 – Vista de piano-roll no software Cubase
Também é possível eliminar ou adicionar novas notas, sendo assim uma
alternativa de gravação. Como contrapartida, neste modo de visualização, a
maioria dos sequenciadores só permitem visualizar notas, filtrando os outros
eventos tais como mensagens de controlo ou de mudança de programa.
2.6.7.3 A partitura
Neste tipo de visualização a informação de uma pista aparece sob a forma
da notação musical tradicional. A maioria do referido sobre o modo de
42
visualização piano-roll aplica-se a este modo; a partir da partitura é possível
aplicar diferentes modificações às notas e, embora normalmente o modo pianoroll ofereça mais flexibilidade, este modo é bastante útil para músicos com
formação tradicional. Esta forma de visualização comporta numerosas opções
adicionais que não estão presentes nas outras alternativas, pois permitem
diferentes formas de apresentar a partitura no ecrã (sem que isso modifique o
conteúdo dos dados MIDI representados).
Até mesmo para o utilizador que não domine a escrita musical, este modo
pode ser de utilidade pois permite imprimir partituras dos temas compostos.
Embora exista software especialmente concebido para a edição de partituras, na
maioria dos casos simples, a impressão obtida directamente a partir do
sequenciador pode ser suficiente. Existem contudo sequenciadores simples que
não suportam esta opção de impressão de partituras.
Figura 5 – Vista de partitura no software Cubase
2.6.7.4 Outras formas de visualização
Alguns sequenciadores oferecem alternativas adicionais para visualizar e
modificar a informação. Uma forma muito comum incluída num bom
43
sequenciador é a visualização de controlos, que permite definir, com a ajuda do
rato e de ferramentas de desenho, a evolução temporal de qualquer controlo.
Esta forma poderá ser muito útil, por exemplo, no caso de se querer obter uma
variação progressiva do volume. Na mesma linha, outros sequenciadores,
permitem desenhar mapas de tempo, permitindo que o tempo varie de forma
progressiva
em
diferentes
fragmentos
de
uma
composição.
Outros
sequenciadores incorporam também uma janela que contem uma mesa de
mistura, através da qual é possível introduzir mudanças (volume, panorâmicas,
efeitos, equalização, etc.) em tempo real.
2.6.8 Funções básicas de edição
Para aplicar qualquer processo de modificação, o primeiro passo será
seleccionar um fragmento da peça. A partir da janela principal, é possível
seleccionar um determinado número de compassos, ou uma ou várias pistas
inteiras. Caso seja necessário uma maior precisão temporal (ex: só os dois
últimos tempos de um determinado compasso) normalmente deve-se levar a
cabo a selecção a partir de uma das três principais janelas de visualização
referidas anteriormente. Muitos sequenciadores também dispõem de filtros que
permitem seleccionar apenas determinado tipo de eventos dentro do fragmento
seleccionado (só as notas, ou só os controlos de volume, ou as notas acima de
um determinado valor, etc.). Realizada a selecção é possível aplicar o
tratamento desejado. Vejamos alguns dos mais frequentes:
•
Copiar, cortar e colar: os sequenciadores MIDI não podem ser
menos que qualquer outro tipo de aplicação de software. No entanto
a função colar requer algumas clarificações adicionais. Após
seleccionar e copiar um fragmento, colocar o curso no local destino e
44
activar colar, a maioria dos sequenciadores propõem várias
alternativas: escrever por cima, misturar ou inserir. Com efeito, se
bem que sobrepor diferentes camadas de texto não faça nenhum
sentido, a informação MIDI que se deseje adicionar pode conviver
perfeitamente com a que se encontra na posição destino. Esta é a
opção misturar. A opção inserir é idêntica ao que faz um processador
de texto quando se cola sem ter seleccionado nenhum fragmento
como destino; neste caso, todos os eventos situados à direita
mudam de posição para ceder espaço para a inserção. A opção
escrever por cima tem um funcionamento análogo a um processador
de texto, para o caso do destino ser um fragmento já seleccionado.
•
Mover: permite adiantar ou atrasar, na linha temporal, o fragmento
seleccionado.
•
Modificar duração: permite comprimir ou expandir temporalmente um
fragmento. Dado que se trabalha unicamente com informação MIDI,
ao contrário do que sucede com o áudio digital, esta modificação não
origina nenhuma variação de altura.
•
Transportar:
muda
todas
as
notas
de
um
fragmento
num
determinado número de semitons.
•
Mudar velocidade: pode ser utilizado tanto para atribuir velocidades
constantes, como para modificar proporcionalmente as velocidades
do fragmento.
•
Quantizar: permite corrigir de diferentes formas o início e a duração
das notas do fragmento. Pela sua particular importância e
versatilidade
45
2.7 Windows MIDI
A Win32 API fornece os seguintes métodos para que as aplicações possam
trabalhar com dados MIDI:
•
comandos MCI (Media Control Interface)
•
stream buffers
•
serviços MIDI
A maioria das aplicações podem utilizar o sequenciador MCI MIDI ou
stream buffers para implementar as funcionalidades MIDI que necessitam. No
entanto, para aplicações que necessitem de mais controlo, por exemplo um
sequenciador, pode ser utilizada tanto uma combinação de stream buffers e
serviços MIDI, como apenas serviços MIDI.
2.7.1 Stream Buffers
Os stream buffers permitem enviar streams de eventos MIDI para um
dispositivo. Cada stream buffer é um bloco de memória apontado para uma
estrutura do tipo MIDIHDR. Este bloco de memória contem dados sobre um ou
mais eventos MIDI, cada um dos quais definido por uma estrutura do tipo
MIDIEVENT. A aplicação controla o buffer através da chamada de funções para
manipulação de streams.
Nome da função
Descrição
midiStreamClose
Fecha um stream MIDI.
midiStreamOpen
Abre um stream MIDI e retorna o handle.
midiStreamOut
Reproduz ou põe em lista de espera um stream de dados
MIDI para um dispositivo MIDI de saída.
46
midiStreamPause
Faz pausa na reprodução de um determinado stream de
MIDI.
midiStreamPosition
Retorna a posição actual num stream de MIDI.
midiStreamProperty Estabelece e retorna propriedades de um stream.
midiStreamRestart
Recomeça a reprodução de um stream de MIDI que
estava em modo de pausa.
midiStreamStop
Desliga todas as notas em todos os canais MIDI de um
stream especificado.
Tabela 1 - Funções para manipulação de streams
2.7.2 Serviços MIDI
O processo de questionar dispositivos MIDI está dividido em duas fases,
primeiro é preciso determinar o número de dispositivos MIDI de entrada e saída,
e só depois inquirir acerca das capacidades de cada dispositivo.
Nome da Função
Descrição
midiInGetNumDevs
Devolve o número de dispositivos MIDI de entrada
presentes no sistema.
midiOutGetNumDevs
Devolve o número de dispositivos MIDI de saída
presentes no sistema.
midiInGetDevCaps
Devolve as características de um determinado
dispositivo MIDI de entrada e coloca a informação
na estrutura MIDINCAPS.
midiOutGetDevCaps
Devolve as características de um determinado
dispositivo MIDI de saída e coloca a informação na
estrutura MIDOUTCAPS.
Tabela 2 - Funções para questionar dispositivos MIDI
Cada função que abre um dispositivo MIDI toma como parâmetros um
identificador para o dispositivo, um endereço de uma localização na memória, e
alguns parâmetros próprios aos dispositivos MIDI. O endereço de memória é
47
preenchido com um handler para o dispositivo, que é utilizado para identificar o
dispositivo em chamadas a outras funções.
Nome da Função
Descrição
midiInClose
Fecha um determinado dispositivo MIDI de entrada.
midiInOpen
Abre um determinado dispositivo MIDI de entrada,
para gravação.
midiOutClose
Fecha um determinado dispositivo MIDI de saída.
midiOutOpen
Abre um determinado dispositivo MIDI de saída, para
reprodução.
Tabela 3 - Funções para abrir e fechar drivers do dispositivo MIDI
As funções midiOutLongMsg, midiInAddBuffer e midiStreamOut requerem
que as aplicações aloquem blocos de dados para que os possam passar aos
drivers do dispositivo para efeitos de reprodução ou gravação. Cada uma destas
funções utiliza uma estrutura MIDIHDR para descrever o bloco de dados.
Antes de utilizar qualquer umas destas funções para passar um bloco de
dados ao driver do dispositivo, é necessário alocar memória para o buffer e para
a estrutura do cabeçalho que descreve o bloco de dados.
Nome da Função
Descrição
midiInPrepareHeader
Prepara um bloco de dados MIDI de entrada.
midiInUnprepareHeader
Limpa um bloco de dados MIDI de entrada já
preparado.
midiOutPrepareHeader
Prepara um bloco de dados MIDI de saída.
midiOutUnprepareHeader
Limpa um bloco de dados MIDI de saída já
preparado.
Tabela 4 - Funções para alocar e preparar blocos de dados MIDI
Para enviar um bloco de dados MIDI a um driver de dispositivo é necessário
antes
preparar
o
buffer
através
de
48
uma
das
seguintes
funções:
midiInPrepareHeader, midiOutPrepareHeader. Quando o driver do dispositivo
terminar é necessário limpar a preparação, antes que qualquer memória alocada
possa
ser
libertada,
através
de
uma
das
seguintes
funções:
midiInUnprepareHeader ou midiOutUnprepareHeader.
As aplicações que utilizam blocos de dados para passar mensagens Sysex
e stream buffer necessitam de estar continuamente a fornecer o driver do
dispositivo com blocos de dados até que a reprodução ou gravação esteja
completa. Mesmo que só um único bloco de dados seja utilizado, uma aplicação
precisa de ser capaz de determinar quando um driver de dispositivo terminou
com os blocos de dados para que possa libertar a memória associada com o
bloco de dados e com o cabeçalho da estrutura. Três métodos podem ser
utilizados para determinar quando um driver de dispositivo terminou com um
bloco de dados:
•
Especificar uma função callback para receber mensagens enviadas
pelo driver quando este terminou um bloco de dados.
•
Utilizar uma callback de evento (apenas para saída).
•
Utilizar uma callback de janela ou de thread, para receber uma
mensagem enviada pelo driver assim que termine um bloco de
dados.
As funções MIDI em caso de erro retornam um valor não nulo. Através das
funções midiInGetErrorText e midiOutGetErrorText é possível obter descrições
textuais dos erros. As únicas funções que não retornam códigos para erros são:
midiInGetNumDevs e midiOutGetNumDevs. Estas funções retornam o valor zero
quando não encontram dispositivos no sistema ou se qualquer um outro erro for
encontrado pela função.
49
2.7.3 Estruturas MIDI
A estrutura MIDIEVENT descreve um evento MIDI num stream buffer.
Membro
Tipo
Descrição
dwDeltaTime
DWORD
Tempo entre o evento anterior e o próximo evento,
medido em MIDI ticks. O tamanho de um tick é
definido pelo formato do tempo e possivelmente
pelo tempo associado ao stream. Um tick pode
estar expresso em microsegundos por quarto de
nota ou em ticks STMPTE (Society of Motion
Picture and Television Engineers). Os STMPTE
permitem sincronização com outros eventos
STMPTE (ex: vídeo).
dwStreamID
DWORD
Reservado; necessita de ser zero
dwEvent
DWORD
Código do evento e tamanho ou parâmetros do
evento. Para os analisar são utilizadas as
seguintes macros especificas para o efeito:
MEVT_EVENTTYPE e MEVT_EVENTPARM.
dwParms[]
DWORD
Quando dwEvent especifica um evento do tipo
MEVT_F_LONG (evento longo) e especifica o
tamanho do buffer, este membro contem
parâmetros para o evento.
Tabela 5 – Membros da estrutura MIDIEVENT
A estrutura MIDISTRMBUFFVER armazena informação sobre a versão de
um evento MIDI longo do tipo MEVT_VERSION.
Nome
dwVersion
Tipo
Descrição
DWORD Versão do stream. O número da versão para a
primeira implementação de MIDI streams deve ser
1.0.
50
dwMid
DWORD Identificador do fabricante.
dwOEMVersion DWORD Versão do OEM do stream. Os fabricantes podem
especificar um evento que será o primeiro a ser
enviado depois de o stream estar aberto.
Tabela 6 – Membros da estrutura MIDISTRMBUFFVER
A estrutura MIDIHDR define o cabeçalho utilizado para identificar uma
mensagem MIDI Sysex ou um stream buffer.
Membro
Tipo
Descrição
lpData
LPSTR
Ponteiro para dados MIDI.
dwBufferLength
DWORD
Tamanho do buffer.
dwBytesRecorded DWORD
Quantidade actual de dados no buffer.
Este valor terá que ser menos do que
o especificado em dwBufferLength.
dwUser
DWORD
Dados personalizados do utilizador.
dwFlags
DWORD
Flags que dão informação acerca do
estado actual do buffer.
lpNext
Struct midihdr_tag
Reservado
Reserved
DWORD
Reservado
dwOffset
DWORD
Offset dentro do buffer quando uma
callback é executaca. Essa callback é
gerada devido a uma flag do tipo
MEVT_F_CALLBACK no membro
dwEvent da estrutura MIDIEVENT.
dwReserved[4]
DWORD
Reservado
Tabela 7 – Membros da estrutura MIDIHDR
A estrutura MIDIINCAPS descreve as capacidades de um dispositivo MIDI
de entrada.
51
Membro
Tipo
Descrição
wMid
WORD
Identificador do fabricante do driver
para o dispositivo MIDI de entrada.
wPid
WORD
Identificador do produto do dispositivo
MIDI de entrada.
vDriverVersion
MMVERSION
Número da versão para o driver do
dispositivo MIDI de entrada.
szPname[MAXPNEL]
CHAR
Nome do produto.
dwSupport
DWORD
Reservado; necessita de ser zero
Tabela 8 – Membros da estrutura MIDIINCAPS
A estrutura MIDIOUTCAPS descreve as capacidades de um dispositivo
MIDI de saída.
Membro
Tipo
Descrição
wMid
WORD
Identificador do fabricante do driver
para o dispositivo MIDI de saída.
wPid
WORD
Identificador do produto do dispositivo
MIDI de saída.
vDriverVersion
MMVERSION
Número da versão para o driver do
dispositivo MIDI de saída.
szPname[MAXPNEL]
CHAR
Nome do produto.
wTechnology
WORD
Flag cujo valor descreve o tipo de
dispositivo
MIDI
(sintetizador,
sintetizador FM, sintetizador por
software, Microsoft MIDI mapper,
sintetizador Wavetable) de saída.
wVoices
WORD
Número de vozes suportadas por um
dispositivo que seja um sintetizador
interno. Se o dispositivo for uma porta
MIDI este membro não tem significado
e o seu valor é igualado a zero.
wNotes
WORD
Número máximo de notas que podem
t
d
i lt
t
52
ser tocadas simultaneamente por um
sintetizador interno.
wChannelMask
WORD
Canais
a
que
responde
determinado sintetizador interno.
um
dwSupport
DWORD
Preenchido por flags que especificam
funcionalidades opcionais suportadas
pelo dispositivo.
Tabela 9 – Membros da estrutura MIDIOUTCAPS
A
propriedade
tempo
de
um
stream
está
contida
na
estrutura
MIDIPROPTEMPO.
Membro
Tipo
Descrição
cbStruct
DWORD
Tamanho, em bytes, desta estrutura. Este membro
tem que estar preenchido para certas operações da
função midiStreamProperty
dwTempo
DWORD
O tempo do stream medido em microsegundos por
quarto de nota.
Tabela 10 – Membros da estrutura MIDIPROPTEMPO
A estrutura MDIPROPTIMEDIV descreve a propriedade da divisão do
tempo. Esta estrutura é semelhante à estrutura MIDIPROPTEMPO.
53
3 Áudio Digital
3.1 Placas de som
Não muito depois de o primeiro PC IBM aparecer no mercado, várias
empresas começaram a comercializar hardware com o intuito de reproduzir e
gravar música/áudio/voz. Apareceram placas que serviam de interface para MIDI
e/ou de interface para áudio digital.
A grande maioria das placas de som de consumo, de baixa e média gama,
incluem um sintetizador FM e/ou um sintetizador Wavetable. Estes normalmente
seguem o standard General MIDI e podem ser acedidos através de um
sequenciador MIDI. As placas de som de gama mais elevada normalmente não
incluem sintetizadores MIDI trabalhando exclusivamente com áudio digital.
Os standards para conexão de placas de som são no momento o PCI, o
USB e o Firewire. As características definidores mais importantes a ter em conta
numa placa de som são os seguintes:
•
Frequência de amostragem (22 / 32 / 44.1 / 48 / 96 kHz) -
As
soluções a 48 ou 96 são as publicitadas para sistemas de áudio
profissionais.
•
Bits de resolução (8 - 16 - 24 bits) - A placa com 24 bits de resolução
é a solução mais utilizada nos tempos actuais. Certos softwares já
são capazes de suportar potencialmente resoluções de 32 bits.
54
•
Número de entradas e saídas simultâneas - a grande maioria das
placas apenas oferece duas E/S (i.e. uma entrada estéreo e uma
saída estéreo), analógicas ou digitais. No entanto as soluções a nível
profissional normalmente oferecem 8,10,16 E/S ou mesmo mais, na
grande maioria digitais, o que implica a utilização de conversores A/D
e D/A caso seja necessário utilizar uma E/S analógica.
•
Processador interno - um processador interno pode libertar o CPU de
determinado processamento e aumentar a performance geral.
•
Taxa de ruído para o sinal (S/N) - esta deve ter o menor valor
possível, considerando que tendo valores inferiores a -90dB já
possuí um bom valor para uma placa profissional.
Para transferência de dados envolvendo Minidiscs, DATs, ADATs, e outros
equipamentos com entrada e/ou saída digital, é necessária uma placa de áudio
também com entrada e saída digital. Existem alguns protocolos digitais
diferentes (S/PDIF coaxial, S/PDIF óptico, AES/EBU, ADAT litepipe) e
incompatíveis entre si. Nem todos os produtos trabalham com todos os
protocolos. São conexões que permitem a transferência de áudio bit a bit sem
perdas. Desta forma, áudio transferido digitalmente não perde nenhuma de suas
características originais.
Actualmente existem muitas placas e interfaces de áudio que possuem
entradas e saídas digitais. Estas placas e interfaces comunicam-se digitalmente
com outras placas ou equipamentos que possuam as mesmas saídas e entradas
digitais como ADATs, DATs, Mini-discs, mesas digitais e outros. Cada um destes
equipamentos possui um ou mais padrões de transferência. Apresento agora
uma pequena descrição dos protocolos mais utilizados:
55
•
AES/EBU - foi desenvolvido pela AES (Audio Engineering Society)
conjuntamente com a EBU (European Broadcasting Union). Este
formato utiliza conectores do tipo XLR (Canon) e pode ser usado
cabos de até 100 metros. Este formato é considerado um dos mais
profissionais do mercado.
•
S/PDIF (Sony/Philips Digital Interface Format) - foi derivado do
AES/EBU. Utiliza cabos coaxiais de até 10 metros com conectores
RCA ou em formato óptico com conexão TosLink e cabos ópticos.
Praticamente todas as placas e interfaces do mercado usam este
protocolo devido à sua simplicidade e baixo custo.
•
ADAT LitePipe (Alesis): Formato óptico de transferência digital capaz
de transmitir por apenas um cabo óptico até 8 canais de áudio.
Apesar de utilizar a mesma conexão do S/PDIF óptico são formatos
totalmente diferentes. Algumas placas e interfaces fazem uso da
mesma conexão, porém com opção de escolha entre os protocolos
via software. O tamanho máximo permitido ao cabo é de 10 metros,
e encontra-se no mercado cabos de 1, 2 e 5 metros.
3.2 Latência
Por norma, as placas de som possuem buffers de dados, usados tanto para
o armazenamento dos dados referentes ao áudio capturado como para o
armazenamento dos dados "em espera" para serem reproduzidos. Esses buffers
são periodicamente esvaziados ou preenchidos, conforme o caso, através da
comunicação, via barramento de E/S, com o computador; essa comunicação é
regida pela geração de requisições de interrupção por parte da placa de som
quando um dos seus buffers está "cheio" ou "vazio". A placa precisa
normalmente de alocar pelo menos dois buffers para cada sentido da
56
comunicação: no caso da saída de dados, por exemplo, enquanto os dados
contidos num buffer são convertidos para o domínio analógico e reproduzidos, o
outro buffer é preenchido com dados pelo computador; um mecanismo
semelhante ocorre na comunicação no sentido inverso.
Assim, supondo que todos os buffers de entrada e de saída têm tamanho
igual e que, no caso de operação full-duplex, os buffers de entrada estão
alinhados no tempo com os de saída (e supondo, portanto, que uma única
interrupção corresponde a uma solicitação para que o CPU preencha um buffer
de saída e esvazie um buffer de entrada), a menor latência possível de uma
aplicação que simplesmente copia os dados da entrada para a saída (ou seja, o
menor tempo possível para que um sinal injectado na entrada seja reproduzido
na saída) corresponde exactamente à soma das durações correspondentes ao
tamanho de um buffer de entrada e um de saída. Como o tamanho dos buffers
usados pela placa de som normalmente é configurável via software (dentro de
alguns limites), é possível definir com clareza a latência de um sistema de áudio
por computador. Para que isso seja verdade, no entanto, a aplicação não pode
introduzir nenhum tipo de atraso no sinal: ela necessariamente deve processar
tanto os dados fornecidos pela placa de som como os dados que devem ser
fornecidos para a placa de som no momento em que eles são fornecidos ou
solicitados, ou seja, no momento da geração da requisição de interrupção por
parte da placa.
Num sistema operativo de uso geral, no entanto, essa não é uma tarefa
simples: o tratamento das interrupções geradas pelo hardware é papel da kernel
do sistema operativo, e é ela quem realiza a transferência de dados entre a
placa de som e a aplicação. Como o escalonamento de tarefas num sistema
operativo de uso geral não é determinístico, o programa ao comunicar com o
hardware de áudio pode eventualmente ser escalonado para execução apenas
após um grande número de interrupções. Assim sendo, a comunicação entre o
57
hardware de áudio e as aplicações de áudio é tradicionalmente intermediada
pela kernel, que possui buffers adicionais acessíveis pela aplicação através de
uma API padronizada, geralmente centrada em torno da abstracção de leitura e
escrita com bloqueio: a aplicação processa continuamente uma certa quantidade
de dados que devem ser reproduzidos e executa uma chamada de função, para
a escrita desses dados num descritor de arquivos (ou alguma abstracção
semelhante) correspondente ao controlador de dispositivo; essa chamada de
função bloqueia sempre o que buffer interno do sistema operacional está cheio,
e desbloqueia quando há espaço no buffer. De forma semelhante, a passagem
de dados da kernel para a aplicação é baseada numa chamada de função de
leitura que bloqueia quando o buffer interno do sistema operativo está vazio e
desbloqueia quando há dados disponíveis para a aplicação.
Esse modelo é adequado para aplicações de áudio simples, que podem ser
executadas como quaisquer outros processos do sistema, mas apresenta o
inconveniente de acrescentar uma grande latência ao processamento do sinal, o
que não é aceitável em aplicações profissionais.
3.3 Drivers para placas de som
Um aspecto importante a ter em conta quando se utilizam sistemas de
produção e criação musical, como já foi atrás referido, é a necessidade
intrínseca de processamento com baixa latência. De facto, em muitas aplicações
o utilizador interage directamente com o computador para a produção de um
resultado, e a latência do sistema nesses casos precisa de ser mantida abaixo
do limiar perceptível pelo utilizador. Um exemplo simples dessa situação é a
gravação de um sistema acústico processado (por exemplo, uma guitarra
eléctrica sobre a qual é aplicada um efeito em tempo real): ao mesmo tempo que
executa o seu instrumento, o músico precisa de ouvir o som que está a ser
58
produzido; se a latência do processamento for muito grande, o músico terá
dificuldades na execução. Existe alguma controvérsia sobre qual o limiar de
percepção da latência, mas parece ser recomendável que ela seja menor que
5ms.
A grande maioria das placas de som usadas a um nível profissional
suporta entre dois e seis formatos diferentes para os drivers enquanto que
as normais placas de som de consumo geralmente suportam entre dois e
três.
•
MME (MultiMedia Extensions) - Introduzido com o Windos 3.1, estes
drivers eram caracterizados por latências consideravelmente grandes
sendo geralmente evitados para softwares de sequenciação como o
Logic ou o Cubase. Contudo o pacote Sonar da Cakewalk conseguiu
obter uma boa performance em sintetizadores stand-alone com este
driver.
•
DirectSound – Este tipo de drivers oferece geralmente uma latência
inferior aos MME, sendo uma boa opção para vários sintetizadores
virtuais na falta de drivers específicos, especialmente porque podem
ser acedidos por diversas aplicações simultaneamente. Utilizam
várias características de aceleração que a placa de som possui
necessitando no entanto de drivers escritos especificamente para a
placa. Mesmo que a placa não possuía esses drivers o Windows
permite que os drivers DirectSound sejam escolhidos, correndo no
entanto num modo de emulação, o que degrada a performance ao
ponto de poderem ser piores que os MME. A maior limitação deste
tipo de drivers é que só podem ser utilizados para reprodução – para
gravação é necessário usar outro tipo de formato para o driver.
59
•
WDM (Windows Driver Model) – este modelo veio melhorar os
tempos de latência para plataformas Windows relativamente aos dois
anteriormente referidos. Tem um componente em modo de kernel
que fornece suporte automático para MME e DirectX. No entanto,
comparativamente com outros modelos, o ASIO por exemplo,
oferecem tempos de latência mais elevados.
•
GSIF (GigaSampler Interface) – inicialmente estes drivers apenas
funcionavam com a gama de samplers virtuais GigaStudio e com o
GigaSampler da Tascam/Nemesys. Estes drivers proporcionam uma
baixa latência (6 a 9 ms) devido às suas excelentes librarias de som.
Existem agora diversas placas no mercado com suporte para este
driver.
•
EASI (Enhanced Audio Streaming Interface) – estes drivers apenas
estão apenas disponíveis para algumas placas de som e oferecem
essencialmente uma melhoria sobre os drivers ASIO. Estão
especialmente optimizados para trabalhar com o programa Logic
Audio.
•
ASIO (Audio Stream Input/Output) - foram introduzidos pela
Steinberg pela primeira vez no software Cubase. Foi o primeiro tipo
de driver a oferecer latências verdadeiramente baixas na ordem dos
10ms para baixo.
•
.CoreAudio – introduzidos com o Jaguar (MacOSX 10.2) estes
drivers permitem obter latências extremamente baixas.
60
3.3.1 ASIO
ASIO (Audio Stream Input/Output) é uma tecnologia desenvolvida pela
Steinberg para a manipulação de dados de áudio digital e vídeo em seus
softwares de gravação, para superar as limitações das tecnologias originais
oferecidas pelos sistemas operativos Windows e MacOS, mais orientados para
as situações de multimédia, onde não são usadas várias pistas simultâneas e
nem se requer uma sincronização precisa e estável.
A API ASIO possui uma arquitectura com baixa latência, alto desempenho e
configuração simplificada. Permite, para além do suporte à gravação e
reprodução multi-pista sincronizada (áudio/áudio e áudio/MIDI), flexibilidade em
termos de resolução de bits e taxas de amostragem.
A interface não define nenhum limite máximo para o número de canais de
entrada e saída, sendo que este limite está definido pela capacidade de
processamento da máquina. Não impõe nenhum limite para a taxa de
amostragem (de 32 kHz até 96 kHz ou mais), para o formato da amostra
(formato 16,24,32 bits ou 32/64 bits com ponto flutuante).
O subsistema do hardware de áudio é tratado como um componente de
software designado de áudio driver. Isso implica que os fabricantes de hardware
tenham que desenvolver um driver ASIO especifico para o hardware, para que o
ASIO possa trabalhar sobre ele. O ASIO implementa canais (entrada e saída)
sob a forma buffers circulares com blocos de dados. É utilizado um mecanismo
com buffer duplo que pode ser adaptado a um grande número de diferentes
implementações para o buffer. Um buffer suporta apenas dados para um único
canal. O tamanho dos blocos de dados é verificado pelo áudio driver.
61
Diagrama 1 – Máquina de estados finitos descritora dos estados da operação
•
Carregado - O código do driver está acessível à aplicação
•
Inicializado - O driver está alocado pela aplicação e aceita inquéritos
da aplicação. Não é necessário que o hardware já esteja alocado.
•
Preparado - Os áudio buffers estão alocados e o driver está
preparado para o streamming.
•
Streamming: O streamming de áudio está em curso.
•
Inicializar - Inicializa o driver para que a aplicação o possa utilizar.
•
Criar buffers - Alocar memória para os áudio buffers e alocar
recursos do hardware para canais de áudio.
•
Começar - Começa o processo de áudio streamming.
•
Parar - Para o processo de áudio streamming.
62
•
Dispor Buffers - Liberta recursos do hardware para os canais
utilizados e dispõe a memória para os áudio buffers.
•
Sair - Liberta qualquer recurso que ainda permaneça alocado e
coloca o driver no estado anterior à inicialização.
3.4 Plugins
Os plugins de áudio são programas que funcionam de um modo hospedeiro
num programa que os suporte. Existem plugins proprietários, que normalmente
só funcionam com um único software, enquanto que outros seguem certos
standards e são aceites por todos os programas que suportem esse standard.
Os diversos plugins de áudio aparecem sob a forma de efeitos e instrumentos
virtuais. Tipicamente as implementações têm como modelo base o hardware
utilizado em estúdios profissionais. Existem plugins que implementam caixas de
efeitos tais como delays, reverbs, pedais de efeitos, flangers e chorus; outros
que são processadores para masterização e mistura tais como compressores,
limitadores. Existem também outros plugins que implementam instrumentos
virtuais, tais como sintetizadores, samplers, baixos eléctricos, etc.
Existem bastantes formatos para plugins áudio, entre os quais os seguintes:
VST, DirectX, LADSPA, AudioSuite, MAS, RTAS e TDM.
3.4.1 VST
O VST (Virtual Studio Technology) é uma interface que permite a integração
entre processadores de efeitos e instrumentos virtuais. Esta arquitectura para
63
plugins foi desenvolvida pela Steinberg e introduzida pela primeira vez no
software Cubase VST. Nos tempos actuais é, talvez, o formato mais utilizado e é
suportado pela grande maioria das principais aplicações disponíveis no mercado
que suportam plugins. A Steinberg sustenta que este tipo de plugins é mais
eficiente do que os do tipo DirectX, no entanto, tendo em conta a velocidade de
processamento actual essa diferença quase se diria insignificante. A instalação
de um VST é consideravelmente simples, bastando copiar o ficheiro do plugin
para uma directoria central que contem os plugins deste tipo, aparecendo depois
automaticamente em todas as aplicações compatíveis com este formato. A
especificação VST 2.0 surgiu simultaneamente com o Cubase 3.7, permitindo
que os plugins recebam dados MIDI e consequentemente tornando possível a
automatização dos seus parâmetros. Esta especificação abriu a porta para os
instrumentos VST. Estes são essencialmente plugins de áudio que geram dados
exclusivamente baseados em informação MIDI. A popularidade alcançada por
esta arquitectura foi tal, que certos fabricantes de hardware, desde então,
começaram a suporta-la. Assim, em certas placas, a computação relativa a
estes não é feita pelo processador mas sim efectuada por chips DSP, que
correm código completamente diferente do processador PC nativo, de uma
forma transparente para o utilizador.
3.4.2 DirectX
Os primeiros plugins a aparecerem no mercado estavam baseados na
tecnologia DirectX da Microsoft. A Microsoft DirectX é uma série de APIs
(Application Programming Interfaces) multimédia incluídas nos sistemas
operativos Microsoft Windows. A DirectX fornece uma plataforma de
desenvolvimento standard para computadores com o Microsoft Windows ao
permitir aos programadores o acesso a configurações específicas ao hardware,
64
tais como chips de aceleração de gráficos 3D e placas de som, sem qualquer
necessidade de escrever código específico para o mesmo. Esta tecnologia foi
introduzida em 1995 e é reconhecida como uma norma para o desenvolvimento
de aplicações multimédia em plataformas Windows. Os primeiros plugins
baseados neste tipo de tecnologia surgiram no mercado no ano de 1997 em
produtos como o Sound Forge 4.0a da Sonic Foundry, o Pro Audio 6.0 da
CakeWalk e o WaveLab 1.6 da Steinberg.
As APIs do DirectX permitem que aplicações de multimédia acedam a
configurações avançadas de hardware específico. Elas controlam funções de
baixo nível, incluindo aceleração de gráficos 2D; suporte para dispositivos de
entrada tais como joysticks, teclados e rato; e controlo sobre mistura e saída de
som.
Este tipo de plugins podem, nos dias que correm, ser executados a partir da
grande maioria das aplicações musicais que possuem algum tipo de suporte de
plugins, com a vantagem de normalmente possuírem um conjunto de presets
que não podem ser separados do plugin. No entanto, este tipo de formato,
possui algumas desvantagens em relação a outros formatos de plugins.
Primeiro, na grande maioria dos casos não é possível automatizar os seus
parâmetros. Segundo, este tipo de formato, requer uma instalação similar a uma
normal aplicação para ambiente Windows, necessitando de escrever dados no
registo do Windows, ainda antes de o plugin ser reconhecido por alguma
aplicação musical compatível. Associando isto ao facto de muitos deles serem
instalados numa directoria dedicada, sem possibilidade de escolha por parte do
utilizador, faz com que sejam mais difíceis de organizar.
Aproveitando as novas funções do DirectX 8.0 o software Sonar da
Cakewalk tornou também possível a automatização de parâmetros em plugins
baseados nesta arquitectura. O DX8 também tornou possível o desenvolvimento
65
de instrumentos virtuais baseados nesta arquitectura, denominados de DXi
(DirectX instruments). Com o Sonar 2.0, foi introduzido o standard DXi2.
3.5 Formatos de ficheiros áudio
Os ficheiros de formato áudio são utilizados para guardar áudio digital. Os
ficheiros áudio normalmente contêm informação acerca das características das
formas de onda incluídas e de como esta é armazenada. Normalmente
especificam o sample rate, bit-depth e tipo de compressão utilizada, tal como
outra informação que indica o tamanho da forma de onda, a quantidade de
dados necessários a serem lidos em cada segundo de reprodução, etc.
A grande maioria do conteúdo de um ficheiro áudio é utilizada para
descrever os samples de áudio individuais que são tocados sequencialmente de
forma a reconstruir a forma de onda. Os dados da forma de onda podem ser
comprimidos de diferentes formas tendo em vista a redução do grande tamanho
inerente a um stream de samples de áudio. Cada segundo de áudio
descomprimido em qualidade de CD (44.1kHz, 16-bit, estéreo) requer cerca de
172 kilobytes.
Apresento uma breve descrição dos dois tipos de formatos mais utilizados
em sistemas de software de áudio profissionais.
66
3.5.1 RIFF Wave
O formato RIFF Wave, desenvolvido pela Microsoft, é o formato de ficheiro
para armazenar áudio digital mais utilizado em plataformas Windows. Este
formato é um subconjunto da especificação RIFF da Microsoft.
O RIFF é um formato de ficheiro que permite armazenar vários tipos de
dados, essencialmente dados multimédia como áudio e vídeo. Está baseado em
chunks e sub-chunks. Cada chunk tem um tipo que é representado por uma
etiqueta de 4 caracteres. O referido tipo do chunk aparece no princípio do
ficheiro seguido do tamanho do chunk e só depois vem o conteúdo do chunk
propriamente dito. Um ficheiro RIFF na sua totalidade é um chunk que contem
vários sub-chunks. A primeira informação a ser descrita no conteúdo de um
chunk RIFF refere o tipo do chunk de mais alto nível.
O formato RIFF Wave é um subconjunto do tipo “Wave” e requer dois tipos
de chunks: um chunk do tipo fmt e um chunk do tipo data. Os do primeiro tipo
contêm dados que descrevem as características dos samples enquanto que os
do segundo contêm os samples propriamente ditos.
O RIFF Wav a capacidade de armazenar dados sobre a forma de onda em
vários formatos distintos e com diferentes tipos de compressão. O tipo mais
comum de ficheiro Wave contem dados sobre a forma de onda não comprimidos
(raw PCM) pois é o tipo mais aceite entre as aplicações áudio devido à
simplicidade inerente à descodificação de dados não comprimidos.
67
3.5.2 AIFF
O AIFF (Augio Interchange File Format): é um tipo de arquivo de áudio
desenvolvido originalmente pela Apple e usado predominantemente em
sistemas Macintosh e Silicon Graphics, sendo o standard para áudio no primeiro.
O formato codifica os dados áudio em 8 bits mono ou estéreo. Os arquivos AIFF
geralmente levam a extensão .AIF ou .IEF.
O
formato
AIFF
não
suporta
compressão
de
dados
(PCM
não
comprimidos), existindo no entanto um outro formato para dados comprimidos
AIFF-C.
3.6 Rewire e VST System Link
Apresento agora, sumariamente, duas tecnologias emergentes. A primeira
já foi adoptada pelos principais sequenciadores áudio/MIDI disponíveis e
também por Workstations áudio/MIDI. A segunda para já ainda só está
implementada em produtos da Steinberg.
O ReWire e o ReWire2 são protocolos especiais para streamming de áudio
entre duas aplicações. Desenvolvido conjuntamente pela Propellerhead e pela
Steinberg, o ReWire permite as seguintes possibilidades e funções:
•
Streamming em tempo-real de até 64 canais áudio separados (256
com o Rewire2), com uma largura de banda completa, desde uma
"aplicação sintetizador" (ex. Reason) até ao interior de uma
"aplicação de mistura" (ex. Cubase)
68
•
Sincronização de samples acertada entre o áudio das duas
aplicações
•
Possibilidade de partilha de uma placa de som entre os dois
programas, podendo ambos tirar partido das múltiplas saídas dessa
placa.
O VST System Link é um sistema de rede desenvolvido pela Steinberg para
trabalhar com áudio digital. Este sistema, que foi introduzido através do software
Cubase, permite a transferência de sincronização, transporte e de dados áudio
entre duas ou mais estações de trabalho que estejam equipadas com software e
hardware compatíveis, através dos sistemas standard de cablagem para áudio
digital. Para tal, é necessário que cada computador esteja equipado com uma
interface áudio compatível com ASIO. Este sistema suporta conexão entre
sistemas operativos diferentes. A grande vantagem deste sistema reside na
possibilidade de combinar o poder de processamento de vários computadores.
3.7 Dolby Digital
A Dolby Laboratories é uma empresa fundada em Londres em 1965 pelo
engenheiro americano Ray Dolby. A Dolby Laboratories não comercializa
equipamentos para consumidores - é uma empresa de pesquisas na área de
processamento de som. Lançou o sistema Dolby, difundido em todo o mundo,
que oferecia uma filtragem eficiente de ruídos e realçava a separação entre os
graves e os agudos, fornecendo um som estéreo limpo, em dois canais, de
óptima qualidade. O Dolby Surround, uma evolução no processo, passou a
fornecer o som em três canais - dois frontais laterais e um canal surround
(normalmente reproduzido por duas caixas traseiras) para a reprodução de
efeitos e 'atmosferas' (sons ambientais, passos ao longe, etc).
69
A evolução natural foi o Dolby Pro-Logic, que veio adicionar um canal
exclusivo para a reprodução de diálogos, normalmente por uma coluna frontal
central. Um sub-woofer também pode ser adicionado para a reprodução das
frequências mais baixas. O Dolby Pro-Logic também veio oferecer uma melhor
separação entre os quatro canais, possibilitando um melhor posicionamento das
colunas.
Em 1992 a Dolby Laboratories lança o Dolby Digital, que veio oferecer o
processamento de som em seis canais digitais discretos, separados. Sons que
normalmente não eram audíveis com muita clareza no Dolby Pro-Logic são
claramente distinguidos no Dolby Digital. Estes canais não são canais virtuais ou
simulados, mas realmente seis canais independentes, o que assegura que cada
tipo de som vai ter seu próprio canal de processamento, assegurando um som
limpo e definido, e - o mais importante - posicionado de acordo com a acção.
Pode-se distinguir claramente de que direcção vem o som.
O sexto canal, o das baixas frequências (sub-woofer) contém as
informações dos graves adicionais. Por ter uma limitação de resposta de
frequência (3 a 120 Hz) - enquanto todos os outros 5 canais reproduzem o
espectro total de frequências possível - o sexto canal foi denominado de 'canal
.1'. Ao analisá-lo junto com os outros 5 canais que compõem o Dolby Digital,
temos o sistema "5.1".
Uma grande vantagem do Dolby Digital para filmes de cinema é que sua
estrutura permite que ele seja gravado no próprio rolo do filme, justamente no
espaço entre os orifícios para a passagem dos dentes da roda que puxa o filme.
Este espaço na película é bastante resistente. As evoluções do sistema Dolby
sempre mantiveram sempre a compatibilidade com os sistemas anteriores.
70
4 Panorama do mercado
O lançamento de ferramentas de software, que se enquadram no âmbito
deste projecto, no mercado comercial dá-se a um ritmo diário. Assim sendo é
francamente impossível estar a par de todas as soluções disponíveis. Na parte
que se segue vou fazer uma breve descrição das principais características de
alguns softwares que se enquadram em tipos diferentes. A escolha tentou recair
sobre soluções que ao longo das suas versões tenham desempenhado um
papel importante no desenvolvimento e introdução de novas tecnologias. É certo
que softwares que têm tido uma grande importância, nos últimos anos, e uma
grande cota de mercado, não serão desenvolvidos. Tal é o caso do Pro Tools da
Digidesign, do Sonar da Cakewalk ou Logic Audio da Emagic. No entanto
justifico a escolha de preterir estes em relação a outros, como é o caso dos
produtos da Steinberg, devido ao facto de os produtos desta companhia terem
sido importantes na introdução de novas tecnologias que levaram a uma maior
integração entre produtos de diferentes fabricantes.
4.1 Reason
O Reason é um software desenvolvido pela empresa sueca Propellerheads
Software que traz o conceito de workstation MIDI para o computador, contendo
sequenciador, sintetizadores, samplers e baterias, além dos efeitos, mas sem
perder o conceito do hardware, com conexões de cabos e toda a cultura dos
racks de teclados e mesas de som.
A base constituinte do Reason é a sua rack que está dividida em 4
módulos: um para entradas MIDI, um para saídas áudio, o sequenciador e a
71
parte vazia da rack. Através do primeiro módulo o utilizador pode atribuir canais
MIDI a qualquer dispositivo que se encontre carregado na rack. O programa
suporta até 64 canais de entrada MIDI.
O espaço vazio da rack é o sítio onde aparecem todos os dispositivos
(instrumentos, efeitos, mesas de mistura e sequenciadores) que forem
requisitados. O módulo de saídas de áudio possui 64 saídas que podem ser
utilizadas para comunicar com outras aplicações através do ReWire, introduzido
por esta aplicação, ou com placas de som que possuíam várias saídas.
O sequenciador é constituído por duas partes: um painel de controlo e o
sequenciador propriamente dito. O primeiro inclui os normais controlos para
reprodução, gravação, paragem e movimento. Para além destes contem, entre
outros, um metrónomo, controlo para o tempo e pontos de localização. O
sequenciador propriamente dito permite, de uma forma, geral desenhar
automatizações, notas e slices com as características pretendidas; efectuar
quantizações; e aplicar eventos.
Figura 6 – Screenshot do software Reason 2.5
72
Na sua última versão, o Reason 2.5, inclui dois sintetizadores, um com
síntese subtractiva e outro com síntese granular, dois samplers, uma caixa de
ritmos e um reprodutor de loops. Para além destes dispositivos inclui também
uma mesa de mistura, um sequenciador do tipo analógico e as seguintes caixas
de efeitos: 1 vocoder, 1 delay, 2 reverbs, 2 compressores, uma unidade de
distorção, 1 phaser, 1 chorus/flanger, 1 equalizador paramétrico de 2 bandas, 1
filtro controlado por um envelope, uma unidade de efeitos Sound Destruction e
uma unidade de efeitos Unison. Possui também dois divisores de sinal, um para
áudio e outro para CV e gate.
A sequenciação, para além de ser feita através do sequenciador geral, pode
ser feita no sequenciador analógico Matrix e na caixa de ritmos Redrum, que
também possui um sequenciador próprio. O programa suporta automação para a
grande maioria dos controladores dos dispositivos.
4.2 MAX MSP
O Max é uma linguagem de programação por objectos interactiva,
desenvolvida inicialmente pelo IRCAM (Institut de Recherche et Coordination
Acoustique/Musique) de Paris, com o intuito de aplicar o protocolo MIDI à
música contemporânea instrumental. Agora comercializado pela Cycling ’74,
permite a criação de aplicações musicais e multimédia, sendo o seu nome uma
homenagem a Max Mathews. Esta aplicação, que de momento só existe para
plataformas MAC, teve um grande sucesso junto dos meios académicos estando
anunciada uma versão para plataformas Windows. A sua interface permite as
criar aplicações ligando graficamente objectos. Esses objectos estão divididos
nas seguintes áreas:
•
Ferramentas para construção da interface com o utilizador
73
•
MIDI (entrada e saída) – notas, controladores, pitch-bend, gravação
da sequência e playback, ficheiros MIDI, analise e construção de
mensagens MIDI e mensagens SysEx, nomes para dispositivos
OMS, nomes para patchs e nomes para notas.
•
Escalonamento - metrónomos, delays, pipes, processamento de
níveis de prioridade.
•
Aritmética e lógica - funções aritméticas básicas, expressões do tipo
C,
as
trigonométricas
e
transcendentais,
comparações,
mínimo/máximo, operações sobre vectores, geradores de números
aleatórios, contadores, operadores bitwise, transformações de
coordenadas.
•
Dispositivos - dispositivos série, leitor de CD e leitor DVD, suporte
para o dump de samples MIDI.
•
Estruturas de dados - tabelas, colecções, funções, captura de dados.
•
Lógica - contadores, gates, interruptores, if/then/else,
routing de
mensagens.
•
QuickTime - toca qualquer ficheiro suportado pelo Quicktime,
sequenciação vídeo, preview do ficheiro, transformação de matrizes.
•
Sequenciação – linha temporal, sequenciador gráfico, gravador multipistas.
Aos mais de 200 objectos (funções) de base (MIDI e multimédia) a
extensão MSP vem adicionalmente permitir todas as operações com sinais
áudio em tempo real, da análise à síntese, passando por sampling e todo o tipo
de processamento e transformações do sinal.
74
Este software é especialmente apropriado para a criação de sistemas
interactivos (instalações e ambientes reactivos) e em particular para a produção
de sistema de suporte a actividades de performance (música, artes de palco, DJ,
VJ).
4.3 HALion
O HALion é um sampler da companhia Steinberg que funciona como plugin
VST e DirectX.
Apresento de seguida as principais características deste sampler:
•
Suporte para 32 bits
•
Envelopes com até 8 pontos de edição e dois LFO’s
•
Filtros Notch/HiPass/LoPass/BandPass / 12dB / 24dB com função
fatness
•
Navegação através de track-ball virtual.
•
Criação de keyzones para suporte de multi-sampling
•
16 Canais Midi (integração completa com VST), 128 programas
•
Filtros e parâmetros podem ser aplicados individualmente a cada
sample ou a todo o programa
•
Inclui editor de loops
•
Teclado virtual para despoletar directamente ou pré-escutar samples
•
Vários parâmetros para modulação e afinação
75
•
Saídas virtuais
4.4 Reaktor
O Reaktor da Native Instruments é um kit de construção modular para as
plataformas Windows e MacOS.
O software disponibiliza centenas de blocos de construção para
manipulação de som que podem ser utilizados para construir sintetizadores,
samplers, caixas de ritmos e processadores de efeitos. Pode funcionar em modo
standalone e como plugin suportando as tecnologias VST, ASIO, MAS, DXi,
DirectConnect, CoreAudio e AudioUnits.
Suporta a importação e compatibilidade com os seguintes formatos de
áudio digital: AIFF, WAV e SDII até 32 bits; e AKAI.
Um ensemble é um conjunto de instrumentos, cada qual com a sua própria
superfície de controlo com botões e faders com a sua própria estrutura interna
para fazer um efeito ou gerar um som. O programa já inclui uma livraria com
dezenas de instrumentos e efeitos já construídos, entre os quais os seguintes:
•
Sintetizadores - cada um inclui vários presets já definidos. Os
métodos de síntese empregues emulam tipos de síntese analógica,
híbrida e digital que vão desde a síntese AM ate à FM, da Wavetable
à aditiva.
•
Samplers - os samplers incluídos abrangem desde pequenas e
simples unidades até samplers granulares.
•
Efeitos - inclui reverbs, delay, vocoders e efeitos granulares.
76
Existe a possibilidade de combinar instrumentos já existentes com vista à
construção de novos instrumentos.
A superfície de controlo pode ser modelada definindo o tamanho e tipos de
botões e displays até a integração de imagens e gráficos.
Como blocos de construção para instrumentos virtuais existem módulos e
blocos de funções (macros), tais como osciladores, filtros, LFOs, samplers,
sequenciadores e efeitos.
A estrutura é o plano sobre o qual se assentam os módulos e macros. A
ligação entre os módulos é feita com recurso a cabos.
Figura 7 – Screenshot do software Reaktor 4.0
4.5 Cubase
Este software tratasse de um sequenciador que integra sequenciação MIDI
com síntese e processamento de áudio por software. É o principal produto da
Steinberg Media Technologies, companhia fundada em 1984 por Karl Steinberg
77
e Manfred Rurup, dois programadores que já antes tinham concebido aplicações
musicais para Commodore C64 e ATARI. Em 1990 saiu a primeira versão para a
plataforma Macintosh e com a segunda versão tornou-se no primeiro
sequenciador a suportar áudio e MIDI. Em 1996 foi apresentado neste software
o sistema VST o que revolucionou os sistemas de sequenciação áudio/MIDI.
Dois anos mais tarde apareça a primeira versão para a plataforma Windows e no
ano seguinte apareceu uma versão que introduziu o VST2 e o ASIO.
Foi também a primeira aplicação a introduzir a tecnologia Rewire
(conjuntamente com o Reason) e a tecnologia VST System Link.
Figura 8 – Screenshot do software Cubase SX
De
origem
vem
com
um
conjunto consideravelmente grande de
instrumentos virtuais (sintetizadores, caixa de ritmos e baixo eléctrico), de caixas
de efeitos VST e de plugins MIDI. Entre os plugins que inclui é de salientar um
que permite a escrita em partituras. Suporta três tipos de automação diferentes:
Touch fader, Auto Latch e X-over.
Inclui um sequenciador vídeo e uma mesa de mistura com capacidades
para suportar a tecnologia Dolby 5.1.
78
5 Open Source
Nos últimos anos o software livre parece ter-se convertido numa alternativa
real ao software proprietário. Cada vez mais são os administradores de sistemas
e programadores que conhecem as vantagens e desvantagens dos sistemas de
Software Livre (Open Source), encabeçados pela FSF (Free Software
Foundation) e pelo sistema operativo GNU/Linux.
São muitos os que conhecem a flexibilidade e a potência que oferecem os
sistemas GNU/Linux em campos tão variados como os servidores de redes,
bases de dados, calculo simbólico e numérico, clustering e supercomputação ou
como um simples sistema de escritório alternativo ao Microsoft Windows.
No entanto existem múltiplos campos da informática nos quais o software
livre ainda não terminou de assentar as suas bases. Entre eles incluem-se os
sistemas de produção e criação musical. Não é o propósito deste projecto fazer
uma análise e justificação dos motivos que impulsionaram os sistemas de
software livre em certos sectores da indústria, no entanto parece-me importante
encontrar os motivos pelos quais ainda existe uma falta de bases nos sistemas
de produção e criação musical.
Uma das razões que evitam a penetração de utilizadores deste tipo de
sistemas em ambientes Linux, não é ao contrário do que possa parecer, a falta
de aplicações deste tipo, nem a qualidade destas aplicações mas sim as
diferenças que existe em relação ao perfil do utilizador destas aplicações. As
empresas de software de sistemas musicais adoptaram ao longo da sua história,
como estratégia de marketing, os convénios de colaboração educativa com
diferentes instituições de formação, com vista a que os potenciais clientes já
sejam utilizadores do software com formação específica. Assim sendo, o esforço
79
que a alteração de ferramenta pressupõe é na maioria dos casos uma barreira
insuperável, em grande parte também contribui o desconhecimento da matéria
independente do software. Hoje em dia é fácil encontrar escolas, universidades
ou conservatórios que utilizaram software como o Cubase ou o Logic Audio.
Em GNU/Linux ainda são escassas as ferramentas que estão preparadas e
ajustadas às necessidades do utilizador final, e destas poucas aplicações a
grande maioria têm como base a linha de comandos ou são baseadas em
scripting. Algumas combinam uma interface gráfica austera com sistemas de
programação de scripts e as que dispõem de um interface gráfico amigável ou
estão ainda bastante limitadas ou distam bastante do estilo já imposto pelas
aplicações existentes noutras plataformas. Nenhuma possui ainda o entorno
integrado no qual se possa editar áudio, vídeo e MIDI de forma indistinta.
AGNULA (A GNU/Linux Audio distribution) é o nome de um projecto
fundado pela Comissão Europeia com o objectivo de desenvolver duas
distribuições de referência, para sistemas operativos GNU/Linux, completamente
baseadas em Software Livre e completamente dedicada para aplicações áudio,
de consumo e profissionais, e para desenvolvimento multimédia. Uma
distribuição será baseada em Debian (DeMuDi) e a outra em Red Hat
(ReHMuDi). O projecto teve início a 1 de Abril de 2002 e tem a duração de 2
anos. Um dos intuitos destas distribuições é resolver todos os problemas,
relacionados com incompatibilidades entre hardware áudio, existentes em
sistemas GNU/Linux. Outro dos objectivos será fornecer sofisticados e coerentes
pacotes de software que já se encontra disponível em separado. Na área
científica espera-se que este projecto dê um impulso à pesquisa e a novos
desenvolvimentos no campo do áudio.
80
5.1 Sistema de som GNU/Linux
Quase todas as distribuições GNU/Linux incluem um sistema de som,
formado normalmente pelo suporte de som a mais baixo nível (controladores e
módulos da kernel), uma camada intermédia do software auxiliar necessário
(misturadora, conversor de formatos, reprodutores de ficheiros, etc.), e pelas
aplicações de mais alto nível. O AGNULA adere a esta divisão básica de níveis
do sistema, tendo cada nível um alto grau de personalização e optimização.
ALSA, JACK e LADSPA são três dos componentes mais do AGNULA. Cada
um proporciona um serviço único, e todos eles encaixam entre si. Estes três
componentes são da maior importância para o AGNULA.
O ALSA (Advanced Linux Sound Architecture) é um projecto criado com o
intuito de substituir os obsoletos módulos controladores de som da OSS/Free (a
anterior API de som da kernel), mantendo compatibilidade total com estes.
Especifica uma API padronizada para comunicação com hardware áudio e MIDI.
O ALSA suporta ISA Plug-and-Play, PCI, USB e dispositivos pela porta série.
O JACK (JACK Audio Connection Kit) é um sistema ainda em
desenvolvimento para GNU/LINUX, consistindo num conjunto de bibliotecas
(libjack), um servidor de áudio (jackd) e um pacote de desenvolvimento. O
servidor áudio caracteriza-se por permitir streaming de dados de baixa latência e
de banda larga, entre aplicações de áudio independentes. Permite a conexão de
um número diferente de aplicações a um dispositivo de áudio, assim como
permite que estas partilhem áudio entre si. Uma configuração JACK caracterizase por um servidor e um ou mais plugins JACK, sendo possível correr vários
servidores, funcionando cada um deles de forma independente. Para que uma
aplicação actue como um cliente no barramento JACK só é necessário escrever
81
um simples procedimento de callback JACK, que basicamente passa a gestão
de qualquer serviço áudio requerido ao servidor JACK.
O LADSPA (Linux Audio Developer's Simple Puglin API) é uma arquitectura
para plugins de áudio em sistemas GNU/Linux. O LADSPA SDK está dividido
numa API para plugins, uma pequena colecção básica de plugins para estudo e
utilização, e um conjunto de utilitários para listar e descrever os plugins
disponíveis no sistema.
5.2 CSound
Em 1985, Barry Vercoe do MIT, disponibilizou uma versão da MUSIC que
podia ser compilada em qualquer computador que suportasse a língua de
programação de C. Essa versão incorporava mais de dez anos de pesquisa
adicional. Não demorou muito para que o Csound estivesse disponível nas
plataformas Windows, Macintosh, Linux e depressa se tornasse numa linguagem
de síntese e processamento de áudio standard um pouco por todo mundo.
O Csound, distribuído sob a licença GNU-LGPL, está projectado e
optimizado para renderização de som e processamento de sinal. A linguagem
consiste em cerca de 450 opcodes, que são os códigos operacionais, a partir
dos quais se pode construir instrumentos ou patches. Tem suporte MIDI e os
tipos de síntese suportados são os seguintes: aditiva, subtractiva, FM, AM, PM,
Waveshaping, granular, FOF (Formant Synthesis),
Embora
já
existam
diversos
interfaces
gráficos
disponíveis
cada
composição consiste tipicamente, no mínimo, em dois ficheiros de texto, um com
a definição dos instrumentos usados (.orc) e o outro com as notas musicais e os
82
geradores de sons, tais como osciladores, envelopes, ou outras formas de onda
(.sco).
Figura 9 – Screenshot de um GUI para o CSound
No Csound a complexidade de um instrumento a construir não se encontra
limitado por um determinado número máximo de módulos que se possam
utilizar. Sendo assim é possível criar uma textura granular com 1 milhão de
vozes.
Os opcodes da linguagem estão divididos em diversas categorias existindo
uns que são específicos a um tipo particular de síntese e outros para o
processamento de samples.
A renderização do som pode ser feita e gravada para um ficheiro do formato
WAVE ou AIFF (16, 24 ou 32 bits) ou então pode ser realizada em tempo real
caso o computador seja suficientemente rápido. O programa também suporta
controladores MIDI e áudio em tempo real.
83
6 Considerações finais
O desenvolvimento da síntese sonora, aparte de pequenos refinamentos,
está praticamente completo. A tecnologia já chegou a um ponto em que a
qualidade dos sons que podem ser produzidos está próxima dos limites físicos
do ouvido humano. A tecnologia digital permite modelos por software de
instrumentos musicais reais e imaginários, sejam combinados com instrumentos
puramente sintéticos derivados da matemática – sem nenhum tipo de limite à
vista.
Os sistemas actuais residem na combinação de ferramentas de
sequenciação, gravação, composição e arranjo, num todo integrado. A imagem
começa aos poucos a estar integrada neste todo mas na maioria dos casos
ainda de uma forma ténue e pouco flexível.
Relativamente a áreas de pesquisa e futuros desenvolvimentos no tipo de
sistemas abordados neste projecto, creio que duas áreas se salientam: o
processamento distribuído de áudio em tempo real e a interface entre o
instrumento e executante em tempo real. Em relação ao primeiro caso, a
Steinberg foi a primeira entidade a apresentar uma solução comercial para o
efeito. No entanto outros trabalhos de pesquisa existem na área e novas
soluções surgiram nos próximos tempos. Relativamente à segunda área, dou o
exemplo do trabalho realizado no IRCAM, pela equipa Real Time Applications.
Fruto deste trabalho de investigação é já distribuído, sob a licença GNU/GPL, o
software jMax, cujas aplicações não se limitam à interacção e processamento
em tempo real de música e informação sonora, encontrando também aplicações
industriais.
84
7 Referências
http://jackit.sourceforge.net – Página de distribuição do JACK.
http://midistudio.com – Vários artigos e documentos sobre o MIDI.
http://msdn.microsoft.com/library - Libraria MSDN.
especialmente importância a parte de Multimédia Áudio.
para
este
projecto
http://www.agnula.org – Página do projecto AGNULA.
http://www.alsa-project.org/ - Página do ALSA e alguma documentação a ele
relativa.
http://www.borg.com/~jglatt/ - Vária informação sobre MIDI. Inclui informação
sobre programação MIDI.
http://www.cubase.net – Página da Steinberg de suporte ao Cubase. SDKs para
ASIO e VST.
http://www.cycling74.com – Página da empresa que comercializa o MAX/MSP.
http://www.csounds.com – Página do CSound. Distribuição do programa e
informação variada.
http://www.demudi.org - Debian Multimedia Distribution. Vária documentação
sobre os projectos em curso.
http://www.dolby.com/ - Homepage da Dolby Laboratories. Informação técnica.
http://www.emagic.de – Página da empresa criadora do software Logic Áudio, a
Emagic.
http://www.emusician.com – Página da revista Electronic Musician com artigos e
tutoriais.
85
http://www.germanolins.hpg.ig.com.br – Site sobre tecnologia digital aplicada à
música, com informação técnica e tutoriais.
http://www.harmony-central.com – Diversa informação e links relacionada com
música e computadores.
http://www.ircam.fr – Página do IRCAM. Informação sobre os diversos projectos
em curso.
http://www.keyboardmag.com/ - Revista Keyboard Magazine com vários artigos
disponíveis.
http://www.kvr-vst.com – Página regularmente actualizada que anuncia
regularmente os novos produtos disponíveis no mercados. Tutoriais vários e boa
informação sobre plugins áudio.
http://www.midi.org – Site com as especificações MIDI.
http://www.midiwarehouse.com – Loja online com hardware e software
relacionado com o tema do projecto.
http://www.nativeinstruments.de – Homepage da Native Instruments com
informação acerca dos seus produtos.
http://www.propellerheads.se – Página da Propellerheads Software com
informação sobre os seus produtos.
http://www.protools.com – Pagina da Digidesign e do seu produto Protools.
http://www.sospubs.co.uk – Revista Sound On Sound. Vários artigos disponiveis
online.
http://www.steinberg.net – Homepage da Steinberg. Informação sobre os vários
produtos disponíveis.
http://www.studiocovers.com – Directório com vários artigos e links para páginas
relacionadas com gravação e produção musical.
86
8 Bibliografia
Computer sound synthesis for the electronic musician (Eduardo Reck Miranda) Musical Technology Series, Focal Press (1998)
Sound synthesis and sampling (Martin Russ) – Musical Technology Series, Focal
Press (1996)
87
9 Glossário
Altura - A altura é a qualidade que define cada nota. Está relacionada com a
frequência do som, medida em Hertz. Quanto maior for a sua altura mais aguda
será o som.
DIN – Deutsche Industrie Norm: Utilizado para descrever conectores, tal como o
conector de 5 pinos utilizado para MIDI.
Filtro - um remove ou reduz determinadas frequências num sinal de áudio.
LFO – oscilador de baixa frequência
Loop – fragmento de áudio.
MIDI – Acrónimo para Musical Instrument Digital Interface. Um standard
internacional para troca de informação sobre eventos musicais.
Monofónico – um instrumento que só pode tocar uma nota de cada vez
Oscilador – um circuito que produz uma saída repetitiva
Polifonia – o número total de notas simultâneas que um instrumento pode
produzir.
Quantizar - Função disponivel nalguns sintetizadores e softwares que modifica
informação em memória para aperfeiçoar a precisão rítmica e corrigir erros de
execução.
88
Sample (amostra) - um som ou um curto pedaço de áudio guardado digitalmente
num computador, sintetizador ou sampler. A palavra pode se referir quer a um
momento único num stream de áudio digital (o mais pequeno pedaço de dados
utilizado para representar um sinal áudio num determinado momento); quer a um
som completo ou um stream de áudio digital construído a partir de uma colecção
individual de samples.
Sampler - um dispositivo que utiliza samples como método principal de
geração da sua saída áudio. Os samplers utilizam frequentemente um
número de samples em conjunto para criarem reproduções de sons reais
e de instrumentos musicais de uma forma mais realista.
Semínima – um valor musical que equivale a um tempo.
Tempo – o tempo indica o número de semínimas que se produzem num minuto,
e na música tradicional indicasse mediante um número ou, de forma
aproximada, mediante um substanivo (ex: allegro). Num sequenciador MIDI, é
possível definir em cada instante o valor exacto do tempo e até mesmo fazer
com que este varie de forma continua.
Vocoder
–
Um
modificador
que
divide
um
sinal
processamento, em bandas de frequências separadas.
89
áudio,
para
Download

Sampling