Древности: Roland MT-32, альтернативный звук для DOS-игр
Не во всех играх под DOS есть настройки звука. Например, в Lemmings все просто работает. Или нет. Но там, где настройки все же имеются, они выглядят примерно так:
Когда я играл в «Принца Персии» в девяностые, моим единственным выбором была верхняя строчка, по причине отсутствия в компьютере нормальных звуковых устройств. В своем новом-старом 386-м компьютере я по умолчанию использую Sound Blaster, и вполне доволен результатом. Про другие опции в те времена я мало что знал, хотя в настройках разных игр они всплывали часто. Sound Blaster был достаточным апгрейдом: если он есть, то со звуком в твоем компьютере все в порядке.
А был ли вариант покруче? Здесь легко запутаться в определении этого самого «круче». В каких единицах должен выражаться прогресс? Сегодня я расскажу об уникальном во многих смыслах звуковом устройстве для IBM PC эпохи DOS — синтезаторе Roland MT-32. В конце восьмидесятых это был самый дорогой вариант реализации компьютерного звука. Тридцать с лишним лет спустя это недешевый коллекционный девайс, который превращает и так неплохой звук в некоторых DOS-играх в монументальный саундтрек.
Все статьи по теме:
0. 1992 год в компьютерной прессе
1. Рассматриваем материнскую плату 386-го компьютера
2. Бенчмарк 386-го процессора и лихие девяностые
3. Трудный выбор звуковой карты для DOS-игр
4. Особенности Sound Blaster Pro 2
5. Roland MT-32, альтернативный звук для DOS-игр — < — вы находитесь здесь
Дневник коллекционера старых железок я веду в Телеграмме.
Глава, в которой я испытываю трудности с терминологией
Roland MT-32 в понятных для далекого от музыкальной индустрии человека терминах — это синтезатор без клавиатуры. Он оснащен разъемами стандарта MIDI, знакомыми нам также по советской аудиотехнике и древним клавиатурам пятиштырьковыми DIN. В 1987 году MT-32 был самым бюджетным устройством в линейке синтезаторов этого японского производителя: стоил 695 долларов (1570 с поправкой на инфляцию), в то время как полноценный синтезатор Roland D-50 обошелся бы в 1895 долларов ($4290). К MT-32 можно подключить MIDI-клавиатуру и таким образом получить бюджетное решение для извлечения звуков создания музыки. Минимум кнопок на передней панели позволяет выбрать определенный тип звучания, а дальше все зависит от исполнителя.
Изучая MT-32, я обнаружил себя в своего рода провале между компьютерными и музыкальными наборами знаний. Про компьютеры мне кое-что известно: мы привыкли измерять потенциал наших больших и малых железок в мегагерцах и мегабайтах. У музыкантов другие критерии: характер и качество звучания, возможность решить определенную творческую задачу, удобство использования в студии и на выезде, интеграция с другим оборудованием. И про это я не знаю практически ничего. А хочется что-то понять за пределами стандартного «подключил к компьютеру и оно работает». С этим у MT-32 все тоже непросто, но об этом чуть позже. Если я где-то промахнулся в формулировках, помогите поправить.
Уникальность Roland MT-32 в том, что это устройство изначально создавалось для музыкантов, но для них не очень подошло. Этот синтезатор (наряду с некоторыми другими устройствами Roland конца восьмидесятых) использует технологию линейно-арифметического синтеза. Здесь мне пришлось прерваться и изучить, какие вообще бывают синтезаторы. Эти устройства делятся на аналоговые (например, Yamaha CS-80, использовавшийся Вангелисом при записи саундтрека к фильму «Бегущий по лезвию бритвы») и цифровые, моно- и мультитембральные (не путать полифонией — этот термин определяет возможность одновременно играть несколько нот, в то время как мультитембральное устройство одновременно оперирует разными «голосами»). Цифровые синтезаторы используют разные методы синтеза: аддитивный, субтрактивный, тот самый линейно-арифметический и частотный, он же широко применяемый в звуковых картах FM-синтез.
Во всех случаях цифрового синтеза итоговое звучание формируется путем последовательных вычислений, изменяющих какой-то исходный сигнал. В случае FM-синтеза «исходником» являются простые синусоидальные сигналы, но в MT-32 отправной точкой были цифровые сэмплы в формате PCM. Хочется назвать их сэмплами «реальных инструментов», но на самом деле не только: в ПЗУ этого синтезатора могут быть зашиты звуки, имеющие вовсе не музыкальную природу. В видеоролике ниже Эрик Персинг, в свое время работавший «главным дизайнером звука» в Roland, демонстрирует характерное звучание синтезатора Roland D-50, также использующего линейно-арифметический синтез, и рассказывает, откуда взялись те или иные исходники. Например, упоминается «звук падения пилки для ногтей в ванну».
Таким образом, Roland MT-32 — это цифровой, мультитембральный (одновременное воспроизведение 8 «тембров» плюс отдельный канал для ритм-секции), полифонический (одновременное воспроизведение до 32 нот) синтезатор. В память устройства записана библиотека из 128 музыкальных сэмплов плюс 30 сэмплов перкуссии. В появившейся позже (по крайней мере, в компьютерных звуковых картах) технологии таблично-волнового синтеза также используются PCM-сэмплы, но основная разница между ними заключается в длине сэмпла. Построенный по технологиям 80-х MT-32 имел крайне ограниченный объем памяти (512кБ ROM для хранения сэмплов), длина каждого — от 0,1 до 3 секунд. Каждый сэмпл содержит звук атаки определенного инструмента, первоначальный импульс звукоизвлечения, первые доли секунды нажатия на клавишу фортепиано. Да, фортепиано здесь упомянуто просто для примера, сэмплов этого инструмента в Roland MT-32 как раз нет.
Музыкальная пауза
Короче, как создать бюджетный синтезатор, если на дворе 1987 год? Берем полноценный, дорогой синтезатор, выкидываем клавиатуру, часть библиотеки сэмплов, всю периферию кроме интерфейса MIDI, экономим на цифро-аналоговом преобразователе и на схеме усиления аналогового звука. Получаем устройство в три с лишним раза дешевле, которым профессионалы пользоваться, скорее всего, не будут. Во-первых, устройство получилось шумное: наложение нескольких треков с одного синтезатора друг на друга быстро выведет этот фоновый шум за пределы разумного. Во-вторых, устройство получилось глючное: из-за особенностей работы ЦАП в некоторых случаях вместо музыки воспроизводятся щелчки и треск. Поэтому на Youtube вы не найдете демонстрацию MT-32 как музыкального устройства. Но так как есть профессиональные синтезаторы, работающие по более-менее тем же принципам, можно составить впечатление о теоретическом потенциале технологии по ним.
Мне было важно составить впечатление не только по компьютерным играм. Я не музыкант, и скорее всего буду использовать Roland MT-32, как и все, в режиме «звуковой карты», слушая только то, что записали до меня другие. На видео выше — еще одна демонстрация возможностей Roland D-50, и здесь есть не только отдельные звуки, но и примеры их использования в популярных музыкальных композициях конца восьмидесятых и начала девяностых. Например, вот этот трек Enya 1988 года (все примеры взяты отсюда):
Или интро к треку Bad Love Эрика Клэптона 1990 года:
Один из самых известных сэмплов D-50 в начале композиции Милен Фармер 1988 года:
Даже начало музыкальной темы к Симпсонам исполнено на D-50:
Впервые в своем ретрохобби я столкнулся с представителем устройств, которые впечатываются в культурный код прочнее и масштабнее, чем любая чисто компьютерная технология. В синтезаторах не столь важны чистые технические характеристики, такие как разрядность ЦАП или объем ПЗУ. Компании, их создающие, формируют кирпичики для строительства произведений искусства, как массовых, так и не очень, для эстетов и трудовой молодежи. Как и синтезатор Yamaha DX7 (видео с примерами) с технологией FM-синтеза, Roland D-50 в восьмидесятых использовался массово, частично отвечая за характер музыки того времени, от Майкла Джексона до Жана-Мишеля Жарра, от Рика Эстли до Tangerine Dream.
Почти во всех примерах выше конкретная модель синтезатора не играет главную роль. Звук инструмента всегда каким-то образом изменяется, сочетается с другими синтезаторами и живыми инструментами. Почти никогда исполнители не рассказывают, что они делали со звуком и как: это их коммерческая тайна, залог конкурентного преимущества. Тем не менее, было интересно увидеть устройство, косвенно связывающее понятное мне «компьютерное творчество» с искусством в более широком понимании. Закончим на этом музыкально-теоретическую часть и перейдем к главному блюду: второй жизни Roland MT-32 в качестве компьютерного звукового интерфейса. Тут мы тоже имеем дело с творчеством, но в другом стиле, когда пусть и многоголосый синтезатор используется сам по себе, без дополнительных примочек и обработки.
Roland MT-32 и компьютерные игры
В 1988 году Roland заключает сделку с разработчиком игр Sierra On-Line. Происходит довольно успешная трансформация MT-32 из устройства для музыкантов-любителей в компьютерную приставку, расширяющую возможности ПК по воспроизведению звука. «Расширять» тогда было особо нечего: стандарта пока нет, в 1987 году только выходят звуковые карты AdLib и тупиковая Creative Music System. Первый Sound Blaster, совместивший FM-синтез и воспроизведение цифровых сэмплов, будет выпущен годом позже, в 1989-м.
Roland с 1984 года выпускает устройства с реализацией интерфейса MPU-401, позволяющего подключить MIDI-синтезатор к компьютеру. Совместимые платы расширения доступны как для IBM PC, так и для Apple II, Commodore 64, PC-98 и других компьютерных архитектур. Соглашение с компанией Sierra On-Line — это попытка сделать управляемые компьютером синтезаторы массовыми: до этого целевой аудиторией были «создатели» музыкального контента, а тут — потребители. Попытка относительно удачная. В списке совместимых игр на Википедии упомянут десяток игр для Amiga и Atari ST и четыре сотни наименований для IBM PC. Распространению мешает высокая цена: бандл из MT-32 и интерфейса MPU-401 стоит 550 долларов. Дешевле изначальных 695, но все равно дорого — в современных деньгах это $1140. AdLib в 1987 году стоил 245 долларов. Первой игрой с поддержкой MT-32 стала King’s Quest IV:
Классическим примером хорошего саундтрека для Roland MT-32 является игра The Secret of Monkey’s Island 1990 года:
Эпоха MT-32 длилась всего три года. В 1991 году был принят стандарт General MIDI: разработчики договорились о единых спецификациях интерфейса, так, чтобы на любом совместимом устройстве при команде «играть на пианино» действительно играло пианино, а не балалайка. Для Roland MT-32 был выпущен патч, обеспечивающий частичную совместимость, но звук в любом случае серьезно отличался от более поздних устройств. И наоборот: наследники MT-32, в частности Roland SC-55, даже если имели режим совместимости с MT-32, звучали по-другому.
Вид из 2019 года
Когда я начал строить свой 386-й на максималках, стало понятно, что без MT-32 мне обойтись не удастся. Все признаки коллекционного устройства тут налицо: сложная история, уникальная технология синтеза, характерный звук из восьмидесятых. Надо брать! Только какой и почем? И как его подключать? Задолго до покупки я в общих чертах изучил матчасть, как это сейчас принято, по видео на Ютюбе. Рекомендую вот этот обзор Lazy Game Reviews:
И это монструозное трехчасовое видео Phil’s Computer Lab, где детально описываются все особенности самих устройств, разные варианты MT-32, подключение к компьютеру всеми способами и так далее. Обязательно к просмотру перед покупкой. Рекомендую также эти два видео Дмитрия Бачило.
Сам Roland MT-32 доступен в двух ревизиях: более позднюю модель можно отличить по наличию отдельного разъема для наушников. В ней же пофикшены некоторые аппаратные баги. Помимо этого выпускались родственные модели, предназначенные только для использования с компьютером: Roland CM-32L (на фото ниже, отсюда) и CM-64.
Эти два меня интересовали в меньшей степени. Во-первых, потому что у них нет экрана. Во-вторых, они и новыми выглядели уныло, а сейчас их найти можно только в неприглядном виде с пожелтевшим корпусом. Здесь повторяется ситуация, уже испытанная мной на примере звуковых карт: устройств много, и они между собой плохо совместимы. В устройствах CM-серии расширена библиотека звуков, и некоторые игры их используют. Значит на простом MT-32 они будут звучать чуть по-другому. Более того, баги, пофикшенные в новой ревизии MT-32, иногда приводят к неправильному воспроизведению звука в другом подмножестве игр. Каждый сам для себя решает, как далеко забираться в эту кроличью нору, хотя самый упоротый радикальный способ воспроизведения игрового звука на аутентичном железе — это собрать все модификации и все ревизии, и долгими зимними вечерами сравнивать их друг с другом.
Помимо внешних устройств, MT-32-подобные синтезаторы выпускались во внутреннем исполнении. Это Roland LAPC-1: у него есть 33 дополнительных звука из CM-32L и сохраняется возможность подключения внешнего синтезатора. Не попал в вишлист по причине крайней редкости и, опять же, из-за отсутствия умеренно красивой коробочки с экраном и кнопками.
Цены на Roland MT-32 начинаются от 200 долларов за модель первого поколения (с багами). Произошло интересное сочетание моды на старое железо для компьютеров и популярности винтажных синтезаторов: за артефактами охотятся одновременно две категории коллекционеров хлама. Мой Roland MT-32 первого поколения был приобретен по нижней границе ценового диапазона, в характерном для тридцатилетней железки состоянии: чуть поцарапан от долгого хранения в чулане, слегка протерт пластик вокруг регулятора громкости. Зато рабочий и с оригинальным блоком питания огромных размеров. Давайте посмотрим, что у него внутри:
Устройство управляется 16-разрядным контроллером Intel C8095–90. В наличии две микросхемы ПЗУ. За преобразование цифрового сигнала в аналоговую форму отвечает ЦАП Burr-Brown PCM54, из категории «теплого лампового мультибита».
Потенциал ЦАПа используется не полностью: на него подается 15-битный сигнал с частотой дискретизации 32 килогерца (во второй ревизии полноценные 16 бит).
Три разъема DIN: вход, выход и passthrough, за счет последнего можно соединять несколько устройств в одну цепь, и управлять ими с одного устройства. Линейный выход на двух монофонических 6.3-мм джеках: типичный для студийного оборудования, но нечасто встречающийся в домашних условиях. Переходник на стерео-миниджек обычно подключается к линейному входу звуковой карты, чтобы комбинировать саундтрек с Roland и обычный PCM-звук. В идеале нужно бы использовать микшер, чтобы не накладывать помехи двух ретроустройств друг на друга.
Самый простой способ подключить внешний MIDI-синтезатор к компьютеру — использовать комбинированный игровой/MIDI порт звуковой карты. Проблема в том, что для 386-й системы я выбрал Sound Blaster Pro 2, а эта модель не поддерживает интерфейс MPU-401. Его поддерживает более современная Sound Blaster 16, но большинство версий этой платы имеют так называемый «баг висячей ноты» (AWE32 также ему подвержены): когда внешнее устройство MIDI используется одновременно с цифровыми PCM-сэмплами в играх, определенная нота саундтрека «подвисает» и таким образом расстраивает любителя ретротехники. Некоторые даже использовали две звуковые карты одновременно: одна из них отвечает только за передачу MIDI-данных на синтезатор, другая за все остальное.
На Creative SoundBlaster AWE64 (и на многих других звуковых картах) проблем нет, но есть нюанс. Большинство звуковых карт поддерживает урезанный стандарт MPU-401, известный как Normal или UART mode. Полноценный Intelligent Mode, позволяющий передавать расширенный набор команд, требует особого адаптера. Правильный способ подключить Roland MT-32 к компьютеру заключается в покупке того самого бандла, который в 1988 году распространяла со своими играми Sierra On-Line: это сам синтезатор, восьмибитная интерфейсная карта Roland MIF-IPC-A и внешний интерфейс-посредник MPU-401 Midi Processing Unit. И вот эта комбинация попадает в продажу из закромов еще реже, чем сам Roland MT-32:
Я конечно люблю старые железки, но не настолько богат, чтобы платить от $500 до $1500 за, по сути, альтернативную реализацию последовательного порта. Чуть позже Roland интегрировала содержимое внешнего модуля MPU-401 в плату расширения, но найти такие варианты ничуть не проще. Итого: самый простой способ подключить Roland MT-32 к старому компьютеру — это использовать gameport звуковой карты, которая хотя бы не добавляет в процесс собственные глюки. Полноценный Intelligent режим интерфейса MPU-401 реализуется в софте, при помощи современной DOS-программы SoftMPU.
Но я решил добавить еще пару градусов безумия в этот проект и купил плату HardMPU: аппаратную реализацию SoftMPU на контроллере ATMega с открытыми исходниками, восьмибитный MIDI-интерфейс с поддержкой всех особенностей работы Roland MT-32.
Отдельным приятным моментом была установка в мой ретрокомпьютер из запчастей 25–30-летней давности первой новой детали. По умолчанию HardMPU настроен на работу на втором прерывании, по адресу 330h, и именно там ожидают увидеть Roland MT-32 большинство игр.
Кстати, MIDI-интерфейс неплохо пережил четыре десятилетия эволюции персональных компьютеров. К современной системе его можно подключить с помощью USB-адаптера Roland UM-ONE или подобного. В Windows 10 устройство не требует драйверов, без проблем играет через MT-32 MIDI-файлы и достаточно легко интегрируется с DosBox.
Последний баг MT-32, который мне надо было победить — это проблему переполнения буфера. Ранние версии MT-32 ожидают поступления системных сообщений с интервалами в 40 миллисекунд. На относительно мощных системах MIDI-данные передаются быстрее, что вызывает переполнение буфера и вот такое сообщение об ошибке. Иногда это проходит без последствий, иногда вызывает сбои при воспроизведении. Чтобы вы знали, 386-й компьютер с процессором на 40 мегагерц — это мощная система, и при загрузке «Принца Персии» переполнение буфера также происходит. HardMPU решает эту проблему путем отправки sysex-команд с задержкой, но эту фичу надо заранее включить при помощи специальной утилиты под DOS.
Как это звучит? Естественно, первое, что я запустил — это «Принц Персии», в версии 1.3 под DOS, которая поддерживает Roland. Некоторые игры используют экран MT-32 для вывода приветственного сообщения при загрузке данных. Наиболее известное из них — «Insert Buckazoid» из игры Space Quest 3 1989 года. Музыкальную тему Prince of Persia с настоящего MT-32 я записал на видео ниже. Сравнить с версией на Sound Blaster Pro 2 можно тут.
В знакомой игре MT-32 звучит непривычно. В «Принце» можно вывести на Roland и звуковые эффекты, и это непривычно вдвойне, так как серьезно отличается от традиционного варианта. Хотя и не лишено оригинальности: через Sound Blaster играются сильно пожатые монофонические сэмплы, здесь — стереозвук, да еще и с реверберацией, так что шаги главного героя звучат так, как должны звучать при перемещениях по мрачным подземельям. Не все саундтреки для Roland MT-32 одинаково хороши, и часто возникает вопрос — действительно ли создатели саундтрека писали его под Roland или просто адаптировали что-то еще? Какой вариант звучит «так, как задумано»? В случае «Принца» ответ «никакой», так как игра и музыка к ней писались вообще под Apple II. В любом случае это достойный изучения культурный слой: и в игры новые-старые поиграть, и музыку послушать «на максималках».
Пока меня больше всего впечатлили музыкальная тема для «Дюны» и звуковое сопровождение в SimCity 2000: вот в этой игре 1993 года MT-32 превращает игрушечные звуки FM-синтеза в нечто более приятное для ушей. Рекомендую этот плейлист на Ютюбе от пользователя barbarianbros, там собрано 160 примеров звука в играх, поддерживающих Roland MT-32.
Бездушная эмуляция
Стоит ли овчинка выделки? Если уж я поставил себе задачу строительства бескомпромиссной системы на 386-м процессоре, то да, стоит. Почти все игры, поддерживающие Roland MT-32, заработают на таком компьютере. Более поздние релизы, для которых мощности моего ретро-ПК будет маловато, ориентированы на General MIDI и табличный синтез. Черная коробка Roland MT-32 приятно смотрится на столе. Можно изучить, какую пасхалку предусмотрели создатели игры для вывода на дисплей синтезатора. На нем же отображаются «инструменты», используемые в саундтреке.
Но это всё не обязательно. Если основной повод для строительства ретроПК — ностальгия — то надо играть в игры с «правильным» звуком саундбластера. И главное, MT-32 со всеми своими особенностями был достоверно реализован в софте. Проект Munt оказался в странном положении из-за авторских прав: для работы с ним требуются дампы оригинальных ROM от настоящего синтезатора. На них очевидно распространяется копирайт Roland, поэтому дистрибутив программы распространяется без них. Если дампы добыть (в идеале, вытянув прошивку с микросхем собственного устройства, но можно и в интернете найти), то вы получите полноценную эмуляцию не только MT-32, но и более поздних устройств на его базе, на выбор. Munt интегрируется с DosBox, и даже может быть подключен к ретрокомпьютеру. Вместо дорогой аутентичной железки можно прикрутить где-то в глубине ретродесктопа Raspberry Pi и с нее гонять «тот самый звук».
Повторюсь, глубину погружения в ретрохобби каждый определяет самостоятельно. Железки — это круто, но изучение олдскульных игр важно само по себе, даже если для этого вы используете эмулятор. Когда я наконец соберу этот ретроПК (а потом еще один), мой план заключается в неспешном прохождении старых DOS-игр, что в принципе можно сделать без вложений, с неплохими результатами для большинства игр (но есть исключения, требующие реального железа). Хотя, если честно, после знакомства с Roland MT-32 мне было бы интереснее попробовать писать на нем музыку. Я про это совершенно ничего не знаю, и даже не понимаю, как подступиться — искать ретроредакторы для создания музыки? Использовать современный софт со старым железом? Как минимум я знаю, что у других получается писать музыку на таком древнем устройстве, и получается весьма неплохо.
Займусь этим потом. Синтезатор добавил во всю мою конструкцию больше индустриальной красоты и серьезно расширил возможности. Но это далеко не последний апгрейд: я буду вставлять в свой 386-й компьютер платы расширения, пока не закончатся свободные слоты. А потом возможно поменяю материнскую плату на другую, где слотов побольше, займу все слоты там, и вот тогда будет правильно. Следите за обновлениями, продолжение следует!