echolevel
banner
echolevel.co.uk
echolevel
@echolevel.co.uk
Brendan O'Callaghan Ratliff - Audio Director/Coder, Sound Designer & Composer at Cardboard Sword Games • Film Sound • BBC radio drama • Irish traditional music • chiptune/demoscene stuff as Syphus^UpRough

https://echolevel.co.uk
because I think he's sadly not supernatural enough to make it onto @loremen.bsky.social (although it's only a hop, skip and a jump for most interbellum folkies).

Wikipedia reports that he inspired the equally improbably-named Rod Stradling (who was astonishingly NOT a Nathan Barley character)
December 17, 2025 at 1:35 PM
UEUEU </Morris Day & The Time>
December 15, 2025 at 6:18 PM
I'd love to, but no way am I (and my phone) getting through US customs ever again 😅 Hopefully there'll be an EU fest I can get to...
December 15, 2025 at 6:11 PM
wrap the Metron runtime back into a new UE Runtime Plugin, either in SynthComponent or a procedurally generated soundwave class, and then Metron will have achieved full middleware apotheosis, I guess...

And yeah, some day I'd still like to make it publicly available. Working on it...
December 14, 2025 at 4:14 PM
sandbox for me to learn in and I took to it better than I ever did to pd, Max/MSP, CSound etc. And NOW Metron is standalone! I have a completely standalone tracker app which eventually I'd like to be able to give to composers (saving them from having to build Unreal Editor) so my next task is to
December 14, 2025 at 4:14 PM
since I can count cycles *exactly* where I need to and measure my optimisations usefully. But I only got to this point after previous iterations involved, well, 100% Blueprint to begin with (yikes!) and then runtime-instantiated megastructures of Submixes and Source FX chains.

UE's been a great
December 14, 2025 at 4:14 PM
the way. The version of Metron you see in this game and our previous one lives entirely within a single enormous SynthComponent (which is already nearing deprecation, having been superseded by MetaSounds - but hey, our dev cycles have been...long!)

That's great for getting a grip on perf metrics,
December 14, 2025 at 4:14 PM
Thanks, as ever, to @minuskelvin.bsky.social and @dannthr.bsky.social and all of the #UnrealEngine Audio team: their work on the UE Audio Mixer, SynthComponents and the factory DSP classes are how I learned to do any of this stuff in the first place - and to @chriszuko.bsky.social for his help along
December 14, 2025 at 4:14 PM
by allowing e.g. any object in the world to have its scale or colour modulated by the audio output _or data attributes_ of a single instrument, a single note, or even a single effect command, without requiring any additional metadata to be calculated offline and bundled with stems.
December 14, 2025 at 4:02 PM
Honestly, working in games and writing my own tracker _that I could use in those games_ is a dream come true - even if it's 2025, and even if nobody notices or cares! But a couple of folk will, and that's nice.

And there _are_ some genuine use-cases in this day and age; I feel this game proves them
December 14, 2025 at 4:02 PM
we rolled in the #demoscene (and still do).

Half of the Transmission: Shortwave soundtrack is literally Amiga Protracker tunes of mine, slightly adapted to give them a tighter master buss, a little more polyphony and some procedural/semi-random note variation.
December 14, 2025 at 4:02 PM
But since this is a tracker, basically every oldschool trick from Protracker and Fast Tracker is possible, and they're cheap as hell: timing and pitch-based with little or no extra DSP loops. E.g. if you want 'free' compression, you just use per-row vol commands to duck one instrument. That's how
December 14, 2025 at 4:02 PM
to true peak as I can afford for the master buss, but lookahead is always at a minimum because we can't add too much latency on Android (which has enough to begin with). Lots of effects use precalced LUTs for sines and coeffs, where that makes sense (ie if saving cycles is worth hammering mem reads)
December 14, 2025 at 4:02 PM
All the DSP effects built into Metron are custom - not because there's anything wrong with #UE5 factory DSP, but because I needed to cut loads of corners to optimise. Reverb is a PS1-style half-samplerate thing that sounds...characterful, rather than realistic. I have a limiter that does as close
December 14, 2025 at 4:02 PM
I prob over-optimised Metron too early, but it paid off when perf savings meant we could add other features in the game, like decent car mirrors (rare in VR!). Main stumbling block was struct tearing across threads causing dropped notes, but on avg my Metron songs use ~8% of Quest audio CPU budget
December 14, 2025 at 3:51 PM
Argh <vicarious anxiety attack>
December 14, 2025 at 3:17 PM
But also I'm at the other end of the sausage factory, recording VO sessions and bulk exporting edits with what I hope is a robust naming convention. So inevitably when I ask why we're getting garbage out, it's because Past Me put garbage in...

Your SF BPs were very instructive though, so thanks!
December 14, 2025 at 3:08 PM
Hah yeah, that's the bit I hate - despite writing music systems that are basically spreadsheets, I'm allergic to spreadsheets in all other forms. So whipping up runtime queues and schedulers is sorta fun for me, whereas I'm always hoping someone else will wrangle the data - or make it easy for me.
December 14, 2025 at 3:08 PM
Nice! I wrote a dialogue+sub system for Transmission which was fortunately a monologue+sub system, since our Aidan-voiced character is the only one who got VO. I got away with it, *just*, but if it'd been any more complex a tool like this would've been perfect/essential.
December 14, 2025 at 3:00 PM
By the way, this printer worked on Windows 10 until a few weeks ago, when Microsoft’s vengeful final update completely destroyed the generic IBM graphics driver’s ability to work with my (and most other people’s) USB parallel adapter.
December 13, 2025 at 5:17 PM