- Автор
- S.T.A.S.
CACOFONY PRO SYSTEM v0.10 — музыкальный редактор с удвоенной частотой и редактированием на лету!
Приветствую всех ценителей качественного звука на ZX Spectrum! Хочу поделиться подробным описанием еще одного замечательного музыкального редактора — CACOFONY PRO SYSTEM. Эта программа не просто очередной клон Sound Tracker, а мощный инструмент с рядом уникальных возможностей, таких как удвоенная частота обновления AY (100 Гц!) и режим редактирования прямо во время проигрывания (EDIT-IN-PLAY).
Материал основан на оригинальном руководстве.
Оглавление
- Введение и системные требования
- Сравнение с другими редакторами
- Музыкальный процессор AY8910/12
- Основные термины
- Главный экран и управление
- Главное меню и редактор паттерна (Pattern Editor)
- Редактор инструментов (Instrument Editor)
- Меню очистки, копирования и транспозиции
- Дисковые операции (Disk Menu)
- Компилятор (Cacofony Compiler)
1. Введение и системные требования
CACOFONY PRO SYSTEM — это полнофункциональный музыкальный редактор для ZX Spectrum с музыкальным сопроцессором AY-3-8910/12.Требуемая конфигурация:
- ОЗУ: 48K (желательно 128K)
- Дисковод: TR-DOS любой версии (используется точка входа #3D13)
- ПЗУ: SOS 82 или TURBO 90 (для стабильной шины данных). Работа на "чайниковских" переделках ПЗУ не гарантируется.
2. Сравнение с другими редакторами
Ниже приведена сравнительная таблица возможностей Sound Tracker (ST), ASC Sound Master (ASM), PSM и CACOFONY (CPS). Как видно, CPS имеет ряд уникальных преимуществ.| Характеристика | ST | ASM | PSM | CPS |
|---|---|---|---|---|
| Кол-во POSITION | 256 | 100 | 256 | |
| Кол-во PATTERN | 31 | 32 | 40 | |
| Кол-во SAMPLE | 15 | 32 | 15 | 15 |
| Кол-во ORNAMENT | 16 | 32 | 32 | 15 |
| Размер PATTERN | 9-64 | 1-64 | 1-64 | 1-64 |
| Размер SAMPLE | 32 | 1-150 | 1-32 | 1-120 |
| Размер ORNAMENT | 32 | 1-32 | 1-32 | 1-120 |
| Независимая длина PATTERN | - | + | + | + |
| Изменение скорости | - | командой | для любой POS | + (для любой POS) |
| LOOP POINT | - | + | + | + |
| Модуляция | PATTERN | - | PATTERN | любой канал |
| Громкость | - | + | + | - |
| Спец. команды | - | + | - | - |
| Авто-ввод делителя ENVELOPE | - | ++ | + | ++ |
| Исп. ENVELOPE вместе с ORNAMENT | - | + | - | + |
| Исп. ENVELOPE в SAMPLE, % | 20% | 50% | 40% | 90% |
| Исп. TONE в SAMPLE, % | 100% | 6.2% | 24% | 99.9% |
| Доп. возможности SAMPLE | - | ++ | + | - |
| Изменение громкости ENVELOPE | - | - | - | + |
| Редактор SAMPLE | ** | * | ***** | **** |
| Авт. генерация SAMPLE | - | - | - | + |
| Оконная система & SPEED KEYS | - | + | - | + |
| EDIT-IN-PLAY | - | - | - | + |
| Изменение QUARK | - | - | - | + (50/100 Гц) |
| Подгрузка любой таблицы звуков | - | - | - | + |
| Индикаторы | * | ***** | *** | ***** |
| Поддержка 48K | + | - | - | + |
| Совместимость | - | - | - | ST |
3. Музыкальный процессор AY8910/12
CACOFONY напрямую работает с регистрами AY. Вот краткое описание:- R0&R1 (A), R2&R3 (B), R4&R5 (C): 12-битные регистры высоты тона (Tone). Частота: 110.8375 / R kHz.
- R6: Частота шума (Noise).
- R7: Маска микшера (0 — включено, 1 — выключено). Биты: 0-2 — Tone A/B/C, 3-5 — Noise A/B/C.
- R8,R9,R10: Громкость каналов A,B,C. D0-D3 — уровень (0-15). D4=1 — включение генератора огибающей (Envelope).
- R11&R12: Частота генератора огибающей (Envelope). В CACOFONY R12 всегда = 0.
- R13: Тип огибающей (один из 16 видов, от пилообразных до треугольных).
4. Основные термины
В CACOFONY используется терминология, близкая к ASM, но есть и свои особенности.- QUARK: Минимальный временной отрезок. Обычно 1/50 сек. Фишка CPS: можно установить 1/100 сек для улучшения качества!
- SAMPLE: Главный определитель звука. Описывает изменение всех регистров AY (кроме R12) пока длится нота. Длина 1-120 Quark'ов.
- ORNAMENT: Вспомогательный определитель. Меняет только регистры TONE. Используется для имитации аккордов и расширения возможностей SAMPLE. Длина 1-120 Quark'ов.
- QUANT: Элемент композиции (одна строка в паттерне), кратный QUARK. Содержит ноты для трех каналов с ссылками на SAMPLE и ORNAMENT.
- PATTERN: Музыкальная фраза из 1-64 QUANT'ов. Всего 40 паттернов.
- POSITION: Таблица последовательности паттернов (1-256). В ней также задается скорость (DELAY) и модуляция для каждого канала.
- SOUNDS: Таблица частот для нот. Ее можно менять, что позволяет, например, корректно импортировать музыку из Sound Tracker.
- COMPOSE: Полная композиция, включающая все вышеперечисленное.
5. Главный экран и управление
Экран разделен на три части:- Верхняя часть: Главное меню.
- Центр: Окно PATTERN EDITOR (доступно всегда!).
- Низ: Индикаторы шума и частот каналов (ноты отображаются в стандартном строе, независимо от таблицы SOUNDS).
- Q/A/O/P/Space — перемещение курсора в меню.
- CS+3 / CS+4 — Уменьшение / Увеличение параметров (как Sub/Add).
- CS+SS — Показать "горячие" клавиши для текущего меню.
- CS+1 — Выход (Escape), отказ.
6. Главное меню и редактор паттерна
Вот описание опций главного меню. Самое главное — PATTERN EDITOR активен всегда!- [CS+I] POSITION XX. Номер текущей позиции (1-256). +/– для смены. Select — сброс на 1-ю позицию.
- [CS+E] EDIT PAT.XX Номер редактируемого паттерна (1-40). +/– для смены. Select — сброс на начало паттерна.
Доступно всегда, пока вы в главном меню. Используйте эти клавиши:
- CS+6 / CS+7 — Переход по строкам (QUANT) вверх/вниз.
- CS+5 / CS+8 — Перемещение курсора влево/вправо по строке.
| LL | EE | NNN SO | NNN SO | NNN SO |
(для каналов A, B и C)
- LL — Номер строки (Quanta) в паттерне.
- EE — Номер Envelope (--, 01...FF) для текущего Quanta.
- NNN — Нота (C, C#, D... B) и октава (U, C, L, S, 1, 2, 3, 4). Например, C#L — до-диез большой октавы.
- S — Номер Sample (-, 1...F).
- O — Номер Ornament (-, 1...F).
Клавиши редактирования:
- 0-9, A-F — ввод Sample/Ornament/Envelope.
- Z,S,X,D,C,V,G,B,H,J,M — клавиатурный ввод нот (как пианино).
- K — установить --- (продолжение ноты).
- L — установить PSE (пауза, заглушение канала).
- [CS+Z] PAT.SIZE XX Размер текущего паттерна (1-64). При уменьшении строки не удаляются, а прячутся.
- [CS+Y] DELAY X Скорость в текущей позиции (1-15). - означает "оставить как было". Это количество Quark'ов в одном Quant'е.
- [SS+V] /X Выбор частоты обновления:
- /1 — стандартный режим, 50 Гц.
- /2 — УНИКАЛЬНЫЙ РЕЖИМ 100 Гц! Удвоение частоты для лучшего качества звука.
- A+NN, B+NN, C+NN Модуляция канала (сдвиг по тону) для текущей позиции.
- [CS+N] LEN. XX Длина композиции (количество используемых позиций, 1-256).
- [CS+L] LP. NN Loop Point (позиция зацикливания).
- PLAY COMPOSE/PATTERN Переключение режима (+/–) и запуск (Select). Фишка CPS: во время проигрывания доступно редактирование паттерна (EDIT-IN-PLAY)! Остановка — CS+1.
- [CS+P] PLAY SONG Альтернативный запуск. В режиме /2 обеспечивает реальное воспроизведение со стабильными 100 Гц.
- [CS+S] / [CS+O] SAMPLE X / ORNAMENT X
- При X = - — просмотр.
- При X ≠ - — вход в Редактор инструментов (INSTRUMENT EDITOR).
7. Редактор инструментов (INSTRUMENT EDITOR)
Это совмещенный редактор для Sample и Ornament. Экран разделен на две части: таблица и строка ввода.Верхняя часть — до 15 строк Sample/Ornament. Формат строки:
LL ()+TONE+EN#### ###### ()+OR
Где:
- LL — номер строки.
- () — скобки, обозначающие участок зацикливания.
- +TONE — смещение частоты тона (-2047...+2046). Важно: увеличение значения = понижение частоты. ----- — тон отключен.
- +EN — смещение частоты Envelope (в -80...+7F).
- #### — УНИКАЛЬНАЯ ОСОБЕННОСТЬ. Здесь одновременно задается громкость (графически) или тип Envelope (цифрой 1...F).
- Цвет показывает, подключен ли Tone.
- Зеленый цвет — особый режим (частота Tone ~110 кГц), который приглушает Noise/Envelope, давая "вторую громкость" для Envelope.
- ###### — базовая частота Noise. Цвет показывает, подключен ли Noise.
- () — скобки цикла для Ornament.
- +OR — модуляция ноты в полутонах для текущей строки Ornament.
Управление в редакторе:
- Стандартные клавиши перемещения (Q,A,O,P).
- H — обнулить текущее значение.
- CS+.(>
— смена знака числа или маски. - Изменение размера Sample/Ornament — установить курсор на номер строки (LL) и нажать +/–.
8. Меню очистки, копирования и транспозиции
- [CS+R] CLEAR Меню очистки. Можно стереть канал, паттерн, инструменты. Есть защитный запрос "ARE YOU SURE?".
- [CS+X] COPY TEXT Меню копирования.
- LINE L1 -- L2 >> L3 — копирование строк в пределах паттерна (с циклическим сдвигом).
- CREATE INSTRUMENT — АВТОГЕНЕРАЦИЯ ИНСТРУМЕНТА! Создает Sample и Ornament (длиной 120) из группы строк текущего канала паттерна. Очень удобно для замены повторяющихся пассажей одной нотой.
- [CS+T] TRANSPOSE Меню транспонирования (сдвига по полутонам). Можно заменить использованием модуляции (A+NN), что экономит место при компиляции.
9. Дисковые операции (DISK MENU) [CS+D]
- OBJECT: Выбор объекта (+/–) для операций: Compose, Patterns, Samples, Ornaments, Sounds.
- NAME: Ввод имени файла (до 8 символов). Расширение генерируется автоматически.
- LOAD / SAVE / ERASE / RENAME — стандартные функции.
- CATALOG — просмотр каталога. Отображает имя диска, свободное место, список файлов с их типами.
- DRIVE — выбор дисковода (A, B, C, D).
- IMPORT ST 1.0 — ИМПОРТ МУЗЫКИ ИЗ SOUND TRACKER! Для правильного звучания нужна таблица STRACKER.M.SOUNDS (из-за разницы в строе). Возможны небольшие искажения, связанные с 0-м орнаментом и привязкой Envelope в ST.
10. Компилятор (CACOFONY COMPILER) [CS+M]
Отдельная программа для компиляции готовой музыки в компактный блок машинного кода. На 128K вызывается прямо из редактора.- COMPILE MODULE — запуск компиляции.
- +/– PLAY ROUTINE — можно отключить встраивание проигрывателя в блок (если вы хотите использовать свой).
- MUSIC ON/OFF — включить/выключить музыку для теста.
Загрузите блок по адресу N. Точки входа:
- N+00 — Инициализация (музыка сразу после плеера). Желательно вызвать с запрещенными прерываниями.
- N+03 — Инициализация музыки по адресу в DE.
- N+06 — Заглушить AY (MUTE).
- N+09 — Резерв.
- N+12 — Проиграть один Quark. Для /2 (100 Гц) вызывать дважды за прерывание.
- N+14 — Универсальный вызов: для /1 как N+12, для /2 выполняет проигрывание и вставляет паузу, чтобы можно было вызывать один раз за прерывание (удобно для меню).