Hat schonmal jemand irgendeinen Audio Dekoder für kleine AVRs (irgendwelche Tinys, z.B. Tiny15 o.ä.) geschrieben ? Es gibt eine ADPCM Application Note (AVR336), die aber nur für große AVRs geeignet ist, da ziemlich viel CPU Leistung benötigt wird (16MHz für 8kHz Samplerate). Im Internet habe ich diese Schaltung gefunden, aber leider sind keine genaueren Informationen dabei: http://www.kick4.net/tkk/0310tomohara.pdf Ansonsten ist es aber genau das was ich suche: Mit einem 8Pin AVR und einem großen EEPROM einen Audioplayer bauen um Geräusche abzuspielen. Mit einem 24C1024 kommt man auf 64s...
Wenn man einfach nur 8-Bit-Samples abspielt, braucht man keinerlei Decoder, nur deutlich mehr Speicher (halt 8000 Byte/sekunde, also knapp ein halbes Megabyte für eine Minute Spieldauer). Alternativ empfiehlt sich ein Hardware-MP3-Decoder, da wäre die Kompressionsrate auch deutlich höher als bei ADPCM, das, wenn ich mich recht irre*, gerade mal Faktor 2 hinbekommt. Statt eines EEPROMs sollte besser eine Flash-Speicherkarte verwendet werden, die lässt sich dann leicht mit einem PC und Kartenleser** programmieren, kostet nicht sonderlich viel und ist sehr viel größer als herkömmliche EEPROMs. SD- oder MM-Karten benötigen auch nicht sonderlich viele Anschlüsse. *) Will ich nicht ausschließen. Soweit ich mich erinnere, wird ADPCM bei DECT verwendet, das mit einer Datenrate von 32 kBit/sec arbeitet und die gleiche effektive Audioqualität wie ISDN erzielt. **) Klingt widersprüchlich, ist aber so.
Das ist mir schon klar, wenn ich viel Speicher brauchen würde, würde ich ne 2,5" HDD nehmen, mit 0,7" Bauhöhe, die hat 100GB... Ich möchte das ganze kompakt haben, daher dachte ich an die beiden SO8 ICs. ADPCM kann auch höhere Kompression haben, wenn man nicht 4bit sondern nur 2 oder 3 bit verwendet. mp3 Dekoder usw. ist zu groß und kostet Geld, ein EEPROM (oder Dataflash) + ein ATtiny sollte für eine einfache Kompression genügend Rechenleistung haben. Selbst wenn man so die Daten nur auf 50% komprimieren kann, ist es immerhin schon eine Ersparnis. PS: Hat schonmal jemand versucht einen einfachen mp3 Dekoder (oder sowas ähnliches) in einen AVR zu paken ? Von der Rechenleistung sollte es möglich sein, wenn man bei der Qualität nicht gerade Hifi haben möchte.
mp3 in software in einem AVR dekodieren? Du meinst der hat dazu genug Rechenleistung, glaub ich erstmal nicht...
Hallo, also das mit MP3 in Software dekodieren bekommt ja nichtmal ein 486er mit 80 MHz richtig hin und der hat Multiplikationsbefehle sowie ne FPU ... mit nem DSP schon eher, allerdings ... naya ... umständlich! ;) lieber für ca. 12-15 nen fertigen kaufen! Eine relativ einfache und schnelle Kodierung ist alaw oder ulaw ... dabei wird eine logarithmische Darstellung der Audiodaten verwendet ... so lassen sich 16-Bit samples in 8 Bit pressen ... allerdings verlustbehaftet. Der Vorteil dabei ist, das man trotzdem eine Hohe Dynamik zur Verfügung hat und leisere Geräusche detailgetreuer wiedergegeben werden ... MFG Hannes
Ich habe ja nicht gesagt, dass es echtes mp3 sein muss. Es reicht schon irgendein anderes, mp3 ähnliches Format. Wenn die Bitrate klein genug gewählt ist, wird das ganze um einiges einfacher. Mich erstaunt es immer wieder, was irgendjemand in einen AVR packt, da würde mich ein einfacher mp3 Dekoder nicht wundern...
OK, dann vergesst einfach den Verwendungszweck: Ich suche einen ADPCM Dekoder oder irgendwas anderes was problemlos auf einem AVR läuft, und mehr oder weniger gute Qualität liefert, um mit wenig Speicherplatz viele Audiodaten abzuspielen. Der in der AVR336 AppNote beschriebene ADPCM Codec ist extrem langsam. Ich hatte mal ein C Programm für einen M16C auf AVR Assembler umgeschrieben, da lief in Echtzeit sowohl der En als auch Dekoder (nur da war irgendwo ein Fehler, der Dekoder hat die Tabellen nie gewechselt, und alles war ganz leise).
Eigentlich ist das auch eine Aufgabe für einen DSP, nicht für einen MC. Das kostet natürlich ein paar Euro, dafür hat eine gängige Entwicklungsumgebung solcherlei Routinen bereits mit dabei.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.