Hallo im Forum,
da hast du dir etwas anspruchsvolles vorgenommen
MP3 verwendet eine komplizierte Komprimierung, allerdings ist der Arduino dafür sicherlich zu langsam, vergleiche z.B. https://embdev.net/articles/ARM_MP3/AAC_Player - dort wird ein leistungsfähiger ARM Core mit 54 MHz verwendet und das "nur" zum Abspielen einer MP3 Datei
Bei WAV sieht es schon besser aus. Da werden im Prinzip einzelne Abtastpunkte der Musikdatei gespeichert. Zum Abspielen kann man diese über PWM oder einen DAC ausgeben.
Das ist aber noch alles im Zeitbereich und nicht im Frequenzbereich. D.h. das müsste man zuerst umwandeln (mit FFT oder Görtzel, siehe wikipedia) um die Amplitude der Frequenzanteile zu erhalten. Für den Arduino ist das sehr viel zu tun.
Habe selber schon einen WAV-Abspieler mit dem Controller aus dem Arduino (atmega328p) und einer SD-Karte gebaut, der Mikrocontroller ist dabei stark ausgelastet und ganz ehrlich: für viel mehr wird der Controller wohl kaum ausreichen
Einfacher ist das Herausfiltern der Frequenzen mit herkömmlichen, analogen Filtern.
Das wird so bei den gängigen Lichtorgeln gemacht, im Internet findet man Vorlagen.
Wäre das eine Möglichkeit für dich?
Ich hoffe mein Text war einigermaßen nachvollziehbaransonsten gerne nachfragen.
Grüße, Bernhard
Lesezeichen