:: warmplace.ru :: SunVox User Manual Official page of NightRadio (Alex Zolotov): art, music, soft and docs.
rus |  |
| SunVox - Multiplatform Modular Music Creation Studio User Manual Introduction to SunVox Installation and system requirements Graphical user interface (GUI) description Keyboard shortcuts Synthesizers and effects SunVox song structure Pattern editor Configuration file 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, simple, fast and powerful program for music creation. It is based on modular synthesizers and tracker-like interface. Main SunVox features: Modular interface. Highly optimized synth algorithmes. 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). SunVox engine (without GUI) is open source and distributed under the terms of BSD license. Built-in synthesizers: FM synthesizer; Generator (saw,triangle,square,noise waveforms); Sampler (supported formats: WAV, XI); SpectraVoice (FFT-based synth for analog-like pads); Kicker; Stereo Delay; Distortion; Echo; Filter (Low-pass, High-pass, Band-pass, Notch); Vocal Filter; Flanger; LFO; Loop; Reverb (with DC Blocking Filter). Supported platforms: Windows, Linux, PalmOS, WindowsCE. Export to WAV. Examples of SunVox application: composing music on pocket computers or netbooks; embedding music into games; "chip tunes" creation: SunVox tunes can be very small; for example - 30 kBytes (or 2 kBytes after packing by ZIP) Installation and system requirements LINUX System requirements: * Pentium processor or higher; * 256 mb RAM or higher; * Any Linux distribution; * SDL library (version 1.2 or later); * ALSA. Unpack archive with SunVox. Run sunvox. WINDOWS System requirements: * Pentium processor or higher; * 256 mb RAM or higher. Unpack archive with SunVox. Run sunvox.exe 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. WARNING. SunVox may crash some new devices like Treo 700p. In this case you must install sunvox_for_new_devices.prc instead of sunvox.prc. 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 Keyboard shortcuts
Keys: | Description:
SPACE | - recording ON/OFF
q,w,e,r,t,y,u,i.... | - playing notes
CAPSLOCK | - note OFF
F1...F8 | - set octave number
TAB | - go to the next channel
SHIFT + TAB | - go to the previous channel
CTRL + X | - cut
CTRL + C | - copy
CTRL + V | - paste
CTRL + A | - select all
CTRL + T | - select track
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
Synthesizers and effects Some synthesizers has the "Mode" parameter with following possible values:
00. HQ | - High Quality (stereo). Linear interpolation
01. HQmono | - High Quality (mono). Linear interpolation
02. LQ | - Low Quality (stereo) for devices with slow CPU
03. LQmono | - Low Quality (mono) for devices with slow CPU
04. 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: 00 - High Quality. Stereo. Linear interpolation of envelopes; 01 - High Quality. Mono. Linear interpolation of envelopes; 02 - Low Quality. Stereo. No interpolation; 03 - Low Quality. Mono. No interpolation. Generator This synthesizer is for different waveforms generation. Available local controllers: Type; Pan. Controllers: Volume; Type - type of waveform: 00 - triangle; 01 - rectangle; 02 - white noise; 03 - "dirty" wave; Panning; Attack; Release; Polyphony - how many notes synthesizer can sound at one time; Mode: HQ/HQmono; M.Release - modulator release; Sustain: 00 - OFF; 01 - ON. Sampler Supported file formats: WAV, XI. Available local controllers: Pan. Controllers: Volume; Panning; Sample interpolation: 00 - OFF; 01 - Linear; Volume interpolation: 00 - OFF; 01 - 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: 00 - OFF; 01 - ON; Sample size: 00 - 4096 words; 01 - 8192 words; 02 - 16384 words; 03 - 32768 words; 04 - 65536 words; Harmonic - number of harmonic (00 - 15); h.freq - harmonic's frequency; h.volume - harmonic's amplitude; h.bandwidth - harmonic's bandwidth; h.bandtype - harmonic's bandtype: 00 - half of sinus; 01 - square; 02 - organ ver.1; 03 - organ ver.2; 04 - organ ver.3; 05 - organ ver.4; 06 - sinus. Kicker Available local controllers: Type. Controllers: Volume; Type - type of waveform: 00 - triangle; 01 - 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: 00 - OFF; 01 - ON. 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: 00 - stereo delay; 01 - mono delay; Inverse amplitude: 00 - OFF; 01 - ON. Distortion (and amplifier) Controllers: Volume; Type - type of distortion: 00 - limitation; 01 - saturation; Power; Bitrate: 1..16; Frequency: maximum = 44100 Hz (8000 in 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: 00 - mono; 01 - stereo. Filter State Variable Filter (Chamberlin version). Double Sampled. Controllers: Volume; Frequency: maximum = 14000 Hz (8000 in hex in pattern editor); Resonance; Type: 00 - lowpass; 01 - highpass; 02 - bandpass; 03 - notch; Response - speed of changing the frequency, resonance and volume; Mode: 00 - double sampled stereo; 01 - double sampled mono; 02 - low quality stereo; 03 - 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. 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: 00 - soprano; 01 - alto; 02 - tenor; 03 - bass; Mono: 00 - Stereo; 01 - Mono. 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: 00 - half of sinus; 01 - sinus; Set vibrato phase. LFO LFO - Low Frequency Oscillation. Controllers: Volume; Type: 00 - amplitude modulation (tremolo); 01 - stereo panning modulation; Power; Frequency; Shape: 00 - sinus; 01 - square; Set phase. Loop This effect is for repeating small pieces of input sound. Controllers: Volume; Delay; Stereo: 00 - mono; 01 - 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: 00 - none; 01 - freeze mode; Mode. 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:
line | ch0 (channel 0) | ch1 (channel 1) | ch2 (channel 2) | ...
000 | event | event | event |
001 | event | event | event |
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 controller (01,02,03,04, ... FF) EE - standart effect: 01 - slide up (portamento up; sliding speed = PPPP) 02 - slide down (portamento down; sliding speed = PPPP) 03 - slide to note (sliding speed = PPPP) 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) 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
Configuration file (sunvox_config.ini) This file must be placed in the same folder with SunVox (for Linux/Windows) or in the root of filesystem (for WinCE devices). Typical sunvox_config.ini file looks like this:
    //----------------------------------------------------------------------------
    width        640         //Screen width
    height       480         //Screen height
    fullscreen               //Set it, if you want fullscreen mode in Linux (SDL)
    buffer       4096        //Sound buffer size (in samples)
    audiodevice  hw:0,0	 //ALSA audio device name in Linux
    frequency    44100       //Sampling frequency (minimum - 44100)
    noborder                 //Set it, if you want a window without border
    //----------------------------------------------------------------------------
WARNING: Sound may differ slightly on different sampling frequencies |
Warm Place
Home Forum About the Author Search
Music by NightRadio
Archive 1997 - 2008 2005: Summerscapes 2005: WarmPlace 2007: Forgotten Pages Comments
Art
Gallery 1997 - 2006 Palm Art Demos
Soft
Palm DOS VirtualANS Pixilang Pixilang Soft SunVox Games
Docs
PsyTexx II PsyTexx 1.8 SunVox My knowledge base
Projects
Echoes of destiny (Отзвуки Судьбы) (RU)
Forgotten pages
2003: Konserv. life (RU) 2002: Paper story (RU) 2002: Easy music (RU) 2001: Legends... (RU) 2001: Converters
Friends
| Mail me: nightradio@gmail.com (Alex Zolotov)