Music For Microcontrollers
I've resynthesized my microcontroller hits from 2007–2010 in high fidelity. Enjoy crisp alias-free renditions of these songs on your favourite streaming music platform, or grab the mp3 files!
Through the years, I've composed a number of tunes for microcontrollers—those tiny computers that run the world embedded inside elevators and washing machines. Some of the songs are demo soundtracks (Craft, Phasor, and Turbulence), and some are standalone tunes (Hardware Chiptune Project and Power Ninja Action Challenge).
Listen now on Spotify!
In each of these projects, I designed the music player from scratch, but always with the same basic structure: Sound was generated by a limited number of oscillators, implemented in software under a tight clock cycle budget. Depending on the project, these oscillators would support some combination of fixed or variable waveforms, volume controls, filters, and even FM synthesis.
The oscillator parameters were updated by a playroutine, called periodically about 50–100 times per second. The code for the oscillators themselves would run more often: The output sample rate could be anything from 48 kHz down to about 15.6 kHz, depending on the particulars of each project (often related to video signal timing). Finally, the computed samples were converted to analogue voltages, sometimes with as little as six bits of resolution.
Downloads
I appreciate when you listen through paid streaming services, but I'm also happy to provide mp3 files for that exquisite offline experience:
01. Hardware Chiptune Project | 1:41 |
02. Craft | 3:33 |
03. Phasor | 4:16 |
04. Power Ninja Action Challenge | 3:35 |
05. Turbulence | 5:11 |
The computational power of a microcontroller is limited, so the oscillators had to be implemented in the simplest way possible, using wrapping counters updated at the sample rate. This efficient but crude approach leads to aliasing—a more or less audible background hiss of unwanted disharmonic frequencies. In the original context of these releases, it was enough of an achievement to get any music at all out of the tiny chips. But on streaming platforms like Spotify and Apple Music, where the tunes are rubbing shoulders with professionally mastered material, the same noise level would have been unbearable.
So I dug up the old source code for each project and ported it to run on a desktop computer, keeping the playroutine and song data intact but increasing the sample rate and bit depth. Then I replaced the oscillators with band-limited versions that need more CPU power but produce clean alias-free 8-bit waveforms. Have you ever redecorated part of a room only to find that the rest suddenly looks shabby in comparison? With most of the noise gone, I was now getting annoyed by faint clicks caused by small incremental volume changes, so I also had to implement delayed volume control with zero-crossing detection. Then I added final touches in the form of subtle panning and level adjustments. In the end, I spent a lot more time on this cleanup than I had anticipated, but after hearing the result I'd say it was well worth it!
Original project pages
If you like, you can revisit the original recordings (or watch the presentation videos) and compare the sound quality. Phasor is a particularly egregious example.
The hardware chiptune project
Normally, when you create a chiptune, you start with an existing chip (such as the SID chip or the YM2149) and write a tune for it. We decided to start from scratch, and create a chip and a tune.
Phasor
Phasor, like Craft, is a demo running on a custom minimalistic ATmega88-based demo platform. But it generates a composite video signal (PAL) instead of a VGA signal.
Power Ninja Action Challenge
Here's another ATmega88-based hardware chiptune, this time composed for Little Computer People 2009. It was my contribution to the "other music" compo, and won the 1st place.
Turbulence
Turbulence is the successor of craft. It's a microcontroller demo based on the Propeller chip from Parallax. External I/O consists of stereo sound (at line level) and a VGA signal.
Posted Wednesday 19-May-2021 19:03
Discuss this page
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
Thu 20-May-2021 00:09
Thu 27-May-2021 04:17
Thu 27-May-2021 16:20
Sun 30-May-2021 14:19
Mon 5-Jul-2021 01:32
Tue 17-Aug-2021 16:16
The remastering is really nice overall and the reduced noise and clicks are really a plus. I do kind of miss the old triangle bass where the (what I guess is) quantization noise gave it a bit more texture like from the NES's soundchip.
Either that or I'm just so used to the old ones that I just don't like difference at all :P.
Amazing compositions anyway as usual. Would buy an actual EP if it became available.
P.S. Greetings from an wind band colleague from your time as a drummer/percussionist in "Praktorkestern". Still remember your piano solo in the Earth Wind and Fire medley.
Thu 28-Oct-2021 01:07
Thu 28-Oct-2021 01:21