Saturday, November 16, 2024

Square Spoons, Ty Pawb, and Vocal Recording

Two very full days, I'm feeling overwhelmed and need to pause. The tracks for the new Fall in Green album are now finalised, there will be 15, though 8 lack vocals as yet. I bought a spoon with the aim of making a square one. Here are the stages of sawing, sanding and carving:

It's not square enough, so I'll do more work on it. Then, a trip to the Ty Pawb Open 2024 opening event. The artwork was great, imaginative and skilled. There were one or two boring landscapes; a portrait, no matter how conventionally done, is always more interesting; but generally, the artwork had huge variety in styles and themes. There were no trending themes or media, it was a wide gamut of media and of theme, but all works skilled and professional looking.

There have been four such open exhibitions and I've featured in three (I didn't apply for the first!) and I feel doubly honoured at this statistic; the quality here is really high.

Today Deb arrived to record vocals for the new album, and we managed 7 tracks before darting out to a Christmas event, a purchase of some 'Alphabetti Spaghetti', and other essential duties. Social duties tonight with a gamer night, my second and perhaps last of the year. Perhaps tomorrow I can start clear the backlog of jobs. I've barely had a few minutes to myself to think, but I know I have messages to respond to. Sisyphus cannot linger. Onwards we much push our weary selves.

Thursday, November 14, 2024

Rhymin' Simon, Slip Into French, Bluesky

A really nice evening last night at the Paul Simon event in Congleton. Mine was the only original song, though there were a few original poems inspired or connected to Paul's words and life. John handed me a creator's copy of the album, which looks really nice:

I remain hard of hearing, but it's gradually got better each day, my treatment and remedy is hope and trust in my evolutionary biology; that treatment from Beethoven's day. Today I've expanded a few of the Fall in Green tracks. There are 14 on the album now, including an instrumental about the solstice. Most tracks are under 3 minutes, the album 35 or so, and overall it compares with Revolver by The Beatles, so can't be that bad.

One of the possible inclusions was 'Soaked Monet', so I listened to Deb's performance of that from the Wonderland Knutsford concert in 2021. It was spoken only, over sounds of a swimming pool, no music. I set up a string sound and played something, which sounded rather nice, but too long for this poem, and perhaps too solemn. I may work for one last track here, perhaps We Slip Into French Like Tolstoy.

Deb's had a fraught and stressful few days. I hope that we can make it to the Ty Pawb opening tomorrow. I've been looking forward to this for months and now it might be that we can't go.

Oh, one other thing done yesterday was setting up accounts on Bluesky, a Twitter alternative. I will probably only post there from now on, and have updated many Twitter links to point towards Bluesky. I dislike Twitter and I feel that the world has been waiting for a credible alternative for some time.

Wednesday, November 13, 2024

SFXEngine Finalisation, Lilac 12 Fold, Back To The Zoo

Much of yesterday was working on SFXEngine again, though only a small program update. Most of the time was preparing new graphics and organising new DLC.

Today I worked on and completed 'Lilac 12 Fold Dodecahedron' for the next Fall in Green album, a poem about Rudolf Steiner's educational philosophy. The process was difficult as my left ear is blocked, so I'm working partly on instruments but mostly relying on my right ear.

In between I've written and practised a song for tonight's Paul Simon night, a sequel of sorts to 'At The Zoo'. It's musically very simple, using a beat that's a bit like 'Refuge' from Synaesthesia, with a bit of 'Pinball' by Brian Protheroe thrown in. The chords are largely A-minor, E-minor, E-Major, so easy to play on guitar, but I'll use the Microkorg.

Back To The Zoo

Someone said somewhere that it's still happening
at the zoo.
Must be true
Let's go back to the zoo

The jungle drums are clichés
like the plastic desert rocks
Let's buy a toy
A little mannequin of nature

The elephants are matriarchs
The tigers are the oligarchs
The penguins are the populace
The jackals laugh at them but hiss at you
When they see you in the queue
For the zoo

The bats all fly Deliveroo
The chimps have nothing much to do
The butterflies are dolly'd up
The vultures reminisce about the, old days
When they had desert skies of blue
Before the zoo

We should build a prison here
to show the animals that we cage
people too
If they only knew

If they had a choice of home
would the animals choose the zoo?
If you had a choice would you?

Monday, November 11, 2024

SFXEngine Filing, Prometheus v3.51

Well, I made a few changes to SFXEngine first thing, a few relatively small things, mostly concerning fallbacks if the core frequency can't be met upon initialisation, and a test for the success of buffer locking. When testing it in Steam, it seemed to work with no sign of either of yesterday's problems.

I feel that the problems were, like that Taskforce issue, something connected with security or some form of Windows validation because a lock-out is a rare thing. In code, it would be an infinite loop, but that's easy for me to spot and fix, and the only cause here was reactivating the main window after opening the manual. My code pretty much does nothing in that instance, so it seems to be a Windows system issue.

Well, I immediately filed v2.00 for the time being, and will revisit it next month for more testing and new graphics prior to the public release.

After that, I updated Prometheus with a few changes discovered while working on SFXEngine. One was the correct deinitialization of the floatutility and longutility variables on song exit. One was the correct deinitialization of the text file after various text-based imports. One fixed (and improved) the sample and modulator resampling. The only new features were a new cursor skip, which can jump by a fixed proportion of a beat (eg. 1/4) or based on the notes in track 1 (a guide track). This is now a toggle for both settings, so from now I'll use keyboard keys only for toggles or commands, never a cycle - a key should never be pressed many times. This became confusing.

The other feature skipped to the next valid parameter rather than moving though many blank ones, if prev/next were chosen.

Finally, I updated a few plugins for speed vs. size, repating the small code 16 times rather than use a for-next loop.

Today was a generally happy rest day compared to the extremely busy and stressful past 7 days. I now have a couple of days to work on a new song for the Paul Simon night, and some other art things which have been neglected.

My left ear remains annoyingly blocked with wax, though not painfully so as it had been, so perhaps progress is being made.

Onwards we move.

Sunday, November 10, 2024

SFXEngine Battles

A massively long day of solid work on SFXEngine. I ended last night thinking it was 'nearly finished' but have worked solidly all day programming, updating, adding. I found and fixed a few existing bugs; all small, updated the manual and compiled everything for Steam.

Then, this evening: disaster! The program freezes for some reason when running in Steam. I can't work out why or how. There are two bugs. First, sometimes the program fails to start at all, there's no sign it's doing anything. Second, the program freezes, much of the time but not always, when opening the manual, which is doubly mystifying and really difficult to test. Perhaps it's memory infringement of some sort; which is the worst kind of bug, there could be literally hundreds of causes. Neither error wasn't present in the old version, and the program seems to work fine when not in Steam. My initial guess was that it's not me, but a security problem, like the old Taskforce lock-out which seemed to be caused by Windows security, and 'magically fixed itself' after a short time.

I'm utterly deflated after a deflating week and year.

My plan for now is to file it as broken. I'm exhausted and I can't afford to spend any more time on this for the moment.

Saturday, November 09, 2024

SFXEngine Progress, Castle Park

Two full days of work on SFXEngine. I found and fixed a couple of bugs, including one that was part of Prometheus too and concerned with not liberating memory structures when a song is cleared. I can't work out why it should have caused SFXEngine to fail. Old structures should still be automatically replaced on the fly, though it is correct that these should be freed when a project is closed.

I've toyed around with a new logo. It's a pain to remake all of the Steam graphics, there are 10 to so images per product and 15 or so products, not including the new sound packs, but Steam's standards have upgraded the resolution so perhaps I'll have to do it one day anyway, and a new major version is a good reason for a new logo and icon. Here it is:

Yesterday evening I went with Linda, Yuri, and my mum, to the Castle Park Open Preview.

A highly eclectic show. Most of the work was a typical country painter's fayre of animals, landscapes, with work from complete beginners to professional artists. Only about 10% of the work was particularly imaginative or 'challenging', but a few works caught my eye. I noted that the prices were probably lower than 15 years ago when I first started exhibiting. It was nice to meet a few artist friends, and to see work by others I knew like Marc Turner and Janice Lazzarich.

I slept badly, with stomach pain and the recurring ear-ache. A productive day today, finalising SFXEngine and creating a new sound pack to be part of the new distribution. I had hoped to finish everything today, but the final filing and completion of the upgrade will extend into tomorrow. More work will be done on this in December. I'll dart to other jobs in the new week.

Thursday, November 07, 2024

Dark Times, Ty Pawb, SFXEngine Updates

An awful day in a year of hard times. My left ear is blocked and in pain, the 'fungus gnats' from my houseplant are buzzing around. I've formed a plan there of buying new compost and gravel and removing all of the soil; a fresh start. It's my worst year financially by some margin with losses in the several thousands, and my income isn't covering the outgoings for the first time in decades.

But, I'm working well artistically, and today dropped off a painting at the wonderful Tŷ Pawb gallery, and tomorrow I attend the Castle Park Open launch where I have three paintings. Artistic painting is becoming a luxury, both the supplies and more-so the time. I must aim for more joyous subjects, as all seem to be about death, murders, or other sorrows! Of course, such subjects are chosen for their emotional power. Perhaps they echo this dark year, but darkness makes the lights stronger. Musically too, I'm working better than ever.

Deborah is my light and the highlight of my year. I wish I could afford to be married immediately.

It's impossible to know whether an action or event is good or bad; we can never be sure. Anything can be good or bad depending on context and scale. For all of us, life is struggling along and then dying; so we must do our best as we struggle. We must take care of our cells. We must take care of our fellows.

After the Wrexham trip I worked on the SFXEngine upgrades and have completed the complex load and save process. Testing aside, the changes could be considered complete, but I will add a little more.

I look forward to next November. I look forward to the November in four years. The Donald Trump victory made me think that our government will face the same fate as the Democrats if they fail to deliver their promised economic growth and fail to stop illegal immigration.

Onwards we roll our Sisyphean rock.

Wednesday, November 06, 2024

SFXEngine Plugins

Well, Donald Trump's victory defied my prediction, but such are polls.

A full day of programming, updating the SFXEngine plugins. The work is taking longer than expected, and is complex and meticulous. All have been updated to a draft level. Next, back to work on the main program. The biggest job is the song loader and importer for new and old formats, and adding some temporary structures. The new version will be much more memory efficient. It will look and work identically to before.

The first job of tomorrow however is a trip to Wrexham to deliver my painting to Tŷ Pawb.

Tuesday, November 05, 2024

SFXEngine v2.00 Work

A massive amount of recoding today. SFXEngine started as a branch from Prometheus, but the latter has had 150 updates since, and many major changes over the years. Many of the innovations weren't reflected in SFXEngine. There's never been a file format change to SFXEngine, but 5 in Prometheus, each a major feature upgrade.

Now I've added the best Prometheus improvements. The double pointers, variable sample rate, and optional interpolation on a per-sample basis is one feature. Another is dynamic 'floatutility' and 'longutility' variables. Each plugin needs extra variables, some more than others. The reverbs, for example, need to keep track of delays and cycle various sine waves. In early Prometheus, and in SFXEngine until now, these were a fixed quantity of 64-per effect. The new reverbs, however may need more because now the core frequency affects all of the internal delays which used to be constant; and yet the other engines use very few. The sample players only need 1, so it's massively wasteful to have these large (empty) arrays on every engine. 12 engines per program and 12 per environment add up to large memory drain in a project of 100s of sounds.

Years ago I made these variables dynamic in Prometheus, so each effect must specify how many floats and longs it needs and the program reserves these as needed, very much like the effect buffers. Today I decided to add these to SFXEngine too. This is big coding step.

The problem with a lot of this coding is that both programs are hugely complex. It's hard to hold the whole thing in your head at once, so every change and alteration must be meticulously inspected and checked, mostly for silly accidental errors. Knowing what every change does to everything is nigh on impossible. For the most part I'm duplicating Prometheus code and hoping it will slot in. I've already found one SFXEngine bug which I'd fixed in Prometheus years ago.

There's a great advantage to working on two similar programs for this reason. Every time I upgrade SFXEngine I discover improvements to make to Prometheus, and vice versa. There's something about two that makes this error correction and enhancement property optimal. I can quite understand why DNA is a double helix, not a single line, and not a triple.

In addition to these changes, every plugin needs editing and recompiling; another meticulous and exhausting job. I've made a start on the sample players, the reverbs, and the delay effects. Those are the most complex. I have 66 to work on this week.

Meanwhile, the world is watching the American presidential election. The polls are extremely close, but I think that they are wrong and that Kamala Harris will win decisively.

Monday, November 04, 2024

The Candle Burns, 12 Fold, SFXEngine v2.00

A couple of days work on The Candle Burns, which I've played live many times since its premiere in 2019. This took a few takes, but it's mostly a piano-based piece of work, with a huge and overly complex finale, a jangle of notes in odd timing, overly romantic and not at all to time. I'm already shuddering at needing to transcribe it.

Then, yesterday, an outline of a new piece which we've not performed; Lilac 12 Fold Dodecahedron. I found this very difficult. The words are all about softness and, specifically, roundness, so the music generally follows suit. What is difficult, is coming up with new melodies and keys each time.

Today I've charged into the major SFXEngine upgrade, which will take all week. It's now running with only two test engines and no load or save capability, but the core frequency can be changed. The next step is all-new sample engines, then all-new engines, then the new load and save conversion, and finally tweaks and testing.

Friday, November 01, 2024

Filing, Castle Park Drop

A quieter day yesterday. IU filed some of the Flatspace (and Future Pool and Future Snooker music), with music codes. I also worked out the structure for a new album, and sketched a new song for it, but it will need careful consideration. At the moment it's structured into three groups of four songs. The songs a recently penned, but mostly lyrics only. I now start with lyrics, then add music.

Today, a trip to Castle Park Arts Centre to deliver the paintings for the exhibition. My last exhibition there was 2021; I mainly miss them because it's down to luck if I should see the call-out on social media. I've accidentally missed the Castle Park Open, the Stockport Open, and the Three Counties Open for this reason, and I enter Bickerton and the Grosvenor because of their email call for entries.

It was a lovely trip. We briefly met the nice artist, and always reliable and well organised - which for me (and Deb!) are the highest of compliments - Ann Bonner there. We wandered around a few shops.

Once home, I completed my monthly backups, then sprayed an old frame black, it was brown before. Black on brown works quite well; black paint should have a medium or dark coloured ground to work best, blood red works well as a primer. This is for the Scarecrow painting. Then fitted a new plug to an extension lead, the old one disintegrated!

I need to complete The Candle Burns music, and a few other Fall in Green tracks, but I keep avoiding it. Life is too short for this. I must charge into it, then will upgrade SFXEngine.

Wednesday, October 30, 2024

Music Pack 4 Progress, Future Plans

A busy day, starting with setting up the new Flatspace DLC, creating the store artwork and text etc., then building the data and testing the integration. Then filing the album. The tracks of the FSIIk Music Pack 4 are:

1. Flatspace Nocturne (01:13)
2. Cat Covid (Flatspace Mix) (01:08)
3. Widespace (02:00)
4. Excessive Consumption Has Laxative Effects (Flatspace Version) (00:55)
5. Cycles III Piano Version (02:20)
6. Riding Pi (Flatspace Version) (04:05
) 7. I Robot (Extended Version) (02:33)
8. Lost My Telephone (01:13)
9. Flatspace Cavatina (01:29)
10. Burning Meat Outdoors (Flatspace Version) (00:32)

Amazingly, this is my 85th music release. This total includes singles, re-releases, Flatspace packs like this (3 for Flatspace, 6 for Flatspace IIk), my one audiobook, and the album I've mastered for John Lindley; which is now filed under a new category of 'Mastering'.

More to come. I'd like to create 1000 albums! But my production rates may slow somewhat as now I notate all of the music. I need to do more of that for the older albums.

This afternoon, I wrote a special melody for a friend. Each day I'm writing and recording one or two new pieces of music, as frenetic as Mozart (perhaps I need to write a symphony!). My next jobs are to finish the (as yet untitled) Fall in Green album, then the major SFXEngine update; then a new album and the re-recording of an old one.

Tuesday, October 29, 2024

Flatspace Music Pack 4 Work

A busy day working on a new music pack for Flatspace IIk; Music Pack 4. It will be for sale like Music Packs 1 to 3 (some smaller packs are free, those which promote albums).

I've put together 10 tracks. Most are edits or alternative versions of existing music, as is the case for the other music packs, but I've also written and performed some new tracks for this. This pack will be exclusive to Flatspace IIk, although I'll probably use some of these tracks in a pack for the first Flatspace game at some point (users can and probably will copy one to the other anyway, I didn't want to restrict that). It's already in my mind to make the packs more different between games than packs 1-3.

New tracks include two new variations of the main Flatspace theme. These are gentle 'live' versions played on piano and mock-acoustic guitar respectively. The piano version is particularly pretty. Both of these were played and improvised in one take, so relatively simple pieces without accompaniment.

I've written two new tracks today and yesterday too. One is called Widespace and began as a series of chords similar to the main theme; A-minor and E-minor, then into F and then C. After a gentle introduction in choirs, some drums appear, which use the sounds from the main theme, and a bluesy bass-line. I played some electric piano over this, and the ending fades back into choirs. The feeling is similar to the song 'The Glass Screen' from A Walk In The Countryside.

The other tune was expanded from a 2020 sketch, a little tune made from a stabby-saw sound that was but one pattern. I expanded it, and made the bass interact with the lead. This is one thing I do now: I make each part recognise the others and react as a community. Before, my layers were blind anti-social robots, often repeating the same thing over and over without care or attention to the other parts. The melody bounces along with its bass, and some drums from the original Flatspace tune 'Cobra'. A small chorus of sorts appears as we shift chords, and the tune repeats in a new instrument, then moves up two keys, and a final snake-like lead appears. I added an arpeggio which sounded like a telephone ring, so I entitled the tune 'Lost My Telephone'. As a break before each chorus I added a little telephone fanfare of ring-modulated waves, to reinforce that theme.

The 'album' so far is about 30 mins long. Quite a lot of admin and final mastering to do, but it should be ready for the end of this year.

Monday, October 28, 2024

Types of Art Active in Britain

There are five types of art active in Britain, all very different.

1. There is academic art; made by art school graduates, exhibited at The Royal Academy and museums and galleries of prestige across the country, and a few relatively numerous London art galleries. This type of art is typically installation, sculpture, multi-media, mixed media.
2. There is commercial art, exhibited by smaller galleries and art shops, including artwork retail chains. This type of art tends to be paintings (typically acrylic) with lower-priced prints. Works are emotionally and thematically sterile, yet pretty; mainstream, like commercial pop music.
3. There is local public art funded and curated by local government or public bodies with government links. One aim here is a display of public engagement with a community, and the focus can be as much on the creator, or creative group, as the consumer. The art is necessarily bland and highly politicised in its primary aim of not offending anyone and avoiding saying anything important or interesting; aside from 'good news' propaganda about how good local arts are, and how brilliant local government is for supporting it.
4. The fourth category is any art made by hobbyists and enthusiasts, which may be exhibited or not, and can cover a wide gamut in styles, themes, etc. The median artist here is a retired old lady and the median subject a landscape or animal, though this category is the largest and most numerous and covers every style and type of art from the brilliant to the mundane.
5. A fifth category is commercial illustration, which can be everything from poster and book cover design, to painted portraits or commissioned designs for special (or even state) occasions. Perhaps historically, this was the primary type of art, first supplanted by photography and now by digital means.

Sunday, October 27, 2024

Sleep Scan, Hudson Frame

A 25 hour day - joy! I can fill one more hour. I started by photographing the Sleep and 'Castle for the King of Death' paintings. This is a complex, physical job. I need to assemble a heavy wood base plate, the lights with 6 bulbs, two power extensions, and the wooden legs; then two tripods with aluminium rails, and fit the camera lens and plates; then calibrate the camera and align all materials. The process took almost all morning, including digital montage and taking everything down again and filing it away. The final image still looks poor compared to the actual painting, but this is always the way.

I keep thinking how to make it faster. I could do with money for more electrical wire to integrate the 6 lights. At the moment only 4 are integrated with 2 needing fitting each time. I could leave all 6 bulbs fitted, though they would be liable to get dusty. Setting up the tripods and rails takes time too, and the calibration. Ideally, these legs would be, or could be, fitted at exact right angles to the heavy wooden bed.

In the afternoon, work on the Rachel Hudson frame. It would be intolerably boring to simply frame this; it must look like a total artwork. I started by roughing up various areas of the frame with a wire brush, to make it look bruised and injured, then painting in the raw parts with dark wood stain. Then red stain to splatter it in various places. The results were remarkably pretty, perhaps even prettier and ironically smoother than before I'd started, as the sharp corner joints were now hidden.

Then, I rusted some nails with hot salt water and hydrogen peroxide. This fizzes iron into rusty iron in seconds. I tore some pink organza material and placed it around the edge, then nailed it into place. The organza was purchased for the 'Except For The Hatred' painting, and and nail rusting was a trick from the Hanged Rolf Harris painting.

Then I decided to write some text onto the frame. I had thought about adding more of the 'Sing a Song of Sixpence' rhyme, but I also thought that I needed to add something about Rachel herself, so I simply added her name and dates of birth and death as a tribute. I experimented with how best to do this. I wanted a scratched look, and initially thought of simply scribing the letters as I did with the 'Financial Circumstances' frame - I took a look at that to see how it looked. I decided to do a test, and got out my old (and much in need of replacing) soldering iron and burned some letters into some similarly stained wood. These looked much better. I'd used pyrography for the old Janet Frame picture. I also liked the idea that pyrography was included, yet more gamut to the methods employed, along with oil painting, woodwork, cloth and rusty nail chemistry!

Finally, the painting was framed with some Perspex. I've used 2 of 3 Perspex panes I have. Sigh, I'm running out of supplies and have no money for more. I need to sell more. Cutting the Perspex was as horrid as ever. Unless I can find a tiny circular saw (one which doesn't get hot) I must simply cope with the danger and exertion of a craft knife.

So, a full day complete. I need to file and photograph this in its frame, then I'm ready to enter the competition. Deb and I quickly visited the new Crewe Art Space yesterday, perhaps this would be a good venue to show this in some sort of presentation. My original local art space was The Cubby Hole. Many of my early exhibitions were held there, and Carol was so supportive and helpful.

Saturday, October 26, 2024

Hudson and Sappho Frame, Sound Packs, Theresienstadt Painting

A long day yesterday, starting with cutting and assembling the Rachel Hudson frame. It was tricky, the wood was consistently not level. it was the first frame of its type to use my Frameculator software and the aluminium measuring tool. Both of those things worked well, but the wood itself was warped and would not lie flat. The corners are, as such imperfect, but they are sufficient. The colour of brown layered with neutral blue looks rather nice. The worst aspect is that I had to trim the painting by 2mm to make it fit; but the recess is smaller than on the similarly framed paintings of Cromwell and Gynocrats.

Then I spent many hours completing a first draft of the new sound packs. There is more to do on these and I can't do more until the major SFXEngine update, which I'll work on in November.

Today, deframing Cromwell and framing Song of Sappho:

I've heard that all three of my paintings have been accepted into the Castle Park Open this year, which is wonderful news. I've also prepared the other two works with labels, mirror plates, wrapping etc. and prepared the painting for Ty Pawb. I'll enter Theresienstadt into the Grosvenor. For me, 'Self Inspection At Theresienstadt (after Fritta)' is one of my best works, and a painting of its time on many levels. Trouble in the middle east aside, it has universal values. Life is a concentration camp, of sorts, but one we must endure, but then thrive within.

Thursday, October 24, 2024

Sound and Civilisation

Sigh! What a hard year it has been. So often I feel that everything I do is unnoticed, unrewarded, and pointless. Yet, this has been how just about every day has felt for 30 years, and clearly some things have made a difference. Perhaps every act, however tiny, makes a difference. We can never really know what will become important and what not. Perhaps everything is just as important, as even trivial things can be necessary steps to important things.

If I were instantly rich, or even able to instantly live without the constant worry about money, I'd live most of my life in the same way, but perhaps not make any more sound effects or sell my software. I may give it away, I may just use it, but this I do only to scrape by. The art; painting, music, writing, I would still do as now.

Today I planed the wood for the two new picture frames, then continued work on the new/future sound effect packs. These are a lot of work because all of the samples used must be recorded by myself from scratch, so I'm having to duplicate many of the sounds. Some of these are already useful.

I many finish a first draft of these packs tomorrow. Then I'll pause the whole thing. My aim was only to plan what to release and how, and this is more than complete. The next step will be the major SFXEngine upgrade, but I must complete the painting jobs and music too. I'm well aware that, should I stop now and die, no soul would notice; yet I'm also aware that many people use my 20 years of sound effects, and many, tens of thousands of people at least, have heard them. Many will use and hear these new sounds in future, even if this achievement is the casual one of the jobbing designer.

We see and use hundreds of things daily, unaware of the people who made these things, yet without those people they would not exist. Does one need acclaim? Not really, sad though it can be to have none. This is the nature of civilisation.

Onwards we roll the rock, towards the warm horizon.

Wednesday, October 23, 2024

Sound Effects, Jobs To Do

Full in sound effect mode today and yesterday. Updated SFXEngine to v1.35 today and began work on future sound effect packs.

I've decided to release these after another major update to the program. Given all of the recent big upgrades to Prometheus, I've decided to incorporate the bulk of these into SFXEngine. The principle improvements to the program would be the ability to change the core program frequency from 44100hz to just about any (48000hz is more common than 44100hz now), and the use of double sample pointers to extend the sample size beyond the current 90-second limit, and up to several hours if memory permits. These two changes would make SFXEngine ideal for mass audio processing of many sorts; audiobooks for example.

These changes are big, at least a week's work, and will require the recompiling and hand-tweaking of all 100-or-so plugins. It's a long term goal, not something I'll start just yet. Today I've been working on 16 sound effect packs of 75 sounds each, and will continue to compile these over the coming days.

Other jobs are pressing. I've glued by three lengths of wood, so need to make the frames for 'sleep' and the Hudson painting. I may do more on those tomorrow too. I have two weeks to finalise the Hudson frame at least (I'd like to make it part of the artwork and decorate it with cloth) and scan the sleep painting before the Grosvenor deadline. I also have a song to write and practice for the Paul Simon night, frame the scarecrow painting for John Lindley's album launch, and finish the Fall in Green album.

My method of working is to think only of completed things. I don't 'tinker' or create for the sake of creating. I think: 'If I can complete anything instantly, what would I do?' and move from there. This is why my to-do list is a list of completed items.

Onwards!

Monday, October 21, 2024

Hudson Framing, SFX Packs

Something of a recovery day yesterday, after the most lovely meal and party on Saturday evening. Of jobs done, I glued up a wooden length in preparation of the frame for the Rachel Hudson painting. For the first time I'll use my Frameculator software and new cutting guides, and have set to recess to 10mm and, for the first time, will need to plane the back of the wood to level it.

I also adjusted for timing (tiny movements!) the bassline of Eckelmann; the day of work were worth it!

This morning I stuck a second length of wood (I'll need to glue three, one per day) but have charged into a new sound effects project. I'd like to create a series of sound packs, presets if you will, for SFXEngine. I've been thinking about this for some months and have decided to vend them as DLC.

There are many difficult parts to the job. Sound effects aside I need to make a suite of graphics and marketing material for each pack (I hope to list many, up to 100, if this is permissible). I also need a new licence, to make it clear that people can use and modify and sell the sounds, and I need to modify the program. All sounds will use varying levels of the Bolt-On DLC, which means that most packs will complain about the lack of engines (people lack that DLC). At the moment, each missing plugin pops us a separate error which is a headache when loading 75 sounds. So, I need to at least make this process neat.

I've started everything today; creating a new test pack, test art, and started the program modifications and testing. This may take several weeks, but I've neglected sound effects for months, or even years. In sound terms, these packs could be a breakthrough for developers. In SFXEngine format they are far more useful than plain sounds, and will be cheap and allow access (and use of) the source waves and modulators.

Saturday, October 19, 2024

Prometheus v3.50 MIDI Import Victory

A long day of programming that ends in victory!

It's hard to explain what I'm trying to program, I will try. Imagine you have a MIDI sequence at 60 beats-per-minute that plays three bells, one per second, so one on each beat. In most MIDI imports, the sequencer would set the time to 60, and import one bell per beat, as you may expect.

But I wanted to import the notes at one-per-second irrespective of the speed the song is playing. Even if the song is slowing down or modulating. I wanted the notes to, rock-solidly, appear at 1-second, 2-seconds, 3-seconds. For this, I converted the MIDI notes into samples-offsets, so 44100ths (by default) of a second. Then I back-converted that into to location in the sequencer by running through all of the time modulations up to that point.

It was complicated, but I got it working in the end. On the way I discovered two older bugs; one which 'forgot' the initial modulator settings, thus changing them after playing and stopping a song (if they were programmatically changed during playback); and a second crash bug which should have been checked for in any of the previous 250 updates! It simply didn't update the selection when a track was deleted, so the selection could span beyond the sequence to dead tracks, causing a crash upon copy or delete.

It's amazing that 'The Cabinet of Dr Eckelmann' has directly led to two big new features in Prometheus. Several tracks are now complete for this album, 11 or so. Most are drafts that need final tweaks. Deb and I recorded some leaf-tramping sounds last night, which I may add to 'We Used To Store Sunlight'. I've also completed about 50% of 'Dumberdash', but there is a lot to do there.

Oh for more time! Of for more life! I need to divert a little now. I need to do work on some paintings to prepare them for the Grosvenor competition, and I want to create a new Flatspace IIk Music Pack: Music Pack 4. I also want to create a new array of sound effect packs specifically for SFXEngine. The biggest job here is the store artwork.

Onwards we charge.

Friday, October 18, 2024

Dumberdash, MIDI Bass

Started work on the Dumberdash song/poem for Fall in Green. This is an odd one for us, closer to a electronic rap. The words are a novelty on old Cheshire dialect, and as such the imagery and feeling is uncertain. My job is to make the music as interesting and eclectic as the words.

I also programmed a new routine into Prometheus. Eckelmann uses a tempo which varies, bends, speeds up/down. This is fine, but it messes up a MIDI import. A song at, say, 120 B.P.M. will import fine, showing the exact notes where they should be, but if the sequence slows down gradually, then the notes should be shown spaced closer and closer together. This can get more complicated when the tempo bends radically, which most sequencers can't do, but Prometheus can modulate anything. I can (and do) attach a sine wave, for example, to the tempo to make the whole song shudder and jump. This complicates the timing calculations.

The import is an issue when playing and recording MIDI tune to a backing track which modulates it's timing. Of course, I can insert the resulting audio recording, the tempo of the MIDI file is irrelevant then. Or, if I really need to see where the notes are, I can stop messing around with the tempo; but an ideal would be to import the MIDI notes at current the sequencer speed, calculating the note placement by time in seconds and milliseconds of the final song, and back-calculating which measure/beat/tick that time is.

So, step one is a "skiptocalctimeindexmodulated" routine (the name of which is a bit of a mouthful; 'skipto' is there because the routine is part of a group of routines which require initialisation and exiting; 'calctimeindex' describes what it does; 'modulated' shows that modulators, bends and other dynamic changes are calculated). If I feed it a sample index (eg. 44100 for one second), it will return the exact sequencer tick of the source song at that time, calculating all speed modulations to do so.

It's a slow routine. My former PC used to take up to a second to calculate it, as it has to run through the entire song and process each modulator on each Song engine.

It works but I can't spend more time on this. Must continue with something that will produce results; but if (when) I can get the MIDI import working, it will be useful to have.

Thursday, October 17, 2024

Eckelmann Bass

Sigh! A huge amount of work on the bass for The Cabinet Of Dr Eckelmann. The original (live) sound was a Reface DX sound, so I've made something similar on the MODX. I played an intro with some strnage bends live, and that sounded okay. Then I wanted to sequence the full song's bassline.

I imported the intro MIDI sequence into Prometheus, but noticed that it didn't import pitch bends - I'd not actually programmed in pitch bend imports or exports before... hmm. So I spent 90 minutes or so programming MIDI pitch bend support into Prometheus. Values can range from -1 to +1, as with any Prometheus parameter, and these are exported in the MIDI range of (an awkward) -8192 to +8191.

Then I programmed in the bassline; but it sounded buzzy and strange, not close enough to the Reface version. The expression of velocities, bends and wheels and the other aspects of playing make such a difference, so I'll play it live instead.

The structure of the song is finalised; it's F-min organ chords, which shift to an odd 0-3-6 chord (part E-minor, part G-minor) then E minor to major, before a leap to A-minor. Then everything repeats, with a synth solo over the intro, where the finale hits the A. I wanted very synthetic instruments because there was something futuristic and electronic about the 1920s.

The bass the last aspect of this.

Wednesday, October 16, 2024

Eckelmann, Kingfisher's Handcup

Working yesterday on two Fall in Green tunes; The Cabinet of Dr Eckelmann (which is all about The Kabinet of Dr Caligari), and a surprise diversion into a poem we've performed once before, Kingfisher's Handcup. For the latter, I played around with a flute sound and like the strange looping effect during when using the sustain pedal, so played a moody tune in one go. This good start led to lots of small tweaks to get the timing right. At one point I added a 'water' sound which triggered when the flute did. Essentially it is a very minimalist tune; gentle, full of the forest.

Eckelmann presents its own problems. The poem is highly narrative so the music must track the story, as in Lost At The Fair, for example. We've played it live many times but every time it was different, with little more than a throbbing bass and some distorted organ chords. The bass is tricky to replicate, I may have to play that externally throughout. So far, the mood is nightmarish and suitably evocative of a dark and grainy horror film.

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.

Monday, September 30, 2024

Prometheus v3.43 Finished, Framing

Finally filed Prometheus v3.43 as complete. I made a few final changes. First, float values are no longer clipped to -1 or +1 in wav files. I'd assumed that these needed to be clipped, like any audio, but the change is of little consequence as for any 'final' work I'll avoid any clipping anyway. I also improved the instrument naming so that names with numbers at the end (eg. "Piano 0001" or "Cello4" are automatically incremented when cloned. This was a fun job. My final job was to reload and convert old programs/instruments to the new formats, as many use obsolete plugins. I'll need to code a batch-converter for this one day, but that can wait. Enough with tiresome programming.

I forgot to mention that I framed and photographed the Cromwell and Remember A Friend paintings two days ago, here they are:

Those are my first framed with decorated bevels (yellow and plain pine respectively). Everything I do must be better, in some way, than that which came before. There must be improvement over time, and with every creative act I work hard to work out what needs to be better and how to leap upwards as far as possible next time. No proper art since Sep 18th (excluding the poetic research of the Morecambe Festival). I'm now ready to file this and start on new things, and get back to paintings in progress.

First, however, October backups. Onwards!

Sunday, September 29, 2024

Another Day Of Coding

Sigh, I must get used to thinking I can finished coding early. I discovered an annoying bug in Prometheus today which took a few panicky hours to fix. The root of the problem was that my units (seconds, millisecs, measures, beats, ticks) are now stored as a byte rather than an (unsigned) long. This, I thought, wouldn't cause much difficulty, but this happened:

a=-1; // a is a type byte
.
.
.
if (a==-1)
{
    (do important things)
}

It took some testing and lots of time to find that those important things didn't get done. Perhaps I needed to cast the literal -1 as a byte in the 'if' statement, but I thought the compiler might do that. It was messy anyway, I shouldn't use negative numbers for unsigned variables, so I used a define of a unique positive value instead.

After that, a trip to the local antique place for a casual day out, a particle of holiday combined with a book search, in the freezing cold. I wore my long leather coat, and Deb her long coat. Someone thought we had come from a Steampunk event, which was apparently happening today at 'Anderton Boat Lift'. Steampunk - the definitely worst sci-fi subgenre.

Perhaps I can start to file Prometheus tomorrow. Onwards.

Saturday, September 28, 2024

Prometheus v3.43 Finalised

The completion of a few projects. Prometheus v3.43 is now complete, apart from final testing by usage. As stated, there are three major changes: that samples and modulators now have double pointers, so can be longer, and are more accurate. Samples can now be interpolated or not, which can save memory (before now, samples were always interpolated), and the core frequency of the program can be changed, with all projects and programs importing and automatically resampling to the new one. All filters need manual adjustment after this, so it would never be a like-for-like conversion.

These changes needed a file format change and a big part of this was reorganising the file import and conversion to be more memory efficient and easier to read.

I had a panic moment yesterday when I used this code for pointers:

union
{
    float modulatorpointer[16];
    double samplepointer[16];
};

As arrays, the union stores all of modulatorpointer in the first half of the data, rather than spreading it, so using samplepointer[0] will also invalidate modulatorpointer[1], which was not intuitive. I fixed it simply by making both pointers double, which, it strangely appears, may even be faster (though I doubt it, as I expect that double-float comparisons are slower, or perhaps the same speed as float-float).

John Lindley's CD Master has been approved, so I filed that project as complete. This is my first mastering job, an unpaid favour for charity, so I needed to consider what to file. Retaining all of the CD project (3Gb or so) for this doesn't seem efficient, so I've retained one CD archive copy, and deleted everything else. Of course, I gave John full copies of everything.

Now, on to new terrain, to new air to swim and battle through.

Thursday, September 26, 2024

Prometheus v3.43 Updates, Crossfire Master

A full day yesterday working on the major Prometheus v3.43 upgrade. All 118 plugins were recalculated and adjusted by the end of the day, a huge achievement.

Today, more work updating the program with a big list of changes and efficiencies. A bug fix to the program loading, all units[] values are now defines, automatic attachments of interpolated vs. non-interpolated samples, and about 10 other changes which you won't know or care about, but were important to me. The final step is making the complex load/import routines more efficient and neater to look at.

John Lindley came by to collect the master copies of his latest album, Crossfire, which I've mastered for him. My burning scarecrow painting is set to be on the cover.

Onwards

Tuesday, September 24, 2024

Prometheus v3.43 Reverbs and Sample Playback

A full day updating Prometheus. Charged into updating the reverbs and sample players; the most complex 27 of the 118 plugins. Every move is a minefield of complexity and exacting calculations, with little time to waste.

Onwards through this I must forge, as quickly as time will allow.

Monday, September 23, 2024

The Labyrinths of Morecambe Poetry Festival

Just back from an unforgettable, and wonderful, few days at Morecambe Poetry Festival.

When we arrived, we saw a DVD copy of the film Labyrinth in a charity shop, and bought it. It's not the best of films, but it is a heartfelt artistic statement by the great Jim Henson, and the purchase and film will now become part of our Morecambe memory. The next day, we explored an amazing bookshop and I found a volume of works by Jorge Luis Borges; a transcendental writer, with whom I feel an affinity, if not an infinity. The volume was by chance titled Labyrinths.

The festival was wondrous on many levels. I, and we, perhaps more Deborah, spoke to more people in the past 3 days than perhaps I have all year, though this is perhaps a slight exaggeration. My leather coat was perhaps more social than I. The extraordinary Rowan McCabe gave an amazing performance, it is a great regret I had to leave his set early. Alistair McGowan was unexpectedly great. I bought a copy of his book and I, in a strangely awestruck aura, spoke to him about piano playing and handed him a couple of CDs. Pam Ayres and Lemn Sissay were wonderous. Donna Ashworth somewhat preachy, hugely superficial. We saw about 40% of the acts, which is the best we could manage on a fully packed, optimally scheduled weekend. There is only so much poetry that can be absorbed at once, but everything unseen or unheard is regretful...

...was regretful.

What we didn't see was unrememberable; and unforgettable, like the labyrinthine bookshop, filled with seen and unseen corners. It featured taxidermy and strange items poised on the mountains of books. The shop itself was a deep and convoluted maze, the semblance of order an emergent property as reflected in the mind of the curious genius of the owner. The place was an alphabet within an alphabet; a labyrinth of words, of ideas, of art, and for us, of memories.

Thursday, September 19, 2024

More Prometheus Upgrades

A long day of complex upgrade programming on Prometheus, but I've got a plain sample working and a reverb.

The reverbs are complicated as now I'm programming for variable sample rate, and there are a lot of delays in reverbs. They are a series of small delays, and a big one too, which can be up to 500ms. The smaller ones are of fixed sample size, but now those delays are multiplied by the relative core sample rate, so can vary.

I can have any number of effect buffers, but they are divided equally, not differently sized per buffer. For 90% of effects, this is fine, I tend to only need one buffer anyway, but it's a problem with reverbs as the 500ms delay is huge compared to the lots of little ones, so I create lots of little ones and use a spread of 14 buffers in a row to constitute the 500ms delay. This works (the buffer is one buffer that merely appears to be several via evenly-spread pointers) but it's a bit complicated to calculate the maximum buffer needed, partly because the little delays also vary in a sinusoidal cycle, and buffers need to divide by 4. Well, all of the variables were jiggled and everything seems to work.

The sample playing is now linked to a personalised sample table for each sample, so some samples can be interpolated, some not. The interpolation definitely improves the audio quality of some sounds, but it hardly makes any difference playing at the root frequency, so can now be switched off to save lots of memory. This seems to work too.

These test elements allow me to eventually recode all of the 119 plugins, as many share elements. The reverbs and sample playback are perhaps the most complex... time will tell.

It will take until the end of the month, I expect, which will include more work to master John Lindley's latest album. I can't wait to create and use this new musical toy! There's so much work to do, I must try to race through it.

Onwards we charge.

Wednesday, September 18, 2024

Prometheus v3.43 Day 1

First day of the major upgrade for Prometheus. The key features are adding 'double' length samples, and support for variable frequency regimes, plus more optimised (but more complicated) support for linked modulators and samples, as these are now stored via unions.

All very complex, so most of today was making many meticulous changes without the change of running the program at all.

It means new files formats for songs and instrument, the 6th file format. That's always a bit of a pain. Each format upgrade comes with a small from->to routine to update the format before, so from the 1st format it will upgrade from 1 to 2 then 2 to 3, 3 to 4, 4 to 5, 5 to 6 and ready. This works, but the code can get very long and messy as each unit part of the files feature this - it's too complex to load an entire version 1 song, then update to an entire version 2 etc.

This is probably the hardest part of these upgrades, the neatness aspect. At the moment many local structures are allocated and used, then discarded during the upgrade process, or upon a fail. I wonder if I can find a neater way to do it.

The changes I've made will generally save memory, the new structures have more features but are smaller due to optimisations like unions, and using bytes and bools for flags which were previously larger values.

As of now, it is running, with no plugins. I next need to make two test plugins (all need recompiling). Only then will I know what works and what doesn't. The file imports are also not complete.

Tuesday, September 17, 2024

Hudson Glazing Day 3

Final day of glazing on 'The Angels Musing Over All That Is Left Of Rachel Hudson'. I added a new new elements, and these took time and consideration. The right needed something, words, as in 'I Know Why The Caged Bird Sings'. The rhyme about blackbirds baked in a pie kept coming into my head, so I added the start of 'Sing a Song of Sixpence' there, but stopped midway.

I also added some figures in the grass, a man pulling a woman up the path.

It's a complex painting. I'll need to consider framing options carefully. At first, I thought a girly and garish pink frame may work, but then a frame covered with a cloth of clouds, nailed to it to be pulled back like a curtain. I've made one curtain painting before but there were a few problems with it. When pulled back, the curtains often hung into the painting; it's hard to pull them away completely, the curtain becomes too dominant, though it worked well torn in 'Except For The Hatred'. A deep gold frame may work.