sitemap link mailform link home

Arduino MIDI-Shields

Beitrag vom 3. Januar 2017

Es gibt verschiedene Arduino-Shields und Breakout-Boards mit dem VLSI-Chip VS1053 B.
Dieser Chip kann unter anderem viele verschiedene Audioformate wie MP3, Wave... wiedergeben.
Ein besonderes Feature ist aber, dass ein kompletter MIDI-Wavetable-Synthesizer enthalten ist.

Ich habe mir nun den folgenden Arduino-Shield bei Ebay gekauft:

Externer Link VS1053-MP3-Module-Development-Board-with-On-Board-Recording-Function

Arduino MP3 Shield

Als "Erstversuch" wollte ich eine MP3-Datei über den SPK-Ausgang (Klinkenbuchse unten links) wiedergeben. Die MP3-Datei muss sich auf einer SD-Karte befinden. Die erste Enttäuschung war nun, dass der eingebaute SD-Card-Slot nicht funktionierte.

Das konnte ich aber dadurch umgehen, dass ich ein externes SD-Card-Modul anschloss:

SD-Card-Modul ohne Spannungswandler


Externer Link SD-Card-Modul für Arduino UNO ohne Spannungswandler bei Ebay

Das SD-Card-Modul wird folgendermaßen mit den Arduino-Pins verbunden:

SD-Card-Modul      Arduino

GND ----------------- GND
+5-------------------5V
MISO-----------------Pin12
MOSI-----------------Pin11
SCK-------------------Pin13
CS---------------------Pin9

Die Bezeichnungen stehen neben den Pins auf dem SD-Card-Modul.

Nun müssen noch zusätzliche Bibliotheken installiert werden:

Externer Link https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library

Man kann über den Button "Clone or Download" das gesamte Repository als ZIP-Datei runterladen.
Danach die ZIP-Datei entpacken und die enthaltenen Bibliotheks-Ordner SFEMP3Shield und SdFat in den Ordner C:\Program Files (x86)\Arduino\libraries kopieren.

Hier ist der Vorgang noch einmal genauer erläutert - in englischer Sprache:

Externer Link https://learn.sparkfun.com/tutorials/mp3-player-shield-hookup/using-the-sfemp3shield-library

MP3-Wiedergabe mit SD-Karte


MIDI-Wiedergabe - auch ohne SD-Karte

Das folgende Arduino-Programm MP3_Shield_RealtimeMIDI.ino zur Real-Time-MIDI-Ausgabe funktionierte bei mir auf Anhieb:

Externer Link https://gist.github.com/microtherion/2636608

Diese beiden Zeilen in MP3_Shield_RealtimeMIDI.ino müssen aber noch geändert werden:


#define USE_GPIO_INIT 0
#define USE_SPI_MIDI 1


* Real Time MIDI mode can be enabled with two different methods, controlled by USE_GPIO_INIT
* (1) Setting GPIO1 to HIGH (which is hardwired in the Sparkfun Music Instrument shield, and can be done through pin 4 in the MP3 Player Shield)
* (0) Sending a small software patch through SPI.

Der "Befehl" USE_GPIO_INIT 0 sorgt also dafür, dass ein Patch für die MIDI-Betriebsart an den VS1053B gesendet wird. -> Software-Aktivierung der MIDI-Betriebsart
Bei USE_GPIO_INIT 1 wird lediglich abgefragt, ob der Pin GPIO1 auf HIGH liegt. -> Hardware-Aktivierung der MIDI-Betriebsart


Sobald das Programm MP3_Shield_RealtimeMIDI.ino nun auf dem Arduino + Shield läuft, werden nacheinander alle verfügbaren MIDI-Instrumente des integrierten Wavetable-Synthesizers des VS1053B "angespielt". Gleichzeitig werden die Wavetable-Nummern der Instrumente im Seriellen Monitor angezeigt.


Viele weitere Informationen von SparkFun zum VS1053 und ein MIDI Code Example gibt es hier:

Externer Link SparkFun MP3 and MIDI Breakout - VS1053

Die Code Examples habe ich aber noch nicht getestet!


Weitere Produkte

Externer Link LCSOFT STUDIO -  ein Breakout-Board mit VS1053-Chip, das MIDI und MP3 abspielen kann

Externer Link LCSOFT STUDIO bei www.ebay.de (10 €)

Externer Link Noname VS1053-Breakout-Board bei www.ebay.de/ (8 €)

Externer Link Adafruit VS1053 Breakout-Board für MIDI und MP3 -> Soundmodul für Arduino (25 €)

Externer Link Geetech Arduino MP3 shield (ca. 8 € auf Ebay) mit Bibliothek und Demo-Code

Externer Link SD-Card-Modul für Arduino Due bei www.geras-it.de (mit Pegelwandlern) 2,40 €

Externer Link http://cargocollective.com/polle/Reinventing-A-Drummachine

Externer Link http://wiki.seeed.cc/Music_Shield_V2.2/

http://goetzmd.de/diy/diy-midi-controller/schaltplan-und-arduino-sketch-diy-midi-controller-finale

 

Letzte Änderung:
June 21. 2024 19:13:39
«    top    »