I've picked up work on Nautilus again. My goal for it is to create a usable VSTi platform for writing 1-bit tracks with an instrument editor that allows for flexible waveform manipulation, so each voice can have its own character. I'd also like to stack a lot of channels on top of each other and still keep it listenable.
The basic idea is to have something to simulate a beeper in a DAW, but also allows you to go beyond that.
Shiru has a nice write-up for the first beta build (which you can download) here:
http://shiru.untergrund.net/1bit/pivot/entry.php?id=13
Although it worked ok-ish, there were some things I wasn't satisfied with.
The build allowed for about 4 or 5 simultaneous voices before it degraded to noise. Since I have the power of a DAW behind it, I wished for something more; how cool would it be to have 15 voices and drums play in 1-bit and it'd still sound good!
This is tricky. The nature of 1-bit waveforms makes stacking voices complicated. You either end up with a complete ON state, or noise if you make every other voice substractive. Also, I want to maintain the instrument character of each voice, which includes PWM; once you have many voices, the PW of each has to be reduced, which leaves less space for that and thins the sound. I started to experiment with dynamic PW size algorithms, depending on pitch, number of voices, total average of ON states and so on.
This took a lot of time. I tested various setups for quality of sound, based on binary logic, subtractive algorithms, MUXing.. you name it. Eventually I grew frustrated and moved on to other things. Recently, I hit a slump with writing music and started to play with Synthedit again. By chance I stumbled over a OSC setup that created a pleasing dynamic PW on voices, at which point I decided to pick up work on Nautilus again. I made some modifications to the auto-arp to make it fit better.
Here's a mp3 render of a 11 channel MIDI. Multiple voices on the same channel are auto-arpeggiated. This test doesn't have instruments (no detunig, PWM, vibrato, portamento or anything). Keep in mind that the MIDI file wasn't made to be played like that, so there are a few annoying notes. The main test here was to have about 30 voices playing in 1-bit without having it dissolve beyond recognition. (Check your volume, it's a bit loud)
Next thing to do is to CPU optimize the core, and then find a workable interface solution for instruments.
Also, sorry for the blog post, but usually I keep better at projects once I made some kind of public commitment