Сегодня, когда любой школьник имеет возможность сочинять модные биты на своём домашнем компьютере или смартфоне, идея применения компьютерных устройств для создания музыки никого не удивляет. Кажется, что эти технологии с нами уже очень давно. Однако, массовому пользователю возможность составления мелодий из фрагментов реалистичных звуков на компьютере стала доступна лишь немногим больше четверти века назад. Поговорим о том, как это устроено, о первых шагах цифровых музыкальных редакторов в дома обычных людей, и о неожиданной запинке, приключившейся на этом пути в странах запаздывающего технического прогресса.
▍ Давным-давно
Первые компьютеры были огромными, электромеханическими и невероятно дорогими. Едва успев стать тёплыми и ламповыми, они научились издавать звуки, и вскоре от несмелого попискивания перешли к исполнению классических мелодий в простейших синтезированных тембрах (BINAC, 1949). Так родилось явление «компьютерной» — создаваемой с помощью компьютеров — музыки. Приобщиться к этому таинству тогда могли считанные люди на планете — сотрудники научных учреждений, те самые изначальные «хакеры», которые не взломщики, а энтузиасты и исследователи пределов возможностей компьютерных систем.
Тёплый ламповый компьютер BINAC
Со временем компьютеры уменьшились до размеров скромной тумбочки и стали доступны простым, хотя и очень состоятельным людям, а их мощность и объёмы памяти возросли достаточно, чтобы на их основе были созданы первые музыкальные инструменты, способные как на программный синтез звука на основе хитроумных математических формул (FM-синтез, 1974), так и на запись и воспроизведение фрагментов звука настоящих музыкальных инструментов — так называемый сэмплинг. Сам он как явление родился чуть раньше, ещё в аналоговой форме, в инструментах на основе магнитной ленты — Чамберлине (1949) и Меллотроне (1963), оцифровался и развился в EMS Musys (1969) и Computer Music Melodian (1976), но свою современную цифровую форму, название, полифонию, и мировое признание обрёл с появлением серийно выпускаемого синтезатора Fairlight CMI (1979), расшифровка сокращения в названии которого говорит сама за себя — Computer Musical Instrument.
Fairlight Computer Musical Instrument
Хотя первые цифровые музыкальные инструменты и сделали компьютерную музыку и сэмплинг доступными более широкому кругу музыкантов, проблема высокой стоимости оборудования оставалась актуальной — поначалу такую роскошь могли позволить себе только самые состоятельные из них: Fairlight CMI на момент своего появления стоил 25 тысяч долларов. Но всего через несколько лет, в начале 1980-х, совершилась компьютерная революция. Были созданы доступные персональные микрокомпьютеры, пришедшие в каждый дом. Этот класс устройств так и назывался: домашний компьютер. Помимо увлекательного мира компьютерных игр и скучного, но полезного ПО для решения прикладных задач, эти машины приоткрыли массовому пользователю возможность создания музыки дома, не имея никаких других инструментов, кроме компьютера.
Звучание домашнего компьютера, которое сделала возможным Amiga
Уже в 1985 году на рынок выходит компьютер Commodore Amiga, в котором реализован аппаратный 4-канальный сэмплер, способный на изменение высоты и громкости записанного звука. Строго говоря, сам этот компьютер может только проигрывать звуки, а для записи звука требовалось дополнительное, но вполне доступное устройство. Программы, использующие эти возможности для создания музыки, не заставили себя ждать, и вскоре одна из них, Ultimate SoundTracker (1987) определила формат целого класса подобных программ, так называемых «трекеров», нацеленных на музыкантов-любителей, по совместительству являющихся компьютерными энтузиастами.
Только Amiga делает всё это возможным
Конечно, Amiga тоже была недешёвым удовольствием — популярная 500-ая модель в 1987 году стоила 700 долларов. Но пытливые умы, осмыслив концепцию цифрового звука на наглядном примере, начали пытаться реализовать подобное на всех доступных им платформах. В том числе на унылом, но более доступном за счёт конкуренции между производителями его клонов, IBM PC, для которого к 1987 году как раз начали появляться звуковые карты, расширяющие возможности от простого пищания до воспроизведения синтезированных и оцифрованных звуков. В 1990 году появляется редактор Scream Tracker для MS-DOS, примерно повторяющий возможности Ultimate SoundTracker, и понеслось — Fast Tracker II, Impluse Tracker, ModPlug Tracker, тысячи их.
Impulse Tracker, один из главных трекеров эпохи MS-DOS. В нём написана музыка для игры Unreal
Казалось бы, на этом историческом этапе возможность создания цифровой музыки стала доступна каждому, доступнее уже некуда, и дальше можно только количественно и качественно улучшать технологию, соответственно, всё возрастающим вычислительным мощностям домашних компьютеров.
Однако, на карте мира начала 1990-х годов оставались страны, в которых компьютерные технологии были доступны не только лишь всем. В странах СНГ и бывшего соцлагеря домашний IBM-совместимый ПК, и тем более диковинная Амига, до начала 2000-х были роскошью, а не средством вычисления. Значительной части местных компьютерных энтузиастов приходилось до последнего довольствоваться устаревшими, но гораздо более доступными 8-битными компьютерами. Несмотря на весьма скромные возможности этих машин, их пользователи также хотели приобщиться к самым современным достижениям, в том числе и к технологии создания музыки на основе сэмплирования реальных инструментов. И у них вполне успешно это получалось, хотя для этого пришлось слегка развернуть технологический прогресс вспять.
Именно об этом любопытном казусе в истории музыкального программного обеспечения и компьютерной техники и будет мой сегодняшний рассказ.
▍ Сэмплинг
Перед погружением в пучины разберём базу — как работает сэмплинг (оцифровка) звука, и каким образом одиночный сэмпл превращается в подобие музыкального инструмента.
Для работы с цифровым звуком компьютеру нужно два устройства: аналого-цифровой преобразователь (АЦП) и его антипод, делающий всё наоборот, цифро-аналоговый преобразователь (ЦАП). Первое устройство измеряет моментальную амплитуду сигнала и преобразует в цифровое значение, например, диапазон 0..2 вольта преобразуется в значение 0..255, для хранения которого достаточно одного байта. Второе устройство преобразует цифровое значение обратно в соответствующее напряжение.
Для записи звукового сигнала достаточно измерять амплитуду сигнала через равные промежутки времени — например,16000 раз в секунду, и сохранять полученные значения в памяти компьютера. Для того чтобы воспроизвести записанный таким образом звук, нужно проделать обратный процесс: читать из памяти значения и отправлять их на ЦАП. Таким образом, исходный звук будет восстановлен максимально приближенным к оригиналу, за исключением некоторой потери в качестве (которую можно избежать более точными и частыми измерениями).
Классическая визуализация процесса оцифровки сигнала. На самом деле это ложь — восстановленный сигнал вовсе не ступенчатый — но помогает понять суть
Если соблюдать при воспроизведении ту же частоту выборок, что и при записи, воспроизводимый звук будет иметь ту же самую высоту, что и оригинал. Этого уже достаточно для составления партии ударных. Но процесс легко сделать ещё более полезным для музыкальных целей. Достаточно всего лишь изменить скорость воспроизведения, или, говоря иначе, частоту чтения значения из памяти.
Если мы запишем звук с частотой 16000 измерений в секунду, а проиграем на скорости 8000 выборок в секунду, он не просто замедлится вдвое, но и весь спектр частот в записанном звуке понизится также вдвое, то есть содержимое прозвучит на октаву ниже. Скорость воспроизведения может быть выбрана любой, и если записать одиночную ноту инструмента, точным подбором скорости можно получить ноты любых других высот. Теперь одним записанным сэмплом можно сыграть целую музыкальную партию, состоящую из разных нот.
Изменение высоты звука от скорости проигрывания: период укоротился вдвое, в такой же отрезок времени поместилось вдвое больше периодов, частота сигнала возросла вдвое
Сэмплинг очень удобен тем, что записан и превращён в управляемый музыкальный инструмент, может быть совершенно любой звук. Например, одиночная нота звучания пианино или гитары, или любой синтезатор, или более экзотические источники — например, звук выдавливания горчицы из тюбика. Таким образом, один простой процесс открывает компьютерному музыканту практически бесконечную звуковую палитру.
▍ Трекеры
С точки зрения пользователя музыкальный редактор типа «трекер», ориентированный на использование сэмплов, выглядят примерно следующим образом: четыре вертикальные дорожки, в которых можно набирать ноты композиции, озвучиваемые загружаемыми звуковыми файлами.
Fast Tracker II для MS-DOS и четырёхканальный MOD-файл
Эта концепция, вполне вероятно, навеяна классической технологией аналоговой звукозаписи, на момент появления трекеров бывшей золотым стандартом для любительских студий — четырёхдорожечным (4-Track) магнитофоном, так называемой портастудией. Есть определённое сходство: столько же каналов, в которых также можно что-то записывать по отдельности, они подобным же образом смешиваются при последующем воспроизведении. Даже само название «трекер» вероятно навеяно подобными магнитофонами. Но есть принципиальное отличие.
Легендарная портастудия Tascam 244, 1982 год
Кассета портастудии способна хранить звуковые дорожки протяжённостью в десятки минут звучания. На момент рассматриваемого исторического периода даже наиболее продвинутые ПК могли вместить в свою оперативную память всего несколько десятков секунд оцифрованного звука не очень высокого качества. А 8-битные микрокомпьютеры и того меньше, считанные секунды. Поэтому специфика использования музыкальных редакторов формата «трекер» заключалась в очень эффективном, креативном использовании очень коротких фрагментов звука, вплоть до единичного периода частоты записанного инструмента.
Для того чтобы разнообразить звучание, более мощные компьютеры позволяли проделывать с этими небольшими кусочками звука различные операции. Самая базовая и полезная из них — зацикливание звучания фрагмента прямым или двунаправленным циклом, что делает звук инструмента более длительным или непрекращающимся до принудительного выключения ноты. К звуку также могла применяться огибающая громкости, задающая плавное или резкое нарастание и спад громкости. Лёгкое плавание скорости воспроизведения создаёт эффекта вибрато, изменение скорости — слайды и портаменто и так далее.
Зацикленный сэмпл, громкостная огибающая со своим циклом, и множество других параметров в более современном MilkyTracker
Однако, всех этих прекрасных возможностей нет в большинстве цифровых трекеров для 8-битных микрокомпьютеров. Скорость процессора, объём памяти и отсутствие качественного ЦАП сильно затрудняли реализацию даже самых базовых возможностей, а поддержка продвинутых эффектов снижала и без того очень невысокое качество звучания. Тем не менее некоторые всё же пытались.
▍ Даунгрейд
Для того чтобы сделать описанные процессы более эффективными, желательно иметь дополнительное устройство, которое будет самостоятельно брать или класть данные в память компьютера с заданной скоростью — так называемый DMA-контроллер, или контроллер прямого доступа к памяти (ПДП), который может пересылать данные между блоками памяти и устройствами без участия центрального процессора. Вместе с АЦП и ЦАП контроллер ПДП составляет основу устройства, в 1990-х годах именовавшегося «звуковой картой».
Микросхема MOS 8364, более известная как Paula — звуковой чип компьютера Amiga, благодаря которому возникла трекерная музыка формата MOD
Commodore Amiga имела в своём составе комбинацию из четырёх ЦАП и каналов ПДП, что давало ей возможность проигрывать четыре звука одновременно, каждый с любой заданной скоростью. Этот полностью аппаратный подход позволил не загружать этой работой центральный процессор, и заниматься воспроизведением музыки в фоновом режиме. Но он также не очень гибкий, и довольно дорогостоящий: чем больше звуковых каналов надо, тем больше их должно быть реализовано в железе. Так как в Амиге их реализовано всего четыре, при всей своей музыкальной крутости она славится выбором из двух стульев во многих ранних играх — либо только музыка, либо только звуковые эффекты. Позже эти ограничения смогли обойти более креативным использованием имеющихся ресурсов и программными трюками.
Звуковая карта Sound Blaster 2.0, 1991 год. С неё начался нормальный цифровой звук на IBM PC
Sound Blaster для IBM PC в своей цифровой части был устроен попроще: всего один-два ЦАП (моно и стерео версии) и один канал ПДП (изначально использовался штатный контроллер материнской платы). Поэтому в один момент времени он мог воспроизводить всего один оцифрованный звук. Но возможность воспроизведения нескольких звуков с разной скоростью может быть реализовано и программно: процессор компьютера подготавливает небольшой по длительности фрагмент звука на заданной частоте сэмплирования, в котором смешивает несколько источников, читая их с дробным шагом, складывая и помещая сумму амплитуд в буфер. Потом этот буфер отдаётся на проигрывание звуковой карте, и пока она проигрывает один фрагмент, процессор подготавливает следующий. Этот подход более требователен к производительности процессора, но позволяет обойтись более простой звуковой аппаратурой, а также даёт некоторую гибкость — например, можно получить больше каналов ценой снижения качества звучания.
8-битные микрокомпьютеры ничем из перечисленного не обладали — ни ЦАП приличной разрядности, ни контроллером ПДП. Многие из них не имели даже прерываний по программируемому таймеру, да и самого таймера. Как правило, в качестве ЦАП применялось нестандартным образом то немногое, что было в составе железа компьютера. Чаще всего — каналы штатного звукового чипа, имеющие в своём составе устройство управления громкостью, которое можно рассматривать как ЦАП очень малой разрядности (4 бита с сильно нелинейной характеристикой). На худой конец иногда даже использовался однобитный бипер и метод широтно-импульсной модуляции — это не так уж плохо звучало на IBM PC-совместимых машинах за счёт более высокого качества генерируемого программами звука, но превращалось в пытку на его 8-битных братьях меньших. Ну а для получения наилучшего качества звука придумывались и подключались дополнительные устройства, от простейшего ЦАП из вязанки резисторов на параллельному порту (порту принтера) — так называемый Covox — до значительно более сложных конструкций, о которых я расскажу ниже.
Самодельный Covox для IBM PC работы неизвестного мастера
Принцип воспроизведения многоканального звука на 8-битных компьютерах похож на описанный ранее. В его основе лежит та же самая выборка значений из памяти с дробным шагом, только теперь всем этим занимается основной процессор, полностью уделяя этому все свои силы. Дело осложняется необходимостью выдерживать стабильную частоту вывода полученных значений в ЦАП, что требует хорошо продуманного, точно выверенного по скорости исполнения кода. Помимо этого, скорость процессора, небольшой объём памяти и качество заменителей ЦАП сильно ограничивают качество получаемого звука, и чтобы получить хотя бы минимально приемлемые характеристики, программистам приходилось идти на различные оптимизационные ухищрения.
Разумеется, во время воспроизведения цифрового звука на столь слабых машинах речи об одновременном выполнении других задач не идёт. Пока играет цифровая музыка, на экране ничего не происходит. Как говорили классики, «when digital is playing scroller must stop!».
▍ Возможности
Если характеристики трекеров для больших компьютеров постоянно росли в сторону улучшения качественных и количественных характеристик, расширения возможностей, для микрокомпьютеров это был отрицательный рост: меньше каналов, ниже частота дискретизации, меньше эффектов, меньше длина трека. Всё это обуславливалось ограниченным объёмом памяти и производительности процессора — её едва-едва хватало и приходилось балансировать на грани терпимого качества звучания и доступных возможностей, формируя особую комбинацию характеристик для каждого нового музыкального редактора.
Главными характеристиками трекеров на микрокомпьютерах является количество каналов (полифония), определяющее, сколько звуков может играть одновременно, и частота дискретизации выходного звука, определяющая качество воспроизведения высокочастотной составляющей звукового спектра — чем ниже это значение, тем глуше и хуже звук. Обычно это 3-4 канала и частота около 10 килогерц.
Среди прочих важных характеристик — возможность управления громкостью сэмплов, поддержка цикла в сэмплах. Эти базовые для трекеров на «больших» компьютерах возможности являются особыми, далеко не всегда доступными на микрокомпьютерах. Ещё реже идёт речь о поддержке каких-либо эффектов, позволяющих влиять на особенности воспроизведения звука, например, слайдов или вибрато.
Проблема с циклом частично связана с определением конца сэмпла. Простой и очевидный способ со счётчиком длины слишком медленный для маломощных компьютеров, его использование ведёт к существенному снижению частоты дискретизации. Для ускорения, по крайней мере, в некоторых трекерах, используется хак, когда одно из значений сэмпла отведено на маркер конца данных. Он помещается в конце сэмпла несколько раз, чтобы быть гарантированно прочитанным при любом шаге чтения. Некоторое усложнение кода плеера совместно с этим хаком позволяет реализовать поддержку циклов, и иногда она всё же встречается в трекерах.
Проблема с управлением громкостью заключается в том, что маломощные компьютеры или в принципе не имеют аппаратной операции умножения, или она слишком медленная. Даже простой пересчёт по табличке занимает слишком много времени, так как это дополнительное чтение памяти на каждый цикл каждого канала, и большинство авторов просто отказывались от поддержки управления громкостью. В тех немногих трекерах, где поддержка громкости есть, в жертву обычно принесена частота дискретизации, а значит, общее качество звучания.
Частично компенсировать отсутствие поддержки громкости позволяет эффект смещения начала сэмпла — возможность начинать каждую ноту с небольшого смещения от её начала, пропуская громкую атаку. Такой подход реализован в некоторых трекерах и сильно пригождается в условиях столь ограниченных возможностей.
Из прочих общих черт, отличающих трекеры для микрокомпьютеров от трекеров для «больших» машин — как правило, они не имеют встроенного редактора сэмплов. Звуки можно только загружать и использовать, иногда уменьшить длину (вводом непосредственного значения в байтах), но фигурно обрезать, сделать громче-тише, и провести прочие типовые подготовительные операции можно только в отдельно загружаемых сторонних редакторах.
Другая общая черта — частое наличие двух режимов воспроизведения музыки. В одном любые действия на экране прекращаются, чтобы обеспечить максимальное качество проигрывания (Global Play, Play Song). В другом режиме (Play Pattern, просто Play) во время проигрывания происходит визуальное перемещение курсора по треку, позволяя композитору лучше контролировать свою работу, но качество звука значительно падает за счёт пауз в звуке, возникающих во время обновления экрана.
▍ История и традиции
Самое время прояснить вопрос, который, вероятно, возник у вас с самого начала чтения статьи. Почему речь идёт про некую «цифровую» музыку, если на цифровых в своей основе компьютерах и их звуковых устройствах любая музыка и звук также цифровые?
Ответ не вполне однозначен, и сводится к тому, что «здесь так заведено», иначе говоря — такова историческая традиция. Как и музыкальные синтезаторы, на раннем этапе развития домашние компьютеры были способны только воспроизводить полностью искусственный звук с максимально простыми тембрами — квадратная волна, треугольная, пила, и так далее. Позже появилась возможность записи и воспроизведения реальных звуков. Чтобы различать эти два вида звучания, кто-то когда-то использовал определение «digital music» — концы теперь найти сложно, но происходило это примерно одновременно в самых разных странах. С тех пор традиция продолжается, и уже десятилетия вводит в заблуждение тех, кто впервые с ней сталкивается.
Так, в интервью 20-летней давности с некоторыми заметными отечественными музыкантами на платформе ZX Spectrum (Ironman, Voxon), а также в документации к программам тех лет, можно найти информацию, что звуковой чип AY-3-8910 (полностью цифровой внутри, набор программируемых счётчиков-делителей) использует аналоговый или даже FM-синтез, что и отличает его от «цифровых» сэмплов реальных звуков. Вероятно, дело в недостатке информации в те годы — возможно, авторы этих высказываний слышали про разделение синтезаторов на аналоговые и цифровые, и впервые столкнувшись с оцифрованным звуком на практике, снабжённым словом «digital» в описании, сделали такое вполне логичное противопоставление. По крайней мере, подобную историю я припоминаю про себя.
И раз уж речь зашла о ZX Spectrum, нужно заметить, что значительная часть дальнейшего текста будет посвящена именно ему, как наиболее популярному микрокомпьютеру в наших краях. Так совпало, что в наибольшей степени идея реализации цифровой музыки скромными техническими средствами получила развитие именно на этой платформе, и именно про эту платформу знаю больше всего я сам, так как являлся свидетелем некоторой части этой истории. Но только Спектрумом рассказ не ограничится, так как явление цифровой музыки затронуло очень многие другие платформы, как зарубежные, так и полностью отечественные, как популярные, так и совершенно редкие, и там происходило огромное множество занимательных вещей.
Наш ZX Spectrum
За давностью лет трудно сказать, из какого источника цифровая музыка для ZX Spectrum пришла в наше постсоветское пространство. Направления как минимум два, и оба имеют славянские корни.
С одной стороны, это польские демки. Если у нас многие оригинальные западные компьютеры были почти неизвестны, в Польше они оказались гораздо доступнее. В частности, там пользовались популярностью восьмибитные модели Atari и Commodore 64. Таким образом, у польских компьютерных энтузиастов была возможность немного раньше познакомиться с таким западно-европейским компьютерно-культурным явлением, как демосцена. Познакомившись, они тут же начали делать свои демки, которые окольными путями попадали к нам в страну, познакомив с демосценой и нас. И уже в одной из первых польских демок, с тех пор одной из самых известных и горячо любимых на платформе — Lyra II (1991), была часть с цифровой музыкой, где звучали настоящие реалистичные ударные и электрогитары.
С другой стороны, а именно со стороны Чехии, немногим позже в нашу страну прибыл музыкальный редактор Sample Tracker (1992-1993), вероятно первый трекер для ZX Spectrum с поддержкой оцифрованных звуков. Это открыло отечественным энтузиастам возможность самостоятельного создания цифровых треков, а сам факт существования такого редактора продемонстрировал, что подобные программы возможны на этой платформе.
Разумеется, пользователей скромного 8-битного компьютера очень впечатлило, что их чахлая машинка может делать то же самое, что и большие серьёзные компьютеры (опустим, что делает она это значительно хуже, но ведь хоть как-то!), и с тех пор цифровая музыка на долгие годы стала обязательным атрибутом лучших демок местного производства, а также темой музыкальных конкурсов на отечественных демопати.
На протяжении 1990-х годов в странах СНГ было создано около двух десятков музыкальных редакторов для цифровой музыки. Значительная их часть так и осталась в статусе бета- или демо-версии, но другая часть смогла открыть мир цифрового звука немалому количеству музыкантов-любителей. Некоторым образом это перекликается со злободневной темой импортозамещения — исторический эпизод, когда этим занимались по зову сердца и из любви к искусству, и получались достойные продукты.
Своего пика интерес к цифровой музыке на ZX Spectrum достиг в середине 90-х, когда прошли первые крупные отечественных демопати — Enlight 1996 и 1997 годов (Санкт-Петербург). В 1996 году в общем с обычной синтезированной AY-музыкой конкурсе участвовало 7 цифровых композиций. В 1997 году конкурсы были разделены по форматам, и на конкурс цифровой музыки для ZX Spectrum было прислано 17 работ.
В то же время в том же месте аналогичные процессы происходили на другой грани реальности, на полностью отечественной платформе БК, состоящей из компьютеров БК-0010 и БК-0011М. Они также имели некоторую популярность, хотя и не такую, как ZX Spectrum, на них также развивалась демосцена, проходили демопати. Первые демонстрации цифрового звука появились в 1993 году, к 1994-ому году скромная БК-шка уже играла четырёхголосные цифровые мелодии, которые готовились с применением Amiga и IBM PC, а в 1995-ом появился первый местный музыкальный редактор.
Как сказано выше, оригинальные зарубежные платформы были очень ограниченно представлены в нашей стране, но аналогичное движение происходило и на них, особенно на тех, которые были доступны в Польше и Чехии. Там компьютерно-музыкальные энтузиасты также испытывали ограниченную доступность современной вычислительной техники и жажду прикоснуться к новейшим технологиям. Таким образом, в 1990-х годах платформы Atari XE/XL и Amstrad CPC тоже обзавелись парочкой своих цифровых музыкальных редакторов.
В последующие годы представление цифровой музыки в публичном поле пошло на спад — становились всё более доступными более мощные компьютеры, на которых можно было делать то же самое, но в значительно лучшем качестве. В 1999 году конкурс цифровой музыки на Chaos Constructions (Санкт-Петербург) был отменён, в последующие годы не заявлен вовсе. На Paradox 1999 и 2001 (Ростов-на-Дону) было представлено по три работы. В 2010-х годах были попытки возродить конкурсы, но успеха они не имели, на них присылали по 1-2 работы.
Таким образом, в наступившем новом тысячелетии цифровая музыка была предана забвению, и за исключением нескольких ярких моментов теперь является полнейшим андерграундом.
Самым заметным энтузиастом этой шипяще-хрипящей лоу-фай эстетики в новейшей истории стал крайне продуктивный польский чиптюн-музыкант и ветеран демосцены Yerzmyey. На протяжении 2000-х и 2010-х годов неоднократно обращался к формату цифровой музыки на микрокомпьютерах в различных её проявлениях. В 2008 году он выпустил альбом «Oldschoo MODe», включавший в себя различные цифровые композиции, как в классическом формате MOD с Amiga, так и созданные на ZX Spectrum. В 2010 году вышел альбом «XL Digital» с цифровыми треками, созданными на 8-битном компьютере Atari 800XL, а в 2013 году — альбом «Astral Combat», вся музыка в котором была написана на ZX Spectrum.
Помимо сольного творчества, вместе с другим заметным музыкантом, Factor6, Yerzmyey создал группу YM Digital, в рамках которой они делали цифровые треки на компьютере Atari 520 ST. В таком составе и с таким техническим оснащением они выпустили три полноразмерных альбома — «Extreme LO-FI» (2010), «White Mouse Ate a Cat» (2013) и «Spontaneous compression» (2016).
Также в 2010-х активность в области разработок для БК проявлял упомянутый выше Manwe. Реализовав свои старые задумки, он достиг весьма выдающихся характеристик в проигрывании цифрового звука на БК. Довольно неожиданным пристанищем цифрового звука стала платформа Famicom/NES/Dendy, где начал своё существование наполовину виртуальный формат SuperNSF.
Далее мы углубимся в историю отдельных платформ, специфику музыкальных редакторов для них, и интересные технические подробности. Начнём, конечно же, с конца алфавита — с главного микрокомпьютера 90-х на постсоветском пространстве.
▍ ZX Spectrum
Конечно, первые шаги в области цифрового звука на ZX Spectrum были сделаны там, где появился изначально — в Англии. В основном они ограничивались записью и воспроизведением звуков, иногда с минимальной обработкой. Это делалось или полностью штатными средствами с помощью кассетного входа и динамика, как в знаменитой программе Speakeasy (аж 1982 года), или с помощью дополнительных аксессуаров, содержащих АЦП и ЦАП — таких, как RAM Music Machine (1986), которым в юности баловался некий Aphex Twin.
Другая, довольно малозаметная глава в истории развития цифрового звука на ZX Spectrum — попытки совмещения чисто биперного звучания или синтезированной музыки для AY-3-8910 с сэмплированными ударными. Два главных примера можно услышать в играх Chase H.Q. (1989), где ударная партия титульного трека в гордом одиночестве (48K) или при поддержке AY (128K) играется сэмплами на бипере, и в Dark Fusion (1988), где сэмплы реалистичных ударных звучат совместно с крутейшим биперным треком.
Но настоящее развитие темы, применение сэмплов в музыкальных целях, началось уже в отечественных реалиях, во времена активного сосуществования платформы с первыми IBM PC-совместимыми компьютерами, доступными финансово более состоятельным пользователям.
ZX Spectrum местного разлива с самого начала немного отличался от своего зарубежного родителя, и чем дальше, тем больше становилась разница. Главные признаки платформы образца начала 1990-х — дисковод, дисковая система TR-DOS, 128К оперативной памяти или более, а с начала 2000-х — и того больше: мегабайты ОЗУ, турбо-режимы, жёсткий диск или SD-карта, расширенные графические возможности, и прочие разнообразные улучшения.
Отличия быстро пробрались и в звуковые возможности. Помимо базовых устройств из оригинальных моделей, представленных бипером и простой микросхемой трёхголосного звукового синтезатора AY-3-8910 (так называемая «музыкалка»), на протяжении 90-х было придумано и с разной степенью успеха введено в обиход ещё несколько звуковых устройств, в том числе предназначенных специально для воспроизведения цифрового звука.
Схема Covox для ZX Spectrum, нарисованная на ZX Spectrum
Прежде всего это, конечно, Covox. Чаще всего самодельное, но в некоторых клонах реализованное штатно, это простейшее устройство странным образом унаследовало название компании Covox Inc., в середине 1980-х выпустившей несколько аналогичных аксессуаров для различных микрокомпьютеров. Эти аксессуары, однако, носили свои названия, например, Speech Thing, и ни одно из них не называлось Covox — такое имя присвоили всем их самодельным вариациям энтузиасты, повторившие устройство для всех своих любимых компьютеров, включая, конечно, ранний IBM PC.
По сути, Covox — это простейший 8-битный параллельный ЦАП на одном из портов вывода (изначально подключался к порту принтера), реализованный на наборе резисторов или на специализированной микросхеме. В наших краях это нередко была микросхема К572ПА1. Разница в качестве звучания — совсем плохое на резисторах или просто плохое на ПА1. Под качеством имеется в виду отношение сигнал-шум, в случае реализации на резисторах младшие биты толком не работают. Но в любом случае даже самый простейший Covox звучит значительно лучше, штатные ЦАП-ы AY, которые просто не предназначены для такого использования и имеют нелинейную характеристику.
Реклама Cheetah SpecDrum
Первые подобные устройства появились на ZX Spectrum даже раньше самих оригинальных продуктов Covox Inc., но они являлись составной частью готовых продуктов и не поддерживались другим ПО. Например, комплект Cheetah SpecDrum (1985) состоял из программы и устройства для вывода звука с ЦАП внутри, превращающих компьютер простейшую в драм-машину с 8 предустановленными сэмплами реальных ударных инструментов, три из которых могло звучать одновременно. В некоторых появившихся значительно позже цифровых трекерах есть возможность задать произвольный адрес порта ЦАП вручную, и, таким образом, задействовать подобные устройства.
Гораздо более редкий вариант — так называемый Stereo Covox, имевший некоторое распространение на различных вариациях продвинутого клона ZX Spectrum под названием Profi, первая модель которого появилась в 1991 году. Представлял собой собственно два обычных Covox’а на разных портах, один для левого канала, другой для правого.
Схема SounDrive, распространявшаяся группой Flash в виде демонстрационной программки
Относительной популярностью пользовался SounDrive, разработанный демо-группой Flash Inc. в Новосибирске в 1994-95 годах. Это всё тот же Covox, но теперь четыре штуки сразу, со стереофоническим выходом — два слева, два справа. Такое увеличение числа каналов на первый взгляд может показаться странным излишеством — компьютер едва справлялся с тремя. Однако, наличие четырёх независимых ЦАП позволяет избавиться от программного микширования, которое расходует немало времени процессора, заменив его простым соединением аналоговых выходов каналов. Это также решает и проблему переполнения разрядности при складывании каналов — вместо переполнения регистра теперь немного перегружается вход усилителя, что в аналоговой технике не так критично. В результате качество звучания весьма заметно возросло.
Особняком стоят продвинутые звуковые устройства General Sound (1997-1998) и DMA UltraSound Card (2000). Общего между ними то, что они добавляют аппаратную поддержку для воспроизведения цифрового звука без участия центрального процессора, освобождая его для других задач — стало возможным вставлять музыку в игры и демо. Но реализовано это двумя принципиально разными подходами.
Классическая версия General Sound времён защиты интеллектуальной собственности с помощью закрашивания обозначений на микросхемах
General Sound, по сути, представляет собой целый отдельный компьютер, со своим процессором Z80, работающим на частоте 12 мегагерц, собственным ОЗУ объёмом 128-512 килобайт, ПЗУ со встроенным проигрывателем MOD-файлов, а также с четырёхканальным 8-битным ЦАП с аппаратным управлением громкостью (ещё четыре ЦАП). Устройство работает полностью самостоятельно, компьютер только передаёт файлы в его ОЗУ и подаёт команды на начало или остановку проигрывания. Подключается оно в разъём шины ZX Bus, представленной на некоторых мощных клонах тех лет (Scorpion, KAY), либо же по классике, проводками по всей плате компьютера.
Вычислительная мощность такого комплекса в несколько раз превосходит сам ZX Spectrum, что позволило очень существенно поднять качество звука и расширить возможности — устройство способно полноценно проигрывать MOD-файлы без каких-либо преобразований, с поддержкой всех эффектов и с частотой дискретизации 37.5 кГц. Конечно, это сказалось и на цене, позволить себе такую роскошь смог не каждый. Тем не менее General Sound получил некоторую популярность, для него были разработаны музыкальные редакторы, а также озвучено некоторое количество популярных игр.
Легендарный DMA UltraSound Card
DMA UltraSound Card предлагался как более оптимальная альтернатива General Sound. Это устройство построено по аналогии со звуковой системой компьютера Amiga, и состоит из контроллера ПДП и набора ЦАП, а для хранения сэмплов используется основное ОЗУ компьютера.
Однако, в целом устройство получилось не проще, его схема сравнима по размеру с General Sound, а подключение к компьютеру усложнилось, требуя более глубоких знаний об устройстве каждого из клонов. К тому же, сам компьютер должен был иметь хотя бы 512 килобайт ОЗУ. Использование DMA USC в программах также было несколько сложнее — файл с музыкой обрабатывается полностью силами центрального процессора, устройство только разгружает его от задачи чтения из памяти и смешивания сэмплов.
Эти факторы, а также довольно позднее появление устройства, не позволили ему приобрести популярность. По этой причине даже найти хотя бы его фотографию является довольно сложной задачей. Но благодаря усилиям энтузиаста под ником Prusak мы имеем такую возможность — подробности из первых рук можно получить на его сайте.
Цифровые музыкальные редакторы для ZX Spectrum поддерживали всё это многообразие устройств в различных комбинациях. Первые из них работали только с AY, что давало довольно низкое качество звука, зато без каких-либо дополнительных устройств. Также довольно широко поддерживался Covox, реже — SounDrive. Для SounDrive, General Sound и DMA USC также существовали свои собственные редакторы, поддерживающие только эти устройства.
Sound Tracker и Sample Tracker. Найдите десять отличий
Как уже упоминалось, началось всё с чешского Sample Tracker (1992). Этот трекер скроен по лекалам польского Sound Tracker для обычной чиптюновой музыки на AY-3-8910 (1992), и имеет настолько похожий интерфейс, что их можно перепутать. Он поддерживает всего три канала звука и только 48 килобайт ОЗУ — около 28 килобайт из них отводится под сэмплы. Это, однако, обеспечило довольно неплохое звучание даже через ЦАП-ы микросхемы AY, так как проигрывателю не нужно тратить время на переключение банков расширенной памяти. Помимо вывода цифрового звука через AY и бипер, редактор изначально поддерживал Covox (названный D/A OUT), правда выводил он в него 4-битные значения. В 1996 году Oldman значительно переделал редактор, адаптировал его к дисковой системе TR-DOS и переписал заново код проигрывателя, добавив полноценную поддержку Covox, а также Stereo Covox и SounDrive (названный Covox 4).
Программа Instrument 4.01. Загружен трек, видны названия всех пяти его сэмплов
В 1994 году появилась первая отечественная альтернатива — редактор Instrument Вадима Еремеева. Он сильно отличается от всех прочих подходов: сама музыка сочиняется в популярных редакторах обычной чиповой музыки для AY-3-8910 — Sound Tracker или Advanced Sound Master, а в Instrument загружается уже готовый трек с нотным текстом, где ему можно назначить сэмплы — правда, всего лишь семь штук. Также есть рудиментарные возможности для редактирования. Как и Sample Tracker, проигрыватель не поддерживает расширенную память и воспроизводит музыку только через ЦАП-ы AY-3-8910.
Несмотря на довольно специфический подход и относительно скромные возможности, Instrument позволил создать приличное количество цифровых треков, чему в немалой степени поспособствовала распространяемая с ним в комплекте библиотека сэмплов, невозбранно понадёрганная из Amiga Soundtracker Sample Packs — серии дисков, известных под названием ST-XX, содержащих сэмплы для того самого The Ultimate Soundtracker на Amiga, который начал это всё. Первые диски, ST-01 и ST-02, нарезал ещё сам его автор, Karsten Obarski, и таким вот замысловатым образом они добрались до ZX Spectrum.
Digital Studio 1.12
Не заставил себя долго ждать и следующий столп цифровой музыки на ZX Spectrum — самый популярный местный редактор Digital Studio, появившийся в 1995 году. Как и предшественники, оригинальная его версия поддерживала только три канала и воспроизведение через ЦАП-ы AY-3-8910. Однако, теперь это был полноценный редактор с очень красивым графическим интерфейсом, затмивший Sound Tracker-подобные программы. Также он наконец-то получил поддержку расширенной памяти на 128K машинах, позволив задействовать до 16 сэмплов общим объёмом до 96 килобайт. Однако, эта поддержка привела к понижению частоты дискретизации и общего качества звучания — частота дискретизации составляет 10 кГц.
Digital Studio оказался весьма удачным, и на его основе разными людьми были созданы версии для других звуковых устройств, в том числе Covox, SounDrive и даже DMA USC. В последующие годы появилось немало других редакторов, но ни один из них уже не повторил популярности упомянутых выше.
Flash Tracker, Digital Designer Pro, Chip Tracker. Групповой портрет
Некоторые из них пошли по стопам Sample Tracker, ограничившись поддержкой 48 килобайт и только трёх каналов, что дало им более высокое качество звучания. Отдельные редакторы ориентировались сразу на SounDrive в качестве основного устройства воспроизведения, и предоставляли четыре канала. Это, прежде всего, редактор Flash Tracker (1996) от самой группы Flash — создателей этого устройства, а также Digital Designer (1996) от Bat & Lazy и Chip Tracker (2004) от Alone Coder.
Digital Music Maker и Extreme Tracker двух поколений. В интерфейсе первых версий ET явно узнаются черты Digital Studio
Другая группа редакторов развивалась в сторону увеличения возможностей ценой потери качества. Первым представителем этого направления стал белорусский Digital Music Maker (1995) от Baca, поддерживавший 128 килобайт ОЗУ, громкость, эффекты слайда, вибрато и арпеджио. Пиком же, вероятно, стал редактор Extreme Tracker, предложивший четыре канала, все эффекты формата MOD и управление громкостью, а также поддержку до 1024 килобайт ОЗУ и турбо-режимов на отдельных клонах. Платой за это стало качество звучания, достигавшее уровня прежних редакторов только в турбо-режиме.
Наличие нескольких популярных звуковых устройств с разным количеством каналов привело к ряду любопытных технических казусов, когда трёхканальный редактор поддерживает воспроизведение музыки через четырёхканальный SounDrive, выводя один из каналов сразу в два (в центр панорамы) — это реализовано в Sample Tracker и Digital Music Maker (1995), и наоборот, когда четырёхканальный редактор способен воспроизводить звук через три ЦАП-а на AY-3-8910, распределяя каналы между ними — такой способностью обладает Chip Tracker.
RIFF Tracker, Excellent Tracker, Prodigi Tracker
Что касается двух самых продвинутых звуковых устройств, каждое из них получило по паре специализированных редакторов, ориентированных исключительно на эти устройства.
Для General Sound это разработанные с нуля Riff Tracker и Excellent Tracker,. Это именно только редакторы, они не содержат собственного кода для проигрывания музыки. Так как проигрыватель MOD-файлов уже встроен в ПЗУ устройства, редакторы для него автоматически поддерживают всё, что поддерживает этот проигрыватель, и ничего другого.
Для DMA USC не было создано новых редакторов, но были адаптированы Digital Studio и Prodigi Tracker. Они поддерживают только базовые возможности из своих оригинальных версий, без эффектов и громкости. Это отчасти компенсируется существованием для DMA USC проигрывателя MOD-файлов Access Player.
… и многие другие
▍ Продолжение следует
Хотя я уже рассказал значительную часть того, что любо сердцу отечественного компьютерного энтузиаста 1990-х годов, тема ещё далека от исчерпания. Мы остановились ровно на середине.
Вторая часть статьи будет посвящена многочисленным параллельным реальностям — истории цифрового звука на компьютерах БК, Atari разных поколений, Amstrad CPC, Commodore 64, игровой консоли Famicom/NES, и на ещё более экзотических платформах. Поверьте, там тоже найдётся о чём рассказать. Скоро сами всё увидите.
Автор: Александр Семенов