Create, read, modify, and write SunVox files.
Project description
Overview of Radiant Voices
Part of the Metrasynth project.
Radiant Voices provides tools to create, read, modify, and write SunVox files. This includes project files ending in .sunvox, and module/synth files ending in .sunsynth.
SunVox data structures and APIs
Radiant Voices has nearly 100% coverage of all data structures used by SunVox files, exposing a “Pythonic” API for creating and manipulating those structures.
Using the API, you can do things not possible with the standard SunVox interface or the SunVox DLL, such as:
parametric synth/module design
structure and complexity analysis
automatic graph layout of modules
and more…
Our collective imagination is the limit!
Interaction with the SunVox DLL
By combining Radiant Voices with sunvox-dll-python, one can also create alternative editing and performance tools to use alongside, or instead of, the official SunVox app.
The two packages work together to provide convenient high-level APIs for loading project and module objects directly into playback slots managed by the SunVox DLL.
Some possibilities might include:
alternative project editors
generative sound design using genetic algorithms
network-enabled performance tools
What can you come up with?
SunVox file format documentation
Radiant Voices intends to serve as a de facto source of documentation about the format, as there is currently no official documentation for the SunVox file format.
The interpretation of SunVox file formats is based on a mix of “clean room” style inspection of what SunVox writes to disk when a file is edited a specific way, as well as the most recent BSD-licensed source code for the SunVox audio engine.
Requirements
Python 3.5
OS supported by sunvox-dll-python, if working with SunVox DLL.
GraphViz, if you want to make use of module auto-layout features.
Quick start
The “hello world” example will construct a SunVox project in memory containing a FM module connected to the Output module. It will then load it into the SunVox DLL and send a single note-on command to the FM module:
$ pip install radiant-voices $ git clone https://github.com/metrasynth/radiant-voices $ cd radiant-voices/examples $ python helloworld.py
About SunVox
From the SunVox home page:
SunVox is a small, fast and powerful modular synthesizer with pattern-based sequencer (tracker). It is a tool for those people who like to compose music wherever they are, whenever they wish. On any device. SunVox is available for Windows, OS X, Linux, Maemo, Meego, Raspberry Pi, Windows Mobile (WindowsCE), PalmOS, iOS and Android.
Changelog
0.1.0 (2016-11-09)
Initial release.