Is there anyone here interested in Midi?

@discobot @David_Weaver @Stephen_Cardinale @Mark_Hempstead

In the old forum i read something (not so much) about sending midi out ,essages and receiving midi input.
I found also a gadgeteer library (needed for a midi gadgeter’s other library).
Unfortunately this library refers to old model until Panda 2, and old netduino.

The links are all dead.

It’s seems midi is the last thing a Netduino maker is interested in.
Better, it seems that no netduino user work with music.
It’s an old protocol, it’s true.
But it’s fast, and does not need no wifi connection.

Ok there is some gadgeteer (not cheap) thar regards AUDIO musical format reading,inside this ocean midi has a little marginal part.
And the gadgeteer ar very expensive.

The difference is this. Via midi we can take control (absolute control) of a professional 3d part professional synths, tha cannot be emulated by netduino nor arduino nor ghielectr. products as quality and affordability.

Most owners of these synths WORK with them, it’s their main or second job.

When i proposed my idea of making something that “mute” midi base,using
them as mask to correct the real time execution and avoid “uncorrect” note in the current chord, a lot, really a lot of people asked me for it, they hold on asking me “when do your project is previewed to be complete?”.

In reality i made the project on Arduino, using mid.h library.

I choose to port the project to net interpreter microboards because of some problem treating strings in olc C\C++, that are merely char arrays (they are, sure!)

But in net Strings it’s a class, with a lot of behavior tha truncate insert, exract, search, reverse methods etc etc.

Without these features the strings needed by my program (sketch in arduino)
fill fast the memory, and Arduino starts to bug. I use a midi shield and Arduino Mega (arduino DUE-most powerful- pins i/o working exclusively at 3.3x vs 5v needed by midishield to work properly).

Now i wonder, why so exceptional potential market is so little interesting for Netduino users and its community?

When i write “midi” in the new community search textbox, the result is ZERO.
Very strange.

And it’s unuseful to refer to old forum for the reasons that i listed (dead links,
libraries and few (very few) smples referring to old boards).

I don’t understand.

Is there anyone here interested in Midi?

The old forums had a few posts on midi
I do think that the slow progress of netduino development in the past under old management might have scared off developers in general.
Now with wildernesslabs as new owner of netduino things have to start up a bit again I suppose, a community needs to grow.

The midi stuff doesn’t look too complex, it’s just a serial port right?
The only thing I might worry about is latency, I’ve no idea how well netduino performs with that kind of load.

I only have a midi+usb keyboard and an old pc with midi connectivity which is no longer in operation. It’s a long time ago I booted up midi software as well.
I’d be happy to try and help you out with your project though, it sounds pretty cool

1 Like

I see, but dont’even obtain nothing reading the uart (or com) ports in arduino.
I figured out the incoming messages are been “stocked” in the serial buffer,
Reading that buffer could be useful, as i can parse the midi messages (i know it well as protocol).
As for midi latency, tried in a modest pc running win 98 SE,
and after, tried on Arduino, my extimation is near zero. I played the synth “filtered” by the program (or the sketch in the case of arduino) the response to key hits is immediated. I had to put a warning telling me if i played “filtered” or real time, cause i cannot hear any difference (no latency at all even playing fast arps).

Midi is also a formidable way to create interesting not musical things, for example i implemented a stenographic writing using a synth and writing very veru fast using midi protocol.

I say, midi is too important to be ignored.

While debugging I believe the com port is connected to the pc.
Maybe @Nevyn knows this? I didn’t do much serial development on the Netduino yet.

The COM ports are available to use even when debugging, they are separate from the Debug.Print output.

Regards,
Mark

No problem about this. I have a shield that switch between “loading time”
(where the com is used for loading to netduino), and playing time, when com is used to transfer/receive midi messages.
<img

Can i use, instead (and how) this midi to usb converter, instead of midi shield?
Directly connected via usb to Netduino?
Is there a sort of “driver” or some code useful, or it’s impossible?

The STM32F405 on the Netduino 2 has 2x USB OTG support apparently, but afaik micro .net doesn’t support being an USB host out of the box.
I think serial is the way to go if you want to keep it easy.
It might be possible to write your usb host stack though, but I only have very basic knowledge of that (I once had to make a usb joystick using an atmel chip in university)

@Wootah thanks i’ll try back to read some way from usb.
The problem using midishields and so reading/writing “directly” from/to uart pin
is that the functional voltage is 5V, not less, needed probably for the midi protocol to work correctly. Both options seems to be unpraticable on netduino or fez panda, at this moment.

@Wootah With midi shield (look at the photo) having switch between 3.3/5 v,
when switching to 3.3 midi communication ith the synth seems to be very few affordable, lot of unexpected data arrive on receiving uart pin. And i speak about arduino’s 3.3v pins, like in M0 pro, Due etc.

Finally, bitterly i think midishields works well at 5v, and the 3.3 switching is unuseful,
cause the problem is in making working correctly the midi communication, that seems to work correctly
at 5v minimum. Also tried with voltage converters (i don’t know the exact words in english) that trasform towards midishield 3.3 to 5 and viceversa towards the microboard,
unsuccesfully.

Hi Chiesa,

Sorry for coming back to you so late. I’ve been caught up in work and life for a while.
Have you tried a logic level converter? Something like this: https://www.sparkfun.com/products/12009
They should do the trick just fine. I’ve tried them myself between a netduino and arduino
They even have a guide at sparkfun: https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide
Maybe that’d work for you?

This is an old thread, but I thought of writing anyhow. There’ some midi file reader library on Github. It’s written in C#, so could it be imported to Netduino?
What things could possibly prevent it from working? I believe the library only dealt with opening files, nothing about GUI.