♫ ♫ Tradutores ♫ ♫

English French German Spain Italian Dutch
Russian Portuguese Japanese Korean Arabic Chinese Simplified
By Ferramentas Blog

♫ ♫ Pesquise ♫ ♫

segunda-feira, 26 de outubro de 2009

Processamento de Efeitos

Processamento de efeitos
32 bits ponto-flutuante x 24 bits ponto-fixo

por Paul Titchener, Ph.D.


Os plug-ins DSP-FX Virtual Pack devem sua incrível fidelidade e precisão sonora não apenas aos algoritmos que criam o efeito, mas também ao processo matemático usado para executar os algoritmos. O texto a seguir é um tratado técnico sobre as vantagens da arquitetura de 32 bits com ponto-flutuante, usada pelos efeitos do Virtual Pack, em comparação aos tradicionais 24 bits fixos. Temos certeza de que você achará esta discussão esclarecedora. E quando você ouvir pessoalmente a diferença entre os efeitos do Virtual Pack e os efeitos convencionais que não usam ponto-flutuante, sabemos que você jamais irá olhar para trás.
- Michael Marans, editor do informativo “Current Event”


Desde o final da década de 1970 (uma história antiga, falando tecnologicamente), o processamento digital de sinais (DSP) tem sido uma parte integrante do processo de se fazer música. E por todos os anos, desde o início, quase todos os equipamentos de efeitos em hardware, a maioria das workstations digitais e a maioria dos softwares plug-ins de efeitos têm usado o tipo de processamento conhecido como “ponto-fixo” para efetuar as complexas operações numéricas requeridas para implementar os algoritmos de efeitos. Nos dias de hoje, o processamento com ponto-fixo geralmente é executado com precisão de 24 bits, na maioria das vezes usando os chips de DSP da série 56000, da Motorola, ou, no caso de softwares plug-ins, usando a CPU (unidade de processamento central) do computador.

Embora a maioria de nós pense que a resolução de 24 bits seja o estado-da-arte no que diz respeito a áudio digital, isso só é verdade quando se executa apenas a gravação e reprodução de um arquivo de áudio. À medida que você começa a manipular seus arquivos com DSP - reverb, EQ, chorus, etc - os requisitos matemáticos para manter a qualidade aumentam dramaticamente. Como você vai ver no decorrer do texto, os processadores de 24 bits com ponto-fixo nem sempre são adequados à essa tarefa. Felizmente, dispomos da tecnologia de 32 bits com ponto-flutuante para manter intacta a integridade sonora.

Valor fixo

A aritmética de ponto-fixo é assim chamada porque a faixa de números que pode representar um determinado valor é “fixa”. Dessa forma, você pode logo ter problemas quando precisa usar números que são maiores do que os que estão dentro da faixa fixa. Por exemplo, as primeiras calculadoras digitais tinham um ponto decimal fixo em seu display. Se você fizesse um cálculo cujo resultado fosse um valor muito grande, o display mostraria um “E”, de erro. Um exemplo primitivo da saturação (“clipping”) digital. Se o resultado fosse muito pequeno, você teria erros significativos, devido ao “arredondamento” do número. Um exemplo primitivo do ruído de quantização (“quantization noise”).

Um sinal de áudio que é processado usando um formato de 24 bits com ponto-fixo pode ter uma faixa dinâmica de 144 dB - a diferença entre o nível de sinal mais fraco e o mais forte (cada bit fornece 6,01 dB de volume; 24 x 6,01 = 144,24 dB). Como 144 dB ultrapassa a faixa dinâmica da audição humana, à primeira vista você poderia pensar que os 24 bits teriam precisão suficiente para o processamento de efeitos de áudio. Mas na realidade, algoritmos complexos, como o reverb, irão exibir o que os ouvintes freqüentemente descrevem como aspereza digital (“digital harshness”), quando são implementados usando processamento usando 24 bits com ponto-fixo. Vejamos porque isso ocorre.

Perdendo bit a bit

Num ambiente real, é criado um campo de som reverberante em seus ouvidos a partir da suma de literalmente milhares de ondas sonoras individuais. Tipicamente, cada uma dessas ondas começou na fonte original do som e depois então bateu nas várias superfícies do recinto, até atingir seu ouvido. Mas não termina aí: cada onda individual continua a bater nas superfícies e então reaparecer no seu ouvido, com uma intensidade menor a cada vez que é refletida. Embora cada onda individual possa ser muito fraca em nível, quando múltiplas ondas são somadas juntas no seu ouvido elas criam uma onda que você percebe como reverberação.

Os sistemas de reverb digital, implementados tanto por hardware quanto por software, simulam a reverberação criando e depois somando milhares de ecos individuais do sinal sonoro original. Da mesma maneira que num ambiente real, cada um desses ecos do sinal aparece em seu “ouvido” (a saída do reverb) várias vezes, com cada interação sucessiva a um nível mais baixo.

Num sistema processado com ponto-fixo, à medida que esses ecos atingem níveis baixos eles começam a perder “precisão de bit”, isto é, no final os ecos já são representados por seis bits, depois quatro bits, depois dois bits, e assim por diante, até caírem ao nível de silêncio. Ouvidos com atenção, esses ecos soam “ásperos” e “rudes” devido à baixa precisão de bit com que eles estão sendo representados. O componente áspero do som é o resultado dos erros de quantização que ocorrem quando tão poucos bits são usados para representar o sinal. O componente rude do som é devido ao fato dos níveis de sinal sendo representados estão muito próximos do nível de ruído do sistema. O fato é que muitos desses fracos ecos ásperos e rudes são somados juntos para criar o sinal final na saída, resultando na criação de um sinal maior áspero e rude.

Além dessa perda de precisão de bit, o formato com ponto-fixo tem uma outra limitação chamada de saturação interna. Se a amplitude de um determinado sinal excede a faixa dinâmica máxima do sistema (144 dB, num sistema de 24 bits), ele sofrerá uma saturação (“clipping”), sendo os picos da onda aquadratados de forma não natural. Essa forma de distorção digital soa excepcionalmente desagradável; no reverb, mesmo pequenas saturações podem fazer todo o som parecer muito áspero. Vamos usar o exemplo do reverb novamente para ver como e porque essa aspereza ocorre em algoritmos de efeitos que usam arquitetura de ponto-fixo.

Entrando na saturação

Como foi descrito acima, os efeitos de reverb digital são criados pela soma de muitos ecos individuais juntos. Quando o sinal de entrada é um transiente forte, como uma batida da caixa da bateria, os níveis iniciais desses ecos individuais serão razoavelmente altos. Entretanto, as fases relativas desses ecos são impossíveis de serem predeterminadas. Assim, quando alguns dos ecos são somados, a combinação de suas amplitudes pode exceder o nível interno máximo do sistema, e a onda resultante estará saturada.

Para minimizar a probabilidade da ocorrência da saturação, os engenheiros geralmente fazem um “escalonamento” da amplitude dos sinais internos. Essa operação de escalonamento literalmente desloca os bits de sinal inserindo zeros, o que resulta a redução das amplitudes dos sinais. Como já foi citado antes, sinais com baixa amplitude são representados por menos bits, e portanto com menos precisão, o que resulta na introdução de elementos sonoros desagradáveis. Assim, embora o escalonamento de amplitude ajude a minimizar a distorção por saturação, isso é feito às custas da precisão de bits.

Tecnologia de 32 bits vem socorrer

Em processamento de efeitos de áudio, o formato de 32 bits com ponto-flutuante tem algumas vantagens significativas em comparação com o formato de 24 bits com ponto-fixo. Além da maior precisão de bit, ele oferece um método diferente e muito mais poderoso no uso dos bits para representar o sinal de áudio. O formato de 32 bits com ponto-flutuante dedica 24 bits (a mantissa) para representar os valores do sinal, enquanto usa os oito bits adicionais (o expoente) para representar a faixa de sinal ou “nível”.

Quando os níveis de sinal caem, como no nosso exemplo do reverb, ao invés de usar menos do que 24 bits para representar o valor do sinal, o sistema de ponto-flutuante simplesmente muda o ajuste de nível do sinal, ajustando o valor do expoente. Isso significa que o nível da cauda do reverb pode cair cerca de 1.500 dB e ainda poder ser representado com toda a precisão dos 24 bits (de fato, a faixa dinâmica interna de um sistema de 32 bits com ponto flutuante é de 1.535 dB). Dessa forma, quando a cauda de um reverb decai até o silêncio num sistema de 32 bits com ponto-flutuante, ela não sofre com a presença dos elementos sonoros desagradáveis que estariam associados com o mesmo sinal num sistema de ponto-fixo.

Quando as amplitudes do sinal aumentam, como no nosso exemplo do reverb num transiente forte, o sistema de 32 bits com ponto-flutuante simplesmente ajusta o expoente, ao invés de saturar o sinal. E por causa da enorme faixa dinâmica disponível, não é preciso adotar operações artificiais de escalonamento; toda precisão de bit do sinal original é preservada.

O valor dos últimos (30)-dois bits

O formato de 32 bits com ponto-flutuante supera completamente dois dos problemas principais associados com o processamento com ponto-fixo: a perda de precisão de bits em baixas amplitudes e a saturação interna. Mesmo algoritmos relativamente simples, como os de EQ, quando implementados em formato de 32 bits com ponto-flutuante, podem obter um som claro e transparente que até então só era associado a equalizadores analógicos de alta qualidade. Quando adequadamente implementados, algoritmos complexos como os de chorus, flange, pitch-shift e, obviamente, reverb, também são beneficiados dramaticamente com as vantagens da arquitetura com ponto-flutuante.

O uso da arquitetura com ponto-flutuante é relativamente novo no processamento de áudio. Mas não há dúvida de que suas fortes vantagens sonoras irão torná-la um padrão no processamento de áudio profissional. E, com isso, sistemas baseados somente em processamento de 24 bits com ponto-fixo estarão fadados à obsolescência.


As entradas e saídas (e os meios) da resolução de bits

Quando você lê as especificações de um sistema de áudio digital, é essencial que você observe todo o caminho de entrada/processamento/saída de áudio de forma a determinar a verdadeira capacidade de performance do sistema. A mais baixa resolução de bit que você encontrar em qualquer ponto da cadeia será a máxima resolução para o sistema inteiro. Por exemplo, se você tem conversores A/D de 16 bits, um processador de 24 bits e conversores D/A de 20 bits, você tem um sistema de 16 bits. Se você tem conversores A/D de 24 bits, um processador de 24 bits e conversores D/A de 20 bits, você tem um sistema de 20 bits. As interfaces de áudio com conversores A/Ds de 20 bits, processamento interno de 24 bits e D/As de 20 bits, são sistemas de 20 bits - pelo menos no que diz respeito às entradas e saídas analógicas.

No domínio digital, a capacidade total das placas com conversores de 20 bits com DSP de 24 bits terá resolução de 24 bits, se houver entrada e saída digitais S/PDIF suportando 24 bits. Se você possui uma fonte/destino de sinal digital, como um dispositivo de efeitos, que tem capacidade de 24 bits, esse tipo de placa irá aceitar o sinal de 24 bits do dispositivo, gravar o sinal no disco (desde que o software também suporte 24 bits) e reproduzir o sinal para o dispositivo - tudo em 24 bits.

Os Bits do Meio. O DSP Motorola 56301 que é o coração das prtimeiras placas Layla, Gina e Darla de 20 bits é um chip de 24 bits; todos os dados que passam para dentro e para fora do chip, e todas as computações matemáticas dentro do chip, são efetuados com resolução de 24 bits. No que se refere ao processamento de áudio de 20 bits, um processador de 24 bits oferece uma faixa mais larga (isto é, espaço para escrever números maiores), de forma que ele possa processar com precisão o áudio de 20 bits. Se você mixa trilhas digitalmente, por exemplo, pode estar seguro de que o arquivo resultante será verdadeiramente de 20 bits, livre de qualquer erro de saturação que possa ocorrer como resultado do processo matemático.

Processamento x Reprodução. Adicionar efeitos de DSP, como reverb ou EQ, à uma trilha, geralmente requer precisão ainda maior do que 24 bits para que seja mantida a integridade sonora de uma trilha, como explicado neste artigo de Paul Titchener. É importante compreender que o processamento de 32 bits com ponto-flutuante em questão é efetuado pela CPU Pentium, e não pelo chip Motorola 56301 das primeiras Layla, Gina e Darla. E pelo fato de que o processamento de efeitos requer resolução de 32 bits, o arquivo de áudio permanece na resolução original de 16, 20 ou 24 bits em que foi gravado.

- Michael Marans




Paul Titchener é fundador e presidente da DSP/FX Inc (USA), que desenvolveu os plug-ins DSP-FX Virtual Pack. Ele tem feito um grande trabalho na implementação de algoritmos complexos para processamento digital de sinais (DSP) e para aplicações musicais de filtragem adaptiva (uma forma avançada de DSP na qual o algoritmo automaticamente se modifica em tempo-real, para melhor se adaptar ao resultado desejado). Junto com Mark Kaplan, ele continua a aprimorar a excelência sonora no processamento de efeitos em tempo-real em PCs. Em resumo, ele é um sujeito em formato de “32 bits com ponto-flutuante”.


Tradução: Miguel Ratton

Este artigo foi publicado no music-center.com.br em 2001

Copyright ©1996-2005 Miguel Ratton (www.music-center.com.br)

Nenhum comentário:

♫ ♫ Compartilhe ♫ ♫

Bookmark and Share

♫ ♫ Educação Musical ♫ ♫

♫ ♫ Educação Musical ♫ ♫
Educação Musical é a educação que oportuniza ao indivíduo o acesso à música enquanto arte, linguagem e conhecimento. A educação musical, assim como a educação geral e plena do indivíduo, acontece assistematicamente na sociedade, por meio, principalmente, da industria cultural e do folclore e sistematicamente na escola ou em outras instituições de ensino.