Chip Tracker v1.0
© Alone Coder
Наконец-то вышла первая версия нашего
давно обещанного редактора. Задержки с ре-
лизом я объясню тем,что мне долго было ле-
ниво написать дисковый модуль для него.Вот
не люблю я дисковые модули писать ;)
Что это за чудо?
Чудо.
Чип - цифровой музыкальный модуль раз-
мером меньше 64k, как правило, в формате
.MOD; иногда их стремятся сокращать и по
длине после упаковки zip'ом.Получаются лю-
бопытные результаты:мне приходилось видеть
.MDZ размером меньше килобайта.
То есть, чиповая музыка - это типа ис-
кусство. Ну вы поняли ;)
Маленький цифровой музон можно вставить
в не сильно динамичную игру, если движок
такой игры повесить на прерывания или на
регулярно вызываемую точку плейера резиде-
нтом. В общем,как-нибудь я вам покажу, как
это делается...
Основную массу композиции занимают сэм-
плы.При этом плейер постоянно считывает по
байтику то из одного сэмпла,то из другого,
так что раскидывание сэмплов по страничкам
даст некоторую потерю в скорости, а потому
и в качестве звука. Так размещение инстру-
ментов в нижней памяти,ведущее к ограниче-
нию на объём оцифровок,имеет оправдание ;)
Такую халтуру ;) и раньше можно было
плодить на Спекки в редакторах Sample Tra-
cker,FT или DD, но вот интерфейс мне ихний
не приглянулся ;). Я взял большинство идей
из PT 2.x, 3.x, а нижнюю память под сэмплы
использовал уже всю, что породило проблемы
(см.ниже), но всё-таки хоть как-то справи-
лось с теснотой, которая характерна для
этого типа плейеров. Сэмплам в памяти тес-
но,как шпротам в банке ;) Конечно же,нужно
урезать сэмплы из стандартных наборов,и не
утрировать искусство цифровой композиции
до банального набивания звуковых эффектов.
Мелодика прежде всего! В попсе нет никакой
ценности, она не должна жить!
Что не поместилось в хелпе:
Поддержку SounDrive я добавить не ус-
пел,но это несложно. Я уже пробовал менять
плейер в исходнике: звук на SD получается
чище, хотя частота дискретизации немного
меньше. К сожалению,для другой частоты ди-
скретизации придётся пересчитать табличку
частот, и на несколько процентов "поедут"
глиссы. Попытаюсь что-нибудь придумать,для
turbo в том числе...
Можно изменить номер используемого пор-
та для COVOX. Он прописан в бейсик-загруз-
чике.
Чтобы занять свободную страничку, я до-
бавил в редактор выход в RealCommander1.x,
так что в этой версии свободно только 400
байт. В будущих версиях свободная память
будет занята под редактор сэмплов (весьма
полезная должна быть штука - урезать,заци-
кливать, накладывать громкость, склеивать,
складывать сэмплы и менять их частоту, я
полагаю, потребуется весьма часто).
Дисковый модуль не обрабатывает ошибок,
поэтому будьте аккуратны: малейшее неосто-
рожное движение,и вы в открытом космосе ;)
Проблемы со скорпионовским контроллером
клавы могут появляться везде и всюду. Хуже
то,что ничего с этим поделать нельзя! ;( В
трекере асинхронный проигрыватель...Неуже-
ли к скорпиону нельзя подключить клавиату-
ру,минуя контроллер???
Компилятора пока нет,но нетрудно вынуть
плейер из редактора. Формат модуля описан
внутри,и нужно только произвести небольшое
перекодирование параметров сэмплов в абсо-
лютные адреса:
(page 0)
#ff02: beg end ? ? Lloop Hloop
#ff12: beg end ? ? Lloop Hloop
...
и т.д., где beg = старший адрес начала сэ-
мпла, end = старший адрес последних 256 б.
сэмпла (сэмпл округляется до 256 с разво-
рачиванием loop'а), loop = адрес точки за-
цикливания. Должен быть равен #ff00, если
сэмпл не зациклен (т.е.если Start=Length).
Формат паттерна:
addr addr+256
%NNNNNNCC,%IIIIXXXX четыре раза
Причём n=0 - это ---, а n=63 - это R--.
ХАРАКТЕРИСТИКИ:
Число каналов............................4
Частота дискретизации............16-18 кГц
Память под инструменты..........#bb00 байт
Память под паттерны.................15.5 k
Память под плейер................#3c0 байт
Память под резиденты и стек.......#40 байт
Свободно..............................64 k
Число инструментов......................16
Число паттернов.........................31
Число позиций..........................256
Число октав...........................пять
Длина инструмента............не ограничена
Объём паттерна...................до 64 нот
Громкость..................не регулируется
Триоли и форшлаги............только темпом
Арпеджио........................невозможно
Вибрато и тремоло...............невозможны
Глиссандо................есть,даже на ноте
Легато,sample offset..............возможно
Sample delay....................невозможен
Команды.............Gliss,Tempo,Offset,End
Комбинация эффектов.............невозможна
Минимальная конфигурация системы:
Пентагон-128/ATM/KAY/Profi(no wait)+COVOX
(для тормозов можно написать 48k плейер)
Громкости нету...Используйте Offset...
Почему?
Когда-то (года три назад) мне захоте-
лось поэкспериментировать с плейерами циф-
ровой музыки.Писал их на лекциях,в большом
количестве, а характеристики сводил в таб-
личку,главным критерием которой было число
f·c2·(v+b)·m,
где
f=частота дискретизации плейера,
c=число каналов,
v=число разрядов громкости,
b=разрядность каналов,
m=объём памяти под сэмплы.
Сейчас смешно,но мне тогда казалось,что
чем больше эта цифра,тем круче плейер =)
[основная лажа вот в чём: эта характе-
ристика очень быстро растёт с увеличением
числа каналов; ещё есть некий предел насы-
щения разрядностью и частотой дискретиза-
ции,да и объём памяти учитывался только на
128k...]
Весьма приличные значения получались
при выделении всего 47k под сэмплы,как для
плейера под COVOX,так и для AY. Ну,я и по-
думал написать пару соответствующих редак-
торов - набить руку,так сказать. Думал,раз
сэмплы все в одном месте, то и программа
будет попроще. Наивный ;)
Я сегодняшний не раз вспоминал разными
словами себя тогдашнего, пытаясь написать
процедуру сохранения сэмпла (6 битов в од-
ной страничке, остальные 2 - в другой) на
диск (а системные переменные йок ;), како-
вая процедура должна лежать в третьей
страничке и использовать информацию о па-
раметрах сэмпла, хранящуюся в четвёртой 8]
К сожалению,я не успел написать поддер-
жку упакованных сэмплов, но она будет. И в
компиляторе тоже. Паттерны тоже будут сжи-
маться:по жутко простому,но жутко эффекти-
вному принципу,придуманному специально для
этого формата паттернов.И что интересно,их
можно будет играть без распаковки! Но это
(плейер, играющий упакованные паттерны) -
пока дело будущего...Как и плейер для 48k.
Возможно, эти два пункта будут реализованы
в одном флаконе.Конечно же,я буду думать и
о реализации плейера, дружащего с прерыва-
ниями.
Планируется написать AY-версию редакто-
ра: 3 канала,192k samples,громкость,12kHz,
32 паттерна, 16 орнаментов. AY ещё не ска-
зал своё последнее слово! ;)
Дата сборки: 8.11.2001.
В общем,это версия первая,пробная,в ней
есть HELP.Я постарался вставить этот HELP,
но это оказалось очень сложно, и потому в
следующих версиях встроенного хелпа не бу-
дет.
На такой вот оптимистической ноте ;)
В приложении лежит пример музона в фор-
мате Chip Tracker'а: "ZATRAHAN.CHI"
Уважаемые композиторы!Подарите музончик
для следующей версии,плз... а?
Сайт управляется системой
uCoz