Euclidean pattern generator (midi)?

Recently discovered this:

https://www.hisschemoller.com/blog/2019/music-pattern-generator-v2-1/

Seems to be an linux version there too (but big in size), anyone with linux skills who might know if this would be possible to install into the patchbox os?

You could just try opening https://www.hisschemoller.com/mpg/ in a browser and see if it works.

It probably can be installed locally too, using node.js stuff and npm command.

Probably using commands like these, assuming npm is already installed, run from the folder containing the source code:

npm install
npm start
npm start-nw # Or possibly this command to start it

Would opening it in a browser (on my raspberry pi4) indicate anything of the potential regarding it being functional when installing it in patchbox os locally?

I’m a total newbie regarding all things linux and/or raspberry pi.
Even though I have managed to get stuff functional so far it still is confusing whenever I see any examples of command lines. I’m always wondering about what underlying knowledge/experience it is that I’m supposed to know already. I e what is npm command?

I’m not sure what node.js actually is even though I’ve stumbled across its word/name several times…

I’m not refraining from digging in. It’s just: how/where to start (when having a slightly more specific goal). Maybe I’m complicating things more than they actually are regarding the idea of creating my own modules to install into patchbox os.

You’re on a good start, the knowledge is accumulated as you go along with your projects. Also some things can be considered as black boxes which internals you don’t need to understand, just what they do. :slight_smile: npm is a package manager for ‘node.js’ based projects.

Yes, if it works in the browser, it means you can be assured it will work when installed locally.

I guess you should just try out and find out more details about suggested steps & commands on the internet and documentation that you find you don’t know enough about, and everything will start making more sense. And of course you don’t even have to know every detail about everything in order to get stuff done. :slight_smile:

Thanks for the encouraging words. It’s hard to know where ones knowledge is lacking. Still you somehow feel it being missed, kinda weird when you think about it.

I had no idea that functionality within a browser could be a indication as such whether going forward regarding local installation.

Is this specific and/or generally typical of:

Patchbox os?
Raspberry Pi?
Linux?

If I understand correctly, the local installation essentially bundles all of the Javascript up and runs it as a local process using the Chromium Javascript engine, so it is essentially the same application as in the browser, just loading the javascript locally instead of over a network. Node.js is the name of a popular Javascript framework - a library that provides a bunch of utilities and commonly needed code.

Hope this helps,
Regards,
John

My suggestion to give it a try first in the browser as the first step is just to make sure there’s no unexpected issues when running on ARM, Linux & Raspberry Pi combination and running it in a browser is a simple thing to try out. Getting it to run locally requires pretty much the same pieces, except everything is available locally. :slight_smile: So if it works in the browser, you can safely assume it’ll work locally too. If it doesn’t work in the browser, then you could first figure out how to get it running there or if there’s some serious reason it can’t work on such a system (though unlikely).

Checked into this last night. Seems to not work without addressing some things. It seemed to find pisound midiports and all but I couldn’t really see how to get anything transmitted.

Anyway. Screen resolution were/is crap so I couldn’t see everything nor scroll anything since there were no scrollbar. And object names were upside down and mirrored (whereas the text in setting/system were correct).

A few python scripts that don’t have spinning wheels, but may be simpler to build on than translating the javascript thing. (being looked at for use in Zynseq - A native step sequencer)

A python script to derive and play Euclidean rhythms as described in The Distance Geometry of Music by E. D. Demaine et. al. (2007)

Easy-to-import Python module with a basic, efficient, native implementation of the extended Euclidean algorithm.

Isobar, a Python library for creating and manipulating musical patterns, designed for use in algorithmic composition, generative music and sonification. Also comes with 40 examples.
( inspired by the brilliant pattern library of the SuperCollider synthesis language.)

Here’s a 10 page academic paper related to the topic:
The Euclidean Algorithm Generates Traditional Musical Rhythms

2 Likes