Tuesday, November 29, 2022

Prometheus v2.97, Selection Box Rehearsal

Well, I spent a few hours in the night thinking through my recent changes and have worked out the necessary fixes for Prometheus. The problems weren't serious. The tracks have buffers there, ready for instruments. When playing, the instruments are copied to the tracks (not over the buffers). So, when stopped, the tracks have a record of the last instrument to play... the size of buffer they want is stored there and might not be the maximum, but if I zero the buffers based on those then that's still enough, actually optimal - there's no point in zeroing the areas of the buffer it doesn't need.

The cause of the crashes yesterday, was old and invalid pointers in the save file... pointers to the 'last instrument' of a long-ago played song. It's a certain fix (and good practice) to wipe these upon loading. I've never referenced those pointers before, so it's not been a problem, and indeed I've removed references to them anyway, as well as wiping.

One last problem was a strange 'pop' noise when live playing, but I think this was down to not clearing the newly reserved track buffers. The pop occurred fairly predictably (a godsend!) and on a track with a band-pass filter. It has no buffer but does use a few utility floating point variables, which are reserved. The buffers are wiped when an effect uses a buffer, but not for these new 'utility' effects, so I've now zeroed the buffers no matter what. It seems fine now.

Perhaps my changes are complete, this intense chapter of my life this year. Programming drives me crazy with its obsessions for perfection, its fear of bugs. It was this anxiety more than anything that made me give up programming: programmania nervosa.

After this, Deb came round for a first rehearsal of the Crewe Christmas show.

I, amazingly, seemed to remember all of the music. Deb remarked that it's exactly a year to the day since we rehearsed for the Crewe Tree of Light ceremony, and our commissioned work, Sky Robes of Celeste. We played it again today. It was a difficult rehearsal though. The new synth means all new sounds for many of the pieces, all new arrangements. Every show we've done has new arrangements and usually different instruments for almost every track; amazing. We're the sort of duo who would drag a double bass to the show for one 2-minute use of it, and use something else for the next performance.

Now, after Prometheus, this show can be my focus, and back to the painters album. I've done some work on 'Tycho Brahe the Noseless Astronomer' today.

Monday, November 28, 2022

Programming Woes

Well, I was hoping for a restful day. It's been a frantic 15 days updating Prometheus. Programming jangles my nerves. It feels more like defusing a bomb than something constructive. You can add features, but the worry of accidentally breaking something which works fine, lies on the very edge of comprehensibility, and has taken years of painstaking work, causes great stress.

Today, during playing a tune during testing I heard an unexpected 'blip'. Perhaps I needed to clear the new variable buffers (although, in retrospect, I can't be sure if that was the cause). Still, this made me take a look at doing this and then I had a panic moment. The buffer size each effect can sometimes be larger than that needed... but I didn't store this 'actual' size anywhere. The routine to currently clear the effect buffers uses the size the effect needs rather than the full buffer.

But really, I should be storing the actual buffer size used somewhere. I didn't, and haven't stored the sizes of the utility arrays. So, I added this, and then slowly recompiled all of the 234 plugins. Any change to the structure needs that, and this is a boring process of renaming, compiling, renaming, copying. It takes hours.

I did this, and made some changes to keep track of the actual buffer size. It seemed to work but the day has been plagued with unexpected and unwelcome crashes and errors. My worst nightmare. It is good to add these extra values, so that, is a plus point, and good that I've realised this now rather than later; the horror of having to develop a new format!

But I feel battered and filled with programming anxiety. The changes over the past weeks have varied in complexity, but the buffer changes are the most complex and danger fraught. It took from 2002 to Dec 2021 to fix the last buffer bug, and the program has been stable since, but now, everything is uncertain again.

I can't really go back. The 10-octave range is useful. The memory efficiencies are great concepts, but they need to work.

Sunday, November 27, 2022

Prometheus Upgrades Complete

For the first time in a few weeks I have a spare moment! I've just finished the long-awaited upgrades to Prometheus, to version 2.97. These were arduous. To recap: I have 117 plugins and many use 'utility' variables, an array of floats which can be used for any sort of thing. Until this version they were a fixed array of 256, but I never needed all 256 variables, very wasteful, although the reverbs used 100 or so (so much to store and keep track of with those, filters... cycling oscillators).

This new upgrade set a value for each plugin so it can reserve only the size of array needed. That was hard enough. It's complex when you have duplicate arrays; consider a plugin used by an instrument, you can quite legally have the same instrument playing twice at the same time in a song, so each instance needs its own array, the 'boxes by the roadside' in my other analogy.

The tedious bit was locating every array index and making it a 'define', so floatutility[0] becomes floatutility[F_COUNTER] for example. This makes it easier to change how many variables different versions of the effect use... but with 100+ variables (and 117 plugins) there are a LOT of copy and replace operations, all of which need to be correct. So this has taken me days of tedious and meticulous work.

Now, it seems to work. The program is a lot more memory efficient now, perhaps better than ever since the first version. This is a good time to do this, as it's near the end of a year and so, a major backup. This change comes on top of the new 10-octave upgrade.

This year I've updated Prometheus a LOT. Partly due to the new synth, which is now part of my audio set-up, and due to a new focus on music as a primary art-form. My sheet music work was also a factor. Some of the changes were MIDI based, for both synth and scoring purposes. Some for sampling, looping and revitalising my sample bank.

Now it's done, it'll be in testing for a few days. I can't afford to pause though, I must develop instruments for the Crewe Library Christmas performance, and I have a lot of musical ideas to record. I'm considering an official cover recording of Mr Tambourine Man.

This upgrade makes me nervous because it affects the file format. If something is wrong (or missing, forgotten), it has the possibility to corrupt older sequences, which includes all of my old music; 20 years of work. I must tread gingerly.

Saturday, November 26, 2022

Defines

A full 12 hours of solid programming, mostly tediously and mechanically updating each plugin with defines rather than ordinals, in an effort to save memory with separate 2-channel vs. 6-channel effects. Everything is now working apart from those optimisations being applied to reverbs, which are complex as these use multi-channel delays as well as filters. The reverbs (I used about 8) will probably take all day. That should be the last step on this Sisyphean program update.

Friday, November 25, 2022

Plugin Coding

More programming today, updating the 120 or so plugins for the new 10-octave, and memory efficient, Prometheus. One new thing I hadn't foreseen was that many plugins use (or can use) more temporary variables for the 6-channel version compared to the 2-channel (stereo) version. The old versions (that is every version of the program up until now!) simply used the maximum, but now I could selectively compile the separate 2/6 channel versions to use just the amount of space they require.

I can't resist making this efficiency, so am slowly updating each plugin with #defines and #ifdef statements to enable this. The filters and reverbs in particular are cases in point. Filters filter each channel separately, so can save a 4 floats for every unused channel, and reverbs use all sorts of things; many delays and many filters.

Still, at the moment, I have about 60 plugins complete. It feels so good to make things neat and efficient and nice. I'm a natural organiser.

Peter came for his piano lesson too, we covered and revised some chords, among other things.

Thursday, November 24, 2022

Song for Zimmerman

Here are the words to my 'Song for Zimmerman'

Hey there Dylan
in your house of wood and bones
How's the attic keeping?
How's the telephones?
How's the times these days?
and how's the blues; are they still blue?

How are you?
How do you do?
Are you still doing what you do?
Hello from Congleton, and Crewe.

Hey there Dylan
How's the peace these days?
Are the sunsets looking pretty
like the milkwood from the olden days
are the sea sounds
sounding jangly; like an old guitar?

Is that sand in your voice
in your veins now,
or trapped in the treads of the tyres of your luxury car?

Does the never ending trek
come to an end?
Are you blowing in a wind
made by a billion unknown friends?

Still rough and rowdy?
Or do you play the joker?
Are you hiding a wildcard
in the great game of poker?
Are you riding the tracks
or are you the stoker?

What would Alfred
and his dynamite say?
Would you blow his mind
to kingdom come and far away?
Who is left
in the cave; when you roll that stone away?

What did God say
when his night
killed your day?

There's no need
to answer. Let the
mystery hang in the sky, like an apple of why

Let this no-one
send you a slice of American pie
a salute from the moribund
to a man who'll never die
How does it feel
to say; a happy goodbye?

How does it feel
To say a happy goodbye?

Dylanning

Showtime yesterday. I started with a quick run-though the pieces I was involved with, then posted off some Salome albums to Italy. Then, left for the library near 3pm to prepare for the evening. It was already dark and cold when we arrived, but the rain was lighter than forecast.

The set-up moved relatively quickly. It is such a joy not to have to carry amplifiers, mixing desk and take care of that sort of thing. John Miller, the bassist and sound engineer, who clearly knows his stuff, did a great job on the audio. This, again, is a luxury and important for a good event. We rehearsed before the show. This too, seems like a luxury, but I don't like it... on one hand it feel like cheating to practice on the actual stage before the show begins (although, true, the public were not there, perhaps this could be seen as a perfectly valid dress-rehearsal). It does feel unprofessional to practice before the event... but, perhaps my objection is that I prefer a quiet time, a mental practice, a calming, but this was denied me by the social activity of a run-through, with the band. My solo pieces were my challenge, my ensemble contributions trivial. I did a few bars of my songs by way of a sound-check though, and this was very valuable, but I felt that I didn't want to spoil anything with a preview, much less a rehearsal.

The night started at 7pm on schedule and ran to plan for all acts. I was reminded how samey Dylan's music was. My ears seemed to want more variety to the looping 3 or 4 chords that, it seemed, all of his compositions consisted of. Andy Stubbs' attitudal piece was, of course, joyous, and it was nice to meet Mike's writing partner and hear the equally otherworldly Forrest-Dick Band.

Our Fall in Green piece went to plan. Times Are Stayin' The Same was scrappy and imperfect, I wasn't happy with it, but there were good and bad points for this, my first song performed while playing the keyboard, after many years of playing the piano or keyboard in various performances. There is no substitute for repeated performance in a live situation.

Song For Zimmerman was better, despite the guitar being a new instrument for me. Perhaps the postural aspects helped. This song was filmed by Deb, which was an excellent tool for improvement. It's odd that the aspects which, on the night, I was unsatisfied with, were generally fine, and I saw new things to change instead.

My playing on Gotta Serve Somebody involved wild improvisation on the organ, at last a showcase of what I can do. This went well and a few people commented on it. Quinn the Eskimo was fine, although I forgot to play the closing flute riff, to my shame at the time. That was entirely due to lack of rehearsal of that part. My first rehearsals covered only the chords, and this ensemble song had low priority for me.

The acts varied a lot in quality. There was inspiration everywhere; people to aspire to be like, people to avoid being like. Tickets, sales and donations raised just over £800. John's related event earlier in the week raised £200 or so to a total of £1040 raised.

I arrived home at midnight or so, aching and tired, which is unusual for an evening I thought light work, certainly less exhausting than the Midsummer event. I expect that I didn't eat enough. I did some hurried packing away in the dark and cold house, then fell into dreams of food. I dreamt of eating at a restaurant with John Lindley, and of Fox's biscuits. In another section, there was a tree, or some sort of cage, of white-blue furry animals including a small (and stripe-less) tiger, and an owl.

Spent a few hours this morning typing up this event, and compiling more Prometheus plugins.

Tuesday, November 22, 2022

Rehearsal Day Two

Second day of Dylan rehearsals, and some for the 'darkwave' version of Mr Tambourine Man. We made room for a birthday visit to a friend, and some local shopping. It was also the launch of the Steam Autumn Sale, so I announced this too. A busy day, as usual.

The last choice is outfit designs, I started with sunglasses, and will choose a red/black combination.

Monday, November 21, 2022

Dylan Rehearsal, Times Are Staying The Same

A full day or rehearsing the songs for the Dylan night, and wow did I need this! I wrote the words to Times Are Staying The Same some time ago; Jun 2020, but only had a rough idea of the melody, more of the rhythm, a sort of 3-time tango or pasodoble (x.xxx.x.x.x.), inspired by the roll of energy in Dylan's song. After a week or two of nailing down the chords I finally worked out the melody today, sequencing this to give me an idea of it.

Playing it on piano while singing and while reading the words proved to be a huge challenge, and not something I'm use to. Playing the bass/chords and main melody, plus singing and staring at the words or mic... it was a lesson in humility, and wonderful practice, but with only 2 days until the performance, a little panicked. Playing Song For Zimmerman on guitar wasn't much better... but a second run through really improved things. Most errors come from uncertainty, or areas which could do one-thing or another, up or down an octave, for example.

I decided to forget trying to play the melody and sing it, this inevitably leads to one instrument chasing the other. It's easiest to play chords on the higher part of the piano and use a bass arpeggio for the rhythm. I have added more chords, for variety, a couple of D-minor and A-minor sections. I'm struck by the fact that Dylan generally never has or did, and doesn't seem to care about the music, and just fits the words to a simple looping chord arrangement throughout. It would make my life and playing easier, but I at least want to add something good to the music... to push a limit, as I always try. I've jumped up a key for the last two verses to G and D rather than F and C as with most of the song. This will have no bass.

Similarly for Zimmerman. I experimented with a solo part and programmed a groovy bass loop there. I've also got a pretty pad sound for a possible synth part, but I only have two arms, so will play it all on guitar. I've been blessed to discover a nice enough B-minor chord on the guitar.

All the way, the words have changed, ever so slightly. Here are the final lyrics... so far:

Times Are Staying The Same

The sky is blue the leaves are green
tomorrow looks like rain
A wise man said that times are changing
but times are staying the same

There's a sense of unease in this year's breeze
it's looking for someone to blame
everyone thinks the world is unfair
that times are staying the same

The old man sees what young won't hear
and the sense of grievance is crystal-ball clear
nobody wants to be right here
something better was promised;

but everyone hopes, even politicians
for a better world, with no prohibitions
for since god died, we've all lost our mission and every soul's heading for flame
so the cry is us (meaning you) against 'them'
because times keep staying the same

Hunters throw stones
with their weapons of bones
the old earth has seen it before
while the poor burn their homes in protest
in a plea to attract the law

and the stupid ones with the loud voices
seem to float to the top of the game
while the ones who talk sense aren't exciting enough
for times that are staying the same

So you'd better get used to injustice
and you'd better get used to greed
and get used to your insignificance
because you're the last person the universe needs

Get used to hearing and ignoring advice
Get used to kings without brains
because it's been like that for ten thousand years
and times are still the same

You're going to make a difference
but not in the way you expect
The best we can do is look after ourselves
and protect the weak ones from the rain

we can pity the fools with an ego
who can't see that we're on the same train
as we watch the young people battle to change
a world that will always be the same

Sunday, November 20, 2022

More Upgrades, and Electric Milk-Crates

A busy day yesterday. I released the sheet music to The Anatomy Of Emotions on itch.io, and packaged up the old Noise Station, and put that up there too.

Then, at 14:30, mum and I had a mile walk to the railway station, to Warrington, and two miles to Paul's house. We arrived just as his removal van pulled up at 16:00. I immediately got unloading the boxes, books, bed(s), and various things. It's fortunate that I'm used to lugging heavy loads, all due to music performances. Those huge amps are great weight training. In 30 minutes of near-running pace, we were done. I gulped down to lukewarm tea and saw that it was 16:40. I thought that the train back was due at 17:10, so mum and I marched back at pace, not wanting to miss this. We arrived at the station at 17:06, and expected the train to be late, but it was actually due at twenty-something past, and was late, so we had a frosty 20 or 25 minutes to wait on the bleak platform of bleak Warrington - truly a dismal town.

Then, the walk home, but I went on to Deb's, so another two miles or so. I was aching a bit by this time but happily so, not exhausted. Some live performances use more energy than this.

While walking I was thinking of Prometheus. The different plugins use effect buffers, which can vary by plugin. Some use none at all, but some (delays) use big ones. Now, all have 'utility' variables, which can be floats or longs. There are 256 of these, a fixed size.

I explained this to Deb in visual language. The audio effects are like cardboard boxes in a row, each a different colour, and the sound bounces from one to the next, changing as it goes. Each box has a milk-crate inside with 256 holes for milk bottles. The effects sometimes need to remember something, so they make a note on a bit of paper and put the note in one of the holes, looking at it later when needed. Most of the effects don't use many holes, and in fact no effect uses all 256, the whole milk-crates worth. Some don't use or need any holes.

So it can be a bit wasteful. There are 12 effects per track and per instrument, but the songs use some too, and those 256 empty slots add up to 2Mb or so with song of a lot of instrument and tracks. The best option is to make each box the size that's needed, so that each effect can specify how many 'holes' it needs, and for Prometheus to only reserve that many. The downside is the complexity of all of that.

But, this is the best solution, and I always aim for an ideal. Before now, I never really considered a dynamically sized 'utility buffer' like this, only aiming for a 'good maximum', but now is a perfect time to program something so radical because I have a new song format and any future upgrades will need to automatically update and import older formats. Over time this import feature will only ever grow. It's best to leap to an 'ideal' as quickly as possible, and after 15 years, the program must, surely, be evolving into something good by now.

So I've spent today upgrading to add this new feature. It is rather complicated because a track needs to store this 'box size' twice; once for the track effect, but once for ANY instrument that might play on the track, because you might play, say, a drum on any or all tracks at once. So, I need to calculate the biggest 'crate' of any instrument, and keep that space there, waiting for the musical instruments that pass by... this is a bit like the cardboard boxes running down a road - but this time it is empty, so uses the milk-crate by the roadside as its storage. These 'roadside' milk-crates need constantly updating: when you load or save an instrument, for example. They need to be big enough for the requirements of the biggest box in the song.

Incidentally, we can't go reserving space 'live' as the boxes appear, that's far too slow.

Well. Much of the coding is done, but it is exhausting and exacting work, like operating on an anaesthetised patient. This software is so massively complicated, perhaps my Magnum Opus. I move slowly, a little change here, a test there, but there's so much to change that I need to work fast enough to hold it all in my head at once. Only by seeing everything can errors be averted.

The next big step is recompling all of the plugins... again. That will take at least a day; but I know that I must actually practice the Bob Dylan songs, as I'm due to play 5 live on Wednesday and I've not gone through them yet.

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.

Thursday, November 17, 2022

Plugins

Have worked to exhaustion today, compiling the 117 Prometheus plugins, including updates to some. Now somewhat dizzy and seeing flickery migraine patterns. Must rest.

Covid Jab 4, 10 Octaves

Dropped into the walk-in vaccinations in Crewe Market Hall yesterday and had my Covid vaccine for the season, my 4th in total. Had few side effects but these grew into fevers and muscle pains overnight, a good, if unpleasant, immune response.

I spent most of the day upgrading Prometheus to a 10-octave range. Everything proceeded slowly. This requires a new file format, so part of the job is programming the file conversion for old files. This is complete and the first test playing of a tune only took a few hours from starting. The only unforseen consequence was needing larger look-up tables for the 'constrain to scales' features. I should be able to bypass these entirely by using one based on text files instead.

There is also a lot of sundry work as a result. It means re-compiling all 118 plugin files, many of which used fixed numbers rather than defines for things like note ranges. Changing fixed numbers to defines is a major part of the job. Also, each plugin needs testing one at a time when compiled, so it's a slow and meticulous, though not difficult, process. I'll spend at least all of today just slowly checking each plugin, then recompiling it twice; once for the 2D version, once for the 3D version.

I'd hoped the upgrade will take a few days, but it may take a week from today.

Tuesday, November 15, 2022

Dylanning, Dithering, Selection Boxing

The day has flown by but I can't think how. I started by updating Prometheus a little, the last change needed before the 10-octave shift, which I'm still not 100% sure about... whether I should do that now, or after the next music. Principally because the new displays and way or working are different enough to impinge upon efficiency... yet, the new song format, being itself more efficient is too tempting.

I've decided not to transpose any of the keyboard works, I can't cheat in this way; if I need to play in B-minor, I will and this simple blues track is the perfect test. I'll also play guitar on Song For Zimmerman, thus pushing myself in that direction. Overnight and today I've been memorising the words and vocal melody. The guitar chords are relatively simple, but do include an F#-Major.

Deb's been communicating with Angus from the library and we've confirmed a new event there on December 8th, a re-run of the Selection Box Christmas special from last year, with a few changes. I designed the poster today and we worked out the set-list. I also programmed some patterns for it into the MODX, this is a great feature. It's one of the few things that really fast and easy on the synth. I've made a few little looping sections that can be played and darted between for the 12 Days of Poetry (well, Christmas) which is ideal here because the song contains lots of looping bits. I may program a backing for a solo in Zimmerman.

I spent an hour or so practising The Mighty Quinn too, then prepared some mailings of the Lou Salome album to two Freud Museum's (well... Musea).

And now it's now.

Monday, November 14, 2022

The Loneliness Society

Here is the first draft of this song, which I filed and partly wrote today.

The Loneliness Society

You have reached the secret number
of the loneliness society
I'm afraid there's no-one here to take your call
We'll all away at work
upon our solitary projects
making plans and plastic models
for nobody to see.

Our membership comprises
of the gamut of all classes
unified by a need to quench the thirst of solitude
You can register your interest
to join by pressing one
there are no other numbers
here to press.

Perhaps you lack a nomination
I assure you it's quite normal.
You are just the sort of person we attract
you will find a friend in every
no-one in our membership
And if you've ever hoped for love,
a longing for that flame,
we have eligible members
who feel the same.

If you're still on-line and listening
then you're just the sort of person
who would fit our club, an apex of our kin
so it is with deep regret that I
inform you that we closed
sometime ago
and that our membership declined
from one to zero rather suddenly
and that these few words are all that's left
this taciturn recording
from an applicant like you
who found the number quite by accident
so feel free to leave your message
for the next unwary caller
you may speak your lonely greeting
at the beep.

Dylan Rehearsals, New Songs, Prometheus Finalising

A full day, started by tidying up old songs and notes from the past few months, including a long song called The Loneliness Society and this:

For The Deaf Listener

You can never know our silence.
Our frequencies are so low
that they swarm around you
undetected, the shades
of location.

Which has a haiku quality. I then rehearsed some of the songs for the Dylan night. It's odd that of all of the many features on the MODX, the ability to simply transpose an instrument up or down isn't easy. I can bend the note, or program each voice component to shift in semitones, or even the whole keyboard, but not the instrument as a whole, which is so useful during a live show, the keyboard equivalent of attaching a capo to a guitar. Well, one of the songs I'm due to play on is 2-semitones higher (when played by the band) that notated, so rather than manually transpose and undergo the awkwardness of the unusual F#-minor and B-minor chords, I've decided to simple transpose the keyboard as notated.

I'm due to play The Mighty Quinn too, which was surprisingly complex due to the chords staying the same rather than changing - I kept wanting to change on instinct! I also worked on my two songs. Times Are Staying The Same will be simply stroked on piano but is in a rather high register.

After that, more changes to Prometheus, again generally efficiencies. The look of the notes has changed for the first time, with new ones shown in their semitone space, so one of 12 notes. Before this, the whole 5 octaves were represented, but this isn't feasible with 10 octaves, it's of little use with 5. Doing this has saved lots of graphics memory, all good.

I need an ambitious plan for the rest of the week.

Truth and Universe

Our view of the universe is limited.
Therefore our knowledge of the universe is limited.
Knowledge constantly changes by time and location.
There will always be some unknown areas.
Therefore it is impossible for any agent to know any truth with certainty.
Therefore an absolute truth cannot exist.

Perhaps this can be the case for knowing agents, but can this apply to the universe itself, eg. physical laws? Perhaps the universe itself consists of knowing agents alone and its operation built from their experience and utility. Where are the laws of the universe written? Perhaps in the actions of agents alone, for if written, any rule would require space for data; perhaps the principles of knowledge are the same everywhere. The implications are that the universe itself is ignorant of its laws, no better than human scientists, and that all agents of the universe are in a state of experience and discovery on par with ours.

Sunday, November 13, 2022

More Dylan Work, Prometheus 2.95

A full day of joy and endless industry. I started by working on the Zimmerman song, having modified the structure last night. I will play keyboard rather than guitar as I can play this better, but I still can't decide if the music should be in a key of D or C; D would sound better but be a tad more awkward to play (I can cheat and transpose, but I disike any principle of cheating or making things easy).

I've spent most of the day upgrading Prometheus. I was thinking about the octave range and the frequency tables which are part of the song structure and realised how wasteful this is. I could simply point towards a global table. There are several song structures, two for legacy formats (I'm now on the 4th file format). I started today's work by writing a bit of code to batch examine the 1300 extant sequences and noticed that at about 100 older sequences still use the first format, and about 100 the second format, and about 100 the third too. I'd expected the latest format to be dominant, as I've used this since 30th August 2018 and any older sequence loaded and then saved since then would save to the newest format, but I expected it would be even more dominant.

I had thought about removing support for upgrading legacy formats, but too many sequences use them, so instead I decided to dynamically allocate the structures instead, which I probably should have done from the outset. I didn't realise their size or the implications of having them stored there. This act alone has saved more memory than a new song structure would; and I've dynamically allocated the current song structure when including songs. These savings mean that I can add my 10 octaves and the result would be smaller than almost any version so far. Not only this, removing the tables from the current song format and creating a new one would make all of the song files smaller by 48k too.

So I've spent today on these 'tidying' features. Nothing new was added, but some things were removed like the 'random instrument names' feature which I've not used in years and probably never will.

I've added a few defines and instrument tidying. This work can accidentally introduce errors, so I've moved very slowly and will see how things go, but as it stands I'm ready to update to a 10 octave range, just shy of the MIDI limit (I'm never likely to encounter C#9 to G9).

Saturday, November 12, 2022

Song For Zimmerman, 10-Octave Options, Gamer Night

A nice day yesterday, as I finally finished the recent work on the music scores, so these are now complete. I've been thinking of ways to expand Prometheus to 10-octaves. It's not difficult, but would increase the memory of every song by 193,608 bytes for the look-up tables. This is relative small-fry, a one-second sample with no interpolation is about the same.

It would invalidate the song format, so would mean a 5th update to the file format. The upgrade procedure is fairly simple though. The big two downsides to an upgrade are:
1. The larger memory/file size requirement. 193k isn't much, but I rarely need, indeed have never wanted, more than 5 octaves, so it's making more space for little benefit - the main reason is to expand the potential range to (most of) MIDI standard for import/export reasons. When it's there, I might use the greater range, though.
2. This many octaves might need more complexity regarding ease of use. Selecting 0-1, 1-2, 2-3 can be done at a keypress now. That will change. This the most minor point.

It's been a slow day. I spent yesterday evening looking at a song called Song For Zimmerman written for the Dylan concert on the 23rd. It's just words, so I looked into adding music, and did with a few simple chords, but there are annoying problems.

First, the music is very simple and just uses three chords. This can be fine for trying it out, but I'd prefer something musically better - but I used the simplicity to get the guitar out and have spent a lot of today strumming the tune. It sounds pretty... but I'd need a lot more practice to get up to speed, AND it would be getting up to speed on a simple 3-chord tune. It doesn't really scan well enough, and I'm not fluent enough at playing the guitar to make the result impressive. The words are good, I'd like the whole song to be.

I'm faced with a few choices. I can either play it on keyboard instead, where I'd find it easier to sing and play at once, or stick with guitar and use this as an opportunity to practice that instrument and skill. Or I could write a more complex melody, which would fit the words better, and use the keyboard. The words have been bent into some forms or versal structure, but they don't fit very tightly, and to bend them too much compromises their quality.

These schisms have made today frustrating.

In other news, I've sent a copy of the Salomé album to the two Nietzsche museums, for their archives. They may prefer the sheet music.

Later tonight I'm due for a gamer night with my Big-Bang-Theory-esque game friends. I'm not much of a gamer now. I generally dislike the point of it all, and generally come second to last or last in our competitions which mean nothing to me but a waste of motor skills. I'd much rather be practising a performance or art skill, this is, at least, useful.

Friday, November 11, 2022

Heart Of Snow Release, Scores

Heart Of Snow is released today. I'm pleased with the music, the songs are as complex and interesting compositionally as any I've done, though, like any of my music, the launch event will go unnoticed by the wider world. To help combat the march of entropy, I've been working on the sheet music and today have completed it for all of the tracks.

I've added a couple of new features to Prometheus to help; the bunching up of notes (regimenting) and a feature to kill (stop) notes when another starts, even if the other is in another track. This suits merging transcription to MIDI better, as notes can't overlap there. These features helped a lot with Hotel Scarborough, a rather freeform piece, which was much more easily transcribed with the new features.

There is a slight problem though. Prometheus is a 5-octave instrument, and MIDI uses just over 10, so some notes can be limited. Ideally I'd upgrade Prometheus to MIDI standard and give it 10-octaves, but it would invalidate the 1000+ existing sequences, so I'd have to develop a new song format AND recompile all 100+ plugins and check that they will work. This is a lot of work considering that my sequences haven't really needed a full range. One hint was when using some of this year's MODX samples which span an entire keyboard and set Middle C as C4. My Middle C is C2 (though I can make it read 'C4' is needed). I could store a flag with each note so that MIDI notes can be exported or imported correctly, remembering their 'true' MIDI pitch, while also holding a Prometheus value, there is room for this.

For now, though, all of the planned albums are now scored. I'll add chord symbols to the Salome scores, which will take another half day. I've added them to every score after Salome so far, they can be useful for players, and if later adpating the work or adding more layers.

I walked to town yesterday for the first time in what seems like months. I felt remarkably dizzy, I think it was a mix of the dark sky, bright lights, and my failing eyesight, I felt that a migraine was approaching. The feeling hasn't entirely vanished.

Wednesday, November 09, 2022

Scoring Golden Water

A slightly annoying day. Woke early and listed the Gunstorm sheet music and lyrics on itch.io, I thought this would be a better place to put them than on my website, and they host documents/magazines, so this seemed logical, and it's already had a few downloads, so all good.

Then I wanted to work on Golden Water, a slow and dreamy track from The Anatomy Of Emotions. It's ironically extremely easy to play and simple to listen to, yet nightmarish to score accurately. It's essentially a stroke of the same four notes, a C#-Major chord, then occasional stabs of base notes in that key (or on the triad) and octave stabs of higher notes, again, usually in the triad, all to create an atmosphere of light glinting on the ripples of a dark lake at night. This description alone is probable enough to play it, and indeed better than the score. The music is about five minutes long, and I started by using my new transcribing device in Prometheus to convert it... but a few notes are totally off beat. Notes were being chopped off or merged unnaturally. Nothing repeats so the score is one long five minute stroll of pseudo-random notes.

I could see that the march of the C# chord was regular throughout the song, so it seemed to make sense to chose those and make them the 'click track'. I had a feature in Prometheus to separate out a specific range of notes, so looked to that, but alas, it only works on single tracks, not across a range, and if I imported the sequence as a single track, notes would be lost or confused as some were chords. So, I reprogrammed the feature to use a range and it seemed to work. I spent ages on a version of the sequence, but errors kept creeping in.

Then I noticed a bug in the converter. It was then time for Peter's piano lesson, so took to that, and prepared some notes on repeats and loops.

Then back to fixing the bug, which I did, but it barely helped. The score, in the end was remarkably accurate, but the odd note is missing, only abut 4 or 5 notes in the 5-minute score. It sounds good though, even with regular pacing and velocity, rather like the same mood, so it must be good enough. It is rather odd though. It almost looks and sounds like an A.I. composition, or something mechanical, when ironically, it's one of the most organic and live tracks I've scored - which is the whole problem.

Still, now, it is done, and so is the last of The Anatomy Of Emotions scores; so The Anatomy Of Emotions, Gunstorm, The End And The Beginning, and Salome (for piano) are now scored. I'll also work on Heart Of Snow. When they are done, I can move on. With each new music release, I'll aim to score a 3 or 4 older ones, this way, the whole back-catalogue will be scored.

I'm somewhat sad and worried that my old PC is becoming obsolete. I toyed with putting Gunstorm the game, or even Flatspace II on itch, but my computer is barely able to compile and play these old things, and I'm worried that the code in Visual Studio 2013 will have trouble working on newer systems - it must! My creative life depends largely on my unique array of software, much of which I've developed myself. Things works well for now, though, and I'm hesitant to 'upgrade' as this often kills old and wonderful software. I'll have to upgrade eventually, but I'll delay it for as long as possible.

Tuesday, November 08, 2022

Meeting Eno Score

And more. Slept late today, but some more scoring work. A little more interesting this time as I'm working on automating more complex MIDI sequences. I've modified Prometheus in a few key ways to help with this.

These live piano pieces are far from metronomic timing, and can be difficult to automate, so I've added the option of a 'manual click track', a beat played on the keyboard to the music. In practice, I can create one by merging lots of notes and choosing an average, but it's not an exact science and needs some manual checking. Once this click track is there, I can add sub-notes to split up the timing, then quantise the music to fit, but the actual timing is still irregular and organic, so the next step is to 'regiment' the notes so that each tick is on an actual beat. Today I've programmed that and added the routine to split notes half-way for the click track.

Well, it all works. It takes quite a lot of modification in the end because the duration of the notes is lost when the track is compressed, and overlapping long notes can cause problems in MuseScore when importing a MIDI sequence, so I tend to make the notes shorter and then extend them manually. Overall though, it's now much faster and less painful to score these tunes. The other method was to stare at the MIDI sequence and notate manually, which was hideously slow; one 3 minute piano piece might take 8 hours or more to get right note-by-note. This way, I've notated two tracks in 90 minutes.

This is a vital took because I'm increasingly adding improvised and live sections to my music, but I don't always use MIDI sequences. Some will inevitably have to be done by ear, or other ways. The cadenza in Freud's Lecture is simply advised in the text rather than scored at all!

All of the tunes apart from Golden Water from The Anatomy Of Emotions are now scored, as well as all of Salome, Gunstorm, and The End And The Beginning. I've started on Heart Of Snow, but again, the complex piano solo there (as well as the main string melody in Remembrance Service) needs a tool like this. This is a good reminder that I need to keep track of the lead, guide, melodies in the sequence.

Monday, November 07, 2022

The End And The Beginning Scores, Auto Scoring Ideas

A full day yesterday, up from 6am working on the scores from The End And The Beginning. All were done by 6pm. Much of the challenge is working out elegant repeats. Take, this for example:

An unusual example of multiple 'volta'. The score ends with the solo and a 'D.C. al Fine', and so the score ends at Fine correctly, complete with the solo (which is on page 2!)

Each work had its own repeat challenges, some more annoying or complex than others. Nineteen Eighty Five was among the more complex as the chord change in first part of the third verse is different from the others, and then the chorus repeats twice rather than once. It seems tantalisingly close to fitting, but not quite. Open Your Eyes, by comparison, can fit everything on one page.

Today, a nice meal (I didn't eat) and meeting with Ché and some other Macc Art Lounge artists.

I also started work on the Heart Of Snow scores. The first track has challenges, but a score with many instruments including the original flutes and viola sounds lovely already. The hard part is the freeform piano solo, as ever. I've got the idea of making a tick track where I manually play the beat along with the tune, then code something into Prometheus to 'regiment' these haphazard timings into one-per beat. That should make the scoring of MIDI sequences with irregular timing possible with more ease that working though them note by note. It might be tricky, however.

Saturday, November 05, 2022

More Scores

Another constant day of scoring. I started the day by finishing off the last section of Cycles I. It may take two or three days per track there. Extrapolating this would equate to a year to score everything, too long! But perhaps I will, over many long hours, manage it. Of course, there is no immediate need for any of this. Perhaps it would be better in the long term to forget about them, and only score new or future works, yet, there is also the element of legacy.

In an effort to be more productive today, I moved onto The End And The Beginning, and have scored out My Motorbike, Like A Ragdoll Falls, Frost, Calling Mister Wilson, Coma, and Challenger. Some were more work than others. For My Motorbike I included the rhythm guitars and the full solo, perhaps overkill, but I'm trying to include a good 'full' score for everything, choosing the most important parts, and creating simpler, alternative versions too. Calling Mister Wilson includes the 'Imagine' style pianos, and most of the central orchestral part in the middle, but simplified for piano and placing the flute sound in the bass. This makes it much easier to add any 'full' score later. In almost every case I'm sticking 100% to the recording patterns, even the somewhat tedious and repetitive Challenger, which included 5 staves: piano, ESQ-1 synth part, sine parts, string chords, and bass.

I can't waste a valuable year of life on these now! I've now completed Gunstorm and the Lou Salome scores in full. Perhaps I can complete The End And The Beginning and a new album, Remembrance Service or Heart Of Snow, then make new music. Cycles, The Anatomy Of Emotions, and Music of Poetic Objects will be the most complex and difficult scores, as these are played rather than sequenced, but I expect Cycles and Anatomy to be the most difficult as these were my earliest. Most of Anatomy is done, but there were three or four pieces there that were improvised with no score at all.

This constant, grinding work is causing me great stress, and my stomach was in pain all night. Today I've hardly eaten.

Friday, November 04, 2022

Cycles, Empires of Eternity

A rather tedious, and not very productive, day of constant work. I updated Prometheus a minor version, fixing a rare but important crash bug, then started to score more existing works. I started by re-formatting the basic template for these proto-published works.

I then scored out The Astronomer and Remembering Love from The Anatomy of Emotions. The latter seemed to differ quite a lot from the played version. How old both of these seem in terms of technical ability and musical variation, proof that the Salomé music is step above. In an effort to make more progress I started on Cycles, but I found that those scores (among my earliest) were even more difficult, and far from the recorded versions. Cycles I didn't even have the correct title and I struggled to find the various parts. I'd also forgotten that some parts of this piano concerto for synthetic orchestra has several sections with no piano playing, rare for me. I might have to score those bits note by note from the Prometheus sequence. it might take a couple of days for each work/track/song, which is too long.

I'm in two minds about what to do next; work on a simple album, perhaps The End And The Beginning, or Heart Of Snow, or push on with this slow work. Scores for anything are, perhaps, a little pointless in the short term, but in the long term, I must ensure that my work is recorded - this is my motivation.

In the night, I became aware of the trends in my work for accurate and complete recording, meticulous filing and ordering, something rare for most people. Over time, the work I've done has become more thoroughly documented because of new methods, and the patience and resolve to apply these methods to all past works. This scoring activity is a symptom of something that applies to all of my work, and I can envisage a future of a large creative resource.

To date: I've produced and published 271 written essays, booklets, and books; 64 albums, singles or EPs, 461 videos or films of different lengths; taken part in 649 exhibitions, competitions or performance events; written 1897 songs or poems; produced 1337 visual artworks; 1113 instrumental compositions or music sequences; and created 85 software games or programs.

It's notable that the games I spent 20 years solitary work on, are the least well documented and least in number. Filing systems encourage and compliment the creative process. A blank shelf aches for books.

Generally my work is coalescing into a body of work which could be played under one large umbrella organisation, a veritable media empire.

Thursday, November 03, 2022

More Sheet Music, Salome CDs

A busy day working on sheet music, managed to, just, write the score for the two remaining 'basic' The Anatomy Of Emotions tracks, and the rest of the Gunstorm songs. It's amazing that I've not recorded which pieces we used for Anatomy of Emotions, the live performance. The initial performance was totally different, and used French stream-of-consciousness words to make for a very 'avant-garde' and surrealistic experience. After this, Sabine and I partnered with Tim Watson to make a more focused performance of 6 pieces about emotions, but I can't remember what they were exactly...

The emotions were loosely defined and the music evolved over a few performances, though we stuck with Sabine's video and Tim's words closely for each of the several performances. The pieces were The Dance/Childhood, Memory/The Old Days/Old Photographs, Awe/Distance/The Stars, then Loss/Closing/Silent Shadows, then an unknown piece that I think was purely improvised music without words, or perhaps no music or words, just video; then Resignation at the end, which (I think) also had no words but certainly had music. I have scores for all 'five' pieces, but nothing on the 'possibly improvised' one. Loss/Closure also changed musically quite a lot from the first performance to the recording.

I've managed to score these main five, and have rough scores for Remembering Love, which I composed for the album and might have played live, and for The Astronomer, which was composed for the Vermeer suite, a one-off performance in Chester Art(s) Centre, for which Tim later wrote some words. The other piano music on that album was improvised, so scoring would be a slow matter of note-by-note transcription.

I also finished the scores for the Gunstorm EP and these were much faster to complete, even with lyrics. I've included the bass-lines of Gunstorm and One Day, with simple leads for Ultramarine and You Make Me Happy. All have chord symbols. Deflexion includes 4 staves for other instruments.

The Salome CDs also arrived and look fantastic. I've had CDs made in tiny batches for 20 years or so and these are the best in quality. It's a sad irony that nobody buys them any more. In ten years the format will either be revived by those tired of expensive and awkward vinyl, or dead completely, or, perhaps, still the same; lingering on for specialists, like tapes still linger... but tape players or casettes are nowhere to be found in normal shops. Record players are still there, a comeback after their near-death. Small, perhaps kitchen or bedroom orientated, CD players are still sold, often with in-built radios. The format of these players indicates that the medium is not a 'serious' medium for audiophiles, but I love my CD player and, live radio aside, still listen to music on CD almost exclusively.

In the evening Deb treated me to a trip to the Lyceum to see The Addams Family musical performed by her old troupe, Acton Amateur Operatic Society, an amateur group in name only as the quality of the performances and production is on-par with a professional group. Deb performed with them for 10 years, 1998 to 2007. The production was brilliant, but the show itself average in story and with no stand-out hit song.

Today, a trip to Sandbach for Christmas presents. By chance, I found a book of REM scores, which was an interesting find for me, to see the layout of published music. A U2 album of scores was also there. The U2 scores included guitar tabs and two staves, some with fists of chords. The REM scores sometimes included three for other instruments, but generally two. All very interesting.

I've spent the rest of today preparing these seasonal gifts.

Tuesday, November 01, 2022

Sheet Musicing, Kate Middleton Leaves

A full and happy day.

Started work on the notation of The Anatomy of Emotions music, which is slightly difficult as it exists as MIDI sequences of very expressive tempi, so any form of auto-conversion isn't possible. I managed to notate The Dance, Memory, and Starscape. Until now, these, some of my earliest notations, were there primarily as an aide memoir for live performing, but I did flesh them out to reflect the full piece. Yet - there were still a few differences between these and the actual recorded versions. The Starscape score didn't have the right ending, and for live scores I tend to expand any repeats; I find them confusing. I also keep everything in the C-Major key, don't use octave jumps (8va etc.), change clefs, and a few other things that differ between written scores.

After those three (there are more to do) I started on Gunstorm, mainly as a test of my MIDI export/import and how well everything notates. I have designed Prometheus to export MIDI partly for this exact reason, even including notation options like how many types of note per beats are exported, so I expected it to work well, and it worked wonderfully. I managed to export Gunstorm and included the bass line:

Then did the same for Deflexion, using four tracks including the Theremin. Given these good results, I expect I could notate an album of songs in 2 or 3 days. The lyrics are a little time consuming, and MuseScore annoyed me by not recognising two tied notes as one for syllable reasons, but this is a minor issue.

Some new 'archival' CDs arrived, and new cases, and I expect the Salome CDs tomorrow too.

Then, trip in this cold and torrential rain (I object to neither, the night rain is so beautiful, and being cold and wet is easily offset by the delight of becoming warm and dry inside). I said a fond goodbye to the Kate Middleton painting in its new home: