Monday, October 14, 2024

Final Paintings, Prometheus v3.48, Threads

A couple of busy days. Finished framing 'Bird Cage In Terra Cotta' yesterday, and the Theresienstadt painting. For each framed painting, I measure and weigh it, photograph it flat, and at a more 'natural' angle on the wall, and now some some photos with myself too. This all increases the record keeping burden, but I think this is worth it. I'm really pleased with how they look.

Then, a couple of hours work on this blog. For years I've used a 'Sculptural Design' tag to cover frames (which often include sculptural elements, cabinets etc.) and posts about furniture design. It's often annoyed me however that framing wasn't a separate tag, so I've replaced 'Sculptural Design' with 'Framing' and 'Furniture Design'. Cabinets are frames of a sort, and may include sculpture, or engineering in projects like the Eden Iris. I had about 200 posts to update. Many have faulty image placement or formatting due to the different ways Blogger has formatted images over the 20-year lifetime of this blog. Updating those took longest.

After that, more work on Prometheus, slight work. I wanted to fix a bug where wav files with markers sometimes loaded incorrectly. I really need a faulty wav file to test this with, as mine all now seem to work(!) but the 'cue ' chunk is a candidate, as this includes a 'data' chunk (why on earth 'data' is used as a sub-chunk AND a primary chunk name I don't know!). I now skip over cue chunks, so this may help. Plus, I added more features to the import/export of sequences as CSV. This is a useful format because it's so simple. A list of notes and times between is all that's needed to create a tune. Now I've added all types of event (including Set Modulator, Set Parameter etc.) which may be useful at times. I've never needed any export but notes before, but wanted the feature when working on 'We Used To Store Sunlight' and it wasn't there. I realised that there's no way to save or copy the parameter changes and fades, meaning I had to resort to pencil and paper. I won't have to now.

Today, back the painting and finishing 'She Was Always Asleep At School', and 'Castle For The King Of Death':

Over the past two days we've re-watched Threads on television; my 3rd viewing and Deb's first. We were shown this in school, in Religious Education lessons. Always scary and disturbing, I could not help but muse on post-apocalyptic survival techniques and technologies. An anti-fallout centrifugal water purifier came to mind using plastic water bottles and a bicycle wheel. Spinning the bottles and extracting the top water should result in clean water.

Saturday, October 12, 2024

Framing, Chlorophyll, The River Where You Used To Swim

Completed the 'Self Inspection At Theresienstadt' frame today, it looks wonderful, just as I imagined. One tricky part was the need to cut 3mm off the edge from a long piece of glass. This wasn't entirely successful, as the score line wasn't quite deep enough in one crucial point. I had to nip off a little and sand it.

After that, a full day of work on the 'Sunlight' tune. A few days ago I listened to the Revolutions album by Jean-Michel Jarre for the first time in years, perhaps over a decade. This reminded me of the flute, the Turkish ney, which is apparently omitted from the album now for copyright reasons (yay to owning a first edition copy). The MODX has a rather wonderful ney sound, so I used that in this, rather than the piano as planned, at the start. I added some bells, and a gentle solo piano part, then some piano at the end, playing along live over the backing, which is unusual for me. This worked well, an unusual mix of sequenced and human.

Then, work on a new tune for the poem 'The River Where You Used To Swim'. I wanted to evoke searching so played a few 4-note arpeggios that climb, ever seeking. It's somewhat like Beethoven's Moonlight Sonata. I chose chords without thinking: A-minor, Bb-Major, G-minor, C-Major, then F for a happy breakaway. It's very simple, and sounded pretty in most instruments but seemed to suit an acoustic guitar, so played it in that sound. It sounds very like a real guitar, but I can't be sure it's even playable on one guitar. I will let future listeners become awestruck at my 'guitar' playing.

Another hard work day in isolation for no reward, but done as best I can for the glory of art. Onwards we roll the heavy rock of life.

Friday, October 11, 2024

Theresienstadt Frame, We Used To Store Sunlight

Some good news from Ty Pawb as, a despite record number of entries, I hear that one of my paintings has been selected for the Open there. This is as much a relief as a joy.

I don't know which painting was (or even paintings were) selected. Only one of the three is framed, and the Theresienstadt painting is brilliant anyway, so needs a frame, so today I cut this. I used my Frameculator software to measure the sizes, and made a slight improvement to the code to show the 'half way point' to cut. With a long (over 1M) length of wood, it's usually better to start by sawing it in half at the correct place. For decoration, I first roughened it with a wire brush; I wanted an aged and ancient look, then planed a bevel to give a smooth inner edge. Then stained in red-shade phthalo blue stain, then brown (a raw-umber hue). The result is a dark green-brown, just perfect.

I managed to cut my thumb on a huge splinter, then repaired the splinter by gluing it into place with a tiny amount of glue and tweezers, the stained that part with a cotton bud. The repair is now invisible.

In between frame work, I've started the music for the next Fall in Green track. All but 'The Silk Merchant's' song were recorded last year (apart from the vocals), which is why they've not taken long so far. 'We Used To Store Sunlight' is also known as 'Rest In Peace, Dear Chlorophyll', it changed name during composition, and I still get both names confused.

I wrote a tune for it for its premiere live performance at Tom's Tap years ago (Ah 11th October 2019, 5 years to this very moment). It has a simple melody with a regular 4-time beat. The mood is dreamy, like a tune called 'Waiting For The Rain To End' as used in a Flatspace Music Pack, and some of the tunes from Arcangel. The melody is a little magical, described as 'Hobbity' in the notes, and it does have something of Lord of the Rings about it.

I've decided to sequence it first rather than play live, then with a sequencer guide, play live afterwards. There's a lot more instrumentation than the piano here; it's mostly strings. I have so many ways of recording, and so many ways to record, and I don't use just one. One key difference between Prometheus and most Digital Audio Workstations, is that the latter are primarily triggers of audio clips, but Prometheus is primarily a synthesizer and triggers individual notes. Of course those 'instruments' can be audio clips, but it's core inspiration is Protracker on the Amiga, rather than a multi-track recorder.

Thursday, October 10, 2024

Sine Curves

Today, another two small fixes to Prometheus. The batch converter used to lock-out if an empty folder was selected, this was a silly bug I should have noticed. Second, a smaller fix to the auto-increment of an instrument ending in a number.

Then work on translating a linear ramp, 0 to 1, to various curves. There aren't standard names for these curve types, but they are common. All segments of sine waves. I've named them:

Sinoid:

curve=sin(x*PI+ONEANDAHALFPI)/2+0.5f;

Oversine:

curve=sin(x*HALFPI);

Undersine:

curve=sin(x*HALFPI+ONEANDAHALFPI)+1;

Unsine:

if (x<0.5f)
curve=sin(x*PI)/2;
else
curve=sin((x-0.5f)*PI+ONEANDAHALFPI)/2+1;

Firegate uses Sinoid. The old Watergate used something like Oversine for attack and Undersine for release; good choices for audio, but they were not sines per-se, but similar shapes made by exponential multiplication.

Wednesday, October 09, 2024

Ponderous Tomes, Watergate Replacement

Production work on 'Ponderous Tomes' for the new Fall in Green album today. This took an hour or so, quite simple, although the loud 'Santur' instrument is quite a clang compared to the piano.

The main job of the day was visiting each of the 77 song files which included the old Watergate plugins, and manually replacing them with Firegate. Firegate sounds a little smoother because it has a more accurate and reliable gate, and it has more tangible settings; correct thresholds, gate times in millisecs. Watergate had more arbitrary settings, so it's good to replace it, but it meant hand tuning each use of it. Now it is 22:12, and the job is done. I can now remove Watergate and Engram Watergate from Prometheus.

The secret of becoming good at recording and producing music is years and years and years of work, which in my case is at least 50% programming the tools.

Onwards.

Tuesday, October 08, 2024

New Fall in Green Album Work

Yesterday began by cleaning my PC, a good thing to do annually anyway, and aiming to discover the cause of an intermittent fan rattle, which is minor but had been disturbing me. It appears to be the case fan which is good news, I'd feared it was the expensive and hard to replace PSU. I hoovered inside the case, first blowing the dust away with a camera lens blower. Hoovering of delicate surfaces is much easier by blowing the dust and sucking if from the air. Hoovers should all come with powerful air blowers near the nozzle!

Then, back to music, and the next Fall in Green album. I started four tracks last December, works which we've performed live often but not yet recorded: Effervescent, Ponderous Tomes, Sunchild, and Velvet Gelt. Resuming work revealed a new bug in Prometheus related to the recent upgrades, so I fixed that, then a disturbing crash when importing MIDI. That's never happened before, and I don't think it's connected with the new updates. I couldn't reproduce it.

Then I recorded the piano part for another track from the Rattenfanger era which we've performed a few times, the rather pretty Silk Merchant's Song. It is a poem about Somerset Maughm's quest for contentment and the Mona Lisa; the wife of a silk merchant. Musically it's a simple melody focused on the piano, similar to Time Falling or the more gentle Salome tracks, painting pictures with simple notes, part Debussey, part Satie, but very spartan.

In the evening Deb came to record the vocals for all five tracks, and today I've added the Sunchild vocals. While working on the Silk Merchant's Song I found the need to quantise notes to the notes in the MIDI guide track, so added the feature to skip note entry based on the notes in a guide track (Track 1). I could already quantise to Track 1 later, but having the ability to type directly has instantly been useful, so Prometheus is now upgraded to v3.56.

The five tracks, plus an improvised instrumental called Anthem for the Solstice are already enough for a complete EP, but we have lots to add, if only of works we've performed.

Sunday, October 06, 2024

Until I Was Nearly Dead

Until I Was Nearly Dead

Until I was nearly dead
I didn't know the meaning
I didn't know the feeling
Of it all
As it hit me
Like a hard slice of bread
In the kitchen damp five in the morning
Like I said, I was nearly dead

But by then it was too late
All too late
Growing cold on the plate
All too late
Too late

But as least I tried
As I cried to the sky
In my head;
As I've said, and sighed
I didn't know the meaning
I didn't know the feeling
Until I was nearly dead
Nearly dead
Nearly dead

Stone vs. Wire Compression

A full day of programming. A day sans appetite of prodding Prometheus with a virtual fork. The new Firegate works well, and can replace Watergate but there are 72 songs that use it. I changed a few. Then I investigated Wire Compression, and if that can be superseded too. It works by boosting the volume by an inverse volume trace, but it's also multiplied by the gate, so if volumes are low they are not boosted to silly levels.

I experimented with including my new Stone/Fire gates, but it won't work; Wire Compression is unique and slightly organic. Here's a plain row of bass notes. This also shows why a compressor on a bass is useful, a bass tends to change volume on a per-note basis:

Here is the bass with Stone Compressor set to 8:1. It's like a conventional compressor, knocks down the upper parts. The mellow sounds a little distorted:

Here, is Wire Compressor. See how different it is, and there's no distortion:

These tests are tedious. Are they worth much? Yes, if to confirm what is good, what can be better, what is best. One thing I can take is modify Wire to use a mono source (I've only ever used it as if mono). I modified it to adjust for sample rate too. Those things make it faster and uses a few fewer floats in storage; all good.

During those changes I found a simple mistake in Firegate, A+B/2 should have been (A+B)/2; easy to miss, so that's good. Sometimes things just take time. I'll keep Stone and Wire Compressors, and phase out Watergate at some point.

Jackie Kay, Firegate

An inspiring poetry reading and interview last evening in Manchester, to see (well, mostly hear, my view was obscured) Jackie Kay. She's written a lot about protest (and done a lot of it too!). My childhood taught me that protest is futile, that we must accept our lot as best as we can. She also said something about the importance of politics, where I think politics is utterly unimportant. All politicians consider themselves the most important beings in the universe, but the actions of the non-politician masses have more power, and the ideas of philosophers, artists, and theologians have more influence on our minds, ideas, and emotions. These small differences in view aside, almost everything her ever-delightful self said rang true. I left feeling inspired.

Today, more audio effects. The new Stone Compression trackers and gates are a generational leap up, so I felt I had to replace the other gate effects; principally my noise gate 'Watergate', so today I created 'Firegate'. Watergate sounds okay, but there are a few little problems with it. First, it's frequency dependent (the settings only work at 44100hz). Second, it uses the older-style multiplication based trackers which have can have strange artifacts at tiny levels; and those don't track the signal tightly so that the 'threshold' levels are somewhat arbitrary and organic. In sound, Watergate switched on the gate with an up curve (9 o'clock to 12 o'clock) and off with a fast down (9 o'clock to 6 o'clock). That sounds pretty.

The new Firegate (like the Stone Compressor) is now frequency independent, it works the same at 22050hz as 44100hz as 88200hz. The gate is an S-curve up and down, making it more symmetrical and neat. Watergates tail makes it sound a little warmer but the results are very close. Here's a gate signal (top) and the source (bottom):

One other improvement is channel-linking the trace. Almost all of the time I gate mono signals, but when not I've never wanted independent tracking per channel, so it's a waste of processing to do that.

I had the idea for these at 7am, and by now at 10:40 the coding is complete. I don't use compression or gates much, so perhaps I can replace the older uses (I say 'much' but there may be 20-80 songs or sequences with them, it might take me a solid week or more to replace them all by hand). My main use for gating is to lower the volume on one track when it's high on another. This is useful to quieten the background when the vocals sound, so that on a per-syllable basis the rest of the song is attenuated.

Saturday, October 05, 2024

Stone Compression

A full day yesterday working on my compressor. It all seems to work. Here's a plain sine wave compressed by 2:1 at 6dB with the Sony Dynamic Compressor:

Here's mine, with the same settings:

The 6dB line is the upper grey line, so the values over that should be halved. You might notice this looks exactly right on mine but the Sony one cuts a bit more, it's a little bit below half. This, perhaps, is due to a volume trace which doesn't hug the level so tightly (or a loose gate). Either way, my version is better in that respect, but it is more severe in its clamping, though not so much to be audible.

The slope at the start is the slow (50ms) gate kicking in. My linear one looked a bit digital, so I changed it to a smooth curve using: smoothgate=sinf(gate*PI+ONEANDAHALFPI)/2+0.5f

I remember now why I did this; it's because I haven't got a comparable effect and I needed one to process my audiobook tracks. Before now, I had to use SoundForge for those because Prometheus couldn't load such large files, and I also needed a compressor up to the job. In audio tests it all seems to work and is remarkably fast and simple. It's strange in life how things which once seemed impossible or supreme can, in future years, seem small and trivial without any indication of when this transition occurred.

I've named it Stone Compression. My other one is called Wire Compression because the volume trace reminded me of a wire running along the sound wave. This one is more solid, like mountains. My reverbs are named after gasses, so the compressors can be named after materials.

Enough with this! I've not be artistically active in a few weeks, not since before Morecambe. I need to move on and start making things. One last trip this evening, to Manchester to see the poet Jackie Kay.

Friday, October 04, 2024

Compression

A torturous torturous! slow day of headache inducing work on my compression algorithm. One annoying thing is that it seemed to work well from the first try, but every tweak needed multiple tests and so much kept causing little niggles. This is a case of slowly, ever slowly, working though every variable and possibility. Here is a wave (upper) with 2:1 compression at the grey line of 6dB.

See how the peaks beyond the grey line on the top trace are half the size of the peaks on the lower trace. It first uses a volume trace that has zero attack to catch the top peaks. This track opens the gate when it passes the threshold, and closes it when it falls below. Eventually I evolved and smoothed the code so much that I realised I'd not involved the gate at all and simply compressed values over the traced threshold! It worked really well, but without a gate it has limited settings (only ratio). Perhaps it would be useful like that anyway. In all of my years of using compression (which, I admit, is hardly ever, I compress vocals; I compress bass because it can change volume with each change of note, but I hardly ever compress anything else) I use the same settings of 1ms attack and 500ms release. I digress.

I added an automatic gain option to boost things, but it took me ages to work out why it sometimes went over the top, because it was calculated to exactly peak at 1.000, never more. I realised that values over the threshold can peak when they are not yet in the gate and so immune to the compression which would have limited them.

It's been such a long day of tedious tests and headaches.

I ask myself why I do such things. I painted 'A Brief History Of Transubstantiation' this year. Why would I? I have no plans to show it. It was not intended for a competition, it's not pretty, and on only a moderate technical level, so not a showcase. It's sufficiently odd that I probably won't show it to anyone, like several of my paintings. But, I found it a striking artwork and idea. I dreamed the image, and it struck me as having a truth. I painted it because it was in my nature to make art, and to push myself to do something well, and better than before.

Perhaps then, this is why I made this compressor, hard slog though it has been.

Thursday, October 03, 2024

Art Photography, Compression

A good and productive day, starting with the very phyiscal work of art photography.

I have a large 12mm MDF flagbed for the painting, which can slide left and right. Above it, two 15mm tube tracks which allow the mounted DSLR camera to slide vertically. I use a 50mm Canon lens, and 6x810 lumen bulbs on my custom built wooden lamp stabds. All of this takes an hour to set up and dismantle, not counting the actual photography. All of this still produces far inferior results than in real life. The process is one if disappointment and shame at the poo quality of my poor painted progeny. Still, today I managed to scan 7 paintings in this way today. The colour matching, at least, is perhaps the most accurate I've ever achieved.

The painting 'Nobody Cares About You, Really: Get Over It!' is scanned and now submitted to John Lindley and the artist Ann Beedham for CD cover design.

After that, I tried to find any Cue Sheet for a CD in my collection so that I could confirm if I knew how to create one. I failed.

After that, I started on a new compressor algorithm and tested various volume level trackers, wuth good results. At the moment I use an exponential one which simply multiplies the tracker up or down as needed, but I'm unsure if this is best. It is smoother than a hard linear ramp. A good one seems to be a simulation of an analogue VU meter, where the needle falls under simulated gravity. I've decided to use that for my new compressor, and a linear time-based fade for the attack and release.

At 4pm or so I received an email about the ING Discerning Eye, and the website would not load, remaining in eternal loop. Once it made it to the results page only to remove (!) all of my entries for every competition I've entered, and quaintly reported that "You account information was last updated on 01 Jan 1970, 01:00". Quite. The Parker Harris system is THE WORST art submission system I've ever used. I've not used it once for anything without constant errors. At time of writing I still have no news on my entry. Well, this is in the lap of the gods.

Onward.

Wednesday, October 02, 2024

Prometheus v3.44, DPP Format, Compressor Musing

The 1st of October yesterday meant a usual morning of backups and quarterly administration jobs. Then I discovered a few minor bugs in Prometheus. I realised that I needed to limit floats to -1/+1 on import, and the new interpolated samples had a few little issues with loop points, so I fixed those to bring the program up to v3.44.

Then I put Bytten into standby for deletion. Andrew and I started the site in 2003 and we (a regular team of 6 or so) produced 10 years of weekly game reviews, but the site hasn't changed in 11 years and I can't afford to keep it there, it's not a long term solution anyway. So I've started to take it down in a controlled way, and will gradually phase it away. It would be nice to publish the reviews in a book, as a record. Nobody would ever buy it, but it would be there in the British Library for historians.

Today, I spent some time researching DDP format, which is a collection of files used for audio CD mastering. CD Architect, which I use, can't export it. There is only one freeware program converter, it seems, a command line set of programs called ddptools. I could probably program a converter myself, as the format is broadly a collection of text files plus the final mastered wav file (which CD Architect can export; this program is great for mastering the audio itself, track division etc., it would be a pity indeed if I needed to try something different and worse). For now, I will keep posting physical CD-R discs to my chosen replication service.

After that, I spent time trying to get my unique Wire Compression audio effect sounding like traditional compression. Mine is different for many reasons; firstly, it makes quieter sounds louder as well as louder sounds quieter, and uses the gate to determine which to favour. Secondly, its gates and slopes are all exponential. I failed, so have been musing on how to design a new compressor like the 'Sony ExpressFX Dynamics' I like. I must avoid musing too long with these impractical and worthless dreams.

Tomorrow, I'll photograph a few recently completed paintings, and get moving on music.