Yamaha YM3812


Yamaha YM3812, также известная как OPL2 (сокращение для FM Operator Type-L) — электронный компонент, микросхема звукогенератора, разработанная компанией Yamaha в середине 1980-х годов (на подложке кристалла указан 1985 год). Получила известность благодаря широкому применению в ранних звуковых картах для IBM PC-совместимых компьютеров, таких как AdLib и Sound Blaster.

Микросхема имеет обратную совместимость с микросхемой OPL (YM3526), и по сути является немного улучшенной её версией — основные различия заключаются в добавлении трёх вариантов формы сигнала для генераторов частоты. Существует улучшенная версия OPL2 — OPL3 (YMF262), которая также стала популярной и использовалась в более поздних звуковых картах, например в Sound Blaster 16. Другая микросхема со сходными возможностями — YM2413 (OPLL), является упрощённой версией OPL.

С точки зрения программиста, микросхема представляет собой набор из 244 регистров, доступных только на запись. Она может генерировать 9-канальный звук, каждый из каналов имеет по два генератора. Генераторы могут создавать синусоидальные колебания, из которых можно получить три другие формы сигнала — один полупериод синусоиды может быть инвертирован или отключён, а также может быть отключена одна четверть периода, что создаёт сигнал приблизительно пилообразной формы. Такой необычный способ получения разных форм сигнала создаёт характерное для YM3812 звучание. Каждый генератор сигнала имеет свой генератор амплитудной огибающей ADSR-типа. Основной метод синтеза — частотная модуляция, при котором генераторы одного канала модулируют друг друга различными способами.

Звук генерируется полностью цифровой схемой и выводится на внешний ЦАП (YM3014B) в виде потока чисел с плавающей точкой, с частотой дискретизации приблизительно 49720 Гц.