Blokkily 是一个实验性的基于模式的 DAW。你可以在 tracker、钢琴卷帘或步进网格中编辑同一个模式,然后在多个轨道上编排模式。它支持 CLAP 和 VST3 插件、SoundFont 乐器以及内置采样器。每个构建版本都必须支持 CLAP。

观看一段短视频(带声音),内容是一个智能体在 Blokkily 中构建一段放克风格的 chiptune,历时MCP,使用YANES和FUZZBOICLAP 合成器。

Blokkily workstation showing an arrangement, synchronized editors, plugin browser, mixer, and keyboard

截图来自bdd_session_everything验证会话。它展示了编排视图、模式编辑器、插件浏览器、混音器和可演奏键盘,编辑器上方是作曲助手的提示栏。

构建并运行

你需要 Qt 6.5+,以及 FluidSynth、RtAudio、RtMidi、libsndfile、libsamplerate 和 Rubber Band 4(通过 pkg-config 查找)。验证测试还需要一个 SoundFont。JUCE 和 CLAP 头文件已内置在third_party/下。

cmake -S 。 -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure
./build/blokkily

./build/blokkily_cli运行无头调度器演示。

片段变形(Clip warping)会链接 Rubber Band Library,除非你从其作者处购买商业许可证,否则该库以 GPL(版本 2 或更高)授权。因此,使用它构建的 Blokkily 二进制文件也受 GPL 约束。

IBM Plex Sans 和 JetBrains Mono 内置在resources/fonts/中,采用 SIL Open Font License 1.1 授权,许可证文本就在旁边。内置字体可确保跨桌面环境的布局一致。

你可以做什么

  • 在三个同步编辑器中的任意一个里编辑音符与和弦。模式支持转位、扫弦、微时序、概率、连击(ratchets)、循环条件和参数锁定。编辑内容在播放期间即可听到,无需停止播放。
  • 在多轨时间线上编排命名模式和音频片段,支持速度步进、渐变和拍号变化。场景启动器让你可以现场演奏模式,并将演奏录制到编排中。
  • 使用 MIDI 控制器或屏幕钢琴、同构网格、指板与和弦垫进行演奏和录制。调音和音阶包含微分音选项。没有乐器的会话默认使用已安装的 SoundFont,优先使用可用的 General MIDI 音色库。
  • 加载 CLAP、VST3 和 SoundFont 乐器,或使用键盘采样器和鼓采样器。通过插入、发送、返回、侧链、辅助输出、自动化和调制进行混音。
  • 录制音频和 MIDI,对总线重新采样,或导出分轨。通过用于播放的同一引擎将编曲导出为 16 位、24 位或 32 位浮点 WAVE。导入和导出标准 MIDI 文件以交换音符。
  • 向 LLM 作曲助手请求一个乐句。在应用之前先审阅其建议;每次生成都是一步撤销操作。MCP 桥接还允许智能体控制正在运行的应用程序。

参见使用指南了解控件、键盘快捷键和录音工作流程。

当前限制

Blokkily 是实验性的。Comping 和 MIDI 时钟输入尚未实现。MPE 支持因乐器格式而异,且逐音符表情没有编辑器。大型未变形音频片段可以从磁盘流式传输;变形片段和采样器样本仍会加载到内存中。原生插件窗口像素需要 X11 显示。导出始终渲染编曲,因此请先将启动器演奏录制到其中再导出。

The限制参考涵盖这些限制及其他内容,包括侧链、调制时序、采样器编辑和分轨。

文档与开发

行为规范位于features/。仓库范围的完成规则位于AGENTS.md。