rus
SunVox - Multiplatform Modular Music Creation Studio
User Manual


Introduction to SunVox
Installation and system requirements
Graphical user interface (GUI) description
Keyboard shortcuts
Synthesizers, filters and effects
SunVox song structure
Pattern editor
Pattern editor: standard effects
Configuration

This manual is not yet complete. But i working on it now. Please send any your comments and issues to nightradio@gmail.com. Thank you for your understanding.



Introduction to SunVox

SunVox is a small, fast and powerful music sequencer (tracker) with modular synthesizers. It is a tool for those people who want to compose music anywhere. SunVox available for desktop PC (Windows, Linux, Mac OS X), pocket computers (Windows Mobile, PalmOS, iPhone/iPad) and netbooks.

Key features:
  • Modular interface.
  • Highly optimized synth algorithms.
  • Flexible architecture: SunVox can working on variuos devices. For example: PDA with slow CPU - 16bit sound (fixed point arithmetic); or big PC with powerfull CPU: 32bit sound (floating point arithmetic).
  • Supported platforms: Windows, Linux (x86/x86_64), Mac OS X, PalmOS, WindowsCE (Windows Mobile), iPhone/iPad.



Installation and system requirements
  • LINUX
    • System requirements:
      * Pentium processor or higher;
      * 256 mb of RAM or higher;
      * Any Linux distribution (x86 or x86_64);
      * SDL library (version 1.2 or later);
      * ALSA.
    • Unpack archive with SunVox.
    • Run sunvox.
  • WINDOWS
    • System requirements:
      * Pentium processor or higher;
      * 256 mb of RAM or higher.
    • Unpack archive with SunVox.
    • Run sunvox.exe
  • MAC OS X
    • System requirements:
      * Mac OS X Leopard (10.5) or higher;
      * 1 gb of RAM or higher.
    • Unpack archive with SunVox.
    • Run sunvox.
  • WINDOWSCE (WINDOWS MOBILE)
    • System requirements:
      * ARM CPU (200 mHz or higher).
    • Copy sunvox.cab to your mobile device.
    • Install it.
    • Open Windows start menu -> Programs. Click on SunVox.
  • PALMOS
    • System requirements:
      * ARM CPU (200 mHz or higher);
      * PalmOS 5.0 or higher.
    • Unpack archive with SunVox.
    • Install sunvox.prc to Palm.
      FOR T|T, T2 and ZIRE71 USERS: Please, install FHR (Fargo Heap Resizer) before SunVox running. FHR page: http://fanoush.wz.cz/palm/fhr.html
    • Copy other files (examples, samples) to the flash-card.
    • Run sunvox.



Graphical user interface (GUI) description

SunVox GUI: main window

SunVox GUI: Play/Stop buttons



Keyboard shortcuts

Keys:Description:
SPACE - edit mode ON/OFF
q,w,e,r,t,y,u,i.... - playing notes
CAPSLOCK or '~' - note OFF
F1...F8 - set octave number
TAB - go to the next channel
SHIFT + TAB - go to the previous channel
CTRL + X - cut notes (pattern editor)
CTRL + C - copy notes / copy pattern(s) to buffer
CTRL + V - paste notes / paste pattern(s) from buffer
CTRL + A - select all notes / select all patterns
CTRL + T - select track (pattern editor)
CTRL + D - dublicate selected notes / clone pattern(s)
CTRL + I - interpolate value (pattern editor)
CTRL + U - interpolate velocity (pattern editor)
CTRL + N - create a new synth / create a new pattern
CTRL + R - randomize synth controllers (sound network)
SHIFT + DELETE - cut
SHIFT + INSERT - paste
SHIFT + '+' - transpose selected area up
SHIFT + '-' - transpose selected area down
SHIFT + UP/DOWN/LEFT/RIGHT - selection
SHIFT + MOUSE MOVING - synth link/unlink
CTRL + O - load song
CTRL + S - save song
CTRL + B - save song to BACKUP.sunvox
F9 - play
F11 - play pattern
F12 - stop




Synthesizers, filters and effects

Some synthesizers has the "Mode" parameter with following possible values:
0. HQ - High Quality (stereo). Linear interpolation
1. HQmono - High Quality (mono). Linear interpolation
2. LQ - Low Quality (stereo) for devices with slow CPU
3. LQmono - Low Quality (mono) for devices with slow CPU
4. Cubic - High Quality (stereo). Cubic interpolation

FM Synthesizer

This synthesizer is based on frequency modulation. It working on internal sampling frequency: 44100 Hz.
Abbreviations: C - carrier; M - modulator.
Controllers:
  • C.Volume - carrier volume;
  • M.Volume - modulator volume;
  • Panning;
  • C.Freq mul - carrier frequency multiplier;
  • M.Freq mul - modulator frequency multiplier;
  • M.Feedback - modulator feedback;
  • C.Attack - carrier attack;
  • C.Decay - carrier decay;
  • C.Sustain - carrier sustain;
  • C.Release - carrier release;
  • M.Attack - modulator attack;
  • M.Decay - modulator decay;
  • M.Sustain - modulator sustain;
  • M.Release - modulator release;
  • M.Scaling - how modulator volume depends on note number;
  • Polyphony - how many notes synthesizer can sound at one time;
  • Mode:
    • 0 - High Quality. Stereo. Linear interpolation of envelopes;
    • 1 - High Quality. Mono. Linear interpolation of envelopes;
    • 2 - Low Quality. Stereo. No interpolation;
    • 3 - Low Quality. Mono. No interpolation.
Generator

This synthesizer is for different waveforms generation.
Available local controllers: Type; Pan.
Controllers:
  • Volume;
  • Type - type of waveform:
    • 0 - triangle;
    • 1 - saw;
    • 2 - rectangle;
    • 3 - white noise;
    • 4 - "dirty" wave;
    • 5 - sinus.
  • Panning;
  • Attack;
  • Release;
  • Polyphony - how many notes synthesizer can sound at one time;
  • Mode: HQ/HQmono;
  • M.Release - modulator release;
  • Sustain: 0 - OFF; 1 - ON;
  • Phase modulation: 0 - OFF ... 256 - use input signal for phase modulation;
  • Duty cycle (only for rectangular waveform).
Kicker

Available local controllers: Type.
Controllers:
  • Volume;
  • Type - type of waveform: 0 - triangle; 1 - square;
  • Panning;
  • Attack;
  • Release;
  • Vol. Add - additional volume;
  • Env. Accel - volume&frequency envelope acceleration;
  • Polyphony - how many notes synthesizer can sound at one time;
  • Anticlick: 0 - OFF; 1 - ON.
MultiSynth

Translates music events to any number of synths.
Controllers:
  • Transpose;
  • Random - random frequency change.
Sampler

Supported file formats: WAV, XI, AIFF, RAW.
Available local controllers: Pan.
Controllers:
  • Volume;
  • Panning;
  • Sample interpolation: 0 - OFF; 1 - Linear;
  • Volume interpolation: 0 - OFF; 1 - Linear;
  • Polyphony - how many notes synthesizer can sound at one time.
SpectraVoice

This synthesizer is based on FFT and can be used for sound generation with different form of spectrum.
Minimal internal sample size: 4096 words. Maximal: 65536 words
Available local controllers: Pan.
Controllers:
  • Volume;
  • Panning;
  • Attack;
  • Release;
  • Polyphony - how many notes synthesizer can sound at one time;
  • Mode: HQ/HQmono/LQ/LQmono/Cubic;
  • Sustain: 0 - OFF; 1 - ON;
  • Sample size:
    • 0 - 4096 words;
    • 1 - 8192 words;
    • 2 - 16384 words;
    • 3 - 32768 words;
    • 4 - 65536 words;
  • Harmonic - number of harmonic (0 - 15);
  • h.freq - harmonic's frequency;
  • h.volume - harmonic's amplitude;
  • h.bandwidth - harmonic's bandwidth;
  • h.bandtype - harmonic's bandtype:
    • 0 - half of sinus;
    • 1 - square;
    • 2 - organ ver.1;
    • 3 - organ ver.2;
    • 4 - organ ver.3;
    • 5 - organ ver.4;
    • 6 - sinus.
DC Blocker

DC blocking filter.
Controllers:
  • Mono: 0 - stereo; 1 - mono.
Delay

Maximal delay is 1/64 second.
Controllers:
  • Dry - amount of original signal in output;
  • Wet - amount of delayed signal in output;
  • Delay L - delay length on the left channel; maximal delay - 1/64 second;
  • Delay R - delay length on the right channel; maximal delay - 1/64 second;
  • Volume L - volume of the left channel;
  • Volume R - volume of the right channel;
  • Mono: 0 - stereo delay; 1 - mono delay;
  • Inverse amplitude: 0 - OFF; 1 - ON.
Distortion (and amplifier)

Controllers:
  • Volume;
  • Type - type of distortion: 0 - limitation; 1 - saturation;
  • Power;
  • Bitrate: 1..16;
  • Frequency: maximum = 44100 Hz (8000 (hex) in pattern editor).
Echo

Maximal delay is one second.
Controllers:
  • Dry - amount of original signal in output;
  • Wet - amount of signal with echo in output;
  • Feedback;
  • Delay - delay length; maximal delay - one second;
  • Stereo: 0 - mono; 1 - stereo.
EQ

3Band equalizer.
Controllers:
  • Low;
  • Middle;
  • High;
  • Mono: 0 - stereo; 1 - mono.
Filter

State Variable Filter (Chamberlin version). Double Sampled.
Controllers:
  • Volume;
  • Frequency: maximum = 14000 Hz (8000 (hex) in pattern editor);
  • Resonance;
  • Type:
    • 0 - lowpass;
    • 1 - highpass;
    • 2 - bandpass;
    • 3 - notch;
  • Response - speed of changing the frequency, resonance and volume;
  • Mode:
    • 0 - double sampled stereo;
    • 1 - double sampled mono;
    • 2 - low quality stereo;
    • 3 - low quality mono;
  • Impulse - frequency, that will be set immediately; after setting frequency will return to its previous value smoothly (according to value of the "Response" controller);
  • Mix: minimal value - output=input; maximal value - output=filtered input.
Flanger

Controllers:
  • Dry - amount of original signal in output;
  • Wet - amount of signal with echo in output;
  • Feedback;
  • Delay - delay length; maximal delay - 1/64 second;
  • Resonance; use low values for smooth delay changing;
  • Vibrato speed;
  • Vibrato power;
  • Vibrato type: 0 - half of sinus; 1 - sinus;
  • Set vibrato phase.
LFO

LFO - Low Frequency Oscillation.
Controllers:
  • Volume;
  • Type: 0 - amplitude modulation (tremolo); 1 - stereo panning modulation;
  • Power;
  • Frequency;
  • Shape: 0 - sinus; 1 - square;
  • Set phase.
Loop

This effect is for repeating small pieces of input sound.
Controllers:
  • Volume;
  • Delay;
  • Stereo: 0 - mono; 1 - stereo;
  • Repeats - number of repeats in the loop.
Reverb

Reverberator and DC Blocking Filter.
Controllers:
  • Dry - amount of original signal in output;
  • Wet - amount of reverberation in output;
  • Feedback;
  • Damp;
  • Width;
  • Freeze: 0 - none; 1 - freeze mode;
  • Mode.
Vocal Filter

This filter was designed to simulate the vocal tract of a human.
Controllers:
  • Volume;
  • Bandwidth - bandwidth of formants;
  • Amp. add - additional value for amplitude of formants;
  • Formants - number of voice formants; maximum = 5 (best result);
  • Vowel: A...E...I...O...U (minimal value - A; maximal - U);
  • Character:
    • 0 - soprano;
    • 1 - alto;
    • 2 - tenor;
    • 3 - bass;
  • Mono: 0 - Stereo; 1 - Mono.
Vibrato

Controllers:
  • Volume;
  • Amplitude;
  • Frequency;
  • Mono: 0 - Stereo; 1 - Mono.



SunVox song structure

SunVox song structure

Several words about the hex numbers.
In mathematics and computer science, hexadecimal (also base-16, hexa, or hex) is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0-9 to represent values zero to nine, and A, B, C, D, E, F (or a through f) to represent values ten to fifteen.

Hexadecimal (hex) numbers:
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, 13 ... FF
and their decimal equivalents:
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ... 255



Pattern editor

Any pattern in the SunVox looks like this:
linech0 (channel 0)ch1 (channel 1)ch2 (channel 2) ...
000eventeventevent
001eventeventevent
xxx.........

event - some music event (something like a MIDI command).
Examples of events:
* event of turning note C5 on: C5 80 01 0000 0000
* event of turning note A5 on: A5 80 01 0000 0000
* event of turning note off: ==

As you can see, event contain several text/numeric fields.
Event format: NN VV SS CCEE PPPP
Lets see detailed description of each field in the event:
  • NN - note (C0,c0,D0,d0,E0,F0,f0,G0,g0,A0,a0,B0,C1,c1,D1, ... B9);
  • VV - velocity (00..80);
  • SS - synth number (00,01,02,03,04,05,06,07,08,09, ... FF);
  • CC - number of a controller (01,02,03,04, ... FF);
  • EE - standard effect:
    • 01 - slide up (portamento up; sliding speed = PPPP);
    • 02 - slide down (portamento down; sliding speed = PPPP);
    • 03 - slide to note (sliding speed = PPPP);
    • 08 - arpeggio (PPPP = SSTT; SS - second note increment; TT - third note increment);
    • 09 - set sample offset (offset in frames = PPPP * 256);
    • 0A - slide velocity up/down (PPPP = UUDD; UU - up speed; DD - down speed);
    • 0F - set playing speed (PPPP: 0001..001F - number of ticks per line; 0020..00FF - BPM);
    • 19 - re-trigger note after PPPP ticks during the line;
    • 1C - cut note after PPPP ticks in the current line;
    • 1D - delays the start of note until tick PPPP in the current line;
  • PPPP - parameter of a selected effect/controller (0000 - min; 8000 - max).
Velocity can be changed dynamically.
Example:
NN VV SS CCEE PPPP
C3 10 03 0000 0000
-- 20 -- 0000 0000
-- 30 -- 0000 0000
-- 40 -- 0000 0000
-- 50 -- 0000 0000
-- 60 -- 0000 0000
In this example velocity changed from 10 to 60.

Example of changing cutoff frequency (global controller) of filter from min to max value:
NN VV SS CCEE PPPP
-- -- 01 0200 0000
-- -- 01 0200 1000
-- -- 01 0200 2000
-- -- 01 0200 3000
-- -- 01 0200 4000
-- -- 01 0200 5000
-- -- 01 0200 6000
-- -- 01 0200 7000
-- -- 01 0200 8000
Cutoff frequency controller has number 2 in the filter.

Some synths has local controllers.
Local controller can be changed for separate sound on a separate channel.
Example: (changing local controller 2 in synth 1)
NN VV SS CCEE PPPP
C3 80 01 0200 0000  //Set local controller 2 to value 0000. Separate sound begins playing here
-- -- 01 0200 0001  //Set local controller 2 to value 0001
-- -- 01 0200 0002  //Set local controller 2 to value 0002
-- -- 01 0200 0003  //Set local controller 2 to value 0003
-- -- 01 0200 0002  //...
-- -- 01 0200 0001



Pattern editor: standard effects

01 - Slide up (Portamento Up). This effect will slide up the frequency of the synth being played on the channel by PPPP (one note = 40 (hex)) tones for every tick.
If a slide rate is not specified (PPPP is zero) then the last slide rate used on the channel is used again.

02 - Slide down (Portamento Down). This effect will slide down the frequency of the synth being played on the channel by PPPP (one note = 40 (hex)) tones for every tick.
If a slide rate is not specified (PPPP is zero) then the last slide rate used on the channel is used again.

03 - Slide to note. This effect will slide a note being played on a channel to a specified note. The parameter PPPP (one note = 40 (hex)) will states the speed at which a slide will occur.
If a slide rate is not specified (PPPP is zero) then the last slide rate used on the channel is used again.

08 - Arpeggio. This effect is usually used to simulate chords. This can also be used to produce a heavy vibrato.
Here is an example of this effect:
Note = C3; PPPP = 0407 (second note increment = 4; third note increment = 7)
this will attempt to produce a C-major chord. At the beginning of a line the C3 note is played, then at 1/3 of the way through the line the note is retriggered at E-3, 2/3 of the way through it is retriggered at G3, and at the beginning of the next line (if there are no new notes to be played on the channel), it is retriggered at C3 again.

09 - Set sample offset. This effect allows you to start a sample from a specified position rather than the normal beginning position. Multiply the value PPPP by 256 to get the position in frames from the beginning of the sample where playback should start. If no sample is specified with the effect, but one is currently playing on the channel, then the sample currently playing is retriggered to offset specified.
An example is instrument 2 being played at note C3, with PPPP = 0023 (in hex). This would make playback of the sample start at offset 0023 * 0100 = 2300. This effect gives a rough range to play the sample from.

0A - Slide velocity up/down. This effect will change the velocity of synth being played on a channel. The value PPPP the speed of the velocity change. Where PPPP = UUDD. If UU is nonzero the velocity is increased, and if DD is nonzero the velocity is decreased.
As an example, take the PPPP to be set to 0003. This means that at the beginning of the line, the current velocity of the synth is decreased by 3 (because DD = 3). The velocity is decreased by 3 again for every tick on this line.

0F - Set playing speed. This effect changes the speed (number of ticks per line) of playback. Valid values for speed setting are 1 to 31 (or 1 to 1F in hex). If a value is read that is above 31 (1F in hex), it means to set a modified speed based on beats per minute, where 4 lines are 1 beat. This means that if you try to set the speed to 42 (2A in hex), this will set 42 beats per minute.

11 - Fineslide up. This effect functions just like effect 1, except that the frequency of the note is only modified once (at the beginning of a line).

12 - Fineslide down. This effect functions just like effect 2, except that the frequency of the note is only modified once (at the beginning of a line).

19 - Re-trigger. Effect 19 allows you to re-trigger a note after PPPP ticks during the line. For example, say note C3 is specified, with PPPP = 2 when the speed (TPL) is currently 6. This would mean that at the beginning of the line the specified note is started, and after two ticks it is restarted. This continues until the beginning of the next line.

1C - Cut. This effect turns off the note after PPPP ticks in the current line.

1D - Delay. This effect delays the start of a note until tick PPPP in the current line. For example, if note C2 is played, with effect 1D and argument PPPP = 3 when the speed is 6. The note C2 will be triggered at the 3rd tick after the start of the line. The purpose of this effect is to delay the start of a sample for a VERY short amount of time.

20 - Note probability. Set the probability PPPP (from 0 to 8000) of a note being triggered. This effect can be used for original unpredictable rhythms.

21 - Note probability with random velocity. Same as effect 20 but with random velocity.




Configuration

SunVox get its configuration from the sunvox_config.ini or sunvox_config.txt file. This file must be placed in one of the following directories:
  • LINUX
    • directory with SunVox;
    • user home directory (/home/username/);
  • WINDOWS
    • directory with SunVox;
    • directory for application-specific data (/Documents and Settings/username/Application Data/);
  • MAC OS X
    • directory with SunVox;
    • /Users/username/Library/Caches/;
  • WINDOWSCE (WINDOWS MOBILE)
    • root of local filesystem;
    • directory for application-specific data (/Documents and Settings/username/Application Data/);
  • PALMOS
Typical sunvox_config.ini file looks like this:
//----------------------------------------------------------------------------

//Commented string. blah blah...

//  Screen width and height:
width 640
height 480

//  Use this option for setting maximal number of frames per second:
//  ( less value - less CPU usage )
//maxfps 30

//  Uncomment this option for screen rotate (device dependent):
//  ( example of usage: rotate 90 //turn the screen by 90 degrees )
//rotate 90

//  Uncomment this option if you want fullscreen mode in Linux (SDL):
//fullscreen

//  Uncomment this option if your device has touchscreen without pen (stylus), 
//  or if you just want a large buttons:
//touchcontrol

//  Sound buffer size (in samples):
buffer 4096

//  ALSA audio device name in Linux; or audio device number in Windows:
audiodevice hw:0,0

//  Sampling frequency (minimum - 44100):
frequency 44100

//  Videodriver name on Windows Mobile: 
//  ( gapi (default); raw (raw hires framebuffer); gdi (compatibility mode) )
videodriver gapi

//----------------------------------------------------------------------------
WARNING: Sound may differ slightly on different sampling frequencies
Warm Place
Home
Forum
About the Author
Search

Music
Archive 1997 - 2009
2005: Summerscapes
2005: WarmPlace
2007: Forgotten Pages
2009: BTTS

Art
Gallery 1997 - 2006
Palm Art
Demos

Soft
PalmOS
PalmOS nedosound
DOS
VirtualANS
Pixilang
SunVox
Sound Fields

Projects
Echoes of destiny (Отзвуки Судьбы) (RU)

Friends
Palm Sounds
Malobit.Ru
Software Reviews
FilesLand
Downloadatoz



Mail me: nightradio@gmail.com (Alex Zolotov)