MIDI-Signale -> SD-Karte -> Arduino (Roboterband)

Gast #4503742
Lesenswert?
• ▲
▼
Hallo Zusammen.

Ich arbeite gerade an einem Projekt. Entstehen sollte eine Roboterband. 
Diese Band sollte anhand einer mechanischen Vorrichtung mittels 
Steuersignale (Arduino) eine vorgegebene MIDI-Datei abspielen.
Das Projekt ist am laufen und es funktioniert so weit.
Zurzeit sende ich mittels einem Programm (Anvil Studio) vom PC über eine 
USB->MIDI Schnittstelle an ein MIDI-SHIELD am Arduino und werte dann die 
Daten aus und sende diese Steuersignale an die Endeffektoren.

Meine frage dazu wäre: Ist es möglich mit einem SD-Kartenleser und 
Decodierer (z.B.: VS 1053 von Adafruit) die MIDI-Dateien auch in Bytes 
am Arduino zu empfangen (SPI, UART,...).
Wenn es möglich wäre, könntet Ihr mir vielleicht Ein, Zwei Anhaltspunkte 
geben wie ich es Umsetzen könnte.

Bin leider sehr ungeschickt ;-).

Ich bedanke mich im Voraus.

Dominik
Gast #4503769
Lesenswert?
• ▲
▼
Danke für die schnelle Antwort.
Ja genau sowas suche ich. Es sollte zu diesen Projekt ein Arduino 
verwendet werden und die dazugehörigen Komponenten (ist alles 
vorhanden).
Aber ist es in allgemeinen möglich mit den Komponenten (VS 1053 Adafruit 
und Arduino) ein solches Projekt zu realisieren?

Danke
MfG
Persönliche Seite #4503940
Lesenswert?
• ▲
▼
Der VS1053 ist ein mp3-Decoder. Den brauchst Du nicht, denn der löst 
kein einziges Deiner Probleme.


Du brauchst einen µC (und da reicht ein Arduino dicke), der Midi-Dateien 
von einer SD-Karte liest und diese mit dem korrekten Timing auf seiner 
seriellen Schnittstelle (Achtung, korrekte Midi-Baudrate beachten!) 
wiedergibt.

Das bedeutet, daß Du Dir ansehen musst, wie so eine Midi-Datei aufgebaut 
ist und vor allem, wie die Zeitinformation darin codiert ist, damit Du 
die verschiedenen Midi-Events zum richtigen Zeitpunkt ausgibst.


Der Rest bleibt wie er ist, d.h. diesen "Midi-Player" verbindest Du mit 
Deinem bisherigen Aufbau anstelle des PCs.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren