这个项目能做什么
rtrack 是一个用 Rust 编写的音乐追踪器,提供终端 UI(ratatui)和原生桌面 GUI(egui),两者共享同一个无头核心库。它开箱即用,能够直接产生声音,无需外部合成器、DAW 或 SoundFont。
主要功能包括:
- 内置合成器,包含 30 种音色(锯齿波、方波、FM 钟、酸性、芯片音乐等),具有 ADSR 包络、SVF 滤波器、副振荡器、FM 合成以及每通道效果(失真、滤波、合唱、延迟、混响)。
- 采样引擎支持 WAV/AIFF 加载、变调播放、循环点、基于瞬态的切片,以及最多 32 个同时声音,带去点击声的声音抢占。
- MIDI 输入/输出,具有虚拟端口、硬件路由、逐步和打入录音、后触到滤波器映射、MIDI 学习用于 CC 映射,以及时钟输出/输入。
- Ableton Link 双向节奏和传输同步。
- 经典追踪器风格的模式编辑,具有模态输入、钢琴键盘布局、块选择、插值、转置、撤销/重做以及 12 条效果命令。
- 歌曲结构包含多个模式,每个模式的行数、带重复的顺序列表、位置跳转以及模式断裂效果。
- 无需音频设备即可离线渲染为 WAV/FLAC,此外还支持标准 MIDI 文件导入/导出。
- 可选的 SoundFont (.sf2) 播放,以支持 General MIDI。
该项目采用 Cargo 工作区结构,包含三个 crate:rtrack-core(无头引擎、音频、MIDI、数据模型)、rtrack-tui(终端前端)和 rtrack-gui(桌面前端)。歌曲保存为 JSON (.rtrk) 文件。需要 Rust 1.89+ 和 CMake 3.14+。
评论
0 评分人数达到10人后显示
登录后参与讨论。