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.

September 2nd, 2016

HoustonTracker v2.20 Released

Time for a HoustonTracker update! It’s got more effects, it’s got more fine-grained speed control, and best of all, it ships with a new savestate manager utility which can import tracks from older versions. Check out this tutorial video on Youtube for an overview over the latest feature additions. Got a new demo tune as well, though I made this one at a rather early stage of development, hence it actually doesn’t demonstrate most of the new effects.