问题
古典音乐的 MIDI 收藏是档案馆,不是体验:几千个文件、元数据参差不齐、音乐看不见, 搜索只在你已经知道作品编号时才有用。
我建了什么
一个把 MIDI 曲库变成可探索之物的浏览器平台:
- 可视化播放 —— 实时钢琴卷帘瀑布(分轨着色 + 粒子效果)、键盘动画、多色波形、 与播放同步滚动的五线谱;
- 听得懂意图的搜索 —— 全文检索(FTS5)融合 LLM 查询解析,“忧郁的晚期浪漫派钢琴曲” 和作品编号一样好用;Ask 模式按心情要推荐;
- 按声音找相似,不靠标签 —— 768 维音频向量余弦相似度,“再来一首像这样的” 从音乐本身算出来;
- 作曲家世界地图 —— 450+ 位作曲家按出生地落点、带时间轴动画,把曲库变成 一场音乐史漫游;
- HQ 模式 —— 浏览器合成不够用时,服务端 SoundFont(FluidSynth)渲染出录音室音质。
它证明了什么
前端功力和检索工程是同一门手艺在两端的应用:钢琴卷帘渲染器对帧预算的在意, 和搜索管线对召回率的在意是同一种在意。这是我同时做两端的项目——重实时 canvas 的 Vue 3 界面,背后接着与 Meinrag 同源的向量与重排机器。
现状
个人日常使用中的完整平台;代码库 MIT 许可。