打开网页,听 AI 即兴弹琴
写代码、写东西的时候需要一点背景声,歌单的问题在于会腻——第三遍循环同一首歌,注意力就开始跟着歌词走了。我做了一台即兴钢琴:打开网页就开始弹,每一段都不重复。它是现场生成的,不是播放。
它是什么
浏览器里的一架钢琴。每个小节,一个决策模型在九个候选和弦里挑一个,同时回答八个小问题——左手织体、节奏型、强度、呼吸、这一句要不要承袭上一句的动机——然后由确定性代码渲染成音符。你可以把它的决策面板打开:每个音都能溯源到「它当时在两个选项之间犹豫过」。它弹得不完美,但每一次的形状都不一样,这正是背景声需要的性质。
两个设计保住了体验:其一,模型想太久也不会断——决策有预算,超了由同构的本地决策器顶替这一小节并如实标记,下一小节照常重试;其二,琴键的亮灭跟着声音的真实起止走,长音不会提前灭掉。
你也可以上手
这不只是个播放器:
- 电脑键盘就是琴键。A 到 L 一排,按下即响,你弹的音会在下落区里亮出来。
- 跟弹回声。你随手弹个乐句,它会把它接过去、发展成下一句——像和一个反应很快的琴友合奏。
- 和弦键亮起。不知道手该往哪放时,当前和声的键位会亮。
- 弹得满意可以导出 MIDI,拿去别的工具里继续。
边界
它做的是氛围与即兴,不是作品集:没有整曲的宏大结构,强度有起伏但没有「乐章」级别的布局。想听完整的曲子,它不如流媒体;想有个不重复的、能搭手的钢琴声,它就是为此造的。
上手
打开 https://jevpiano.logicc.top,点播放就行。部署默认走 Cloudflare Workers AI,无需任何 key;想换更强的模型通道,可以在设置里填自己的 key(可选,不填也能一直听)。
它为什么能不断、接口形状怎么毁掉又修好音乐性、73 轮调音里都改了什么,写成了一篇复盘:《一架钢琴的七十三次调音》。仓库在 https://github.com/tripodxu/jev-piano。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 tripodxu的博客!