Gast
#7251980
Hallo, ich habe ein eigenartiges Problem, für das ich keine richtige Lösung weiß: Ich habe einen ESP32 (WROOM-32), der eine Audiodatei von SD liest und diese mit einem MAX98357 ausgibt. Funktioniert wunderbar, bis zu Sampleraten von 44.1 kHz. Ab 48 kHz fängt es an, dass der Ton kleine "Knackser" in der Wiedergabe bekommt. Als würde der Chip kurz skippen oder so. Bei 96 kHz, die der MAX98357 ja eigentlich können soll, ist es absolut katatrophal. Ich hatte die Sache bei 48 kHz halbwegs in den Griff bekommen, indem ich die APLL des ESP32 benutze. Jetzt ist die Frequenz stabil, die Logiklevel sind korrekt und es passt auch alles zu 16 bit Daten, aber 96 kHz gehen immer noch nicht, obwohl das alles noch weit entfernt davon ist, was der ESP32 können soll: CLK= 2 Kanäle 16 bit 96 kHz = 3.072 MHz. Zuerst dachte ich an Buffer underruns oder dass die SD nicht hinterher kommt. Das scheint es aber nicht zu sein. Ich sehe in den Signalen keinerlei Auffälligkeiten... Hat jemand eine Idee, was das Problem ist? Hier der relevante Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |