Retornar para: Colunas - Como Funciona
29/08/2005
< Como funcionam as controladoras (placas) de som >
II – Armazenando e reproduzindo sons digitalizados
Como vimos semana passada, todo som pode ser fielmente representado por uma onda sonora. Se conseguirmos armazenar essa onda de alguma forma e, posteriormente, fazer algo vibrar em consonância com ela, reproduziremos o som original.
No que diz respeito aos computadores, a maior dificuldade está no fato de ser a onda sonora representada por uma curva contínua, sem interrupções, cujos valores da intensidade variam infinitesimalmente ao longo do tempo, constituindo aquilo que se costuma chamar de grandeza "analógica". Computadores lidam melhor com grandezas "digitais", cujos valores variam discretamente (descontinuamente) ao longo do tempo e podem ser representados por números convertidos para o sistema binário (que usa apenas os algarismos zero e um), mais fáceis de serem manejados internamente pelo computador.
Então, para que a onda sonora analógica possa ser processada pelo computador, deve antes ser "digitalizada", ou seja, é preciso conseguir algum meio de representá-la através de números. Uma tarefa difícil de realizar mas fácil de entender.
Para "digitalizar" uma onda tudo o que precisamos é colher "amostras", medindo sua intensidade em intervalos regulares. Essa medida pode ser convertida em números, portanto digitalizada. O resultado, expresso graficamente, é semelhante ao gráfico de barras reproduzido na Figura 1.

Figura 1: Gráfico de barras de uma onda digitalizada
No gráfico da Figura 1 o comprimento de cada barra vertical representa o valor da intensidade do som naquele instante (note que as barras se distribuem igualmente espaçadas ao longo do eixo dos tempos, denotando que representam valores colhidos em intervalos regulares). Esses comprimentos podem ser expressos em números, que por sua vez podem ser convertidos para o sistema binário e armazenados ordenadamente em um arquivo em disco. Pronto: está o som digitalizado. Para reproduzi-lo basta extrair os números do arquivo e, através deles, reconstituir a onda sonora como mostra a Figura 2.

Figura 2: Onda sonora reconstituída a partir de dados digitalizados
Ocorre, no entanto, que os circuitos eletrônicos usados nos computadores não lidam bem com grandezas físicas, como variações de pressão. Portanto, para efetuar a amostragem que resultará no conjunto de intensidades instantâneas exibidos na Figura 1, é preciso antes converter as variações de pressão em algo que os circuitos possam manejar com maior familiaridade. Isso é feito usando um dispositivo "transdutor", ou seja, que transforme a onda sonora (que reflete uma variação de pressões) em uma onda (ou "sinal") de natureza elétrica (que reflete uma variação de tensões ou intensidades de corrente elétrica) absolutamente análoga à sonora. E esse transdutor è um objeto que conhecemos muito bem: um microfone.
O microfone capta a onda sonora através da vibração de uma membrana que acompanha as variações da pressão do ar que formam a onda. Essa vibração é aplicada a um cristal piezoelétrico que converte as variações de pressão em variações de intensidade de corrente elétrica, ou seja, gera um "sinal" elétrico que corresponde à onda sonora. Não cabe aqui uma explicação detalhada sobre o assunto, mas quem quiser saber mais sobre a tecnologia piezoelétrica, que converte variações de pressão em tensões elétricas e vice-versa e também é usada em certos tipos de impressoras jato de tinta, pode visitar a seção "Pesquisar" de meu sítio e efetuar uma busca com o termo "piezoelétrica".
O microfone não digitaliza o som: ele apenas converte as variações de pressão do ar, uma grandeza analógica, em uma onda elétrica, também analógica, que representa fielmente a onda sonora (quão "fielmente" discutiremos mais adiante), que será enviado ao computador, mais especificamente à controladora (ou "placa") de som.
Os circuitos eletrônicos da placa de som não sabem lidar com variações de pressão mas se entendem perfeitamente com sinais elétricos. Na controladora de som o sinal gerado pelo microfone é encaminhado a um circuito denominado ADC (Analog/Digital Converter, ou conversor analógico/digital) cuja função é efetuar a amostragem (em inglês, "sampling") do sinal sonoro, medindo sua intensidade em intervalos regulares e registrando essas intensidades sob a forma de números que, se expressos graficamente, resultariam em algo parecido com a Figura 1. Esses números representam a onda sonora digitalizada e podem ser processados pelo computador, armazenados em arquivos. Todo o procedimento acima descrito pode ser representado pela Figura 3.

Figura 3: Conversão de som em números (digitalização)
Agora que temos o som armazenado no computador, precisamos de uma forma de reproduzi-lo (ou "tocá-lo"). Este passo também é efetuado pelos circuitos da controladora de som, mas desta vez por um outro circuito integrado, o DAC (Digital/Analog Converter, ou conversor analógico digital), que cumpre a função inversa à do ADC. Esta função corresponde a unir os pontos formados pelas extremidades das linhas verticais da Figura 1 reconstituindo a onda que forma o sinal elétrico. Note que o DAC não gera onda sonora, apenas reconstitui o sinal elétrico.
Para gerar a onda sonora (ou seja, para "tocar" o som) é necessária a ajuda de um outro transdutor, o alto-falante da "caixa de som" do computador. Ele executa uma função inversa à do microfone, ou seja, converte o sinal elétrico em som fazendo-o atravessar uma bobina enrolada em torno de um ímã. A variação da corrente elétrica do sinal que percorre a bobina gera um campo magnético cuja intensidade varia proporcionalmente à do sinal. Este campo magnético de intensidade variável faz o ímã vibrar em consonância com essa variação, que por sua vez é análoga à da variação do sinal. Este ímã está preso ao vértice de um cone de material flexível (um tipo de papelão especial) que vibra com ele, transmitindo essa vibração ao ar e assim reconstituindo o som que foi capturado pelo microfone e digitalizado. Todo o processo de conversão dos números binários em onda sonora está esquematizado na Figura 4.

Figura 4: Conversão de números em som (reprodução)
Note que convertemos som em um sinal elétrico que foi digitalizado e, posteriormente, convertemos os valores digitalizados em um sinal elétrico que foi convertido em som. O quanto este som reproduzido é "fiel", ou seja, igual ao original?
Bem, parte dessa fidelidade vai depender da qualidade dos circuitos eletrônicos e dos equipamentos utilizados, como amplificadores de sinal, microfones e caixas de som. Vamos partir do princípio que esses equipamentos são de qualidade excelente e, portanto, a perda da fidelidade devida a eles é mínima. Analisemos então apenas os fatores inerentes ao procedimento de digitalização acima descrito.
Vimos que a onda sonora pode ser perfeitamente definida por dois parâmetros, freqüência e amplitude. O som reproduzido será tão fiel ao original quanto mais próximos forem, instante a instante, esses dois parâmetros do som original e do reproduzido.
Para digitalizar a amplitude basta medir a intensidade do sinal em cada instante em que uma amostra é colhida (ver Figura 1). Essa intensidade é convertida para um número. Esse processo de conversão denomina-se "quantização".
Vamos supor que eu use um número binário de um byte (8 bits) para armazenar o valor máximo da amplitude da onda sonora. Nesse caso eu só poderia armazenar 256 níveis diferentes da amplitude (zero e mais os 255 números decimais que podem ser representados com oito bits). Já usando dois bytes (16 bits), poderei optar por 65.536 níveis diferentes de amplitude (zero e mais os 65.535 números decimais que podem ser representados com 16 bits). Isso faz com que o som digitalizado reproduza variações muito mais sutis de amplitude, e portanto da intensidade do som. Quanto maior o número de bits usados para quantizar as amostras, melhor a qualidade do som. Computadores usam quantizações de oito, doze e dezesseis bits. Controladoras de som de baixa qualidade usam quantização de oito bits (e por isso são conhecidas por "placas de oito bits"). O som digitalizado para gravar CDs de áudio (por isso conhecido por "CD quality", ou "qualidade de CD") adota uma quantização de 16 bits para cada um de seus dois canais (o som "estereofônico" digitaliza dois canais, cada canal usando um microfone para capturar o som e um alto-falante para reproduzi-lo; isso dá uma sensação "espacial" ao som percebido por nossos dois ouvidos).
Já a garantia de que a freqüência será reproduzida com fidelidade depende da "taxa de amostragem" ("sampling rate"), ou número de vezes que a amostra é colhida (ou a intensidade do sinal é medida) em cada segundo. Ela corresponde à "densidade" das linhas verticais da Figura 1, ou seja, ao número de linhas contidas no trecho do eixo horizontal que corresponde a um segundo de reprodução do som. As taxas de amostragem utilizadas na indústria variam de 8 KHz (qualidade de telefone, para digitalizar voz) até 96 KHz (utilizada no áudio em DVD, discos padrão Blue-Ray e trilhas sonoras de TV de alta definição, ou HDTV). As "placas de som de oito bits" geralmente usam uma taxa de amostragem de 11.025 Hz enquanto as controladoras mais sofisticadas, que obedecem ao padrão de qualidade de CD, usam taxas de amostragem quatro vezes maiores, ou 44,1 KHz, a mesma usada nos CDs de áudio. Quanto maior a taxa de amostragem, maior será a fidelidade da reprodução das freqüências, especialmente as mais elevadas.
É claro que ambos os fatores (quantização e taxa de amostragem) se refletem no tamanho do arquivo utilizado para armazenar um determinado tempo de gravação de áudio. Tomemos como exemplo um segundo de gravação digitalizado por uma "placa de oito bits" e por uma placa "qualidade de CD".
A placa de oito bits adota uma quantização de oito bits, e uma taxa de amostragem de 11.025 Hz. Portanto, em um segundo, teremos 11.025 amostras de um byte cada e o arquivo terá exatamente 11.025 bytes (aproximadamente 10,8 KB adotando o KB com 1024 bytes como é usual em informática).
Já a placa de qualidade de CD adota uma quantização de dezesseis bits (2 bytes), uma taxa de amostragem de 40.100 Hz e grava em dois canais. Em um segundo cada canal colherá 40.100 amostras de dois bytes cada, o que corresponde a 80.200 bytes. Os dois canais armazenarão o dobro disso, 160.400 bytes ou 156,7 KB. Um arquivo quase quinze vezes maior para armazenar o mesmo segundo de som. O preço da qualidade é, portanto, o tamanho do arquivo digitalizado.
É por isso que os esquemas de "compressão de áudio", como o conhecido MP3, são tão populares. Eles conseguem diminuir significativamente o tamanho do arquivo de áudio sem deteriorar sensivelmente a qualidade do som.
Mas isso é feito através do uso de software, ou seja, de programas especializados, que pouco têm a ver com placas de som.
Pois, de placas de som, já sabemos tudo o que precisávamos.