Hallöle, ich suche eine Möglichkeit Audiodaten mit einem Atmel in min. Mono-Telefonqualität zu komprimieren. Also eine Art Diktiergerät, speichern auf MMC oder auch intern. Und es soll nicht in externer Hardware wie einem Codec erfolgen. Hat jemand nen Tipp? thnx
Aufgrund der begrenzten Rechenleistung denke ich nicht das ein "richtiges" Komprimieren wie bei MP3/Ogg möglich ist, aber da es ja nur um Sprachqualität geht wäre mein Vorschlag das Signal zunächst in der Dynamik zu komprimieren (siehe Audio-Compressor), dies kann Hard- oder Softwareseitig geschehen und dann auf 4 Bit reduzieren bei niedriger Samplingrate. Bei guter Dynamik-Kompression reichen bei Sprache sogar 2 Bit aus. Damit kannst Du viele Stunden aufzeichnen.
Wenn du mit Atmel AVR meinst, dann wirst du nicht viel mehr als ADPCM hinbekommen. Ich habe sowas auch mal versucht, und tagelang gegoogelt. Irgendwo habe ich eine Übersicht über die ganzen Vefahren gefunden. Dabei wurde zwischen den einfachen Verfahren die Sample für Sample komprimierenden und den größere Blöcke analysierenden Verfahren unterschieden. Die einfachen komprimieren schlecht, da sie wirklich nur Sample für Sample betrachten, brauchen dafür aber alle kaum Rechenleistung (<1MIPs). Die besseren analysieren größere Ausschnitte der Audiodaten, lassen für den Menschen nicht/kaum hörbare Anteile weg, und speichern nur das unbedingt notwendige. Damit kann man 1kBit/s und weniger erreichen, allerdings fangen nahezu alle bei 20MIPs aufwärts an. Auf einem AVR ist das also nahezu unmöglich. Für dsPICs gibt es etwas, aber das braucht viel RAM und viel Rechenleistung.
A-Law und DPCM ist auf einem AVR realistisch machbar, alles modernere in Richtung GSM kannst du eigentlich vergessen.
Hi An die Moderatoren: Der arme Junge sucht wahrscheinlich immer noch seinen Beitrag. Ich finde, das war keine gute Idee. Auch wenn es formal richtig war. MfG Spess
@ Spess53 Nö, der arme Junge hat gute Augen ;-) Vielen Dank für die Tipps. Ich werde mich mal mit ADPCM befassen, die Applicationnote ist ja schon mal ein sehr guter Ansatz.
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.