VOPM VSTi. Руководство по программному FM-синтезатору
- Автор:
- Louis Gorenfeld
- Опубликовано:
- Перевод:
- Марат Таналин
- Опубликован:
Введение
Краткое описание
VOPM — это VST-инструмент, эмулирующий чип OPM (Yamaha YM2151). Его разработал поклонник домашнего компьютера Sharp X68000 (X68K) Сэм. VOPM был использован в таких выдающихся релизах, как альбом «Darius Remix» и саундтрек к игре «Omega Five».
О чипе Yamaha OPM
OPM, или Yamaha YM2151 — 4-операторный FM-чип, который был популярен в 1980-х и начале 90-х. Американским и европейским любителям видеоигр, скорее всего, известна игровая приставка Sega Genesis (Mega Drive), звуковой чип OPN2 которой представляет собой немного изменённый вариант OPM. Чип также был использован в многочисленных аркадных играх, в том числе «Paperboy», «Outrun», «Street Fighter II» и играх серии «Metal Slug». Любители MIDI, возможно, помнят Yamaha OPM по таким устройствам Yamaha начального уровня, как FB-01 и DX100, последний из которых был использован в сочетании с talkbox в некоторых хитах «Zapp & Roger».
Редактирование тембров
Структура VOPM
OPM снабжён четырьмя осцилляторами. Как и в других синтезаторах Yamaha, их называют операторами. Они подписаны как C1, C2, M1 и M2, и каждый из них генерирует синусоидальный сигнал и снабжён ADSR-огибающей. Операторы можно соединить друг с другом восемью различными способами, которые называются алгоритмами соединения и имеют краткое обозначение «Con».
Выходной сигнал каждого отдельного оператора можно модулировать по амплитуде с помощью генератора низкой частоты (LFO), способного генерировать волны четырёх различных форм. Кроме того, с помощью LFO можно модулировать высоту тона каждого оператора. Оператор M1 способен также модулировать сам себя, а оператор C2 может вместо синусоидальной волны генерировать тональный (pitched) шум. Более подробно возможности синтезатора рассматриваются ниже.
Огибающие
Огибающие в VOPM представляют собой разновидность ADSR-огибающей (attack-decay-sustain-release). Громкость оператора начинается с 0 и возрастает до максимального уровня (TL) за время, заданное скоростью атаки (attack rate, AR). Затем она снижается (decay) до уровня удержания (sustain level, D1L) за время, заданное первой скоростью затухания (first decay rate, D1R). Во время удержания ноты громкость уменьшается до 0 за время, определяемое второй скоростью затухания (second decay rate, D2R). Когда нота отпущена, громкость сразу начинает снижаться со скоростью отпускания (release rate, RR). Огибающие наглядно отображаются на графике (EG) справа от схемы алгоритма.
Самое верхнее положение ползунка TL соответствует нулевому выходному уровню оператора, самое нижнее положение — максимальному уровню.
Расстройка (detuning)
Иногда бывает полезно расстроить операторы, чтобы сделать звучание более грубым или добиться эффекта хоруса. В OPM доступны два способа управления расстройкой: грубый (DT2) и точный (DT1). Эффект от DT2 наиболее заметен: при использовании в качестве модулятора он добавляет к звуку грубый или гонгоподобный тон.
Для носителей точная расстройка более полезна, чем грубая, а при использовании с модулятором она может сделать звук более резким и добавить интересную текстуру. Работа этой настройки в OPM несколько необычна. Величина точной расстройки изменяется в диапазоне от 0 до 7. Значения 1—3 повышают высоту тона, а значения 5—7 — понижают. Значения 0 и 4 эквивалентны и влияния на высоту тона не оказывают. Таким образом, для достижения максимальной величины точной расстройки между двумя операторами следует установить расстройку для одного оператора в значение 3 (максимальное положительное значение), а для второго — в значение 7 (максимальное отрицательное значение).
Алгоритмы и включение/ выключение операторов
При редактировании тембров пользователи могут выбирать из 8 различных алгоритмов соединения. Алгоритм можно выбрать щелчком на одной из пронумерованных кнопок (0—7). Текущий алгоритм схематически отображается в области непосредственно над кнопками («Con»).
Схема изображает алгоритм соединения следующим образом: когда оператор модулирует фазу другого оператора, отображается стрелка, идущая от одного оператора (модулятора) к другому (носителю). Когда сигналы операторов смешиваются (складываются), отображается знак «+». Последний оператор, M1 — единственный оператор с обратной связью, и это отображается на схеме в виде контура обратной связи с подписью «FL». Наконец, стрелка справа, уходящая в пустоту, иллюстрирует выходной сигнал. Каждый оператор можно включать и выключать с помощью соответствующей кнопки маски оператора, расположенной непосредственно под полем «ProgNum».
Генератор низкой частоты (LFO)
VOPM снабжён генератором низкой частоты (LFO), который можно использовать для модуляции высоты тона и/или амплитуды. Пользователи могут выбирать между волнами пилообразной (saw), прямоугольной (square), треугольной (triangle) формы и шумом. Пилообразная волна является восходящей при использовании для модуляции высоты тона, и нисходящей — при модуляции амплитуды. Аналогичным образом треугольная волна начинается с восходящей части в режиме модуляции фазы, и с нисходящей — в режиме модуляции амплитуды.
LFO работает на частоте, заданной параметром FRQ, а максимальные значения глубины модуляции высоты тона и амплитуды задаются параметрами PMS и AMS соответственно. Амплитудную модуляцию можно включить или выключить для каждого оператора путём установки флажка «AMS Enabled» (AMS-En), расположенного непосредственно под маской оператора (OpMsk). Текущую глубину модуляции амплитуды или высоты тона можно задать либо как атрибут тембра (параметр AMD или PMD), либо с помощью MIDI-сообщения типа CC. Грубый уровень амплитудной модуляции устанавливается путём отправки CC #1 или #12, а точный уровень — CC #33 или #44. Аналогично, грубый уровень модуляции высоты тона устаналивается путём отправки CC #2 или #13, а точный уровень — CC #34 или #45.
Кроме того, для LFO можно задать задержку путём отправки MIDI-сообщения CC #78. Если эта задержка задана, LFO начнёт работать лишь спустя определённое время после события note-on. Это полезно для создания солирующих партий в трекере или пошаговом секвенсоре без ручного ввода CC-данных для параметра AMD или PMD каждой ноты.
Зависимость огибающей от высоты ноты (Key Scaling)
Для имитации характера звучания некоторых музыкальных инструментов иногда полезно сделать так, чтобы огибающая отрабатывала тем быстрее, чем выше исполненная нота. Например, струнные инструменты затухают тем быстрее, чем выше исполненная нота. В VOPM за это отвечает параметр «Key Scaling» (KS) оператора.
Коэффициент умножения
Коэффициент умножения (MUL) — целочисленная величина, на которую умножается номинальная частота колебаний выходного сигнала оператора.
Нулевому отображаемому значению соответствует реальный коэффициент 1 (т. е. отсутствие умножения). Для положительных отображаемых значений реальный коэффициент умножения вдвое больше отображаемого: отображаемому значению 1 соответствует реальный коэффициент 2, отображаемому значению 2 — коэффициент 4, и т. д.; выбор нечётного коэффициента умножения невозможен.
Генерация шума
Помимо возможности генерации шума с помощью высоких уровней обратной связи, VOPM также снабжён генератором шума. Если параметр «Noise» включён, оператор C2 вместо синусоидальной волны будет генерировать шум. Частоту генерируемого шума можно задать с помощью ползунка «NFRQ», расположенного непосредственно под кнопкой «Noise».
Шестнадцатеричное представление
Одной из возможностей VOPM является отображение параметров в шестнадцатеричном виде вместо десятичного (используемого по умолчанию). За это отвечает кнопка «Dec» непосредственно под кнопками «Import» и «Export».
Таблица обозначений
Обозначение | Расшифровка | |
---|---|---|
По-английски | По-русски | |
AMS | Amplitude Modulation Sensitivity | Чувствительность амплитудной модуляции |
AR | Attack Rate | Скорость атаки |
C1/C2 | Carrier 1, Carrier 2 | Носитель 1, носитель 2 |
D1L | Decay Level 1 | Уровень удержания 1 |
D1R/D2R | Decay Rate 1, Decay Rate 2 | Скорость затухания при удержании 1, скорость затухания при удержании 2 |
DT1 | Fine Detuning | Точная расстройка |
DT2 | Coarse Detuning | Грубая расстройка |
FL | Feedback Level | Уровень обратной связи |
FRQ | LFO Frequency | Частота генератора низкой частоты |
KS | Key Scaling | Зависимость огибающей от высоты ноты |
M1/M2 | Modulator 1, Modulator 2 | Модулятор 1, модулятор 2 |
MUL | Multiplier | Коэффициент умножения частоты оператора |
NFRQ | Noise Frequency | Частота шума |
OP | Operator | Оператор |
PMS | Pitch Modulation Sensitivity | Чувствительность модуляции высоты тона |
RR | Release Rate | Скорость окончательного затухания |
TL | Total Level (operator level) | Уровень выходного сигнала оператора |
MIDI-сообщения (CC)
Одноголосный режим и портаменто
По умолчанию VOPM работает в многоголосном (полифоническом) режиме, но его можно переключить в режим одноголосного инструмента. Это можно сделать отправкой MIDI CC #126. Инструмент можно вернуть в многоголосный режим отправкой CC #127. При работе в одноголосном режиме, когда две ноты перекрываются, первая нота переходит к другой ноте путём плавного изменения частоты со скоростью портаменто (portamento rate). Скорость портаменто задаётся с помощью CC #5. Обратите внимание, что, если не удерживать обе ноты, одна нота заменит другую без портаменто.
Портаменто также можно использовать в многоголосном режиме. Чтобы включить портаменто, отправьте MIDI CC #65 со значением 64 или выше. В этом режиме каждая нота плавно переходит в следующую. Этот параметр требуется устанавливать только в многоголосном режиме. Начальной нотой портаменто также можно управлять с помощью MIDI CC #84.
Смежной возможностью является изменение высоты тона (pitch bending). Реализуется отправкой MIDI-сообщений колеса изменения высоты тона. По умолчанию диапазон изменения высоты тона в VOPM составляет ±2 полутона, но его можно изменить отправкой стандартного RPN. Делается это так: сначала отправляются MIDI CC #100 и #101 со значением 0. В результате выбирается команда «pitch bend». Затем отправляется сообщение «set data (hi)» CC #6 со значением в диапазоне от 0 до 96.
Тактовая частота OPM
Тактовую частоту OPM тоже можно изменить. По умолчанию она равна 3,58 МГц, но может быть установлена в значение 3,57 или 4 МГц. Для этого служат команды NRPN: сначала отправляются MIDI CC #98 и #99 со значением 0. Затем MIDI CC #6 со значением в диапазоне 0—63 выбирает тактовую частоту 3,58 МГц, в диапазоне 64—111 — 3,57 МГц, а значения 112 и выше — 4 МГц. Изменение тактовой частоты отражается на скорости срабатывания огибающих.
Выходная громкость
Если громкость VOPM слишком низка, её можно изменить с помощью NRPN #1. Будьте осторожны с этой настройкой: она осуществляет сдвиг разряда (каждое значение вдвое выше предыдущей амплидуды), и результат без клиппинга обычно обеспечивают только значения 0 или 1. Эксперименты с этой настройкой могут легко привести к очень высоким громкостям и клиппингу. Чтобы задать выходную громкость, сначала отправьте MIDI CC #98 со значением 1 и CC #99 со значением 0. Затем с помощью CC #6 можно задать громкость.
Фильтр нижних частот
Наконец, OPM также снабжён фильтром нижних частот, который по умолчанию включён. Его состояние устанавливается с помощью NRPN #2. Для переключения состояния следует отправить MIDI CC #98 со значением 2 и CC #99 со значением 0. Затем CC #6 со значением в диапазоне 0—63 выключит фильтр, а 64—127 — включит.
Полный список MIDI-сообщений (CC)
Ниже представлен список MIDI-сообщений (CC), поддерживаемых VOPM.
Hex | Dec | Действие |
---|---|---|
$1 | 1 | Глубина амплитудного LFO (hi) |
$2 | 2 | Глубина частотного LFO (hi) |
$3 | 3 | Частота LFO (hi) |
$5 | 5 | Скорость портаменто |
$6 | 6 | Ввод данных (Set Data) (hi) |
$7 | 7 | Громкость |
$A | 10 | Панорама |
$C | 12 | Глубина амплитудного LFO (hi) |
$D | 13 | Глубина частотного LFO (hi) |
$10 | 16 | Громкость TL0 (hi) |
$11 | 17 | Громкость TL1 (hi) |
$12 | 18 | Громкость TL2 (hi) |
$13 | 19 | Громкость TL3 (hi) |
$21 | 33 | Глубина амплитудного LFO (lo) |
$22 | 34 | Глубина частотного LFO (lo) |
$23 | 35 | Частота LFO (lo) |
Hex | Dec | Действие |
---|---|---|
$2C | 44 | Глубина амплитудного LFO (lo) |
$2D | 45 | Глубина частотного LFO (lo) |
$30 | 48 | Громкость TL0 (lo) |
$31 | 49 | Громкость TL1 (lo) |
$32 | 50 | Громкость TL2 (lo) |
$33 | 51 | Громкость TL3 (lo) |
$41 | 65 | Включение/ |
$4E | 78 | Задержка LFO |
$54 | 84 | Управление портаменто |
$62 | 98 | Данные NRPN (lo) |
$63 | 99 | Данные NRPN (hi) |
$64 | 100 | Данные RPN (lo) |
$65 | 101 | Данные RPN (hi) |
$78 | 120 | Выключить всё (Force all off) |
$7E | 126 | Одноголосный режим |
$7F | 127 | Многоголосный режим |
Импорт и экспорт тембров
VOPM поддерживает импорт тембров из файлов в формате MDX, разработанном для домашнего компьютера Sharp X68000. Чтобы импортировать инструменты, эти файлы следует конвертировать в формат OPM с помощью утилиты MDXPG. Кроме того, VOPM поддерживает экспорт тембров в формате OPM.