MidiPal - "Rhythmic Hold" Anyone willing to help develop this specific app idea

I Own a MidiPal and managed to assemble it, I am an instant fan of this powerful beast, however I lack the skills to programme the following new app…would anyone care to help me know if this is do-able or run with the idea for their own unit and be willing to share the code?

New MidiPal app Summary : app to take notes from one channel and sustain those notes for a musically meaningful amount of time either on that channel or on another channel, further development could also allow the keyboard to be divided into two “splits” allowing for bass and melody to be assigned different rules.

Application: A piano could be played on Channel 1 (in example) …this would be sent to the midipal along with clock timings. Midipal would then capture a “freeze frame” of what all notes are doing on the 1st, 5th, 8th, 13th beat of the bar (or other assignable beat divisions) and send this information to another channel to allow for instance a sustained pad to hold a chord for 4 beats even if the pianist is moving both left and right hands during the period of that bar… this would allow for a more realistic ensemble performance.

The Process…
• Imagine a Midi Processor that was aware of clock and was capable of intelligently picking out a divider of these clocks (i.e. 4ths / 8ths / 16ths etc)
• Imagine the user then had a button to set a Bar length (ie every 2 bars / 4 bars etc)
• Finally imagine that on the beat of this bar, imagine that the device could take whatever was being played on a given midi channel (say channel 1) and fire it out in a sustained (note on only) format to a second predefined channel (say channel 2)
• It may also be desirable to add in features and modifiers like using a switch or CC# to “skip” a bar or send a note off, sending a range of the keyboard to one channel and a further range to another (ie bass and treble notes going to a string patch and brass patch)

I have many many ideas like this…sadly no knowlage to implement them…I am a simple musician with a fondness of progress…I love to work collaborative with people who design and programme in a similar manner.
I know it’s a long shot, I just thought you might see a way to take this idea and turn it into a reality.

if anyone has the coding knowledge and can see the same potential in this as I can , drop me a line on here.

Thanks for your time.

Phill MyOneManBand

PS…I am ONLY seeking development help on the Midipal … I don’t need any new gear ,… I do not wish to use a computer… I do not wish to ever use an I pad in my setup etc. thanks

Who’s setting up the tempo grid? The player or the machine? If you expect the machine to intelligently guess the tempo from the performance it won’t be particularly reliable. Doable but not 100% accurate. Can get very, very inaccurate without drum track for example… I worked in the past on beat grid induction on romantic piano performances (recorded on a midified Yamaha grand) and the best techniques gave 70% accuracy and required ridiculously computationally expensive techniques (MCMC).


I know you badly want this on a MIDIpal. Doesn’t mean you have to start coding or get it coded for the MIDIpal first. Especially because:

  • You don’t have a clear idea of whether it’s feasible or not (hint: “capable of intelligently picking out”)
  • You don’t have a very precise idea of the feature set it should have. You have a list of desired features ; but not specifications / user stories / storyboard or whatever it’s called

Please read this

If I were doing consulting work or custom app development, it would be in the 800 euros / day (which is low given my experience). If you are going to spend some money on an engineer, spend it wisely and make him do the product definition and R&D in Max/MSP or PD where he will be 10x more reactive than on a tight embedded system. If you think you can do it, try to do the storyboarding and write the detailed specification yourself.

A good way to start that has never failed me is simply to imagine your product has been finished, and just go and write the user manual for it.

i am not sure, if i get your idea right, but i think most of the stuff (except the part about only sending note on - no note off) is what the midibox seq v4 lite is already doing. maybe you wont need the controll surface of the sequencer at all, so you could change the firmware to only use a few knobs and buttons that are needet for your thing. it also has faster cpu than the midipal i guess, so if it is something cpu intensive, that the midipal can`t handle, it might work with this.

getting something to only send note on, is a change that could relatively easy be done in any open source software without much programming knowledge i guess.

also it could be a good idea, if you start experimenting with some low level modular software like max, or ni reakor. there are also cheep or free programs of this kind like synthedit or SuperCollider.
those are much more easy to learn and less frustrating than learning a “normal” programming language i think.
if you get something working there, you will have an idea how to implement it in an embeddet device like midipal.

also i think pichenettes idea with writing the manual is very good and helps if you do it in reaktor or thomething like that, too.
you could also start by drawing the user interface.

also i like to say, that programming is not that hard. specifying the “problem” or task is already half of the work.