Audiofilus

Трекер

Чиптюн на крестовине, в духе LSDJ, с парой идей из PICO-8.

Трекер играет песню: каналы с живыми осциллографами, ячейки подсвечиваются, когда звучат их ноты

Обзор

Открой Игры → Трекер. Песня устроена как в LSDJ: песня — это список строк, каждая строка говорит, какую цепочку играет каждый канал, цепочка — это список фраз, а фраза — 16 шагов с нотами. Звук дают инструменты, которые могут запускать таблицу с каждой нотой; грув задаёт свинг, а волны рисуются вручную. Из PICO-8 пришли восемь его волн, инструмент на каждом шаге и пиано-ролл.

Песни сохраняются сами через секунду после каждого изменения. Пока играет трекер, твоя музыка на паузе, а визуализаторы и игры реагируют на трекер.

Режимы песни: Game Boy и Свободный

У каждой песни есть режим, он задаётся во вкладке PROJ:

Любой инструмент можно поставить на любой канал. Если переключить песню в Game Boy, то, что на каналах 5–8, сохранится, просто не будет звучать.

Песня, цепочки и фразы

Каждый канал играет свою цепочку и, когда она заканчивается, переходит к следующей строке. Канал без цепочки в строке ждёт, пока каналы с цепочками не перейдут дальше, так что строки идут ровно. Строка совсем без цепочек длится одну фразу тишины.

Время идёт в тиках, 24 на долю. С грувом по умолчанию каждый шаг длится 6 тиков, шестнадцатую, так что фраза — это один такт.

Восемь видов

Вкладки сверху — это карта слева направо: PROJ · SONG · CHAIN · PHRASE · INSTR · TABLE · GROOVE · WAVE. L1 и R1 переходят к соседнему виду. Переход вправо через R1 открывает то, что под курсором:

ОткудаR1 открывает
SONGЦепочку в ячейке
CHAINФразу в шаге
PHRASEИнструмент шага (или последний над ним)
INSTRТаблицу инструмента
GROOVEВолну инструмента, если это волновой инструмент

На узких экранах вкладки сокращаются до PRJ, SNG, CHN, PHR, INS, TBL, GRV и WAV.

Редактирование

Во всех видах редактирование одинаковое:

КнопкаДействие
КрестовинаДвигать курсор
Удерживай A + ↑/↓Менять значение на один
Удерживай A + ←/→Менять сильно: на октаву для нот, на 16 для чисел, на 4 для громкости
A на пустой ячейкеПоставить последнее значение
A A (дважды, быстро)Поставить новую неиспользованную цепочку, фразу, инструмент или таблицу
A на номере цепочки или фразыОткрыть её (виды песни и цепочки)
B+AУдалить
B+←/→Предыдущая / следующая цепочка, фраза, инструмент, таблица, грув или волна
B+↑/↓Прыжок на 16 строк (вид песни)
YИграть или остановить: песню со строки курсора (PROJ, SONG), цепочку по кругу (CHAIN) или открытую фразу по кругу (остальные виды)
B+YЗаглушить канал, с которым работаешь
XВид фразы: переключиться на пиано-ролл и обратно
StartМеню трекера

Нота звучит, когда ты её пишешь, а A на ноте играет её. Если написать ноту на шаге без инструмента, ставится последний использованный. Ниже C-0 идёт OFF, который отпускает ноту. Цепочки, фразы, инструменты и таблицы создаются при первом редактировании.

В меню Start есть:

Удерживай FN, чтобы увидеть кнопки вида, в котором ты находишься.

Пиано-ролл

Нажми X в виде фразы, чтобы увидеть фразу как в PICO-8: шаги по горизонтали, высота по вертикали, и каждая нота длится до следующей.

КнопкаДействие
←/→Выбрать шаг (курсор прыгает к ноте этого шага)
↑/↓Выбрать высоту
AПоставить ноту или убрать её, если она уже есть
Удерживай A + ↑/↓Сдвинуть ноту шага выше или ниже
B+AУдалить ноту шага
XВернуться к сетке шагов

Инструменты

До 64. Новая песня идёт с инструментами пульс, волна и шум (и синт в Свободном режиме). Что показывает вид INSTR, зависит от типа и режима:

НастройкаЧто делает
ИмяA открывает клавиатуру
ТипПульс, волна, шум или синт (только Свободный). Смена типа сбрасывает инструмент.
ГромкостьОт 0 до F; масштабирует громкость шага
Огибающая, Направление, СкоростьGame Boy, кроме волны: начальный уровень (0–F), ВНИЗ / РОВНО / ВВЕРХ и скорость (1–7: один уровень за скорость/64 с; 0 держит уровень)
Атака, Спад, Сустейн, ЗатуханиеСвободный: огибающая ADSR, в тиках (сустейн — это уровень, 0–F)
ДлинаТиков до обрыва ноты (--: без обрыва)
ТаблицаТаблица, которая запускается с каждой нотой (--: нет)
ПанорамаL, LR или R
Транспоз.Влияет ли на него транспозиция цепочки (выключи для ударных)
ВибратоСкорость и глубина (старшая и младшая шестнадцатеричная цифра)
СкважностьПульс и меандр синта: 12,5, 25, 50 или 75 %
СвипПульс, Game Boy: свип частоты PU1, как регистр NR10 консоли (время, направление, сдвиг)
ВолнаВолновые инструменты: какая волна (00–FF)
Громк. волныВолна, Game Boy: 100, 50 или 25 %. У волнового канала Game Boy нет огибающей; его громкость — четыре ступени.
Короткий шумШум: 7-битный регистр, более тональный и металлический
ФормаСинт: треугольник, синус, пила, меандр, орган, фантом или шум

У импортированных песен MOD и XM есть ещё и сэмпловые инструменты: записанные звуки модуля с их петлями (вперёд или пинг-понг). Они видны в INSTR с общими настройками; если сменить их тип, они станут новым инструментом.

Нота шумового инструмента задаёт скорость шума: низкие ноты рокочут, высокие шипят. A на настройке играет последнюю ноту этим инструментом.

Таблицы

Таблица — это 16 строк, которые выполняются по одной за тик, пока звучит нота, начиная с каждой ноты инструмента, который её использует (или с команды A). В каждой строке есть громкость (или ничего), транспозиция в полутонах от ноты и две команды. H в таблице прыгает на другую строку — так таблицы зацикливаются: три строки с транспозицией 0, +4 и +7 и H00 в последней дают мажорное арпеджио, а быстро падающая транспозиция с коротким шумом даёт бочку.

Грувы

Грув — это список до 16 чисел: сколько тиков по очереди длится каждый шаг. По умолчанию 6/6 — ровно; 7/5 или 8/4 — свинг. В виде GROOVE A на пустом месте после последнего числа добавляет ещё одно, а B+A удаляет; в заголовке показан свинг. Грувов 32; PROJ задаёт тот, с которого начинается песня, а команда G переключает один канал на другой существующий грув.

Волны

256 волн по 32 сэмпла от 0 до F, их играют волновые инструменты. Первые восемь — из PICO-8: треугольник, наклонная пила, пила, меандр, импульс, орган, шум и фантом. В виде WAVE ←/→ выбирают сэмпл, удерживай A + ↑/↓, чтобы его менять, и A + ←/→, чтобы рисовать (следующий сэмпл берёт значение текущего). В Start есть формы PICO-8 для начала.

Справочник команд

У каждого шага и строки таблицы по две команды. Новая нота сбрасывает текущие (C, F, K, P, V, R, затухания и падение).

КомандаДействие
AxxЗапустить таблицу xx (AFF останавливает её)
CxyАккорд: перебирает ноту, +x и +y полутонов на каждом тике (C47 мажор, C37 минор)
DxxЗадержка: шаг звучит на xx тиков позже (теряется, если это дольше шага)
ExyОгибающая: x — начальный уровень; старший бит y означает вверх, его младшие 3 бита — скорость (0: держит)
FxxПодстройка в сотых долях полутона (со знаком: 01–7F вверх, 80–FF вниз)
GxxПереключить этот канал на грув xx
HxxПрыжок. Во фразе: закончить её после этого шага и начать следующую с шага xx. В таблице: перейти на строку xx.
IxxНарастание громкости за xx тиков
KxxОбрыв: отпустить ноту через xx тиков
LxxГлиссандо: на шаге с нотой плавно съехать к ней за xx тиков, а не играть заново
M0xОбщая громкость, от 0 до F
OxxВыход: 0 выкл, 1 слева, 2 справа, 3 оба
PxxИзгиб высоты: сотые доли полутона за тик (со знаком)
RxyПовторять ноту каждые y тиков; x (со знаком: 0–7 вверх, 8–F вниз) меняет громкость при каждом повторе
SxxНа шуме: S01 короткий (7-битный) шум, S00 длинный. На пульсе: регистр свипа PU1.
TxxТемп в BPM (от 28 до FF, то есть от 40 до 255)
UxxЗатухание за xx тиков
VxyВибрато: скорость x, глубина y
WxxНа волновом инструменте: переключить на волну xx. Иначе: скважность пульса, от 0 до 3.
XxxПадение: высота опускается, а нота затухает за xx тиков
ZxxСлучайность: добавляет от 0 до xx к значению другой команды

Примеры

В Start → Песни есть четыре примера, каждый что-то показывает. Открытие примера ничего не сохраняет, пока ты его не изменишь.

Импорт и экспорт

Экспорт — из меню Start. Файлы попадают в папку audiofilus tracker в твоей папке с музыкой, и библиотека их подхватывает:

Импорт… показывает песни, найденные в твоих папках с музыкой и в папке приложения data/tracker/import (до 300). Каждый импорт становится новой песней, которую можно править:

Найти в сети… ищет файлы MOD и XM на The Mod Archive и Modland; выбор одного скачивает и импортирует его. Экран Модули тоже умеет открывать их в трекере.

Не всё переживает перенос: эффекты модулей без команды трекера (смещение сэмпла, петли паттерна, тремоло, общая громкость) отбрасываются, инструмент XM сохраняет только сэмпл, который играет на C-4, киты LSDJ становятся короткими ударами шума, а экспортированный модуль теряет таблицы и редкие команды. Песни из прежнего трекера открываются сконвертированными: каждый паттерн становится одной фразой и одной цепочкой на канал, а его эффекты — командами (арпеджио → C, скважность → W, изгиб → P).

MIDI

Подключи USB MIDI-клавиатуру или контроллер к консоли (через переходник USB-C, если нужно) или к компьютеру. Работает на Linux-консолях и компьютерах, в Windows и на iPhone/iPad (USB или уже сопряжённый Bluetooth MIDI). Трекер сам находит устройство, в том числе если подключить его при открытом приложении, и подключается к первому.

Клок приходит примерно на один аудиобуфер позже (50–100 мс), что важно только при игре вместе с чем-то вживую.