RollTab: 手机端实时钢琴即兴续写助手
Show HN: I trained a 125M model to autocomplete piano on-device

我训练了一个125M参数的Transformer模型,让RollTab能在iPhone 15上实现每秒108个音符的实时钢琴续写。这就像是为钢琴打造的GitHub Copilot,只需连接MIDI键盘,AI就能根据你的演奏即时续写旋律。经过14次实验,通过优化MIDI表示、清洗数据和引入DPO微调,最终实现了流畅的本地化体验。
想象一下GitHub Copilot,但是是为钢琴设计的。
HN 评论区
113- jancsika
视频里 AI 生成的第一个乐句结尾是错的。
你一开始弹了一个简单的 I - vii - I 作为第一个乐句。然后 AI 用属七和弦开始了它的回应。在我能想到的绝大多数古典时期案例中,AI 的这个乐句本应以半终止(half-cadence)结束。所以,加上你弹的部分,前两个乐句本该是这样:
I - vii - I
V(7) - I - V
但 AI 却走了一个不寻常的路线,让第二个乐句以完全终止(full cadence)结束。这在音乐里,就像剧本写作中的“双重节拍”(double beat)。
而且,之后的乐句里根本没有半终止。全是主调上的完全终止,加上第二个乐句里主音持续音上的两个变格终止(plagal cadences)。每个小乐句只是在延伸主音。
我要说,对于任何从 J.S. 巴赫到罗伯特·舒曼时期的作曲家来说,这段 excerpt 听起来就像是一句冗长的流水句(run-on sentence);而从马勒开始,他们会认为你要么是在公然蔑视传统。
编辑:澄清说明
- tom_vidal
这种“自动补全”实际上正是古典作曲家训练的核心基础。
对感兴趣的朋友,我强烈推荐阅读 Robert Gjerdingen 的文章《Gebrauchs-Formulas》。https://www.researchgate.net/publication/259731561_Gebrauchs...
你也可以听听四位俄罗斯作曲家(包括拉赫玛尼诺夫)在 19 世纪末的一次晚宴上玩这种模式识别与生成游戏的录音转录:https://youtu.be/PlFPOWuwBHI?is=EKBK7QQkJs4MsTCU
当时的作曲家仅凭看乐谱和内心听觉(audiating)就能做到这一点,根本不需要钢琴。
- jasonjmcghee
我觉得这是个很棒的项目,非常 HN 风格。不太明白为什么评论都这么聚焦于交付成果——你学到的东西多得多,经历也更有意思。
有一点我在帖子里没看到(也许是我漏了)——数据量有多大?你用了多少样本进行预训练和后训练?
- joshuamerrill
我是古典钢琴家,也是软件产品设计师。
我发现这个项目和市面上众多的 AI 驱动 UX 设计工具有太多共同点。无论是音乐还是 UI,既然“生成”部分的成本已经为零,剩下的就是品味(taste)。
而品味很大程度上来自于探索并剔除那些最终证明是死胡同的可能性。我很欣赏这样的理念:这类模型能帮我们更快地找到死胡同,甚至偶尔还能挖出一颗宝石。
附注:如果你想听另一个令人毛骨悚然的《致爱丽丝》版本,听听贝多芬自己 1822 年的修订版吧:https://www.youtube.com/watch?v=s24TtiGgb6k。我们大家都熟悉的那个 1810 年版更简单、更平衡。不过值得一提的是,贝多芬这两个版本都没发表过。
- goda90
这让我想起那个为了对抗音乐版权诉讼,试图算法生成所有可能旋律的项目。
- karmelapple
听到《致爱丽丝》的开头,然后它被引向一个截然不同的方向,这种反差竟然让人感到相当不安。
- mare5x
太酷了!让我想起在 NeurIPS 上亲眼见过的一个演示:https://www.youtube.com/watch?v=8s3V922h3CU(论文在 https://openreview.net/pdf?id=3yeBer3J5z)。
如果你喜欢这类创意 AI 作品,我也推荐看看其他