Wednesday, September 04, 2024

Prometheus v3.41, You Know Frame

Most of today, and much of yesterday, was spent updating Prometheus again. Initially small changes to tidy things ahead of the possible (inevitable?) switch to double sample pointers. The recent automatic resampling feature in Noise Station, and adding this to Prometheus, made me consider the ease (or otherwise) of changing the core frequency.

Prometheus has always worked in 44100hz, and probably always will because my sound sample library is in that format, and it's good enough. Anything more tends to make files bigger without really 'improving' quality. Also, perhaps on an unconscious level, there is an attractive CD-like quality to this frequency, in the same way that a film at 24 or 25 FPS looks more 'cinematic' compared to a 30 FPS film.

However, I didn't think it would be difficult to change the core frequency, it's a matter of setting the primary sound buffer, then resampling all of the samples and modulators. So I've added this feature, and now I can run Prometheus in any frequency, with 44100, 48000, 88200, 96000, and 192000hz as basic options. I don't expect I'll ever use it, I think it would be overkill. Since the first version, all samples have been 2x oversampled, so have operated internally at 176400hz since 2002 (and much more for the analogue waves, I use 8 or 16 times oversampling there). This is the primary reason that these super-high frequencies are available in digital audio, to retain clarity over multiple layers of processing, which I don't really need. The new changes mean my samples can go up to 768000hz, or more! Well, this feature may come in handy, and it wasn't too difficult.

The coding process is not 100% complete, there are two final tasks. First, samples/modulators are not resampled when loading programs/instruments. That's because those don't store the frequency in their files. Second, the plugins all assume 44100hz, so all of the analogue generators are out of tune, the filters cut-off the wrong frequency, and time-parameters in effects like delays are wrong (now that one second can be different from 44100 samples). These things are easily fixed, but doing that for 150 plugins and recompiling them all will take a day or two and it can wait. This feature can remain half implemented. It does, however, operate fine when importing songs, and the sample playback works fine too, so I can save out final songs in other frequencies; though resampling my native 44100hz samples into, say, 48000hz, only to have it shift back to 44100hz for burning a CD isn't something I'd like to do.

After that, tired by the anxiety of programming, this surgery on a live system, I decided on some woodwork. I started work on making a frame for 'You Know How It Is When You Remember A Friend'. For the first time, I used my new frame calculator, specifically so that I could cut the exact full length before cutting each side.

This allowed me to stain the full length, then plane along the sharp edge to give it bevel, lit, not in gold, but in raw pine, nature's gold.

It worked well, and relying on the computer meant less calculation and less waste. I'll use this design again.