FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

PURE DATA Português

O que é áudio digital?! 

A partir do momento em que estamos utilizando Pure Data para criar sons, e tendo em vista que o Pure Data trata o som como apenas mais um conjunto de números, é útil saber como o áudio digital funciona. Nós iremos voltar para estes conceitos mais adiante.

Analogue_Digital_Conversion

Este diagrama mostra como o som viaja pelo seu computador. A "Analogue to Digital Conversion"(conversão Analógico para Digital) e "Digital to Analogue Conversion" (Digital para Analógico) é realizada pela placa de som. O "Sistema Digital" neste caso é o Pure Data.

Frequência e Ganho

Inicialmente, imagine um alto-falante. Ele move o ar em frente a ele e isto gera o som. A membrana do falante deve vibrar de sua posição central (repouso) para frente e para trás. O número de vezes que a membrana vibra por segundo está relacionado com a frequência (a nota, o tom ou a altura) do som que você escuta, e a distância que este som percorre a partir do ponto de repouso determina o ganho (o volume ou intensidade sonora) do som. Normalmente, nós medimos a frequência em Hertz (Hz) e a intensidade ou ganho em decibels (dB).

speaker 

Um microfone trabalha de modo reverso - as vibrações no ar fazem a membrana vibrar. O microfone converte estas vibrações acústicas em corrente elétrica. Se você plugar o microfone na placa de som do seu computar e começar a gravar, a placa de som fará milhares de medições por segundo nesta corrente elétrica e gravará tais medições como números.

Taxa de Amostragem e Quantização em Bits

Para tornar um audio tocável em um Compact Disc (CD), o computador deve tomar 44.000 medições (chamdas de amostras ou samples) por segundo e gravar cada uma como um número de 16-bit (16-bit number). Um bit é uma representação de informação que equivale a 0 (zero) ou 1 (um) e se existem 16 bits juntos para representar uma amostra então temos que existem 216 (ou 2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2 = 65.536) possíveis valores que cada amostra pode ter. Logo, nós podemos dizer que a qualidade de áudio de CD tem uma taxa de amostragem (sampling rate) de 44.100 Hz e uma quantização (bit-depth ou word length) de 16 bits. Em constraste, gravações musicais profissionais são normalmente realizadas em 24 bits inicialmente para preservar o máximo de detalhes antes de serem mixadas como 16  bits para CD e podemos também citar que antigos jogos de computador ficaram famosos por terem sons memoráveis de 8 bits. Aumentando a taxa de amostragem, nós somos capazes de gravar frequências sonoras altíssimas e aumentando a quantização nós conseguimos utilizar uma maior faixa dinâmica (dynamic range), sendo esta referente à variação sonora desde o som mais silencioso e o mais alto que é possível de ser gravado e tocado.

Pcm

Um exemplo de um sinal (em vermelho) quantizado em 4 bits. Esta imagem mostra que 16 possíveis valores podem ser obtidos com 4 bits - uma faixa dinâmica muito baixa, de fato! Em Pure Data, nossa escala de números vai de -1 para +1, com 0 como valor central. Fonte: https://en.wikipedia.org/wiki/File:Pcm.svg. 

O número utilizado para gravar cada amostra tem um valor entre -1 e +1, que vai repreentar a maior faixa de movimento de nosso  auto-falante "teórico", com o 0 representando o falante em repouso na posição central.

waveform

Representação gráfica de uma onda sonora, a qual cruza o zero passando do domínio negativo ao positivo.

Quando pedimos para o Pure Data tocar este som, ele vai ler as amostras e enviar para a placa de som. A placa de som vai então converter estes números para uma corrente elétrica que fará o auto-falante vibrar o ar em frente a ele e produzir o som a ser ouvido.

Controle de Velocidade e Altura

Se quisermos alterar a velocidade que um som é tocado, nós devemos ler as amostras de maneira mais rápida ou mais lenta que a original. Este é o mesmo efeito de alterar a velocidade de uma gravador ou tocador de áudio. Sendo a informação sonora tocada de maneira diferente, teremos também alteração na altura do som em relação à mudança de velocidade. Uma execução mais rápida aumenta a altura do som, enquanto que uma execução mais lenta reduz a altura. Lembrando que esta altura está relacionada às frequências sonoras e que o aumento da altura fará o som ficar mais agudo, por exemplo.

Alteração, Mixagem e Distorção de Amplitude Sonora

Se desejarmos alterar o volume do som, nós temos que multiplicar os números que representam as amostras do som por algum fator. Multiplicando por um número maior do que 1 (um) fará o som ficar mais alto, enquanto que a multiplicação por um número entre 0 (zero) e 1 (um) fará o som ficar mais silencioso. Multiplicando por zero irá deixar o som mudo - resultando em nenhum som. Podemos também mixar dois ou mais sons através da adição dos números que representam suas amostras a fim de obter um novo som. Todas estas operações podem ser realizadas em tempo real enquanto o som está tocando.

No entanto, se a faixa de números que representam as amostras do som ultrapassam a faixa entre -1 e 1, qualquer valor fora desta faixa será truncado (alterado para -1 ou 1) pela placa de som. O som resultante desta operação será distorcido (clipped). Alguns detalhes do som serão perdidos e frequências quem não estavam presentes anteriormente serão ouvidas.

clikpping

Uma forma de onda na esquerda no seu volume máximo (isto é, com seus picos em -1 e 1). O volume da forma de onda na direita foi duplicado, então o pico está entre -2 e 2. O gráfico mostra o que seria ouvido pela placa de som: um sinal distorcido com os picos da onda senoidal removidos.

O Número de Nyquist e o Aliasing

Há um problema que ocorre quando se executa uma frequência que seja maior que a taxa de amostragem que um computador está utilizando. Se estivermos utilizando a taxa de amostragem de 44.100 Hz, a maior frequência que é possível ser executada teoricamente sem erros é 22.050 Hz. A razão disto é que um computador necessita de ao menos duas amostras para reproduzir uma simples frequência. O número que representa a metade da taxa de amostragem é chamado de número de Nyquist

Se você pedir ao Pure Data para executar uma frequência de 23.050 Hz, o que você ouvirá será um tome de 23.050 Hz e um segundo tom de 21.050Hz. A diferença entre o número de Nyquist (22.050 Hz) e o som sintetizado (23.050 Hz) é de 1.000 Hz, o que você irá adicionar e subtrair ao número de Nyquist para encontrar as frequências atuais a serem ouvidas. Logo, se alguém aumenta a frequência com relação ao número de Nyquist, será ouvido um tom aumentando e outro diminuindo. Este problema é referido como aliasing ou foldover.

AliasingSines 

Aqui nós podemos ver duas possíveis formas de onda que podem ser descritas amostras apresentadas. A linha vermelha mostra a forma de onda desejada, enquanto que a linha azul apresenta a forma de onda com aliasing.
Fonte: http://en.wikipedia.org/wiki/Image:AliasingSines.png 

DC Offset

DC offset é causado quando uma forma de onda não cruza a linha central, o zero no nosso caso, ou tem quantidades de sinais desiguais no domínio positivo e negativo. Isto siginifica que, em nosso falante, a membrana não retorna ao seu estado de descanso em cada ciclo. Isto pode afetar a faixa dinâmica do som. Enquanto o DC offset pode ser útil em alguns tipos de sínteses, ele é geralmente considerado indesejável em um sinal de áudio. 

dcoffset

Um exemplo de DC offset: a forma de onda se encontra apenas no domínio positivo.

Tamanho de Bloco

Computadores tendem a processar informações em batches ou chunks. Em Pure Data, eles são conhecidos como Blocos. Um bloco representa o número de amostras de áudio que o Pure Data irá computar antes de liberar uma saída. O tamanho de bloco padrão em Pure Data é 64, que significa que a cada 64 amostas o Pure Data realiza todos os cálculos necessários no som e libera as amostras de áudio para a placa de som quando finaliza. Devido a isto, um patch em Pure Data não pode conter nenhum loop de DSP (Digital Signal Processing, ou Processamento Digital de Sinais), que é uma situação na qual a saída de áudio de um patch é enviada diretamente de volta para a entrada. Nesta situação, o Pure Data estaria esperando pelo cálculo da saída de áudio do patch antes de liberar a saída de áudio! Em outras palavras, uma situação impossível. Pure Data pode detectar loops de DSP e não irá computar áudio quando eles estão presentes. Para mais informações veja a seção de resolução de problemas (Troubleshooting section).

Tudo são apenas Números!

O fato mais importante para ter em mente quando se inicia o estudo de Pure Data é que o áudio e tudo mais são apenas números dentro do computador e que normalmente o computador não se importa se os números com os quais você está trabalhando representam texto, imagem, som ou outros dados. Isto torna possível que façamos incríveis transformações em som e imagem, mas também também permite que cometamos falhas já que não há "checagens" em Pure Data para ter certeza que você está pedindo ao programa para fazer algo que é realmente possível de ser realizado. Sendo assim, algumas vezes as conexões que você faz em Pure Data podem fazer o computador travar ou fechar a aplicação. Para se proteger disto, salve seu trabalho constantemente e tente não deixar que isso seja um incomodo para você, pois conforme você vai aprendendo mais e mais sobre esta linguagem você também irá cometer menos erros e eventualmente será capaz de programar patches que serão tão estáveis quanto previsíveis como você deseja que eles sejam.