1 INTRODU˙ˆO 5 - dei.isep.ipp.ptpaf/proj/Julho2003/Criacao_Producao_Musical.pdf · para os...

89

Transcript of 1 INTRODU˙ˆO 5 - dei.isep.ipp.ptpaf/proj/Julho2003/Criacao_Producao_Musical.pdf · para os...

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 EFEITOS ............................................................................................................................ 18 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 TIPOS DE SOFTWARE .......................................................................................................... 21

2 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 WINDOWS MIDI............................................................................................................... 46 2.7.1 Stream Buffers............................................................................................................. 46 2.7.2 Serviços MIDI ............................................................................................................. 47 2.7.3 Estruturas MIDI.......................................................................................................... 50

3 Á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 ASIO............................................................................................................................ 61 3.4 PLUGINS............................................................................................................................ 63

3.4.1 VST.............................................................................................................................. 63 3.4.2 DirectX........................................................................................................................ 64

3.5 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

4 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

5 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 encurta-

las (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 piano-

roll 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 uma das seguintes funções:

48

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 Tipo Descrição

dwVersion 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 um determinado sintetizador interno.

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 multi-

pistas.

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 caracteriza-

se 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. para este projecto especialmente importância a parte de Multimédia Áudio. 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 áudio, para

processamento, em bandas de frequências separadas.

89