Forum: Mikrocontroller und Digitale Elektronik Audio Format Speicherung


von Michael S. (de1rush)


Lesenswert?

Hallo zusammen,

ich habe eine ganz grundsätzliche Frage:
In welchem Format speichert man am besten Audio Files auf einem uC?

Ziel soll es sein minimalen Speicherplatz zu verbrauchen. Gibt es evtl 
eine Kompressionsformat?
Mir stehen 8MB SDRAM zur Verfügung und ich will einen Test Sound darauf 
abspeichern welchen ich dann über einen Baustein WM8731 auf meinen audio 
ausgang legen kann. Die Kommunikation mit dem WM8731 steht bereits, es 
geht hier rein um die Abalge des Audio Files.

Danke schonmal vorab,

grüße

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

DU hast vergessen mitzuteilen, in welcher Dauer und Qualität du dein 
Audiosignal benötigst. Sowohl Kompression/Codierung als auch 
Speicherbedarf sind damit aufs Engste verbunden.

von haeh (Gast)


Lesenswert?

Wenn du platzsparend Audio speichern willst, warum nimmst du nicht 
"einfach" das MP3-Format? Es gibt doch Audio-Kompressionsformate in 
Massen:
MP3, AAC, FLAC, OGG VORBIS

Ich hab ja keine Ahnung welches Audioformat dein Audiobaustein 
braucht...aber evtl. muss dann das komprimierte Format erst mal 
decodiert werden. Wenn das zu aufwändig ist, dann musst du wohl das 
Standardformat des Bausteines direkt speichern.

von S. J. (stj)


Lesenswert?

Bei so Spärlichen Informationen über den Zweck und die Anforderungen 
kann man leider nur ins blaue Raten.

Wenns nur ein paar einfache Tonfolgen sein könntest du ne Art MIDI 
Protokol zusammenbasteln.

Sprich du programierst ein Musikinstrument auf dem µC zusammen und 
speicherst nur die zu spielende Tonfolge ab.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Einiges kann man mit Deltamodulation einsparen, also wenn man nur die 
Differenz zum Vorwert speichert, was allerdings die Bandbreite des 
Signals mindert. Hier kommt man aber ohne aufwendige Kodierung aus.

von Michael S. (de1rush)


Lesenswert?

Hallo,

Danke schonmal für die konstruktiven Vorschläge.
Ich will "nur" einen Testsound zum reproduzierbaren Testen der Ausgabe 
abspeichern.
Qualität sollte nicht geringer als 128kBit (mp3 standard) sein. Ich will 
sowohl Tonfolgen für die nachgeschalteten Filter als auch menschliche 
Sprache zum finalen Test speichern (aber nicht beides gleichzeitig :)

ich scheue mich etwas davor einen MP3 encoder zu implementieren.
Ich such mal nach Codebeispielen und sehe wie das ausufert :)

Der Vorschlag der Deltamodulation scheint mir fürs erste nicht schlecht.

Gibt es da eigentliche keinen Standard wie man das in Speichern ablegt?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Michael Schlittenbauer schrieb:
> ich scheue mich etwas davor einen MP3 encoder zu implementieren.
> Ich such mal nach Codebeispielen und sehe wie das ausufert :)

Kannst Du in Software vergessen. Es sei denn, Du hast einen ARM oder 
AVR32 am Start.

Michael Schlittenbauer schrieb:
> Der Vorschlag der Deltamodulation scheint mir fürs erste nicht schlecht.
>
> Gibt es da eigentliche keinen Standard wie man das in Speichern ablegt?

Guck mal da: http://de.wikipedia.org/wiki/A-law

von Falk B. (falk)


Lesenswert?

@  Michael Schlittenbauer (de1rush)

>ich scheue mich etwas davor einen MP3 encoder zu implementieren.
>Ich such mal nach Codebeispielen und sehe wie das ausufert :)

Der VS1011 & Co ist dein Freund. Einfach die MP3 Daten per SPI 
reinpumpen und hinten kommt die Lala raus.

MFG
Falk

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

In Verbindung mit ´nem DataFlash kannst Du auch hochwertige Waves 
verwenden. Kommt immer auf die erwartete Qualität des wiedergegebenen 
Audiomaterials an.

von Max G. (l0wside) Benutzerseite


Lesenswert?

Michael Schlittenbauer schrieb:
> Hallo zusammen,
>
> ich habe eine ganz grundsätzliche Frage:
> In welchem Format speichert man am besten Audio Files auf einem uC?
>
> Ziel soll es sein minimalen Speicherplatz zu verbrauchen. Gibt es evtl
> eine Kompressionsformat?
> Mir stehen 8MB SDRAM zur Verfügung und ich will einen Test Sound darauf
> abspeichern welchen ich dann über einen Baustein WM8731 auf meinen audio
> ausgang legen kann. Die Kommunikation mit dem WM8731 steht bereits, es
> geht hier rein um die Abalge des Audio Files.

Mit 8 MB geht doch schon so einiges. 44,1 kHz mit 16 Bit sind 
CD-Qualität, also 88,2 kB/s. In 8 MB gehen dann etwa 93 Sekunden rein, 
das sind anderthalb Minuten. Ich weiß nicht, was Du testen willst, aber 
das müsste doch reichen. Die Daten kannst Du dann as-is in den WM8731 
schieben.

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.