返回

文章详情

展示HN:一个实验性的以模式为先的数字音频工作站,支持MCP

Hacker News2026年10月12日 23:21

Blokkily 是一个实验性的以模式为先的数字音频工作站(DAW)。一个单一事件模型驱动三个同步编辑器——一个音轨编辑器,一个钢琴卷和一个步进网格——这些编辑器又作为一个多轨歌曲的一个音道。CLAP 是一个必需的本地插件格式,而不是兼容性附加组件。工作站截图展示的是渲染的 bdd_session_everything 会话:一个具有节奏坡度变化、7/8 拍、键控和切片采样器、CLAP、VST3 和 SoundFont 乐器、扭曲的音频剪辑、内置的 CLAP/VST3 特效、回送/发送总线、增益和效应自动化、计时倒数以及两个接收来自确定性输入的 MIDI 的音轨。编辑器上方是 LLM 作曲助手的提示栏(如下所述)。独立于框架的音乐模型和实时插件边界都在其下方。该模型涵盖音符、语义和弦、反转、扫弦、微时间、概率、棘轮、循环条件和参数锁定。它还包括一个本地 CLAP 目录,可以加载 CLAP 模块,初始化它们的入口点,查询工厂,并记录插件描述和功能。CLAP 实例适配器实现创建、初始化、激活、采样准确的音符/参数事件、立体声处理和状态流。基于 JUCE 的 VST3 适配器扫描包和默认系统位置,并通过同一实时边界实例化插件,将每个块分割在参数偏移处,因此 VST3 自动化也是采样准确的。参数锁定由调度器编译为采样准确的参数事件,并由两个插件适配器应用;自动化设置参数的值,而调制偏移则对其进行调整,二者不会互相覆盖。内部的 FluidSynth 适配器加载 SF2/SF3 文件,接受采样偏移的音符事件,渲染立体声音频,选择预设,并保持其项目状态。FluidSynth 只有在其 64 帧块开始时才启动语音,因此适配器保持一小部分渲染器,以共享该库的样本数据,并在音符自身的帧上演奏每个音符:模式的每次传递都保持相位一致,无论样本的长度如何。一个库自有的合唱在它自己的时钟上运行,就像一个自由运行的 LFO。项目保存并重新加载整个会话:每个命名的模式及其和弦、锁定、棘轮、微时间和循环条件,具有各自通道条和剪辑的音轨,以及每个 CLAP、VST3 和 SoundFont 乐器及效果的不可见状态。无分配的实时传输将模式滴答编译为采样事件,循环模式,驱动任一乐器适配器,并提供低延迟的非交错立体声 RtAudio 回调。在歌曲播放时编辑不会中断它。一次编辑重新编译安排,并在下一个块边界将其交给渲染回调,而不在音频线程上进行分配、重建图形、重新加载乐器或移动播放头;在发声时被擦除的音符会被释放,而不是继续发声。任何编辑器中输入的音符都通过运行的引擎进行试听,无论是停止的传输还是播放的传输,而且一个没有乐器的会话会提供机器的通用MIDI SoundFont——鼓轨道上的打击乐库——因此工作站在打开的瞬间就能发出声音。一个会话是一个歌曲,而不是单一模式。命名模式作为剪辑放置在混音器音轨的时间线上,每个音轨都带有自己的乐器和通道条:以分贝为单位的增益、恒功率平移、静音、独奏和峰值计,通过主音量推子汇总。歌曲引擎编译每个音轨的整个时间线一次,然后在不分配、锁定或进行 I/O 的情况下渲染它;每次剪辑的重复被计算为其模式的下一个循环,因此概率和循环条件在整个安排中继续工作。混音器的移动可以到达运行的引擎,因此在歌曲播放时可以拉动推子。同一引擎将安排回弹到 16 位、24 位或 32 位浮动 WAVE 文件,逐样本与试听的内容完全相同。会话还指明它是以哪种调音和音阶创作的。调音以分音为单位——任何周期的等分、合理和历史调音,以及 Scala 风格的列表——因此十二个均等半音是众多调音中的一种。音符携带其乐器所给的十二音调键加上偏移的重新调音,每个和弦的每个音也如此,这样十九音调或四分音符模式可以以写作时的音高达到 CLAP、VST3 和 SoundFont 合成器,而不是最接近的近似值。四个可演奏的表面投影相同的调音和音阶:一个钢琴键盘、七种布局的等轴网——六边形和方形,每个布局横向或纵向运行——九种弦调的指板,以及每个和声按其数字命名并为每个反转堆叠一行的和弦垫。演奏一个音符可以通过所选轨道的乐器在停止的传输上进行试听,

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡