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"
   Уважаемые композиторы!Подарите музончик
для следующей версии,плз... а?