Серия OPL (FM Оператор Type-L) — семейство звуковых чипов, разработанное компанией Yamaha . Серия OPL представляет собой недорогие звуковые чипы, обеспечивающие FM-синтез для использования в компьютерных, музыкальных и видеоигровых приложениях.
Серия чипов OPL позволила создать доступные звуковые карты для IBM PC-совместимых устройств, таких как AdLib и Sound Blaster , став стандартом де-факто, пока в начале-середине 1990-х годов они не были вытеснены картами с « волновым синтезом ».
Внутренняя работа чипов полностью цифровая. Каждый FM-тон генерируется цифровым генератором с использованием формы прямого цифрового синтеза . Низкочастотный генератор и генератор огибающей заставляют FM-оператор выдавать выходной сигнал с плавающей запятой для ЦАП. Декапсуляция чипов показывает две справочные таблицы: одну для расчета экспоненты, а другую для логарифмического синуса. [1] Это позволяет оператору FM рассчитывать результат без каких-либо множителей, используя формулу и две справочные таблицы на 256 записей. Обе таблицы хранятся в виде пар значений, округленных до ближайшего целого числа, причем второе значение представляет собой разницу между ним и первым значением.
Четверть логарифмически преобразованного синусоидального сигнала сохраняется в виде выборочной аппроксимации в таблице постоянного запоминающего устройства (ПЗУ) объемом 256 слов , вычисляемой для значений от 0 до 255. Остальная часть синусоидального сигнала экстраполируется с помощью его свойства симметрии. Масштабирование выходного сигнала генератора до желаемого объема обычно осуществляется путем умножения, но YM3526 избегает умножения, работая с сигналами с логарифмическим преобразованием, что сводит умножение к более дешевым с точки зрения вычислений сложениям. [2]
Другое ПЗУ на 256 слов хранит экспоненциальную функцию в виде справочной таблицы, используемой для преобразования сигнала логарифмической шкалы обратно в линейную шкалу, когда это необходимо, в качестве финального этапа, когда выходные сигналы генератора суммируются (непосредственно перед выходной шиной ЦАП). , при этом сигнал модулятора всегда задерживается на одну выборку перед сигналом несущей. [3] Эта таблица вычисляется для значений от 0 до 255. Чтобы вычислить показатель степени, к значению по индексу, заданному младшим значащим байтом входных данных, добавляется 1024 ; это становится мантиссой, а оставшиеся входные биты становятся экспонентой выходного числа с плавающей запятой.
YM3526 , представленный в 1984 году, был первым в семействе OPL, предоставляющим девятиканальный синтезатор с двумя операторами. Очень близким чипом является Y8950 , или MSX-AUDIO , который использовался в качестве расширения MSX . По сути, это YM3526 с возможностью записи и воспроизведения ADPCM .
Схема имеет 244 различных регистра только для записи . Он может воспроизводить 9 каналов звука, каждый из которых состоит из двух генераторов, или 6 каналов с 5 доступными ударными инструментами. Каждый генератор может генерировать синусоидальные волны и имеет собственный генератор огибающей ADSR . Его основным методом синтеза является синтез частотной модуляции , осуществляемый посредством фазовой модуляции фазы генераторов одного канала выходным сигналом другого.
Выходной сигнал YM3526, последовательность чисел с плавающей запятой , синхронизированная с частотой дискретизации примерно 49716 Гц, отправляется на отдельный чип цифро-аналогового преобразователя (ЦАП) YM3014B.
Обзор регистров канала:
Для всего канала:
Для каждого из двух осцилляторов:
Есть также несколько параметров, которые можно установить для всего чипа:
В 1985 году Yamaha создала YM3812 , также известную как OPL2 . Он обратно совместим с YM3526. Еще один родственный чип — YM2413 (OPLL), представляющий собой урезанную версию.
Среди недавно добавленных функций — возможность выбирать между четырьмя формами сигналов для каждого отдельного генератора путем установки регистра. В дополнение к исходной синусоидальной волне можно создать три модифицированные формы волны: полусинусоидальные волны (где отрицательная часть синуса приглушена), абсолютные синусоидальные волны (где отрицательная часть инвертируется) и псевдопилообразные волны ( четверть синуса поднимается вверх только с тихими участками между ними). Этот странный способ создания сигналов придает YM3812 характерный звук. [5]
Ограниченный двухоператорным FM-синтезом, чип не способен точно воспроизводить тембры реальных инструментов и ударные звуки. Мелодическая полифония ограничена девятью голосами в мелодическом режиме и шестью голосами в ударном режиме. [6] : 27.14–17.16.
Имея небольшую конкуренцию на рынке на момент появления Adlib и Sound Blaster , этот чип стал де-факто стандартом для звуковых карт, совместимых с Sound Blaster. [6] : 27.14
YM3812 используется с внешним чипом ЦАП YM3014B для вывода звука в аналоговой форме, как в YM3526.
Модернизированная версия OPL2, YMF262 (также известная как OPL3 ), была выпущена в 1990 году. [7] Она усовершенствовала набор функций YM3812, используя четырехоператорный FM-синтезатор, который производит гармонически более богатый звук, аналогичный современным потребительским синтезаторам. клавиатуры, такие как Yamaha DX100 . [6] : 27.16
Были добавлены следующие функции: [8]
В YMF262 также удалена поддержка малоиспользуемого режима CSM (режим композитного синуса), представленного в YM3812 и YM3526. [3]
Режим FM-синтеза YMF262 можно настроить различными способами: [6] : 27,16–27,18 [8]
Как и его предшественники, OPL3 выводит звук в форме цифрового ввода-вывода, для чего требуется внешний чип ЦАП, такой как YAC512.
YMF262 использовался в обновленных версиях Sound Blaster Pro , Sound Blaster 16 , AdLib Gold , картах Pro AudioSpectrum от Media Vision и картах Windows Sound System от Microsoft . [4] : 45 Конкурирующие производители звуковых чипов (такие как ESS, [9] OPTi, [10] Crystal [11] и другие) разработали свои собственные OPL3-совместимые аудиочипы с разной степенью соответствия оригинальному OPL3.
В 1995 году Yamaha также выпустила полностью совместимый маломощный вариант YMF262 под названием YMF289 (OPL3-L), предназначенный для звуковых карт PCMCIA и портативных компьютеров. [12] Он использовался в некоторых звуковых картах Sound Blaster 16 производства Creative Technology . YMF289B работает в паре с сопутствующим чипом ЦАП с плавающей запятой YAC513 или YAC516.
YMF289 полностью совместим с регистрами и сохраняет набор функций YMF262, но с рядом отличий: [12]
Производная версия, разработанная ESS Technology , получившая название ESFM , представляет собой усовершенствованный OPL3-совместимый клон с 72 операторами, включающий два режима работы: собственный режим и устаревший режим, который контролирует его набор функций и поведение. [9] В собственном режиме ESFM позволяет отображать 18 FM-голосов с четырьмя операторами, каждый с индивидуальной регулировкой частоты и глубиной LFO для каждого оператора, [13] потенциально позволяет значительно увеличить сложность генерируемых тонов. Драйверы для Windows 9x содержат собственные исправления инструментов, использующие этот расширенный режим. И наоборот, режим Legacy обеспечивает полную обратную совместимость с YMF262 от Yamaha. [9] Выход ESFM в этом режиме в целом соответствует YMF262, но некоторые тона воспроизводятся совершенно по-другому, что приводит к уникальным искажениям звука и музыки в некоторых играх.
ESFM доступен в звуковых чипах ESS, начиная с ES1688 AudioDrive на базе ISA и заканчивая ES1946 Solo-1E на базе PCI, тогда как более ранние чипы требовали внешнего чипа FM-синтезатора (обычно Yamaha YMF262). Серия звуковых чипов ESS Maestro на базе PCI основана на программной реализации FM-синтеза, в которой отсутствуют специальные функции ESFM.
Более поздние аудиоконтроллеры Yamaha для ПК, включая YMF278 ( OPL4 ), однокристальные Yamaha YMF718/719S и семейство PCI YMF724/74x, включали блок синтеза FM YMF262 для обратной совместимости с устаревшим программным обеспечением. См. YMF7xx для получения дополнительной информации.
YM3526 особенно использовался в расширении Commodore 64 , Sound Expander , а также в нескольких аркадных играх , таких как Terra Cresta и Bubble Bobble . Модифицированная версия YM3526 со звуком ADPCM, известная как Y8950 (MSX-AUDIO), использовалась в компьютере MSX в качестве дополнительного расширения.
YM3812 нашел широкое применение в звуковых картах на базе IBM PC , таких как AdLib , Sound Blaster и Pro AudioSpectrum (8bit) , [14] , а также в нескольких аркадных играх Nichibutsu , Toaplan и других.
YM2413 использовался в расширении FM Sound Unit для Sega Mark III и японской модели Sega Master System , а также в стандарте MSX-MUSIC, который был выпущен как в виде отдельных карт расширения (например, Panasonic FM-PAC), так и в виде отдельных карт расширения. встроен в несколько компьютеров MSX2+ и MSX TurboR.
YMF262 использовался во многих звуковых картах на базе IBM PC , сначала с популярным Sound Blaster Pro 2 в 1991 году, а затем с Sound Blaster 16 ASP в 1992 году, а также с Pro AudioSpectrum (16 бит). [14] Более поздние модели серий Sound Blaster 16 и Sound Blaster AWE интегрировали OPL3 с другими чипами, при этом Creative Labs использовала чип-клон OPL3, CQM, интегрированный с другими чипами в более поздних моделях конца 1995 года. [15 ] Это также используется в нескольких аркадных играх от Tecmo и других.
YMF278 использовался в карте Moonsound для MSX, а также в карте SoundEdge от Yamaha для совместимых с IBM PC.
Синтезаторы, использующие YM3812: [16]
Синтезаторы, использующие YM2413 (YM3812 со сниженной стоимостью): [16]
Реализация OPL3 с открытым исходным кодом была написана в SystemVerilog и адаптирована к FPGA в 2015 году. [19]
{{cite web}}
: CS1 maint: archived copy as title (link)