www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik vs1053: Random Access in OGG/WMA/MP3-Dateien


Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne wissen, welche besonderen Vorkehrungen man treffen muss, 
um eine Audiodatei (.ogg,.mp3,.wma...) an einer beliebigen Position in 
der Datei beginnend mit dem Decoder-IC vs1053 abzuspielen.

Während das Abspielen einer MP3-Datei vom Dateianfang an problemlos 
funktioniert, führt das Abspielen der Datei von einer zufälligen 
Position aus zu einem kurzen, unangenehmen "Audio-Artefakt", danach ist 
die Wiedergabe jedoch sauber.
Bei Ogg- und WMA-Dateien ist ein Abspielstart an beliebiger Position gar 
nicht möglich (Dekodierung schlägt fehl).

Eigentlich hatte ich erwartet, dass der vs1053 (zumindest bei 
MP3-Dateien) die Synchronisation auf den nächsten Frame selbständig 
durchführt und es daher nicht zu hörbaren Artefakten kommen dürfte. Was 
ist hier zu tun? Datei zum Anfang des nächsten MP3-Frames spulen?

Und wie behandelt man die anderen Dateitypen (OGG/WMA)? Laut Datenblatt 
muss hier scheinbar zunächst der Dateiheader zum vs1053 übertragen 
werden.

Hat sich bereits jemand mit einer ähnlichen Problematik beschäftigt und 
kann hier seine Erfahrungen teilen?

Besten Dank,
Joe

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und wie behandelt man die anderen Dateitypen (OGG/WMA)? Laut Datenblatt
> muss hier scheinbar zunächst der Dateiheader zum vs1053 übertragen
> werden.
Genau, bei Ogg und WMA muss zuerst der Header gesendet werden, da dieser 
Dekodierinfos enthält. Danach kann man die Datei an beliebiger Stelle 
abspielen. Zum Synchronisieren auf die Audioframes schau mal hier:
http://code.google.com/p/arm-webradio/source/brows...

Zu den Audio-Artefakt:
Probiere mal den VS Puffer vor dem Springen mit Nullen zu füllen?

Gruß
Andreas

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Quelltext, ich denke das bringt mich im Bezug auf 
die Synchronisation ein ganzes Stück weiter!

> Probiere mal den VS Puffer vor dem Springen mit Nullen zu füllen?
Ich fürchte, das wird nicht viel bringen. Der vs1053 kommt direkt aus 
dem Softreset, bevor ich die MP3-Daten sende. Vermutlich muss ich hier 
tatsächlich auch manuell zum nächsten Frameanfang spulen.

Gruß
Joe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.