threepointone/pizzo
GitHub: threepointone/pizzo
Pizzo 是一个基于 Cloudflare Workers 和 React 19 的 AI 辅助 Web 音乐工作站,通过自然语言驱动确定性的乐理与编曲操作。
Stars: 3 | Forks: 0
# Pizzo
**一个 AI 辅助的、基于 Web 的音乐工作室。** Pizzo 不是一个音频 _生成器_ —
它是一个 MIDI/编曲工作站,其中的 AI 是你的 **乐理大脑,
编曲者和乐队伙伴**。你可以用自然语言表达意图(“让它
更梦幻”,“给我一个 walking bassline”,“更亮的 filter,缓慢的 wobble”),然后
应用程序会使用真实、确定性的库为你执行正确的乐理操作。
你也可以手动完成所有操作。
它作为 [Think](https://www.npmjs.com/package/@cloudflare/think) agent 运行在
Cloudflare Workers 上,前端使用 React 19。
## 核心亮点
- **对话驱动或手动操作。** 每一个操作既可以作为聊天命令使用
(agent 调用工具),也可以作为直接的 UI 控件使用。它们编辑的是同一个共享且
持久化的歌曲状态。
- **确定性乐理。** LLM 仅将意图转化为结构化的工具
调用;和弦、调性、声部进行和移调由
[`@tonaljs/tonal`](https://github.com/tonaljs/tonal) 计算,因此它快速、低成本且
在音乐上永远不会“出错”。
- **本地优先的 I/O。** Web MIDI 和麦克风输入保留在浏览器中。
- **三个界面**共享同一首歌曲:
- **Chord Lab** — 和弦进行 + 一个“乐队”(Bass + 鼓)和一种声音。
- **Beats** — 一个 16 步的鼓机网格。
- **Modular** — 一个自由形式的、可连线(patchable)的合成器声部(ZOIA / Max 风格)。
## 三个界面
### Chord Lab
通过和弦垫(根音 × 和弦性质)或输入 `Am F C G` 来构建和弦进行。
Pizzo 会推测调性,显示罗马数字分析,并使用
General-MIDI 乐器(通过 [`smplr`](https://github.com/danigb/smplr) 采样,
从 `public/soundfonts/` 本地提供)**或者**通过你的 Modular patch 进行回放。
然后 **组建一个乐队**:
- **Bass** 跟随和弦根音:根音 / 八度 / 根音+5度 / 弱拍 /
walking(带有半音导音)。
- **鼓**(Drums)包含五种风格(four-on-floor, rock, funk, lo-fi, half-time),并通过
`busy` 控制幽灵音符的能量。
两者都是由合成器引擎实时渲染的确定性生成器,带有可视化结果的
音轨。
### Beats
一个 5 声部 × 16 步的网格(kick / snare / clap / hi-hat / open hat),带有实时
播放头。自定义节拍会 **覆盖** Chord Lab 的风格律动,并驱动
每个界面上的鼓。“从
**一个 AI 辅助的、基于 Web 的音乐工作室。** Pizzo 不是一个音频 _生成器_ —
它是一个 MIDI/编曲工作站,其中的 AI 是你的 **乐理大脑,
编曲者和乐队伙伴**。你可以用自然语言表达意图(“让它
更梦幻”,“给我一个 walking bassline”,“更亮的 filter,缓慢的 wobble”),然后
应用程序会使用真实、确定性的库为你执行正确的乐理操作。
你也可以手动完成所有操作。
它作为 [Think](https://www.npmjs.com/package/@cloudflare/think) agent 运行在
Cloudflare Workers 上,前端使用 React 19。
## 核心亮点
- **对话驱动或手动操作。** 每一个操作既可以作为聊天命令使用
(agent 调用工具),也可以作为直接的 UI 控件使用。它们编辑的是同一个共享且
持久化的歌曲状态。
- **确定性乐理。** LLM 仅将意图转化为结构化的工具
调用;和弦、调性、声部进行和移调由
[`@tonaljs/tonal`](https://github.com/tonaljs/tonal) 计算,因此它快速、低成本且
在音乐上永远不会“出错”。
- **本地优先的 I/O。** Web MIDI 和麦克风输入保留在浏览器中。
- **三个界面**共享同一首歌曲:
- **Chord Lab** — 和弦进行 + 一个“乐队”(Bass + 鼓)和一种声音。
- **Beats** — 一个 16 步的鼓机网格。
- **Modular** — 一个自由形式的、可连线(patchable)的合成器声部(ZOIA / Max 风格)。
## 三个界面
### Chord Lab
通过和弦垫(根音 × 和弦性质)或输入 `Am F C G` 来构建和弦进行。
Pizzo 会推测调性,显示罗马数字分析,并使用
General-MIDI 乐器(通过 [`smplr`](https://github.com/danigb/smplr) 采样,
从 `public/soundfonts/` 本地提供)**或者**通过你的 Modular patch 进行回放。
然后 **组建一个乐队**:
- **Bass** 跟随和弦根音:根音 / 八度 / 根音+5度 / 弱拍 /
walking(带有半音导音)。
- **鼓**(Drums)包含五种风格(four-on-floor, rock, funk, lo-fi, half-time),并通过
`busy` 控制幽灵音符的能量。
两者都是由合成器引擎实时渲染的确定性生成器,带有可视化结果的
音轨。
### Beats
一个 5 声部 × 16 步的网格(kick / snare / clap / hi-hat / open hat),带有实时
播放头。自定义节拍会 **覆盖** Chord Lab 的风格律动,并驱动
每个界面上的鼓。“从