Кажется, тема трекеров раскрыта в статьях неоднократно. Явлению без малого 30 лет, но по сей день хакерское число-буквенное представление музыки окутано аурой таинственности, ведь превращение «шума» на экране в красивейшую композицию — ничто иное, как магия. Что же в основе? И почему трекеры популярны по сей день? Попытаюсь ответить на эти вопросы с точки зрения разработчика подобных программ.
Первым в мире музыкальным трекером принято считать программу Ultimate SoundTracker, написанную немецким разработчиком и композитором Карстеном Обарски в 1987 году для компьютера Commodore Amiga. Программа была создана в первую очередь для написания музыки к играм. Своим внешним видом она напугала немало музыкантов с классическим образованием. Ее называли сложной и лишенной логики. Выглядел первый трекер примерно так:
Откуда столь странный интерфейс? Где нотный стан с символами нот?
Commodore Amiga обладал революционными аппаратными характеристиками для домашнего компьютера того времени. В частности, на нем был установлен звуковой чип Paula - настоящий цифровой сэмплер. В оперативной памяти лежали фрагменты (сэмплы) записанных звуков в формате PCM 8-бит. Чип Paula мог играть одновременно четыре сэмпла, динамически меняя их громкость и скорость - это давало четыре независимых канала (или трека), на каждом из которых могла играть определенная последовательность из сэмплов. Но четыре канала - не так уж много, при написании сложной музыки нужно очень аккуратно их использовать. Например, при взятии аккорда из трех нот у нас остается ровно один канал, на котором нужно умудриться расположить барабаны и бас. Поэтому интерфейс первых трекеров - ничто иное, как пульт управления звуковым чипом, представление компьютерной музыкальной композиции на самом низком уровне. Мы видим четыре аппаратных канала (колонки), и некую последовательность действий внутри. Все параметры чипа полностью подконтрольны пользователю. Это, кстати, объясняет смысл популярного направления чиптюн - музыки, написанной для аудиочипа (хотя сегодня чаще всего используются эмуляторы известных чипов, или вообще некая стилизация).
Так как трекеры писали программисты, их логика представляется крайне простой. Музыка - последовательность команд для звукового чипа. То есть - нечто, напоминающее программу на ассемблере. Последовательность исполняется сверху вниз. Для наглядности команды группируются по каналам, описанным выше. Команда говорит, например: играй сэмпл под номером 2 с громкостью 20. Или: плавно повышай тональность на этом канале. Команда обычно состоит из таких частей:
- нота (три символа); например: A # 3;
- номер сэмпла (один символ);
- номер эффекта (один символ); например, эффект F менял скорость воспроизведения, а эффект 3 обеспечивал плавный переход с одной ноты на другую;
- параметр эффекта (два символа; диапазон от 00 до FF).
Номера из соображений компактности решили записывать в шестнадцатеричной системе счисления. Поэтому кроме цифр на экране мы видим и буквы, что неподготовленных пользователей окончательно сбивает с толку.
А коль скоро трекерная музыка - программа в буквенно-цифровом виде, то и редактировать ее можно, как в текстовом редакторе, при помощи обычной компьютерной клавиатуры. Отсюда вытекает один важный плюс трекеров - ноты и ритмические рисунки можно вбивать очень быстро, по аналогии со скоростным печатанием текста.
Еще один плюс исходит из желания программистов все упрощать. А именно: часто повторяющиеся куски кода нелепо каждый раз переписывать с нуля - достаточно выделить их в отдельные подпрограммы и далее указывать лишь адреса. Так же и в музыкальном коде. Например, припев повторяется два раза. Дублировать его вручную - неудобно и неэкономично. Поэтому припев выделяется в отдельную подпрограмму, которая в среде музыкальных редакторов называется паттерн (кусок партитуры), и далее по ходу композиции в нужных местах выставляется номер паттерна. Кроме того, если в дальнейшем захочется изменить пару нот в припеве, то сделать это нужно лишь в одном паттерне, а не во всей композиции целиком. В классических трекерах имеется список паттернов. Он говорит, в каком порядке их играть и внешне выглядит, например, так: 01, 02, 03, 03, 01, 01. После нажатия PLAY трекер читает список и играет паттерны ровно в том порядке, в котором они указаны.
Завершающая фишка классических трекеров — формат файлов для хранения музыки. Самый распространенный из них — формат MOD, который пришел с Ultimate SoundTracker и укоренился в трекерном пространстве на года, даже после того, как PC сместил Амигу со сцены. Прелесть такого файла в том, что в нем хранится вся необходимая информация для проигрывания и редактирования: сэмплы, паттерны и некоторые дополнительные параметры. Скачав MOD, вы услышите музыку именно в том виде, в котором задумывал ее автор, с мельчайшими нюансами. А если понравится — без труда сможете позаимствовать сэмплы или сделать ремикс, изменив содержимое паттернов. Сегодня огромный архив MOD-музыки вы можете найти на сайте Mod Archive.
Несмотря на критику, у программы SoundTracker появилась армия поклонников, самые продвинутые взломали оригинальный код и на его основе неофициально стали выпускать улучшенные клоны. К примеру, NoiseTracker:
Количество клонов росло. Они обрастали новыми функциями, совершенствовался интерфейс, увеличивалось количество каналов. Трекерная музыка стала частью компьютерной субкультуры Demoscene. Осваивались новые платформы. Самая массовая - PC (с системами DOS и Windows). Появились трекерные форматы 2-го поколения: S3M (Scream Tracker), XM (FastTracker), IT (Impulse Tracker). И пока домашние компьютеры не отличались большой производительностью, а файлы по сети передавались с черепашьей скоростью - MOD-музыка оказалась своеобразной заменой современного MP3, так как файлы с неплохим звуком могли весить считанные килобайты.
Impulse Tracker (DOS):
Трекер EdLib для звуковых карт с чипом OPL2:
В конце 90х мощность компьютеров достигла уровня, пригодного для генерации звука профессионального качества в реальном времени. Пошла волна всевозможных программных синтезаторов, появился формат плагинов VST. Разумеется, это отразилось и на трекерах. Первым представителем трекеров 3-го поколения стал Jeskola Buzz - он позволил вместо сэмплов использовать сложные комбинации модулей-синтезаторов и эффектов. За ним в игру вступили не менее крутые Psycle, Renoise, SunVox и т.д. По качеству они уже не уступали дорогому студийному ПО, хотя в интерфейсе по-прежнему узнавался родной Ultimate SoundTracker.
Jeskola Buzz — первый трекер, совмещенный с модульным синтезатором:
ModPlug Tracker в свое время показал, что переход трекеров на Windows неминуем:
Моя разработка — SunVox. Чем-то похож на Jeskola Buzz, но с множеством отличий:
Лично я серьезно познакомился с трекерами где-то в 1995 году, когда брат установил FastTracker2 на наш не самый быстрый компьютер. До этого я уже видел какие-то примитивные 4-канальные MOD-трекеры в текстовом режиме, но от последней программы просто снесло башню… Графический режим с мышкой, 32 канала, 16-бит, огибающие громкости! И все это на 486SX без звуковой карты (мы использовали собранный на коленке Covox)! Не имея музыкального образования, не умея играть ни на одном инструменте, не зная нот, с того дня (и по сей день) это стал для меня самый удобный и логичный способ ввода музыки в компьютер. Думаю, многие читатели смогут вспомнить очень похожу историю :)