do cps (86/60/2) d9 $ midicmd "midiClock*48" # s "midi" d1 $ note ((scaleP scalePattern $ off 4 ((+ 2 ).slow 2) $ off 1 (inversion.slow 2) $ off 3 (inversion.slow 3) $ off 1.5 ((+ 2).rev.slow 2) $ generateMelodicSeed ))#s "[pe-gtr:10,midi]" #gain 1 #orbit 0 #midichan 1 do cps (86/60/2) d9 $ midicmd "midiClock*48" # s "midi" d2 $ note ((scaleP scalePattern $ (rotR 3.5) -- $ inversion \n $ (+ slow 8 "x" <~> ((0.5 ~>) generateMelodicSeed)) -- $ slow 2 \n $ generateMelodicSeed ) - 12)#s "[pe-gtr:9,midi]" #gain 1.2 #orbit 1 #midichan 2
index > /home/xinniw/Documents/garden/Sunvox.md

Sunvox

Sunvox is a DAW software created by Alexander Zolotov that uses a combination of tracker and timeline metaphors for organizing musical events in time. It uses a modular metaphor for audio where the user draws a graph of connections between sound generators, effects, and outputs. It is unusually efficient and portable. Versions of sunvox can run on anything from palm pilots to laptop computers. Sunvox exposes a C api that can be used to embed sunvox composed music into games. These compositions can take advantage of some generative/random elements embedded in the sunvox tracker.

As sunvox is closed source it is hard to speculate on the specific implementation decisions that make it so portable and efficient. However we can infer some information from UX decisions and through inspection of sunvox generated files.

Graceful degradation

Sunvox provides a feature for many of its sound modules to be run in Low Quality [LQ] or High Quality [HQ] modes. It also allows unusually low fidelity settings in its settings menu. Special builds of the software providing only low quality modules can target low power devices. Projects created on low power devices can be shared with high-powered devices through shared implementation of low quality modules and a shared file format. If a project is started in high-quality mode and moved to a low power device, it will gracefully degrade to a level of quality that is more practical for the smaller device.

Custom graphics using old game engines

When you inspect sunvox song and preference files it becomes clear that Zolotov is using the game engine SDL to implement the laptop and mobile versions of sunvox. SDL is a lightweight game engine that is famous for being used by Valve for its half-life games in the early 2000's. It has been continuously maintained and still provides a fairly unpessimized cross-platform access to graphics and audio layers of its host operating system.

Zolotov as Artisan - Sunvox as Community

Zolotov is the sole maintainer of sunvox. Though the software is closed source, Zolotov provides it for free or (in the case of mobile devices) for nearly free. (The cost of the mobile versions is likely due to the fees extracted by Apple and Google respectively). Zolotov maintains crowdfunded patronage through his website and attacts a vibrant community of users who pitch in to help the project advance. This assistance is sometimes financial and sometimes in the form of donated music, and presets - many of which are packaged with the distribution of the software as example songs. Zolotov maintains a regular song contest where he compiles compositions from this community and publishes them alongside generated visualizations on Youtube. Winners are typically included in new releases of Sunvox. Zolotov also maintains forums that provide a space for community members to virtually gather. These forums contain discussions of music, swapping of techniques and patches, as well as ongoing personal relationships and friendships. The forums also provide an avenue for sunvox's users to lobby for features that they would like to see in future versions of the software. Many of these requests receive personal attention by Zolotov.


index > /home/xinniw/Documents/garden/Sunvox.md