GPG key transition statement 2016

For easier verification, the following statement is also reachable here. -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I am transitioning my GPG key to a new key that is only stored on hardware tokens and airgapped systems. The old key will continue to be valid for some time, but I prefer all new correspondence to be encrypted with the new key. I will be making all signatures going forward with the new key.

Numerically controlled oscillators

In my latest project I’ve been using numerically controlled oscillators to generate the waveforms. In this post I want to explain the motivation and theory behind them, with a few comments specifically about audio synthesis.

6-channel ATMega328 MIDI Synthesizer

A few days ago I held an audio workshop for our FabLab with Arnulf and Stephan. During the preparation I learned about numerically controlled oscillators and implemented a simple one as a demonstration of producing clean sines (after some filtering) with an 8-bit processor. I couldn’t stop myself from expanding it a bit after the workshop. Now it has 6 channels, some basic volume control (and transitions), and supports reading MIDI commands - but for now only TONE ON and TONE OFF. :)

Automatic Die Tester

Good randomness is important, so I built a die tester: A stepper controlled by an Arduino spins a transparent box containing the die I want to test, a camera takes a picture that is transferred to my PC, and a python script uses openCV to determine the side of the die that faces the camera. The box was made using BoxMaker and the local FabLab’s laser cutter and then connected to the stepper motor using a little 3D-printed plastic cross thingy (and lots of duct tape).

Added USB MIDI code

I’ve just uploaded the code for my first USB project to Github and updated the project page. :)