Когда Sega Mega Drive только появилась, её звуковой чип YM2612 был значительно недооценён. Но мне удалось выжать из него все соки, заставив музыку и вокал звучать на уровне, о котором в 90-е можно было только мечтать. Конвертация MIDI в формат Mega Drive, совмещение цифрового вокала и FM-музыки — это не просто сложно, а почти невозможно. Здесь есть все детали, раскрывающие, почему в этой, казалось бы, детской приставке похоронена несостоявшаяся музыкальная легенда. В общем, дальше, как в рекламных проспектах: просто кликните на видео ниже и наслаждайтесь эффектом слияния современных знаний и технологий прошлого!



За все тридцать лет владения Сегой я ни разу не задумался о том, как устроена её звуковая система. Она была моим порталом в другой мир, но звучание музыки всегда оставалось чем-то само собой разумеющимся. Я был фанатом, музыкантом, инженером, любителем старого железа — и всё же за эти годы мне ни разу не пришло в голову заглянуть внутрь, чтобы понять, как она работает.

Всё изменилось случайно, когда я наткнулся на обложку видео с интригующим заголовком: «Профессиональный синтезатор в Sega Mega Drive?». Профессиональный синтезатор? В игровой приставке? Это мог быть кликбейт или билет в новый мир, где время теряет значение. Что-то внутри ёкнуло.

То, что я узнавал, было как гипноз. Музыка, которую я слушал на Сеге, записывал на кассеты, которой восторгался, — это не просто «лучше, чем на Денди». В её звучании скрыт огромный потенциал. Беглый поиск на форумах показал, что звуковая система Mega Drive была настолько сложной и многогранной, что даже сегодня энтузиасты только начинают по-настоящему раскрывать её возможности.

Музыка Sega Mega Drive: зверь в подземелье


Когда-то давно мне казалось, что звуковая система Sega Mega Drive — это просто воспроизведения MIDI с заранее записанным банком инструментов. И как же я ошибался. YM2612 оказался не просто «чипом», а настоящим музыкальным инструментом. Это полноценный FM-синтезатор, дающий такую палитру возможностей, что я буквально потерял дар речи. Это приблизительно тот же самый инструмент Yamaha DX7, который в 80-х перевернул мир музыки, звучание которого можно услышать в сотнях хитов того времени.

Что там?


На борту Sega Mega Drive два звуковых чипа. Первый — Yamaha YM2612, сердце системы, предоставляющий 6 независимо звучащих FM-синтезаторов (6 нот могут звучать одновременно). Второй чип — Texas Instruments SN76489, наследие 8-битной эры, который может создавать простые тоны и шумы, нужен в большей степени для обратной совместимости с играми предыдущей системы. Вместе они обеспечивали приставке до 10 каналов звука, что само по себе круто, но именно YM2612 сделал Mega Drive уникальной.

Если упрощать и сравнивать чипы образно, то SN76489 — это три дверных музыкальных звонка, смотанных изолентой, а YM2612 — стильная коробочка с десятками крутилок из музыкального магазина.



FM-синтез отличается от простого воспроизведения сэмплов или генерации звуковых тонов. Он основан на математическом взаимодействии «операторов» (функций преобразования частот). На уровне возможностей это как играть на полноценном синтезаторе. YM2612 может генерировать очень разное: от «живых» звуков до самых «кислотных» тембров и сложных текстур. Этот чип позволяет воссоздать звучание, знакомое по композициям 80-х, ведь DX7, его «старший брат», был везде: в поп-музыке, роке, саундтреках и джазе. Для приставки это могло стать киллер-фичей. Нельзя забывать и про возможность проигрывать цифровые сэмплы, а ещё несколько способов дополнения FM-синтеза, расширяющих палитру звучания.

Почему SN76489 не нужен?


Да, многие демосценеры с удовольствием смешивают звучание SN76489 и YM2612. Но мне стало важным придерживаться «высокого класса» звука. SN76489 — это пищалка из 8-битной эпохи, а YM2612 — это инструмент, способный выдать звучание, приближенное к привычной музыке, о чем геймерам можно было только мечтать до эпохи массовой доступности CD-игр. Именно поэтому я решил сосредоточиться исключительно на FM-синтезе.

Сложности работы с железом 80-х


Управлять YM2612 — это вызов. Чип создан в эпоху, когда всё делалось для инженеров (тех лет!). Нужно вручную программировать множество настроек каналов, управлять разнообразными параметрами синтеза: частотами, модуляциями, огибающими. В тексте звучит нормально, но на деле это танцы с бубном на углях.

Добавьте сюда ограничения самой приставки: процессор, который не позволяет сложные расчёты; ограничение в шесть каналов (полифония в 6 одновременных нот — это нормально для синтезатора, но для микса из нескольких инструментов — это очень тесно); и необходимость оптимизации под каждую мелочь. Всё это делает создание музыки для Mega Drive процессом, требующим полного погружения и невероятного терпения. Но когда появляются первые звуки, когда идея начинает воплощаться в звучание, подтверждающее огромные возможности приставки, всё становится оправданным.

FM-синтез: Инженерное колдунство


FM-синтез — это как лаборатория алхимика, где вместо колб и реагентов есть частоты и волны, взаимодействующие друг с другом с непредсказуемым исходом. Здесь нет привычных банков инструментов — они появляются как результат экспериментов. Есть только чистая математика, волны и частоты, взаимная модуляция, интерференция, сложные гармоники и рекурсия. Один параметр может изменить всё. Только слегка сдвигаешь огибающую, добавляешь крошечный оттенок модуляции — и вместо баса рождается колокол или струна ситара.

FM-синтез — это инженерное творчество в чистом виде. Ты лепишь звуки с нуля, как скульптор формирует образ из камня. Понять, как сочетать операторы и модуляции, чтобы создать текстуру одновременно сложную и живую, — это настоящее искусство. Если аналоговые синтезаторы это нагромождение связей между генераторами и фильтрами, то чип YM2612 состоит лишь из стандартных цифровых блоков, и тем удивительнее получающийся результат.



Почувствовать удовольствие от такого творчества смогут далеко не все. Нелинейности, гармоники, частотные спектры… Близкие отношения с АЧХ и цифровой обработкой сигналов, становятся не просто полезными, а необходимыми. Эта магия понятна узкому кругу людей, которые находят в этом что-то по-настоящему своё.

Даже небольшое изменение параметра превращает звук во что-то совершенно другое. Эта непредсказуемость, пространство для удивления — и есть кайф FM-синтеза.



Именно поэтому на Sega Mega Drive сложно найти звуки, которые напоминают реальные инструменты. Имитация звучания — это ювелирная работа, требующая терпения. Зато создание уникальных звуков открывает невероятную свободу.

И всё же, несмотря на бесконечность возможностей YM2612, мы часто слышим: «это тот самый звук Mega Drive». Почему? Sega, осознав, что немногие студии готовы тратить время на освоение FM-синтеза, выпустила набор предустановок — имитаций инструментов, которые разошлись по разработчикам как горячие пирожки. Эти звуки стали имиджем приставки, заглушив её голос.

Почему MIDI? Практичность и простота


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

Несмотря на популярность и универсальность формата MIDI, его применение для работы с чипом YM2612 оказалось совсем не тривиальной задачей. Одним из ключевых отличий было то, что в MIDI дорожки инструментов идут параллельно, но YM2612 работает с последовательными командами, которые записываются в регистры чипа. Это требует преобразования всех MIDI-дорожек в единую упорядоченную последовательность событий, учитывая лимит в шесть доступных каналов.

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

Создание конвейера преобразования MIDI


Построение общей стратегии


Для преобразования данных MIDI в команды для звукового чипа Sega Mega Drive требовался конвейер, обеспечивающий надёжность и гибкость. Главной задачей было организовать процесс так, чтобы каждый шаг — от редактирования MIDI до финального кода, который можно запустить на реальном железе, — был логичным и воспроизводимым.

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

Центральным элементом всего конвейера стал менеджер предустановок OPN2BankEditor, который позволял загружать и управлять настройками инструментов. В нём можно не только экспериментировать с параметрами звучания, но и экспортировать настройки в разные форматы. Это значительно упростило взаимодействие с чипом, поскольку позволило экспортировать FM-настройки из разных источников в едином стандарте. Теперь я мог использовать пресеты для генерации регистровых данных. Хотя менеджер предустановок не был удобным и интуитивным (автор, прости, ты всё равно крут как якут), он стал важной частью всего процесса.

Трансляция MIDI-событий в параметры YM2612



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

Во-первых, MIDI-треки обычно содержат множество параллельных дорожек, которые звучат одновременно. YM2612, однако, предоставляет лишь шесть каналов, один из которых сразу «забирал» вокал. Это означало, что из оставшихся дорожек приходилось выбирать, какие оставить, какие объединить, а какие просто удалить, чтобы уложиться в ограниченные ресурсы чипа.

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

Третья сложность заключалась в работе со временем. В MIDI оно задаётся как дельта-время между событиями, тогда как команды для YM2612 подаются последовательно как магнитофонная лента. Приходилось перерасчитывать тайминги, чтобы сохранить ритм и точность воспроизведения, адаптируя их к аппаратным особенностям.

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

Результат работы скрипта, стал сердцем всего процесса, он буквально «оживлял» YM2612, превращая его из абстрактных регистров в настоящую рок-звезду.

Графическая пауза: Искусство графики на ретро-железе



Музыка — это прекрасно, но зрителю нужно что-то видеть на экране. Поэтому мы временно погрузимся в другой мир — мир графики на Sega Mega Drive.

Первой задачей стал вывод статичной картинки с максимально насыщенными цветами. Без специальных ухищрений Sega Mega Drive предоставляет всего 16 цветов на одно большое изображение, что, мягко говоря, недостаточно. Даже с использованием дизеринга, например blue noise, изображение остаётся невыразительным из-за ограничений палитры.


Я изучил известные подходы к расширению цветового диапазона и столкнулся с несколькими интересными идеями:
  1. Слои. Использование двух слоёв, как в Toy Story, позволяет смешивать цвета из двух разных палитр, что увеличивает общее количество доступных цветов до 32. Однако два полноэкранных изображения не помещаются без сжатия в видеопамять.
  2. Динамическая загрузка палитры в каждой строке. Этот метод позволяет создавать эффект, как в демках с «1536 цветами», обновляя палитру для каждой строки изображения. Но это настолько нагружает процессор, что при одновременном воспроизведении музыки и вокала просто невозможно.
  3. Спрайтовая маска и shadow/highlight. Этот способ теоретически расширяет диапазон цветов за счёт дополнительных полутонов, создаваемых функциями тени и подсветки. Однако для полноэкранной картинки требуется спрайтовая маска такого размера, что это снова упирается в недостаток видеопамяти.

После многочисленных экспериментов я пришёл к идее использовать одновременно четыре палитры. Сега создаёт изображение не из отдельных пикселей, а из тайлов размером 8x8 пикселей. При этом каждый тайл привязывается к своей палитре. Хотя подразумевалось, что каждый графический объект использует одну палитру для тайлов, мы за счет современных алгоритмов можем собрать изображение из тайлов с разными палитрами. Это потребует разработки умной системы кластеризации, которая распределяет цвета по палитрам, минимизируя визуальные артефакты. Первоначально подход казался слишком сложным, но после множества итераций результата удалось достичь. Картинка, созданная таким способом, может содержать от 40 до 64 цветов в зависимости от контента.

Шаг 1: квантизация цветов
Первым делом изображение переводится в цветовое пространство LAB, что позволяет управлять яркостью (L) и оттенками (A и B) отдельно. Затем количество цветов сокращается до 180, что позволяет сохранить ключевые детали и ускорить работу алгоритмов кластеризации.

Шаг 2: разбиение на тайлы
Картинка разбивается на блоки размером 8×8 пикселей — именно такие минимальные графические элементы (тайлы) использует Sega для вывода изображений. Для каждого тайла определяется его набор цветов, которые затем распределяются по четырём палитрам. Задача алгоритма — минимизировать дублирование цветов между тайлами так, чтобы изображение оставалось цельным.

Шаг 3: оптимизация
В каждой из четырёх палитр остаётся 15 уникальных цветов и один общий цвет для фона (это техническое требование). Общее число цветов достигает 61 (или 64 при отказе от использования прозрачности). Для Sega Mega Drive такой уровень детализации цвета можно считать большим достижением.

Шаг 4: финальная сборка
На последнем этапе создаётся карта палитр — структура данных, которая хранит привязку каждого тайла к его палитре. Конечная задача — найти для каждого тайла наиболее близкую палитру из созданных ранее. Этот этап оказался самым сложным: нужно было добиться плавных цветовых переходов между тайлами, чтобы картинка выглядела естественно.



Результат?
Картинка выглядит так, словно на экране гораздо больше цветов, чем приставка может отобразить. Такая графика лучше вписывается в современное восприятие, но её реализация остаётся в рамках обычного режима работы консоли. Не думаю, что этот метод можно комфортно использовать для динамических сцен, но для заставки с большим изображением идеально. Нам удалось разместить в видеопамяти фоновое изображение высокой цветности, а оставшееся место занимает обложка альбома, которая отображается в отдельном слое.



Анимация моря: скроллинг линий и борьба за такты


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



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

SetScrollMode HScroll_Line, VScroll_2Cell
While 1=1
	For line_num = 114 To 239
		shift_value = line_num - 114 + Rnd(7)
		shift_value = shift_value / 8
		Scroll Left, shift_value, line_num
	Next
	Sleep 2
Wend


Однако на низком уровне эта задача превратилась в сложную инженерную головоломку. Главная проблема заключалась в том, что основной процессор платформы одновременно воспроизводит вокал и музыку, и управляет анимацией. Отсчет времени создаётся короткими паузами между выводом звуковых сэмплов, которые формируются с частотой 22 кГц. Проигрывание музыки и обновление анимации должны распределяться по этим паузам. Сэмплы группируются в фреймы с меняющимся периодом около 20 мс. Чтобы организовать задачи в жёстких временных рамках, я придумал абстракцию потоков (стримов), распределяющую команды по крошечным временным окнам между выводами звуковых сэмплов. В начале каждого временного блока выполняются команды воспроизведения музыки, а оставшиеся ресурсы отводятся под анимацию. Этот метод не только уменьшил хаотичность, но и позволил эффективно использовать каждый доступный такт. С началом каждого фрейма перезапускается счетчик стримов, и в зависимости от значения этого счетчика выполняются разные операции. В начале фрейма идут стримы для проигрывания музыки, а потом с каждым следующим стримом выполняется обновление очередной строки на экране. Стримы появились как решение проблемы большого потока данных для проигрывания музыки, так как одним обновлением в начале каждого фрейма обойтись не получилось. А уже потом неиспользуемые стримы съела анимация.

Шаг 1: паузы между сэмплами
Каждый аудиосэмпл отправляется на DAC с фиксированным интервалом, а оставшееся время используется для других операций. Если этот интервал нарушить, звук начнёт искажаться. Необходимо было минимизировать число команд, необходимых для анимации. Например, вместо генератора случайных чисел для плавного движения линий (дизеринг), чтобы движение моря выглядело естественно, используется чтение регистра горизонтального сканирования экрана (счётчик текущей строки изображения).

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

Итоговый код анимации даже я не особо сейчас понимаю, но пусть будет для атмосферы.
			move.B	#$2A, (a2)			; 12	Will DAC Out
			moveq 	#12, d0				; 4	Change second pause counter
			bra.S 	@skip_animation		; 10
@skip_midi
			cmpi.B	#165	, d4
			bhs.S	@skip_animation

			move.L  #75, d2				;12
			add.b	d4, d2				;4
			lsl.W	#2, d2				;12
			Swap	d2					;4
			addi.L	#$28020002, d2		;16
			move.L	d2, 4(a4)			;16
			
			move.B	8(a4), d7 			;12	random1		
			andi.B  #%00000111, d7		;8	random2
			add.B	d4, d7				;4	dither
			lsr.B	#3, d7				;12	divide			
			move.W	(a4), d1			;8
			Sub.B	d7, d1				;4
			addi.L	#$40000000, d2		;16
			move.L	d2, 4(a4)			;16
			move.W	d1, (a4)			;8

			addq.B	#1, d4       		;4	anim_frames + 1
			moveq 	#4, d0				;4	Change second pause counter 
@skip_animation


Шаг 3: синхронизация с музыкой
Музыка и вокал требуют жёсткой синхронизации, и дело не только в попадании в ритм, кроме этого они норовят разъехаться по нотам. MIDI-команды обрабатываются вместе с анимацией, и их выполнение строго привязано к началу каждого временного блока. Это реализовано через механизм последовательных динамических пауз, длина которых изменяется в зависимости от текущей задачи. Если изменяется количество команд для анимации, приходится пересчитывать все паузы, чтобы сохранить точный тайминг звуковой дорожки. Для отладки этих пауз приходилось многократно запускать синхронное воспроизведение тестовой мелодии в виде музыки и в виде цифровой записи. Однако синхрон, идеальный в эмуляторах, на реальной приставке оказывался менее стабильным: пришлось идти на компромиссы. Бесчисленные тесты помогли найти золотую середину.

Результат
Когда океан оживает на экране, зритель погружается в ритм. Это плавное движение подчёркивает основную тему песни. Простая фотография становится живым воспоминанием о морском путешествии. За этим стоит напряженная длительная работа: каждый такт процессора, каждый миг между звуковыми сэмплами использован до предела, чтобы превратить неподвижность в жизнь.

Финальная аранжировка: баланс звука и выбор инструментов



Когда основа кода завершена, наступает этап, который можно сравнить с мастерингом. Аранжировка под YM2612 — это искусство компромиссов: нужно передать эмоциональную глубину оригинальной композиции меньшими средствами.

Выбор инструментария



Профессиональный аудиоредактор — единственное решение для работы такого уровня. Я использовал Reaper, сочетающий мощные функции с доступностью. Его модель распространения — «платите, если хотите» — заряжает вдохновением.



Подготовка MIDI-дорожек и выбор плагинов


Первый шаг — разделение MIDI-композиции на индивидуальные дорожки, чтобы каждая партия обрела собственное пространство. Это позволяет работать над каждым инструментом отдельно: настраивать параметры, громкость, панорамирование. Для эмуляции звучания YM2612 существует множество VST-плагинов.

Идеальный плагин? Утопия. Везде свои плюсы и минусы. Например, платные плагины создают мощное звучание за счёт наложения каналов. Это впечатляет, но забирает все ресурсы YM2612 ради одного инструмента. После множества экспериментов я остановился на двух: OPNPlug и VOPM.

OPNPlug
Этот плагин стал настоящей находкой благодаря своей точности и адаптивности. Он предлагает несколько движков эмуляции YM2612, позволяя выбрать между высокой точностью и оптимальной скоростью. У него богатая библиотека инструментов и доступ практически ко всем настройкам чипа. Самое главное: он позволяет экспортировать настройки в формат, понятный OPN2BankEditor. Один раз перенести настройки руками можно, но в процессе отладки изменять звучание инструментов приходится сотни раз, поэтому возможности импорта и экспорта настроек это необходимость.

Однако не обошлось и без минусов. OPNPlug ориентирован на воспроизведение полной MIDI-композиции, что требует переназначения каналов в случае раздельных дорожек. Его интерфейс хотя и выглядит ярко, не слишком удобен для создания новых тембров. А отсутствие имитации ограничений полифонии усложняет отладку хитрых музыкальных приёмов.



VOPM
Этот плагин выигрывает в интуитивности настроек. Хоть интерфейс и выглядит устаревшим, он позволяет быстрее достичь нужного звучания. Встроенная библиотека беднее, чем у OPNPlug, но загружать пресеты через OPN2BankEditor несложно.

Эмуляция YM2612 в VOPM далека от идеала. Например, эффекты вроде SSG-EG отсутствуют. Однако для лидирующих партий или уникальных тембров плагин незаменим.



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

Ударные: FM-синтез и тайный канал


Самая удивительная особенность FM-синтеза — реалистичные ударные инструменты. Sega могла бы выпустить в своё время картридж-драм-машину! Представьте: шаблоны баса и ударных с изменяющимся темпом и звучанием — полноценная ритм-секция в кармане. Сравните цены драм-машинок того времени и приставки, это могло стать хитом для любителей лет на 10.

В играх чаще использовались ударные в виде сэмплов или звук шумогенератора SN76489, потому что так проще. У нас же ситуация другая. Цифровой канал уже занят вокалом, поэтому ударные придется синтезировать через FM.

Почему не три канала?
Проигрывать весь комплект ударных через синтез очень жирно. Ведь даже базовый набор, состоящий из бочки, тарелок и рабочего барабана (снэр), требует работы с разными каналами. Но с YM2612 не разгуляешься: 6 каналов, минус 1 под вокал, минус 3 под ударные — останется 2 для всей композиции. В музыкальных трекерах авторы музыки «как бы для Sega» могут менять инструменты на одном канале для каждой ноты, но на железе нельзя мгновенно обновить все регистры, поэтому такое решение нам не подходит.

Военная хитрость: третий канал
Третий канал YM2612 позволяет функциям генератора проигрывать разные ноты. Секретный хак: мы используем алгоритм синтеза, который делит канал на две половины. Одна половина будет бочкой, другая — тарелками. Снэр получается наложением металлического лязга и удара бочки. Различия между инструментами создаются изменением частоты генерации. У синтеза есть настройка, делающая высокие звуки короткими, что из тарелки позволяет получить и ТЫц, и ДЫЩщцш для снэра. Один канал — три инструмента! Настройка синтеза задаётся один раз.

Да, сочность таких инструментов страдает, но Sega всё равно «приглушает» выход, размывая детали. Даже с упрощениями результат остаётся отличным. В конце статьи есть видео, там можно послушать изолированные ударные без порчи, наведённой аудиовыходом.



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

Для решения этой задачи сочинился конечный автомат, который отслеживает состояние каждого инструмента, определяет кого ударили, и решает, какую часть снэра нужно включить/отключить. Этот процесс потребовал множества эвристик и значительных усилий.

Кроме того, тарелки (хэт) пришлось порезать в редакторе: они играют только тогда, когда снэр молчит. Это уменьшило их ритмическую частоту в четыре раза, но, к счастью, общая динамика от этого не пострадала.

Объединение цифрового аудио с музыкой



Про сжатие аудио: синхронизация вокала и музыки


Синхронизация вокала и музыки на Sega Mega Drive оказалась сложной, но захватывающей задачей. Моя технология аудиосжатия, описанная в предыдущей статье, использует разделение аудиосигнала на равные фреймы длиной 20 мс. Однако при декомпрессии фреймы восстанавливаются с небольшими отклонениями в длине, что делает точное совмещение с равномерным ритмом невозможным.

Чтобы преодолеть эту трудность, пришлось делать свой движок музыкального плеера, который синхронизирует начало каждого музыкального фрейма с соответствующим аудиофреймом. Музыкальная композиция тоже разбивается на 20-миллисекундные фреймы, и каждый новый музыкальный фрейм начинается одновременно с соответствующим аудиофреймом. Это нововведение позволило достичь идеально выверенной синхронизации, превращая музыкальный плеер в естественное продолжение концепции аудиокодека.

Интеграция цифрового аудио с FM-музыкой


Для интеграции я использовал 22 кГц 8-битный декодер, который минимально нагружал процессор Motorola 68000. Этот подход дал возможность расширять плеер, добавляя управление FM-музыкой.

Простой потоковый формат, выбранный мной для хранения музыкальных команд, исключал сложные структуры, но зато позволял плееру работать синхронно с аудиокодеком. Это привело к значительному увеличению объёма данных: поток музыки занял 1.5 мегабайта вместо нормальных 30–150 кб, тогда как вокал потребовал всего 690 кб.

Этот компромисс был оправдан, поскольку демонстрационный проект поместился в 4-мегабайтный картридж, а формат хранения музыки легко оптимизировать, если дело выйдет за рамки прототипа.

Оптимизация производительности


Для поддержания баланса между качеством звука и производительностью системы использована базовая версия аудиокодека, обеспечивающая максимальное качество и отсутствие сложных расчетов. Это позволило оставить достаточно ресурсов для работы музыкального плеера и анимации.

Хотя изначально плеер был рассчитан на центральный процессор, направлением для будущего изучения станет перенос на второй процессор Z80. Было бы интересно выяснить, сможет ли максимальная версия аудиосжатия работать вместе с компактным форматом хранения музыки, освободив ведущий процессор собственно для игр и приложений.

Очищение вокала от артефактов


В процессе работы я столкнулся с неожиданной проблемой: изолированный вокал содержал сильную реверберацию и подпевки, которые сбивали точность работы аудиокодека. Кодек, опирающийся на вычисление главной частоты аудиосигнала, генерировал артефакты при декодировании.

Я использовал нейросетевое шумоподавление для устранения реверберации, но оно исказило некоторые слова. Чтобы найти баланс, пришлось комбинировать три источника: оригинальную запись, обработку нейросети и традиционное шумоподавление. Этот подход дал удовлетворительный результат, хотя в некоторых местах качество осталось компромиссным.

Балансировка вокала и FM-музыки


Ещё одной сложностью стало сведение вокала. Эквализация FM-музыки на Sega Mega Drive — это отдельное искусство, которым слишком муторно заниматься, не имея возможности регулировать параметры прямо на железе.

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

Отладка и тестирование


Эмуляторы vs. консоль


Самый точный из эмуляторов не заменит настоящей Sega Mega Drive. Только сама консоль может сообщить, что работа сделана. Лишь на оригинальном железе проявляются самые тонкие нюансы — от неожиданного замедления в сложных сценах до искажений звука, которые невозможно воспроизвести в эмуляторе.

Тестирование на консоли — это кульминация разработки, когда проект обретает свою истинную форму. Здесь и рождаются те самые моменты триумфа, когда наконец всё работает идеально, и отвратительные периоды отчаяния, когда непредвиденная ошибка отдаляет от цели, казавшейся уже близкой.

Эмуляторы: объединяем лучшее


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

Gens KMod
Для быстрой проверки изменений:
  • Мгновенный запуск ROM: горячие клавиши помогают загружать изменения, экономя время.
  • Работа с аудиочипом: доступ к регистрами YM2612 и возможность сохранять значения в файл, совместимый с OPN2BankEditor, идеально для отладки и заимствования инструментов из игр.
  • Визуализация видеочипа: позволяет наблюдать внутреннее состояние видеоподсистемы и процесс отрисовки.

Gens r57 shell mod
Для низкоуровневой отладки:
  • Пошаговый режим работы процессоров: помогает увидеть, что происходит в Z80 и Motorola 68000, шаг за шагом отслеживая выполнение кода.

Консольная версия Genesis Plus GX
Для тестирования звука:
  • Быстрый запуск: идеален для проверки изменений, связанных с качеством звука, благодаря точной эмуляции YM2612.

Exodus
Ключевой инструмент для сложных случаев:
  • Максимальная точность: полная эмуляция работы консоли, необходимая для выявления и устранения самых тонких проблем.
  • Изменение параметров YM2612 на лету: возможность изменять настройки в реальном времени, что помогло точно сбалансировать громкость дорожек.

RetroArch
Комбайн для тестирования и записи финального результата:
  • Графические фильтры: реалистичная симуляция ЭЛТ-дисплея, позволяющая увидеть изображение так, как оно выглядело бы на настоящем телевизоре. Такое изображение многократно приятнее хорошо растянутых пикселей.
  • Точные движки: благодаря возможности переключения между BlastEm и Genesis Plus GX можно воспроизвести многие баги.

Работа с реальным оборудованием — это не только технический вызов, но и эмоциональная проверка на прочность. Бывают моменты, когда время проходит в поиске ускользающей ошибки, а потом решение оказывается в самой очевидной детали. Или бывает, что на железе проявляется необъяснимый баг, который не воспроизводится ни на одном эмуляторе, и приходится импровизировать, изобретая способы диагностики. Эти моменты не только закаляют, но и превращают каждую строчку кода в часть личной истории, а каждую исправленную ошибку — в шаг на пути к идеалу.

Концерт из чипа: Манифест творческого упорства



Когда демо было завершено, меня охватило двойственное чувство. С одной стороны, главная идея была полностью реализована. Этот проект доказал, что Sega Mega Drive способна на большее, чем ей традиционно приписывают. Совмещение вокала с FM-музыкой оказалось не просто возможным, а впечатляющим в звучании: вокал вместе с качественными FM-инструментами создают ощущение «нормальной музыки», насколько это возможно для платформы. Конечно, это не было чем-то невиданным — талантливые композиторы-инженеры иногда достигали схожих высот, создавая музыкальные шедевры. Но подобные примеры оставались скорее исключением, мне же хотелось показать, что это могло быть нормой.
С другой стороны, проект показывает, насколько трудоёмким может быть процесс создания музыки для ретроконсолей. Результат не идеален, это лишь подтверждение потенциала: насколько эмоционально насыщенной могла бы быть музыка на платформе, если бы существовали подходящие инструменты и поддержка от Sega.

Непредвиденные трудности


Путь к результату оказался гораздо сложнее, чем я предполагал. Главной проблемой стало время: часы уходили на настройку и сведение инструментов. Добиться, чтобы каждый инструмент звучал как надо, оказалось невероятно сложно.

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

Уроки и мысли о будущем


Этот проект стал напоминанием, что творчество на платформе с жёсткими ограничениями требует не только инженерного мастерства, но и стратегического подхода. В будущем я начну с упорядочивания библиотеки инструментов, что избавит от лишнего хаоса.

Для подобных проектов нужен большой «комбайн»:
  • Импорт MIDI с оптимизацией дорожек
  • Редактор нот
  • Редактор структуры композиции аналогичный GarageBand
  • Редактор инструментов с визуализацией частотных характеристик
  • Автоматизация трюков для преодоления ограничений железа

Работая над этим проектом, я не раз задавался вопросом: что, если бы Sega сделала чуть больше для звуковой системы? Например, создала отдельное направление разработки, добавила чип звуковых эффектов, раскрыла всю документацию на YM2612, или хотя бы подключила встроенный таймер к процессору.

Могла ли музыка на Sega Mega Drive стать чем-то большим? Безусловно. Эти скромные технические возможности могли быть основой для невероятных музыкальных экспериментов. Если углубляться, то Sega это идеальная машина для трекерной музыки: с хаками можно получить аж 24 канала для нот.

Проект не только доказал, что моя мечта о вокале на Mega Drive реальна, но и стал отправной точкой для следующего этапа исследований. Это только начало, ведь самая главная тайна чипа YM2612 в этот раз осталась за кадром.

P.S. Мечты, унесённые временем



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


Что, если бы консоль превратилась в нечто большее, чем просто игровая платформа? Что, если бы компания развивала музыкальное направление? Выпустила музыкальную клавиатуру, удобное программное обеспечение для творчества, обмена треками и инструментами? Тысячи подростков могли бы открывать для себя мир FM-синтеза, чувствовать себя композиторами, изобретателями, творцами. Sega могла стать символом не только игровой, но и музыкальной революции, сотни имён могли бы вырасти на этой платформе задолго до эры доступных ПК и домашних студий, на взлёте электронной музыки.

Но этого не случилось.

Вместо этого мы получили загадочную и ограниченную платформу, со сложными настройками и отсутствием инструментов для массового творчества. Казалось, эта консоль могла дать так много, но осталась недосказанной историей.

И всё же, несмотря на эти нереализованные мечты, я не могу не восхищаться тем, что было создано. Приятная музыка на Sega Mega Drive — это всегда маленький шедевр, рожденный на стыке технологий и человеческой изобретательности. Ограничения остались неотъемлемой частью эпохи, и они придавали ей своё очарование.

Завершая эту работу, я понимаю, что хотя Sega Mega Drive и осталась в прошлом, её музыка продолжает жить. Благодаря таким проектам, как этот, можно хотя бы на миг прикоснуться к альтернативной реальности. И эта музыка — это не просто практическая археология, это отражение человеческой изобретательности, готовой преодолеть любые ограничения ради красоты.

Спасибо, что были частью этого путешествия.




Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале



Читайте также:

Комментарии (44)


  1. F1eex
    15.01.2025 12:17

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


  1. NickSin
    15.01.2025 12:17

    Спасибо за экскурс и статью. Я бы послушал альбом каверов в таком исполнении)


  1. k12th
    15.01.2025 12:17

    а как же ссылка на rom?


    1. man_of_letters Автор
      15.01.2025 12:17

      Извините, не думал что найдутся желающие запускать

      Вот, держите (скорость PAL):

      https://www.mediafire.com/file/lww7vcku3cgd2kt/voyage.bin/file


      1. k12th
        15.01.2025 12:17

        Спасибо!


  1. tvoybro
    15.01.2025 12:17

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

    UPD "Коль критикуешь - предлагай". Я не большой фанат этого чипа, и плохо знаком с библиотекой музыки к нему, но отличными примерами из того, что знаю, были бы саундтреки из игр Beyond Oasis, Two crude dudes, Comix zone, Snow bros или Dragon slayer.


    1. man_of_letters Автор
      15.01.2025 12:17

      Можно по-разному ответить вам, но я просто спрошу, какую композицию вы готовы прослушать несколько десятков раз подряд каждый день на протяжении трёх месяцев? Это единственный критерий выбора.


      1. tvoybro
        15.01.2025 12:17

        Никакую. Я предпочитаю слушать разнообразную музыку и не зацикливаться на одном треке, тем более три месяца подряд. Но и совсем не против ремейков хитов евроденса, даже если этот ремейк под YM2612. Только при условии, что это ремейк сделан точно, с попаданием в ноты и временную сетку, а также использует возможности чипа максимально технично. Особенно, если речь идёт про "все выжатые соки".


        1. vladkorotnev
          15.01.2025 12:17

          Имхо, для выжимания всех соков лучше было бы не занимать половину чипа вокалом, а всё-таки сделать красивую партию на нестандартных тембрах. Если отойти от дефолтной ямаховской библиотеки инструментов, там можно много всякого понапридумывать. Ну и вокальную партию назад в сетку загнать, да: чай, компьютер — не вокалист, хреначить палкой от метронома не нужно :-)

          ЗЫ. Ну и раз уж про трек вспомнили, нагло втыкну и свою версию https://genjit.su/records/track/desireless-voyage-voyage-1-bit-poly-n :-) Тут, правда, не звуковой чип, а вполне себе обыкновенная ардуина ESP32 — если занять весь чип звуком, то можно и красивее отрендерить, конечно, но он параллельно занят и всяким вайфаем и рендерингом на дисплей в 60 FPS, так что времени больше чем на четыре однобитных канала не остаётся %)


          1. man_of_letters Автор
            15.01.2025 12:17

            Вы внимательно читали статью? 6 каналов у чипа, 1 канал на голос, когда возможно переключается на инструмент. Остальные 5 каналов тоже забиты под завязку.

            И я не использовал библиотеку ямахи, больше месяца настраивал каждый инструмент под оригинальное звучание (*где возможно), обидна!


            1. vladkorotnev
              15.01.2025 12:17

              Пардон, чисто послушал трек в начале, услышал типичные для того же адлиба тембра и поскипал в комменты — ну что ж, получается вы настроили так же, как и ямаха, не сказать, что это плохо, не просто так же весь мир на их пресетах сидел :-)

              А с голосом из-за искажений подумал, что это как на MSX было, когда синтез прям на операторах был.


              1. NutsUnderline
                15.01.2025 12:17

                а что за синт на  esp32?


                1. vladkorotnev
                  15.01.2025 12:17

                  Да просто элементарный рендер в буфер и выхлоп через I2S контроллер без ЦАПа — просто динамик припаян на шину данных напрямую. Вот тут описывал детальнее: https://habr.com/ru/companies/timeweb/articles/835798/


                  1. vladkorotnev
                    15.01.2025 12:17

                    Вот бы кто-то из хабра пришёл и объяснил, как можно было сделать редактор так, что ссылка детектится, но некликабельна!

                    https://habr.com/ru/companies/timeweb/articles/835798/ — теперь-то кликабельно, надеюсь?


        1. man_of_letters Автор
          15.01.2025 12:17

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

          "все соки": это техническая статья, а не пиар моих скромных музыкальных способностей, вообще не претендую. полноценный вокал с музыкой, занимающей все каналы, - это все соки, такое в размер 500 кб еще никто не смог уместить.


    1. iTs
      15.01.2025 12:17

      Мне Rock n' Roll Racing и Maui Mallard больше запомнились.


      1. HardWrMan
        15.01.2025 12:17

        Jesper Kyd смотрит на вас с пришуром.


        1. NutsUnderline
          15.01.2025 12:17

          прищур увидел но так и не понял почему


  1. Jec13
    15.01.2025 12:17

    Интересная статья. Жалко ролики только с Ютуба- не удалось послушать. Спасибо!!!


  1. firehacker
    15.01.2025 12:17

    Это точно не перевод? Вроде бы нет, но никто в музыкальной тусовке не называет пресеты предустановками.

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


    1. man_of_letters Автор
      15.01.2025 12:17

      1. я не тусуюсь и не общаюсь с музыкантами, поэтому использую хаотичную смесь разных терминологий: профессиональные, любительские, англицизмы, термины из инженерных областей

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

      3. Я делал множество подгонок по частотам и времени. У меня действительно своё восприятие диссонанса. То, что вызывает приятные чувства у меня, многим больно слушать.


  1. ZekaVasch
    15.01.2025 12:17

    Стиль написания текста - американская история успеха. Не хватает лишь участия команды и бога.

    Я лишь дочитав до конца удивился, что это не перевод


    1. hazard2005
      15.01.2025 12:17

      Я читал в уверенности, что это перевод. Дочитав до половины стало интересно кто автор - текста прилично, работы проделано ещё больше. И оказалось не перевод.


    1. man_of_letters Автор
      15.01.2025 12:17

      Что плохого в позитиве? Вам бы больше понравилось, если бы я рассказал правду, как чуть не сдох с этим проектом, как он меня достал, как я перестал понимать зачем вообще меня что-то заставляет им заниматься?


      1. ZekaVasch
        15.01.2025 12:17

        Да. В правде сила.


  1. ontop
    15.01.2025 12:17

    Для меня эталон музыки на приставках и открытием стали композиции из Super Nintendo, игры Waterworld.


    1. ontop
      15.01.2025 12:17

      А касаемо этого произведения, назвать это музыкой очень сложно, звучит хуже чем обычный SEGA семпл, возможно с технической точки зрения вы использовали весь потенциал, вопрос только нафига? SNES звучит и весит в разы меньше. У вас получилось наложить записанный звук на SEGA синтезатор, но то как это сделано, завернет уши у любого, кто имеет слух.

      Вот взять весь альбом от Waterworld - 968kb весит весь альбом, одна композиция 65kb, который уделывает, все, что было на SEGA. https://www.youtube.com/watch?v=BPc34mT8xBo


      1. NutsUnderline
        15.01.2025 12:17

        Спасибо, будет что посмотреть. И сравнить с треком где на AY от zx spectrum наложили игру на гуслях.


      1. HardWrMan
        15.01.2025 12:17

        У SNES не синтезатор а сэмплер. 8 каналов. Из-за ограничения объёма ОЗУ сэмплы в ADPCM. Есть эхобуфер. Но опять же, из-за малого ОЗУ высокие частоты там отсутствуют как класс. Но кому-то нравится. Мне, например, зашли треки из DCK2-DKQ.


      1. man_of_letters Автор
        15.01.2025 12:17

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

        Я доказал, что на Сеге было возможно сделать нормальные композиции с вокалом и поместиться в картридж, оставив место для игры, на этом всё.

        И вы очень зря приплетаете SNES, бессмысленный холивар. Можно софтово смешивать сэмлы на один PCM-канал Сеги, и сразу не так велика разница. Если бы не отвратный аудиовыход, спорить бы вообще было не о чем, чистое звучание YM2612 лучше низкочастотных сэмплов. Всё упирается в конкретного человека который сможет там или тут.


        1. NutsUnderline
          15.01.2025 12:17

          чтож поделать, мы то привыкли что один и тот же человек пишет себе компилятор, в компиляторе пишет себе трекер, и в трекере этом ваяет шедевры не виданные до селе :) :) :) (шутка с долей правды, один такой точно был)


  1. NutsUnderline
    15.01.2025 12:17

    так олдскульно что даже скулы свело.


  1. Shaman_RSHU
    15.01.2025 12:17

    Хорошие чипы у Yamaha. Помню в ZX Spectrum использовалась микросхема AY-3-8910. Впечатлился тогда возможностью программировать одновременно три канала. Для возможности программировать мелодии даже ноты выучил.


    1. vladkorotnev
      15.01.2025 12:17

      Да, у ямахи хорошие, правда AY — это General Instruments :-) а ямаха уже подтянулась позже, по лицензии


      1. Shaman_RSHU
        15.01.2025 12:17

        Я тогда школу заканчивал и верил на слово по распечатанным на матричном принтере документам, что это чип от Yamaha :)


      1. axe_chita
        15.01.2025 12:17

        YM2149F (SSG) отличается звуком от AY-3-8910 так как у них разная разрядность ЦАП огибающей (5 и 4 бита)

        "Назначение выводов микросхемы YM2149F соответствует AY-3-8910, за исключением вывода 26, который включает внутренний делитель входной частоты вдвое, если на него подан низкий уровень. Если этот вывод никуда не подключён, микросхема работает так же, как AY-3-8910. Помимо встроенного делителя входной частоты, YM2149 имеет отличие в разрядности ЦАП огибающей — 5 бит вместо 4 (с логарифмической шкалой). Также для тона используются только нижние (тихие) 4 бита. Это создаёт отличие в тембре звучания огибающей, делая его более ярким, однако позволяющим получить бо́льшую гибкость баса."


  1. SERGK393
    15.01.2025 12:17

    Так все красиво написано, а в итоге вышла музыка на уровне Golden Axe 1 (2 и 3 части на голову выше этого) восьмидесятых годов. Никак не похоже на свежевыжатые соки. Видимо, человек не слышал музыку из Contra Hard Corps (еще 90-е, и уже брали высокую планку) или свежего проекта (модификации) Sonic Hellfire Saga. Вот это я понимаю - высокий уровень.


    1. man_of_letters Автор
      15.01.2025 12:17

      Статья очевидно про технические соки. Если приставка у меня с 94 года, то наверное я что-то слышал.


  1. axe_chita
    15.01.2025 12:17

    Выскажу свое личное мнение, что настоящим волшебником FM синтеза, являлся и является Стефан Пикк. Он показал КАК можно выжать из Ямаховского OPL чипа всё что можно, и всё что нельзя.

    Версия OST DUNE AdlibGold(OPL3)/Roland MT-32/Adlib(OPL2) для DOS на VGMPF

    Версия OST DUNE для SEGA CD на VGMPF


    1. NutsUnderline
      15.01.2025 12:17

      вообще не понял что тут сравнивать, может из adlib он выжал, но это не сравниться с тем что может железо sega, не говоря даже про тутошний пример.

      даже трек который смиксован из AdlibGold+Roland MT-32 и то синтез есть синтез меня не впечатляет даже в сравнении с тем что может например zx spectrum и c64


      1. axe_chita
        15.01.2025 12:17

        вообще не понял что тут сравнивать,

        Странно, вроде все ссылки в наличии

        может из adlib он выжал,

        Выжал и из OPL2, но и из OPL3, и из МТ-32, и из Amiga.

        Версия OST DUNE AdlibGold(OPL3)/Roland MT-32/Adlib(OPL2) для DOS на VGMPF

        "Depending on the sound card selected to play music, track length will vary. For example, Wormsuit has its longest variation on AdLib with 6:32 minutes, while the AdLib Gold 1000 version lasts for 3:31 minutes, and finally the MT-32 version lasts for a very short 1:18 minute.

        This soundtrack to Dune was recorded on an original AdLib Gold 1000 (1991) with the Surround Module, an original MT-32 (1988), and an AdLib (1987).

        The AdLib Gold 1000 recording starts with a 1, the Roland MT-32 recording starts with a 2, the AdLib recording starts with a 3."

        но это не сравниться с тем что может железо sega,

        Может сравниваться, так как есть версия DUNE для SEGA CD которая использует YM2612. Можете прослушать и сравнить.

        не говоря даже про тутошний пример.

        Не надо обижать автора статьи, а то по отношению к нему выглядит очень двусмысленно. Вроде как похвалили, а вроде как опустили.

        даже трек который смиксован из AdlibGold+Roland MT-32

        Который был сведен сторонним человеком

        и то синтез есть синтез меня не впечатляет

        Впечатляет не условный "синтез", а музыка. Вон народ вполне неплохо играет хорошую музыку на флопотроне. А негатив на FM синтез, из эпохи DOS, игр связан с тем что создатели игр не заморачивались ни с музыкой (написанную профессиональными "программистами"), ни инструментами (загрузил дефолтный GM банк для OPL2/OPL3 и забИл на донастройку - "И так сойдет"), а в результате большинство игр звучало безлико и одинаково. Что и вызывало определенное раздражение у игроков.
        А так, на счет не впечатляет, на вкус и цвет фломастеры разные.

        даже в сравнении с тем что может например zx spectrum

        "Критикуешь? Предлагай!"
        Желаю услышать от вас, пример музыки из игры на AY-3-8910, созданный не позднее 1992 года, из нескольких композиций, общей длительностью более получаса, и чтобы это реально было разнообразно, а не напоминало "игру на гуслях" ;)


        1. NutsUnderline
          15.01.2025 12:17

          "тутошний" пример снабжен впечатляющим обьемом вокала, поэтому вынесен за скобки

          я еще послушал треки из дюны, жаждя слышать "волшебное". но никак, даже по сравнению с треками Waterworld (здесь выше) от которых я реально удивился.

          если же НЕ затрагивать композицию то сравнению "движков" любопытное и не однозначное. MT-32 вроде бы звук взрослее, но вот adlib особенно младший по сравнению с sega не производит впечатления чтоб прям старались

          отмечу момент worminro звуковой эффект на 1:10 примерно. звуковой эффект у sega явно более навороченный, а в mt32 его вобще как бы нет

          челендж любопытный, я подумаю, а пока игра на гуслях :) :)

          https://files.scene.org/view/parties/2018/multimatograf18/wild/8-bit_gusli.mp4

          https://youtu.be/rW1cLw3AZOI


  1. NutsUnderline
    15.01.2025 12:17

    финальное сведение конечно не очень но в целом то уровень звука любопытный

    только я так и не понял зачем смешивать отдельные треки на ПЦ, я как бы ожидал услышать финальный микс записаный с выхода сеги, чтобы было понятно почему она "не стала"

    в итоге, насколько я понимаю, Амига оказала куда как больше влияние на музыкальную среду...


  1. dlinyj
    15.01.2025 12:17

    Статья отличная. Прекрасно понимаю, когда сложность материала такова, что описать его кратко и интересно не представляется возможным.

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