Open up the Midihub editor for public contributions

Hi there Giedrius,

I wasn’t thinking to open source the projects, but instead that a new pipeline component could be added which would allow the user to write scripts which are able to process midi messages as inputs from the pipeline component that comes before it.

What would I use a scripting block / pipeline component for?

One example I could share is the scripting of procedural music tools which leverage deterministic and stochastic processes (Mandelbrot set, Markov chain). Being able to use the self similarity of deterministic processes to provide structural information which could be used from the compositional structur level down to the velocity information of each note. Midihub would then become a serious option when writing Process based music.

Second to this, I imagine you have lots of user personas that have different needs. I for one am comfortable in a development environment where I can work quickly code and I find learning new things hard due to my own personal traits. I experience the Midihub Editor as tediously, but another users love it - and rightly so, clearly a lot of thought has gone into balancing creativity and reliability. Giving more flexibility to the code happy users like myself might make users like myself love the experience even more.

Final thoughts;

  • A feature like this would come with nonfunctional requirements which would need investigation. One that comes to my mind now is, How would the device handle Processing Power limitations that may arise if the code being ran introduces unacceptable amounts of latency due to it being either too demanding to run or the code is just poorly optimised. Maybe for a feature like this you would need to have the user accept a disclaimer that it’s possible to introduce undesirable side effects and that no support will be available to trouble shoot them.

Other ideas;

  • You could let people share their scripts on patch storage and these could be mined as candidates doe new pipeline components in the future.
1 Like