PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mp3/WAV Datei mit arduino auslesen.



Fred2207
20.02.2017, 17:11
Schönen guten Tag,
Ich habe mich in den letzten Monaten ein wenig mit Arduino boards und der "arduino Software" auseinander gesetzt und arbeite jetzt an einem Projekt wo ich meine Musik per LEDs visualisieren möchte.
Mein Gedanke ist das ich die mp3 oder WAV Datei auslese und dann mit verschiedenen schleifen verschiedene Sachen beleuchte.

Meine Frage ist nun ob man mp3/WAV Datein so genau auslesen kann das man wirklich Höhen und Tiefen in Zahlen sehen kann und ob ich das ohne Extra Board bauen kann.

Ich würde mich sehr über jegliche Antworten freuen.

Mfg Fred

BMS
20.02.2017, 20:44
Hallo im Forum,

da hast du dir etwas anspruchsvolles vorgenommen :rolleyes:

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 :-k

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 :-k

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 nachvollziehbar :confused: ansonsten gerne nachfragen.

Grüße, Bernhard

HaWe
20.02.2017, 21:22
die Frage ist zunächst: WELCHER Arduino.
Mit einem nackten Uno geht es sicher nicht (richtig), aber ein DUE hat 84MHz und 2 eingebaute DAC Wandler. Damit geht es sicher.
Aber auch für UNOS ist nicht aller Tage Abend, denn für sie gibt es WAV Shields, z.B. von Adafruit https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjI5b2Azp_SAhVBiiwKHYh7A6IQFgg0MAA&url=https%3A%2F%2Fwww.adafruit.com%2Fproduct%2F94&usg=AFQjCNEUczc099NVEjJ02P5jzceV7y_4Fw
und den MP3 Music Maker Shield https://www.antratek.de/music-maker-mp3-shield-for-arduino-w-3w-stereo-amp?gclid=CJmfo9bNn9ICFU0Q0wodhTkGIg

RoboHolIC
21.02.2017, 17:59
Hallo Fred2207.

Willst du die MP3-Dateien nur wegen der Lichteffekte auslesen oder zugleich als analoge Audiosignale wiedergeben?
Ich habe halt nur was von Lichteffekten gelesen, auch wenn die ohne Musik nicht viel Sinn machen :(