As a young childhood Amiga user, I have not only been obsessed with pixel fiddling, but also with speech synthesis. Hearing your home computer speak surely was a “Wow!” moment for me! (The very first one being the ability to control what was shown on the family TV, with the Commodore Plus/4 – magic!)
I fondly remember cooking up little “audio dramas” in AmigaBasic which let you control all the speech synthesis parameters: I would set up a robotic dark voice on the left stereo channel, a quirky high-pitched counterpart on the right, and write some funny dialogue between the two.
Twenty years later, I’ve tried to incorporate speech synthesis into my own demoscene productions every now and then:
- The A-Word in 2012
- Lütt un’ Lütt in 2013 (sampled, boo!)
- karl in 2016
- fam in 2020
For most of those productions, I would start off with an adaption of Tiny Speech Synth by stan_1901 and work from there. Now I’ve stumbled upon another simple synthesis approach, and I’ve built a little testbed around it:
- Ugly speech toy
WebAudio/Javascript port of Ugly speech synthesis in C by Ted Burke. Oooooh, eeeeeh!
Not sure what I will use this for (well, I have an idea), but this might have the potential for a compact 68000 assembly implementation. Instead of using a sawtooth oscillator, a filter, and three separate formant frequencies it works by approximating the spectrum’s shape with a small set of harmonic parameters:

// Pseudo-code version of speech-processor.js let position = ... // sine position depending on // base frequency and sample rate let harmonicsAmount = [ 0.1, // amount of fundamental frequency 0.25, // amount of frequency * 2 1, // amount of frequency * 3 0.15, // amount of frequency * 4 ... ]; // For each sample: let value = noise() * noiseAmount; for (i = 0; i < harmonicsAmount.length; i++) { value += sin(position * (i+1)) * harmonicsAmount[i]; } value = value / (harmonicsAmount.length+1);
Of course, the phonemes this approach can produce are somewhat limited, as this was made as a toy program for students that is a bit more exciting than printing “Hello, world”. But it already produces recognizable vowel sounds, and that may be enough for… something funny. Give it a go!
There’s a new resource I will provide to anyone who’s interested in learning all about the demoscene from now on – if they’re speaking German, that is. Begone, dry old (and often challenged) Wikipedia page! Welcome, Politik & Kultur!
In „Politik & Kultur“, der Zeitung des Deutschen Kulturrates, ist ein riesiger Demoscene-Themenschwerpunkt in Ausgabe Nr. 7-8 | 25 erschienen – 14 Seiten voller Essays, Interviews und Screenshots, im Hintergrund tatkräftig unterstützt von Deadline-Mainorga v3nom (mit dem es auch ein Interview gibt). Absolute Leseempfehlung!
Das Beste: Die Ausgabe ist direkt als PDF verfügbar!
This might look like a scene from the Blair Witch Project reproduced by an AI bot, with all the grain and wobbling going on:
But that’s how my not-too-old phone recorded it! I’m pretty sure it was marketed with the promise of awesome low-light recordings back then… At least it was sensitive enough to catch this little blinking fella:

Isn’t it cool how much of an effect a single pixel can have? Especially when you don’t have the bandwidth to update the whole screen all the time!
Two pixels already make for some compelling storytelling! This glow bro was later joined by another luminescent friend – it was moving. And just as with demos and emulators, seeing the real thing live is so much more exciting than a recording!
So… This was the latest episode of “Geeks in Nature”. Join me next week when I watch a cloud.
Well, of course they are, because it’s fun! :) In this case, “they” is Nova 2025, the demoparty. It is taking place right now in Budleigh/UK, and I had totally forgotten they have a dedicated Teletext competition until I turned on the stream.
My last remote entry for Nova (and the subsequent inquiry what happened with it) somehow got lost in 2023, but I would love to do a little Teletext piece again. Maybe enter something for Flashparty in October? I seem to have skipped Flashparty 2024 after sinéad in 2023, so it’s about time…
Anyhoo – seeing all the nice Teletext entries on the Nova stream was great!

Compressing each party theme into a 512 byte Amiga intro, that is. (Too bad the years aren’t consecutive…) A pouet thread made me look up my past productions for Nordlicht – a welcome procrastination while I should be thinking about ideas for this year’s edition in a few weeks…
Party theme | Production |
---|---|
Fire brigade 2018 Notice the little fire truck on the website! :) |
512 Byte Brigade A minimalist cover of the Game Boy Advance invitation. The first 512 byte competition at Nordlicht! ![]() |
In the beginning, there was a floppy disk 2019 The trophies were exceptionally nice that year. ![]() |
spoke As in “Thus Spoke Zarathustra”. Very dirty code, but a nice 2001 Space Odyssey mood and a perfect fit for the party theme. ![]() |
Ahoy, landlubbers! 2022 Finally, a pirate theme! |
Arrr512 You can never go wrong with a huge skull and a bit of Monkey Island’s theme. Oy! ![]() |
Nordlicht Express 2023 Choo-choo! |
hypotrain I like trains, and I like Rebels’ legendary subway demo – let’s do a 512 byte adaption! ![]() |
Crime Scene – Do Not Cross 2024 This party theme was lovingly put to life at the party place. And there were Tatort-themed trophies! ![]() |
B.S.I. – Byte Scene Investigation I kinda hit the limits of story-telling in 512 bytes here. Scary! ![]() |
Sooo… This year’s headline is “Neon Prime” – galactic, sci-fi, space-opera!
I might have gotten the spark of an idea while writing this. Sokath, his eyes uncovered!