Forum: Mikrocontroller und Digitale Elektronik Midi Signale über UART senden


von Melvyn S. (melvyn757)


Lesenswert?

Guten Tag,

Ich möchte gerne mit Midi Dateien die Leds auf meinem LPC936 steuern.
Meine Frage ist jetzt, Wie kann ich die .mid über usb an den UART 
senden?
Hardwaremäßig gibt es keine Probleme, da man den UART über USB 
ansprechen kann.
Nur weiß ich nicht wie ich die .mid auslesen kann und die Daten dann im 
hexadezimal Code am USB-Port ausgeben kann.
Welche Programme brauche ich für den PC?

von Stefan (Gast)


Lesenswert?

Midi hat eine Baudrate, die bei UARTS eher unüblich ist. Das könnte bei 
USB-UART Adaptern problematisch werden.

Weiterhin sende man nicht einfach den Inhalt der Datei. Die Midi 
Schnittstelle überträgt Steuerbefehle, wie :Ton x an, Ton x aus. DIe 
Software muss diese Befehle in den richtigen Momenten senden, und dabei 
idealerweise auch die Verzögerungen durch die serielle Übertragung 
berücksichtigen. Besonders Tricky kann das werden, wenn viele Ereignisse 
eigentlich zeitgleich auftreten müssten (was technisch unmöglich ist). 
Dann muss man die Befehle so "sortieren", dass es möglichst gut klingt. 
Ich denke, das Ohr reagiert auf zeitliche Verschiebungen Ereignissen 
unterschiedlich, je nach dem, welche Frequenz und welches Instrument 
betroffen ist.

Die Midi Datei enthält eher die Noten eines Musikstückes und natürlich 
Angaben, welche Instrumente zu verwenden sind. Die Software muss die 
Noten in Zeitgerechte Events umsetzen.

von Melvyn S. (melvyn757)


Lesenswert?

Danke für deine Antwort,
Ich will keine Musik mit dem LPC abspielen sondern nur die Leds steuern, 
deswegen verwende ich ja midi Datein.

Und wie meinst du das mit der Baudrate?
Ich gebe die Programme, .hex, die ich in µVison geschrieben habe, mit 
Flash Magic auf meinen LPC. Dort habe ich die Baudrate auf 7200 bzw. 
9600 eingestellt.
Der LPC hat eine Taktfrequenz von 7,3728MHz
Ist das zu wenig, wenn ich nur ein simples Lied, bei dem nur eine Note 
zur selben Zeit gespielt wird?

von STK500-Besitzer (Gast)


Lesenswert?

Melvyn Stumpfel schrieb:
> Und wie meinst du das mit der Baudrate?

Die Midi-Schnittstelle verwendet eine Baudrate von 31,25kbaud.

Melvyn Stumpfel schrieb:
> Wie kann ich die .mid über usb an den UART senden?

Hast du dir das Datenformat der Datei schon mal angesehen?
ein Googletreffer:
http://www.larsrichter-online.de/lmids/midformat.htm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.