User Tools

Site Tools


sunvox:manual_en

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sunvox:manual_en [2018/05/17 09:54]
nightradio
sunvox:manual_en [2019/09/09 10:01] (current)
nightradio
Line 1: Line 1:
 +[[https://​warmplace.ru/​wiki/​doku.php?​id=sunvox:​manual_ru|Русская версия]]
  
 +[[https://​warmplace.ru/​wiki/​doku.php?​id=sunvox:​manual_en&​do=export_pdf|PDF version of this page]]
 +
 +====== What is SunVox ======
 +
 +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. On any system.
 +
 +Official SunVox page: [[https://​warmplace.ru/​soft/​sunvox]]
 +
 +====== List of terms ======
 +
 +  * **Automation** - automatic change of project parameters during playback; for example, the program can smoothly decrease/​increase the filter frequency, or change the tempo; the source of the automation commands is either a pattern, or one of the special modules (MultiCtl, Pitch2Ctl, Sound2Ctl, Velocity2Ctl);​
 +  * **Balance** - relative gain of the left and right channels; examples:
 +    * balance = -128: left channel volume = 100%; right channel volume = 0%;
 +    * balance = 0: left channel volume = 100%; right channel volume = 100%;
 +    * balance = 128: left channel volume = 0%; right channel volume = 100%.
 +  * **BPM** - number of Beats Per Minute.
 +  * **Envelope** - graph of the dependence of some parameter (volume, for example) on time.
 +  * **LFO** - Low Frequency Oscillator which is used to modulate some synth/​effect parameters (frequency, volume, panning, etc.);
 +  * **Panning** - the sound location in the left-right stereo space; if the sound source is mono, then this parameter is equivalent to Balance (described above).
 +  * **Phase** - position of a point in time on a waveform cycle (in Generator) or on a sample. Usually this means the initial phase, not the current position. <​html><​center><​img src="​https://​warmplace.ru/​docs/​sunvox/​phase.gif"></​center></​html>​
 +  * **Sample**:
 +    * amplitude of the audio signal at a point in time;
 +    * portion of some sound in digital form: set of the values (amplitudes) described above; it can be very long (loop or the whole audio track) and very short (one note of some instrument).
 +  * **Sample rate** - number of samples per second.
 +  * **Sustain** - suspension point (until the Note OFF) on the envelope.
 +  * **Tick** - smallest time interval in SunVox pattern.
 +  * **TPL** - number of Ticks Per Line.
 +  * **Velocity** - universal parameter combining such types of expression as the velocity (how fast or hard the keys are pressed) and the aftertouch (amount of force on held-down key). It can be changed at any time in the life cycle of a single note.
 +
 +====== Minimum system requirements ======
 +
 +**Windows:​**
 +  * x86 or x86_64 architecture;​
 +  * Windows 2000.
 +
 +**Linux:**
 +  * any Linux distribution;​
 +  * libsdl2.
 +
 +**macOS:**
 +  * x86_64 architecture;​
 +  * Mac OS X 10.6.
 +
 +**Android:​**
 +  * Android 2.3.
 +
 +**iOS:**
 +  * iOS 9.
 +
 +**Windows CE:**
 +  * ARM architecture.
 +
 +====== Installing ======
 +
 +**Windows:​**
 +  - Download [[https://​warmplace.ru/​soft/​sunvox|SunVox for Windows]] (ZIP archive).
 +  - Unpack this archive to the user folder (with read and write permissions;​ for example, your own folder on the external flash drive).
 +  - You will see the new directory **sunvox** after unpacking - open it, and go to the **sunvox/​windows_x86** or **sunvox/​windows_x86_64** directory.
 +  - You will find several files in the last folder: sunvox.exe (full 32bit version) and sunvox_lofi_console.exe (version with 16bit audio engine for slow devices); just lauch one of these versions.
 +
 +**Linux:**
 +  - Download [[https://​warmplace.ru/​soft/​sunvox|SunVox for Linux]] (ZIP archive).
 +  - Unpack this archive to the home user directory (/​home/​username).
 +  - You will see the new directory **sunvox** after unpacking - open it, and go to the **sunvox/​linux_**xxx ​ directory, where the xxx is the name of the architecture of your device.
 +  - You will find several files in the **linux_**xxx folder: sunvox, sunvox_lofi,​ sunvox_no_simd,​ etc.; just use the most appropriate for your system.
 +  - In case of some errors: open Terminal, go to the sunvox directory (use **cd** command), enter **chmod a+x sunvox** and then **./​sunvox** ; if still not working - copy all error messages from the Terminal and send it to nightradio@gmail.com.
 +[[https://​warmplace.ru/​forum/​viewtopic.php?​f=16&​t=4454|Here is the instruction for Raspberry Pi users]]
 +
 +**macOS:**
 +  - Download [[https://​warmplace.ru/​soft/​sunvox|SunVox for macOS]] (ZIP archive).
 +  - You will see the new directory **sunvox** after unpacking; move it to some another user-created directory; don't use the Applications folder.
 +  - Go to the **sunvox/​sunvox/​macos** directory.
 +  - Launch SunVox.
 +[[https://​warmplace.ru/​forum/​viewtopic.php?​f=3&​t=4399|Important information for the macOS 10.12+ users]].
 +
 +**Android:​**
 +  * [[https://​play.google.com/​store/​apps/​details?​id=nightradio.sunvox|get SunVox on Google Play]].
 +
 +**iOS:**
 +  * [[https://​itunes.apple.com/​app/​sunvox/​id324462544?​mt=8|get SunVox on App Store]].
 +
 +**Windows CE:**
 +  - Download [[https://​warmplace.ru/​soft/​sunvox|SunVox for Windows CE]] (ZIP archive).
 +  - Unpack it to any folder on your computer.
 +  - You will see the new directory **sunvox** after unpacking - open it, and go to the **sunvox/​wince** directory.
 +  - You will find the sunvox.cab file in the **wince** folder - just copy and install this file on the Windows CE device.
 +  - Some old Windows CE devices has no GAPI pre-installed - this library is required for SunVox; you can try to get it here: http://​www.wincesoft.de/​html/​gapi_for_hpc_s.html
 +
 +====== Comparison of different versions ======
 +
 +^ System ^ Supported architectures ^ Sound engine format ^ Multi-touch ^ MIDI ^ GPIO ^
 +^ Linux | x86, x86_64, ARM (Maemo-based devices, Raspberry Pi, PocketCHIP, etc.), ARM64 (PINE64 etc.) | 32-bit floating-point / 4,12 fixed-point | YES | Full support | YES |
 +^ Windows | x86, x86_64 | 32-bit floating-point / 4,12 fixed-point | YES | Full support | |
 +^ Windows CE | ARM | 4,12 fixed-point | | Export and Import only | |
 +^ macOS | x86_64 | 32-bit floating-point | | Full support | |
 +^ Android | ARM, x86 | 32-bit floating-point / 4,12 fixed-point (on devices without FPU) | YES | Export and Import ​ only | YES |
 +^ iOS | ARM | 32-bit floating-point (iOS 7 and higher) / 4,12 fixed-point | YES | Full support | |
 +
 +As you can see, there are two sound engine formats in SunVox. Let's look at them in detail.
 +  * **32-bit floating-point** - using high quality 32-bit (and 64-bit in some cases) floating-point computations for the sound synthesis. Math coprocessor (FPU) is required. Can be used on most of modern computers.
 +  * **4,12 fixed-point** - using low quality fixed-point (4 integer bits and 12 fractional bits) computations. Specially for the slow computers without FPU. Such version of the engine will be much faster than the 32-bit one, but a small amount of the quantization noise will be present in sound. In this case the 32-bit WAV export may be with better sound quality due to the absence of the signal clipping.
 +
 +In some cases the sound engine format will be selected automatically. But in some cases (in Linux, for example) you can choose it manually: there are several versions of SunVox with different engines.\\
 +You can always find the information about the current engine format in the SunVox Main Menu -> About window.
 +====== Interface description ======
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​gui.png"></​html>​
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​gui_play.png"></​html>​
 +
 +The SunVox interface is divided into the several rectangular areas (windows): ​
 +  * pattern editor;
 +  * musical keyboard;
 +  * controllers of the selected module + modules (routing);
 +  * timeline (select the pattern here and its content will be shown in the pattern editor at the top).
 +Each area has its own menu with different options and functions - use the button with three horizontal lines to open this menu. Click on some area sets the focus on this area. 
 +
 +First click on the Stop button - stop playing.
 +Second click - reset all SunVox activity and switch the engine to standby mode.
 +
 +====== Keyboard shortcuts ======
 +
 +You can change it in the Main Menu -> Preferences -> Interface -> Shortcuts. Any keys and MIDI-buttons can be assigned to any SunVox action (from the list below).
 +
 +**General:​**
 +
 +^ Keys ^ Description ^
 +^ CTRL + Z | undo |
 +^ CTRL + Y or SHIFT + CTRL + Z | redo |
 +^ CTRL + N | new project or object (module/​pattern/​...) |
 +^ LEFT,​RIGHT,​UP,​DOWN,​\\ PAGEUP,​PAGEDOWN,​\\ HOME,​END,​TAB | navigation |
 +^ SHIFT + UP/​DOWN/​LEFT/​RIGHT | selection |
 +^ CTRL + ( | selection begin |
 +^ CTRL + ) | selection end |
 +^ CTRL + A | select all |
 +^ CTRL + X or SHIFT + DELETE | cut |
 +^ CTRL + C | copy |
 +^ CTRL + V or SHIFT + INSERT | paste |
 +^ CTRL + D | duplicate / clone |
 +^ INSERT (or Command+I on Mac) | insert an empty note and shift the pattern content down; or just insert something |
 +^ BACKSPACE | delete previous note and shift the pattern content up; or just delete something |
 +^ DELETE (or Fn+Backspace on Mac) | delete |
 +
 +**Application:​**
 +^ Keys ^ Description ^
 +^ ESC | exit the application |
 +
 +**Project:​**
 +^ Keys ^ Description ^
 +^ CTRL + SHIFT + N | new project |
 +^ CTRL + O | load project |
 +^ CTRL + S | save project |
 +^ CTRL + B | save project to BACKUP.sunvox |
 +
 +**Musical keyboard:**
 +^ Keys ^ Description ^
 +^ Z,​S,​X,​D,​C,​V,​G,​B,​H,​N,​J,​M,'<',​L,'>',';','/'​\\ Q,​2,​W,​3,​E,​R,​5,​T,​6,​Y,​7,​U,​I,​9,​O,​0,​P,​[,​=,​],​ENTER | musical keyboard (notes) |
 +^ F1...F8 | set octave number |
 +^ SHIFT + ) | octave up |
 +^ SHIFT + ( | octave down |
 +
 +**Pattern editor:**
 +
 +^ Keys ^ Description ^
 +^ SPACE | edit mode ON/OFF |
 +^ CTRL + '​='​ | increase the edit step |
 +^ CTRL + '​-'​ | decrease the edit step |
 +^ CAPSLOCK or '​~'​ | insert "Note OFF" (%%==%%) |
 +^ K | insert a special command "Set Pitch" (SP) |
 +^ SHIFT + K | insert a special command "​Previous Track" (%%<<​%%) |
 +^ CTRL + M | paste and mix |
 +^ CTRL + T | select track |
 +^ CTRL + I | interpolate values |
 +^ CTRL + U | interpolate velocity |
 +^ SHIFT + '​='​ | transpose up (+1 semitone) |
 +^ SHIFT + '​-'​ | transpose down (-1 semitone) |
 +^ SHIFT + '​]'​ | transpose octave up (+12 semitones) |
 +^ SHIFT + '​['​ | transpose octave down (-12 semitones) |
 +^ CTRL + P | place selected events evenly |
 +^ //not assigned// | remap |
 +
 +**Modules (routing):​**
 +
 +^ Keys ^ Description ^
 +^ CTRL + R | randomize module controllers |
 +^ SHIFT + mouse movement | module link/unlink |
 +^ SHIFT + controller value change | write the value to the pattern |
 +^ SHIFT + > | next module |
 +^ SHIFT + < | previous module |
 +^ CTRL + > | next synth |
 +^ CTRL + < | previous synth |
 +^ CTRL + RIGHT | next module horizontally |
 +^ CTRL + LEFT | previous module horizontally |
 +^ CTRL + DOWN | next module vertically |
 +^ CTRL + UP | previous module vertically |
 +^ CTRL + 1 | toggle mute |
 +^ CTRL + 2 | toggle solo |
 +^ CTRL + 3 | toggle bypass |
 +^ CTRL + 4 | unmute all modules |
 +^ CTRL + F | find a module |
 +^ SHIFT + scroll wheel | change the size of all modules |
 +^ CTRL + scroll wheel | change the size of the selected module |
 +
 +**Timeline:​**
 +
 +^ Keys ^ Description ^
 +^ F9 | play/stop |
 +^ F10 | play from beginning |
 +^ F11 | play pattern |
 +^ F12 | stop |
 +^ SHIFT + F9 | record start/stop |
 +^ SHIFT + F10 | play from the pattern cursor |
 +^ SHIFT + F12 | go to beginning |
 +
 +**Touch Theremin:**
 +
 +^ Keys ^ Description ^
 +^ SHIFT + touch | write a microtone (Set Pitch XXYY command) to the pattern |
 +====== Basic concepts ======
 +
 +===== Project =====
 +
 +The SunVox project consists of the following parts:
 +  * **modules** generates the sound;
 +  * **patterns** controls the modules (sends them notes and other commands);
 +  * **timeline** determines the order of the patterns.
 +
 +All the project parts are stored in the single *.sunvox file.
 +The sound of the project should be the same (or close to the original) regardless of the device and system.
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​song.png"></​html>​
 +
 +A few words about hex numbers. Memory locations and software in today'​s computers use the hexadecimal **(hex)** number system which comprises sixteen distinct symbols, digits 0 - 9 and letters A, B, C, D, E, F (or a - f)  where the letters represent the numbers 10 - 15. For more detail on the hexadecimal system please visit: https://​en.wikipedia.org/​wiki/​Hexadecimal
 +
 +Examples of hexadecimal numbers and its decimal **(dec)** equivalents:​
 +  * 00 = 0;
 +  * 01 = 1;
 +  * ...
 +  * 09 = 9;
 +  * 0A = 10;
 +  * 0B = 11;
 +  * 0C = 12;
 +  * 0D = 13;
 +  * 0E = 14;
 +  * 0F = 15;
 +  * 10 = 16;
 +  * 11 = 17;
 +  * ...
 +  * FF = 255
 +
 +===== Pattern =====
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​pattern.png"></​html>​
 +
 +**Pattern** is a group of simultaneously played tracks that represents some section of the SunVox project (score). It is divided into horizontal lines. Playing direction is top-down.
 +
 +Any pattern in the SunVox looks like this:
 +^ line ^ track 0 ^ track 1 ^ track 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, an events contain several text/​numeric columns (fields). **All numbers in the pattern are represented in HEXADECIMAL format**.
 +
 +Event format: **NN VV MM CCEE XXYY**
 +
 +Lets see detailed description of each column in the event:
 +  * NN - some special command code or the note:
 +    * SP - Set Pitch XXYY (shortcut **K**), where 0000 - highest possible pitch, 7800 - lowest pitch (note C0); one semitone = 100 (256<​sub>​dec</​sub>​);​\\ formulas:\\ **from Pitch XXYY to Frequency:​** frequency (in Hz) = pow( 2, ( 30720<​sub>​dec</​sub>​ - XXYY ) / 3072<​sub>​dec</​sub>​ ) * 16.3339;\\ **from Frequency to Pitch XXYY:** XXYY = 30720<​sub>​dec</​sub>​ - log2( frequency / 16.3339 ) * 3072<​sub>​dec</​sub>;​
 +    * %%<<​%% - Previous Track (shortcut **SHIFT + K**); use it to apply effects to previous track; but the following secondary effects are not allowed: 2x, 40..5F, 1D;
 +    * == - Note OFF (shortcut **CAPSLOCK or '​~'​**);​
 +    * C0 - С-0 (first note of the lowest octave);
 +    * c0 - C#0;
 +    * D0 - D-0;
 +    * d0 - D#0;
 +    * E0 - E-0;
 +    * F0 - F-0;
 +    * f0 - F#0;
 +    * G0 - G-0;
 +    * g0 - G#0;
 +    * A0 - A-0;
 +    * a0 - A#0;
 +    * B0 - B-0;
 +    * C1 - C-1 (first note of the octave 1);
 +    * ...
 +    * B9 - B-9 (last note of the highest octave);
 +  * VV - velocity (00..80);
 +  * MM - module number (00,​01,​02,​03,​04,​05,​06,​07,​08,​09,​ ... FF);
 +  * CC - the controller number (01,02,03, ... 7F) or the MIDI controller number (80,81,82, ... FF);
 +  * EE - effect that will be applied to the last note activated on the current track; some effects (marked in bold) can use the last nonzero parameter when XXYY = 0:
 +    * **01** - slide up (portamento up; sliding speed = XXYY);
 +    * **02** - slide down (portamento down; sliding speed = XXYY);
 +    * **03** - slide to note (sliding speed = XXYY);
 +    * **04** - vibrato; (XX - frequency; YY - amplitude);
 +    * 07 - set phase (or sample offset) XXYY in percents (from 0000 (0%) to 8000 (100%));
 +    * 08 - arpeggio (XX - second note increment; YY - third note increment);
 +    * 09 - set phase (or sample offset) XXYY in samples*256<​sub>​dec</​sub>;​
 +    * **0A** - slide velocity up/down (XX - up speed; YY - down speed);
 +    * 0F - set playing speed (XXYY: 0001..001F - number of ticks per line; 0020..00FF - BPM) or time grids (XXYY: F001..F020 and F100..F120);​
 +    * **11** - fineslide up;
 +    * **12** - fineslide down;
 +    * 13 - set Bypass/​Solo/​Mute (BSM = XYY) flags; example of mute: 13 0001; example of solo: 13 0010;
 +    * 14 - reset Bypass/​Solo/​Mute (BSM = XYY) flags; example of bypass reset: 14 0100;
 +    * 19 - retrigger note after XXYY ticks during the line;
 +    * 1C - cut note after XXYY ticks in the current line;
 +    * 1D - delays the start of note until tick XXYY in the current line;
 +    * 1F - set BPM;
 +    * 20 - note probability;​
 +    * 21 - note probability with random velocity;
 +    * 22 - set controller value to the random number from 0000 to XXYY;
 +    * 23 - set controller value to the random number with range from XX (00..FF) to YY (00..FF);
 +    * 24 - take a note from line XXYY on the same track;
 +    * 25 - take a random note from the range of lines XX..YY (inclusive) on the same track;
 +    * 26 - take a note from track XXYY on the same line;
 +    * 27 - take a random note from the range of tracks XX..YY (inclusive) on the same line;
 +    * 28 - take a note from line XXYY on track 0;
 +    * 29 - take a random note from the range of lines XX..YY (inclusive) on track 0;
 +    * 30 - stop playing the song;
 +    * 40...5F - delay an event for selected fraction of the line (from 40 (0%) to 5F (96.875%));
 +  * XXYY - parameter of a selected effect/​controller (0000 - min; 8000 - max).
 +
 +Velocity can be changed dynamically.
 +Example:
 +<​code>​
 +NN VV MM CCEE XXYY
 +C3 10 03 0000 0000
 +-- 20 -- 0000 0000
 +-- 30 -- 0000 0000
 +-- 40 -- 0000 0000
 +-- 50 -- 0000 0000
 +-- 60 -- 0000 0000
 +</​code>​
 +In this example velocity changed from 10 to 60.
 +
 +Example of changing cutoff frequency (global controller) of filter from min to max value:
 +<​code>​
 +NN VV MM CCEE XXYY
 +-- -- 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
 +</​code>​
 +The "​Cutoff frequency"​ controller has a number 2 in the filter.
 +
 +Some modules have the local controllers.
 +A local controller can be changed for a particular note (sound) on a particular track, independently of the other sounds of the same module.
 +
 +Example: (changing local controller 2 in the module 1)
 +<​code>​
 +NN VV MM CCEE XXYY
 +C3 80 01 0200 0000  //Set local controller 2 to value 0000. Separate sound begins playing here
 +-- -- -- 0200 0001  //Set local controller 2 to value 0001
 +-- -- -- 0200 0002  //Set local controller 2 to value 0002
 +-- -- -- 0200 0003  //Set local controller 2 to value 0003
 +-- -- -- 0200 0002  //...
 +-- -- -- 0200 0001
 +</​code>​
 +==== Pattern effects ====
 +
 +**01 - Slide up (Portamento Up).** This effect will slide up the frequency of the synth being played on the track by XXYY (one semitone = 40) tones for every tick.
 +If a slide rate is not specified (XXYY is zero) then the last slide rate used on the track is used again.
 +
 +**02 - Slide down (Portamento Down).** This effect will slide down the frequency of the synth being played on the track by XXYY (one semitone = 40) tones for every tick.
 +If a slide rate is not specified (XXYY is zero) then the last slide rate used on the track is used again.
 +
 +**03 - Slide to note.** This effect will slide a note being played on a track to a specified note NN. The parameter XXYY (one semitone = 40) will states the speed at which a slide will occur.
 +If a slide rate is not specified (XXYY is zero) then the last slide rate used on the track is used again.
 +If NN is empty, the last NN (specified early for effect 03 in the same track) will be used.
 +
 +**04 - Vibrato** with parameters XXYY, where the XX - frequency (examples of values: 20 - one period per line; 40 - two periods per line), YY - amplitude (one semitone = 40).
 +
 +**08 - Arpeggio.** This effect is normally used to simulate chords. It can also be used to produce a heavy vibrato.
 +Example: ​
 +Note = C3; XXYY = 0407 (second note increment = 4; third note increment = 7)
 +this is an attempt to produce a C-major chord. At the beginning of a line the C3 note is played, then 1/3 into the line the sound is retriggered at E-3, at 2/3 is retriggered at G3, and at the beginning of the next line (if there are no new notes to be played on the track), it is retriggered at C3 again.
 +Video: [[https://​www.youtube.com/​watch?​v=gr8yhfLhVCE|Arpeggio Standard Effect]]
 +
 +**09 - Set sample offset.** This functionality enables you to start a sample from a specified position rather than the normal beginning position. Multiply value XXYY * 256 to get the position in samples from the beginning of the sample where playback should start. If no sample is specified, the sample currently playing is retriggered to the offset specified.
 +Example: play instrument 2 at note C3, and XXYY = 0023. This would make playback of the sample start at offset 0023 * 0100 = 2300. This offset provides quite a wide range from where you can start playing the sample.
 +
 +**07 - Set sample offset (by percentage).** XXYY from 0000 (sample start) to 8000 (sample end).
 +Video: [[https://​www.youtube.com/​watch?​v=j2aCYlYufH8|Sampler Retriggering / Scaling]]
 +
 +**0A - Slide velocity up/down.** This effect will change the velocity of the synth being played on a track. The value XXYY the speed of the velocity change. If XX is nonzero the velocity is increased, and if YY is nonzero the velocity is decreased.
 +Example: set XXYY to 0003. This means that at the beginning of the line, the current velocity of the synth is decreased by 3 (because YY = 3). The velocity is decreased by 3 again for every tick on this line.
 +
 +**0F - Set playing speed.** This effect changes the TPL (number of ticks per line). Valid values are 1 - 1F (1 - 31 in decimal). Values above 1F represent a modified BPM (beats per minute). A speed value of 2A (42 in decimal), equals 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).
 +
 +**13 - Set Bypass/​Solo/​Mute flags.** BSM = XYY; Example of mute: 13 0001; example of solo: 13 0010.
 +
 +**14 - Reset Bypass/​Solo/​Mute flags.** BSM = XYY. Example of bypass reset: 14 0100.
 +
 +**19 - Retrigger.** Effect 19 allows you to retrigger a note after XXYY ticks during the line. For example, let's specify note C3 and set XXYY = 2 when the speed (TPL) is currently 6. This starts the specified note at the beginning of the line, 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 XXYY ticks in the current line.
 +
 +**1D - Delay.** This effect delays the start of a note until tick XXYY in the current line. For example, if note C2 is played, with effect 1D and argument XXYY = 3 when the speed is 6. The note C2 will be triggered at the 3rd tick after the start of the line. Purpose: to delay the start of a sample for a VERY short amount of time.
 +
 +**1F - Set BPM to XXYY**.
 +
 +**20 - Note probability.** Set the probability XXYY (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.
 +
 +**22 - Write a random value 0...XXYY to the controller CC.**
 +
 +**23 - Write a random value XX (00..FF) ... YY (00..FF) to the controller CC.**
 +
 +**24 - Note from line XXYY.** Take a note from line XXYY on the same track. ​
 +If the note to the left of the effect is specified, it will be used as the transposition value
 +(relative to C5: c5 - one semitone higher, C4 - one octave lower, etc.). ​
 +If the module number is missing, then the module number from line XXYY will be used.
 +
 +**25 - Random note from line XX...YY.** Take a random note from the range of lines XX..YY (inclusive) on the same track.
 +
 +**26 - Note from track XXYY.** Take a note from track XXYY on the same line.
 +
 +**27 - Random note from track XX...YY.** Take a random note from the range of tracks XX..YY (inclusive) on the same line.
 +
 +**28 - Note from line XXYY on track 0.** Take a note from line XXYY on track 0.
 +
 +**29 - Random note from line XX...YY on track 0.** Take a random note from the range of lines XX...YY (inclusive) on track 0. See example "pat effect 29 random note from trk0".
 +
 +**30 - Stop playing the song.**
 +
 +**40...5F - delay an event for selected fraction of the line** (from 0% (40) to 96.875% (5F)).
 +
 +Video: [[https://​www.youtube.com/​watch?​v=u16mkFvORDs|Standard Effects]]
 + 
 +==== MIDI Out ====
 +
 +You can use controllers with number 80+X to send MIDI Control Change command. Where the X is MIDI Controller Number. ​
 +
 +Example: ​
 +<​code>​
 +NN VV MM CCEE XXYY
 +-- -- 01 8100 0000 - set Modulation (MSB and LSB) to the min value
 +-- -- 01 8100 8000 - set Modulation (MSB and LSB) to the max value
 +MSB - Most Significant Byte;
 +LSB - Least Significant Byte.
 +</​code>​
 +
 +You can get MIDI Controller Number for CC column from the following table.
 +
 +^ MIDI controller number (dec)^ SunVox controller number (MIDI contr. + 80 (hex)); Use these values in the CC column of SunVox pattern ^ Controller name ^
 +^ 0 ^ 80 | Bank Select (MIDI Controller 32 more commonly used) |
 +^ 1 ^ 81 | Modulation Wheel |
 +^ 2 ^ 82 | Breath Contoller |
 +^ 3 ^ 83 | Undefined |
 +^ 4 ^ 84 | Foot Controller |
 +^ 5 ^ 85 | Portamento Time |
 +^ 6 ^ 86 | Data Entry MSB |
 +^ 7 ^ 87 | Main Volume |
 +^ 8 ^ 88 | Balance |
 +^ 9 ^ 89 | Undefined |
 +^ 10 ^ 8A | Pan |
 +^ 11 ^ 8B | Expression |
 +^ 12 ^ 8C | Effect Control 1 |
 +^ 13 ^ 8D | Effect Control 2 |
 +^ 14-15 ^ 8E-8F | Undefined |
 +^ 16-19 ^ 90-93 | General Purpose Controllers |
 +^ 20-31 ^ 94-9F | Undefined |
 +^ 32-63 ^ A0-BF | LSB for MIDI Controllers 0 - 31 |
 +^ 64 ^ C0 | Damper Pedal (Sustain) |
 +^ 65 ^ C1 | Portamento |
 +^ 66 ^ C2 | Sostenuto |
 +^ 67 ^ C3 | Soft Pedal |
 +^ 68 ^ C4 | Legato Footswitch |
 +^ 69 ^ C5 | Hold 2 |
 +^ 70 ^ C6 | Sound Controller 1 (default: Sound Variation) |
 +^ 71 ^ C7 | Sound Controller 2 (default: Timbre/​Harmonic Content) |
 +^ 72 ^ C8 | Sound Controller 3 (default: Release Time) |
 +^ 73 ^ C9 | Sound Controller 4 (default: Attack Time) |
 +^ 74 ^ CA | Sound Controller 5 (default: Brightness) |
 +^ 75-79 ^ CB-CF | Sound Controller 6-10 (no defaults) |
 +^ 80-83 ^ D0-D3 | General Purpose Controllers |
 +^ 84 ^ D4 | Portamento Control |
 +^ 85-90 ^ D5-DA | Undefined |
 +^ 91 ^ DB | Effects 1 Depth (previously External Effects Depth) |
 +^ 92 ^ DC | Effects 2 Depth (previously Tremolo Depth) |
 +^ 93 ^ DD | Effects 3 Depth (previously Chorus Depth) |
 +^ 94 ^ DE | Effects 4 Depth (previously Detune Depth) |
 +^ 95 ^ DF | Effects 5 Depth (previously Phaser Depth) |
 +^ 96 ^ E0 | Data Increment |
 +^ 97 ^ E1 | Data Decrement |
 +^ 98 ^ E2 | Non-Registered Parameter Number LSB |
 +^ 99 ^ E3 | Non-Registered Parameter Number LSB |
 +^ 100 ^ E4 | Registered Parameter Number LSB |
 +^ 101 ^ E5 | Registered Parameter Number MSB |
 +^ 102-120 ^ E6-F8 | Undefined |
 +^ 121 ^ F9 | Reset All Controllers |
 +^ 122 ^ FA | Local Control |
 +^ 123 ^ FB | All Notes Off |
 +^ 124 ^ FC | Omni Off |
 +^ 125 ^ FD | Omni On |
 +^ 126 ^ FE | Mono On (Poly Off) |
 +^ 127 ^ FF | Poly On (Mono Off) |
 +
 +==== Interpolator ====
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​interpolator.png"></​html>​
 +
 +Interpolator is a tool that provides the ability to make a smooth transition between the values of the selected area of the pattern, with various parameters (like the curve type, noise, etc.).
 +
 +Description of the buttons
 +  * First row: type of the interpolation curve, ping-pong mode switch, interpolation step.
 +  * Second row: column selection (use SHIFT key to select multiple columns).
 +  * Third row: amount of the noise (random values) and the number of repeats.
 +  * Fourth row: envelope begin/end values (are only relevant for the **Apply envelope** button).
 +  * Fifth row:
 +    * **Interpolate**:​ New value = Smooth transition between the first and the last line of the selection. Video: [[https://​www.youtube.com/​watch?​v=YvoBa0IsDgI|Interpolation]]
 +    * **Apply envelope**: New value = Old value * Smooth transition between the **Env.Start** and the **Env.end** parameters. Video: [[https://​www.youtube.com/​watch?​v=7IFEFjDlqR8|How to Apply the Envelope]]
 +If you want the smooth transition between the first and the last line of your selection - use **Interpolate**.
 +But if you want to change the existing values (fade them out for example) - use **Apply envelope**.
 +===== Module =====
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​module.png"></​html>​
 +
 +**Module** is a basic element of the SunVox. There are several types of modules:
 +  * synthesizer (generator) - can produce some sound;
 +  * effect (filter) - can change the incoming sound;
 +  * some other modules that can generate/​change not only the sound but the music events (notes, parameters, etc.) too.
 +
 +Lines between the modules define the direction of signal transmission:​ more intensive part of line must go **from the source**; less visible part must go **to the destination (reciever)**. ​
 +
 +There is internal set of basic SunVox modules. Click twice on the empty area between the modules - and you will see the list of internal modules. You also can load some modules from the external storage medium by clicking the LOAD button under the list of internal modules. You can find several folders with additional modules (effects, instruments) in the SunVox directory.
 +
 +There are three ways to connect one module to another:
 +  * Select the first module (source). Click on the <​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​btn_link.png"></​html>​ button. Select the second module (destination).
 +  * Select the first module (source). Drag it to destination with SHIFT key pressed.
 +  * For multitouch devices: first touch on source, second touch on destination. See [[https://​www.youtube.com/​watch?​v=IH6LiIERfHY|this simple video-tutorial]].
 +Reconnection removes the previous connection.
 +
 +==== Controllers ====
 +
 +Every module has a set of parameters (**controllers**):​
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​ctls.png"></​html>​
 +
 +Click twice (or right click) on the controller to open the **Controller Properties** window, where you can do the following operations: change, reset, randomize, write to pattern, assign MIDI IN:
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​ctl_props.png"></​html>​
 +
 +=== Controller automation ===
 +
 +Automation of the module controllers - automatic change of controller values during playback. Sources of automation: special modules (MultiCtl, Pitch2Ctl, Sound2Ctl, Velocity2Ctl) or the patterns. In the latter case, it does not matter which pattern will send commands to the controller: in SunVox there is no strict binding of certain patterns to the modules and their parameters. \\
 +If you press SHIFT, and then on the controller, then its value will be written in a pattern (at the current cursor position). If you need to write more complex automation, then there are three additional ways:
 +  - you can manually control the parameters as you want, and all these changes will be recorded in a special pattern in real time; to do this, simply press REC button;
 +  - in the pattern, you can specify the initial and final value of the controller (for example, at the beginning and at the end of the pattern), then select this region and use the Interpolator (in the pattern menu) to make a smooth transition;
 +  - fill in the columns MM (module number) and CC (controller number); turn on the "XXYY levels drawing"​ mode in the pattern menu; then you can draw a freehand automation curve directly in the pattern.
 +
 +If automation is recorded in a pattern, then the changes do not occur smoothly, but in steps. Step length = 1 tick (after live recording), or 1 line (in other cases). To make changes smoother, automation commands can be sent to the MultiCtl module (in which the Response parameter is different from 1000), which will smooth the changes and send commands to other modules connected to it.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=OP17yOT5HPI|Automation in SunVox: six ways]]
 +==== Modes ====
 +
 +Some modules have a "​Mode"​ parameter with the following possible values:
 +  * HQ - High Quality (stereo). Linear interpolation
 +  * HQmono - High Quality (mono). Linear interpolation
 +  * LQ - Low Quality (stereo) for devices with slow CPU
 +  * LQmono - Low Quality (mono) for devices with slow CPU
 +  * HQspline - High Quality (stereo). Spline interpolation
 +
 +If the CPU of your device is too slow for some SunVox project (app stutters and hangs), you can use the following tips:
 +  * use monophonic modes (Mono, HQmono or LQmono) for the modules;
 +  * use low quality modes (LQ or LQmono) for the modules;
 +  * use reduced polyphony for generators;
 +  * don't use the Reverb, or use it in LQ mode with All-pass filter disabled;
 +  * use the Filter instead of the Filter Pro;
 +  * use the Sampler without interpolation (Sample interpolation = OFF; Volume interpolation = OFF);
 +  * if possible, use the Generator and Analog Generator without Attack and Release (Attack = 0; Release = 0; Sustain = ON);
 +  * don't enable the filter inside the Analog Generator if polyphony is higher than 2; instead, use the single Filter module at the output of the generator;
 +  * don't use Sample rate greater than 150 in the Glide and the Sound2Ctl modules.
 +===== Timeline =====
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​timeline.png"></​html>​
 +
 +**Timeline** defines the layout of the SunVox project. It describes how to play the patterns. Patterns can be repeated across multiple orders to save tracking time and file space.
 +
 +When you select a pattern, you will see its contents (tracks, lines, events) in the Pattern Editor. In the single pattern play mode, when you select another pattern, it will play after the end of the previous selected pattern.
 +
 +Playback speed is defined by the following parameters:
 +  * TPL (Speed) - Ticks Per Line. Tick is the smallest time interval in SunVox.
 +  * BPM - Beats Per Minute. Beat = 24 ticks. Number of lines per beat = 24 / TPL. So if TPL=6, Beat size is 4 lines. Or if TPL=3, Beat size is 8 lines. ​
 +====== Internal modules ======
 +
 +===== Synths =====
 +
 +==== Analog Generator ====
 +
 +Generator with 32 double alias-free oscillators with internal 12/24dB filters, exponential envelopes and smooth parameters changing. \\
 +The sound quality of this module is better at a sample rate of 44100Hz.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=on67bFRtktw|Virtual Analog Generator]]
 +
 +==== DrumSynth ====
 +
 +Drum synthesizer with variety of predefined sounds.\\
 +The sound quality of this module is better at a sample rate of 44100Hz.
 +
 +Distribution of sounds:
 +  * notes C, C#, D, D# - for bass drum;
 +  * notes E, F, F# - for hihat;
 +  * notes G, G#, A, A#, B - for snare drum.
 +
 +Controllers:​
 +  * Volume - main synth volume;
 +  * Panning;
 +  * Polyphony - number of notes that the module can play at one time;
 +  * Bass volume - bass drum volume;
 +  * Bass power - bass drum power;
 +  * Bass tone - bass drum tone;
 +  * Bass length - bass drum length;
 +  * Hihat volume;
 +  * Hihat length;
 +  * Snare volume - snare drum volume;
 +  * Snare tone - snare drum tone;
 +  * Snare length - snare drum length.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=EBdJPFISe0g|DrumSynth]]
 +  * [[https://​www.youtube.com/​watch?​v=VNwcJGdfRLM|DrumSynth and Patterns]]
 +
 +==== FM ====
 +
 +[[https://​en.wikipedia.org/​wiki/​Frequency_modulation_synthesis|FM-based]] synth. Abbreviations:​ C - carrier; M - modulator.
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​fm.gif"></​html>​
 +
 +The sound quality of this module is better at a sample rate of 44100Hz.
 +
 +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 - number of notes that the module can play 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.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=IH6LiIERfHY|FM Synth]]
 +  * [[https://​www.youtube.com/​watch?​v=sx7aFSLbOD0|FM synth. Another example]]
 +
 +==== Generator ====
 +
 +Basic generator of different types of periodic signal waveforms with the volume envelope.
 +
 +This module can receive the incoming signal and use it for the frequency modulation. To do this, connect any other audio source to the input of the Generator, and that source will affect the frequency of the Generator. And don't forget to set a "​Frequency modulation on input" controller to some nonzero value.
 +
 +Available local controllers:​ Type; Pan.
 +
 +Controllers:​
 +  * Volume;
 +  * Type - type of waveform:
 +    * 0 - triangle;
 +    * 1 - saw;
 +    * 2 - square;
 +    * 3 - white noise;
 +    * 4 - hand drawn waveform (old name - "​dirty"​ wave);
 +    * 5 - sine;
 +    * 6 - half-sine; ​
 +    * 7 - abs-sine; ​
 +    * 8 - pulse-sine with duty cycle.
 +  * Panning;
 +  * Attack;
 +  * Release;
 +  * Polyphony - number of notes that the module can play at one time;
 +  * Mode: 0 - stereo; 1 - mono;
 +  * Sustain: 0 - off; 1 - on;
 +  * Frequency modulation on input: 0 - off ... 256 - use input signal for frequency modulation;
 +  * Duty cycle (only for square waveform).
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=YbWa_wV639g|Generator Module]]
 +  * [[https://​www.youtube.com/​watch?​v=RbuLOMvCDGc|Drawing your own waveform in Generator]]
 +  * [[https://​www.youtube.com/​watch?​v=C_SCQdZBGKg|Drawing your own waveform in Generator #2]]
 +
 +==== Input ====
 +
 +Audio input from Microphone/​Line-in. ​
 +
 +**Compatibility:​** implemented in the iOS and Android versions only. Other systems will be supported in future SunVox updates.
 +
 +==== Kicker ====
 +
 +Available local controllers:​ Type.
 +
 +Controllers:​
 +  * Volume;
 +  * Type - type of waveform: 0 - triangle; 1 - square; 2 - sine;
 +  * Panning;
 +  * Attack;
 +  * Release;
 +  * Boost (additional volume);
 +  * Env. Accel - volume & frequency envelope acceleration;​
 +  * Polyphony - number of notes that the module can play at one time;
 +  * Anticlick: 0 - OFF; 1 - ON.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=r4NN-w9TwQ4|Kicker,​ Compressor, and Ducking]]
 +
 +==== Vorbis player ====
 +
 +OGG Vorbis player.
 +
 +==== Sampler ====
 +
 +Sampler can play and record audio files. ​
 +Supported file formats: WAV, XI, AIFF, RAW. 8 / 16 / 24 / 32 bits. In Linux version all FFmpeg/​AVConv formats supported too.
 +
 +Buttons description:​
 +  * Load - load some audio file; this file will be stored in the module;
 +  * Rec - start/stop recording of received audio signal; for example, you can connect Generator to Sampler, and Sampler will record the signal from the Generator;
 +  * Edit - show/hide sample editor.
 +
 +Available local controllers:​ Pan.
 +
 +Controllers:​
 +  * Volume;
 +  * Panning;
 +  * Sample interpolation:​ 0 - OFF; 1 - Linear;
 +  * Volume interpolation:​ 0 - OFF; 1 - Linear;
 +  * Polyphony - number of notes that the module can play at one time;
 +  * Rec threshold - the level at which the Sampler should start recording.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=IQ7asEBSvig|Sampler Modules]]
 +  * [[https://​www.youtube.com/​watch?​v=YTlNQ5rDquA|How to make the voice with loop in Sampler]]
 +  * [[https://​www.youtube.com/​watch?​v=ColyxxBzeiE|Sampler eats JPEG images ]]
 +  * [[https://​www.youtube.com/​watch?​v=j2aCYlYufH8|Sampler Retriggering / Scaling]]
 +  * [[https://​www.youtube.com/​watch?​v=i2o2yBNoqB8|Input Module and Sampler Recording]]
 +  * [[https://​www.youtube.com/​watch?​v=BNfxakj_ghE|Sampler Envelopes]]
 +
 +==== SpectraVoice ====
 +
 +FFT-based synth. Can be used to generate a sound with a complex spectrum.
 +
 +Available local controllers:​ Pan.
 +
 +Controllers:​
 +  * Volume;
 +  * Panning;
 +  * Attack;
 +  * Release;
 +  * Polyphony - number of notes that the module can play at one time;
 +  * Mode: HQ/​HQmono/​LQ/​LQmono/​Spline;​
 +  * 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 sine;
 +    * 1 - square;
 +    * 2 - organ ver.1;
 +    * 3 - organ ver.2;
 +    * 4 - organ ver.3;
 +    * 5 - organ ver.4;
 +    * 6 - full sine.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=woDptZv1nSg|SpectraVoice:​ four harmonics]]
 +
 +===== Effects =====
 +
 +==== Amplifier ====
 +
 +Signal amplifier with various settings. ​
 +
 +For example you can split a stereo audio input into the left and right channels with this module:
 +  - filter the desired channel using the Balance controller: -128 for the left; 128 for the right;
 +  - move this channel to the center by reducing the Stereo Width to 0.
 +
 +Controllers:​
 +  * Volume;
 +  * Stereo balance;
 +  * [[https://​en.wikipedia.org/​wiki/​DC_offset|DC offset]];
 +  * Inverse amplitude: 0 - off; 1 - on;
 +  * Width - stereo width: 0 - mono; 128 - normal; 256 - extended;
 +  * Absolute - enable it to apply "​absolute value" filter to the signal;
 +  * Fine volume;
 +  * Gain - high amplification (up to 5000 times).
 + 
 +==== Compressor ====
 +
 +[[https://​en.wikipedia.org/​wiki/​Dynamic_range_compression|Side chain compressor]]
 +
 +Controllers:​
 +  * Volume;
 +  * Threshold: 256 - 0 dB;
 +  * Slope (%);
 +  * Attack (ms);
 +  * Release (ms);
 +  * Mode: 0 - peak; 1 - RMS sensing; 2 - peak with zero latency for compression/​limiting without delay (modes "​peak"​ and "​RMS"​ operate with a delay of 1 ms);
 +  * Side chain input - side chain input number.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=fjR2rVmZh58|Side Chain Compressor]]
 +  * [[https://​www.youtube.com/​watch?​v=r4NN-w9TwQ4|Kicker,​ Compressor, and Ducking]]
 +
 +[[https://​warmplace.ru/​forum/​viewtopic.php?​f=16&​t=1223#​p9756|Explanation of compressor settings on the forum]]
 +==== DC Blocker ====
 +
 +[[https://​en.wikipedia.org/​wiki/​DC_offset|DC]] blocking filter.
 +
 +Controllers:​
 +  * Mono: 0 - stereo; 1 - mono.
 +
 +==== Delay ====
 +
 +Maximal length of the delay is 1/64 second.
 +
 +Controllers:​
 +  * Dry - amount of original signal;
 +  * Wet - amount of processed signal;
 +  * Delay L - delay length on the left channel; maximum delay - 1/64 second;
 +  * Delay R - delay length on the right channel; maximum delay - 1/64 second;
 +  * Volume L - left channel volume;
 +  * Volume R - right channel volume;
 +  * Mono: 0 - stereo delay; 1 - mono delay;
 +  * Inverse amplitude: 0 - OFF; 1 - ON.
 +
 +==== Distortion ====
 +
 +This module adds various types of distortion to the sound.
 +
 +Controllers:​
 +  * Volume;
 +  * Distortion type: <​html><​br><​img src="​https://​warmplace.ru/​docs/​sunvox/​disttypes.gif"></​html>​
 +  * Power - amount of distortion of the type selected above;
 +  * Bit depth - change it to reduce the resolution of the incoming sound; default value 16 means that the bit depth remains unchanged;
 +  * Frequency (Hz) - change it to reduce the sample rate of the incoming sound; default value 44100 means that the sample rate remains unchanged;
 +  * Noise - amount of noise.
 +
 +==== Echo ====
 +
 +Maximal delay length: 4 seconds.
 +
 +Controllers:​
 +  * Dry - amount of original signal;
 +  * Wet - amount of processed signal;
 +  * Feedback;
 +  * Delay - delay length; maximal delay - one second;
 +  * Stereo: 0 - mono; 1 - stereo;
 +  * Delay units.
 +
 +==== EQ ====
 +
 +3Band equalizer.
 +
 +Controllers:​
 +  * Low;
 +  * Middle;
 +  * High;
 +  * Mono: 0 - stereo; 1 - mono.
 +
 +==== Filter ====
 +
 +IIR [[https://​en.wikipedia.org/​wiki/​Filter_(signal_processing)|Filter]] that can remove some unwanted frequency ranges.
 +
 +In HQ mode the Filter is double-sampled.
 +In LQ mode the Filter is 2x faster, but with the following consequences:​
 +  * frequency range is reduced by half (to 7000 Hz maximum); so if you want to set cut-off frequency 2000 Hz - you should set it to 4000;
 +  * LQ algorithm is very fast (specially for slow devices), but the cost of this speed is the instability in some cases (Filter in LQ mode with high Freq values is unstable on some input signals with a predominant high-frequency component).
 +
 +Controllers:​
 +  * Volume;
 +  * Frequency (Hz);
 +  * Resonance;
 +  * Type:
 +    * 0 - low-pass;
 +    * 1 - high-pass;
 +    * 2 - band-pass;
 +    * 3 - notch (band-stop);​
 +  * Response - rate of change of the frequency, resonance and volume;
 +  * Mode:
 +    * 0 - double sampled stereo;
 +    * 1 - double sampled mono;
 +    * 2 - low quality stereo;
 +    * 3 - low quality mono;
 +  * Impulse - change it to make the frequency impulse (burst): from the Impulse value ... to the previous frequency value; impulse speed = Response;
 +  * Mix - mix between the input (min) and the output (max) signals;
 +  * LFO frequency;
 +  * LFO amplitude;
 +  * Set LFO phase - initial phase (after the module reset or after receiving the note (Note ON)) or the command to immediately set the phase to a new value;
 +  * Exponential freq;
 +  * Roll-off - dB per octave;
 +  * LFO frequency unit;
 +  * LFO waveform.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=4tZDfUia-YE|Acid Bass]]
 +  * [[https://​www.youtube.com/​watch?​v=eB1nLZTpmrA|Filter LFO + MultiSynth]]
 +  * [[https://​www.youtube.com/​watch?​v=YdcYki5emHU|Changing Filter frequency from the pattern]]
 +
 +==== Filter Pro ====
 +
 +High-quality 64-bit IIR [[https://​en.wikipedia.org/​wiki/​Filter_(signal_processing)|Filter]] that can amplify, pass or attenuate some frequency ranges. This module is slower than the Filter.
 +
 +Controllers:​
 +  * Volume;
 +  * Type:
 +    * 0 - low-pass;
 +    * 1 - high-pass;
 +    * 2 - band-pass;
 +    * 3 - band-pass with constant peak gain;
 +    * 4 - notch (band-stop);​
 +    * 5 - all-pass;
 +    * 6 - peaking (use the "​Gain"​ controller to amplify or attenuate the peak at the specified frequency);
 +    * 7 - low shelf (use the "​Gain"​ controller to amplify or attenuate the frequencies below the specified frequency);
 +    * 8 - high shelf (use the "​Gain"​ controller to amplify or attenuate the frequencies above the specified frequency);
 +  * Frequency (Hz);
 +  * Frequency finetune (Hz/1000);
 +  * Frequency scale (%);
 +  * Exponential freq - enable it if you want to use the exponential frequency scale;
 +  * Q - quality factor (resonance);​
 +  * Gain - additional parameter for the filter types 6-8;
 +  * Roll-off - dB per octave;
 +  * Response - rate of change of the volume, frequency, Q, gain and mix;
 +  * Mode: 0 - stereo; 1 - mono;
 +  * Mix - mix between the input (min) and the output (max) signals;
 +  * LFO frequency;
 +  * LFO amplitude;
 +  * LFO waveform;
 +  * Set LFO phase - initial phase (after the module reset or after receiving the note (Note ON)) or the command to immediately set the phase to a new value;
 +  * LFO frequency unit.
 +
 +==== Flanger ====
 +
 +[[https://​en.wikipedia.org/​wiki/​Flanging|Flanger effect]].
 +
 +Controllers:​
 +  * Dry - amount of original signal;
 +  * Wet - amount of processed signal;
 +  * Feedback;
 +  * Delay - delay length; maximum = 1/64 second;
 +  * Response - rate of change of the delay length;
 +  * LFO frequency;
 +  * LFO amplitude;
 +  * LFO waveform: 0 - half of sine; 1 - sine;
 +  * Set LFO phase - initial phase (after the module reset or after receiving the note (Note ON)) or the command to immediately set the phase to a new value;
 +  * LFO frequency unit.
 +
 +==== LFO ====
 +
 +LFO - Low Frequency Oscillator.
 +
 +Here are three ways to use this module.
 +  - Generator=OFF;​ some signal is sent to the input; at the output we get the same signal, but its volume changes in accordance with the oscillations of the built-in oscillator. <​html><​br><​img src="​https://​warmplace.ru/​docs/​sunvox/​lfo1.png"></​html>​
 +  - Generator=ON;​ the input is empty; at the output we get the wave of the built-in oscillator; this output signal can be used for something else, for example to modulate the volume or frequency through the [[manual_en#​modulator|Modulator]]. <​html><​br><​img src="​https://​warmplace.ru/​docs/​sunvox/​lfo2.png"></​html>​
 +  - Generator=ON;​ the input is empty; output is connected to [[manual_en#​sound2ctl|Sound2Ctl]];​ thus, the LFO can change the values of the controllers of other modules. <​html><​br><​img src="​https://​warmplace.ru/​docs/​sunvox/​lfo3.png"></​html>​
 +
 +Controllers:​
 +  * Volume;
 +  * Type: 0 - amplitude modulation (tremolo); 1 - stereo balance modulation;
 +  * Amplitude;
 +  * Frequency;
 +  * Waveform: <​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​lfo_waveforms.png"></​html>​
 +  * Set phase - initial phase (after the module reset or after receiving the note (Note ON)) or the command to immediately set the phase to a new value;
 +  * Channels: 0 - stereo; 1 - mono;
 +  * Frequency unit;
 +  * Duty cycle (only for a square waveform);
 +  * Generator (off/on) - always generate a signal, even if the input is empty.
 +==== 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;
 +  * Mode: 0 - normal; 1 - ping-pong loop playback.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=ZBA0JYm7epQ|Loop Module]]
 +
 +==== Modulator ====
 +
 +Amplitude or Phase modulator. First input = Carrier. Other inputs = Modulators.
 +
 +More info about amplitude modulation: https://​en.wikipedia.org/​wiki/​Amplitude_modulation
 +
 +More info about phase modulation: https://​en.wikipedia.org/​wiki/​Phase_modulation
 +
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​am.gif"></​html>​
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​fm.gif"></​html>​
 +==== Pitch Shifter ====
 +
 +Video: [[https://​www.youtube.com/​watch?​v=vgOMdA6m3Ys|Pitch Shifter]]
 +
 +==== Reverb ====
 +
 +Reverberator with DC Blocking Filter.
 +
 +Controllers:​
 +  * Dry - amount of original signal;
 +  * Wet - amount of processed signal;
 +  * Feedback;
 +  * Damp - signal attenuation through a low-pass filter;
 +  * Width;
 +  * Freeze: 0 - none; 1 - freeze mode;
 +  * Mode;
 +  * All-pass filter (off/on);
 +  * Room size;
 +  * Random seed - random combination of partitions inside the room.
 +
 +==== 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.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=f6ElIPjwXW8|How to make a beautiful synthetic choir]]
 +
 +==== Vibrato ====
 +
 +[[https://​en.wikipedia.org/​wiki/​Vibrato|Vibrato effect]].
 +
 +Controllers:​
 +  * Volume;
 +  * Amplitude;
 +  * Frequency;
 +  * Channels: 0 - stereo; 1 - mono;
 +  * Set phase - initial phase (after the module reset or after receiving the note (Note ON)) or the command to immediately set the phase to a new value;
 +  * Frequency unit;
 +  * Exponential amplitude (off/on).
 +
 +==== WaveShaper ====
 +
 +In simple terms, WaveShaper allows you to change the shape of the input signal. Default shape is linear (no changes; play the original signal).
 +
 +In math terms, WaveShaper is the expression y = f( x ); where y - output; x - input; f - function with graph which you can see in the WaveShaper interface.
 +The horizontal axis of the graph is Input.
 +The vertical axis of the graph is Output.
 +
 +Controllers:​
 +  * Input volume;
 +  * Mix: minimum - output=input;​ maximum - output=filtered input;
 +  * Output volume;
 +  * Symmetric;
 +  * Mode;
 +  * DC filter (DC Blocking Filter).
 +
 +===== Misc =====
 +
 +==== Feedback ====
 +
 +Generally the feedback is not allowed in SunVox you can't create an endless loop between the modules. ​
 +But you can do it by placing two Feedback modules inside of the loop (see screenshot).
 +
 +Internal Feedback delay = 20 ms.
 +
 +<​html><​img src="​https://​warmplace.ru/​images/​sunvox_feedback.png"></​html>​
 +
 +==== Glide ====
 +
 +Glide is similar to the MultiSynth (which sends the input events to the connected output modules), but it also adds the commands of smooth transition between the notes.
 +
 +==== GPIO ====
 +
 +With this module you can use the General-Purpose Input/​Output (GPIO) pins of the device board. For example, you can send some signals to the LEDs, or receive the ON/OFF (1/0) messages from the buttons.
 +
 +Requirements:​ Linux with GPIO Sysfs Interface enabled.
 +
 +Platform-dependent GPIO numbering (not physical numbering) is used to access GPIO pins. [[https://​www.raspberrypi.org/​documentation/​usage/​gpio/​|here]] you can read about the GPIO numbering on Raspberry Pi.
 +
 +Controllers:​
 +  * Out - if enabled, the module will send 0 or 1 to the output pin;
 +  * Out pin - output pin number;
 +  * Out threshold - if the signal level at the module input exceeds this value, the output pin will switch to 1;
 +  * In - if enabled, the module will receive 0 or 1 from the input pin;
 +  * In pin - input pin number;
 +  * In note - if 1 is read from the input pin, a note with the specified number (except zero) will be sent to all receiver modules (connected to the output of GPIO module);
 +  * In amplitude - if 1 is read from the input pin, the specified amplitude (signal level) be set at the output of the module.
 +
 +Example in simple_examples folder: raspberry_pi_gpio.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=JBrBPuhQfbI|Using Raspberry Pi GPIO in SunVox]]
 +
 +==== MetaModule ====
 +
 +MetaModule is a full-featured copy of SunVox in a single module. So you can include one SunVox-project into another recursively. Some complex synth or effect (with large amount of the modules) may be hidden in the MetaModule. You also can use it as arpeggiator.
 +
 +There are two ways to play some generator in the MetaModule:
 +  - set Input Module controller to play some selected module inside of the MetaModule; polyphony is possible in the this way, because it can be handled by the selected module directly;
 +  - set Play Patterns controller and play the whole SunVox project (with patterns) inside of the MetaModule; polyphony is not possible in this way, because we need a separate copy of the MetaModule for each polyphony channel, but this limitation may be removed in future SunVox updates.
 +==== MultiCtl ====
 +
 +With this module you can control multiple controllers at once.
 +
 +Controllers:​
 +  * Value - input value;
 +  * Gain (normal = 256);
 +  * Quantization - max number of output levels;
 +  * OUT offset;
 +  * Response: 1000 - immediate change; 0...1000 - smooth change;
 +  * Sample rate; optimal value = 150Hz, please avoid higher values without the urgent need.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=xloGNkTLbFU|MultiCtl Module]]
 +
 +==== MultiSynth ====
 +
 +This module sends the incoming events (notes, pitch change, phase change) to any number of connected modules (receivers). So you can play a large number of synths simultaneously by pressing one note only. The MultiSynth can also modify incoming events according to the parameters described below.
 +
 +Controllers:​
 +  * Transpose (number of semitones up or down);
 +  * Random pitch (one semitone = 256);
 +  * Velocity;
 +  * Finetune (+256 = +1 semitone; -256 = -1 semitone);
 +  * Random phase;
 +  * Random velocity;
 +  * Phase - the initial position of the sample or the initial phase of some Generator;
 +  * Curve2 influence - mix between the linear (default) and the user-drawn curve2 (//output velocity = curve2(input velocity)//​).
 +
 +Options:
 +  * Use static note C5 - replace incoming note by C5;
 +  * Ignore notes with zero velocity;
 +  * Trigger: Note OFF commands will be ignored; the new note turns off the old note with the same pitch;
 +  * Curve1 - show curve1: //output velocity = curve1(input note)//;
 +  * Curve2 - show curve2: //output velocity = curve2(input velocity)//​.
 +
 +Videos:
 +  * [[https://​www.youtube.com/​watch?​v=0FEOZevIYKs|MultiSynth]]
 +  * [[https://​www.youtube.com/​watch?​v=lo9W2HzJm_s|MultiSynth #2]]
 +
 +==== Pitch2Ctl ====
 +
 +This module converts the incoming notes to the controller values (in some another connected module).
 +
 +Controllers:​
 +  * Mode:
 +    * frequency - use frequency (in Hz) of the incoming notes;
 +    * pitch - use linear pitch (**first note ... first note + number of semitones**) of the incoming notes;
 +  * Note OFF action - action which will be performed after the note release:
 +    * do nothing;
 +    * pitch down (to the **OUT min**);
 +    * pitch up (to the **OUT max**);
 +  * First note (only for the mode **pitch**); corresponds to the **OUT min** value of the controller;
 +  * Number of semitones (only for the mode **pitch**) between the **OUT min** and **OUT max**;
 +  * OUT min;
 +  * OUT max;
 +  * OUT controller.
 +
 +==== Sound2Ctl ====
 +
 +This module converts the audio signal to the numeric value of any selected controller.
 +
 +Input port of the Sound2Ctl is for receiving the audio signal. ​
 +Output port of the Sound2Ctl is for transmitting the commands like "set controller X to the value Y".
 +
 +If you want to disable this module: just mute it, or set OUT Controller to 0.
 +
 +Video: [[https://​www.youtube.com/​watch?​v=Qz9Tmf_MTgE|Sound2Ctl Module]]
 +
 +==== Velocity2Ctl ====
 +
 +This module converts the velocity parameter of the incoming notes to the controller values (in some another connected module).
 +====== Preferences ======
 +
 +Go to the main menu -> Preferences,​ and you will see the window with the main SunVox settings (not for the separate project, but for the whole SunVox app).
 +
 +  * Main
 +  * Modules
 +  * Timeline
 +  * Interface
 +  * Audio
 +  * Recording
 +    * Metronome ON/OFF.
 +    * Fit pattern to grid: when enabled - the start position of the new recorded pattern will be multiple of 32.
 +    * Note quantization:​ when enabled - the Delay effects (40…5F) will not be used for the new recorded notes.
 +    * Automation quantization:​ when enabled - the Delay effects (40…5F) will not be used for the automation (controller changing) commands, and the pattern size will be much more compact (one track per controller) and readable.
 +  * MIDI
 +
 +====== Configuration file ======
 +
 +In most cases, you should not change this file manually, because the main settings are available in the SunVox Preferences window.
 +But if you want to use some specific options, you can create your own configuration file  [[https://​warmplace.ru/​soft/​sunvox/​sunvox_config.ini|based on this one (description of all options)]].
 +
 +====== Links ======
 +
 +  * [[https://​warmplace.ru/​forum/​viewforum.php?​f=16|Forum]]
 +  * [[https://​warmplace.ru/​forum/​viewtopic.php?​f=3&​t=1223|Video tutorials]]
 +  * [[https://​warmplace.ru/​forum/​viewforum.php?​f=11|Modules]]
 +  * [[https://​soundcloud.com/​sunvox|SunVox music on SoundCloud]]
 +
 +====== Frequently asked questions (FAQ) ======
 +
 +===== Interface =====
 +
 +**__Interface is lagging very much__**
 +
 +Try to disable some module visualization options: Main Menu -> Preferences -> Modules.
 +
 +**__I noticed the effects parameters on the right of the note, velocity etc at the top seem to be missing__**
 +
 +These columns are hidden by default. But you can enable them - just go to the Main menu and select "Show additional columns"​.
 +
 +===== Modules, samples, effects =====
 +
 +**__How to connect one module to another?​__**
 +
 +The answer is [[sunvox:​manual_en#​module|here]].
 +
 +**__Filter effect'​s impulse value doesn'​t change. When i change impulse value, it return 0__**
 +
 +It is normal behaviour. There is no need to remember the "​impulse"​ value. ​
 +I'll try to describe the algorithm.
 +  - Frequency = 1000 (for example).
 +  - You set "​Impulse"​ to 3000.
 +  - Filter sets its internal frequency to 3000.
 +  - Filter resets "​Impulse"​ to 0. (0 = no more commands from user).
 +  - Frequency changes smoothly from 3000 to 1000. Speed depends on the "​Response"​ value.
 +
 +**__How to paste sounds from another iOS apps?__**
 +
 +  - copy the sound in some another app #1;
 +  - go to SunVox;
 +  - open Main Menu (button it the top right part of the screen) -> Export/​Import -> Paste file from system pasteboard;
 +  - select folder and name for the new file;
 +  - click SAVE and the file with sample from app #1 will be created;
 +  - now you can load this file: go to the Modules (routing) window, open its menu and select Load.
 +
 +**__Is there a way to make the Sampler notes less '​clicky'?​ When I play pure waveforms especially the clicks become really loud as it cuts off a wave at one amplitude and starts a new one at a different amplitude.__**
 +
 +There is no automatic anticlick function in the current version of the Sampler. You should make through the Volume Envelope with 1-tick (at least) release.
 +Also make sure that your Sampler has enough Polyphony channels. If not sure - just set it to 32 os ro.
 +
 +**__Is there a particular bit rate/sample rate/# channels that the samples need to be in order to work?__**
 +
 +WAV samples must be in following format:
 +8 / 16 / 24 / 32 (float) bits; 
 +mono / stereo;
 +any sample rate; 
 +only uncompressed PCM data. 
 +Supported file formats: WAV, AIFF, XI, JPEG. As for JPEG, brightness of the pixels will be converted into the sound wave (pixel by pixel).
 +
 +**__How to open the sample editor?__**
 +
 +Please check this [[https://​www.youtube.com/​watch?​v=YTlNQ5rDquA|video-tutorial]].
 +
 +**__For multisamples,​ how do I set the root note of my sample?__**
 +
 +Use the "​rel.note"​ (relative note) parameter for such purposes.
 +
 +**__How do I adjust multisample instruments?​ I see slots for multiple samples and a zone managment section in the editor, but I can only load one sample at a time?__**
 +
 +I hope this little tutorial will help you.
 +
 +Step 1. Open new empty sampler:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_01.jpg"></​html>​
 +
 +Step 2. Load sample 0:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_02.jpg"></​html>​
 +
 +Step 3. Sample 0 loaded:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_03.jpg"></​html>​
 +
 +Step 4. Load sample 1:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_04.jpg"></​html>​
 +
 +Step 5. Sample 1 loaded:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_05.jpg"></​html>​
 +
 +Step 6. Make sample 1 playable on octaves 5 and 6:\\
 +<​html><​img src="​https://​warmplace.ru/​docs/​sunvox/​sunvox_sampler_06.jpg"></​html>​
 +
 +===== Sound =====
 +
 +**__Sound stutters or (and) freezes. How to fix? __**
 +
 +General tips
 +
 +  - Make sure that the CPU load is not too high in your project. Check some lightweight project (for example, NightRadio - Tiny Tune).
 +  - Go to the SunVox Preferences -> Audio and change the Sample rate to 48000 (or some other value if you know the native frequency of your sound card). Sometimes it helps, because the resampling (from 44100 to 48000) algorithms are not always fast enough.
 +
 +Linux
 +
 +  - Go to the SunVox Preferences -> Audio and check the Output field. If it is set to Auto - change it to some real audio output device from the drop-down list.
 +  - If this does not help, try to launch the SunVox with the following command: **<​nowiki>​pasuspender -- ./​sunvox</​nowiki>​** . This will open an exclusive access to the sound card for the SunVox.
 +
 +Windows CE: go to the SunVox Preferences -> Audio and change the Buffer to some value between 1024 and 4096; for example, 1536 is the best value for iPAQ devices.
 +
 +===== MIDI =====
 +
 +**__How to connect SunVox to another app via MIDI?__**
 +
 +  * Windows: use [[http://​www.tobias-erichsen.de/​software/​loopmidi.html|LoopMIDI]] to create the virtual MIDI cable between the apps; in SunVox this port can be used as MIDI input (SunVox -> Preferences -> MIDI) or MIDI output (SunVox Module Properties -> MIDI OUT).
 +
 +**__How to split MIDI notes by channels, and send the notes from different channels to different modules?​__**
 +
 +Go to the properties of the module and set MIDI IN to "​always",​ if this module should play always (even when not selected). Next, change the channel value to the right of MIDI IN.
 +===== Other =====
 +
 +**__SunVox crashing for no apparent reason__**
 +
 +Try to clean the settings of the SunVox. Launch it from console with the following command: sunvox clearall. If you are Windows user - just run the reset_sunvox.bat script.
 +
 +===== iOS =====
 +
 +**__How can i import/​export files from/to the SunVox internal storage on iOS? __**
 +
 +There are several ways.
 +  - Open SunVox -> Main menu -> Export/​import -> Wi-Fi export/​import. Then follow the instructions on the screen.
 +  - Use [[http://​support.apple.com/​kb/​HT4094|iTunes File Sharing]] to access the SunVox files. Launch the iTunes on your computer. Sync it with iOS device. Then find SunVox in the list of apps of your device. Select it and you will see the content of the internal SunVox storage.
 +  - Use the **Files** app.
 +  - In some other app (for example, Mail) click on the audio file and select **Open in** -> **SunVox** (this function can be hidden in some menu).
 +
 +**__How can i copy/paste audio to/from the other iOS audio apps? __**
 +  * If you want to copy the audio file (it must already exist in the internal SunVox storage) to some other app: open SunVox -> Main menu -> Export/​import -> Copy file to system pasteboard -> select your audio file. Then you can open some other iOS app with Audio Copy/Paste support and do the Paste operation.
 +  * If you want to paste the audio file from some other app: open SunVox -> Main menu -> Export/​import -> Paste file from system pasteboard. And the new file will be created in the internal SunVox storage. Now you can load this file: Modules -> Menu -> Load.
 +
 +===== Android =====
 +
 +**__No signal from the microphone __**
 +
 +Open the Android Settings -> Apps -> SunVox -> enable the "​record audio" permission.
 +
 +[[https://​warmplace.ru/​android|Known solutions for other problems]]
 +
 +===== macOS =====
 +
 +**__Copy/​Paste don't work, the previous session is not saved __**
 +
 +[[https://​warmplace.ru/​forum/​viewtopic.php?​f=3&​t=4399|Please read this instruction]]