Forum: Mikrocontroller und Digitale Elektronik WAV Datei in AVR


von Ingo L. (grobian)


Lesenswert?

Ich habe mit einen AVR einen DA Wandler aufgebaut und möchte nun den 
Klang einer WAV Datei (8 Bit Mono) mit dem AVR abspielen. In wie weit 
kann ich die WÁV Datei dafür verwenden ?

von Benedikt K. (benedikt)


Lesenswert?

Wenn diese unkomprimiert ist (also PCM, am besten 8bit Mono), reicht es 
den Header am Anfang der Datei (44 Bytes) zu entfernen. Der Rest kann 
direkt Sample für Sample ausgegeben werden.

von Philipp Karbach (Gast)


Lesenswert?

http://www.ulrichradig.de/home/index.php/avr/megalol

da wird genau das gemacht, funktioniert auch gut :)

von Daniel W. (pegasus)


Lesenswert?

Benedikt K. schrieb:
> Wenn diese unkomprimiert ist (also PCM, am besten 8bit Mono), reicht es
> den Header am Anfang der Datei (44 Bytes) zu entfernen. Der Rest kann
> direkt Sample für Sample ausgegeben werden.

Habe mal in Wikipedia nachgeschaut. Ein Sample ist ein "Abtastwert". 
Hier in dem Fall ein 8-Bit Abtastwert (1 Byte). Man kann also Abtastwert 
für Abtastwert an einem PWM-Port ausgeben.

Ein ATmega8 hat 8192 Byte Flash. -Bei einer 8000 Hz Samplerate könnte 
man exakt eine Sekunde Sprache wiedergeben, und hätte 192 Byte übrig für 
den Code, um das 8k -Datenmeer zu lesen, und am PWM-Port auszugeben.

Zum Ablegen der Wave-Daten den EEprom des Atmega8 zu benutzen lohnt 
glaube ich nicht, denn der EEprom das Atmega8 hat ohnehin nur 512 Byte.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Lady Ada hat ebenfalls so etwas gebaut:
http://www.ladyada.net/make/waveshield/
(Auf der Seite gibt es auch ein Video.)

von Daniel W. (pegasus)


Angehängte Dateien:

Lesenswert?

In Wave-Editor-Programmen kann man auch noch eine (niedrige) Samplerate 
von 6000 Samples pro Sekunde einstellen (s. ATTACHEMENT). Das ist immer 
noch eine höhere Samplerate als bei "sprechenden" Grußkarten, die man 
für ein paar Euro im Geschäft kaufen kann.

-Weiss jemand, welche Samplerate bei Grußkarten verwendet wird?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.