User Tools

Site Tools


sunvox:manual_ru

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_ru [2019/01/10 09:23]
nightradio [iOS]
sunvox:manual_ru [2019/07/29 13:14] (current)
nightradio [Контроллеры]
Line 1: Line 1:
 +[[http://​www.warmplace.ru/​wiki/​doku.php?​id=sunvox:​manual_ru&​do=export_pdf|PDF версия]]
  
 +====== SunVox и история трекеров ======
 +
 +SunVox - мощный модульный синтезатор и трекер. Идеально подходит для музыкальных экспериментов,​ поиска нового звучания и новых стилей. Кроссплатформенность программы дает возможность писать музыку где угодно и на чем угодно (даже на старых и медленных устройствах).
 +
 +Официальная страница SunVox: [[http://​warmplace.ru/​soft/​sunvox/​index_ru.php]]
 +
 +Первым в мире музыкальным трекером принято считать программу Ultimate SoundTracker,​ написанную немецким разработчиком и композитором Карстеном Обарски в 1987 году для компьютера [[https://​ru.wikipedia.org/​wiki/​Amiga|Commodore Amiga]]. Программа была создана в первую очередь для написания музыки к играм. Своим внешним видом она напугала немало музыкантов с классическим образованием. Ее называли сложной и лишенной логики. Выглядел первый трекер примерно так:
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​ultimate_soundtracker.png"​ alt="​Ultimate SoundTracker by Karsten Obarski"​ title="​Ultimate SoundTracker by Karsten Obarski"></​html>​
 +
 +Откуда столь странный интерфейс?​ Где нотный стан с символами нот?
 +
 +Commodore Amiga обладал революционными аппаратными характеристиками для домашнего компьютера того времени. В частности,​ на нем был установлен звуковой чип Paula - настоящий цифровой сэмплер. В оперативной памяти лежали фрагменты (**сэмплы**) записанных звуков в формате PCM 8-бит. Чип Paula мог играть одновременно четыре сэмпла,​ динамически меняя их громкость и скорость - это давало четыре независимых **канала** (или трека),​ на каждом из которых могла играть определенная последовательность из сэмплов. Но четыре канала - не так уж много, при написании сложной музыки нужно очень аккуратно их использовать. Например,​ при взятии аккорда из трех нот у нас остается ровно один канал, на котором нужно умудриться расположить барабаны и бас. Поэтому интерфейс первых трекеров - ничто иное, как пульт управления звуковым чипом, представление компьютерной музыкальной композиции на самом низком уровне. Мы видим четыре аппаратных канала (колонки),​ и некую последовательность действий внутри. Все параметры чипа полностью подконтрольны пользователю. Это, кстати,​ объясняет смысл популярного направления **чиптюн** - музыки,​ написанной для аудиочипа (хотя сегодня чаще всего используются эмуляторы известных чипов, или вообще некая стилизация).
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​mos8364.jpg"​ alt="​MOS8364 Paula" title="​MOS8364 Paula"></​html>​
 +
 +Так как трекеры писали программисты,​ их логика представляется крайне простой. Музыка - последовательность команд для звукового чипа. То есть - нечто, напоминающее программу на ассемблере. Последовательность исполняется сверху вниз. Для наглядности команды группируются по каналам,​ описанным выше. Команда говорит,​ например:​ //​играй сэмпл под номером 2 с громкостью 20//. Или: //​плавно повышай тональность на этом канале//​. Команда обычно состоит из таких частей: ​
 +  * нота (три символа);​ например:​ A#3;
 +  * номер сэмпла (один символ);​
 +  * номер эффекта (один символ);​ например,​ эффект F менял скорость воспроизведения,​ а эффект 3 обеспечивал плавный переход с одной ноты на другую;​
 +  * параметр эффекта (два символа;​ диапазон от 00 до FF). 
 +Номера из соображений компактности решили записывать в [[https://​ru.wikipedia.org/​wiki/​%D0%A8%D0%B5%D1%81%D1%82%D0%BD%D0%B0%D0%B4%D1%86%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F|шестнадцатеричной системе счисления]]. Поэтому кроме цифр на экране мы видим и буквы, что неподготовленных пользователей окончательно сбивает с толку.
 +
 +А коль скоро трекерная музыка - программа в буквенно-цифровом виде, то и редактировать ее можно, как в текстовом редакторе,​ при помощи обычной компьютерной клавиатуры. Отсюда вытекает один важный плюс трекеров - ноты и ритмические рисунки можно вбивать очень быстро,​ по аналогии со скоростным печатанием текста.
 +
 +Еще один плюс исходит из желания программистов все упрощать. А именно:​ часто повторяющиеся куски кода нелепо каждый раз переписывать с нуля - достаточно выделить их в отдельные подпрограммы и далее указывать лишь адреса. Так же и в музыкальном коде. Например,​ припев повторяется два раза. Дублировать его вручную - неудобно и неэкономично. Поэтому припев выделяется в отдельную подпрограмму,​ которая в среде музыкальных редакторов называется **паттерн** (кусок партитуры),​ и далее по ходу композиции в нужных местах выставляется номер паттерна. Кроме того, если в дальнейшем захочется изменить пару нот в припеве,​ то сделать это нужно лишь в одном паттерне,​ а не во всей композиции целиком. ​
 +В классических трекерах имеется список паттернов. Он говорит,​ в каком порядке их играть и внешне выглядит,​ например,​ так: 01, 02, 03, 03, 01, 01. После нажатия PLAY трекер читает список и играет паттерны ровно в том порядке,​ в котором они указаны.
 +
 +Завершающая фишка классических трекеров - формат файлов для хранения музыки. Самый распространенный - формат **MOD**, который пришел с Ultimate SoundTracker и укоренился в трекерном пространстве на года, даже после того, как PC сместил Амигу со сцены. Прелесть такого файла в том, что в нем хранится вся необходимая информация для проигрывания и редактирования:​ сэмплы,​ паттерны и некоторые дополнительные параметры. Скачав MOD, вы услышите музыку именно в том виде, в котором задумывал автор, с мельчайшими нюансами. Сегодня огромный архив MOD-музыки вы можете найти на сайте [[http://​modarchive.org|Mod Archive]]. SunVox без проблем грузит форматы MOD и XM, поэтому обязательно посетите этот ресурс.
 +
 +Несмотря на критику,​ у программы SoundTracker появилась армия поклонников,​ самые продвинутые взломали оригинальный код и на его основе неофициально стали выпускать улучшенные клоны. К примеру,​ NoiseTracker:​
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​noisetracker.png"​ alt="​NoiseTracker"​ title="​NoiseTracker"></​html>​
 +
 +Количество клонов росло. Они обрастали новыми функциями,​ совершенствовался интерфейс,​ увеличивалось количество каналов. Трекерная музыка стала частью компьютерной субкультуры [[https://​ru.wikipedia.org/​wiki/​%D0%94%D0%B5%D0%BC%D0%BE%D1%81%D1%86%D0%B5%D0%BD%D0%B0|Demoscene]]. Осваивались новые платформы. Самая массовая - PC (с системами DOS и Windows). Появились трекерные форматы 2-го поколения:​ S3M (Scream Tracker), XM (FastTracker),​ IT (Impulse Tracker). И пока домашние компьютеры не отличались большой производительностью,​ а файлы по сети передавались с черепашьей скоростью - MOD-музыка оказалась своеобразной заменой современного MP3, так как файлы с неплохим звуком могли весить считанные килобайты.
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​ft2.png"​ alt="​FastTracker 2" title="​FastTracker 2"><​br><​br><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​it.png"​ alt="​Impulse Tracker"​ title="​Impulse Tracker"></​html>​
 +
 +В конце 90х мощность компьютеров достигла уровня,​ пригодного для генерации звука профессионального качества в реальном времени. Пошла волна всевозможных программных синтезаторов,​ появился формат плагинов VST. Разумеется,​ это отразилось и на трекерах. Первым представителем трекеров 3-го поколения стал [[http://​en.wikipedia.org/​wiki/​Jeskola_Buzz|Jeskola Buzz]] - он позволил вместо сэмплов использовать сложные комбинации модулей-синтезаторов и эффектов. За ним в игру вступили не менее крутые Psycle, Renoise и т.д. По качеству они уже не уступали дорогому студийному ПО, хотя в интерфейсе по-прежнему узнавался родной Ultimate SoundTracker. ​
 +
 +Развитие трекеров продолжается по сей день. SunVox - один из ярких представителей. Он ставит перед собой задачу объединить и дополнить лучшее из мира трекерной музыки,​ охватив при этом максимальное количество платформ,​ чтобы композитор не ощущал каких-либо ограничений и мог работать на любом железе и в любой системе.
 +
 +**Интересные факты**
 +  * Для тех, кто знаком со стандартом MIDI, стоит запомнить одно важное отличие канала в трекере от канала в MIDI. MIDI-канал чаще всего назначен на один инструмент. Трекерный канал ни к чему не привязан - это просто хранилище для любой информации,​ в нем могут играть любые инструменты в любом порядке,​ но (и это очень важно) не одновременно. Например,​ на одном канале сначала может играть пианино,​ а сразу после него сэмплы барабанов.
 +  * Классический трекер управлял звуковым чипом Paula компьютера Amiga. Существуют трекеры и для других чипов, более простых,​ не способных играть сэмплы. Речь о таких микросхемах,​ как [[https://​ru.wikipedia.org/​wiki/​AY-3-8910|AY-3-8910]] (знакомая нам по ZX Spectrum 128), [[https://​ru.wikipedia.org/​wiki/​MOS_Technology_SID|SID]] (для компьютеров Commodore 64), [[https://​ru.wikipedia.org/​wiki/​Yamaha_YM3812|Yamaha YM3812]] (FM-синтезатор в старых звуковых картах).
 +
 +====== Список терминов ======
 +
 +Большая часть приведенных ниже терминов применима не только к SunVox, но и к другим звуковым и музыкальным приложениям.
 +
 +  * **Автоматизация** (Automation) - автоматическое изменение параметров проекта по ходу воспроизведения;​ например,​ плавное понижение/​повышение частоты фильтра,​ или изменение темпа; источником автоматизации может быть паттерн или один из специальных модулей (MultiCtl, Pitch2Ctl, Sound2Ctl, Velocity2Ctl);​
 +  * **Баланс** (Balance) - стерео баланс,​ устанавливает громкость левого и правого каналов;​ например:​
 +    * баланс = -128: громкость левого канала = 100%; громкость правого канала = 0%;
 +    * баланс = 0: громкость левого канала = 100%; громкость правого канала = 100%;
 +    * баланс = 128: громкость левого канала = 0%; громкость правого канала = 100%.
 +  * **Динамика** (Velocity) - сила нажатия ноты; может меняться в любой момент,​ пока нота звучит. Чаще всего от динамики зависит громкость звука, хотя возможна привязка и к другим параметрам,​ например,​ при помощи модуля Velocity2Ctl или через опции внутри Analog Generator. Отличается от параметра Velocity в стандарте MIDI, где он он дословно переводится как "​скорость нажатия"​ и относится только к команде включения ноты.
 +  * **Огибающая** (Envelope) - кривая (точки,​ соединенные линиями),​ описывающая график зависимости какого-либо параметра от времени;​ чаще всего ось времени горизонтальная (слева направо),​ а увеличение значения параметра идет снизу вверх.
 +  * **Отсчет** - минимальная часть аудио сигнала,​ амплитудное значение звуковой волны в определенный момент времени. В англоязычных статьях отсчет называют сэмплом (sample), но это вызывает некоторую путаницу,​ т.к. сэмплом может быть еще и фрагмент звука (достаточно длинный).
 +  * **Панорама** (Panning) - расположение звука в стерео пространстве (левый канал ... центр ... правый канал);​ этот параметр эквивалентен стерео балансу (описан выше) только в случае,​ если источник звука - моно.
 +  * **Сэмпл** (Sample) - фрагмент звука в виде набора отсчетов;​ может быть очень длинным (кусок бита/​мелодии или даже целая звуковая дорожка) или очень коротким (один удар барабана,​ одна нота инструмента и т.д.).
 +  * **Тик** (Tick) - квант времени в паттернах SunVox. Расстояние между двумя нотами в паттерне не может быть меньше одного тика.
 +  * **Удержание** (Sustain, поддержка) - точка, в которой движение по огибающей останавливается до момента выключения ноты (отпускания клавиши).
 +  * **Фаза** (Phase) - указатель на то, в каком месте в данный момент звучит колебание генератора или целый сэмпл. Чаще всего означает начальную фазу - то есть, позицию,​ с которой начнется проигрывание. <​html><​center><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​phase_ru.gif"​ title="​Фаза"></​center></​html>​
 +  * **Частота дискретизации** (Sample rate) - количество отсчетов в секунду.
 +  * **BPM** (Beats Per Minute) - количество ударов в минуту.
 +  * **LFO** (Low Frequency Oscillator) - низкочастотный осциллятор,​ модулирующий параметры (частота,​ громкость и т.д.) синтезаторов или эффектов.
 +  * **TPL** (Ticks Per Line) - количество тиков в строке.
 +
 +====== Минимальные системные требования ======
 +
 +**Windows:​**
 +  * архитектура x86 или x86_64;
 +  * Windows 2000.
 +
 +**Linux:**
 +  * любой дистрибутив;​
 +  * libsdl2.
 +
 +**macOS:**
 +  * Mac OS X 10.6.
 +
 +**Android:​**
 +  * Android 2.3.
 +
 +**iOS:**
 +  * iOS 9.
 +
 +**Windows CE:**
 +  * ARM-совместимый процессор.
 +
 +====== Установка ======
 +
 +**Windows:​**
 +  - Скачайте [[http://​warmplace.ru/​soft/​sunvox/​sunvox.zip|SunVox для Windows]] (архив в формате ZIP).
 +  - Найдите скачанный файл на диске и распакуйте его в вашу личную папку (открытую для чтения и записи,​ не системную) или на внешнюю флешку (наиболее удобный вариант,​ т.к. программу с вашими файлами можно будет легко переносить с одного компьютера на другой).
 +  - Там, куда файл был распакован,​ вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, потом в windows_x86 (32-битная версия) или windows_x86_64 (64-битная версия).
 +  - В последней папке вы увидите несколько файлов;​ в том числе: sunvox.exe и sunvox_lofi_console.exe;​ первый - это полноценный SunVox; второй - это версия SunVox для слабых компьютеров,​ качество звука в ней немного хуже.
 +
 +**Linux:**
 +  - Скачайте [[http://​warmplace.ru/​soft/​sunvox/​sunvox.zip|SunVox для Linux]] (архив в формате ZIP).
 +  - Найдите скачанный файл на диске и распакуйте его (желательно в локальную директорию пользователя /​home/​имя_пользователя).
 +  - Там, куда файл был распакован,​ вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, а потом в linux_xxx, где xxx - название архитектуры вашего компьютера.
 +  - В последней папке вы найдете исполняемые файлы SunVox, их можно запускать:​ sunvox - основная версия;​ sunvox_lofi - версия для слабых компьютеров;​ sunvox_no_simd - версия для компьютеров с процессором без поддержки SIMD инструкций.
 +  - Если исполняемые файлы по какой-то причине не запускаются - откройте окно терминала,​ зайдите (при помощи команды cd) в директорию,​ где лежит исполняемый файл sunvox, и введите сначала **chmod a+x sunvox** , а потом **./​sunvox** ; если программа не запустится - скопируйте текст ошибки,​ которую она выдаст в терминале,​ и пошлите его на email nightradio@gmail.com.
 +
 +[[http://​www.warmplace.ru/​forum/​viewtopic.php?​f=16&​t=4468|Инструкция для пользователей Raspberry Pi]]
 +
 +**macOS:**
 +  - Скачайте [[http://​warmplace.ru/​soft/​sunvox/​sunvox.zip|SunVox для macOS]] (архив в формате ZIP).
 +  - Скачанный архив будет распакован автоматически;​ если нет - распакуйте его самостоятельно просто кликнув на нем два раза.
 +  - Там, где архив был распакован,​ вы обнаружите папку sunvox - скопируйте ее куда-нубудь в личную директорию (созданную вами); не используйте системные папки, типа Applications.
 +  - Зайдите в папку sunvox -> sunvox -> macos, после чего запустите приложение SunVox.
 +[[http://​www.warmplace.ru/​forum/​viewtopic.php?​f=3&​t=4461|Важная информация для пользователей macOS 10.12+]]
 +
 +**Android:​**
 +  * [[https://​play.google.com/​store/​apps/​details?​id=nightradio.sunvox|SunVox в Google Play]] (это единственный источник,​ из которого можно получить официальную версию SunVox на Android).
 +
 +**iOS:**
 +  * [[https://​itunes.apple.com/​app/​sunvox/​id324462544?​mt=8|SunVox в App Store]] (это единственный источник,​ из которого можно получить официальную версию SunVox на iOS).
 +
 +**Windows CE:**
 +  - Скачайте [[http://​warmplace.ru/​soft/​sunvox/​sunvox.zip|SunVox для Windows CE]] (архив в формате ZIP).
 +  - Найдите скачанный файл на диске и распакуйте его.
 +  - Там, куда файл был распакован,​ вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, потом в wince.
 +  - В папке wince вы найдете файл в формате cab - его нужно скопировать на устройство с Windows CE и далее произвести установку на устройстве.
 +  - Для работы SunVox требуется библиотека GAPI, но на некоторых старых Windows CE устройствах она отсутствует,​ поэтому можно попробовать установить ее вручную,​ например,​ вот отсюда:​ http://​www.wincesoft.de/​html/​gapi_for_hpc_s.html
 +
 +====== Сравнение версий ======
 +
 +^ Система ^ Архитектура ^ Формат звукового движка ^ Мультитач ^ MIDI ^ GPIO ^
 +^ Linux | x86, x86_64, ARM (Maemo-устройства,​ Raspberry Pi, PocketCHIP и пр.), ARM64 (PINE64 и пр.) | 32-bit floating-point / 4,12 fixed-point | ДА | Полная поддержка | ДА |
 +^ Windows | x86, x86_64 | 32-bit floating-point / 4,12 fixed-point | ДА | Полная поддержка | |
 +^ Windows CE | ARM | 4,12 fixed-point | | Только сохранение и загрузка файлов | |
 +^ macOS | x86_64 | 32-bit floating-point | | Полная поддержка | |
 +^ Android | ARM, x86 | 32-bit floating-point / 4,12 fixed-point (на процессорах без FPU) | ДА | Только сохранение и загрузка файлов | ДА |
 +^ iOS | ARM | 32-bit floating-point (только на iOS 7 и выше) / 4,12 fixed-point | ДА | Полная поддержка | |
 +
 +Как видно из таблицы,​ есть два формата звукового движка SunVox. Рассмотрим их. 
 +  * **32-bit floating-point** - синтез звука ведется с использованием 32-битных (и в некоторых случаях 64-битных) чисел с плавающей запятой. Это высокая точность,​ при которой человеческий слух не способен уловить шум дискретизации (ступеньки цифрового звука). Требует модуль операций с плавающей запятой (FPU), который встроен в большинство современных процессоров.
 +  * **4,12 fixed-point** - синтез звука ведется с использованием чисел с фиксированной запятой:​ 4 бита на целую часть и 12 бит на дробную. Плюс - быстрая скорость на слабых процессорах без FPU. Минус - слегка заметный шум дискретизации,​ который присутствует как при обычной игре на SunVox, так и при экспорте в WAV. Хотя если при экспорте выбрать 32-битный формат,​ то потом в звуковом редакторе уровень шума можно уменьшить через нормализацию сигнала.
 +
 +В одних случаях этот формат выбирается автоматически (в зависимости от типа устройства). В других (например,​ в Linux) - есть возможность выбрать из нескольких вариантов SunVox с разными движками.\\
 +Для того, чтобы узнать,​ какой формат используется в вашей версии,​ запустите SunVox, войдите в главное меню и выберите пункт "О программе"​. В появившемся окне внизу вы увидите нужную информацию.
 +
 +====== Интерфейс ======
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​gui_ru.png"></​html>​
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​gui_play_ru.png"></​html>​
 +
 +Интерфейс SunVox поделен на окна: ​
 +  * редактор паттерна (сверху);​
 +  * музыкальная клавиатура;​ ее можно использовать для игры на выбранном модуле или для редактирования паттерна;​
 +  * редактор модулей (маршрутизация,​ схема обмена сигналами между модулями);​
 +  * редактор таймлинии (внизу;​ бывает скрытым);​ если выбрать здесь паттерн,​ то его содержимое отобразится в верхнем редакторе.
 +У каждого редактора может быть свое меню - кнопка с тремя горизонтальными полосками. Кликнув на одном из окон мы делаем его активным,​ помещаем в фокус. Далее все нажатия клавиш в виде команд в первую очередь будут посылаться этому активному окну. Если окно не знает, что делать с этими командами,​ то оно пошлет их редактору паттерна,​ т.к. это самое приоритетное окно.
 +
 +Размер окон можно менять. Для этого предусмотрены специальные узкие панели (вертикальные и горизонтальные),​ захватывая одну из которых можно менять размер сразу нескольких областей. На одной из панелей расположены часы, регулятор громкости и кнопки управления проигрыванием. Стоит отметить одну особенность кнопки Стоп. При первом нажатии она, как и ожидается,​ останавливает проигрывание. При повторном нажатии состояние всех синтезаторов будет сброшено,​ а звуковой движок перейдет в режим ожидания.
 +
 +====== Горячие клавиши ======
 +
 +Действие некоторых клавиш зависит от того, какое окно находится в фокусе в данный момент. Окно попадет в фокус после того, как вы кликнете на нем.\\
 +Клавиши можно переназначать,​ зайдя в Главное меню -> Настройки -> Интерфейс -> Сочетания клавиш. Любое действие (из списка ниже) можно привязать к кнопкам обычной клавиатуры или внешнего MIDI-устройства.
 +
 +**Общие:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ CTRL + Z | отменить действие (undo) |
 +^ CTRL + Y или SHIFT + CTRL + Z | повторить действие (redo) |
 +^ CTRL + N | новый проект или объект (модуль/​паттерн/​...) |
 +^ ВЛЕВО,​ВПРАВО,​ВВЕРХ,​ВНИЗ,​\\ PAGEUP,​PAGEDOWN,​\\ HOME,​END,​TAB | навигация |
 +^ SHIFT + одна из стрелок | выделение |
 +^ CTRL + ( | начать выделение |
 +^ CTRL + ) | закончить выделение |
 +^ CTRL + A | выделить все |
 +^ CTRL + X или SHIFT + DELETE | вырезать |
 +^ CTRL + C | скопировать |
 +^ CTRL + V или SHIFT + INSERT | вставить |
 +^ CTRL + D | размножить выделенный участок |
 +^ INSERT (или Command+I для Mac) | вставить пустую ноту и сдвинуть содержимое трека вниз, или вставить что-то еще |
 +^ BACKSPACE | удалить предыдущую ноту со сдвигом содержимого трека вверх, или удалить что-то еще |
 +^ DELETE (или Fn+Backspace для Mac) | удалить |
 +
 +**Приложение:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ ESC | выход |
 +
 +**Проект:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ CTRL + SHIFT + N | создать новый проект |
 +^ CTRL + O | загрузить новый проект |
 +^ CTRL + S | сохранить проект |
 +^ CTRL + B | сохранить проект в файл BACKUP.sunvox |
 +
 +**Музыкальная клавиатура:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ 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 | музыкальная клавиатура (ноты) |
 +^ F1...F8 | переключение октавы |
 +^ SHIFT + ) | подняться на октаву |
 +^ SHIFT + ( | опуститься на октаву |
 +
 +**Редактор паттерна:​**
 +
 +^ Сочетание клавиш ^ Описание ^
 +^ ПРОБЕЛ | включить/​выключить режим редактирования паттерна |
 +^ CTRL + '​='​ | увеличить шаг редактирования в паттерне |
 +^ CTRL + '​-'​ | уменьшить шаг редактирования в паттерне |
 +^ CAPSLOCK или '​~'​ | вставить команду "Note OFF" (== - выключения ноты) |
 +^ K | вставить команду "Set Pitch" (SP - установка высоты тона в колонке XXYY) |
 +^ SHIFT + K | вставить команду "​Prevous Track" (%%<<​%% - использовать предыдущий трек для наложения эффектов) |
 +^ CTRL + M | вставить с наложением (из буфера обмена берутся только ненулевые элементы) |
 +^ CTRL + T | выделить текущий трек в паттерне |
 +^ CTRL + I | интерполировать параметр эффекта или значение контроллера |
 +^ CTRL + U | интерполировать значение velocity |
 +^ SHIFT + '​='​ | повысить тональность выделенного участка паттерна на полутон |
 +^ SHIFT + '​-'​ | понизить тональность выделенного участка паттерна на полутон |
 +^ SHIFT + '​]'​ | повысить тональность выделенного участка паттерна на октаву |
 +^ SHIFT + '​['​ | понизить тональность выделенного участка паттерна на октаву |
 +^ CTRL + P | распределить выделенные события равномерно |
 +^ //не назначено//​ | переназначить номера модулей |
 +
 +**Модули (маршрутизация):​**
 +^ Сочетание клавиш ^ Описание ^
 +^ CTRL + R | установить контроллеры выделенного модуля случайным образом |
 +^ SHIFT + кликаем мышкой и тащим | установка/​удаление связи между модулями |
 +^ SHIFT + изменение значения контроллера | запись значения контроллера в паттерн |
 +^ SHIFT + > | выбрать следующий модуль |
 +^ SHIFT + < | выбрать предыдущий модуль |
 +^ CTRL + > | выбрать следующий синтезатор |
 +^ CTRL + < | выбрать предыдущий синтезатор |
 +^ CTRL + ВЛЕВО | выбрать следующий модуль по горизонтали |
 +^ CTRL + ВПРАВО | выбрать предыдущий модуль по горизонтали |
 +^ CTRL + ВНИЗ | выбрать следующий модуль по вертикали |
 +^ CTRL + ВВЕРХ | выбрать предыдущий модуль по вертикали |
 +^ CTRL + 1 | вкл/​выкл mute для выбранного модуля |
 +^ CTRL + 2 | вкл/​выкл solo для выбранного модуля |
 +^ CTRL + 3 | вкл/​выкл bypass для выбранного модуля |
 +^ CTRL + 4 | сбросить mute и solo для всех модулей |
 +^ CTRL + F | найти модуль |
 +^ SHIFT + колесо прокрутки | изменить размер всех модулей |
 +^ CTRL + колесо прокрутки | изменить размер выделенного модуля |
 +
 +**Таймлиния:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ F9 | начать/​остановить воспроизведение |
 +^ F10 | играть с начала |
 +^ F11 | играть текущий выделенный паттерн |
 +^ F12 | стоп |
 +^ SHIFT + F9 | начать/​закончить запись |
 +^ SHIFT + F10 | играть от курсора в паттерне |
 +^ SHIFT + F12 | перейти в начало |
 +
 +**Виртуальный Терменвокс:​**
 +^ Сочетание клавиш ^ Описание ^
 +^ SHIFT + нажатие в окне Терменвокса | запить нажатой тональности в паттерн |
 +
 +====== Базовые понятия ======
 +
 +===== Проект =====
 +
 +Музыкальное произведение (проект) в SunVox строится из следующих частей: ​
 +  * **модули** задают звучание;​
 +  * **паттерны** управляют модулями (посылают им ноты и прочие команды); ​
 +  * **таймлиния** задает,​ в каком порядке играть паттерны.
 +
 +Все части хранятся в едином файле проекта. Т.е. если вы грузили какие-то модули или сэмплы с диска, то после сохранения проекта эти модули и сэмплы можно удалять без последствий,​ т.к. они были сохранены внутри файла проекта.
 +Проект должен открываться и играть одинаково (или очень близко к оригиналу) независимо от устройства и системы. ​
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​song.png"></​html>​
 +
 +===== Паттерн =====
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​pattern.png"></​html>​
 +
 +**Паттерн** - это кусок партитуры в виде набора треков,​ поделенных на строки. На каждом треке по порядку идут музыкальные события (команда+параметр):​ ноты, автоматизация контроллеров,​ эффекты и пр. Редактор активного паттерна находится в верхней части экрана. Проигрываение паттерна идет сверху вниз. Треки играют одновременно. К примеру,​ можно сделать два трека: на одном выставить ноты басового синтезатора,​ а на другом - барабаны. А можно те же самые ноты чередовать на одном треке, если они друг другу не мешают.
 +
 +У каждого паттерна есть своя маленькая картинка (иконка) 16 на 16 пикселей,​ которая генерируется автоматически,​ либо редактируется пользователем. Кроме того, паттерн можно именовать.
 +
 +Внутри паттерн представляет собой таблицу такого вида:
 +^ номер строки ^ 0 (трек 0) ^ 1 (трек 1) ^ 2 (трек 2) ^ ... ^
 +^ 000 | event | event | event | ... |
 +^ 001 | event | event | event | ... |
 +^ xxx | ... | ... | ... | ... |
 +
 +Здесь event - какое-либо событие.
 +Примеры таких событий:​
 +^ Так выглядит событие в редакторе паттерна ^ Описание ^
 +^ C5 80 01 0000 0000 | посылка ноты C5 модулю с номером 01 |
 +^ A5 80 02 0000 0000 | посылка ноты A5 модулю с номером 02 |
 +^ == 00 00 0000 0000 | посылка команды "​выключение ноты"​ (note OFF) |
 +
 +Событие содержит несколько колонок (полей) с числами и буквами. ​
 +**Все числа в паттерне представлены в шестнадцатиричной форме**. Подробнее о шестнадцатиричных числах можно почитать здесь: [[http://​ru.wikipedia.org/​wiki/​Шестнадцатеричная_система_счисления]]
 +
 +В данном документе большая часть чисел приведена в шестнадцатеричной форме. Но для тех случаев,​ когда надо явно указать,​ что число десятичное,​ к нему будет добавлено окончание <​sub>​dec</​sub>​. Например:​ 256<​sub>​dec</​sub>​.
 +
 +Общий формат события такой: NN VV MM CCEE XXYY
 +
 +Ниже приведено подробное описание колонок:​
 +  * NN - код команды или код ноты, где буква обозначает непосредственно ноту (маленькая буква - диез), а цифра - номер октавы:​
 +    * SP - установить высоту тона XXYY (клавиша **K**); при этом 0000 - это самый высокий тон, а 7800 - самый низкий (нота С0); один полутон равен 100 (256<​sub>​dec</​sub>​);​\\ формулы:​\\ **перевод из высоты тона XXYY в частоту:​** частота (Гц) = pow( 2, ( 30720<​sub>​dec</​sub>​ - XXYY ) / 3072<​sub>​dec</​sub>​ ) * 16.3339;\\ **перевод из частоты в высоту тона XXYY:** XXYY = 30720<​sub>​dec</​sub>​ - log2( частота / 16.3339 ) * 3072<​sub>​dec</​sub>;​
 +    * %%<<​%% - влиять на предыдущий трек (сочетание клавиш **SHIFT + K**); позволяет накладывать дополнительные эффекты на предыдущий трек паттерна;​ при этом в качестве доп. эффектов нельзя использовать 2x, 40..5F, 1D;
 +    * == - выключение ноты ​(клавиши **CAPSLOCK или '​~'​**);​ после него нота еще может звучать некоторое время (затухание);​
 +    * C0 - до (первая нота самой низкой октавы 0);
 +    * c0 - до-диез;​
 +    * D0 - ре;
 +    * d0 - ре-диез;​
 +    * E0 - ми;
 +    * F0 - фа;
 +    * f0 - фа-диез;​
 +    * G0 - соль;
 +    * g0 - соль-диез;​
 +    * A0 - ля;
 +    * a0 - ля-диез;​
 +    * B0 - си;
 +    * C1 - до (октава 1);
 +    * ...
 +    * B9 - си (самая высокая октава 9);
 +  * VV - velocity (00..80); скорость нажатия (динамика);​ чаще всего этот параметр задает громкость ноты;
 +  * MM - номер модуля (00,​01,​02,​03,​04,​05,​06,​07,​08,​09,​ ... FF);
 +  * CC - номер контроллера в модуле (01,02,03, ... 7F) или номер MIDI контроллера (80,81,82, ... FF);
 +  * EE - номер эффекта,​ применяемого к последней включенной ноте в текущем треке; эффекты,​ выделенные жирным,​ запоминают последний параметр,​ т.е. если XXYY = 0, то будет использоваться последний ненулевой параметр:​
 +    * **01** - плавное повышение тональности (portamento up; скорость повышения = XXYY) в каждом тике строки;​
 +    * **02** - плавное понижение тональности (portamento down; скорость понижения = XXYY) в каждом тике строки;​
 +    * **03** - плавный переход на ноту NN со скоростью XXYY; работает аналогично эффектам 01 и 02, только в качестве конечной высоты тона берется NN; если нота пустая,​ то за конечную высоту тона берется последняя,​ указанная для эффектов 01, 02 или 03 на данном треке в данном паттерне;​
 +    * **04** - вибрато (XX - частота (один период на строку = 20); YY - амплитуда (один полутон = 40));
 +    * 07 - установить фазу (или смещение сэмпла) XXYY в процентах (0000 - это 0%; 4000 - это 50%; 8000 - это 100%);
 +    * 08 - арпеджио (XX - кол-во прибавляемых полутонов для второй ноты; YY - кол-во прибавляемых полутонов для третьей ноты);
 +    * 09 - установить фазу (или смещение сэмпла) XXYY в отсчетах*256<​sub>​dec</​sub>;​
 +    * **0A** - плавное повышение/​понижение velocity (XX - скорость повышения;​ YY - скорость понижения);​
 +    * 0F - установка скорости проигрывания (XXYY: 0001..001F - количество тиков в строке (по умолчанию - 6); 0020..00FF - BPM) или временных сеток (XXYY: F001..F020 и F100..F120); ​
 +    * **11** - то же, что и 01, но эффект выполняется только один раз в начале строки - получаем более плавное повышение тональности;​
 +    * **12** - то же, что и 02, но эффект выполняется только один раз в начале строки - получаем более плавное понижение тональности;​
 +    * 13 - установить флаги Bypass/​Solo/​Mute (BSM = XYY) в указанном модуле;​ пример установки Mute: 13 0001; пример установки Solo: 13 0010;
 +    * 14 - cбросить флаги Bypass/​Solo/​Mute (BSM = XYY) в указанном модуле;​ пример сброса Bypass: 14 0100;
 +    * 19 - retrigger (повторное включение ноты) с периодом XXYY тиков (только в текущей строке);​
 +    * 1C - выключить ноту через XXYY тиков после начала проигрывания текущей строки;​
 +    * 1D - задержать начало ноты на XXYY тиков;
 +    * 1F - установить BPM в XXYY;
 +    * 20 - вероятность проигрывания ноты; XXYY - вероятность от 0000 (0%) до 8000 (100%); этот эффект можно использовать для генерации непредсказуемых ритмов и мелодий;​
 +    * 21 - то же, что и эффект 20, но дополнительно для ноты устанавливается случайное значение velocity;
 +    * 22 - присвоение случайного значения от 0000 до XXYY указанному контроллеру CC;
 +    * 23 - присвоение случайного значения от XX (00..FF) до YY (00..FF) указанному контроллеру CC;
 +    * 24 - взять ноту из строки XXYY на том же треке; к этой ноте прибавляется значение ноты (относительно C5), указанной слева от эффекта;​ например,​ "C5 .. .. 0024 0002" возьмет ноту из строки 2 без изменений,​ а "C4 .. .. 0024 0002" возьмет ноту из строки 2 и понизит ее на октаву;​ отсутствие ноты слева от эффекта равноценно C5 (без изменений);​ если номер модуля отсутствует,​ то используется номер модуля из строки XXYY;
 +    * 25 - случайным образом выбрать ноту из строки в диапазоне от XX до YY (включительно) на том же треке; в остальном эффекты 25-29 работают аналогично 24;
 +    * 26 - взять ноту из трека XXYY в той же строке;​
 +    * 27 - случайным образом выбрать ноту из трека в диапазоне от XX до YY (включительно) в той же строке;​
 +    * 28 - взять ноту из строки XXYY на нулевом треке;
 +    * 29 - случайным образом выбрать ноту из строки в диапазоне от XX до YY (включительно) на нулевом треке;
 +    * 30 - остановить проигрывание композиции;​
 +    * 40...5F - задержка события на долю строки:​ от 0% (40) до 96.875% (5F); задерживать можно не только ноты, но и установку значений контроллеров;​
 +  * XXYY - параметр указанного эффекта или контроллера (0000 - минимум;​ 8000 - максимум).
 +==== MIDI Out ====
 +
 +Из паттерна можно управлять внешними MIDI-устройствами. Чтобы изменить значение внешнего MIDI-контроллера (MIDI Controller Number), нужно в колонке CC поставить значение 80+X, где X - номер MIDI-контроллера. При этом XXYY - это посылаемое значение (от 0000 до 8000).
 +
 +Пример: ​
 +<​code>​
 +NN VV MM CCEE XXYY
 +-- -- 01 8100 0000 - установить MIDI-контроллер Modulation в минимум
 +-- -- 01 8100 8000 - установить MIDI-контроллер Modulation в максимум
 +</​code>​
 +
 +Ниже приведен список всех доступных MIDI-контроллеров и соответствующих им номеров,​ которые нужно вписывать в колонку CC.
 +
 +^ Номер MIDI-контроллера (dec) ^ Номер SunVox-контроллера (MIDI контр. + 80 (hex)); эти значения нужно вписывать в колонку CC ^ Название ^
 +^ 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) |
 +
 +==== Интерполятор ====
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​interpolator_ru.png"></​html>​
 +
 +Интерполятор - инструмент,​ позволяющий делать плавные переходы между значениями в любых колонках паттерна,​ настраивая тип кривой перехода,​ количество шума, количество повторов и т.д.
 +Вызывается через меню редактора паттерна.
 +
 +Первый ряд кнопок - тип кривой плавного перехода.
 +Предпоследняя кнопка со стрелочками в первом ряду означает дословно "​туда-сюда"​ или "​ping-pong"​. То есть, переход будет сначала от начального значения до конечного,​ а потом обратно от конечного до начального. ​
 +Последняя кнопка с цифрой - это длина шага.
 +
 +Второй ряд кнопок позволяет выбрать те колонки,​ на которых будет интерполяция. Можно выбирать несколько колонок за раз - если нажимать их с SHIFT-ом.
 +
 +Третий ряд - параметры Шум и Повторять. Шум задает количество случайных искажений. А параметр "​Повторять"​ задает количество повторов плавного перехода. Такими повторами можно делать ритмические конструкции,​ например.
 +
 +Четвертый ряд - начальное и конечное значения огибающей. Они нужны для кнопки **Применить огибающую**,​ которая описана ниже.
 +
 +Внизу окна самые важные кнопки:​ **Интерполировать** и **Применить огибающую**. Эти две функции похожи,​ но есть пара отличий.
 +  * Простая интерполяция берет начальные точки (между которыми нужен переход) из паттерна. Вы выделяете кусок паттерна. Начальное значение интерполяции - это значение в первой строке вашего куска. Конечное значение - в последней строке. Видео: [[http://​www.youtube.com/​watch?​v=YvoBa0IsDgI|Интерполяция]]
 +  * А вот функция **Применить огибающую** берет начальное и конечное значение не из паттерна,​ а из четвертого ряда параметров,​ описанного ранее. Это первое отличие. Второе:​ после применения огибающей кривая не просто будет записана поверх,​ а будет умножена на предыдущие данные. То есть - промодулирует старые значения. Это нужно, например,​ когда у вас уже стоят нужные значения в какой-то колонке,​ а вам нужно сделать плавное затухание или плавное нарастание этих значений. Видео: [[http://​www.youtube.com/​watch?​v=7IFEFjDlqR8|Применение огибающей]]
 +===== Модуль =====
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​module.png"​ alt="​Модули"​ title="​Модули"></​html>​
 +
 +**Модуль** - синтезатор,​ эффект или фильтр. То, из чего строится звук в SunVox. В отдельном окне модули отображаются в виде прямоугольников,​ соединенных линиями (проводами). Направление движения сигнала по проводу показывается бегущими точками и цветом (яркая часть провода идет от источника;​ бледная - к приемнику). Схема взаимодействия модулей называется маршрутизацией.
 +По проводам может идти не только звук, но и поток команд (например:​ включение ноты, выключение ноты, изменение значения контроллера и т.д.).
 +
 +В SunVox встроен набор базовых модулей. Базовые модули можно объединять в сложные цепочки для получения более сложных звуков и эффектов. Несколько модулей можно объединять в один при помощи MetaModule. Любой модуль можно сохранить или загрузить с диска. В архиве SunVox есть несколько директорий с дополнительными ​ модулями.\\
 +Место для размещения нового модуля помечается указателем в форме крестика. Нажмите в нужное вам место, и указатель переместится туда.\\
 +Создать или загрузить модуль можно одним из нижеприведенных способов.
 +  * Два раза нажимаем на пустой области между модулями. Появляется диалоговое окно со списком базовых модулей,​ встроенных в SunVox. Если нужен базовый модуль - кликайте по нему два раза, или сначала выбирайте модуль,​ а потом жмите OK. Если нужно загрузить модуль с диска - жмем кнопку "​Загрузить"​.
 +  * Заходим в меню окна с модулями. Если нужен базовый модуль - в меню жмем "​Новый"​. Если нужно загрузить модуль с диска - в меню выбираем "​Загрузить"​.
 +При загрузке модуля с диска формат файла не принципиален. SunVox попытается превратить любой файл в модуль. Например,​ JPG-картинку,​ которая пиксель за пикселем будет преобразована в сэмпл. Или - текстовый файл, каждая буква которого также будет преобразована в отсчет сэмпла,​ и в итоге будет создан модуль Sampler. А для файлов в форматах sunvox, mod, xm, midi будет создан модуль MetaModule, внутри которого будет находиться загруженная композиция.
 +
 +Есть несколько способов соединить/​разъединить два модуля:​
 +  * нажимаем на модуль-источник;​ жмем кнопку <​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​btn_link.png"></​html>;​ нажимаем на модуль-приемник;​
 +  * нажимаем (не отжимая) на модуль-источник с нажатым SHIFT и тащим соединительную линию к модулю-приемнику;​ отжимаем кнопку мыши и SHIFT;
 +  * для мультитач устройств:​ одним пальцем нажимаем на модуль-источник,​ вторым - на модуль-приемник.
 +Повторное соединение действует,​ как разъединение.
 +
 +==== Контроллеры ====
 +
 +У модуля есть параметры (на "​железных"​ синтезаторах - это ручки, кнопки и прочие элементы управления). В среде SunVox их называют **контроллерами**:​
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​ctls.png"​ alt="​Контроллеры модуля"​ title="​Контроллеры модуля"></​html>​
 +
 +Существуют контроллеры **глобальные** и **локальные**. Возьмем к примеру контроллер "​Панорама"​ в модуле Generator. Это глобальный контроллер. Он задает расположение звука в стерео пространстве "​лево-право"​. Минимальное значение - левый канал. Максимальное - правый канал. Панорама выставляется для всего модуля целиком.\\
 +Но что, если нам нужно выставить разные значения панорамы для разных нот. Например,​ я нажал две ноты одновременно и хочу, чтобы первая нота звучала в левом канале,​ а вторая - в правом.\\
 +Решение в лоб - использовать два генератора. Один с панорамой 0000. Второй с панорамой 8000. \\
 +Но есть решение проще - использовать локальный контроллер "​Панорама",​ который будет действовать на конкретную ноту на конкретном треке. Выглядит это так:
 +<​code>​E3 01 0300 0000 | g3 01 0300 8000</​code>​
 +причем эту картинку можно продолжить,​ если панораму нужно изменять с течением времени:​
 +<​code> ​     0300 1000 |       0300 7000
 +      0300 2000 |       0300 6000</​code>​
 +Правило здесь простое:​ как только на треке выбрана какая-то нота - следующие за ней команды автоматизации ​ будут относиться конкретно к этой ноте, а не ко всему модулю. То есть - к локальным контроллерам,​ а не глобальным.\\
 +Не у всех модулей есть локальные контроллеры. Список доступных можно посмотреть в описании модуля. Если локальный контроллер отсутствует,​ то команда посылается глобальному.\\
 +Итак, **глобальные - на весь модуль целиком. Локальные - на конкретный звук, канал полифонии.**
 +
 +Двойной клик на контроллере или нажатие правой клавишей мыши приведет к открытию окна со **свойствами контроллера**. В окне свойств можно более точно управлять контроллером,​ сбрасывать его, устанавливать в случайное значение,​ привязывать к MIDI ручкам и MIDI кнопкам на внешних устройствах:​
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​ctl_props_ru.png"​ alt="​Свойства контроллера"​ title="​Свойства контроллера"></​html>​
 +
 +=== Автоматизация контроллеров ===
 +
 +Автоматизация параметров модуля - автоматическое изменение значений контроллеров по ходу воспроизведения. Источниками автоматизации могут быть специальные модули (MultiCtl, Pitch2Ctl, Sound2Ctl, Velocity2Ctl) или паттерны. В последнем случае не важно, какой именно паттерн будет посылать команды контроллеру:​ в SunVox нет жесткой привязки паттернов к модулям и их параметрам. \\
 +Если нажать SHIFT, а потом на контроллер,​ то его значение запишется в паттерн (в текущую позицию курсора). Если нужно записать более сложную автоматизацию,​ то есть три дополнительных способа:​
 +  - можно вручную управлять контроллерами так, как хочется,​ а все эти изменения будут записываться в специальный паттерн в реальном времени;​ для этого просто нажмите кнопку записи (REC);
 +  - можно в паттерне прописать начальное и конечное значение контроллера (скажем,​ в начале и в конце паттерна),​ потом выделить этот участок и воспользоваться Интерполятором (в меню) для заполнения промежуточных значений с плавным переходом;​
 +  - выбирается один трек паттерна;​ в нем заполняются колонки MM (номер модуля) и CC (номер контроллера);​ затем в меню паттерна включается функция "​Рисовать уровни XXYY", после чего кривую автоматизации можно рисовать от руки прямо на треке.
 +Если автоматизация записана в паттерне,​ то изменение значений происходит не плавно,​ а ступеньками. Длина шага - либо 1 тик (после живой записи),​ либо 1 строка. Чтобы сделать изменения более плавными,​ можно команды автоматизации посылать не напрямую,​ а сначала в модуль MultiCtl (в котором параметр Отклик отличается от 1000), который будет сглаживать изменения и рассылать команды другим модулям,​ подключенным к нему.
 +
 +Видео: [[https://​www.youtube.com/​watch?​v=OP17yOT5HPI|Шесть способов автоматизации]]
 +==== Режимы ====
 +
 +Некоторые модули SunVox имеют контроллер "​Режим",​ которым можно задавать качество и уменьшать нагрузку на процессор. Вот некоторые возможные значения этого параметра:​
 +  * HQ - высокое качество;​ cтерео;​ линейная интерполяция;​
 +  * HQmono - высокое качество;​ моно; линейная интерполяция;​
 +  * LQ - низкое качество;​ стерео;​ без интерполяции;​
 +  * LQmono - низкое качество;​ моно; без интерполяции;​
 +  * HQspline - высокое качество;​ стерео;​ сплайн-интерполяция.
 +Если у вас не самый быстрый компьютер,​ и на некоторых проектах вы замечаете неприятные тормоза и заикания,​ то старайтесь следовать этим советам при написании музыки:​
 +  * переключайте модули в монофонические режимы (Mono, HQmono или LQmono);
 +  * переключайте модули в режимы низкого качества (LQ или LQmono);
 +  * уменьшайте параметр "​Полифония"​ в модулях,​ которым не нужно много каналов полифонии;​
 +  * не используйте модуль Reverb, или используйте его в режиме LQ с выключенным фазовым фильтром;​
 +  * используйте модуль Filter вместо Filter Pro;
 +  * отключайте интерполяцию в модуле Sampler;
 +  * если возможно,​ в модулях Generator и Analog Generator установите атаку и затухание в ноль;
 +  * не включайте фильтр внутри Analog Generator, если полифония выше 2; вместо этого используйте один модуль фильтра на выходе генератора;​
 +  * не ставьте частоту дискретизации модулей Glide и Sound2Ctl больше 150.
 +===== Таймлиния =====
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​timeline.png"></​html>​
 +
 +**Таймлиния** (Timeline) - окно в нижней части экрана,​ в котором происходит компоновка паттернов по времени. Здесь мы устанавливаем,​ в какой момент времени какой паттерн должен играть. Можно расположить несколько паттернов параллельно,​ чтобы они играли одновременно. Кроме того, любой паттерн можно клонировать:​ изменения родительского (исходного) паттерна будут мгновенно отражаться на его клонах;​ это очень удобно,​ когда композиция строится из множества повторяющихся элементов.
 +
 +Если нажать на одном из паттернов,​ то его содержимое отобразится в редакторе сверху. В режиме циклического воспроизведения одного паттерна действует такое правило:​ вы нажимаете на любом паттерне,​ и он начинает играть не сразу, а после завершения предыдущего активного паттерна.
 +
 +Вертикальная черта на таймлинии показывает,​ какое место композиции играет в данный момент.
 +Скорость воспроизведения композиции задается двумя параметрами:​ **TPL** и **BPM**.
 +
 +**TPL** (Ticks Per Line) - количество тиков в строке паттерна. Тик - это квант времени в SunVox. Нельзя делать задержки между нотами меньше одного тика.
 +
 +**BPM** (Beats Per Minute) - количество ударов в минуту. Один удар - это 24 тика. Количество строк в ударе = 24 / TPL.
 +
 +Если TPL = 6, то один удар - это ровно четыре строки паттерна. ​
 +Если TPL = 3, то размер удара увеличивается в два раза - до восьми строк.
 +Если TPL равен, например,​ 5, то размер удара (4.8) не вписывается ровно в сетку паттерна - такой TPL лучше не использовать,​ если нужно попасть в строго определенный BPM.
 +
 +====== Описание встроенных модулей ======
 +
 +
 +===== Синтезаторы =====
 +
 +==== Analog Generator ====
 +
 +32 двойных alias-free осциллятора с 12/24dB фильтрами,​ экспоненциальными огибающими и плавным изменением параметров. В отличие от модуля Generator дает более мягкое и естественное звучание. Цена качества - требовательность к ресурсам.\\
 +Этот модуль звучит лучше на частоте дискретизации 44100Гц.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=on67bFRtktw|Модуль Analog Generator]]
 +
 +==== DrumSynth ====
 +
 +Синтезатор ударных инструментов.
 +Имеет встроенный набор звуков,​ сгруппированных по нотам:
 +  * C, C#, D, D# - bass drum;
 +  * E, F, F# - hihat;
 +  * G, G#, A, A#, B - snare drum.
 +
 +Этот модуль звучит лучше на частоте дискретизации 44100Гц.
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=EBdJPFISe0g|Модуль DrumSynth]]
 +  * [[http://​www.youtube.com/​watch?​v=VNwcJGdfRLM|Модуль DrumSynth и паттерны]]
 +
 +==== FM ====
 +
 +Синтезатор,​ основанный на алгоритме [[https://​ru.wikipedia.org/​wiki/​FM-%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7|частотной модуляции]] (FM). 
 +
 +Количество операторов:​ 2. Первый оператор (Carrier) - базовая синусоида. Второй оператор (Modulator) - синусоида,​ изменяющая частоту первого оператора. В именах контроллеров имеются префиксы "​C."​ и "​M.",​ показывающие,​ к какому оператору относится контроллер.
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​fm.gif"></​html>​
 +
 +Этот модуль звучит лучше на частоте дискретизации 44100Гц.
 +
 +Контроллеры:​
 +
 +  * C.Volume - громкость оператора Carrier;
 +  * M.Volume - громкость оператора Modulator;
 +  * Panning - панорама;​
 +  * C.Freq mul - во сколько раз умножать частоту оператора Carrier;
 +  * M.Freq mul - во сколько раз умножать частоту оператора Modulator;
 +  * M.Feedback - коэффициент обратной связи (модулирование конечного сигнала самим собой);​
 +  * C.Attack - длина атаки (период начального нарастания громкости) оператора Carrier;
 +  * C.Decay - длина спада (период ослабления сигнала после атаки) оператора Carrier;
 +  * C.Sustain - уровень задержки (уровень постоянной силы сигнала) оператора Carrier;
 +  * C.Release - длина затухания оператора Carrier;
 +  * M.Attack - длина атаки (период начального нарастания громкости) оператора Modulator;
 +  * M.Decay - длина спада (период ослабления сигнала после атаки) оператора Modulator;
 +  * M.Sustain - уровень задержки (уровень постоянной силы сигнала) оператора Modulator;
 +  * M.Release - длина затухания оператора Modulator;
 +  * M.Scaling - степень зависимости амплитуды модулятора от ноты;
 +  * Polyphony - количество каналов полифонии;​
 +  * Mode - режим работы.
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=IH6LiIERfHY|Модуль FM]]
 +  * [[http://​www.youtube.com/​watch?​v=sx7aFSLbOD0|Модуль FM. Другой пример]]
 +
 +==== Generator ====
 +
 +Генератор периодических колебаний с огибающей громкости.
 +
 +Данный модуль может принимать входящий в него сигнал для частотной модуляции самого себя. Для этого подключите на вход Generator'​а любой другой источник звука, и этот источник будет влиять на частоту модуля Generator. Степень влияния изменяется контроллером "​Частотная модуляция по входу"​.
 +
 +Контроллеры:​
 +  * Громкость;​
 +  * Форма волны - форма колебаний:​
 +    * 0 - треугольная;​
 +    * 1 - пила;
 +    * 2 - прямоугольная;​
 +    * 3 - белый шум;
 +    * 4 - нарисованная вручную;​
 +    * 5 - синус;
 +    * 6 - половина периода синуса;​
 +    * 7 - половина периода синуса без пустых промежутков;​
 +    * 8 - четверть периода синуса;​
 +  * Панорама;​
 +  * Атака - время атаки;
 +  * Затухание - время затухания;​
 +  * Полифония - сколько нот можно играть одновременно;​
 +  * Режим: 0 - стерео;​ 1 - моно;
 +  * Удержание - ожидание отжатия клавиши после атаки (0 - откл; 1 - вкл);
 +  * Частотная модуляция по входу: 0 - откл ... 256 - максимально использовать входящий сигнал для частотной модуляции;​
 +  * Коэффициент заполнения (только для прямоугольной формы волны).
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=YbWa_wV639g|Модуль Generator]]
 +  * [[http://​www.youtube.com/​watch?​v=RbuLOMvCDGc|Рисование колебаний в модуле Generator]]
 +  * [[http://​www.youtube.com/​watch?​v=C_SCQdZBGKg|Рисование колебаний в модуле Generator #2]]
 +
 +==== Input ====
 +
 +Транслирует сигнал с микрофона или line-in входа. ​
 +
 +**Совместимость:​** в данный момент доступен только в iOS и Android версиях. Поддержка других систем появится в ближайших обновлениях SunVox.
 +
 +==== Kicker ====
 +
 +Генератор барабана "​бочка"​. ​
 +
 +==== Vorbis Player ====
 +
 +Проигрыватель файлов в формате OGG Vorbis (открытый аналог MP3). Файл сохраняется в памяти модуля,​ повторная загрузка с диска не производится.
 +==== Sampler ====
 +
 +При помощи модуля Sampler можно загружать,​ записывать и проигрывать аудио-файлы. ​
 +Поддерживаются следующие форматы:​ WAV, XI, AIFF, RAW. 8 / 16 / 24 / 32 бит. ​
 +В версии для Linux также поддерживаются все форматы,​ которые распознает FFmpeg или AVConv.
 +
 +Описание кнопок:​
 +  * Загрузить - загрузить аудио-файл;​ файл будет сохранен в памяти модуля (то есть, исходный файл на диске после загрузки можно удалять);​
 +  * Запись - включить/​выключить запись входящих сигналов;​ Sampler может записывать звук от любых подключенных к нему модулей;​ например,​ подключаем Generator к Сэмплеру,​ жмем Rec и играем на Генераторе,​ в итоге звук Генератора будет записан в Sampler;
 +  * Редакт. - открыть/​закрыть редактор сэмплов;​ в редакторе можно создавать инструмент из нескольких сэмплов,​ сохранять сэмплы в WAV, редактировать и рисовать звуковую волну, редактировать огибающие громкости и панорамы.
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=IQ7asEBSvig|Модуль Sampler]]
 +  * [[http://​www.youtube.com/​watch?​v=YTlNQ5rDquA|Делаем зацикленный сэмпл голоса]]
 +  * [[http://​www.youtube.com/​watch?​v=ColyxxBzeiE|Sampler играет картинки в формате JPEG]]
 +  * [[http://​www.youtube.com/​watch?​v=j2aCYlYufH8|Изменение тональности сэмпла без изменения его длины (через эффект 07)]]
 +  * [[http://​www.youtube.com/​watch?​v=i2o2yBNoqB8|Запись и воспроизведение звука с микрофона]]
 +  * [[https://​www.youtube.com/​watch?​v=BNfxakj_ghE|Огибающие и эффекты внутри Sampler]]
 +
 +==== SpectraVoice ====
 +
 +SpectraVoice выдает звук с заданным спектром. Спектр можно
 +представить так: двухмерный график;​ ось X - частота от басов к
 +высоким;​ ось Y - амплитуда (громкость). На этом графике можно расположить 16
 +гармоник,​ указав у каждой гармоники ее положение на оси X, амплитуду,​
 +форму, ширину. Номер гармоники выбирается параметром Harmonic.
 +
 +Например,​ выбираем гармонику с номером 0. Далее выставляем ее параметры.
 +  * h.freq - частота.
 +  * h.volume - амплитуда.
 +  * h.bandwidth - ширина,​ насколько гармоника будет размазана по оси X.
 +  * h.bandtype - тип гармоники:​
 +    * 0 - горб (одна вторая периода синусоиды);​
 +    * 1 - прямоугольник;​
 +    * 2...5 - несколько пиков в ряд, получается нечто похожее на орган;
 +    * 6 - более сглаженный горб (полный период синусоиды)
 +
 +После того, как все параметры выставлены,​ жмем кнопку Render и
 +SpectraVoice генерирует новый звук по заданным параметрам. Далее
 +нажимаем клавиши пианино и слушаем,​ что получилось.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=woDptZv1nSg|Модуль SpectraVoice]]
 +
 +===== Эффекты ======
 +
 +==== Amplifier ====
 +
 +Усилитель сигнала с дополнительными возможностями.
 +
 +К примеру,​ данный модуль можно использовать для разделения стереосигнала на два монофонических. Для этого сначала оставляем нужный нам канал при помощи контроллера "​Баланс"​ (в старых версиях - "​Панорама"​):​ -128 для левого или 128 для правого. Далее звук этого канала надо вернуть в центр (чтобы он не звучал только в одном ухе) - уменьшаем значение контроллера "​Ширина стерео"​ до нуля. И все готово - на выходе получаем только выбранный канал из исходного стереосигнала.
 +
 +Контроллеры:​
 +  * Громкость;​
 +  * Баланс;​
 +  * DC смещение - смещение уровня сигнала (постоянная составляющая) вниз или вверх;
 +  * Инверсия - если вкл., то форма колебаний перевернется "​вверх ногами";​
 +  * Ширина стерео:​ 0 (стерео сжимается в моно) ... 128 (норма) ... 256 (расширение стереоэффекта);​
 +  * Абсолютное значение (значение по модулю) - если вкл., то отрицательная часть колебаний (ниже центра) перевернется и станет положительной;​
 +  * Точная громкость - для более плавной регулировки уровня громкости;​
 +  * Усиление - для усиления сигнала в 100, 1000 и более раз.
 +==== Compressor ====
 +
 +Side chain компрессор.
 +
 +Контроллеры:​
 +  * Громкость - громкость выходного сигнала;​
 +  * Порог;
 +  * Наклон;​
 +  * Атака;
 +  * Затухание;​
 +  * Режим: 0 - пиковый (с задержкой 1 мс); 1 - RMS (с задержкой 1 мс); 2 - пиковый без задержки;​
 +  * Вход сайдчейн - номер входа (в случае,​ если на вход компрессора подключено несколько источников).
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=fjR2rVmZh58|Модуль Compressor]]
 +
 +==== DC Blocker ====
 +
 +Фильтр,​ убирающий DC-смещение сигнала. Применяйте его, если на осциллографе видите,​ что центр сигнала явно смещен вверх или вниз.
 +
 +==== Delay ====
 +
 +Задержка стерео-сигнала.
 +
 +==== Distortion ====
 +
 +Этот модуль вносит разные типы искажений в звук.
 +
 +Контроллеры:​
 +  * Громкость;​
 +  * Тип искажений:​ <​html><​br><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​disttypes_ru.gif"></​html>​
 +  * Мощность искажений указанного выше типа; 0 = сигнал без искажений;​
 +  * Разрядность - уменьшает разрядность (кол-во бит в отсчете) звука; 16 = разрядность без изменений;​
 +  * Частота (Гц) - уменьшает частоту дискретизации (кол-во отсчетов в секунду) звука; 44100 = частота без изменений;​
 +  * Шум - количество шума.
 +==== Echo ====
 +
 +Эхо.
 +
 +==== EQ ====
 +
 +3-полосный эквалайзер.
 +
 +==== Filter ====
 +
 +Рекурсивный [[https://​ru.wikipedia.org/​wiki/​%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_(%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0)|фильтр]] - модуль,​ обрабатывающий сигнал с целью выделения или подавления определённых частот.
 +
 +В режиме HQ фильтр работает на полную мощность (double-sampled). В режиме LQ фильтр работает в два раза быстрее,​ но со следующими последствиями:​
 +  * частотный диапазон уменьшается с 14 кГц до 7 кГц; то есть, если вам нужно установить частоту среза в 2000 Гц, вы должны ставить 4000 Гц;
 +  * LQ-алгоритм быстрее (специально для меньшей нагрузки на процессор),​ но это в редких случаях приводит к нежелательным искажениям сигнала,​ в основном тогда, когда во входном сигнале доминируют высокочастотные составляющие.
 +
 +Контроллеры:​
 +  * Громкость - громкость выходного сигнала;​
 +  * Частота - частота среза; максимум = 14000 Гц;
 +  * Резонанс - резонанс;​
 +  * Тип - тип фильтра:​
 +    * 0 - фильтр нижних частот;​
 +    * 1 - фильтр верхних частот;​
 +    * 2 - полосовой;​
 +    * 3 - режекторный (узкополосный заграждающий фильтр);​
 +  * Отклик - скорость изменения частоты,​ громкости и резонанса;​
 +  * Режим - режим работы фильтра:​
 +    * 0 - высокое качество,​ стерео;​
 +    * 1 - высокое качество,​ моно;
 +    * 2 - низкое качество,​ стерео;​
 +    * 3 - низкое качество,​ моно;
 +  * Импульс - этот контроллер копирует свое значение в контроллер "​Частота",​ после чего частота фильтра плавно (со скоростью "​Отклик"​) возвращается в прежнее состояние;​
 +  * Микс - контроллер показывает,​ в какой пропорции смешивать исходный и отфильтрованный сигналы;​
 +  * LFO.частота - частота LFO (колебания контроллера "​Частота"​);​
 +  * LFO.амплитуда - амплитуда LFO;
 +  * Установить фазу LFO - начальная фаза (после сброса модуля или после получения ноты) или команда немедленной установки фазы в новое значение;​
 +  * Экспоненциальная частота - если включен,​ то шкала частот становится экспоненциальной;​
 +  * Крутизна - крутизна среза (дБ на октаву);​
 +  * Единица частоты LFO - выбор единиц измерения контроллера "​LFO.частота";​
 +  * LFO.форма волны - форма волны LFO.
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=4tZDfUia-YE|Кислотный бас]]
 +  * [[http://​www.youtube.com/​watch?​v=eB1nLZTpmrA|Использование LFO внутри фильтра]]
 +  * [[http://​www.youtube.com/​watch?​v=YdcYki5emHU|Автоматизация частоты фильтра из паттерна]]
 +
 +==== Filter Pro ====
 +
 +Рекурсивный [[https://​ru.wikipedia.org/​wiki/​%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_(%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0)|фильтр]] повышенной точности (64 бита) - модуль,​ обрабатывающий сигнал с целью выделения или подавления определённых частот. Более медленный,​ чем модуль Filter.
 +
 +Контроллеры:​
 +  * Громкость - громкость выходного сигнала;​
 +  * Тип - тип фильтра:​
 +    * 0 - фильтр нижних частот;​
 +    * 1 - фильтр верхних частот;​
 +    * 2 - полосовой;​
 +    * 3 - полосовой с амплитудой пика 0 дБ;
 +    * 4 - режекторный (узкополосный заграждающий фильтр);​
 +    * 5 - фазовый;​
 +    * 6 - пиковый (контроллер "​Уровень"​ усиливает или ослабляет пик на заданной частоте);​
 +    * 7 - полка в низких (контроллер "​Уровень"​ усиливает или ослабляет все частоты ниже заданной);​
 +    * 8 - полка в высоких (контроллер "​Уровень"​ усиливает или ослабляет все частоты выше заданной);​
 +  * Частота (Гц);
 +  * Подстройка частота (Гц/1000) - для уточнения частоты в пределах от -1/1000 до +1/1000 Гц;
 +  * Масштаб частоты (%) - масштабирование шкалы частот;​
 +  * Экспоненциальная частота - если включен,​ то шкала частот становится экспоненциальной;​
 +  * Q - добротность (резонанс);​
 +  * Уровень - используется для настройки типов 6-8;
 +  * Крутизна (дБ на октаву);​
 +  * Отклик - скорость изменения громкости,​ частоты,​ добротности,​ уровня и микса;
 +  * Режим: 0 - стерео;​ 1 - моно;
 +  * Микс - контроллер показывает,​ в какой пропорции смешивать исходный и отфильтрованный сигналы;​
 +  * LFO.частота - частота LFO (колебания контроллера "​Частота"​);​
 +  * LFO.амплитуда - амплитуда LFO;
 +  * LFO.форма волны - форма волны LFO;
 +  * Установить фазу LFO - начальная фаза (после сброса модуля или после получения ноты) или команда немедленной установки фазы в новое значение;​
 +  * Единица частоты LFO - выбор единиц измерения контроллера "​LFO.частота"​.
 +==== Flanger ====
 +
 +Эффект [[https://​ru.wikipedia.org/​wiki/​%D0%A4%D0%BB%D0%B0%D0%BD%D0%B6%D0%B5%D1%80|фланжер]].
 +
 +Контроллеры:​
 +  * Оригинал (dry) - количество исходного необработанного сигнала на выходе;​
 +  * Обработка (wet) - количество обработанного сигнала на выходе;​
 +  * Обратная связь;
 +  * Задержка - длина задержки от 0 до 1/64 сек.;
 +  * Отклик - скорость изменения задержки;​
 +  * LFO.частота - частота LFO (колебания контроллера "​Задержка"​);​
 +  * LFO.амплитуда - амплитуда LFO;
 +  * LFO.форма волны - форма волны LFO: 0 - половина синуса;​ 1 - синус;
 +  * Установить фазу LFO - начальная фаза (после сброса модуля или после получения ноты) или команда немедленной установки фазы в новое значение;​
 +  * Единица частоты LFO - выбор единиц измерения контроллера "​LFO.частота"​.
 +==== LFO ====
 +
 +Модуляция входящего сигнала встроенным генератором низкой частоты.
 +
 +Ниже приведены три варианта использования этого модуля.
 +  - Контроллер "​Генератор"​ в положении ВЫКЛ; на вход подается сигнал;​ на выходе получаем тот же сигнал,​ но его громкость меняется в соответствии с колебаниями встроенного генератора. <​html><​br><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​lfo1.png"></​html>​
 +  - Контроллер "​Генератор"​ в положении ВКЛ; на вход ничего не подаем;​ на выходе получаем колебания встроенного генератора,​ которые далее можно использовать для чего-то еще, например для модуляции громкости или частоты через [[manual_ru#​modulator|Modulator]]. <​html><​br><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​lfo2.png"></​html>​
 +  - Контроллер "​Генератор"​ в положении ВКЛ; на вход ничего не подаем;​ выход подключаем к [[manual_ru#​sound2ctl|Sound2Ctl]];​ таким образом LFO может управлять контроллерами других модулей. <​html><​br><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​lfo3.png"></​html>​
 +
 +Контроллеры:​
 +  * Громкость на выходе;​
 +  * Тип: 0 - амплитудная модуляция;​ 1 - модуляция стерео баланса;​
 +  * Амплитуда генератора;​
 +  * Частота генератора;​
 +  * Форма волны: <​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​lfo_waveforms.png"></​html>​
 +  * Установить фазу - начальная фаза (после сброса модуля или после получения ноты) или команда немедленной установки фазы в новое значение;​
 +  * Каналы:​ 0 - стерео;​ 1 - моно;
 +  * Единица частоты;​
 +  * Коэффициент заполнения (только для прямоугольной формы волны);​
 +  * Генератор (выкл/​вкл) - всегда генерировать сигнал,​ даже если на входе модуля ничего нет.
 +
 +==== Loop ====
 +
 +Эффект многократного повторения входящего в модуль сигнала.
 +Максимальная длина петли = 2 строки паттерна.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=ZBA0JYm7epQ|Модуль Loop]]
 +
 +==== Modulator ====
 +
 +Модуль амплитудной или фазовой модуляции. Первый подключенный на вход сигнал считается несущим (Carrier). Все последующие подключенные на вход - модулирующие (Modulator),​ которые влияют на громкость или частоту первого.
 +
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​am.gif"></​html>​
 +<​html><​img src="​http://​www.warmplace.ru/​docs/​sunvox/​fm.gif"></​html>​
 +
 +==== Pitch Shifter ====
 +
 +Модуль для изменения тональности любого звука в реальном времени.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=vgOMdA6m3Ys|Модуль Pitch Shifter]]
 +
 +==== Reverb ====
 +
 +Ревербератор.
 +
 +Контроллеры:​
 +  * Оригинал (dry) - количество исходного необработанного сигнала на выходе;​
 +  * Обработка (wet) - количество обработанного сигнала на выходе;​
 +  * Обратная связь;
 +  * Затухание через фильтр нижних частот;​
 +  * Ширина стерео;​
 +  * Заморозка;​
 +  * Режим;
 +  * Фазовый фильтр (выкл/​вкл);​
 +  * Размер комнаты;​
 +  * Случайная вариация - для изменения случайной комбинации перегородок внутри комнаты.
 +
 +==== Vocal filter ====
 +
 +Вокальный фильтр. Придает любому звуку окраску человеческого голоса.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=f6ElIPjwXW8|Делаем красивый хор при помощи модуля Vocal filter]]
 +
 +==== Vibrato ====
 +
 +Эффект [[https://​ru.wikipedia.org/​wiki/​%D0%92%D0%B8%D0%B1%D1%80%D0%B0%D1%82%D0%BE|вибрато]] для периодического изменения высоты тона входящего сигнала.
 +
 +Контроллеры:​
 +  * Громкость;​
 +  * Амплитуда колебаний;​
 +  * Частота колебаний;​
 +  * Каналы:​ 0 - стерео;​ 1 - моно;
 +  * Установить фазу - начальная фаза (после сброса модуля или после получения ноты) или команда немедленной установки фазы в новое значение;​
 +  * Единица частоты;​
 +  * Экспоненциальная амплитуда (выкл/​вкл) - опция для более плавной регулировки амплитуды колебаний.
 +==== WaveShaper ====
 +
 +WaveShaper позволяет изменять форму исходного сигнала,​ используя график,​ в котором ось X - амплитуда входного сигнала (input), ось Y - амплитуда выходного сигнала (output).
 +
 +===== Разное =====
 +
 +==== Feedback ====
 +
 +SunVox запрещает подключение модулей в бесконечную петлю (выход идет на вход), но это можно сделать,​ если пропустить петлю через два последовательных модуля Feedback (как показано на картинке).
 +
 +Задержка внутри Feedback = 20 мс.
 +
 +<​html><​img src="​http://​www.warmplace.ru/​images/​sunvox_feedback.png"></​html>​
 +
 +==== Glide ====
 +
 +Glide принимает на вход ноты, а на выходе выдает команды плавного перехода между этими нотами. К выходу нужно подключать,​ например,​ модули-генераторы.
 +
 +==== GPIO ====
 +
 +При помощи этого модуля можно, например,​ посылать сигналы на внешние светодиоды,​ или опрашивать кнопки,​ подключенные к контактам (пинам) GPIO на системной плате.
 +
 +Для работы модуля нужен Linux со включенным интерфейсом GPIO. Если интерфейс не включен,​ модуль GPIO все равно будет отображаться в SunVox, но не будет выполнять никаких действий.
 +
 +Номера контактов зависят от конкретной платформы (читайте документацию по работе с GPIO вашего устройства). Например,​ для Raspberry Pi контакту GPIO2 (BCM 2) соответствует номер 2, контакту GPIO3 (BCM 3) - 3 и т.д. Т.е. это не просто порядковый номер ножки в разъеме,​ а ее название. Нумерация для Raspberry Pi подробно описана [[https://​www.raspberrypi.org/​documentation/​usage/​gpio/​|здесь]] (GPIO NUMBERING).
 +
 +Контроллеры:​
 +  * Выход - если включен,​ то модуль посылает значение (0 или 1) на выходной контакт;​
 +  * Выходной пин - номер выходного контакта (на него мы будем посылать 0 или 1);
 +  * Выходной порог - уровень сигнала на входе модуля,​ после которого выходной пин переключится в 1;
 +  * Вход - если включен,​ то модуль считывает значение (0 или 1) с входного контакта и либо включает/​выключает выходную ноту, либо включает/​выключает уровень заданной амплитуды на выходе модуля;​
 +  * Входной пин - номер входного контакта (с него мы будем считывать 0 или 1);
 +  * Входная нота - номер ноты (любой,​ кроме нуля), которая будет посылаться всем модулям-приемникам в том случае,​ если на входном контакте 1;
 +  * Входная амплитуда - уровень сигнала,​ который установится на выходе модуля в том случае,​ если на входном контакте 1.
 +
 +Пример в папке simple_examples:​ raspberry_pi_gpio.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=JBrBPuhQfbI|Использование GPIO на одноплатном компьютере Raspberry Pi]]
 +
 +==== MetaModule ====
 +
 +MetaModule - это модуль,​ внутри которого находится отдельная независимая копия SunVox. То есть, можно взять готовую композицию в формате .sunvox, загрузить ее в MetaModule, после чего либо проиграть эту композицию (без изменений или с изменением тона в режиме арпеджиатора),​ либо играть отдельными ее модулями. MetaModule затем можно сохранить в файл формата .sunsynth, получив тем самым готовый кросс-платформенный SunVox инструмент или эффект - некий аналог VST-плагина.
 +
 +Есть два способа игры на MetaModule:
 +  - установить контроллер "​Входной модуль",​ после чего все ноты пойдут на указанный модуль внутри MetaModule; в этом способе возможна полифония;​
 +  - установить контроллер "​Играть паттерны"​ и опцию Арпеджиатор (если нужно),​ после чего ноты будут запускать проигрывание всего проекта внутри MetaModule; полифония в этом способе невозможна,​ хотя это ограничение может быть снято в будущих версиях SunVox.
 +==== MultiCtl ====
 +
 +Данный модуль позволяет управлять несколькими контроллерами (на разных модулях) одновременно,​ изменяя значение всего одного базового контроллера.
 +
 +Контроллеры:​
 +  * Значение - исходное значение;​
 +  * Усиление (норма = 256);
 +  * Квантование - максимальное количество уровней в конечном значении;​
 +  * Выходное смещение;​
 +  * Отклик:​ 1000 - немедленное изменение;​ 0...1000 - плавное изменение;​
 +  * Частота дискретизации:​ норма = 150Гц, более высокие значения приведут к увеличению нагрузки на процессор.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=xloGNkTLbFU|Модуль MultiCtl]]
 +
 +==== MultiSynth ====
 +
 +MultiSynth принятые звуковые сообщения (ноты, изменение высоты тона, установка фазы) пересылает всем подключенным на его выход модулям-приемникам. MultiSynth может изменять сообщения перед отправкой,​ если изменить хотя бы один из описанных ниже параметров.
 +
 +Контроллеры:​
 +  * Транспозиция - повышение/​понижение высоты тона на указанное количество полутонов;​
 +  * Случайный тон - диапазон случайных изменений высоты тона; 256 соответствует одному полутону (диапазон от -1 до +1 полутона);​
 +  * Динамика;​
 +  * Подстройка:​ -256 - на один полутон ниже; 0 - без изменений;​ 256 - на один полутон выше;
 +  * Случайная фаза - случайное смещение фазы;
 +  * Случайная динамика;​
 +  * Фаза;
 +  * Влияние кривой2 - влияние второй кривой динамики (если 0, то будет использована линейная кривая по умолчанию).
 +
 +Опции:
 +  * Всегда играть ноту C5 - заменять входящие ноты на C5;
 +  * Отсекать ноты с нулевой динамикой;​
 +  * Триггер - нажимаем ноту один раз, и она играет бесконечно,​ до тех пор, пока мы не нажмем ее снова;
 +  * Кривая1 - показывать кривую динамики 1 - зависимость выходной динамики от ноты на входе;
 +  * Кривая2 - показывать кривую динамики 2 - зависимость выходной динамики от входной.
 +
 +Видео:
 +  * [[http://​www.youtube.com/​watch?​v=0FEOZevIYKs|Модуль MultiSynth]]
 +  * [[http://​www.youtube.com/​watch?​v=lo9W2HzJm_s|Модуль MultiSynth. Другой пример]]
 +
 +==== Pitch2Ctl ====
 +
 +Этот модуль преобразует ноты в значения контроллера. ​
 +Например,​ чем выше нота, тем больше громкость.
 +Ноты подаются на вход модуля. ​
 +На выход подключается другой модуль,​ в котором находится интересующий нас контроллер.
 +
 +==== Sound2Ctl ====
 +
 +Этот модуль конвертирует звук в цифровое значение любого контроллера на подключенном к нему выходном модуле.
 +
 +На вход Sound2Ctl подается звук. На выходе Sound2Ctl выдает набор периодических команд типа "​установить контроллер 1 в значение 2000". Частота этих выходных команд задается параметром Sampling Rate.
 +
 +Для временного отключения данного модуля нажмите кнопку Mute (M) или установите контроллер OUT Controller в ноль.
 +
 +Видео: [[http://​www.youtube.com/​watch?​v=Qz9Tmf_MTgE|Модуль Sound2Ctl]]
 +
 +==== Velocity2Ctl ====
 +
 +Этот модуль преобразует параметр динамики нот в значения контроллера. ​
 +Например,​ чем выше динамика,​ тем больше громкость.
 +Ноты подаются на вход модуля. ​
 +На выход подключается другой модуль,​ в котором находится интересующий нас контроллер.
 +====== Настройки ======
 +
 +Глобальные настройки SunVox находятся в окне Preferences,​ вызвать которое можно через главное меню программы.
 +
 +  * Main
 +  * Modules
 +  * Timeline
 +  * Interface
 +  * Audio
 +  * Recording
 +    * Metronome - включение/​выключение метронома.
 +    * Fit pattern to grid - включите,​ если хотите,​ чтобы новый записанный паттерн начинался строго с позиции кратной 32.
 +    * Note quantization - если включено,​ то для записанных вживую нот не будут использоваться эффекты задержки (40…5F).
 +    * Automation quantization - если включено,​ то для записанной вживую автоматизации (команды изменения контроллеров) не будут использоваться эффекты задержки (40…5F); в итоге паттерн может стать более компактным и читаемым (на каждый контроллер будет отдан только один трек).
 +  * MIDI
 +
 +====== Файл конфигурации ======
 +
 +В большинстве случаев вам не надо менять этот файл вручную,​ так как большая часть настроек программы доступна через окно Preferences. Но если вы хотите более детально настроить программу,​ то посмотрите [[http://​www.warmplace.ru/​soft/​sunvox/​sunvox_config.ini|шаблон файла конфигурации]] с подробным описанием всех доступных опций.
 +
 +====== Ссылки ======
 +
 +  * [[http://​www.warmplace.ru/​forum/​viewforum.php?​f=16|Форум]]
 +  * [[http://​www.warmplace.ru/​forum/​viewtopic.php?​f=3&​t=1223|Видео (примеры,​ уроки)]]
 +  * [[http://​www.warmplace.ru/​forum/​viewforum.php?​f=11|Модули]]
 +  * [[https://​soundcloud.com/​sunvox|Музыка на SoundCloud]]
 +  * [[https://​vk.com/​sunvoxtracker|Группа VK]]
 +
 +====== Часто задаваемые вопросы (FAQ) ======
 +
 +===== Интерфейс =====
 +
 +**__Интерфейс сильно тормозит.__**
 +
 +Попробуйте отключить визуализацию модулей в главном меню -> Настройки -> Модули.
 +
 +**__В моей версии SunVox в редакторе паттерна отсутствуют колонки с эффектами и контроллерами__**
 +
 +В мобильных версиях эти колонки скрыты по умолчанию. Чтобы показать их, войдите в главное меню SunVox и нажмите "​Показать дополнительные колонки"​.
 +
 +===== Модули,​ сэмплы,​ эффекты =====
 +
 +**__Как соединять/​разъединять модули?​__**
 +
 +[[sunvox:​manual_ru&#​модуль|Подробный ответ здесь]].
 +
 +**__Соединил модули,​ но ничего не слышу.__**
 +
 +Скорее всего провод от синта подключен в неправильном направлении. Направление движения сигнала по проводу показывается бегущими точками и цветом (яркая часть провода идет от источника;​ бледная - к приемнику).
 +
 +**__Не понимаю,​ как работают контроллеры типа "Set phase"​__**
 +
 +В модуле есть некая огибающая (LFO, Vibrato и т.п.), по которой изменяется тот или иной параметр (например,​ частота фильтра). Форма огибающей в самом распространенном случае - синусоида. По этой огибающей циклически бежит указатель (с выбранной скоростью) - он и является фазой. Бежит он всегда и довольно сложно определить,​ где он находится в данный момент времени. Но бывает,​ что определить это все-таки нужно. Например,​ нужно, чтобы в начале паттерна указатель всегда стоял в начале огибающей. Для этого и нужен контроллер "Set phase" - как только вы меняете его, фаза в тот же момент устанавливается в указанное положение.
 +
 +**__Как загрузить сэмпл?​__**
 +
 +Самый быстрый и простой способ:​ два раза кликаем на пустом месте в окне с модулями,​ в появившемся окне выбора нового модуля нажимаем кнопку "​Загрузить",​ указываем наш сэмпл, жмем OK. Поддерживаются форматы WAV,​AIFF,​XI. Кроме того, сэмпл можно загрузить из JPEG-картинки. Картинка попиксельно преобразуется в звуковую волну.
 +
 +**__Sampler щелкает. Как этого избежать?​__**
 +
 +Во-первых,​ включайте огибающую громкости сэмпла,​ в ней устанавливайте точку удержания (Sustain; это точка, в которой указатель огибающей остановится до тех пор, пока нота не будет отжата),​ а после удержания добавляйте одну или несколько линий спада (с длиной как минимум в 1 тик) в ноль. Это даст вам гарантию того, что сэмпл не будет обрываться резко (что и дает щелчок),​ а будет затухать плавно.
 +Во-вторых,​ проверяйте,​ что Sampler имеет достаточное количество каналов полифонии. При их нехватке так же возникнут щелчки,​ так как новая нота будет помещаться в уже активный канал, с удалением старой ноты.
 +
 +===== Звук =====
 +
 +**__Звук тормозит/​заикается/​подвисает. Что делать?​__**
 +
 +Общие советы
 +
 +  - Убедитесь,​ что дело не в конкретном проекте. Например,​ загрузите файл tiny_tune из папки с examples. Если он играет без тормозов,​ значит,​ у вас просто слишком тяжелый проект (много требовательных к ресурсам модулей) для конкретного компьютера.
 +  - Попробуйте изменить частоту дискретизации (в аудио настройках SunVox) на 48000 (или какую-то другую,​ если знаете точно родную частоту на уровне системы) - иногда это помогает,​ т.к. алгоритмы перевода из 44100 в 48000 бывают весьма медленными.
 +
 +Для Linux
 +
 +  - Зайдите в настройки звука SunVox и посмотрите,​ что прописано в поле Выход. Если там стоит Авто, то замените его на конкретный порт звуковой карты из выпадающего списка. ​
 +  - Если лучше не стало, то запускайте SunVox вот такой командой:​ **<​nowiki>​pasuspender -- ./​sunvox</​nowiki>​** . Это даст эксклюзивный доступ SunVox к звуковой карте через ALSA, все остальные звуковые приложения скорее всего замолчат до тех пор, пока SunVox не закроется.
 +
 +Для Windows CE: зайдите в настройки звука SunVox и экспериментально определите наиболее подходящее значение размера буфера между 1024 и 4096; например,​ для устройств iPAQ лучше всего (меньше заикается) подходит 1536.
 +
 +===== MIDI =====
 +
 +**__Как соединить SunVox с другими приложениями по MIDI?__**
 +
 +  * Windows: используйте [[http://​www.tobias-erichsen.de/​software/​loopmidi.html|LoopMIDI]] для создания виртуальных MIDI портов,​ через которые SunVox можно соединять с другими приложениями.
 +
 +**__Как разделять MIDI ноты по каналам и посылать разным модулям?​__**
 +
 +Заходим в свойства модуля,​ выставляем MIDI IN = "​всегда",​ если этот модуль должен играть всегда (даже когда не выделен). Далее меняем значение канала справа от MIDI IN.
 +
 +===== Разное =====
 +
 +**__SunVox перестал запускаться - падает при каждом старте. Что делать?​__**
 +
 +Попробуйте очистить все настройки и временные файлы SunVox. Для этого SunVox нужно запустить с параметром clearall. Это можно сделать,​ например,​ из командной строки,​ введя "​sunvox clearall"​. В Windows версии для этого предусмотрен скрипт reset_sunvox.bat.
 +
 +===== iOS =====
 +
 +**__Как загружать и выгружать файлы SunVox на iOS-устройствах?​__**
 +
 +Сам по себе SunVox в iOS работает с файлами точно так же, как в любой другой системе. С одним отличием - для SunVox выделено свое файловое хранилище (что-то типа локального диска),​ недоступное для других программ. Ниже приведено описание разных способов доступа к этому хранилищу.
 +
 +  - Через Wi-Fi: откройте SunVox -> Главное меню -> Экспорт/​импорт -> Wi-Fi экспорт/​импорт. Далее следуйте инструкции на экране.
 +  - Через [[http://​support.apple.com/​kb/​HT4094|iTunes File Sharing]]: запустите iTunes на компьютере,​ синхронизируйте его с iOS-устройством,​ выберите SunVox в списке приложений,​ после чего вы получите доступ к файлам приложения.
 +  - Через приложение **Files**.
 +  - В каком-нибудь другом iOS-приложении (почтовый клиент,​ например) выберите аудиофайл,​ и где-то в меню рядом с ним будет функция **Открыть в**, которая позволит открыть выбранный файл при помощи другой программы (в вашем случае - SunVox).
 +
 +**__Как использовать буфер обмена (copy/​paste) между SunVox и другими iOS-приложениями?​__**
 +
 +  * Для копирования аудиофайла (файл уже должен находиться в хранилище SunVox) в другое приложение:​ откройте SunVox -> Главное меню -> Экспорт/​импорт -> Скопировать файл в буфер обмена -> укажите файл. Далее откройте другое звуковое приложение и нажмите там Paste (вставить).
 +  * Для вставки аудиофайла из другого приложения:​ откройте SunVox -> Главное меню -> Экспорт/​импорт -> Вставить файл из буфера обмена. После чего новый файл будет создан в хранилище SunVox. Чтобы быстро его открыть,​ два раза нажмите в пустой области между модулями,​ далее внизу нажмите кнопку "​Загрузить"​ и выберите только что вставленный из буфера файл. Будет создан новый модуль с файлом внутри.
 +
 +===== Android =====
 +
 +**__Нет сигнала с микрофона__**
 +
 +Перейдите в настройки Android -> Приложения -> SunVox -> включите разрешение "​запись аудио"​.
 +
 +[[http://​warmplace.ru/​android/​index_ru.php|Способы решения других известных проблем]]
 +
 +===== macOS =====
 +
 +**__Copy/​Paste не работает,​ предыдущая сессия не восстанавливается__**
 +
 +[[http://​warmplace.ru/​forum/​viewtopic.php?​f=3&​t=4461|Следуйте этой инструкции]]