Törööö Bild  

Mein Erfolg der Woche: Sound Bild  

Ein wenig Piepsen konnte Marvin bisher, mehr nicht. Was macht man mit dem Rest an Speicher auf einem Atmega32? Da Marvin zum Piepsen einen aus Widerständen bestehenen DA-Wandler hat, lag es nahe, Marvin ein oder zwei digitalisierte Aufnahmen sprechen zu lassen. Aber wie?

Ganz einfach. Da ein ATMEGA32 nur sehr wenig RAM und wenig EEPROM hat, muss ein abzuspielender Sample in den Flash-Speicher. Ich habe mir hierzu mit VB Express 2005 ein kleines Programm gebastelt, das mir aus einer (mono, 8-Bit unsigned) WAV-Datei eine lange Liste von Data-Statements erzeugt, die ich nur an mein Abspiel-Programm anzuhängen brauche Bild  

Bei einer Samplingfrequens von 11kHz und freien 24KB Flash ergibt das etwas über zwei Sekunden. Ausreichend für nen kleinen Gag Bild  

Der Atmega liest per Interrupt und einem Read einfach die Datazeilen aus und reicht die Werte an den DA-Wandler weiter. Ein kleiner Verstärker auf der Controllerplatine und ein Minilautsprecher machen den Rest Bild  

Picards "Energie" und Spocks "Faszinierend" passen ganz prima *g*

Wobei ich die nächsten Tage mal testen werde, ob man nicht ebenso einfach einzelne Laut-Samples abspeichern kann, und mit einer gezielten Abspielreihenfolge alles an Sprache ausgeben lassen kann, was einem in den Sinn kommt. Ein Laut müsste nach meinen Schätzungen etwa 1/8 Sekunde lang sein, also müssten in einem 644-20 nebst Abspielsoftware ca. 40 Laute passen. Das sollte für Sprache eigentlich reichen.
Bleibt nur auszutesten, wie verständlich das Ganze wird.