Pages: [1]   Go Down
Author Topic: [HELP] MIDI Files on Windows/Linux -> Serial messages -> Read by Arduino  (Read 740 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

I am looking to implement controlling some solenoids based on MIDI inputs. A lot of MIDI projects I have found out listen for realtime MIDI inputs but I prefer the MIDI inputs to be a MIDI file instead.
Thus, I am looking if I can have a Windows (preferred) or Linux application/software which can process my MIDI files and output them to serial messages which are understood by my Arduino. To be honest, I have a feeling it may not be something too difficult to pull off but strangely, I couldn't find anything similar via Google.
Can Pure Data do it, or is there anything easier than that?

Or there could be an easier way to send MIDI messages to my Arduino?

Thanks a lor for reading and hopefully you can drop in a few advices.
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Or there could be an easier way to send MIDI messages to my Arduino?

You can use a Serial-MIDI converter software like this:

http://spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html

Or you can just use a regular MIDI output of your computer (using whatever MIDI hardware you have) and connect to the Arduino using a MIDI interface shield, like our Flexible MIDI Shield.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Or there could be an easier way to send MIDI messages to my Arduino?

You can use a Serial-MIDI converter software like this:

http://spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html

Or you can just use a regular MIDI output of your computer (using whatever MIDI hardware you have) and connect to the Arduino using a MIDI interface shield, like our Flexible MIDI Shield.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons


Interesting application there. Can't get it to work without the board. Will try it again when I got the board tomorrow.
But the application seems to be able to do Note-ON and Note-OFF only, as from the website itself:
Quote
MIDI messages coming from the MIDI-in port are limited to Note-ON, Note-OFF and Controller change commands.
Will be great if I can get something who can accept velocity as well.

Can you tell me more about how I can utilise a MIDI shield in my project? I am really new to Arduino and audio processing.

EDIT: Also, what do you mean by regular MIDI output of my computer? Is normal PC capable to send MIDI messages that are easily understood by a MIDI shield?
« Last Edit: November 07, 2011, 09:43:06 am by tanjinjack » Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A MIDI shield converts incoming MIDI messages to serial data, so you can access it in your sketch using a Serial object (either hardware serial or the SoftwareSerial implementation).

Getting MIDI out of your computer needs some kind of MIDI hardware with drivers. Something like this (just a random thing I found -- no particular endorsement is implied):

http://www.amazon.com/Roland-UM-1-Compact-Audio-Interface/dp/B004KCLXBE

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A MIDI shield converts incoming MIDI messages to serial data, so you can access it in your sketch using a Serial object (either hardware serial or the SoftwareSerial implementation).

Getting MIDI out of your computer needs some kind of MIDI hardware with drivers. Something like this (just a random thing I found -- no particular endorsement is implied):

http://www.amazon.com/Roland-UM-1-Compact-Audio-Interface/dp/B004KCLXBE

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected


Well, I think I will still look for solution for sending serial messages right away to Arduino. Can Pure Data interpret MIDI files easily and interface with Arduino well?
Is it possible to convert MIDI into text files and send it to Arduino via the USB instead?
Logged

Tallinn, Estonia
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

One way I found to send MIDI signal from your computer to the arduino is to make a processing program that convert the MIDI message to serial and send it to the arduino.

Quote
You can use a Serial-MIDI converter software like this:

http://spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html
I am not sure of exactly what can and can't do this converter but using the MIDIBus library for Processing is a easy way to do it (the converter software is done with it if I am correct).
I am for example able to send MIDI timing clock message from my music software on my computer (I use Ableton Live) to Processing, then to Arduino....and I have blinking LEDs in rythm.

So sending note and velocity information should not be very difficult. But you need to find a music software that can read your MIDI file and send those out.
If you are using Windows, you will need to install a program such as MIDI Yoke: http://www.midiox.com/. This will create MIDI port in your computer from which you will be able to send/receive MIDI messages.

Hope this help!
Logged

Pages: [1]   Go Up
Jump to: