Ah, SunVox. It's like an instrument that Alexander Zolotov (AKA NightRadio) made for his own (excellent) music, and has generously shared with the world, creating a virtuous cycle of refinement in both his music and the instrument.

I can't say enough nice things about SunVox. When I first saw it I was looking for trackers, and didn't spend much time with it. The second time I was looking for modular synthesizer apps, and that's when I fell in love. SunVox was my "gateway drug" to deeper learning about audio synthesis and processing techniques.

You can create entire compositions and useful effects processors with SunVox using only the modular synthesis parts of it. It's very tracker-oriented, and you can do lots of tracker things with it, but don't be fooled into thinking it's a tracker. It HAS a tracker, and that is a strong part of its history and common usage, but it is much more than that. The modular interface is very approachable and powerful once you get accustomed to some of the fundamentals.

"MetaModules" are one of its secret weapons. They let you package an entire SunVox project into a module, and expose an interface of up to 96 controllers, along with audio and note I/O. They can be arbitrarily nested… MetaModules all the way down. Besides sharing full compositions, MetaModules are one of the primary ways people share their creativity in the SunVox community. One prolific producer just released a collection of 236 modules built over the last four years. [1]

Heck, it's even Turing-complete. Someone implemented a CPU using SunVox! [2]

SunVox has a library version that lets you embed the audio engine into your own app [3] and there's even a WASM version. It's particularly well-suited for games, because you can control up to 16 independent SunVox instances at a time (to separate music and SFX for example) and it will mix them together.

During my own explorations of SunVox I reverse-engineered and documented the file format [4] and wrote a library called "Radiant Voices" [5] for Python and TypeScript that lets you read and write SunVox files. If you read/write to specific filesystem locations, you can effectively hook into the SunVox clipboard, making it possible to write auxiliary apps that smoothly integrate with SunVox.

One of my favorite experiments combining those techniques was to create a "MetaModule Construction Kit", which lets you use Python to create and manipulate MetaModules parametrically, experiment with them using MIDI and an alternative UI, then copy them over to SunVox itself once you are happy with the resulting MetaModule. [6]

(Sadly, I don't find myself having enough time as of late to keep those side projects up-to-date with the latest versions of SunVox. YMMV if you decide to explore them. Contact me if you want to chat about them at all, especially if anyone's interested in collaborating to help bring them back in sync with the latest version of SunVox.)

I could go on and on singing praises about this software (and other apps created by the same author), but I'll spare both the reader and myself… for now. :-)

[1] https://vekonvekon.itch.io/acheney-modules

[2] https://logickin.net/logicprocessing/the-most-ambitious-proj...

[3] https://warmplace.ru/soft/sunvox/sunvox_lib.php

[4] https://radiant-voices.readthedocs.io/en/1.0.0-dev/sunvox-fi...

[5] https://github.com/metrasynth/radiant-voices/tree/sunvox-2.0...

[6] https://www.youtube.com/watch?v=Ckgn4xGt8bc