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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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 é 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.
Um exemplo de DC offset: a forma de onda se encontra apenas no domínio positivo.
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).
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.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.