November 20th, 2018

New ZX Spectrum Beeper Engine: StringKS


Wow, a whole year has passed without me writing a new 1-bit driver! Time to rectify that situation. StringKS is based on an idea that I’ve been toying around with for some time. Since “Synthesis” was released on C64 I’ve been wondering: Can the ZX beeper do physical modelling synthesis, too? And, as you might have guessed, I’m not accepting “no” as an answer. So here we are. It’s a two-channel engine with Karplus-Strong inspired string synthesis. Extending the original Karplus-Strong idea, StringKS can operate on various source data, including noise, rectangular, and saw waves. For most generators, 3-bit volume control is supported. In addition, you can also play PWM samples on one of the channels. The implementation is far from perfect: frequency counters are 8-bit only, and on high notes decay will kick in very quickly, leading to rather short sounds. Still, I think it’s a technique worth exploring further.



November 20th, 2018

Singing Mainframes: An Unofficial History of the Dawn of Computer Music


Held a talk on early computer music at the Vintage Computing Festival Berlin last month. The focus is on lesser known and forgotten musical experiments of the early digital age, covering a timespan from the rise of the mainframes end of the 1940s to the dawn of the minicomputers in the mid-60s. A recording of the talk is available on the CCC Media Library. Unfortunately sound and video examples had to be removed for licensing reasons, though you can find links to all the examples at the 1-bit Music Timeline.



May 14th, 2018

VA: Warm Data


Released a droney, experimental ZX beeper track on Bit Rot’s Hello World compilation titled “warm data”. Very proud to be part of such a fantastic line-up, including high-profile artists such as NES legend Neil Baldwin, my favourite drone composer tMt, Amiga glitch master Joss Manley, robotic overlord robot arm (a joint venture by Goto80 and Jacob Remin), and 1-bit forum’s head of operations byte.clone, among others. If you’re into glitchy stuff and weird sound experiments, this collection will be right down your alley. As a bonus, the album also includes some executable stuff (including my track) and a video by Rachel Meyers. Big thanks to Mark Lyken for putting this together.



April 26th, 2018

In nihilum reverteris Apple II OST


Composed the title music for the Apple II port of Yerzmyey’s new interactive novel, “In nihilum reverteris”. You can download the game for free, or check out the music on my soundcloud.


After considering a number of options, I ended up using the Electric Duet 1-bit music driver for this project. Developed by Paul Lutus in 1980, it may be the world’s first implementation of the pulse interleaving technique. The author released the source code a few years ago, along with a very enlightening write-up. The original Electric Duet editor already has a pretty good workflow and feels surprisingly modern and tracker-like for a program released in 1981. However, in the end I did opt for writing an XM converter for the sake of efficiency. Overall, I have to say I quite enjoyed my first foray into Apple II territory, not least thanks to the patient help of cybernesto, who did the code for this project.



January 13th, 2018

New Year, New Doppelplusungut, New TIA Music Driver


Happy New Year, everybody! Time for a little write-up on what I’ve been up to lately. As tradition holds, me and my collegue spent the month of December working on a new Doppelplusungut album. Actually this time marks the 10-year anniversary of our collaboration, so to celebrate the occasion, we ended up releasing a “Best of” our drone works along with the regular album. Highlights this year included dat zekt in some hilarious attempts at playing the trumpet, and writing an Audacity plug-in - without any API documentation nor knowledge of the Nyquist language. I’m telling ya, I was scratching that good ol’ head so hard!


Also I successfully participated in some music competitions again - second place in Silly Venture’s Atari VCS compo, and first place at DiHalt Lite for my beeper track made with Shiru’s new Squat engine. For the VCS track, I actually wrote a new TIA music driver. The gist with that one is that it fixes the ubiquitous detune problem by extending TIA’s native 7-bit pitch dividers to 16-bit. For those who want to try it out, an XM converter is included in the download package. By the way the converter is written in Rust, and uses xmkit, my brand-new (and probably super buggy) library crate for extracting information from XM files.


Last but not least, a service announcement - I’m planning to do some under-the-hood changes to this website’s framework in the coming weeks, so some sections/features might be temporarily broken.



September 12th, 2017

Introducing Bintracker


After ten months of silently slaving away on the keyboard, the time has come to reveal my latest creation. Lo and behold: bintracker, an open-source, cross-platform music editor for low-level sound routines, and a visual front end for the MDAL project.


Currently, bintracker supports just a few of my recent ZX Spectrum beeper engines, including betaphase, PhaserX, PhaseSqueek, and the brand-new, triangle wave generating Pytha engine, which I silently released a couple of months ago. In the future, I hope to add many more ZX beeper engines, as well support for other platforms such as the TI graphing calculators.


Almost everything in bintracker is written from scratch in modern C++, including the (presently not very accurate) ZX Spectrum emulation. The only external code comes from Allegro5 serving as a portable graphics library, and pugixml which takes care of parsing MDAL configuration files. I chose Allegro5 over SDL2 simply because compiling the minimal SDL2 example already gave me a dozen memory leaks or so. Probably none of these posed any serious issue, but I still prefer to not burden myself with the technical debt of third parties. Also, while Allegro5 does have some issues on its own, the clean and well-designed interface and outstanding documentation are a huge plus in my book.


Well, what are you waiting for? Download your free copy of bintracker today and get trackin’! And please let me hear about any bugs you find as well as your feature requests on the 1-bit Forum or through the issue tracker on github.



March 7th, 2017

2017 Q1 Updates


It’s been quite a while, so I guess it’s about time for a roundup of things I’ve been up to lately.


As usual, I spent the end of 2016 with my mate DJ dat zekt, recording a new album for our trash-punk project Doppelplusungut. It was pretty tough work this time, but in the end it was worth it. Highlights included a guest appearance by Fido from Cirucs Elawuti and his singing saw, and finally using our Busch microtronic 2090, an educational 4-bit computer from the early 80s, which we transformed into a gate sequencer with some TTL logic and some software coded on paper using the 2090’s pseudo-assembly language (source code). As usual, the album is exclusively available on CD-R. Drop me a mail if you want a copy.


In January, I quite successfully participated in the annual Winter Chip competition at BattleoftheBits.org - each of my 3 entries scored gold in their respective categories (ZX beeper, Channel F, TED/Plus4).

read more...