尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

一款对标 EOP 简谱大师的简谱制作软件 基于Electron框架

一款对标 EOP 简谱大师的简谱制作软件 基于Electron框架 简谱大师 - 技术文档项目概述简谱大师是一款专业简谱制作桌面软件使用Electron框架开发完全对标EOP简谱大师的核心功能。支持简谱的创建、编辑、播放和导出。技术架构技术栈前端框架: Electron 27渲染引擎: HTML5 Canvas音频处理: Tone.jsPDF导出: jsPDF图片导出: html2canvas项目结构jianpu-master/ ├── main.js # Electron主进程 - 窗口管理、菜单、文件IO ├── preload.js # 预加载脚本 - 安全的IPC通信桥接 ├── index.html # 主界面 - UI布局和样式 ├── renderer.js # 渲染进程 - 简谱引擎核心 ├── package.json # 项目配置 ├── README.md # 项目说明 └── assets/ # 资源文件夹核心模块说明1. 主进程 (main.js)负责应用生命周期管理、窗口创建、系统菜单、文件操作。主要功能createWindow()- 创建应用窗口createMenu()- 创建应用菜单栏openFile()- 打开简谱文件saveFileAs()- 另存文件IPC通信get-vip-status- 获取VIP状态set-vip- 设置VIP状态save-file- 保存文件save-file-as- 另存文件2. 渲染进程 (renderer.js)简谱引擎核心负责所有简谱相关的渲染和交互。全局配置 (CONFIG){canvasWidth:1000,// 画布宽度canvasHeight:700,// 画布高度staffLineSpacing:12,// 五线谱间距measureWidth:200,// 小节宽度tempo:120,// 速度 BPMcurrentOctave:0,// 当前八度偏移currentDuration:1,// 当前音符时值zoom:1// 缩放比例}乐谱状态 (STATE){title:,// 曲名timeSignature:4/4,// 拍号keySignature:C,// 调号measureCount:4,// 小节数voices:[{name:主旋律,notes:[]}],// 声部measures:[]// 小节数据}音符数据结构{pitch:1,// 音高 1-7duration:1,// 时值 4/2/1/0.5/0.25/0.125modifier:null,// 修饰符 sharp/flat/natural/dot/triplet/fermata/accent/staccatooctaveOffset:0,// 八度偏移velocity:0.6,// 力度voice:0,// 声部isRest:false,// 是否为休止符beamStart:false// 连音开始}3. 音符渲染 (Canvas)绘制元素调号和拍号五线谱小节线音符符号修饰符号符号映射// 音符符号NOTE_SYMBOLS{4:,2:,1:,0.5:,0.25:,0.125:}// 休止符REST_SYMBOLS{4:,2:,1:,0.5:,0.25:}4. 音频播放使用Tone.js实现实时音频播放。音符到频率映射constNOTE_FREQUENCIES{1:C4,2:D4,3:E4,4:F4,5:G4,6:A4,7:B4};5. 导出功能MIDI导出生成标准MIDI文件支持音乐软件导入。图片导出使用html2canvas导出PNG格式图片。PDF导出使用jsPDF导出A4横向PDF文档。快捷键参考音符输入功能快捷键输入音符1-7数字键 1-7输入全音符Q输入二分音符W输入四分音符E输入八分音符R输入十六分音符T输入三十二分音符Y输入休止符Shift 时值键修饰符功能快捷键升调8降调9还原-附点.导航与编辑功能快捷键删除音符Delete / Backspace上一小节←下一小节→高八度↑低八度↓播放/暂停Space停止播放Escape视图控制功能快捷键放大视图Ctrl缩小视图Ctrl±重置视图Ctrl0文件操作功能快捷键新建CtrlN打开CtrlO保存CtrlS菜单说明文件菜单新建 - 创建新乐谱打开 - 打开.jianpu文件保存 - 保存当前文件另存为 - 另存为新文件导出MIDI - 导出为MIDI文件导出图片 - 导出为PNG图片导出PDF - 导出为PDF文档退出 - 退出应用编辑菜单撤销/重做剪切/复制/粘贴全选视图菜单放大/缩小/重置缩放开发者工具帮助菜单快捷键帮助关于依赖说明生产依赖{electron:^27.0.0}CDN资源Tone.js: https://cdnjs.cloudflare.com/ajax/libs/tone/14.7.77/Tone.jshtml2canvas: https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.jsjsPDF: https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.min.js构建与发布开发模式npminstallnpmstart生产构建npmrun build打包后的安装包将生成在d1. 首次运行需要网络连接以加载CDN资源 2. 保存文件时会创建.jianpu格式的JSON文件 3. 导出的MIDI文件可在各种音乐软件中打开 4. 建议使用管理员权限运行以避免权限问题 5. 本软件基于Electron开发**支持macOS系统**macOS 10.15及以上版本同时也支持Windows和Linux平台 6. macOS系统下如需使用管理员权限可通过sudo 命令启动应用议使用管理员权限运行以避免权限问题
返回列表