quinta-feira, 7 de agosto de 2008

Áudio Amostrado (Sampled)

Nesse post, tento explicar como é a idéia de um sinal de áudio amostrado e como a API Java Sound aborda este conceito.

Imagine uma pessoa falando ao microfone. O microfone converte o sinal acústico da voz da pessoa em um sinal elétrico analógico correspondente (este processo se dá pela captura da variação da pressão do ar que é causada pela fala da pessoa). Um conversor AD (analógico-digital) transforma então este sinal analógico para uma forma digital amostrada conforme o gráfico a seguir:

O gráfico desenha a pressão do som (amplitude) no eixo vertical e o tempo no eixo horizontal. A amplitude de uma onda sonora é medida periodicamente a uma certa taxa, resultando em amostras discretas (os pontos vermelhos do gráfico) que compreendem o sinal de áudio digital. A precisão da aproximação do sinal analógico depende de sua resolução no tempo (taxa de amostragem) e sua quantização (ou resolução em amplitude - o número de bits usados para representar cada amostra).

A API Java Sound não possui uma configuração de hardware específica. É projetada para permitir que diferentes tipos de componentes de áudio sejam instalados em um sistemas e acessados pela API.
A figura anterior mostra o exemplo de uma placa de som contendo várias portas de entradas e saídas. O mixer geralmente recebe informções de áudio de alguma fonte: arquivo, streaming de rede, sintetizador MIDI, dentre outros. O mixer combina todas as entradas de áudio em um único stream, podendo ser enviado para um dispositivo de saída.

Voilà! Lembro que isto é apenas uma introdução.

Nenhum comentário: