MIDI wireless transmitter / receiver

Started by gtudoran, May 07, 2014, 05:18:43 AM

Previous topic - Next topic

gtudoran

Hello guys,
Log time no see (as i was working a lot on some analog projects smiley ). Had an idea and i would like to share it with you (not an original one but ... i would be a nice addition to any musician around here).

I would like to try to design a system that would send MIDI messages wireless (more like a wireless bridge). So this shouldn't be much of a problem as MIDI data is serial data.

I will explain my idea and my solution  and if you have any comments for improving this, please share.

The solution should have 2 end points (a receiver and a transmitter). I will use arduino mini pro for this and 2 nrf24l01 modules. That is it ... every byte that i receive on the serial interface i will send it to the wireless module, then receive it on the other end and send it to serial interface of the 2nd arduino.

Do you see any problems that would arise form this configuration? In 2 days i will finish the software for the rcv. and trans. and post it here and give it a go.

Best regards,
Gabriel Tudoran
Analog Sound

deadastronaut

hi gabriel, have you seen the fishman triple play wireless midi and guitar..

https://www.youtube.com/watch?v=_nKhlmJ4EeI
https://www.youtube.com/user/100roberthenry
https://deadastronaut.wixsite.com/effects

chasm reverb/tremshifter/faze filter/abductor II delay/timestream reverb/dreamtime delay/skinwalker hi gain dist/black triangle OD/ nano drums/space patrol fuzz//

gtudoran

Nop didn't know about it... but the main idea behind this gadget would be: help that guys that use midi switching to get rid of the midi cable :) ... I'm still thinking if i sould use 2.4GHz WIFI or BlueTooth standard.... hmmm what do you say?

Best regards,
Gabriel Tudoran
Analog Sound

deadastronaut

i have no idea, but i guessed it would be bluetooth... cool project idea. 8)

down to the best range of distance i suppose.
https://www.youtube.com/user/100roberthenry
https://deadastronaut.wixsite.com/effects

chasm reverb/tremshifter/faze filter/abductor II delay/timestream reverb/dreamtime delay/skinwalker hi gain dist/black triangle OD/ nano drums/space patrol fuzz//

gtudoran

Bluetooth would be nice(i will try with that too) but the range is ... very small 10m at max, i know it's ok for a medium distance but could be a problem if you have interference and that will shorten the range. I will make a test with some RF modules and then i will test it with BT ... i will keep you updated.

Best regards,
Gabriel Tudoran
Analog Sound

Digital Larry

I'd be concerned about the reliability of the link.  If you have something like TCP/IP with reliable data delivery, you know the data will eventually get there , or the system will die trying.  MIDI, being a real-time protocol (I don't mean anything technically official by that, simply that the "when" of MIDI is "now!"), is more like UDP typically used for video and audio streaming over the internet.  If you don't get a certain packet, you don't worry about it and hopefully overall it doesn't impact your media experience too much.  However, missing Note-Offs and Pitch Bend messages especially could really throw the monkey wrench into your MIDI performances.  You might try to develop your own reliability protocol which would send every event twice, hoping that at least one will get there, and given that MIDI itself is sort of slow, this might not slow things down overall too much.  Or I am fairly certain there are existing solutions for MIDI over existing network protocols, such as:

https://www.google.com/search?q=MIDI+over+TCP%2FIP&oq=MIDI+over+TCP%2FIP&aqs=chrome..69i57.3031j0j7&sourceid=chrome&es_sm=0&ie=UTF-8

But if in practice your wireless link is really reliable, then that wouldn't be a problem.  Good luck!  Interested to hear how it comes out.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

g_u_e_s_t

i built one of these a few years ago out of some atmel wireless modules (2.4GHz zigbit), and they worked pretty well.  i was even able to make the transmitter phantomly powered from the MIDI data line.  as far as bluetooth vs. regular module goes, i would reccomend a regular module if you need more distance than 10m, most regular modules can do 30m reliably.  also, bluetooth is more complicated to deal with, but have the advantage that you can go straight to your computer.

most of these modules have built-in ACK and corruption detection, so they are robust.  i did a variant on UDP style transmissions, where i set a max latency for each type of packet, and after that time, the packet would get thrown away.  my average latency was 3ms.  also, the transmitters are way more efficient for large packets, so i would reccomend some sort of windowing - decide what your maximum latency can be, and collect as many midi messages as possible in that time frame and send them off as a single packet.  if you need to retransmit packets, you can roll any new data into that packet.