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 - each of my 3 entries scored gold in their respective categories (ZX beeper, Channel F, TED/Plus4).


November 24th, 2016

New ZX Beeper Engine: wtbeep

I swear, this is my last beeper engine for 2016. In the last days I got bored and started throwing random code at that “fast” generator I’ve been using recently. At some point things actually got interesting, and I started to get some sounds that normally would require some sort of digi/PCM playback. And thus, wtbeep was born. In terms of capabilities, it’s somewhere between Tritone, BetaPhase, and qaop. There are 32 different realtime-generated “waveforms” in total. I could probably have added more, but 32 was the maximum number I could squeeze into one word next to a 10-bit frequency divider. Again, I’m only providing the source code, since I don’t have time to make a converter at the moment.

November 24th, 2016

Talking About HoustonTracker 2

Gave a short presentation on HoustonTracker 2 at SteemFest in Amsterdam a couple of weeks ago, and in the meantime a recording of my talk has found its way onto Youtube. Check it out if you’d like to hear me rambling about calculator music for ten minutes.

November 21st, 2016

New ZX Beeper Engine: povver

Back when I wrote the music driver used in HoustonTracker, I kept getting mysterious dropouts in the sound when two channels were playing the same note. Eventually I discovered that this was due to the channels running with an inverted phase, effectively cancelling out each other. A bit more experimentation revealed that this phenomenon could actually be used as a crude form of volume control. Alone Coder and I tried to implement this technique on the Spectrum, but we never quite managed to get it into a usable state. Now, with the recent discovery of a faster tone generation technique, I couldn’t resist doing another test implementation. It still suffers from much of the same problems that the earlier routine had, namely that it is quite noisy. That nonwithstanding, here’s the source code, if you want to take a look.

October 19th, 2016

MDAL - First Public Beta

The Music Data Abstraction Language (MDAL) project has been taking up a lot of my time in the past two months, and after three days of hardcore bugfixing I finally advanced it to a point where I can show off a working beta. The whole thing is still at a very early stage though, so don’t expect to get much use out of it yet.


October 15th, 2016

New ZX Beeper Engine: BetaPhase

A rather unassuming three-channel engine sound-wise, BetaPhase is in fact a little technical revolution. It features a never-before used tone generator technique which is faster than any other pulse-interleaving method. As the name might suggest, BetaPhase is primarily intended to provide a framework for testing the capabilities of the new technique. For the time being, BetaPhase implements an original idea proposed by Shiru, which is to use phasing to control the duty cycle (duty threshold comparison wouldn’t work). It also uses scalers, something proposed by zilogat0r a while ago, though I’m pretty sure he didn’t imagine them quite the way they are implemented here. Long story short, BetaPhase is available as source code only, and may be subject to frequent changes.

September 23rd, 2016

New ZX Beeper Engine: PhaserX

While playing around with Phaser-style synthesis, I came up with some fresh ideas centered around modulating the duty cycle in sync with the tone generators. PhaserX is essentially a testcase for these new concepts. It’s two channels only, but it has a load of configurable parameters. No XM converter again, source code on github as usual. I’ve also done a little write-up on the techniques used.