Você está na página 1de 12

Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

Capítulo 01) Áudio Digital

1.1 Conceitos Básicos de Áudio Digital

A Álgebra Booleana – criada por George Boole (1814-1864) – é a base da


Aritmética Computacional. É nela que se fundamentam as tão comuns operações
lógicas: “E”, “SE” e “Ou”. Além disso, a Álgebra Booleana também é o fundamento
da matemática computacional baseada em Números Binários. Seqüências binárias
podem significar uma seqüência de “Verdadeiros” e “Falsos”, onde 1 = Verdadeiro e
0 = Falso, ou ainda 1 = sim e 0 = não.

Figura 1.1 – George Boole fazendo o


pedido de um almoço (Benson 2007:249).

Como o quadrinho da Figura acima satiriza, seqüências de zeros e uns no


computador (sim e não) podem indicar qualquer coisa, uma palavra, um comando, um
pedido de almoço, e assim por diante. Ao pressionar uma tecla/letra do seu teclado, o
computador recebe um número binário que corresponde a ela. Da mesma maneira,
uma nota musical no seu controlador MIDI também é representada por uma seqüência

1
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

numérica. Por fim, qualquer arquivo digital alocado na Memória ou Disco Rígido do
seu computador são seqüências de “Zeros” e “Uns”. De fato, um arquivo no
computador (como o de um som digitalizado) é medido pelo espaço que ele ocupa em
“Zeros” e “Uns” (bits, Bytes, Mega Bytes, etc.).

Dados essenciais:

- Um “Bit” (abreviação de Dígito Binário, do inglês “BInary digiT”) é


a menor unidade de medida de um arquivo no computador. No
sistema numérico decimal, um Bit pode indicar apenas o valor 0 ou 1
(verdadeiro ou falso).
o O protocolo Midi, por exemplo, possui 7 Bits. As combinações de
todos os Zeros e Uns numa seqüência de 7 Bits faz que com o
protocolo MIDI seja capaz de representar 128 valores (ou de 0 a
127).
 Calcular o número de possíveis valores de X Bits é fácil,
precisamos apenas elevar o número 2 por X (número de
Bits). No caso do protocolo MIDI (7 Bits), temos 27 = 128.

- Um “Byte” é um conjunto de 8 Bits, que pode representar do número


0 ao 255, uma vez que 28 = 256.

As abreviações de bits e Bytes são, respectivamente, b (minúsculo) e B


(maiúsculo), logo, 7b = 7 bits, 7B = 7 Bytes. Dada a grande capacidade de
armazenamento nos computadores de hoje, usamos também algumas abreviações de
números como o K (de Kilo = Mil), M (de Mega = Um Milhão) G (de Giga = 1
Bilhão), e T (de Tera = Um Trilhão). Dessa Maneira, 1 MB (Um Megabyte) = 1
Milhão de Bytes, que equivale a 8 Mb (Oito Megabits), ou uma seqüência binária
com 8 Milhões de dígitos (zeros ou uns), a combinação de números decimais que
podem ser representados em 1MB é, portanto, a enorme quantia de 28.000.000.
Seria simples se parássemos por aí, mas há também outra medida que
considera que 1KB não é igual a 1.000 Bytes, e sim 1.024 Bytes, e isso pode gerar um
pouco de confusão. A primeira delas é quando medimos no sistema operacional a
capacidade de nosso disco rígido e temos a impressão de que fomos enganados. Em
um HD de 320GB, por exemplo, o sistema pode acusar a capacidade de 297GB.
Essa medida de 1.024 para um Kilo não é à toa. Devido à arquitetura binária, é
comum que muitas medidas e cálculos no computador se baseiem em potências de 2,
já que uma seqüência binária sempre é uma potência de 2 em números decimais. Por
isso que a adoção de 1024, ou 210, surge como uma solução de medida pertinente.

2
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

Portanto, os termos Kilobyte, Megabyte, Gigbyte e Terabyte são ambíguos,


pois Kilo, Mega, Giga e Tera podem significar, respectivamente, tanto 103 (mil), 104
(milhão), 105 (bilhão), 106 (trilhão) quanto 210 (1.024) 220 (1.048.576), 230
(1.073.741.824), e 240 (1.099.511.627.776). Podemos diferencia-los por definir qual o
tipo de prefixo adotado na medida. O Kilo Prefixo Binário é o das potências de 2
(210), enquanto que no Prefixo SI é o sistema decimal (103, mil). Veja que quanto
maior a medida, maior a diferença, de modo que para o Tera há uma discrepância
maior entre os valores Binário e SI do que em Gigas.
Sistemas operacionais costumam acusar o tamanho de arquivos no Prefixo
Binário, mas a capacidade de armazenamento de HDs é normalmente em Prefixo SI.
Memória RAM, por sua vez, implica o Prefixo Binário. A partir do sistema MAC OS
10.6, entretanto, a capacidade do HD é no Prefixo SI. Assim você compra um HD de
500GB e o sistema acusa 500GB.

Exercícios:
1) Quantos valores temos em 16 Bits?

2) Quantos MB temos em 3 Gb?

3) Quantos Teras, no Prefixo Binário, tem um HD de 2 TB?

1.2 Resolução em Bits

Figura 1.2 – Vibração da corda à esquerda e representação da oscilação


sonora (compressão e rarefação) no tempo em decibéis (dB) à direita.

Na Figura 1.2 acima, temos, à esquerda, a vibração de uma corda, cujo


deslocamento resulta em uma compressão e rarefação das moléculas de ar. O gráfico

3
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

da forma de onda, à direita, como estamos acostumados a encontrar, representa a onda


sonora no tempo (segundos) e a amplitude em decibéis (dB). O que a escala em
decibel indica é a intensidade sonora, relacionada à variação de pressão das moléculas
de ar. Porém, os valores da Amplitude em decibéis são os mesmos tanto para o
momento de compressão, quanto de rarefação do ar. Ou seja, não importa se a
Amplitude está “acima” ou “abaixo” do ponto de repouso, em outras palavras, e a
grosso modo, não há um valor “positivo” e “negativo” em decibéis.
No Áudio analógico, a variação de pressão é representada em variação de
voltagem (que excita um alto-falante). Nesse caso, temos um valor positivo e negativo
de voltagem, que diferencia o momento de compressão e rarefação. Em Áudio
Digital, um valor numérico (binário) é usado para representar a Amplitude do som.
Entretanto, diferentemente de uma representação em decibéis, não é o mesmo número
binário que representa o ponto de compressão e rarefação máxima.
A oscilação do som varia de forma contínua na natureza. Logo, não há um
passo escalar mínimo. Da mesma maneira, qualquer valor infinito pode ser
representado em decibéis, ou (na teoria) em voltagem. Mas qualquer representação
numérica que seja finita será uma aproximação. Em Áudio Digital, o conjunto de
números para representar a Amplitude é finito, e a resolução da aproximação depende
da Resolução em Bits (denominada Quantização em Bits).

Figura 1.3 – Representação digital em 4 Bits (fonte, wikipedia 2009).

A Figura 1.3 apresenta uma forma de onda em vermelho (correspondente ao

4
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

sinal sonoro original), e sua quantização em 4 Bits. A linha preta que delimita a área
cinza do gráfico é a representação digital desse som em 4 Bits. Essa resolução nos
permite um conjunto de 16 valores para representação de amplitudes, pois 24 = 16
(valores de 0 a 15 no gráfico). Porém, isso não implica que temos 16 possibilidades de
volume, uma vez que não são os mesmos valores que representam a compressão e
rarefação das moléculas de ar (como numa escala em decibéis). Logo, na prática,
temos a metade dos valores para representar o nível de volume!
Deve ficar claro que um sinal de áudio terá melhor qualidade de acordo com
sua Quantização em Bits. Se meu arquivo de som fosse representado por apenas 1 Bit,
eu teria apenas os valores de 0 e 1 para representar sua Amplitude. A Onda Quadrada
é a única forma de onda que eu consigo representar nessa resolução extremamente
limitada. A Quantização deve ser de pelo menos 8 Bits, com 256 diferentes
possibilidades de representação. A grosso modo, uma metade disso seria para a
compressão, e a outra para a rarefação (logo, 128 possibilidades de volume).
O padrão do CD de áudio digital é de 16 Bits (216 = 65.536 valores). No Áudio
digital, é comum que os valores de Amplitude variem entre 1 e -1. Isso implica que
esse ponto Médio tem um valor de Zero, e valores acima e abaixo (correspondentes à
compressão e rarefação) sejam, respectivamente, Positivos e Negativos. Esse
procedimento faz com que a representação esteja mais de acordo com o Áudio
Analógico, e sua relação direta com voltagem positiva e negativa.
Não importa qual a resolução em Bits, os valores máximos e mínimos sempre
estarão entre 1 e -1. Entretanto, as nuances entre esses valores dependem das
diferentes resoluções de uma Quantização em Bits. A resolução em Bits que podemos
manipular no computador depende da capacidade do software, mas a decodificação
desse sinal depende da resolução da sua placa de som, ou melhor, do conversor
analógico/digital. Por mais que o padrão do CD seja 16 bits, é comum que placas de
som permitam uma conversão de maior resolução. Da mesma maneira, os programas
de computador podem trabalhar com uma resolução maior que a da placa de som, em
até 32 bits, como é o caso do programa Puredata (http://puredata.info/), que servirá
como plataforma de exemplos interativos para este livro.

Notas Importantes:

- A representação analógica também segue uma variação positiva e


negativa de voltagem em relação a um ponto de repouso, assim como

5
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

no meio digital, que varia de -1 a 1 em relação ao ponto de repouso


igual a zero. A escala em decibéis afere um mesmo valor para pontos
no momento de compressão e rarefação das moléculas de ar.
- Há dois tipos de conversores em Bits, os lineares e não lineares. Um
conversor linear mapeia e converte linearmente a variação do pulso
em Bits, enquanto que um conversor não linear pode ampliar a
capacidade de representação.
o Segundo Roads (1995:40), para sabermos quanto que um sistema
digital pode representar na escala de decibéis (em uma conversão
linear), basta multiplicar o valor da resolução em Bits por 6 (de
modo que 8 Bits = 48dB, 20 Bits = 120 dB).

Exercícios:
1) Quantas possibilidades de representação digital de volumes temos no
programa Puredata, considerando uma conversão linear?
2) Na Figura 1.3 da apostila, temos uma conversão linear em 4 bits. O valor
mínimo (- 1) corresponde a 0, e o máximo (1) a 15. Em um sistema de conversão
linear em 32 bits, os pontos de amplitude de -0.5 e 0.5 são, respectivamente,
[(232)x(¼) – 1] = 1.073.741.823, e [(232)x(¾) – 1] = 3.221.225.471. Seguindo o
exemplo recém dado, em um conversor linear, os valores de -0.25 e -0.75
correspondem a quais pontos no padrão do CD? E qual é a faixa dinâmica em decibéis
que temos nesse padrão?

1.3) Resolução da Taxa de Amostragem (Sample Rate)

Tudo o que sabemos por enquanto é que um arquivo de Áudio Digital possui
um número binário para representar sua amplitude no tempo. Esse número costuma
ser de 8, 16, 24, ou 32 Bits. Mas se o valor da Amplitude varia no tempo, precisamos
saber quantas vezes no tempo é que colheremos uma amostra da Amplitude desse
som.
Esse número de vezes chama-se “Taxa de Amostragem”, ou, em inglês,
Sample Rate. A taxa é medida em KHz (KiloHertz - mil vezes por segundo). Pegando
novamente o exemplo do CD, a Taxa de Amostragem nesse padrão é de 44.1Khz, o
que indica que em 44.100 vezes por segundo teremos um número binário (de 16 Bits)
para representar a amplitude do som naquele momento.
É fácil calcular o tamanho de um arquivo de som de acordo com seu tempo.
Ainda mais uma vez, peguemos o exemplo do CD: São 44.100 amostras por segundo
vezes 16 Bits, mas como o sinal é em Estéreo, é isso vezes 2. Bom, 44.100 x 16 x 2 =
1.411.200 Bits, ou (divididos por 8) 176.400 Bytes. Cada minuto é isso vezes 60, e
equivale a 10.584.000 Bytes, que é em torno de 10,09 MegaBytes no prefixo Binário,

6
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

tal como costumamos medir no computador.


Um arquivo .Wav ou .Aiff será um pouquinho maior que isso, uma vez que
além do próprio arquivo de som, há um espaço alocado para o cabeçalho do arquivo,
uma espécie de rótulo, que identifica qual tipo de arquivo ele é, dentre outras coisas.
Já deve estar claro que, se mudarmos tanto a resolução em Bits como a
resolução da Taxa de Amostragem, nosso arquivo digital ocupará mais ou menos
espaço.

Exercícios:

1) Calcule em Mega Bytes (MB), no prefixo Binário, o tamanho de um


arquivo de som com as seguintes características.
A) 3 minuto e meio, 8 Bits, 22.050Khz, estéreo.
B) 4 Minutos e meio, 24 bits, 48.000Khz, mono.
C) qual o valor de Ambos em MegaBits (Mb)?

2) Quanto tempo possui um arquivo digital com Taxa de Amostragem


(Sample Rate) de 96Khz, em 32 Bits, com 6 canais (5.1 surround), e que
ocupa um espaço de 138,240 MB, no Prefixo SI?

1.3.1 Nyquist e Aliasing (ou Foldover):

Figura 1.4 – Diagrama de conversão Analógico/Digital


e Vice-Versa (fonte, wikipedia 2008).

Ao tocarmos um som digital, precisamos converte-lo ao meio analógico, pois


um alto falante responde a um sinal analógico de voltagem. Da mesma maneira, o
som captado por um microfone envia um sinal analógico que deve ser convertido

7
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

digitalmente. Mídias como as fitas cassetes e o disco de vinil não são digitais, por isso
não era necessário essa conversão analógico/digital antigamente. Sobre a conversão
do meio analógico para o digital, é importante discorrer sobre o Teorema de Nyquist e
o Aliasing.
O teorema de Nyquist informa que a maior freqüência que podemos
representar é a da metade da Taxa de Amostragem. No caso do CD, essa freqüência é
de 22.050Khz, e está razoavelmente acima do limite da nossa audição para os agudos,
levando em consideração que o registro da audição humana é de 20hz a 20Khz. A
deste autor, por exemplo, já sofre pra perceber alguma coisa qualquer acima dos
16Khz.
É fácil entender esse procedimento, imagine que um som digital tem uma taxa
de amostragem extremamente pequena, como a de 20 vezes por segundo (20Hz). Pois
bem, um Lá central, que vibra a 440 vezes por segundo nunca poderá ser representado
nessa taxa tão pequena. A distorção que ocorre é o que chamamos de Aliasing (que
pode ser traduzido ao pé da letra como pseudônimo). Outra possibilidade de
nomenclatura é Foldover, que indica mais claramente um “espelhamento” da
freqüência, como de fato ocorre e será explicado no parágrafo a seguir.

Figura 1.5 – Exemplo de Aliasing/Foldover.

O gráfico da Figura acima demonstra, em preto, a freqüência original que se


pretendia representar, mas, devido à Taxa de amostragem (marcada em linhas
verticais) a forma de onda que é possível de se representar é outra, delineada em azul
claro. Em processamento de sinais, Aliasing indica uma distorção do sinal amostrado
digitalmente. O que ocorre na prática depende da Freqüência de Nyquist, ou da maior
freqüência que podemos representar (metade de nosso Sample Rate).
Quando a freqüência que queremos representar é maior do que a Freqüência

8
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

de Nyquist, teremos uma freqüência de Aliasing que será igual à Freqüência de


Nyquist subtraída pela diferença entre a freqüência original e a Freqüência de
Nyquist. Por Exemplo, em um Sample Rate de 48Khz, a Freqüência de Nyquist é de
24Khz, ao digitalizarmos uma freqüência de 25Khz nesse Sample Rate, obteremos um
sinal Aliasing de 23Khz [24 - (25 - 24) = 23].

Notas finais:
- O Áudio Digital necessita de alguns cuidados que podem ser
atendidos com o uso de Filtros. Esses filtros podem cortar
freqüências agudas indesejadas antes do processo de digitalização,
evitando, portanto, um Aliasing.
- Enquanto um som analógico pode conter ruídos provenientes do
circuito analógico, o som digital deve atentar ao ruído que resulta da
sua representação em Bits (Quantização).

o É bom que o sinal a ser digitalizado tenha um bom ganho para tirar
proveito da resolução em bits. Afinal, se o sinal ocupar menos de
um quarto do valor em Bits, é como se a resolução fosse também
de fato reduzida a menos de um quarto.

 A distorção no processo de digitalização desses sinais de


baixa amplitude é chamada de “Low Level Quantization
Noise”.
 O “Dither” é um procedimento que busca minimizar essa
distorção ao mascarar esse erro pela inclusão de um baixo
nível de ruído.

o O sinal a ser digitalizado não pode ser muito alto a ponto de


ultrapassar o limite de representação entre 1 e -1. Quando isso
ocorre, o sinal é “cortado” e limitado aos níveis máximos (1 e -1),
distorcendo a onda. Chamamos isso de “Clipping”.

Exercícios:

1) Qual a Freqüência de Nyquist para um sample rate de 22.050 Khz?

2) Qual é o Aliasing (ou Foldover) da Freqüência de 15 Khz para o Sample


Rate da pergunta acima?

3) Um sinal que tenha uma faixa dinâmica de 140 decibéis vai “clipar” numa
conversão de 24 bits?

4) Abrir os Patches nº 1 e 2! Nos exemplos em Pd* deste Capítulo.

* Um texto sobre a sintaxe e arquitetura básica do Software Puredata


está no Anexo I deste livro. Para quem não tem nenhuma familiaridade com

9
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

ele, recomenda-se que a leitura se inicie por lá!

1.4) Operações e Funções no Áudio Digital


Todas as técnicas de efeito ou síntese não passam de operações matemáticas
no sinal digital, que, por sua vez, também não passa de um número. A seguir, temos
quatro exemplos básicos de operações matemáticas no áudio digital, seguida de um
exemplo de como gerar um som a partir de uma função:

Exemplo 1 – Ganho/Volume:
Por exemplo, Se quisermos baixar ou aumentar o Ganho de um sinal, basta
apenas, respectivamente, multiplicar ou dividir por um fator. Vide Patch nº 3.

Exemplo 2 – DC Offset:
Mas e se por acaso quiséssemos somar por um fator em vez de multiplicar?
Daí modificamos o DC Offset da onda, que é o ponto zero do sinal. Vide Patches nº 4
e 4a.

Exemplo 3 – Mixar:
Se temos dois sinais distintos, como o de uma voz e de um violão, e quisermos
mixá-los, precisamos apenas somar esses dois sinais. Vide Patches nº 5 e 6.

Exemplo 4 – Modulação em Anel:


A Modulação em Anel ocorre quando multiplicamos um sinal de Áudio por
outro. Veremos mais detalhes sobre essa técnica no Capítulo 5. Ela pode ser usada
tanto para um efeito sonoro como também para Síntese. Vide Patch nº 7.

Exemplo 5 – Onda Senoidal:

Uma forma de onda pode ser gerada em um computador por meio de uma
função, como a função seno, que gera um tom puro. Notemos, por exemplo, a Figura
1.6, onde valor de Y (marcado em vermelho) varia de acordo com o ângulo alfa.
Inclusive, podemos pensar que a variação de Y indica o deslocamento de um alto-
falante do seu ponto de repouso.

10
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

Figura 1.6 – “Y” em função do ângulo alfa.

Figura 1.7 – Gráfico da função seno em função do


ângulo em radianos (fonte, wikipedia 2008).

Agora, posso fazer com que meu valor de Y varie de 1 (quando o ângulo for de
90º, ou = π/2) e -1 (270º, 3π/2). Vejamos então como essa representação (figura 1.7) é
muito parecida com a representação de uma freqüência no tempo em segundos (como
na Figura 1.2).
Tudo o que precisamos é que essa função tenha uma entrada de tempo, que
pode até ser mesmo em Hertz, de modo que eu tenha uma freqüência definida a partir

11
Apostila do Curso de Computação Musical por Alexandre Torres Porres (2009).

da velocidade de variação dos graus em radianos. De maneira análoga, funções mais


complexas que a do Seno podem ser utilizadas (ou mesmo somatórias de funções), e
assim gerar formas de ondas mais complexas. Neste último exemplo, vemos que o
sinal foi gerado internamente no computador, logo, não necessitou de nenhuma
conversão do meio Analógico para o Digital. Obviamente, para que possamos
transmitir esse sinal ao alto falante, precisamos de um conversor digital-analógico.
No Puredata, temos algumas funções embutidas. O Objeto [osc~] gera uma
uma onda senoidal de acordo com uma entrada em Hertz. O sinal varia de 1 a -1 na
resolução de 32 Bits. Para ajustar o ganho pela metade, por exemplo, basta que se
divida (por meio do objeto [/~]) o valor final por 2 e, para finalmente ouvirmos o
som, precisamos ligar esse sinal ao conversor Digital/Analógico, que é o objeto
[dac~], do inglês Digital-to-Audio Converter. Logo, uma senóide a 440Hz, que varie
de -0.5 a 0.5, no Puredata, segue a seguinte lógica de conexão entre os objetos: [osc~
440]  [/~ 2]  [dac~]. Ou, de modo similar, se quero a entrada do meu microfone
com um ajuste de ganho pela metade, a conexão é [adc~]  [/~ 2]  [dac~]. Vide
Patch 8.
O que pretende se ilustrar com isso é que, na medida em que compreendemos
o engenho do áudio digital, é muito intuitivo e natural o desenvolvimento de
aplicativos próprios, a partir de uma ferramenta como o Puredata, que lida com a
conexão de elementos básicos de Áudio Digital. Mais que isso, é exatamente esse
procedimento que ocorre em qualquer outro software de Áudio Digital. Portanto, ter o
domínio lógico e esclarecimento da implementação desses procedimentos faz com
que tenhamos maior consciência para desenvolvermos técnica e criatividade
operacional com o Áudio Digital, independentemente de qual programa de
computador usaremos.
O uso do Puredata possui um diferencial didático justamente por deixar
explícito o funcionamento estrutural de conceitos e fundamentos de Música e
Tecnologia/Computação Musical.

Referências:
ROADS, Curtis (1995) The Computer Music Tutorial, MIT Press.
BENSON, Dave (2007) Music, a Mathematical Offering, disponível
gratuitamente para download em
<http://www.maths.abdn.ac.uk/~bensondj/html/maths-music.html>.

12

Você também pode gostar