Strudel:在浏览器里做实时算法音乐
Strudel 是一个基于 Web 的实时编码环境,用来生成算法模式。它可以看作是 TidalCycles 的 JavaScript 版本,目标很直接:把原本偏研究和舞台化的那套模式创作,搬到浏览器里,让你写代码就能立刻听到结果。
它适合拿来做什么
如果你想做的是实时编曲、节奏生成,或者把数据和声音绑在一起,Strudel 都能派上用场。它的思路不是'先写完再导出',而是边写边听,参数一改,声音马上变。这种反馈很快,调模式的时候省事,但也意味着你得习惯在耳朵里找答案,而不是只盯着代码看。
快速启动
环境准备
先确认这几个条件:
- Node.js 16.0 或更高版本
- 现代浏览器(Chrome、Firefox、Safari)
- 稳定的网络连接
安装与启动
用 pnpm 安装依赖:
pnpm install
克隆项目到本地:
git clone [官方仓库地址]
cd strudel
启动开发服务器:
pnpm dev
打开浏览器后,直接运行示例代码就能听到效果。Strudel 的优势就在这里:不用先搭一整套音频工程,先把模式跑起来,再慢慢改。
我会怎么理解它的价值
Strudel 不是那种'包装得很完整'的音乐软件,它更像一个面向实验的工作台。优点是轻,浏览器里就能开干;缺点也明显,复杂项目里你还是要自己管住代码组织和创作节奏。对于想把算法作曲和前端工作流接起来的人,这个取舍是合理的。
生态和依赖
Strudel 主要依赖这些东西:
- Web Audio API:负责底层音频处理
- TidalCycles 理念:函数式的模式编程思路
- 现代前端工具链:例如 Vite、pnpm 这类常用工具
如果你想继续往下看,可以先翻这些目录:
- 官方示例库:
examples/ - 社区插件:
plugins/ - 学习资源:
docs/tutorials/
进阶使用的实际感受
从简单的循环到更复杂的算法编排,Strudel 的门槛不算高,难点主要在思维方式。它更像是在写'可演奏的代码',而不是在做传统意义上的音乐工程。这个差别一开始会有点别扭,但适应之后,改节奏、换结构、试新想法都很快。

