Tracker
用十字键以 LSDJ 的方式制作芯片音乐,并借鉴了 PICO-8 的一些特色。

概览
打开 游戏 → Tracker。歌曲的结构和 LSDJ 一样:歌曲 是一系列行,每一行指定每个声道播放哪条 链(chain),一条链是一串 乐句(phrase),一个乐句是 16 步音符。声音来自 乐器,乐器可以在每个音符上运行一张 表(table);律动(groove)决定摇摆感,波形 可以手绘。来自 PICO-8 的有它的八种波形、每一步都能指定乐器,以及钢琴卷帘。
每次修改一秒后歌曲会自动保存。tracker 播放时,你的音乐会暂停,可视化效果和游戏改为跟随 tracker。
歌曲模式:Game Boy 和自由
每首歌都有一个模式,在 PROJ 视图中设置:
- Game Boy:四个声道,PU1、PU2(脉冲波)、WAV(波形)和 NOI(噪声),并遵循这台主机的限制:脉冲宽度为 12.5、25、50 和 75 %,音量包络以 64 Hz 步进,PU1 的频率扫描,32 个采样点的 4 位波形以 100、50 或 25 % 音量播放,噪声来自 15 位或 7 位寄存器,音高四舍五入到硬件的 11 位周期。乐器类型为脉冲、波形或噪声。
- 自由:八个声道,CH1 到 CH8,没有上述限制。每个乐器都有 ADSR 包络,还有第四种类型 synth(合成器),可选正弦、三角、锯齿、方波、风琴、幻影和噪声形状。
任何乐器都可以放在任何声道上。把歌曲切换为 Game Boy 时,第 5 到 8 声道的内容会保留,只是不会播放。
歌曲、链和乐句
- 歌曲:最多 256 行;每一行为每个声道指定一个链编号(或留空)。
- 链(共 256 条):按顺序最多 16 个乐句,每个都带有以半音为单位的 移调。链在第一个空位处结束。
- 乐句(共 256 个):16 步。每一步有一个 音符(C-0 到 B-9,或 OFF)、一个 乐器、一个 音量(0 到 F)和 两条指令(一个字母加一个十六进制值)。
每个声道播放自己的链,结束后进入下一行。某行中没有链的声道会休止,直到有链的声道进入下一行,因此各行保持对齐。完全没有链的行会休止一个乐句的时长。
时间以 tick 为单位,每拍 24 个。在默认律动下每步持续 6 个 tick,即一个十六分音符,因此一个乐句就是一小节。
八个视图
顶部的标签页是一张从左到右的地图:PROJ · SONG · CHAIN · PHRASE · INSTR · TABLE · GROOVE · WAVE。L1 和 R1 移动到相邻的视图。用 R1 向右移动时会打开光标下的内容:
| 从 | R1 打开 |
|---|---|
| SONG | 单元格中的链 |
| CHAIN | 该步中的乐句 |
| PHRASE | 该步的乐器(或上方最近的一个) |
| INSTR | 乐器的表 |
| GROOVE | 乐器的波形(如果是波形乐器) |
- PROJ:歌曲名称(A 打开键盘)、模式、速度(40 到 300 BPM)和起始律动,以及 MIDI 设备和同步。
- SONG:行 × 声道的链编号网格,每个声道都有示波器。你在这里选中的声道就是链和乐句播放所在的声道。
- CHAIN、PHRASE、TABLE:16 行的网格。
- INSTR:乐器设置的列表。
- GROOVE、WAVE:见下文。
在窄屏上,标签页会缩写为 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 | tracker 菜单 |
写下音符时会发声,在音符上按 A 会播放它。在没有乐器的步上写音符时,会使用上次用过的乐器。C-0 之下是 OFF,用于释放音符。链、乐句、乐器和表在第一次编辑时创建。
Start 菜单包括:
- 播放整首歌。
- 撤销:每次按 A 算一步,最多可撤销 64 步。
- 对当前视图显示的内容(链、乐句、乐器、表、律动或波形)执行 复制、粘贴、克隆为新的 和 清空。克隆会复制到第一个空闲编号,你来时所在的歌曲单元格或链步骤会改为指向副本。
- 在波形视图中,有八种 PICO-8 形状,可复制到当前波形。
- 歌曲:新建 Game Boy 或自由模式歌曲、你保存的歌曲和示例。
- 导出到音乐库(WAV)、导出为 XM 和 导出为 MOD。
- 导入…和在线搜索…:见导入和导出。
- 删除这首歌和回到游戏。
按住 FN 查看当前视图的操作。
钢琴卷帘
在乐句视图中按 X,像 PICO-8 那样查看乐句:横向是步,纵向是音高,每个音符一直持续到下一个音符。
| 按键 | 作用 |
|---|---|
| ←/→ | 选择步(光标会跳到该步的音符) |
| ↑/↓ | 选择音高 |
| A | 放置音符,如果已经存在则移除 |
| 按住 A + ↑/↓ | 上下移动该步的音符 |
| B+A | 删除该步的音符 |
| X | 返回步网格 |
乐器
最多 64 个。新歌曲自带一个脉冲、一个波形和一个噪声乐器(自由模式下还有一个合成器)。INSTR 视图显示的内容取决于类型和模式:
| 设置 | 作用 |
|---|---|
| 名称 | A 打开键盘 |
| 类型 | 脉冲、波形、噪声,或合成器(仅自由模式)。更改类型会重置乐器。 |
| 音量 | 0 到 F;缩放该步的音量 |
| 包络、方向、速度 | Game Boy(波形除外):起始电平(0–F)、下降 / 不变 / 上升,以及速度(1–7:每 速度/64 秒变化一级;0 保持电平) |
| 起音、衰减、延音、释音 | 自由模式:ADSR 包络,以 tick 为单位(延音是电平,0–F) |
| 长度 | 音符被截断前的 tick 数(--:不截断) |
| 表 | 每个音符上运行的表(--:无) |
| 声像 | 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 行组成,音符发声时每个 tick 运行一行,从使用它的乐器的每个音符开始(或由 A 指令启动)。每一行有一个 音量(或留空)、一个相对音符的 移调(以半音为单位),以及两条指令。表中的 H 跳转到另一行,表就是这样循环的:三行分别移调 0、+4 和 +7,并在最后一行放 H00,就构成大三和弦琶音;而配合短促噪声快速下降的移调,可以做出底鼓。
律动
律动是最多 16 个数字组成的列表:每一步依次持续多少个 tick。默认的 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 | 和弦:每个 tick 在原音、+x 和 +y 半音之间循环(C47 大三和弦,C37 小三和弦) |
Dxx | 延迟:该步晚 xx 个 tick 播放(如果超过该步的长度则不会播放) |
Exy | 包络:x 是起始电平;y 的最高位表示上升,低 3 位表示速度(0:保持) |
Fxx | 微调,单位为百分之一半音(有符号:01–7F 升高,80–FF 降低) |
Gxx | 把此声道切换到律动 xx |
Hxx | 跳转。在乐句中:在此步之后结束乐句,下一个乐句从第 xx 步开始。在表中:跳到第 xx 行。 |
Ixx | 在 xx 个 tick 内淡入 |
Kxx | 截断:xx 个 tick 后释放音符 |
Lxx | 滑音:在有音符的步上,用 xx 个 tick 滑到该音,而不是重新触发 |
M0x | 主音量,0 到 F |
Oxx | 输出:0 关闭,1 左,2 右,3 双声道 |
Pxx | 弯音:每个 tick 变化百分之几个半音(有符号) |
Rxy | 每 y 个 tick 重新触发音符;x(有符号,0–7 增大,8–F 减小)在每次触发时改变音量 |
Sxx | 噪声上:S01 短(7 位)噪声,S00 长噪声。脉冲上:PU1 的扫频寄存器。 |
Txx | 速度,单位 BPM(28 到 FF,即 40 到 255) |
Uxx | 在 xx 个 tick 内淡出 |
Vxy | 颤音:速度 x,深度 y |
Wxx | 在波形乐器上:切换到波形 xx。否则:脉冲占空比,0 到 3。 |
Xxx | 下坠:音高下降,音符在 xx 个 tick 内淡出 |
Zxx | 随机:给另一条指令的值加上 0 到 xx 之间的随机数 |
示例
Start → 歌曲 中有四个示例,每个都展示一些东西。打开示例不会保存任何内容,直到你编辑它。
- Pocket Pop(Game Boy,120 BPM):把段落做成链并在整首歌中重复使用,以及用
C写和弦。 - Crypt Crawl(Game Boy,140 BPM):用表做琶音和底鼓,用
L滑音、用P下坠的音符,以及使用 PICO-8 斜锯齿波的贝斯。 - Night Drive(自由,100 BPM):八个合成器声道、7/5 摇摆律动、声像、用
D做的回声,以及用U做的淡出。 - Amen Chip(Game Boy,170 BPM):用
R做的鼓滚奏、用D做的延后击打、用H跳入下一个乐句的半个乐句、由链移调的贝斯线,以及用W改变的脉冲宽度。
导入和导出
导出在 Start 菜单中。文件会保存到音乐文件夹里的 audiofilus tracker 文件夹,音乐库会收录它们:
- 导出到音乐库:把歌曲完整渲染一遍生成的 WAV。
- 导出为 XM:可以在 OpenMPT、MilkyTracker 等软件中打开的 FastTracker 2 模块(在 Audiofilus 里也能播放)。每个乐器会变成听起来相似的采样,并带有音量包络;音符、链的移调、速度、律动和主要指令(和弦、音高、滑音、颤音、切断、延迟、重触发、声像)都会保留。
- 导出为 MOD:同样的内容,存为四声道 ProTracker 模块。无法容纳自由模式歌曲的第 5 到第 8 声道。
导入…会列出在你的音乐文件夹和应用的 data/tracker/import 文件夹中找到的歌曲(最多 300 首)。每次导入都会成为一首可以编辑的新歌:
- MOD(ProTracker 及兼容格式,4、6 或 8 声道)和 XM(FastTracker 2,前 8 个声道):成为自由模式的歌曲。每个 pattern 变成乐句和链,每个采样变成采样乐器,时值准确。
- LSDJ:一首
.lsdsng歌曲,或.sav中的所有歌曲。在 Game Boy 模式下几乎一一对应:歌曲、链、乐句、乐器、表、律动、波形和速度。
在线搜索…会在 The Mod Archive 和 Modland 上查找 MOD 和 XM 文件;选中一个就会下载并导入。模块界面也能在 tracker 中打开它们。
并不是所有内容都能保留:tracker 没有对应指令的模块效果(采样偏移、pattern 循环、震音、全局音量)会被丢弃,XM 乐器只保留在 C-4 上播放的那个采样,LSDJ 的鼓组会变成短促的噪声,导出的模块会丢失表和较少用的指令。用旧版 tracker 制作的歌曲打开时会自动转换:每个 pattern 变成每个声道一个乐句和一条链,其效果变成指令(琶音 → C,占空比 → W,弯音 → P)。
MIDI
把 USB MIDI 键盘或控制器插到掌机(必要时通过 USB-C 转接头)或电脑上。支持 Linux 掌机和电脑、Windows 以及 iPhone/iPad(USB 或已配对的蓝牙 MIDI)。tracker 会自动找到它(应用开着时插上也可以),并连接第一个设备。
- 音符:在你正在编辑的声道上,用最后使用的乐器发声。在乐句视图中还会写入光标位置,光标随后移到下一步:逐步录入。
- PROJ → MIDI:使用哪个设备,或不使用。
- PROJ → 同步:由谁掌握节拍。
- 内部:歌曲自身的速度。
- 跟随时钟:tracker 跟随收到的 MIDI 时钟。鼓机、DAW 或 LSDJ 本身都可以开始、停止并设定速度。MIDI 时钟每拍 24 个脉冲,与 tracker 的 tick 相同,所以每个脉冲就是一个 tick。
- 发送时钟:tracker 把自己的时钟(开始、停止和速度)发给设备,让其他设备跟着它走。
时钟会晚到大约一个音频缓冲(50–100 ms),只有在跟着现场演奏时才会察觉。
