User Tools

Site Tools


sunvox:manual_ru

PDF версия

Что такое SunVox

SunVox - это программа для создания музыки, совмещающая в себе мощный модульный синтезатор и трекер. Идеально подходит для разного рода экспериментов в области электронной музыки, поиска нового звучания, новых стилей. SunVox поддерживает большое количество систем и устройств (даже очень старых и медленных), что дает возможность писать музыку где угодно и на чем угодно.

Официальная страница SunVox: http://warmplace.ru/soft/sunvox/index_ru.php

Что такое трекер? Немного истории

Так как SunVox относится к классу музыкальных трекеров, рассмотрим более детально, что это за тип программ.

Первым в мире музыкальным трекером принято считать программу Ultimate SoundTracker, написанную немецким разработчиком и композитором Карстеном Обарски в 1987 году для компьютера Commodore Amiga. Программа была создана в первую очередь для написания музыки к играм. Своим внешним видом она напугала немало музыкантов с классическим образованием. Ее называли сложной и лишенной логики. Выглядел первый трекер примерно так:

Ultimate SoundTracker by Karsten Obarski

Несмотря на критику, у программы впоследствии появилась армия поклонников, самые продвинутые из которых взломали оригинальный код и на его основе неофициально стали выпускать улучшенные клоны. К примеру, так выгдядел достаточно популярный клон под названием NoiseTracker:

NoiseTracker

Но откуда такой странный интерфейс? Где нотный стан с символами нот? Давайте разберемся.

Commodore Amiga обладал революционными аппаратными характеристиками для домашнего компьютера того времени. В частности, на нем был установлен звуковой чип Paula - настоящий цифровой сэмплер. В оперативной памяти компьютера лежало несколько фрагментов записанных звуков (сэмплов) в формате PCM 8-бит. Чип Paula мог играть одновременно четыре таких сэмпла, динамически меняя их громкость и скорость - это давало четыре независимых канала (или трека), на каждом из которых могла играть определенная последовательность из сэмплов. Но четыре канала - не так уж много, при написании сложной музыки нужно очень аккуратно их использовать. Например, взяв аккорд из трех нот у нас останется ровно один канал, на котором нужно умудриться расположить барабаны и бас. Поэтому интерфейс первых трекеров - это ничто иное, как пульт управления звуковым чипом, представление компьютерной музыкальной композиции на самом низком уровне. Мы видим четыре аппаратных канала (колонки), и некую последовательность действий внутри. Все параметры чипа полностью подконтрольны пользователю. Это, кстати, объясняет смысл популярного направления чиптюн - музыки, написанной для аудиочипа (хотя сегодня чаще всего используются эмуляторы известных чипов, или вообще некая стилизация).

MOS8364 Paula

Так как трекеры писали программисты, их логика представляется крайне простой. Музыка - это последовательность команд для звукового чипа. То есть - нечто, напоминающее программу на ассемблере. Последовательность исполняется трекером сверху вниз. Для наглядности команды группируются по каналам, описанным выше. Команда говорит, например: играй сэмпл под номером 2 с громкостью 20. Или: плавно повышай тональность на этом канале. Команда состояла из таких частей:

  • нота (три символа); например: A#3;
  • номер сэмпла (один символ);
  • номер эффекта (один символ); например, эффект F менял скорость воспроизведения, а эффект 3 обеспечивал плавный переход с одной ноты на другую;
  • параметр эффекта (два символа; диапазон от 00 до FF).

Номера решено было записывать в шестнадцатеричной системе счисления, так как это более компактно. Поэтому кроме цифр на экране мы видим и буквы, что неподготовленных пользователей окончательно сбивает с толку.

А коль скоро трекерная музыка - это программа в буквенно-цифровом виде, то и редактировать ее можно, как в текстовом редакторе, при помощи обычной компьютерной клавиатуры. Отсюда вытекает один важный плюс трекеров - ноты и ритмические рисунки можно вбивать очень быстро, по аналогии со скоростным печатанием текста.

Еще один плюс исходит из желания программистов все упрощать. А именно: часто повторяющиеся куски кода нелепо каждый раз переписывать с нуля - достаточно выделить их в отдельные подпрограммы и далее в нужных местах указывать адреса этих подпрограмм. Так же и в музыкальном коде. Например, припев повторяется два раза. Просто дублировать его вручную - неудобно и неэкономично. Поэтому мы выделяем припев в отдельную подпрограмму, которая в среде музыкальных редакторов называется паттерн (кусок партитуры), и далее по ходу композиции в нужных местах выставляем номер этого паттерна. Кроме того, если в дальнейшем вы захотите изменить пару нот в припеве, то сделать это нужно будет лишь в одном паттерне, а не во всей композиции целиком. В классических трекерах имеется список паттернов. Он говорит, в каком порядке играть паттерны и внешне выглядит, например, так: 01, 02, 03, 03, 01, 01. После нажатия PLAY трекер начинает этот список читать и играет паттерны ровно в том порядке, в котором они указаны.

Ну и завершающая фишка классических трекеров - формат файлов для хранения музыки. Самый распространенный из них - формат MOD, который пришел с Ultimate SoundTracker и укоренился в трекерном пространстве на года, даже после того, как PC сместил Амигу со сцены. Прелесть такого файла в том, что в нем хранится вся необходимая информация для проигрывания и редактирования: сэмплы, паттерны и некоторые дополнительные параметры. Скачав MOD, вы услышите музыку именно в том виде, в котором задумывал ее автор, с мельчайшими нюансами. Сегодня огромный архив MOD-музыки вы можете найти на сайте Mod Archive. SunVox без проблем грузит форматы MOD и XM, поэтому обязательно посетите этот ресурс.

Что же было дальше? Количество клонов SoundTracker росло. Они обрастали новыми функциями, совершенствовался интерфейс, увеличивалось количество каналов. Трекерная музыка стала частью компьютерной субкультуры Demoscene. Amiga уходила в прошлое, и трекеры переползали на другие платформы, самой массовой из которых стала конечно же PC (с системами DOS и Windows). Тут появились новые трекерные форматы 2-го поколения: S3M (Scream Tracker), XM (FastTracker), IT (Impulse Tracker). И пока домашние компьютеры не отличались большой производительностью, а файлы по сети передавались с черепашьей скоростью - MOD-музыка стала своеобразной заменой современного MP3, так как файлы с неплохим звуком могли весить считанные килобайты.

FastTracker 2 Impulse Tracker

В конце 90х мощность компов дошла до уровня, пригодного для генерации звука профессионального качества в реальном времени. Пошла волна всевозможных программных синтезаторов, появился формат плагинов VST. Разумеется, это отразилось и на трекерах. Первым представителем трекеров 3-го поколения стал Jeskola Buzz, оказавший наибольшее влияние на архитектуру будущего SunVox. Buzz дал возможность вместо сэмплов использовать сложные комбинации модулей-синтезаторов и эффектов. За ним в игру вступили не менее крутые Psycle, Renoise и т.д. По качеству они уже не уступали дорогому студийному ПО, хотя в интерфейсе по-прежнему узнавался родной Ultimate SoundTracker. Для кого-то это комфортная среда, для кого-то - нет. Исключительно дело вкуса и привычки, не более. Но когда речь заходит о характерном трекерном звучании, то это относится либо к старым программам, либо к некой стилизации под них, ибо на практике трекеры 3-го поколения по звуку могут ничем не отличаться от какого-нибудь Cubase с набором VST-шек.

SunVox ставит перед собой задачу объединить и дополнить лучшее из мира трекерной музыки, охватив при этом максимальное количество платформ, чтобы композитор не ощущал каких-либо ограничений и мог работать на любом железе и в любой системе.

Интересные факты

  • Для тех, кто знаком со стандартом MIDI, стоит запомнить одно важное отличие канала в трекере от канала в MIDI. MIDI-канал чаще всего назначен на один инструмент. Трекерный канал ни к чему не привязан - это просто хранилище для любой информации, в нем могут играть любые инструменты в любом порядке, но (и это очень важно) не одновременно. Например, на одном канале сначала может играть пианино, а сразу после него сэмплы барабанов.
  • Классический трекер управлял звуковым чипом Paula компьютера Amiga. Существуют трекеры и для других чипов, более простых, не способных играть сэмплы. Речь о таких микросхемах, как AY-3-8910 (знакомая нам по ZX Spectrum 128), SID (для компьютеров Commodore 64), Yamaha YM3812 (FM-синтезатор в старых звуковых картах).

Список терминов

Большая часть приведенных ниже терминов применима не только к SunVox, но и к другим звуковым и музыкальным приложениям.

  • Динамика (Velocity) - сила нажатия ноты; может меняться в любой момент, пока нота звучит. Чаще всего от динамики зависит громкость звука, хотя возможна привязка и к другим параметрам, например, при помощи модуля Velocity2Ctl или через опции внутри Analog Generator. Отличается от параметра Velocity в стандарте MIDI, где он он дословно переводится как “скорость нажатия” и относится только к команде включения ноты.
  • Огибающая (Envelope) - кривая (точки, соединенные линиями), описывающая график зависимости какого-либо параметра от времени; чаще всего ось времени горизонтальная (слева направо), а увеличение значения параметра идет снизу вверх.
  • Отсчет - минимальная часть аудио сигнала, амплитудное значение звуковой волны в определенный момент времени. В англоязычных статьях отсчет называют сэмплом (sample), но это вызывает некоторую путаницу, т.к. сэмплом может быть еще и фрагмент звука (достаточно длинный).
  • Сэмпл (Sample) - фрагмент звука в виде набора отсчетов; может быть очень длинным (кусок бита/мелодии или даже целая звуковая дорожка) или очень коротким (один удар барабана, одна нота инструмента и т.д.).
  • Тик (Tick) - квант времени в паттернах SunVox. Расстояние между двумя нотами в паттерне не может быть меньше одного тика.
  • Удержание (Sustain, поддержка) - точка, в которой движение по огибающей останавливается до момента выключения ноты (отпускания клавиши).
  • Фаза (Phase) - указатель на то, в каком месте в данный момент звучит колебание генератора или целый сэмпл. Чаще всего означает начальную фазу - то есть, позицию, с которой начнется проигрывание.
  • Частота дискретизации (Sample rate) - количество отсчетов в секунду.
  • BPM (Beats Per Minute) - количество ударов в минуту.
  • TPL (Ticks Per Line) - количество тиков в строке.

Минимальные системные требования

Windows:

  • нет специальных требований.

Linux:

  • любой дистрибутив;
  • libsdl1.2.

macOS:

  • Mac OS X 10.6.

Android:

  • Android 2.3.

iOS:

  • iOS 7.

Windows CE:

  • ARM-совместимый процессор.

PalmOS:

  • ARM-совместимый процессор;
  • PalmOS 5.0;
  • для устройств T|T, T2 и ZIRE71 желательно установить утилиту FHR (Fargo Heap Resizer) для увеличения доступной памяти. Страница FHR: http://fanoush.wz.cz/palm/fhr.html

Установка

Windows:

  1. скачайте SunVox для Windows (архив в формате ZIP);
  2. найдите скачанный файл на диске и распакуйте его в любое место (можно даже на внешнюю флешку);
  3. там, куда файл был распакован, вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, потом в win32;
  4. в папке win32 вы увидите два файла: sunvox.exe и sunvox_lofi_console.exe; первый - это полноценный SunVox; второй - это версия SunVox для слабых компьютеров, качество звука в ней немного хуже.

Linux:

  1. скачайте SunVox для Linux (архив в формате ZIP);
  2. найдите скачанный файл на диске и распакуйте его (желательно в локальную директорию пользователя /home/имя_пользователя);
  3. там, куда файл был распакован, вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, а потом в linux_xxx, где xxx - название архитектуры вашего компьютера;
  4. в последней папке вы найдете исполняемые файлы SunVox, их можно запускать: sunvox - основная версия; sunvox_lofi - версия для слабых компьютеров; sunvox_no_simd - версия для компьютеров с процессором без поддержки SIMD инструкций;
  5. если исполняемые файлы по какой-то причине не запускаются - откройте окно терминала, зайдите (при помощи команды cd) в директорию, где лежит исполняемый файл sunvox, и введите сначала chmod a+x sunvox , а потом ./sunvox ; если программа не запустится - скопируйте текст ошибки, которую она выдаст в терминале, и пошлите его на email nightradio@gmail.com.

macOS:

  1. скачайте SunVox для macOS (архив в формате ZIP);
  2. скачанный архив будет распакован автоматически; если нет - распакуйте его самостоятельно просто кликнув на нем два раза;
  3. там, где архив был распакован, вы обнаружите папку sunvox - скопируйте ее куда-нубудь в личную директорию (созданную вами); не используйте системные папки, типа Downloads и Applications;
  4. зайдите в папку sunvox, потом еще раз в sunvox, потом в osx;
  5. в папке osx вы найдете файл SunVox - просто запустите его.

Android:

  • SunVox в Google Play (это единственный источник, из которого можно получить официальную версию SunVox на Android).

iOS:

  • SunVox в App Store (это единственный источник, из которого можно получить официальную версию SunVox на iOS).

Windows CE:

  1. скачайте SunVox для Windows CE (архив в формате ZIP);
  2. найдите скачанный файл на диске и распакуйте его;
  3. там, куда файл был распакован, вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, потом в wince;
  4. в папке wince вы найдете файл в формате cab - его нужно скопировать на устройство с Windows CE и далее произвести установку на устройстве;
  5. для работы SunVox требуется библиотека GAPI, но на некоторых старых Windows CE устройствах она отсутствует, поэтому можно попробовать установить ее вручную, например, вот отсюда: http://www.wincesoft.de/html/gapi_for_hpc_s.html

PalmOS:

  1. скачайте SunVox для PalmOS (архив в формате ZIP);
  2. найдите скачанный файл на диске и распакуйте его;
  3. там, куда файл был распакован, вы обнаружите папку sunvox - войдите в нее, далее еще раз в sunvox, потом в palmos;
  4. в папке palmos вы найдете несколько версий SunVox в формате prc - скопируйте одну из них (какую именно - зависит от устройства, определяется экспериментально) на SD-карту памяти PalmOS-устройства в папку PALM/Launcher (если ее нет - создайте);
  5. вставьте карту памяти обратно в PalmOS-устройство и вы увидите, что SunVox появился в списке доступных программ.

Сравнение версий

Система Архитектура Формат звукового движка Мультитач MIDI GPIO Ограничения
Linux x86, x86_64, ARM (Maemo/MeeGo-устройства, Raspberry Pi, PocketCHIP и пр.), ARM64 (PINE64 и пр.) 32-bit floating-point / 4,12 fixed-point ДА Полная поддержка ДА Версия для MeeGo больше не обновляется (последняя - 1.8.1)
Windows x86 32-bit floating-point / 4,12 fixed-point ДА Полная поддержка
Windows CE ARM 4,12 fixed-point Только сохранение и загрузка файлов
macOS x86, 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 ДА Полная поддержка
PalmOS ARM 4,12 fixed-point Только сохранение и загрузка файлов Не обновляется. Последняя версия - 1.8.1. Без записи и без модулей MetaModule и Vorbis player

Как видно из таблицы, есть два формата звукового движка SunVox. Рассмотрим их.

  • 32-bit floating-point - синтез звука ведется с использованием 32-битных (и в некоторых случаях 64-битных) чисел с плавающей запятой. Это высокая точность, при которой человеческий слух не способен уловить шум дискретизации (ступеньки цифрового звука). Требует модуль операций с плавающей запятой (FPU), который встроен в большинство современных процессоров.
  • 4,12 fixed-point - синтез звука ведется с использованием чисел с фиксированной запятой: 4 бита на целую часть и 12 бит на дробную. Плюс - быстрая скорость на слабых процессорах без FPU. Минус - слегка заметный шум дискретизации, который присутствует как при обычной игре на SunVox, так и при экспорте в WAV. Хотя если при экспорте выбрать 32-битный формат, то потом в звуковом редакторе уровень шума можно уменьшить через нормализацию сигнала.

В одних случаях этот формат выбирается автоматически (в зависимости от типа устройства). В других (например, в Linux) - есть возможность выбрать из нескольких вариантов SunVox с разными движками.
Для того, чтобы узнать, какой формат используется в вашей версии, запустите SunVox, войдите в главное меню и выберите пункт “О программе”. В появившемся окне внизу вы увидите нужную информацию.

Интерфейс

Интерфейс SunVox поделен на окна:

  • редактор паттерна (сверху);
  • музыкальная клавиатура; ее можно использовать для игры на выбранном модуле или для редактирования паттерна;
  • редактор модулей (маршрутизация, схема обмена сигналами между модулями);
  • редактор таймлинии (внизу; бывает скрытым); если выбрать здесь паттерн, то его содержимое отобразится в верхнем редакторе.

У каждого редактора может быть свое меню - кнопка с тремя горизонтальными полосками. Кликнув на одном из окон мы делаем его активным, помещаем в фокус. Далее все нажатия клавиш в виде команд в первую очередь будут посылаться этому активному окну. Если окно не знает, что делать с этими командами, то оно пошлет их редактору паттерна, т.к. это самое приоритетное окно.

Размер окон можно менять. Для этого предусмотрены специальные узкие панели (вертикальные и горизонтальные), захватывая одну из которых можно менять размер сразу нескольких областей. На одной из панелей расположены часы, регулятор громкости и кнопки управления проигрыванием. Стоит отметить одну особенность кнопки Стоп. При первом нажатии она, как и ожидается, останавливает проигрывание. При повторном нажатии состояние всех синтезаторов будет сброшено, а звуковой движок перейдет в режим ожидания.

Горячие клавиши

Действие некоторых клавиш зависит от того, какое окно находится в фокусе в данный момент. Окно попадет в фокус после того, как вы кликнете на нем.
Клавиши можно переназначать, зайдя в Главное меню → Настройки → Интерфейс → Сочетания клавиш. Любое действие (из списка ниже) можно привязать к кнопкам обычной клавиатуры или внешнего MIDI-устройства.

Общие:

Сочетание клавиш Описание
Q,W,E,R,T и т.д. ноты
F1…F8 переключение октавы
SHIFT + ) подняться на октаву
SHIFT + ( опуститься на октаву
CTRL + Z отменить действие (UNDO)
CTRL + Y или SHIFT + CTRL + Z повторить действие (REDO)
CTRL + X вырезать
SHIFT + DELETE вырезать
CTRL + C скопировать
CTRL + V вставить
SHIFT + INSERT вставить
CTRL + A выделить все
CTRL + D размножить выделенный участок
CTRL + N добавить новый модуль/паттерн
CTRL + O загрузить новый проект
CTRL + S сохранить проект
CTRL + B сохранить проект в файл BACKUP.sunvox

Редактор паттерна:

Сочетание клавиш Описание
ПРОБЕЛ включить/выключить режим редактирования паттерна
CAPSLOCK или '~' вставить команду “Note OFF” (выключения ноты)
TAB переход на следующий трек в паттерне
SHIFT + TAB переход на предыдущий трек в паттерне
INSERT (или Command+I для Mac) вставить пустую ноту и сдвинуть содержимое трека вниз
BACKSPACE удалить предыдущую ноту со сдвигом содержимого трека вверх
DELETE (или Fn+Backspace для Mac) удалить текущую ноту
K вставить команду SP (установка высоты тона в колонке XXYY)
SHIFT + K вставить команду “Prevous Track”
CTRL + ( начать выделение в редакторе паттерна
CTRL + ) закончить выделение в редакторе паттерна
CTRL + M вставить с наложением (из буфера обмена берутся только ненулевые элементы)
CTRL + T выделить текущий трек в паттерне
CTRL + I интерполировать параметр эффекта или значение контроллера
CTRL + U интерполировать значение velocity
SHIFT + '=' повысить тональность выделенного участка паттерна на полутон
SHIFT + '-' понизить тональность выделенного участка паттерна на полутон
SHIFT + ']' повысить тональность выделенного участка паттерна на октаву
SHIFT + '[' понизить тональность выделенного участка паттерна на октаву
SHIFT + одна из стрелок выделение участка паттерна
CTRL + '=' увеличить шаг редактирования в паттерне
CTRL + '-' уменьшить шаг редактирования в паттерне

Модули (маршрутизация):

Сочетание клавиш Описание
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 + F9 начать/закончить запись
F9 начать/остановить воспроизведение
F10 играть с начала
F11 играть текущий выделенный паттерн
F12 стоп
SHIFT + F12 перейти в начало

Виртуальный Терменвокс:

Сочетание клавиш Описание
SHIFT + игра на инструменте Touch Theremin запить текущей тональности из Touch Theremin в паттерн

Базовые понятия

Проект

Музыкальное произведение (проект) в SunVox строится из следующих частей:

  • модули задают звучание;
  • паттерны управляют модулями (посылают им ноты и прочие команды);
  • таймлиния задает, в каком порядке играть паттерны.

Все части хранятся в едином файле проекта. Т.е. если вы грузили какие-то модули или сэмплы с диска, то после сохранения проекта эти модули и сэмплы можно удалять без последствий, т.к. они были сохранены внутри файла проекта. Проект должен открываться и играть одинаково (или очень близко к оригиналу) независимо от устройства и системы.

Паттерн

Паттерн - это кусок партитуры в виде набора треков, поделенных на строки. На каждом треке по порядку идут музыкальные события (команда+параметр): ноты, автоматизация контроллеров, эффекты и пр. Редактор активного паттерна находится в верхней части экрана. Проигрываение паттерна идет сверху вниз. Треки играют одновременно. К примеру, можно сделать два трека: на одном выставить ноты басового синтезатора, а на другом - барабаны. А можно те же самые ноты чередовать на одном треке, если они друг другу не мешают.

У каждого паттерна есть своя маленькая картинка (иконка) 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/Шестнадцатеричная_система_счисления

В данном документе большая часть чисел приведена в шестнадцатеричной форме. Но для тех случаев, когда надо явно указать, что число десятичное, к нему будет добавлено окончание dec. Например: 256dec.

Общий формат события такой: NN VV MM CCEE XXYY

Ниже приведено подробное описание колонок:

  • NN - код команды или код ноты, где буква обозначает непосредственно ноту (маленькая буква - диез), а цифра - номер октавы:
    • SP - установить высоту тона XXYY; при этом 0000 - это самый высокий тон, а 7800 - самый низкий (нота С0); один полутон равен 100 (256dec);
    • << - Previous Track; позволяет накладывать дополнительные эффекты на предыдущий трек паттерна; при этом в качестве доп. эффектов нельзя использовать 2x, 40..5F, 1D;
    • == - выключение ноты ​(Note OFF); после него нота еще может звучать некоторое время (затухание);
    • 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,04, … FF);
  • EE - номер эффекта, применяемого к последней включенной ноте в текущем треке; эффекты, выделенные жирным, запоминают последний параметр, т.е. если XXYY = 0, то будет использоваться последний ненулевой параметр:
    • 01 - плавное повышение тональности (portamento up; скорость повышения = XXYY) в каждом тике строки;
    • 02 - плавное понижение тональности (portamento down; скорость понижения = XXYY) в каждом тике строки;
    • 03 - плавный переход на ноту (скорость перехода = XXYY);
    • 04 - вибрато (XX - частота (один период на строку = 20); YY - амплитуда (один полутон = 40));
    • 07 - установить фазу (или смещение сэмпла) XXYY в процентах (0000 - это 0%; 4000 - это 50%; 8000 - это 100%);
    • 08 - арпеджио (XX - кол-во прибавляемых полутонов для второй ноты; YY - кол-во прибавляемых полутонов для третьей ноты);
    • 09 - установить фазу (или смещение сэмпла) XXYY в отсчетах*256dec;
    • 0A - плавное повышение/понижение velocity (XX - скорость повышения; YY - скорость понижения);
    • 0F - установка скорости проигрывания (XXYY: 0001..001F - количество тиков в строке (по умолчанию - 6); 0020..00FF - BPM) или временной сетки (XXYY: F001..F020);
    • 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 - re-trigger (повторное включение ноты) с периодом 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;
    • 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).

Пример:

NN VV MM CCEE XXYY
-- -- 01 8100 0000 - установить MIDI-контроллер Modulation в минимум
-- -- 01 8100 8000 - установить MIDI-контроллер Modulation в максимум

Ниже приведен список всех доступных 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)

Интерполятор

Интерполятор - инструмент, позволяющий делать плавные переходы между значениями в любых колонках паттерна, настраивая тип кривой перехода, количество шума, количество повторов и т.д. Вызывается через меню редактора паттерна.

Первый ряд кнопок - тип кривой плавного перехода. Предпоследняя кнопка со стрелочками в первом ряду означает дословно “туда-сюда” или “ping-pong”. То есть, переход будет сначала от начального значения до конечного, а потом обратно от конечного до начального. Последняя кнопка с цифрой - это длина шага.

Второй ряд кнопок позволяет выбрать те колонки, на которых будет интерполяция. Можно выбирать несколько колонок за раз - если нажимать их с SHIFT-ом.

Третий ряд - параметры Шум и Повторять. Шум задает количество случайных искажений. А параметр “Повторять” задает количество повторов плавного перехода. Такими повторами можно делать ритмические конструкции, например.

Четвертый ряд - начальное и конечное значения огибающей. Они нужны для кнопки Применить огибающую, которая описана ниже.

Внизу окна самые важные кнопки: Интерполировать и Применить огибающую. Эти две функции похожи, но есть пара отличий.

  • Простая интерполяция берет начальные точки (между которыми нужен переход) из паттерна. Вы выделяете кусок паттерна. Начальное значение интерполяции - это значение в первой строке вашего куска. Конечное значение - в последней строке. Видео: Интерполяция
  • А вот функция Применить огибающую берет начальное и конечное значение не из паттерна, а из четвертого ряда параметров, описанного ранее. Это первое отличие. Второе: после применения огибающей кривая не просто будет записана поверх, а будет умножена на предыдущие данные. То есть - промодулирует старые значения. Это нужно, например, когда у вас уже стоят нужные значения в какой-то колонке, а вам нужно сделать плавное затухание или плавное нарастание этих значений. Видео: Применение огибающей

Модуль

Модули

Модуль - синтезатор, эффект или фильтр. То, из чего строится звук в SunVox. В отдельном окне модули отображаются в виде прямоугольников, соединенных линиями (проводами). Направление движения сигнала по проводу показывается бегущими точками и цветом (яркая часть провода идет от источника; бледная - к приемнику). Схема взаимодействия модулей называется маршрутизацией. По проводам может идти не только звук, но и поток команд (например: включение ноты, выключение ноты, изменение значения контроллера и т.д.).

В SunVox встроен набор базовых модулей. Базовые модули можно объединять в сложные цепочки для получения более сложных звуков и эффектов. Несколько модулей можно объединять в один при помощи MetaModule. Любой модуль можно сохранить или загрузить с диска. В архиве SunVox есть несколько директорий с дополнительными модулями.
Место для размещения нового модуля помечается указателем в форме крестика. Нажмите в нужное вам место, и указатель переместится туда.
Создать или загрузить модуль можно одним из нижеприведенных способов.

  • Два раза нажимаем на пустой области между модулями. Появляется диалоговое окно со списком базовых модулей, встроенных в SunVox. Если нужен базовый модуль - кликайте по нему два раза, или сначала выбирайте модуль, а потом жмите OK. Если нужно загрузить модуль с диска - жмем кнопку “Загрузить”.
  • Заходим в меню окна с модулями. Если нужен базовый модуль - в меню жмем “Новый”. Если нужно загрузить модуль с диска - в меню выбираем “Загрузить”.

При загрузке модуля с диска формат файла не принципиален. SunVox попытается превратить любой файл в модуль. Например, JPG-картинку, которая пиксель за пикселем будет преобразована в сэмпл. Или - текстовый файл, каждая буква которого также будет преобразована в отсчет сэмпла, и в итоге будет создан модуль Sampler. А для файлов в форматах sunvox, mod, xm, midi будет создан модуль MetaModule, внутри которого будет находиться загруженная композиция.

Есть несколько способов соединить/разъединить два модуля:

  • нажимаем на модуль-источник; жмем кнопку ; нажимаем на модуль-приемник;
  • нажимаем (не отжимая) на модуль-источник с нажатым SHIFT и тащим соединительную линию к модулю-приемнику; отжимаем кнопку мыши и SHIFT;
  • для мультитач устройств: одним пальцем нажимаем на модуль-источник, вторым - на модуль-приемник.

Повторное соединение действует, как разъединение.

Контроллеры

У модуля есть параметры (на “железных” синтезаторах - это ручки, кнопки и прочие элементы управления). В среде SunVox их называют контроллерами:

Контроллеры модуля

Контроллерами можно управлять из паттерна - это так называемая автоматизация параметров модуля. Причем не важно, какой именно паттерн будет посылать команды контроллеру: в SunVox нет жесткой привязки паттернов к модулям и их параметрам.
Если нажать SHIFT, а потом на контроллер, то его значение запишется в паттерн (в текущую позицию курсора). Если нужно записать более сложную автоматизацию, то есть три дополнительных способа:

  1. можно вручную управлять контроллерами так, как хочется, а все эти изменения будут автоматически записываться в специальный паттерн в реальном времени; для этого просто нажмите кнопку записи (REC);
  2. можно в паттерне прописать начальное и конечное значение контроллера (скажем, в начале и в конце паттерна), потом выделить этот участок и воспользоваться Интерполятором (в меню) для заполнения промежуточных значений с плавным переходом;
  3. выбирается один трек паттерна; в нем заполняются колонки MM (номер модуля) и CC (номер контроллера); затем в меню паттерна включается функция “Рисовать уровни XXYY”, после чего кривую автоматизации можно рисовать от руки прямо на треке.

Существуют контроллеры глобальные и локальные. Возьмем к примеру контроллер “Панорама” в модуле Generator. Это глобальный контроллер. Он задает расположение звука в стерео пространстве “лево-право”. Минимальное значение - левый канал. Максимальное - правый канал. Панорама выставляется для всего модуля целиком.
Но что, если нам нужно выставить разные значения панорамы для разных нот. Например, я нажал две ноты одновременно и хочу, чтобы первая нота звучала в левом канале, а вторая - в правом.
Решение в лоб - использовать два генератора. Один с панорамой 0000. Второй с панорамой 8000.
Но есть решение проще - использовать локальный контроллер “Панорама”, который будет действовать на конкретную ноту на конкретном треке. Выглядит это так:

E3 01 0300 0000 | g3 01 0300 8000

причем эту картинку можно продолжить, если панораму нужно изменять с течением времени:

      0300 1000 |       0300 7000
      0300 2000 |       0300 6000

Правило здесь простое: как только на треке выбрана какая-то нота - следующие за ней команды автоматизации будут относиться конкретно к этой ноте, а не ко всему модулю. То есть - к локальным контроллерам, а не глобальным.
Не у всех модулей есть локальные контроллеры. Список доступных можно посмотреть в описании модуля. Если локальный контроллер отсутствует, то команда посылается глобальному.
Итак, глобальные - на весь модуль целиком. Локальные - на конкретный звук, канал полифонии.

Двойной клик на контроллере или нажатие правой клавишей мыши приведет к открытию окна со свойствами контроллера. В окне свойств можно более точно управлять контроллером, сбрасывать его, устанавливать в случайное значение, привязывать к MIDI ручкам и MIDI кнопкам на внешних устройствах:

Свойства контроллера

Режимы

Некоторые модули SunVox имеют контроллер “Режим”, которым можно задавать качество и уменьшать нагрузку на процессор. Вот некоторые возможные значения этого параметра:

  • HQ - высокое качество; cтерео; линейная интерполяция;
  • HQmono - высокое качество; моно; линейная интерполяция;
  • LQ - низкое качество; стерео; без интерполяции;
  • LQmono - низкое качество; моно; без интерполяции;
  • HQspline - высокое качество; стерео; сплайн-интерполяция.

Если у вас не самый быстрый компьютер, и на некоторых проектах вы замечаете неприятные тормоза и заикания, то старайтесь следовать этим советам при написании музыки:

  • переключайте модули в монофонические режимы (Mono, HQmono или LQmono);
  • переключайте модули в режимы низкого качества (LQ или LQmono);
  • уменьшайте параметр “Полифония” в модулях, которым не нужно много каналов полифонии;
  • не используйте модуль Reverb, или используйте его в режиме LQ с выключенным фазовым фильтром;
  • используйте модуль Filter вместо Filter Pro;
  • отключайте интерполяцию в модуле Sampler;
  • если возможно, в модуле Generator установите атаку и затухание в ноль;
  • не ставьте частоту дискретизации модулей Glide и Sound2Ctl больше 150.

Таймлиния

Таймлиния (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Гц.

Видео: Модуль Analog Generator

DrumSynth

Синтезатор ударных инструментов. Имеет встроенный набор звуков, сгруппированных по нотам:

  • C, C#, D, D# - bass drum;
  • E, F, F# - hihat;
  • G, G#, A, A#, B - snare drum.

Этот модуль звучит лучше на частоте дискретизации 44100Гц.

Видео:

FM

Синтезатор, основанный на алгоритме частотной модуляции (FM).

Количество операторов: 2. Первый оператор (Carrier) - базовая синусоида. Второй оператор (Modulator) - синусоида, изменяющая частоту первого оператора. В именах контроллеров имеются префиксы “C.” и “M.”, показывающие, к какому оператору относится контроллер.

Этот модуль звучит лучше на частоте дискретизации 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 - режим работы.

Видео:

Generator

Генератор различных типов колебаний с огибающей.

Данный модуль может принимать входящий в него сигнал для фазовой модуляции самого себя. Для этого подключите на вход Generator'а любой другой источник звука, и этот источник будет влиять на частоту модуля Generator. Степень влияния изменяется контроллером Phase modulation.

Контроллеры:

  • Volume - громкость;
  • Type - форма колебаний:
    • 0 - треугольная;
    • 1 - пила;
    • 2 - прямоугольная;
    • 3 - белый шум;
    • 4 - нарисованная вручную;
    • 5 - синус;
    • 6 - половина периода синуса;
    • 7 - половина периода синуса без пустых промежутков;
    • 8 - четверть периода синуса.
  • Panning - панорама;
  • Attack - время атаки;
  • Release - время затухания;
  • Polyphony - полифония;
  • Mode - режим работы;
  • Sustain - ожидание отжатия клавиши после атаки (0 - откл; 1 - вкл);
  • Frequency modulation: 0 - откл … 256 - использовать входящий сигнал для частотной модуляции;
  • Duty cycle - коэффициент заполнения (только для прямоугольной формы волны).

Видео:

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, редактировать и рисовать звуковую волну, редактировать огибающие громкости и панорамы.

Видео:

SpectraVoice

SpectraVoice выдает звук с заданным спектром. Спектр можно представить так: двухмерный график; ось X - частота от басов к высоким; ось Y - амплитуда (громкость). На этом графике можно расположить 16 гармоник, указав у каждой гармоники ее положение на оси X, амплитуду, форму, ширину. Номер гармоники выбирается параметром Harmonic.

Например, выбираем гармонику с номером 0. Далее выставляем ее параметры.

  • h.freq - частота.
  • h.volume - амплитуда.
  • h.bandwidth - ширина, насколько гармоника будет размазана по оси X.
  • h.bandtype - тип гармоники:
    • 0 - горб (одна вторая периода синусоиды);
    • 1 - прямоугольник;
    • 2…5 - несколько пиков в ряд, получается нечто похожее на орган;
    • 6 - более сглаженный горб (полный период синусоиды)

После того, как все параметры выставлены, жмем кнопку Render и SpectraVoice генерирует новый звук по заданным параметрам. Далее нажимаем клавиши пианино и слушаем, что получилось.

Видео: Модуль SpectraVoice

Эффекты

Amplifier

Усилитель сигнала с дополнительными возможностями: установка DC-смещения, инверсия сигнала, установка ширины стерео-панорамы.

Данный модуль можно использовать для разделения стереосигнала на два монофонических. Для этого сначала оставляем нужный нам канал при помощи контроллера “Панорама”: 0 для левого или 128 для правого. Далее звук этого канала надо вернуть в центр (чтобы он не звучал только в одном ухе) - уменьшаем значение контроллера “Ширина стерео” до нуля. И все готово - на выходе получаем только выбранный канал из исходного стереосигнала.

Compressor

Side chain компрессор.

Видео: Модуль Compressor

DC Blocker

Фильтр, убирающий DC-смещение сигнала. Применяйте его, если на осциллографе видите, что центр сигнала явно смещен вверх или вниз.

Delay

Задержка стерео-сигнала.

Distortion

Модуль для “грязных” искажений звука.

Echo

Эхо.

EQ

3-полосный эквалайзер.

Filter

В режиме HQ фильтр работает на полную мощность (double-sampled). В режиме LQ фильтр работает в два раза быстрее, но со следующими последствиями:

  • частотный диапазон уменьшается с 14 кГц до 7 кГц; то есть, если вам нужно установить частоту среза в 2000 Гц, вы должны ставить 4000 Гц;
  • LQ-алгоритм быстрее (специально для меньшей нагрузки на процессор), но это в редких случаях приводит к нежелательным искажениям сигнала, в основном тогда, когда во входном сигнале доминируют высокочастотные составляющие.

Контроллеры:

  • Volume - громкость выходного сигнала;
  • Frequency - частота среза; максимум = 14000 Гц;
  • Resonance - резонанс;
  • Type - тип фильтра:
    • 0 - lowpass (фильтр низких частот);
    • 1 - highpass (фильтр высоких частот);
    • 2 - bandpass (полосовой фильтр);
    • 3 - notch (узкополосный заграждающий фильтр);
  • Response - скорость изменения параметров frequency, resonance и volume;
  • Mode - режим работы фильтра:
    • 0 - double sampled stereo;
    • 1 - double sampled mono;
    • 2 - low quality stereo;
    • 3 - low quality mono;
  • Impulse - этот контроллер посылает следующую команду: скопировать указанное значение Impulse в контроллер Frequency, далее плавно (со скоростью Response) возвратить Frequency в прежнее состояние; сам контроллер Impulse сбрасывается в ноль после каждой отправки команды;
  • Mix - контроллер показывает, в какой пропорции смешивать исходный и отфильтрованный сигналы;
  • LFO freq - частота колебаний контроллера Frequency;
  • LFO power - амплитуда колебаний контроллера Frequency;
  • Set LFO phase - установить фазу генератора LFO;
  • Exponential freq - если включен, то шкала частот становится экспоненциальной;
  • Roll-off - крутизна среза (dB на октаву);
  • LFO frequency units - выбор единиц измерения контроллера LFO freq;
  • LFO waveform - форма волны LFO.

Видео:

Filter Pro

Рекурсивный фильтр повышенной точности. Более медленный, чем модуль Filter.

Flanger

Эффект фланжер.

LFO

Амплитудная модуляция входящего сигнала встроенным генератором низкой частоты.

Loop

Эффект многократного повторения входящего в модуль сигнала. Максимальная длина петли = 2 строки паттерна.

Видео: Модуль Loop

Modulator

Модуль амплитудной или фазовой модуляции. Первый подключенный на вход сигнал считается несущим (Carrier). Все последующие подключенные на вход - модулирующие (Modulator), которые влияют на громкость или частоту первого.

Pitch Shifter

Модуль для изменения тональности любого звука в реальном времени.

Видео: Модуль Pitch Shifter

Reverb

Ревербератор.

Vocal filter

Вокальный фильтр. Придает любому звуку окраску человеческого голоса.

Видео: Делаем красивый хор при помощи модуля Vocal filter

Vibrato

Модуль периодического изменения высоты тона входящего сигнала.

WaveShaper

WaveShaper позволяет изменять форму исходного сигнала, используя график, в котором ось X - амплитуда входного сигнала (input), ось Y - амплитуда выходного сигнала (output).

Разное

Feedback

SunVox запрещает подключение модулей в бесконечную петлю (выход идет на вход), но это можно сделать, если пропустить петлю через два последовательных модуля Feedback (как показано на картинке).

Задержка внутри Feedback = 20 мс.

Glide

Glide принимает на вход ноты, а на выходе выдает команды плавного перехода между этими нотами. К выходу нужно подключать, например, модули-генераторы.

GPIO

При помощи этого модуля можно, например, посылать сигналы на внешние светодиоды, или опрашивать кнопки, подключенные к “ногам” GPIO на системной плате.

Для работы модуля нужен Linux со включенным интерфейсом GPIO. Если интерфейс не включен, модуль GPIO все равно будет отображаться в SunVox, но не будет выполнять никаких действий.

Видео: Использование GPIO на одноплатном компьютере Raspberry Pi

MetaModule

MetaModule - это модуль, внутри которого находится отдельная независимая копия SunVox. То есть, можно взять готовую композицию в формате .sunvox, загрузить ее в MetaModule, после чего либо проиграть эту композицию (без изменений или с изменением тона в режиме арпеджиатора), либо играть отдельными ее модулями. MetaModule затем можно сохранить в файл формата .sunsynth, получив тем самым готовый кросс-платформенный SunVox инструмент или эффект - некий аналог VST-плагина.

Есть два способа игры на MetaModule:

  1. установить контроллер “Входной модуль”, после чего все ноты пойдут на указанный модуль внутри MetaModule; в этом способе возможна полифония;
  2. установить контроллер “Играть паттерны” и опцию Арпеджиатор (если нужно), после чего ноты будут запускать проигрывание всего проекта внутри MetaModule; полифония в этом способе невозможна, хотя это ограничение может быть снято в будущих версиях SunVox.

MultiCtl

Данный модуль позволяет управлять несколькими контроллерами (на разных модулях) одновременно, изменяя значение всего одного базового контроллера.

Контроллеры:

  • Значение - исходное значение;
  • Усиление (норма = 256);
  • Квантование - максимальное количество уровней в конечном значении;
  • Выходное смещение.

Видео: Модуль MultiCtl

MultiSynth

MultiSynth принятые звуковые сообщения (ноты, изменение высоты тона, установка фазы) пересылает всем подключенным на его выход модулям-приемникам.

Видео:

Pitch2Ctl

Этот модуль преобразует ноты в значения контроллера. Например, чем выше нота, тем больше громкость. Ноты подаются на вход модуля. На выход подключается другой модуль, в котором находится интересующий нас контроллер.

Sound2Ctl

Этот модуль конвертирует звук в цифровое значение любого контроллера на подключенном к нему выходном модуле.

На вход Sound2Ctl подается звук. На выходе Sound2Ctl выдает набор периодических команд типа “установить контроллер 1 в значение 2000”. Частота этих выходных команд задается параметром Sampling Rate.

Для временного отключения данного модуля нажмите кнопку Mute (M) или установите контроллер OUT Controller в ноль.

Видео: Модуль 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.

SunVox берет свои настройки из файла sunvox_config.ini или sunvox_config.txt. Директория, в которой должен лежать этот файл, зависит от операционной системы.

  • Для Linux: директория с SunVox или домашняя директория пользователя (/home/username/.config/SunVox/).
  • Для Windows: директория с SunVox или /Documents and Settings/username/Application Data/.
  • Для macOS: директория с SunVox или /Users/username/Library/Caches/.
  • Для Windows CE: корень локальной файловой системы (/) или /Documents and Settings/username/Application Data/.
  • PalmOS: внутренняя память (файл надо сконвертировать в PDB) или корень SD-карты памяти.

Пользователи PalmOS могут сконвертировать файл конфигурации в PDB-формат при помощи этих утилит:

Внутри sunvox_config.ini представляет собой обычный текстовый документ, который можно создавать и редактировать в простейших текстовых редакторах (например, блокнот в Windows). Кодировка документа - UTF8 (желательно), KOI8 или Win1251. Формат документа представлен ниже.

// Удалите символы '//', чтобы активировать нужную строку.

// Активируйте эту опцию, если нужно запустить SunVox без графического интерфейса:
//nowin

// Размер рабочей области окна программы (ширина и высота в пикселях):
width 800
height 600

// Максимальное значение FPS (кол-во кадров в секунду):
// ( меньшее число - меньшая загрузка процессора )
//maxfps 30

// Активируйте эти строки, если нужно отключить соответствующие индикаторы на модулях:
//no_scopes
//no_levels

// Параметры, задающие размер модулей на экране:
//synths_min_num 8
//synth_max_xsize 100
//synth_min_xsize 32
//synth_xsize_divider 8
//synth_ysize_multiplier 80

// Размер UNDO-буфера (в килобайтах):
//undosize 2048

// Поворот интерфейса (в градусах, против часовой стрелки):
// ( работает не на всех платформах )
//rotate 90

// Включение полноэкранного режима:
// ( работает не на всех платформах )
//fullscreen

// Активируйте этот параметр, если у вас сенсорный экран,
// или если просто хотите большие кнопки:
//touchcontrol

// Размер аудио-буфера (кол-во отсчетов):
// ( меньший рамер - меньшая задержка звука )
// ( если частота дискретизации = 44100, то размер аудио-буфера из 44100 отсчетов эквивалентен одной секунде )
buffer 4096

// Имя айдио-устройства:
//  * примеры имен для ALSA (Linux): "hw:0,0", "hw:1,0";
//  * примеры имен для всех остальных систем: "0" - первое устройство; "1" - второе устройство;
//audiodevice hw:0,0

// Имя аудио-драйвера (alsa, oss, sdl, dsound, mmsound, asio):
//  * alsa - ALSA (Linux);
//  * oss - OSS (Linux);
//  * sdl - SDL (Linux);
//  * dsound - DirectSound (Windows);
//  * mmsound - самая старая звуковая система, медленная, но совместимая со всеми Windows и Windows CE устройствами;
//  * asio - ASIO (Windows);
//audiodriver alsa

// Частота дискретизации (кол-во отсчетов в секунду; минимум - 44100):
frequency 44100

// Имя видео-драйвера для Windows CE:
//  * gapi - по умолчанию; требуется библиотека gx.dll, установленная в системе; 
//  * raw - прямой доступ к видеопамяти; не поддерживается некоторыми устройствами; 
//  * gdi - режим совместимости; медленный, но работает везде;
//videodriver gapi

// Принудительная оптимизация интерфейса под перо или мышь:
//pencontrol

// Количество пикселей на дюйм вашего монитора:
//ppi 160

// Коэффициент масштабирования интерфейса (норма=256):
//scale 256

// Увеличение размера пикселя:
// ( для SDL и WinCE raw framebuffer )
//zoom 2

// Активируйте опцию theme
// для включения пользовательских цветовых тем:
// ( далее четыре основных цвета задаются опциями c_0, c_1, c_2, c_3 )
//theme
c_0 #000000
c_1 #101010
c_2 #808080
c_3 #FFFF00

Ссылки

Часто задаваемые вопросы (FAQ)

Интерфейс

Интерфейс сильно тормозит.

Попробуйте отключить визуализацию модулей в главном меню → Настройки → Модули.

В моей версии SunVox в редакторе паттерна отсутствуют колонки с эффектами и контроллерами

В мобильных версиях эти колонки скрыты по умолчанию. Чтобы показать их, войдите в главное меню SunVox и нажмите “Показать дополнительные колонки”.

Модули, сэмплы, эффекты

Как соединять/разъединять модули?

Подробный ответ здесь.

Соединил модули, но ничего не слышу.

Скорее всего провод от синта подключен в неправильном направлении. Направление движения сигнала по проводу показывается бегущими точками и цветом (яркая часть провода идет от источника; бледная - к приемнику).

Не понимаю, как работают контроллеры типа “Set phase”

В модуле есть некая огибающая (LFO, Vibrato и т.п.), по которой изменяется тот или иной параметр (например, частота фильтра). Форма огибающей в самом распространенном случае - синусоида. По этой огибающей циклически бежит указатель (с выбранной скоростью) - он и является фазой. Бежит он всегда и довольно сложно определить, где он находится в данный момент времени. Но бывает, что определить это все-таки нужно. Например, нужно, чтобы в начале паттерна указатель всегда стоял в начале огибающей. Для этого и нужен контроллер “Set phase” - как только вы меняете его, фаза в тот же момент устанавливается в указанное положение.

Как загрузить сэмпл?

Самый быстрый и простой способ: два раза кликаем на пустом месте в окне с модулями, в появившемся окне выбора нового модуля нажимаем кнопку “Загрузить”, указываем наш сэмпл, жмем OK. Поддерживаются форматы WAV,AIFF,XI. Кроме того, сэмпл можно загрузить из JPEG-картинки. Картинка попиксельно преобразуется в звуковую волну.

Sampler щелкает. Как этого избежать?

Во-первых, включайте огибающую громкости сэмпла, в ней устанавливайте точку удержания (Sustain; это точка, в которой указатель огибающей остановится до тех пор, пока нота не будет отжата), а после удержания добавляйте одну или несколько линий спада (с длиной как минимум в 1 тик) в ноль. Это даст вам гарантию того, что сэмпл не будет обрываться резко (что и дает щелчок), а будет затухать плавно. Во-вторых, проверяйте, что Sampler имеет достаточное количество каналов полифонии. При их нехватке так же возникнут щелчки, так как новая нота будет помещаться в уже активный канал, с удалением старой ноты.

Звук

Звук тормозит/заикается/подвисает. Что делать?

Общие советы

  1. Убедитесь, что дело не в конкретном проекте. Например, загрузите файл tiny_tune из папки с examples. Если он играет без тормозов, значит, у вас просто слишком тяжелый проект (много требовательных к ресурсам модулей) для конкретного компьютера.
  2. Попробуйте изменить частоту дискретизации (в аудио настройках SunVox) на 48000 (или какую-то другую, если знаете точно родную частоту на уровне системы) - иногда это помогает, т.к. алгоритмы перевода из 44100 в 48000 бывают весьма медленными.

Для Linux

  1. Зайдите в настройки звука SunVox и посмотрите, что прописано в поле Выход. Если там стоит Авто, то замените его на конкретный порт звуковой карты из выпадающего списка.
  2. Если лучше не стало, то запускайте SunVox вот такой командой: pasuspender -- ./sunvox . Это даст эксклюзивный доступ SunVox к звуковой карте через ALSA, все остальные звуковые приложения скорее всего замолчат до тех пор, пока SunVox не закроется.

MIDI

Как соединить SunVox с другими приложениями по MIDI?

  • Windows: используйте LoopMIDI для создания виртуальных MIDI портов, через которые SunVox можно соединять с другими приложениями.

Как разделять MIDI ноты по каналам и посылать разным модулям?

К сожалению, в SunVox 1.9.2 эта функция еще не реализована. Но она стоит в обязательных планах на будущее :) Сейчас же есть альтернативный способ: можно делить ноты, например, по октавам. Используя несколько модулей MultiSynth с заданными кривыми динамики можно достаточно легко посылать разные ноты на разные модули. Пример

Разное

SunVox перестал запускаться - падает при каждом старте. Что делать?

Попробуйте очистить все настройки и временные файлы SunVox. Для этого SunVox нужно запустить с параметром clearall. Это можно сделать, например, из командной строки, введя “sunvox clearall”. В Windows версии для этого предусмотрен скрипт reset_sunvox.bat.

iOS

Как загружать и выгружать файлы SunVox на iOS-устройствах?

Сам по себе SunVox в iOS работает с файлами точно так же, как в любой другой системе. С одним отличием - для SunVox выделено свое файловое хранилище (что-то типа локального диска), недоступное для других программ. Ниже приведено описание разных способов доступа к этому хранилищу.

  1. Через Wi-Fi: откройте SunVox → Главное меню → Экспорт/импорт → Wi-Fi экспорт/импорт. Далее следуйте инструкции на экране.
  2. Через iTunes File Sharing: запустите iTunes на компьютере, синхронизируйте его с iOS-устройством, выберите SunVox в списке приложений, после чего вы получите доступ к файлам приложения.
  3. В каком-нибудь другом iOS-приложении (почтовый клиент, например) выберите аудиофайл, и где-то в меню рядом с ним будет функция Открыть в, которая позволит открыть выбранный файл при помощи другой программы (в вашем случае - SunVox).

Как использовать буфер обмена (copy/paste) между SunVox и другими iOS-приложениями?

  • Для копирования аудиофайла (файл уже должен находиться в хранилище SunVox) в другое приложение: откройте SunVox → Главное меню → Экспорт/импорт → Скопировать файл в буфер обмена → укажите файл. Далее откройте другое звуковое приложение и нажмите там Paste (вставить).
  • Для вставки аудиофайла из другого приложения: откройте SunVox → Главное меню → Экспорт/импорт → Вставить файл из буфера обмена. После чего новый файл будет создан в хранилище SunVox. Чтобы быстро его открыть, два раза нажмите в пустой области между модулями, далее внизу нажмите кнопку “Загрузить” и выберите только что вставленный из буфера файл. Будет создан новый модуль с файлом внутри.

Android

sunvox/manual_ru.txt · Last modified: 2017/08/30 16:35 by nightradio