Old Motifator threads are available in the Archive.
agentaero
Total Posts: 9
Joined 02-02-2015 status: Newcomer |
Hi all, I am looking to add on a ribbon controller to my fairly newly purchased MOXF. I am pretty new to the whole world of synth/MIDI so I’m not too sure how complex this might be or of the obstacles I might be facing, so any insight or knowledge to add on the subject would be really appreciated. My plan is to use a softpot (eg. https://www.sparkfun.com/products/8681) with a microcontroller board like an Arduino. I’ve already got it all setup so that my microcontroller can transduce the touches on my softpot from -64 to +63, ready to send over serial(ie. MIDI). I believe this is the range expected by the MOXF for a ribbon controller. What’s left is getting these values, via MIDI message, to my MOXF. As far as hardware goes, all the circuit stuff is done, based on the MIDI spec. I’m confident voltages, baud rate, etc are all good. My microcontroller will connect its serial port to the MOXF’s midi in port. Now what I am wondering is sending a ribbon controller message as simple as just firing controller change messages? That is, referencing p. 120 in the MOXF data list manual, can I just fire the following message to my MOXF on midi channel 1 over and over again B1H 16H 0vvvvvvv where V would be the values from the ribbon controller between 0 and 127 and the MOX would interpret these to be between -64 to +63. Or is this too simplistic and incorrect? Getting this to work just on voice mode for now would be fine to start. If it is too simplistic, what other things do I need to consider? Do I need to sync my messages to a clock on the MOXF and make sure everything is timed. I guess I’m too new to MIDI to know and have been having difficulty finding more info at this low of a level so thought I’d start here. Thanks for any help in advance! |
5pinDIN
Total Posts: 11891
Joined 09-16-2010 status: Legend |
You’ve got the general idea.
Three points…
2) The ribbon should not produce any MIDI output when not touched. It should output values in the range 00H ~ 7FH (0~127D) when touched, and should output a single mid-value 40H (64D) when released. 3) Pace the messages. You could probably “fire” them faster than they can be processed. An algorithm to throw away some values should be considered, otherwise you can develop a bottleneck unless the ribbon is swept slowly. Of course, the Voice should be programmed to respond to Controller 22 messages. |
agentaero
Total Posts: 9
Joined 02-02-2015 status: Newcomer |
Awesome. Thanks for the points 5din! I’ll try to finish implementing this in the next few days. Is there any harm sending MIDI messages faster than my MOXF can handle them? Would the Moxf just respond to the messages its receiving at a time it is able to respond? Or would it keep storing them in a buffer until its buffer is full… In any event, I’ll pace my messages. Much appreciated |
5pinDIN
Total Posts: 11891
Joined 09-16-2010 status: Legend |
You’re welcome. Buffer overflow is one possibility. Even if that doesn’t happen, the events could be late enough to be musically somewhat out of time. That’s why I mentioned throwing away some values if necessary. When you’re doing initial testing, try just tapping on the ribbon (SoftPot). That should generate just two messages - one related to the position you’ve tapped, followed by the mid-value. Doing that initially should allow you to determine if things are working, without concern about handling excessive data. |
5pinDIN
Total Posts: 11891
Joined 09-16-2010 status: Legend |
I forgot to mention Running Status.
Good MIDI spec info in general:
Also, if the ribbon is being touched but the finger isn’t moving, don’t repeat the value. That is, a message should only be sent if the value has changed. |
agentaero
Total Posts: 9
Joined 02-02-2015 status: Newcomer |
Awesome, I think I have a pretty clear picture of what I need to program at this point. All this info has cleared things up immensely. Once again, thank you 5pin!!! I’m not sure what your background is, but you do know a heck of a lot, and if you aren’t getting paid to support these forums, maybe you should. If anyone is interested, I may post what I end up making and make my code available if anyone would like to implement/expand on what I end up making. Once I get something I’m happy with of course. Cheers, |
pjd
Total Posts: 63
Joined 11-16-2013 status: Experienced |
Hi— I used an Arduino plus a Sparkfun Dangershield to build a small MIDI controller. Links to design info and source code are included below. Should work OK with MOXF. Best of luck with your hack! -- pj http://sandsoftwaresound.net/arduino/arduino-dangershield-drawbars/ http://sandsoftwaresound.net/source/arduino-project-source/dangershield-drawbars-code/ |
agentaero
Total Posts: 9
Joined 02-02-2015 status: Newcomer |
PJD, that is awesome! That’s a sweet project!! I’ve definitely already picked up a few things from your code just having a first quick read. Off-topic: Also, love your site. I’ll keep an eye out for any RPi2 articles :) Again, thanks guys, your help has been awesome. |
5pinDIN
Total Posts: 11891
Joined 09-16-2010 status: Legend |
You’re welcome - I hope your efforts will fully pay off.
Â
Thanks. My background is an education and typically lots of years of experience in the areas I post about. I enjoy sharing what I know, and I actually don’t want to receive compensation for forum participation. If nothing else, that leaves me free to post what I really believe, without obligation to anyone.
Â
I’m sure there are folks who would be grateful to have that information. |
nbadesign
Total Posts: 994
Joined 08-20-2007 status: Guru |
As a ribbon controller I’m using nanoPad2. It has one larger X-Y pad that is suitable for that purposes and 16 pads for triggering sounds or playing drums. I thought that is a toy when I first read about it, but when I saw and heard David ‘Finger’ Haynes playing it like a real drums, I have changed my opinion. Alex |
agentaero
Total Posts: 9
Joined 02-02-2015 status: Newcomer |
Hah, that guy is bad ass, sounds so great! That’s a cool device, I have and will definitely consider purchasing it at some point. FWIW, my intent of this project is as much an education as it is to have a ribbon controller. Being a recent electrical eng. grad and a casual musician, I felt it would be a small crime not to combine the two :) |
nbadesign
Total Posts: 994
Joined 08-20-2007 status: Guru |
Hah, that guy is bad ass, sounds so great! That’s a cool device, I have and will definitely consider purchasing it at some point.
Yes, guy is definitely genius, I have realized why he has that nickname (’Fingers’). You should also check his other sessions on YouTube with keyboard player and bass player. Welcome to the Club! I’m also an electrical engineer and casual player/composer. I think that it could be a good combination, since some engineering knowledge (which is not mandatory) helps with understanding interfaces, computers, etc. But, electronic instruments should be considered as a good tools, not musician replacement. Alex |