1解决普通人做音乐很难上手的痛点
2目标人群是音乐二创创作者和一些音乐创作者音乐拆解
点击空白处退出提示
1解决普通人做音乐很难上手的痛点
2目标人群是音乐二创创作者和一些音乐创作者音乐拆解
多轨波形编辑:拖拽、剪切、对齐、音量调节、撤销
AI 音频分析:自动识别 BPM、调性、节拍
变速变调:Rubber Band 引擎,变调不变速/变速不变调
人声分离:AI 一键提取人声/伴奏
AI 语音指令:自然语言直接指挥剪辑操作
一键导出 WAV / MP3(多码率)
1我负责所有
🧱 应用框架
Electron(桌面壳,主进程 + 渲染进程)
electron-vite(构建工具链)
Vue 3(界面框架)
🎨 界面与交互
Vue 3 + HTML/CSS(组件化 UI)
右键菜单、拖拽、缩放——原生 DOM 事件实现
📊 波形可视化
Canvas API(每 clip 独立 canvas 绘制波形)
时间轴刻度、对齐辅助线:Canvas + CSS
🔊 音频引擎(核心)
Web Audio API 全家桶:
AudioContext(播放调度)
AudioBufferSourceNode(clip 播放)
GainNode(音量控制)
DynamicsCompressorNode(MasterLimiter 防爆音)
OfflineAudioContext(离线混音导出)
🧠 AI 分析
Essentia.js(WASM 版):
RhythmExtractor2013 → BPM/节拍
KeyExtractor → 调性
LoudnessEBUR128 → 响度 LUFS
🎼 变速变调
Rubber Band WASM(rubberband-wasm,本地实时处理)
🎤 人声分离
Demucs v4(htdemucs 模型)跑在 Docker 容器,云端服务,API 调用
💬 AI 语音指令
通义千问 Qwen API(大模型解析自然语言)
自定义指令协议:AI 输出 !!EXEC:xxx → 前端解析执行
📤 导出
WAV:自写 audioBufferToWav
MP3:lame.js(Mp3Encoder,浏览器端编码)
📁 文件系统
Electron IPC + 原生对话框(打开/保存)
File/ArrayBuffer 读取音频





评论