【标签】
生活娱乐
【标题】
【生活娱乐赛道】余音绕梁 AirSing —— 拟物化移动端 Web 弹唱工具
【正文】
- Demo 简介
是什么:一款拟物化设计的移动端 Web 弹唱工具,让用户无需实体乐器,通过屏幕交互完成即兴弹唱与跟谱演奏。
面向谁:
-
会基础和弦、想随时即兴弹唱的吉他爱好者
-
聚会/露营/旅行中不想带琴的轻度用户
-
需要便携工具练习和弦与节奏型的初学者
-
想跟着谱子练习热门歌曲的弹唱爱好者
主要功能:
-
自由模式:从 3×4 和弦面板选择和弦,点击/长按拨片播放真实吉他采样,支持三种节奏型(分解/扫弦/切音)
-
跟谱模式:导入或选择歌曲后,跟随歌词与和弦标记,由演奏动作手动推进进度
-
手动按弦模式:六弦键盘区,支持单弦独立发声,可自由练习分解节奏
-
自定义和弦:通过吉他指板编辑器自由创建和弦,支持保存到本地
-
和弦图展示:实时显示当前选中和弦的六线谱图示,包含 X(闷音)、O(空弦)和手指编号
产品截图:
-
自由弹唱模式:左侧和弦面板 + 中央大拨片 + 和弦图
-
跟谱弹唱模式:歌词滚动区 + 和弦标记 + 演奏驱动高亮
-
手动按弦模式:六弦键盘区 + 和弦音名显示
-
和弦编辑模态框:吉他指板编辑器 + 和弦参数配置
- Demo 创作思路
灵感来源:作为一个关注 AI Native 开发与低代码实现的开发者,我注意到身边人想弹唱时经常缺一把琴,而手机上的音乐工具要么学习曲线陡峭,要么没有吉他特有的和弦面板与拨片交互。
想解决的问题:
-
实体吉他携带不便,临时想弹唱时往往没有乐器
-
现有 App 要么偏向编曲/录音,学习曲线陡峭,要么缺少真实吉他的和弦交互
-
跟谱练习工具多为静态谱面,无法根据用户实际演奏手动推进进度
-
缺少支持自定义和弦、自定义节奏型的轻量 Web 弹唱方案
为什么做这个方向:我希望用 Web 技术 + 拟物化设计,把"带琴出门"数字化,让用户随时随地完成即兴弹唱与跟谱练习。产品舍弃录音与社交功能,专注"纯演奏体验",让用户在 5 秒内进入弹唱状态。
- Demo 体验地址
- TRAE 实践过程
开发流程:
-
项目初始化:使用 TRAE IDE 创建 Vue 3 + Vite + Tailwind CSS 项目,配置开发环境
-
音频引擎开发:集成 Soundfont Player 加载原声吉他音色,实现和弦播放功能
-
和弦库构建:创建完整和弦数据结构,支持动态注册自定义和弦
-
吉他指板组件:实现 6 弦吉他指板编辑器,支持音符选择和按法展示
-
节奏引擎开发:实现三种节奏型(分解/扫弦/切音)的播放与循环功能
-
手动按弦模式:实现六弦键盘区组件,支持单弦独立发声
-
拟物化 UI 设计:采用 neumorphism(新拟态)风格,木纹渐变指板效果
关键步骤截图:
关键任务对话 Session ID:
- .473246020932699:a2cc4825cee9b2712ad47d4cd71642e0_6a4a02c58323262ecccb7b76.6a4a05118323262ecccb7b78.6a4a0511d144255aa88ed446:Trae CN.T(2026/7/5 15:17:37)
- .473246020932699:51b447f30004c85bf1d878ef1db01659_6a4a61bd3933fdf69f703d0d.6a4a620a3933fdf69f703d0f.6a4a62097874276f7b28636c:Trae CN.T(2026/7/5 21:54:18)
-.473246020932699:f8f06da5416c92bc4c9a7f46101c9efd_6a4a07838323262ecccb7bc0.6a4a08858323262ecccb7bc5.6a4a0885d144255aa88ed449:Trae CN.T(2026/7/5 15:32:21)
-.473246020932699:fcc80f1ec1107e97b3cacd92d6e9afa5_6a4a07838323262ecccb7bc0.6a4a0c2a8323262ecccb7c94.6a4a0c29d144255aa88ed44a:Trae CN.T(2026/7/5 15:47:54)
开发踩坑经历:
-
音频加载 404 错误:最初使用自定义 nameToUrl 选项导致 URL 中出现 undefined 参数,后来移除该选项,使用 soundfont-player 默认 CDN 解决
-
和弦无法发声:发现 Em7 和 D/#F 和弦无法发声,排查后发现是 useAudio.js 的 CHORD_MAP 对象缺少对应的音符映射,添加映射后问题解决
-
和弦声音单薄:最初和弦所有音符同时播放,缺乏层次感。通过实现扫弦延迟效果(20-50ms)、调整音符力度变化(低音弦音量更大)和添加主增益提升音量,使和弦更接近真实吉他扫弦效果
-
吉他指板点击无响应:用户反馈指板组件偶尔点击无响应,排查发现是 modelValue 监听器和反向映射逻辑导致状态冲突,移除监听器并使用 Map 存储位置后问题解决
-
指板重复选音:同一位置点击多次会触发多个音符,通过使用 Map 存储位置确保唯一性解决
关键开发对话片段:
-
用户:“完善点击左侧面板右上角按钮弹出和弦自定义模态框的交互功能,并系统性完善和弦库,确保包含完整的和弦数据结构与必要属性”
-
用户:“设计并实现基于六线谱的音符选择与添加功能,通过直观界面让用户直接选择音符位置,提升体验”
-
用户:“修复六线谱界面音符选择交互问题,包括点击无响应、单次点击触发多个音符,以及将UI改为拟物风格设计”
-
用户:“解释为什么和弦显得单薄并提供解决方案”
-
用户:“根据文档中定义的PRD,实现手动按弦演奏模式功能”
- 价值与意义
效率提升角度:AirSing 将"带琴出门"的需求转化为"打开网页即可演奏",让用户在 5 秒内进入弹唱状态;通过预设常用和弦、三种节奏型(分解/扫弦/切音)和跟谱推进机制,无需配置复杂软硬件即可完成练习与表演。对于吉他学习者,它降低了练习门槛,预计可提升碎片化练琴效率 50% 以上。
社会价值角度:音乐是人际连接的重要载体。AirSing 让没有吉他在场的聚会也能响起伴奏,降低音乐社交门槛;同时通过拟物化交互还原真实乐器手感,帮助初学者建立对吉他演奏的直观认知,推动音乐普及。
- 技术实现亮点
-
音频技术:使用 Web Audio API + Soundfont Player 实现真实吉他音色播放,支持和弦与单弦独立发声
-
节奏引擎:基于 BPM 的精确节奏调度,支持循环播放和实时切换
-
拟物化设计:采用 neumorphism 风格,木纹渐变指板,3D 音符标记,提供沉浸式交互体验
-
数据持久化:使用 localStorage 存储用户歌曲和自定义节奏型,无需服务器支持
-
手动按弦模式:六弦键盘区实现单弦独立发声,支持短按播放和长按持续发声
【报名帖链接】
报名帖连接






