VOPM VSTi. Руководство по программному FM-синтезатору

Введение

Краткое описание

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.