You are on page 1of 4

PROGRAMA PARA LEITURA DE DADOS DE ARQUIVO WAV E

APRESENTAÇÃO EM GRÁFICO EM AMBIENTE WINDOWS

SOFTWARE FOR DATA READING OF WAV FILES AND GRAPHIC


PRESENTATION ON WINDOWS ENVIRONMENT
Eduardo Gomes Lamas Otero, Samuel E. de Lucena - Campus de Guaratinguetá - Faculdade de Engenharia -
Engenharia Elétrica - eglotero@yahoo.com.br.

Palavras Chaves: formato WAV; programação.


Keywords: WAV format; software development.

1. INTRODUÇÃO
A maneira mais simples de se gravar um arquivo de áudio digital é utilizando-se do formato
WAV. Atualmente existe uma diversidade de aparelhos eletrônicos de baixo custo que gravam
áudio digital, os populares MP3 Players (S1MP3, 2007; DIGITAL PRESERVATION, 2008).
Embora as músicas que o MP3 Player reproduz estejam gravadas no formato MP3, as
gravações de voz que este instrumento faz, usando o microfone embutido de eletreto, são em um
formato chamado WAV. Isso se dá porque o algoritmo necessário para gerar um arquivo WAV é
bastante simples, se comparado com o algoritmo necessário para fazer a compressão exigida pelo
formato MP3.
O baixo custo do aparelho de MP3 e o fácil acesso ao mesmo motivaram-nos a utilizar esse
equipamento para outros fins, que não apenas gravação de arquivos de áudio. O MP3 Player pode
ser utilizado como um coletor de dados de sensores, como temperatura ou pressão, desde que os
sensores sejam capazes de emitir um sinal que possa ser gravado pelo MP3 Player (KIM et al.,
2005).
Por ser dotado de uma conexão USB, os arquivos gravados no aparelho podem ser
facilmente lidos por um PC; assim, com um programa capaz de interpretar esses dados, podemos
recuperar a informação gravada em formato WAV, mostrando a informação em forma de gráfico.

2. FUNDAMENTAÇÃO TEÓRICA E OBJETIVOS


2.1 O Formato WAV
O formato WAV é um subconjunto da especificação RIFF (da Microsoft) para gravação de
arquivos multimídia. O arquivo RIFF começa com um cabeçalho, seguido de um trecho que
identifica o formato e, no final, uma sequência de trechos de dados (Figura 1).
Arquivo WAV

Cabeçalho

Trecho c/
formato

Trecho c/ dados
(som)

Fig. 1: Estrutura básica de arquivo WAV.

Em suma, um arquivo WAV na forma canônica segue o formato mostrado na Fig. 2.

02543
Cabeçalho

52 49 46 46 ab cd ef gh 57 41 56 45

RIFF WAVE
ASCII ASCII

2ghefcdab= (Número de bytes do arquivo) - 8)


Fig. 2: Conteúdo do cabeçalho (hexadecimal). ghefcdab é um número hexadecimal inteiro e sem sinal. Observar
que o número usa a notação Intel para números inteiros de múltiplos bytes.

O formato WAV possui dois subtrechos: fmt e data. O subtrecho fmt contém as informações
sobre o som, tais como número de bits por amostra, frequência de amostragem, número de canais,
entre outras informações. O subtrecho data contém as amostras da onda sonora (THE SONIC
SPOT, 2008).

2.2 Linguagem C++ e ambiente C++ Builder


O ambiente C++ Builder permite que a interface gráfica do programa seja desenvolvida de
forma simples e eficiente, característica de ambientes do tipo RAD (Rapid Application
Development – Desenvolvimento Rápido de Aplicações). Assim, qualquer alteração na interface
pode ser feita sem grandes problemas (BONIFÁCIO, 1998).
A linguagem C++ é derivada da linguagem C, tendo como herança características
interessantes para o desenvolvimento de programas que lidam com grande volume de dados. A
linguagem C é considerada bastante eficiente no acesso à memória, tornando o programa rápido o
suficiente para realizar o tratamento dos dados.

2.3 Objetivos
• Discriminar dentre os arquivos de uma lista quais são do tipo WAV e quais não são.
• Abrir o arquivo tipo WAV, verificando os cabeçalhos relevantes.
• Decodificar a informação contida no arquivo, traçando um gráfico com a forma de onda do
arquivo WAV.
• Informar, junto com o gráfico, parâmetros relevantes do arquivo aberto.

3. METODOLOGIA
O programa foi desenvolvido tomando por base um arquivo WAV simples, como guia, e a
forma canônica do formato WAV, citada no item 2.1. A figura 3 mostra o fluxograma simplificado
do programa.

02544
Fig. 3: Fluxograma simplificado do programa desenvolvido

O algoritmo desenvolvido lê um caractere por vez e, quando necessário, salva esses


caracteres em um vetor. As informações necessárias para a decodificação do formato WAV,
contidas nos primeiros cabeçalhos do arquivo, são salvas. A partir do trecho data, o programa
apenas lê o dado, decodifica, e desenha o gráfico.

4. RESULTADOS E DISCUSSÃO
Para testar o programa desenvolvido, utilizamos como padrão um programa comercial
chamado GoldWave (GOLDWAVE, 2009). O GoldWave trabalha com arquivos de som e, para
tanto, utiliza-se também de uma interface com gráfico da onda sonora; assim, pode-se fazer uma
comparação direta do resultado obtido utilizando o nosso programa com aquele obtido pelo
GoldWave. A figura 4 apresenta o gráfico desenhado pelo programa que desenvolvemos neste
trabalho para o arquivo CLICK.WAV (som da biblioteca do Windows XP), que representa o som
de um estalido.

Fig. 4: CLICK.WAV no Software desenvolvido neste trabalho

A figura 5 mostra o mesmo arquivo (CLICK.WAV) sendo representado pelo software


GoldWave.

02545
Fig.5: CLICK.WAV no Software GoldWave

Comparando as duas figuras, nota-se uma grande semelhança. A vantagem do programa por
nós desenvolvido (gráfico em vermelho) reside no fato de que podemos alterar o código para
decodificar informações diferentes de ondas de áudio, possibilitando usar o MP3 Player como um
coletor de dados, como proposto na introdução deste resumo.

5. CONCLUSÃO
Desenvolvemos um programa capaz de abrir arquivos no formato WAV e mostrar o sinal
nele contido em forma de gráfico. O programa por nós desenvolvido conseguiu traçar gráficos
bastante semelhantes ao gráfico traçado pelo programa GoldWave, utilizado como padrão.
O programa ainda precisa de alguns melhoramentos em termos, principalmente, de
desempenho para arquivos grandes. É possível também utilizar o programa como base para o
desenvolvimento de um editor de áudio, uma vez que basta lidar com os dados do trecho data para
produzir efeitos, ou cortar pedaços do arquivo de som.

6. REFERÊNCIAS BIBLIOGRÁFICAS

GOLDWAVE. GoldWave audio editor. Disponível em: http://www.goldwave.com/. Acessado em


31/08/2009
DIGITAL PRESERVATION. Wave audio file format. Disponível em:
http://www.digitalpreservation.gov/formats/fdd/fdd000001.shtml. Acessado em 18/09/2009.
KIM, J.; LEE, M.; LEE, H.-K; CHOI, K.; BANG. S.; KIM, S. Heart rate monitor for portable MP3
player. 27th IEEE ANNUAL CONFERENCE ON ENGINEERING IN MEDICINE AND
BIOLOGY, 2005. Proceedings... p.5207-5210, 2005.
S1MP3.ORG. S1 MP3 Player. Disponível em: http://www.s1mp3.org/pt/index.php. Acessado em
28/02/2009.
THE SONIC SPOT. Wave file format. Disponível em:
http://www.sonicspot.com/guide/wavefiles.html. Acessado em 18/09/2009.
BONIFÁCIO, J. M. Jr. Borland C++ Builder Para Principiantes. Axcel Books, 1998

02546

You might also like