Январь 2022

Mega MIDI

Опыт сборки двух версий синтезатора на чипах SEGA Mega Drive

Все заметки цикла Бракованные Детали собраны из контента одноимённого канала, куда я активно писал в 2021 году.

За 2 неполных месяца после начала этой авантюры я собрал уже 4 синтезатора и, всё-равно, значительный кусок процесса остался за кадром. Собранное оборудование потихоньку вытесняет меня из-за стола, а для коробок с компонентами уже пора покупать складской стеллаж.

1 Пост вышел в конце октября 2021.

Сегодняшний выпуск Бракованных Деталей — это полноценный Halloween Special1 потому что сегодня мы будем говорить о кошмаре каждого любителя звука — нетрадиционном синтезаторе с очень ОЧЕНЬ шумным ЦАПом.

Mega MIDI — это проект на основе микросхемы Yamaha YM2612. Она сама по себе является полноценным FM синтезатором со встроенным стерео ЦАПом и 6-голосной полифонией. Неплохо, но таким сейчас никого не удивишь и на очередной выпуск БД такие характеристики не тянут.

Что делает этот чип исключительным? То что он устанавливался в SEGA Mega Drive.

Мощная подводка

До появления компакт дисков производители игровых консолей не могли позволить себе записывать звук и хранить его в виде аудиофайлов и сэмплов на картриджах — память была слишком дорогой. В ту эпоху она и без всякого аудио была под завязку забита спрайтами графики. Вообще-то, чтобы просто вместить графику разработчикам приходилось идти на ухищрения придумывая алгоритмы оптимизации каким бы позавидовал любой архиватор. На Ютюбе полно интересных видео об этом.

Mega Drive mobo
Основная плата SEGA Mega Drive. Yamaha YM2612 слева в центре. Фотка из Википедии.

2 4й канал шум — считаем его за 0.5 канала

Так что в Mega Drive, как и в более ранних консолях, для музыки использовались готовые микросхемы синтезаторов, а сама музыка была записана в память картриджей в виде инструкций для этих синтезаторов и занимала сравнительно немного места. Да, весь современный Chiptune существует только потому что в GameBoy была 3.5-голосная полифония2 и кто-то додумался написать для тамошнего синтезатора приложение-трекер которое позже развилось в знаменитый LSDJ.

На самом деле в Mega Drive было 2 раздельных синтезатора. Помимо YM2612 в консоль устанавливался ещё старый SN76489 — для обратной совместимости с SEGA Master System. Эти две микрухи даже могли работать в паре и особенно упоротые разработчики-перфекционисты использовали эту фичу выжимая из аудио железа всё возможное.

Mega MIDI
Оба чип-синтезатора стоят рядом. Сфоткано до установки дисплея.

3 И теперь у них, очевидно, ПТСР

В YM2612 была куча ошибок. Как в самом синтезаторе, так и в ЦАПе. Кумулятивно они создавали дисторшен проявляющийся в самых неожиданных местах и формах. Иногда эти ошибки влияли даже на громкость воспроизведения. Всё это наложило неизгладимый отпечаток на опыт миллионов детей3, ни с чем не перепутываемый характер звучания игр 90х. SEGA Mega Drive звучит так, как может только она. YM2612 перестали производить в начале 90х заменив на подправленную, но всё ещё плохую YM3438.

Характерный звук YM2612 так глубоко отпечатался в памяти фанатов, что даже современные эмуляторы для Mega Drive начали пытаться повторять эти дефекты.

Получалось плохо. В основном из-за того, что документация для сугубо проприетарных, ориентированных на бизнес-клиентов, микросхем Yamaha, равно как и список найденных ошибок, всплыли в интернетах лишь сравнительно недавно.

YM docs
Да это скан копии B2B документации на японском языке. Что может пойти не так?!

Mega MIDI — синтезатор, который имея MIDI вход позволяет играть инструкции для YM2612 из Comix Zone, или Sonic так, будто ты сам нарулил все эти звучки и сохранил в патчи. Хотите сыграть гимн СССР сэмплами из Batman Forever? Легко! Максимально аутентичное звучание на железе из 90х со всеми его ограничениями и ошибками. Sounds spoooky 🎃.

Особенности проекта и закупка деталей

4 Формат Video Game Music

Mega MIDI — это интерфейс до звуковой системы, которая почти в точности повторяет ту, что использовалась в Sega Mega Drive. Вы забираете с картриджей музыку в виде .vgm4 файлов, потом конвертируете её простым скриптом в инструкции для YM2612 и управляете этими звучками через MIDI вход. Из хороших новостей: конвертировать в реальности ничего не нужно, всё уже сконвертировали до нас.

5 Есть даже подробный User Manual, что для open-source железяк редкость

Меня зацепил дизайн потому что автор уже давно и упорно делает железяки похожей тематики и я уверен, что Mega MIDI не последний его проект на эту тему. Проект хорошо документирован5, выложен на GitHub целиком без каких-то неуклюжих ограничений.

Ну и конечно же: я не мог отказать себе в удовольствии купить ещё этих старинных, японских микрух на Алике да выпить чашечку страданий.

💸 Посмотреть цены 2021 года на свой страх и риск 💸
  • 1680 ₽ — античные микросхемы (почему-то получилось купить их в 4 раза больше, чем нужно, но об этом позже)
  • 3300 ₽ — компоненты на LCSP (медленная и дорогая доставка, вряд ли буду повторять такое)
  • 360 ₽ — дисплей с Али (к сожалению нет модификации этого девайса с OLED)
  • 1020 ₽ — МК и мелочи в Чиподипе
  • 500 ₽ — платы в JLCPCB
  • Всего 6860 ₽

6 Не производятся с начала 90х

Пара слов об античных микросхемах6, которые я опять купил на Али. Не то чтобы меня ничему не научило приключение с Norns, но в этот раз выбора не было совсем. Я купил обе микросхемы синтезатора: YM2612 и YM3438 чтобы попробовать каждую. Так вот: обе оказались неперемаркерованными оригиналами вынутыми из старых плат. Обе исправны.

Сборка и запуск

7 Стандартный disk utility в Mac так не умеет.

Собралось всё само собой и запустилось с первого раза. Такое бывает. Иногда что-то просто начинает работать с первой попытки. Пока, это первый мой синтезатор который не пришлось уговаривать. Конечно, необходимо правильно отформатировать карту памяти7 и покрутить триммер чтобы дисплей начал показывать хоть что-то.

Некоторое время, сразу после запуска, я был уверен, что где-то облажался. Даже с отключенной MIDI-клавиатурой без возможности что-то сыграть синтезатор жутко шумел в наушники. Шумел на столько сильно, что я слышал циклы обновления дисплея.

Ещё до того как вы начнёте орать хочу предупредить, что все ручки громкости и гейна тут выкручены в максимум. Чтобы ничего важного не пропустить.

Потом, правда, у меня хватило ума подключить его через аудиоинтерфейс где можно отрегулировать импеданс. Не могу сказать, что шум значительно уменьшился, но теперь его хотя бы было можно терпеть. Я записал видео с этим шумом и отправил автору на что тот ответил:

«Это и есть тру, аутентичный, легендарный, оригинальный, хрипяще-пердящий звук детства. Ты чё, забыл?! Всё норм, так и должно быть».

И правда: чё это я в самом деле…

Сразу захотелось попробовать «более новый» YM3438, если так вообще можно говорить о микросхеме из 90х. Только оказалось, что нельзя просто вытащить одну микруху из панельки и заменить её на другую: нужно ещё перетасовать несколько резисторов при помощи паяльника.

Ничё не хочу слышать: давайте сделаем вид, что это два разных синтезатора.

В этот момент я подумал, что у меня на руках итак сильно больше компонентов, чем нужно для одного такого девайса и ещё 4 лишних печатных платы. Так что я заказал какую-то мелочь, дисплей и собрал второй Mega MIDI уже на YM3438. Зачем?! Немного для науки, но, в целом: во славу Сатане, конечно!

Итоги и впечатления

8 Oна там всего одна.

Заканчивая собирать Mega MIDI стоит рассказать что он вообще умеет. На самом деле не много. Интерфейс кнопок и ручки8 очень аскетичный, а GUI чересчур по-боярски развалился на 4 строках дисплея.

Mega MIDI
Собрался таким

Вы можете сконвертировать музыку в .opm формат и залить её на SD-карту. Выбрать любой файл и

  • Проиграть голоса из него. В разных файлах их от 1 до 20 шт.
  • Транспонировать голоса по октавам. Это очень сильно и иногда непредсказуемо влияет на результат.
  • Включить LFO, частота которого прибита гвоздями и, на мой вкус, чересчур высока для модуляции.
  • Запомнить понравившуюся настройку повесив её на одну из 7 горячих кнопок пресетов.

9 Фактически вы будете скроллить плоский, одномерный список из сотен файлов.

Ещё есть возможность настраивать параметры самого синтезатора, чтобы нарулить собственный звук не используя бездонную библиотеку в которой, к слову, тяжело ориентироваться при помощи одного только энкодера9. Но для этих параметров нет физических контролов, поэтому всё опять придётся делать через специальный VST плагин.

VST
VST плагин для управления параметрами синтезатора

Из впечатлений осталось следующее:

  • Вообще-то это первый полифонический синтезатор какой я собрал. 6 голосов, на минуточку!
  • Железке резко не хватает фич. Всё, что есть в плагине, хочется видеть на ручках с минимальным интерфейсом на дисплее. Я уверен, что автор планирует реализовать это в будущих версиях. Это очевидное направление.
  • В качестве банка прикольных чиптюн-звуков Mega MIDI довольно интересная игрушка. Наверное, можно прикрутить к синтезатору MIDI секвенсор или трекер вашего Ableton и получится шестиканальный LSDJ.
  • Хардварный синтез на античной микросхеме «под ключ» добавляет этой железке какого-то гиковского шарма. Собственно все эти ограничения и «шум по умолчанию» из 80х и были основными причинами по которым я обратил внимание на этот проект.

10 Или даже на двух SID!

Если вам интересны схожие по настрою проекты, то могу предложить поискать open source железки на синтезаторе SID10 — микросхеме на которой строился звук Commodore 64.

Сообщение об ошибке: