Прокрутить к контенту ↓


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

Введение

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

VOPM — это VST-инструмент, эмулирующий чип OPM (Yamaha 2151). Его написал поклонник домашнего компьютера Sharp X68000 Сэм. VOPM был использован в таких известных релизах, как альбом «Darius Remix» и саундтрек «Omega Five».

О чипе Yamaha OPM

OPM, или Yamaha 2151, представляет собой 4-операторный FM-чип, который был популярен в 1980-х и начале 90-х. Американским и европейским любителям видеоигр, скорее всего, известна игровая приставка Sega Genesis (Mega Drive), звуковой чип которой является немного изменённым вариантом OPM (OPN). Чип также был использован в многочисленных аркадных играх, в том числе Paperboy, Outrun, Metal Slugs 1—5 и Street Fighter II. Любители MIDI, возможно, помнят Yamaha OPM по таким устройствам Yamaha начального уровня, как FB-01 и DX100, последний из которых был использован в сочетании с talkbox в некоторых хитах Zapp and 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 и #99 со значением 0. Затем с помощью CC #6 можно задать громкость.

Фильтр нижних частот

Наконец, OPM также снабжён фильтром нижних частот, который по умолчанию включён. Его состояние устанавливается с помощью NRPN #2. Для переключения состояния следует отправить MIDI CC #98 со значением 2 и #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.