Em áudio acaba faltando nome pra tanta coisa, e aí às vezes a gente precisa especificar o que é o quê. O clássico dos clássicos é o Monitor. Existe o monitor de vídeo, os monitores (nome bonito para as caixas de som) , o caminho entre o gravador e os altofalantes – sim, esse caminho tem o nome de “monitor mix” , e a mix que é mandada para os músicos no palco. É tudo monitor.
Sistemas Operacionais de 32 e 64 bits
Já com a expressão “32 bits” acontece coisa semelhante. Primeiro, tem os sistemas operacionais do Mac e Windows, que podem ser baseados em endereços de 32 bits ou 64 bits. Quando a Apple – como sempre – estabeleceu na marra que todo mundo tinha que mudar para 64 bits, a galera do áudio ficou preocupada se isso afetava o áudio de alguma maneira.
Para nossa tranquilidade, não. Então, embora os programas acessem mais memória e possam utilizar instruções mais complexas, pra nós, dentro da DAW, fica tudo igual.
Sistemas de Numeração 32-bit Floating Point
Aí sim isso nos afeta. O áudio digital dentro das máquinas nada mais é do que um enorme conjunto de números. Aliás, se a gente simplesmente observar o conteúdo de um endereço de memória, vai ver um número e não vai ter a menor ideia do que esse número significa. Pode ser a descrição de um pixel numa tela, ou um pedaço de um cálculo matemático, uma instrução de um programa ou até mesmo lixo. Sempre há um contexto que identifica o que aquele número representa.
Por exemplo, um arquivo WAV precisa ter logo no início os caracteres ‘WAVE’ gravados (entre outro monte de coisas numa ordem bem específica). Mas nada impede da gente – erradamente – ler esses caracteres como os números 51 41 56 45. Vai dar ruim, mas é possível.
Dentro desse arquivo WAV, em seu compartimento específico, ficam os dados que se referem especificamente ao áudio que está gravado. Só que esses dados possuem também um formato bem determinado para serem armazenados e interpretados.
Em videogames e computadores antigos, usavam-se grupos de 8 bits para representar áudio (e o resto também). Nos CDs, o padrão (“Red Book”) que define o formato, exige que os samples tenham 16 bits.
Esses valores estão intimamente associados ao modo como as CPUs leem e escrevem informações da memória, o que se faz normalmente em grupos de 8, 16, 24, 32, e 64 bits , dependendo da tecnologia vigente.
A Faixa Dinâmica
No áudio digital, o processo é resumidamente esse: a interface lê a amplitude do sinal analógico que está na entrada. Converte esse valor para um número e precisa entregar esse valor para a saída digital – aí a CPU vai ler esse número e fazer o que precisa fazer. Esse número tem um tamanho predeterminado, e esse tamanho é dado pelo número de bits que o compõem.
Nos tempos do Atari, esses números tinham 8 bits e podiam representar 256 valores diferentes (2 elevado a 8) . Em um CD, são 65.536 valores (2 elevado a 16). Ora, quando uso mais valores para encaixar uma medida de amplitude, a minha precisão aumenta. E essa precisão está diretamente relacionada à faixa dinâmica do sinal.
Podemos considerar que cada bit a mais nos permite mais 6dB de faixa dinâmica. Assim, enquanto um sistema de 8 bits vai permitir 48dB, um CD fornece teoricamente 96dB. É preciso ressaltar que a parte analógica da coisa precisa conseguir essa faixa, o que não é nada simples.
Só por comparação, um disco de vinil e uma fita analógica possuem o equivalente a 11bits , na melhor das hipóteses.
24 Bits
A evolução da tecnologia permitiu o uso de equipamentos capazes de trabalhar com valores de 24 bits de comprimento. Isso permite que a nossa amplitude analógica seja representada com impressionantes 16.777.216 valores possíveis. Para se ter uma ideia, se a amplitude fosse a ponte Rio-Niteroi (13km de extensão), seríamos capazes com 24 bits de representar 0,8 milímetros.
Isso dá uma faixa dinâmica teórica de impressionantes 144dB, muito maior que a capacidade humana de ouvir algo.
De novo vale ressaltar que a parte analógica que envolve a parte digital de uma interface muito raramente chegará perto disso.
Até aí, usando 24 bits para registrar os samples , estamos bem servidos. Conseguimos superar a própria audição humana. Mas como dissemos lá no início, tem o mesmo nome pra coisas diferentes.
O Tamanho dos Números
Os softwares dentro das DAW e de seus plugins são normalmente escritos em linguagem C++ (embora isso não seja uma obrigação – porque no final tudo vira instruções de máquina para o processador). E essa linguagem permite trabalhar com uma variedade de formatos de números. Para números inteiros (mais detalhes adiante), normalmente podem ser usados até 8 bytes pra cada um, ou 64 bits. Isso daria impressionantes 18.446.744.073.709.551.616 (18 quintilhões de valores). Dá pra ver que em termos de software, faixa dinâmica é moleza. O problema é que números grandes consomem espaço e tempo.
Números Inteiros e Reais
A diferença básica entre números inteiros e reais é que os inteiros não têm vírgula. É uma definição pobrezinha, mas funciona. Na verdade, os números inteiros representam uma parte dos reais, mas não vamos complicar.
Os números inteiros são muito bons pra contar coisas, como caixas de pizza, mas pra cortar pizzas, nem sempre. Se a gente quiser ser justo e dividir uma pizza por três pessoas, cada uma vai receber 0,3333333333... (ou 1/3 – um terço) partes da pizza. Ou seja, no final das contas vamos ter que arredondar e uma das pessoas vai receber mais pizza.
Números reais são essenciais para termos contas precisas, mas têm esse problema de muitas vezes exigirem arredondamentos. Talvez o caso mais importante seja o dos números irracionais, que nem na forma de fração conseguem ser representados. Tipo o importantíssimo Pi (que é aproximadamente 3,1415927...) mas ao mesmo tempo é exatamente a razão entre o comprimento de um círculo e seu diâmetro. Olhem que curioso: o grande círculo de um campo de futebol tem raio de exatamente 9,15 metros. Se eu pegar um barbante e colocar exatamente em cima do círculo central, vou ver que o barbante mede APROXIMADAMENTE 57,49 metros, mas nunca vou conseguir medir EXATAMENTE o valor, embora o valor exista.
É pra isso que existe o famoso Pi. Ele é um jeito preciso da gente escrever um número sempre impreciso – e a coisa funciona.
Como Representar Números Reais no Computador
E aí chegamos ao cerne de nosso problema. Plug-ins necessitam fazer contas, e para fazer contas bem precisas, números reais são essenciais. Mas em um computador só conseguimos armazenar números inteiros (pelo menos enquanto os qubits não vingarem). O que fazemos é , como tudo em digital, estabelecer um código que represente os números. É aí que entra a notação “floating point”. A lógica da coisa é a seguinte: imagine que temos o número 5.435.832. Eu posso representar esse número usando o que se chama Notação Científica. Para isso eu escrevo 5,435832 x 10 (6) . A parte 5,436 é chamada Mantissa, e o 6 é o Expoente. Ora, 10 elevado a 6 é igual a 1 milhão. O que estamos dizendo é que o número é 5,436 vezes 1 milhão, o que dá os mesmos 5.435.832 .
Mas o que ganhamos com isso? Nesse caso específico, nada, mas para números com muitas casas decimais nós começamos a lucrar usando essa forma. Por exemplo, imagine que vamos representar o peso do planeta Terra. Ele vale 5.973.600.000.000.000.000.000.000 kg . Para representar isso em binário precisaríamos de uns 80 bits. Vamos usar notação científica.
Agora o valor pode ser representado como 5,9736 x 10 (24) kg. Só precisamos armazenar a mantissa e mais o número 24. E isso vai gastar muito menos bits. Qual a pegadinha? Sempre tem um compromisso. Ao representar dessa forma, perdemos precisão. Por exemplo, se um meteorito de 1 kg cair agora na Terra, não seremos capazes de detectar o seu aumento de peso para 5.973.600.000.000.000.000.000.001 kg . Mas convenhamos que é um aumento desprezível (se ele não cair em cima da gente).
32-bit Float
Então os softwares podem optar por usar a notação científica para armazenar números. No caso do áudio, costuma-se adotar o padrão IEEE-754 binary32. Ele usa 23bits para representar a mantissa, 1 para o sinal ( positivo ou negativo) e 8 bits para o expoente. Isso vai permitir que a gente represente números gigantescos, entre 3.4 x 10 (38) e 1.2 x 10 (-38). Convertendo para dBs, isso dá uma faixa dinâmica de 1528dB. Levando-se em conta que a maior diferença de pressão sonora possível em nosso planeta está na casa de 200dB, temos faixa de sobra para gravar desde um mosquito a 100 metros de distância quanto um terremoto de 9 pontos.
Sim, sempre existe a diferença entre dois níveis consecutivos, que representa uma certa precisão na medida, mas como a mantissa tem 23 bits (que na prática se transformam em 24), estamos com praticamente a mesma precisão de quando usamos fixed point 24 bits.
O único problema é que estamos gastando 33% mais espaço de HD e transmissão.
E aí chegamos a outro lugar onde o termo 32-bits precisa se encaixar, que é na capacidade da interface de áudio.
Floating Point Dentro dos Plugins
Essa questão da faixa dinâmica é importante pra gente que está do lado de fora do software. Porque o que acontece lá dentro a gente não tem muita opção de mexer. Os plugins que precisam fazer contas normalmente vão pegar o valor inteiro do sample (normalmente 24 bits) e a primeira coisa que vão fazer é converter para número real. Isso porque muitas dessas operações exigem isso. Tipicamente temos senos e cossenos, raízes quadradas, exponenciais, e tudo isso só rola com números reais. Só que não necessariamente representados pelo padrão IEEE 754.
Portanto, do ponto de vista interno dos plug-ins, tanto faz se o sample vem em 32FP, 24 ou 16. Vira tudo número real FP, e usa quantos bits forem necessários e quantos o programador escolher.
Resumindo,
(1) gravar o áudio em 32FP não aumenta a precisão das contas internas dos plug-ins, e
(2) criar a sessão em 32FP não melhora a qualidade do processamento, porque os plug-ins já usam o formato que precisam, independentemente.
Interfaces de 32 ou não-32?
A enorme maioria das interfaces de áudio é capaz de converter um valor analógico para digital e gerar um número inteiro de 24bits. Isso já nos atende tranquilamente. Porém o fato de 32 bits FP nos permitirem faixas dinâmicas gigantescas pode nos facilitar a vida, principalmente no caso de gravações de externas para filmes, por exemplo. Nesses casos nós não temos muito controle sobre o que pode acontecer, e um refresco na faixa dinâmica pode significar a salvação.
O problema é que são poucas as interfaces que efetivamente trabalham gerando diretamente os 32 bits. Existem casos em que a interface trabalha em 24 bits e simplesmente na hora de transmitir para fora é que convertem o formato. Espertinhas.
Outro fato fundamental é que uma coisa é você ter um padrão numérico capaz de registrar faixas enormes. Outra muito diferente é a sua eletrônica ter essa sensibilidade. Vejamos a tabela:
Essas excelentes interfaces todas possuem faixas dinâmicas abaixo de 130dB, que caberiam facilmente dentro de 24 bits.
Então temos faixa de sobra para gravar desde um mosquito a 100 metros de distância quanto um terremoto de 9 pontos. .
Isso significa que para representar sinais com maior faixa, o nível de ruído de fundo tem que subir para compensar. Convenhamos que quando se está gravando um jato decolando, ruído de fundo pouco importa, e mais importante é que o áudio não sature.
Tenho conhecimento de pelo menos uma interface (a Zoom UAC-232), que usa dois conversores em ganhos diferentes, aumentando a faixa dinâmica efetiva:
O que temos então é que as interfaces possuem “janelas” de faixa dinâmica que vão se ajustando de acordo com a fonte, e aí permitem extremos bem altos sem saturar.
Já do lado do DAC – conversão digital para analógico, uma interface capaz de aceitar dados de 32 bits pode acelerar a transmissão (como o chip ESS SABRE32) , porque se a sessão da DAW está em 32 bits, dá pra enviar os pacotes de dados direto da DAW para o DAC sem que a CPU tenha que dividir em duas partes de 24 bits.
Saturado ou Não
Isso pode acontecer tanto na interface quanto no nosso uso de plugins. Por exemplo, suponha que temos um sinal de áudio com -9dB de amplitude, e vamos passar por um plugin e dar um ganho de 36 dB. O sinal vai clipar pesadamente. Mas se agora acrescentamos outro plugin atenuando -36dB, o sinal volta a ser uma senoide pura. Afinal, saturou ou não?
O problema é que normalmente a DAW considera que os sinais de saída terão 24bits de faixa dinâmica, e apesar de internamente eles não estarem saturando, na saída eles irão saturar, até como um aviso de que estamos acima do limite do padrão de saída.
O Reaper, por exemplo , tem um automute automático para sinais acima de +18dB, que pode ser desligado nos preferences. Ele só muta o track e não mexe no áudio.
Já no Pro Tools, acontece uma limitação interna em +20dB que é bem preocupante.
Nesses dois casos o teste acima ou não vai funcionar ou precisa de ajustes.
Então quando usar a gravação em 32-bit FP?
Na maioria dos casos , ela é um exagero que gasta 33% mais HD e banda de comunicação. Porém há situações, como os que já citamos, que podem se beneficiar, como gravações em que não se sabe o que esperar das fontes. Gravação de som direto em externas, por exemplo. Imagine que estamos gravando o canto de um pássaro em uma floresta e passa um avião a jato bem baixo sem que a gente espere. Ok, usar 32bFP não deixou o som do avião saturar o áudio, mas era isso o que a gente queria gravar? Eventualmente nós queríamos os dois, e não saturar foi muito bom, mas lá no final, quando for para a mídia e para os 120dB do ouvinte, ou teremos que abaixar o avião, ou subir o canário, ou os dois.
É claro que HD está barato e a gente pode simplesmente sair usando sempre 32bFP e nos despreocupar de saturações, mas nas situações normais de gravação em estúdio, isso pode representar pouca habilidade do técnico, pra não dizer, desleixo.
A habilidade de ajustar corretamente o ganho de um pré é algo que todo mundo que grava seriamente precisa desenvolver. São raros (pra não dizer “nunca”) os casos em estúdio em que precisamos de mais de 144 dB de faixa dinâmica. Seria algo como gravar um bumbo com um mic colado e ao mesmo tempo se preocupar em gravar bem com o mesmo mic o barulho do ar condicionado da sala. E olha que nesses casos a diferença desses volumes seria de uns 80dB. Não de 800.
Hoje em dia as interfaces estão tão silenciosas que dá pra gente ser conservador e gravar um pouco mais baixo que o normal, só por precaução. Nossa capacidade de depois dar ganho no sinal gravado é praticamente infinita. Mas o ideal é um ajuste criterioso dos volumes para que não sejam necessárias muitas ginásticas, principalmente quando se lembra que na verdade temos uma janela de 130dB apenas para o nosso áudio passar no final das contas.