I look for an Arduino simulator to comunicate in MIDI with some software.


I'm a beginer. I would like to use arduino to control some musical softwares with MIDI protocole (or sysex when I'll understand it).

I look for an Arduino simulator to have some tries before built it in real.

I need this simulator able to comunicate in MIDI. May be I need also other soft to do that.

Can you help me?

Best regard

I don't think such a simulator exists, and I don't think there's any need for one.

MIDI is standard: if the application works with a given MIDI message, and the Arduino can send out that exact message, everything will work fine.

Sending MIDI is really easy using my MIDI Controller library, or its successor the Control Surface Library.

On the topic of "simulators", the approach I'm using is to have unit tests that run on my computer. I compile these test, my Arduino library code, and an Arduino mocking library on my laptop, and run the tests. When all tests pass, and all examples compile for Arduino (using arduino-builder), I can be pretty confident that it will work on the Arduino itself as well.

You can see an example of one of these tests here: test/MIDI_Outputs/test-NoteButton.cpp

There are many MIDI "monitor" applications available that can create virtual MIDI ports and log and send data to other MIDI applications. You can use those to check what MIDI messages you have to send to the music software. However, this shouldn't be necessary, because the MIDI Controller and Control Surface libraries already send the correct messages (for most applications), and you can also check the MIDI documentation for your particular piece of software.


Yes it's a good idea to just send MIDI message to test application with a soft allowing this. You're right I don't need an Arduino simulator.

Can you propose me a soft in MAC OX10.11.6 to do that (I'm sorry to forgot to precise what OS I use).

Best regard (and thank you for your help)

I don't have a Mac myself, so I can't try it, but Google came up with this: https://itunes.apple.com/app/pocket-midi/id1260936756?mt=12

If you can't find an off-the-shelf app that does what you need, you can always use Juce: https://docs.juce.com/master/tutorial_midi_message.html I haven't used it in any large projects, but it was pretty easy to get the examples working.

If you have a Mac you can just use garage band to do your sound generation.
The application called Hairless will convert data received over the serial port into a MIDI source that you can use with programs that accept MIDI data.

The serial data you send needs to be in MIDI format but not necessarily at the MIDI baud rate, just the same baud rate you set Hairless to operate at.

Simple MIDI send code can be found as part of this project