MP3 decode error -6 : INVALID_FRAMEHEADER

Hi,

beim aktuellen DEV Branch bekomme ich aktuell bei allen Dateien Artefakte im Sound. D.h. alle x Sekunden hakt das Audio bzw. scheint es einige Sekunden vorzuspringen. Am Ende vom Track bleibt die Wiedergabe dann stehen. Die Artefakte sind pro File auch nicht immer an der selben Stelle - also nicht wirklich systematisch.

Branch Stand - Hash/Commit ID: 36822d0
Board: lolin_d32_pro_sdmmc_pe

Firmware:

ESPuino Software-revision: 20241029-1-DEV
ESPuino Git-revision: 6b43fa0
Arduino Version: 2.0.17 (ESP-IDF 4.4.7)
Hardware: ESP32-D0WD-V3, Revision 3, CPU: 240 MHZ
Freier Heap: 135248 Bytes
Größter freier Heap-Block: 3407860 Bytes
Freier PS-RAM: 3434375 Bytes

Im Log finde ich dies:

I [36784] info        : MP3 decode error -6 : INVALID_FRAMEHEADER
I [36786] info        : syncword found at pos 393
I [36787] info        : syncword found at pos 0
I [36807] info        : MPEG-2.5, Layer I
I [36808] info        : Channels: 2
I [36808] info        : SampleRate: 48000
I [36808] info        : BitsPerSample: 16
I [36819] info        : BitRate: 320000

Hier wird ein ähnliches Problem beschrieben: Mp3s kaputt? Wiedergabe bleibt stehen - aber wenn es alle Dateien betrifft kann ich mir „fehlerhafte Dateien“ nicht wirklich erklären.

Gehe ich zurück zur vorherigen geflashten Firmware, treten diese Probleme nicht auf.

ESPuino Software-revision: 20240227-1-DEV
ESPuino Git-revision: 96cc0f3-dirty
Arduino Version: 2.0.14 (ESP-IDF 4.4.6)
Hardware: ESP32-D0WD-V3, Revision 3, CPU: 240 MHZ
Freier Heap: 100732 Bytes
Größter freier Heap-Block: 3407860 Bytes
Freier PS-RAM: 3453463 Bytes

Vom Log würde ich darauf schließen, dass der Fehler im Zusammenspiel mit der Lib von GitHub - schreibfaul1/ESP32-audioI2S: Play mp3 files from SD via I2S von @Wolle (?) auftritt.

Hat jemand eine Idee, wie ich das Problem weiter eingrenzen kann? Hab in der History for platformio.ini - biologist79/ESPuino · GitHub History geschaut - die Audio Lib Dependency wurde zw. Februar und November mehrmals aktualisiert. Hätte versucht nach „try and error“ lokal soweit zurückzugehen, bis der Fehler nicht mehr auftritt.

Oder vorgehen zur aktuellen Audio-Bibliothek? Das wäre schnell gemacht. In platform.ini :

https://github.com/schreibfaul1/ESP32-audioI2S.git#83a9370

Falls das Problem dann noch besteht könnte man einen Fehlerbericht dazu in Audio-I2S aufmachen. Hilfreich wäre auch eine Test-MP3 um das Problem nachzuvollziehen.

1 „Gefällt mir“

Ich bin mal „eine Version“ zurück zur zuletzt genutzten AudioI2S Version

;https://github.com/schreibfaul1/ESP32-audioI2S.git#98488c5 ;29.10.2024
https://github.com/schreibfaul1/ESP32-audioI2S.git#928c420 ;29.07.2024

Dort bekomme ich für viele Dateien keinen Fehler - soweit so gut.
Einige Dateien (welche einen Fehler während der Wiedergabe hatten) werden aber nun gar nicht mehr abgespielt und es wird direkt zur nächsten Datei gesprungen. :thinking:

Ich werde dann jetzt noch auf die neuesten AudioI2S Version gehen und nochmal testen:

(https://github.com/schreibfaul1/ESP32-audioI2S.git#83a9370)

Bezüglich Testfile:
Mein genereller Workflow - mit ‚ffmpeg‘ wird aus den Einzeltracks zu einem Hörbuch, ein großes mp3 File erzeugt. Eine NFC Karte ist dann z.b. einer Hörspielreihe zugeordnet und es werden alle Folgen dann als „Audiobook (loop)“ hintereinander weg abgespielt.
In diesem Fall sind die Folgen dann 140MB Groß, dass lässt sich schwer teilen vermutlich.
Kann auch gut sein, dass die Folgen wirklich Fehler aufweisen, nach dem ‚joinen‘ mit ffmpeg. Allerdings gibt es mit der alten FW (Februar 2024) kein Problem bei der Wiedergabe - also wäre die Audio Lib in dem Fall anfälliger für „Fehler“ in der Datei geworden.


EDIT: hiermit gibt es aktuell keine Probleme mehr bei mir @tueddy

(https://github.com/schreibfaul1/ESP32-audioI2S.git#83a9370)

Laut Überprüfung MP3-Sammlung › Wiki › ubuntuusers.de

kannst du mit Checkmate MP3 Checker - Download die mp3s mal prüfen, ob die „okay“ sind…

oder mp3-Qualität Checker Software - #4 by Gris_Gris - Off-Topic - Deutsch - Mp3tag Community oder MP3-Check - Gratis-Download | Heise oder oder …

Es kann sein das die Lib früher über Fehler „hinweggesehen“ hat die jetzt aber „korrekt“ geworfen werden…

1 „Gefällt mir“

Die Bibliothek im DEV-Branch ist jetzt aktualisiert.

2 „Gefällt mir“