125M参数模型实现实时钢琴自动补全 封面图
开源项目

125M参数模型实现实时钢琴自动补全

Heooo 08月20日21时31分 31 阅读

「一位开发者训练了一个1.25亿参数的Transformer模型,可在iPhone 15上以每秒108个音符的速度实时自动补全钢琴演奏。通过优化MIDI表示、清洗数据和DPO后训练,该模型在移动端展现出高质量的音乐生成能力。」

一位独立开发者近日在Hacker News上分享了其最新项目:一个专为钢琴演奏设计的125M参数Transformer模型,能够在iPhone 15上实现接近实时的音乐自动补全功能。该项目灵感源自GitHub Copilot,旨在打造“钢琴版的代码补全工具”——用户弹奏几个音符后,AI即可智能续写旋律。

该应用名为RollTab,目前已免费上线iOS平台,支持连接MIDI键盘使用。开发者表示,整个项目历时近一年,经历了14轮实验迭代,最终在模型架构、数据预处理和训练策略上取得关键突破。

125M参数模型实现实时钢琴自动补全

核心挑战之一在于如何将MIDI文件有效转化为模型可学习的序列。与MP3等音频格式不同,MIDI存储的是事件序列,如“按下C4键(力度80)”、“释放G3键”或“踩下延音踏板”。这些事件通常分布在多个音轨中,而本项目聚焦于钢琴独奏,因此开发者对原始数据进行了大幅清洗,剔除非钢琴声部。

在tokenization阶段,开发者尝试了多种方案。最初采用将音高与力度直接编码为单一token的方式(如NOTE_ON_60_80),但导致词汇表过大(理论可达16,512个token),且稀疏组合难以学习。后续改用结构化语法表示:将事件拆分为[NOTE_ON, PITCH, VELOCITY]三元组,并配合TIME_SHIFT标记时间间隔。这种设计不仅缩小了各子空间(音高128维、力度约16档、时长约100档),还能通过掩码机制强制生成语法合法的输出——例如在NOTE_ON后仅允许音高token出现,从而避免模型“忘记释放琴键”或产生悬空音符。

此外,开发者强调,高质量训练数据和DPO(Direct Preference Optimization)后训练对最终效果至关重要。通过严格清洗MIDI数据集并引入人类偏好信号进行微调,模型在保持轻量的同时显著提升了音乐连贯性与表现力。官方演示音频显示,仅凭8至16个音符的提示,模型即可流畅续写《宝可梦》城镇主题曲、《最终幻想VI》特拉主题乃至贝多芬《致爱丽丝》等经典片段。

该项目不仅展示了小型Transformer在端侧音乐生成中的潜力,也为移动端AI创意工具提供了新范式——无需云端依赖,即可在设备上实现低延迟、高表现力的交互式创作体验。

# 音乐生成 # Transformer # 端侧AI # MIDI # 开源项目

来源:Heooo AI工具导航