1.Doit Synth 旨在打造一款**零门槛、全平台、全合成**的音乐创作工具,让用户通过直觉化的打击垫网格交互,在分钟级时间内完成从音色设计到完整编曲的全过程,同时实现跨平台原生性能和轻量化分发。
2.传统音乐制作软件(如 Ableton Live、FL Studio、Logic Pro)存在以下核心问题:
(1). **学习门槛极高**:以时间线/钢琴卷帘为核心交互模型,用户需掌握乐理、MIDI 编程、信号路由等专业知识,入门周期长达数月
(2). **体积臃肿**:Electron 方案的音乐应用打包体积动辄 150MB+,启动慢、资源占用高
(3). **分享机制缺失**:用户调制的音色参数难以在不同设备/用户间无损传递
行业背景
- **音乐制作民主化趋势**:BandLab、Soundtrap 等在线 DAW 的兴起证明市场对低门槛音乐工具有强烈需求
- **Web Audio API 成熟**:浏览器原生音频能力已可支撑专业级实时合成,无需插件或 Silverlight
- **跨平台框架演进**:Tauri v2 基于 Rust + 系统 WebView,相比 Electron 体积缩小 10 倍以上,性能接近原生
- **Chiptune/Demoscene 社区文化**:复古像素风音乐工具在独立音乐人和游戏音效领域有稳定受众
# Doit Synth 功能模块详解
基于 Tauri 2 + React + webaudio 的多平台合成器,内置 8 声道合成器与鼓引擎,24 个可编程打击垫(4×6)及步进音序器。
## 1. 打击垫系统
24 个彩色编码打击垫,8 色对应 8 合成器槽位。支持单音/和弦触发,每垫独立音量、持续时间、防误触间隔,触发弹跳动画。
## 2. 合成器引擎
8 路 PolySynth,信号链:振荡器→多模滤波器→滤波器包络→声像→增益。支持正弦/方波/锯齿/三角,独立 ADSR 包络,高通/低通/带通滤波。
## 3. 鼓合成引擎
声部池化模式:振荡器+噪声持续运行,增益控制开关,避免 GC 抖动。支持频率扫频、多击连击、侧链压缩。
## 4. 步进音序器
使用十六分音符调度。每垫独立间隔(1-128步)、延迟(0-512步)、循环(0-16)。状态脱离 Zustand,CustomEvent 分发动画,零重渲染。
## 5. 全局效果链
混响(可调湿度)、磁带失真(0.04)、主低通滤波器(20kHz)。
## 6. 预设系统
24 合成器预设(贝斯/铺垫/主奏/铃音/效果)+ 13 鼓预设(底鼓/军鼓/踩镲/拍手),分类过滤与实时预览。
## 7. 钢琴键盘
6 八度(C1-B6)音符选择。单音替换/和弦添加移除,选中高亮,触发蓝色闪烁。
## 8. 模版导入/导出
全状态序列化→LZString 压缩→剪贴板,完整还原全部配置。
## 9. 倒计时与调试
3 秒倒计时延迟播放;调试模式切换发声/编辑状态。
## 10. 状态持久化
Zustand persist 存储 localStorage,新字段合并+默认值兜底实现前向兼容。
1.整个项目都是我基于vibe coding独立开发出来的
### 技术栈
| 层级 | 技术 | 版本 | 职责 |
|------|------|------|------|
| 原生壳 | **Tauri 2** | v2 | 窗口管理、跨平台打包、系统 WebView 调度 |
| UI 框架 | **React** | 19.1 | 声明式 UI 渲染 |
| 类型系统 | **TypeScript** | 5.8 | 静态类型安全 |
| 构建工具 | **Vite** | 7.0 | 开发热更新 + 生产打包 |
| 音频引擎 | **Web Audio** | 15.1 | Web Audio API 封装,合成/效果/调度 |
| 状态管理 | **Zustand** | 5.0 | 轻量级状态 + persist 中间件 |
| 样式 | **Tailwind CSS** | 4.3 | 响应式原子类 + 手写 CSS(像素风/新拟态) |
| 压缩 | **lz-string** | 1.5 | 模版数据压缩 |
| 代码保护 | **javascript-obfuscator** | 5.4 | 构建时混淆(控制流扁平化+死代码注入) |
| 字体 | **VonwaonBitmap** | - | 自定义像素位图字体 |
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论