Colorwheel v0.1 — Harmonic Performance Sequencer for MIDI

Colorwheel – Harmonic Performance Sequencer

Colorwheel is an eight dimensional array of harmonic spaces married to an asynchronous complex function generator. Think Kria meets Marbles meets O_C meets Teletype and you’re close…ish.

video

As of four years ago I had, despite playing music in one form another my entire life, no understanding of music theory. Hardware tools for navigating musical concepts in an intuitive way always required me to know more than I did, to receive results that were less than I could manage in a single day of practice with the midi roll. @fourhexagons helped fix my knowledge gap, and during our lessons (which focused largely on harmony), I worked to deploy the techniques he taught me on the monome teletype, resulting in this flash crash performance and a couple songs. Once I realized that Norns programming was within my reach, I set about porting the whole thing to Norns (but not before creating a comprehensive version for Bryan, which he’s been performing with on the west coast over the past few months). With the help of @andrew @license @tyleretters @dan_derks @okyeron @21echoes @infinitedigits @eigen @Zeke_B and, I’m sure, others (shout out zebra), I finally have a version that works.

I made the videos so that I wouldn’t have to type an explanation of what this thing actually does. I know this will affect how many people use this very very early prototype, but I need the feedback of more users before I understand how to render a text-based explanation. I’M IN TOO DEEP. Please watch the videos. I know it’s a big time commitment, but I swear it’s worth it.

Colorwheel relies heavily on the excellent nest and lattice libraries.

Requirements

Norns, external synth to sequence over MIDI, a grid IF YOU WANT – all parameters are exposed and can be mapped to an external midi controller

Download

Roadmap

near-term

  • more meta controls (what would be useful for y’all?)
  • Crow integration (someone mail me two crows)
  • Ability to transmit on devices other than device one
  • Custom pitch collection

long-term

  • Kria alt pages (note ties, alt notes, ratchet, etc.)
  • pitch-shifting midi delay
  • per-track shift register
  • smarter and more pieced-out random (probably drawing on the work of Laurie Spiegel)
  • some kind of actual display (probably note and integer names)
  • expanded list of pitch collections based on the 19 basic triads
  • pick something for the encoders to do (clock?)
  • bug fixes (plz hunt them beedrills for me)
  • make grid interface prettier / pages more distinguishable
  • make the interval page display respond dynamically to transpose/carve settings
  • ability to record midi internally and generate midi files
  • learn OOP and completely refactor everything with that in mind
  • Max version
75 Likes

I’m so happy to see that you finished this ! ! ! ! dunno what it is but I know it’s ambitious :trophy:
and I’m highly curious

where might we watch the videos :see_no_evil: :hear_no_evil: :see_no_evil:

2 Likes

still uploading :sweat_smile:

it’s like an hour long and at one point it’s all just phone audio but it’s enough to give the explanation…

the tutorial is also v0.1.

6 Likes

Congrats on finishing this up!! I will definitely check it out!

2 Likes

image

7 Likes

EDIT EDIT: Video actually actually works now!

Someone please confirm for me that the script loads and sends midi notes out.

3 Likes

Where could I see the video?

The link to the video is in the first post. Took a quick look at the video – it seems like a fascinating tool for composition and performance. Can’t wait to dive in!

2 Likes

I’ve managed to get the script loaded and running (using midigrid) but changing the numbers in >meta>midi channels 1-4 to match external USB>DIN converters (system MIDI devices 4 and 5 respectively) has no result as yet. I checked both devices 4 and 5 with other scripts and MIDI data is sending as expected.

(Updated note for future readers: it does work, but currently only with device no. 1 on the midi list in System)

Great intro video by the way - I watched it all the way through and think I have grasped how it’s supposed to work - well done on a major bit of scripting!

2 Likes

Colorwheel is the lifeblood. The musegravy. The multidimensional spellcast.

10 Likes

Are you saying that you can’t send midi data out at all, or that you can’t change the channels on which you are sending midi data?

1 Like

No MIDI data at all; I tried both channels 4 and 5 where I have external USB>MIDI converters plugged in, to no effect.

hmmm. You hit K2 a few times to generate a random sequence and hit K3 to start the clock, yeah?

First time troubleshooting a script as its author so sorry if I’m a little clunky or these questions are dumbbb.

EDIT: Also would be cool to have external confirmation from anyone else that it’s sending midi on their end cuz rn my sample size is me.

Yup, turned it off too, switched scripts to confirm both USB>MIDI were functioning as expected, tried K2 then K3 again, and still no midi going out.

Not at all! It’s possible something my end is wonky too, but just trying all options.

Always a good plan!

thanks for bearing with me.

unable to reproduce.

I have made a very scientific edit to the OP and hopefully someone else will either report the same issue and baffle the fuck out of me or report an experience that implies the issue is on your end.

the mechanism that sends midi is literally the universal midi.note:on, not some sort of rube goldberg device or something. I’m going to get lunch and stare at a coffee cup really intensely for a while and probably come back with nothing.

really sorry :frowning:

2 Likes

Please don’t be!

Answers come in beans.

Yeah, I assumed it was. My coding skills are not good enough to determine anything from the Lua code, though I looked just in case I could see anything obvious to a beginner like me (there wasn’t, but I know literally not much).

WOW! So much fun! You’ve taken my favourite sequencer Kria and expanded it in many interesting and musical directions. Took an hour or so to get the hang of it after watching your tutorial video. I see huge potential here.

A couple of observations:

  • it says “no script information” when you start up - presumably because it needs some startup text
  • takes 30 seconds or so to load on my system - this is a huge script! I thought it had crashed.
  • needs something on the display when its running (so you don’t think its crashed)
  • I like how you did the loop lengths/display - more intuitive than Kria IMO
  • it seems to be pumping everything out on MIDI channel 1 - it needs MIDI channel per track that can be set up in the menus like Kria
  • in the grid section that transposes things is there a button to get back to where you started? if not I think that would be useful

Great work!

4 Likes

This is sick stuff :bomb:

1 Like

oh yeah prolly so it doesn’t look like it crashed

we focking yuge

prolly just gonna put some text that says something like “You are now spinning that color wheel, that wheeeeeeeeeeeel of color.”

high praise!

We have this! Under Params → Meta → 'midi channel ’ …1,2,3,4

This exists on the old TT version and will be trivial to add to the ‘meta controls’ on the live page. I’ll do this today maybe!

I just found the MIDI setup menu - thanks!

Could you change default to track 1 = channel 1, track 2 = channel 2 etc like Kria? Saves messing with the menus every time, at least for me.

Colorwheel is going to make me to think a lot more about scales and musical intervals - which is a good thing. So much to explore and learn here - Brilliant script!