Working on https://chessnawk.vercel.app/ – a set of auto-grading tasks for middle school students learning programming.
Comes with Robot, Turtle, HTML/CSS (pixel diff tasks) and a gradual introduction into programming concepts. Currently on JS, literally right now GPT-5.2 helps me adding Python.
I've integrated a simplified clone of Replicube. I hope to integrate ideas from Human Resource Machine and Turing Complete later this year.
I bear heritage of Eastern Bloc-typa math/programming olympiads, combined with front-end/product skills. So I kinda owe to ship this thing to community of fellow secondary school CS teachers.
Surprisingly, nothing comes closer in terms of depth and usability in the classroom for ordinary 12yo kids.
I test this thing 5 times a week in my classroom and I constantly polish it at night. 100% vibe-coding.
OK, so this is a case of personal knowledge transfer, which is valuable for that reason. You take your expert opinion that certain things are happening functionally in the music, and encode it in color.
In my approach I got very dense yet readable information density on the screen. Eg. the entire Mov. 1 of Moonlight sonata is a single screen on my 16" Mac, yet all tonal effects are there, visible: https://rawl.rocks/f/Sonate_No._14_Moonlight_1st_Movement
The first movement. Which is 4 pages long. You could display 2 pages on a 16" screen, so you improved density by 2x but you have no articulation, no dynamics or tempo markings, no legato/phrasing notation, no LH/RH indication.
If you really wanted to show the harmony as densely as possible you could fit the whole movement on 1 page with figured bass and a comment or two about how to play the arpeggios.
I'm not a hater, I encourage the exploration. Just get personally frustrated when we aren't ever building on 1000 years of music notation and instead starting with MIDI and DAW style slop - it's not value-add for serious classically trained artists, and (imo) pushes music dilettantes in the wrong directions
Being a jazz college dropout, I stopped building around standard notation when after two years of training - and I started learning piano at 25 - I still didn't get any fluency in instantly seeing harmonic structure in the scores.
I don't care that much about articulation. I can hear articulation anyways. What I care about is the elusive layer of harmony which is so hard to reason about without the right tools.
And that's what I was chasing. Something that gives me, a guy who didn't spent formative years of K-12 by sight-reading at the piano, a way to build mental models of how Western harmony works.
And here, I believe, I'm with the majority of people.
OK let me suggest something to meet you halfway. As someone who is fluent/sight reading/ singing etc and can "hear" harmony and/or "read" it on a page of regular notes (lines and spaces and intervals all you really need, but to your point requires experience), something that would be far more interesting and useful to me, rather than color-coding solfege, would be something more along these lines:
Color code each chord by its diatonic value (e.g. in a I chord every note in the triad is red, in a IV chord every note in the triad is blue) and then highlight the extended notes as well (e.g. add 9 is yellow, add 11 is green)
That is something that MIGHT be interesting to me (personally - I know I am not your audience). But even thinking it through this technique sort of washes out the interesting bits of substitution/interpretation etc that you can find because you are committing to interpreting a chord with a single root
Yeah, I see your point. You want same alterations on different Roman numerals to look the same. (In my current system b9 over I and b9 over V look different.)
- Worse even, you need to look at two places simultaneously: to the score and to the string of Roman numerals
- And worse still, all chords then look the same. The score itself becomes bland. Most of the time, if you aren't deep inside the jazz repertoire, there isn't that many alterations. So you'd mostly see the same four colors - root, minor third, major third, perfect fifth.
- And, as evident in Mozart-Beethoven repertoire, you need to decide what to do with fully diminished chords. Because they sorta don't have a root, acoustically.
> You need to do tedious annotation. Worse even, you need to look at two places simultaneously: to the score and to the string of Roman numerals
The more work it takes to create your notation, the more useful information it contains. Developer-user tradeoff
> And worse still, all chords then look the same. The score itself becomes bland. Most of the time, if you aren't deep inside the jazz repertoire, there isn't that many alterations. So you'd mostly see the same four colors - root, minor third, major third, perfect fifth.
Isn't the same true for your current method? Only there are more colors of the rainbow to distract you from how bland it is :)
Well said! I agree. I find that standard notation is an amazing tool for conveying how to perform a piece, and absolutely terrible for understanding the harmonic structure and reasoning about a piece. That stuff is all hidden and inferred if you have the years of experience to just know all the intervals present at a glance.
Yes! hooktheory was my main inspiration over the years.
One downside of hooktheory is that it's a reduction which someone should make for you beforehand. That is:
- it's losing information
- if no one analyzed a song yet, there's nothing you can do about it
And, although I don't have an easy way to upload MIDIs yet rather than "you ask me to upload it and I'll do it", I don't do any reduction of the (sonic) score itself.
It's rainbow if we skip coloring 1 and 5 and color them with grayscale instead.
Here's the question. If we can allow one color not to be "colorful" (chromatic), what pitch would that be? It's the tonic (pitch 1).
If we allow two such colors? 5 is a good candidate, it's present in almost all popular scales. (Locrian isn't very popular.)
The rest 10 colors go in rainbow by thirds, as you proposed.
So, using two grayscale colors, I've reduced the demand to make distinct enough color palette from 12 colors to 10 chromatic + 2 grayscale.
Which (10), in my experience fighting with different screens and projectors, is almost the limit of having something stable, distinguishable, nameable and memorable.
I just wanted to revamp the good old Turtle to introduce my 11yo students to "repeat N times" loops. I'll get them lost at the angles' math for sure, but worth a try.
Your game has inspired me back then to create a game on quickly finding isomorphic graphs. Since then, I haven't created any other game in 10 years. So thank you for a powerful stimulus!
Comes with Robot, Turtle, HTML/CSS (pixel diff tasks) and a gradual introduction into programming concepts. Currently on JS, literally right now GPT-5.2 helps me adding Python.
I've integrated a simplified clone of Replicube. I hope to integrate ideas from Human Resource Machine and Turing Complete later this year.
I bear heritage of Eastern Bloc-typa math/programming olympiads, combined with front-end/product skills. So I kinda owe to ship this thing to community of fellow secondary school CS teachers.
Surprisingly, nothing comes closer in terms of depth and usability in the classroom for ordinary 12yo kids.
I test this thing 5 times a week in my classroom and I constantly polish it at night. 100% vibe-coding.