Friday, November 18, 2022

Prometheus v2.96, New Note Schemes

Well, after 3 days, and probably another 3 in preparation I've completed the update to Prometheus 2.96, perhaps the biggest update in 5 years because I now have new formats for the songs and the programs. The software now uses an ISO 10-octave range from C-1 (which I call CX) to C9.

The changes were prompted by the recent music notation and MIDI file conversions, some notes were simply being chopped off, but the change has been several months in the pipeline, as my new MODX synth had lots of multisamples from across the keyboard, and those were stored using the MIDI note. Before that I used to store my sample bank by Prometheus notes, but this was always a little awkward when it came to notes below my octave zero (which is MIDI octave 2, note 36, relatively high). I tended to pitch things into a useful range, so a bass may still be in Middle C, if that's the most useful pitch, but, it generally best to pitch things exactly as they should be on the whole musical scale. So this upgrade solves that problem too.

Generally, such an upgrade would increase the size and requirements of things, but the fact that the frequency tables were part of the song file structure meant that I could save something by making it global and then removing other instances of song structures. It's better, from an organisational viewpoint, I think, to have them global, so this change was the tipping point in my choice for this one-way upgrade; but it's only one way in that older versions of the program won't be able to load or use any newer songs (again, this is the first time in 5 years since that happened). Of course, all older songs will load fine and be automatically re-scaled to fit.

One change that was needed was the display. The old one used a dot for the note pitch, but 10-octaves reduces the effictiveness of this, My first change was simply to represent the semitone, but I didn't like that C3, C4 and C5 looked the same... when octave sized arpeggio jumps can be relatively common. I've come up with a new scheme that can represent any of the 121 notes in a tiny 3x32 pixel spot:

That pretty dance of dots shows the octave, semitone and instrument of each note at a glance. I don't need to actually see it all there, but I can, which is rather good. Here's a close up:

The vertical black stem indicates the octave, with a line in the dead centre for octave 4, where Middle C lives. The current track (in the middle here) has a horizontal guide in the middle so that this octave is more apparent. The dots indicate the semitone, so there are 12 from bottom to top. The dot in the middle is an F, and the black notes have little black marks too. it's remarkable easy to work out the exact note from C0 to C9 at a glance, which is rather amazing.

The yellow line is a KILL command, note off. This, like many events, now hovers, so that notes that might be behind will be visible, to give a visual indication of the order. There is already a separate event list which shows everything explicitly (its in NoiseStation 1 too, which at time of writing is still a free download on my website).

It was all hard work but I must now stop. I've got to design some new instruments for the Dylan event, and for our new Christmas event in Crewe Library, which has a pathetically low £2 entry fee, but this is infinitely better than zero.

I'm busy tomorrow helping my brother with house-moving activities, and much of next week is rehearsals or other visits. It appears than my next 'free' day is the 26th. On we charge.