基于 Canvas 的在线五线谱编辑工具,支持鼠标点击输入音符、键盘快捷键切换时值、实时 MIDI 播放预览,以及 PNG / PDF / MusicXML 多格式导出。
无需安装任何软件,在浏览器中即可完成专业级五线谱的创建、编辑与导出
五线谱由五条平行的横线组成,线与间共同构成九个音位,配合谱号、调号、拍号等符号系统,精确记录音高、节奏、力度与表情。自11世纪圭多·达雷佐发明四线谱以来,五线谱历经近千年演变,已成为全球音乐交流的标准记谱体系。
本编辑器基于 HTML5 Canvas 与 Web Audio API 开发,在浏览器中实现接近桌面制谱软件的核心功能。支持高音谱号、低音谱号、中音谱号与次中音谱号;覆盖全音符至六十四分音符及附点、三连音等扩展时值;内置自动排版引擎处理符干方向、符杠连接与连音线;通过 OscillatorNode 实现 MIDI 级音准的实时播放预览。
点击五线谱放置音符,使用工具栏切换音符时值与升降号,键盘快捷键提升输入效率
从输入到导出,每个环节都经过精心设计与乐理验证
在五线谱任意位置点击即可放置音符,自动吸附到最近的线或间。支持拖拽调整音符位置,右键删除已放置的音符。鼠标悬停时显示预览虚影,确保放置精准。
数字键 1–5 快速切换全音符至十六分音符;方向键微调音符位置;Delete / Backspace 删除选中音符;空格键播放/暂停。大幅提升输入效率,减少鼠标往返。
符干方向根据音符相对于五线谱中间线的位置自动判定(中线以上符干向下,反之向上)。符杠连接自动识别相邻同拍号的八分/十六分音符并绘制横梁。支持连音线、延音线与断奏标记。
基于 Web Audio API 的 OscillatorNode 合成三角波音色,按照乐谱节奏精确播放。支持调整播放速度(50%–200%),A4 基准频率 440Hz 可调。所有音频处理均在本地完成,不上传服务器。
支持导出 PNG 高清图片(2× 分辨率适配 Retina 屏幕)、PDF 矢量文档(通过 html2canvas + jsPDF 实现)以及 MusicXML 标准格式(兼容 Sibelius、Finale、MuseScore 等主流制谱软件)。
完整支持高音谱号(G clef,小提琴/长笛/钢琴右手)、低音谱号(F clef,大提琴/巴松/钢琴左手)、中音谱号(C clef,中提琴)与次中音谱号(C clef,大提琴/巴松高音区),覆盖交响乐团全乐器组。
无论您是初次接触五线谱,还是经验丰富的制谱者,遵循以下步骤即可高效创作
在工具栏左侧选择适合的谱号(高音/低音/中音/次中音)与调号。调号决定整首乐曲的升降音体系,可在编辑过程中随时更改,已放置的音符会自动调整显示。
使用工具栏中的音符按钮或键盘快捷键 1–5 切换音符时值。点击附点按钮可为当前音符添加附点(时值延长一半)。变音记号(升/降/还原)可随时切换。
在五线谱的线或间上点击鼠标左键放置音符。音符会自动吸附到最近的音位。已放置的音符可拖拽调整位置,右键或 Delete 键删除。连续放置的八分/十六分音符会自动连接符杠。
点击 ▶ 播放 按钮预览乐曲效果,使用 空格 键快速切换播放状态。满意后点击 💾 导出PNG 保存高清乐谱图片,或复制 MusicXML 代码导入专业制谱软件进一步编辑。
深入理解五线谱编辑器背后的声学公式、坐标计算与渲染管线
五线谱的音高位置通过坐标映射系统精确计算。以高音谱号为例,下加一线的 C4(中央C)坐标为基准,每条线/间之间的垂直间距为 12px,每个半音对应 6px(即半个线间距)。音符的垂直位置 y 与 MIDI 音高 pitch 的换算公式为:
pitch = basePitch - round((y - baseY) / 6)
frequency = 440 × 2^((pitch - 69) / 12)
其中 basePitch 根据谱号类型变化(高音谱号下加一线为 MIDI 60,低音谱号上加一线为 MIDI 60),baseY 为对应基准线的 Canvas Y 坐标。
符干(Stem)方向的判定遵循标准乐理规范:当音符符头位于五线谱第三条线(中线)及以上时,符干向下;位于中线以下时,符干向上。这一规则确保乐谱的视觉平衡与可读性。
符干长度固定为 35px(约三个线间距),符杠(Beam)连接相邻的八分/十六分音符,其角度根据首尾音符的垂直位置差自动计算,一般不超过 20°,以保持乐谱的整洁美观。
播放功能基于 Web Audio API 的 OscillatorNode 与 GainNode 实现。每个音符创建一个独立的振荡器,使用三角波(Triangle)音色模拟钢琴泛音结构。音符的起止时间通过 AudioContext.currentTime 精确调度,确保节奏准确。
为模拟真实乐器的包络(ADSR),每个音符应用线性淡入(Attack: 10ms)与指数淡出(Release: 100ms),避免生硬的起止音。播放速度通过调整音符间的时间间隔实现,BPM 与毫秒换算公式为:
interval(ms) = 60000 / BPM × (4 / duration)
// 其中 duration: 全音符=1, 二分=2, 四分=4...
调号(Key Signature)遵循五度循环圈的排列规则。升号调按照 F♯–C♯–G♯–D♯–A♯–E♯–B♯ 的顺序,从高音谱号的第五线(F♯)开始,依次向上/下交替排列。降号调按照 B♭–E♭–A♭–D♭–G♭–C♭–F♭ 的顺序,从第三线(B♭)开始排列。
临时变音记号(Accidental)的渲染位置根据音符所在线/间的位置精确偏移:升号(♯)居中,降号(♭)略偏左下方,还原号(♮)居中。多个升降号在小节内遵循"就近原则"排列,避免重叠。
常见音符时值的图形表示与拍数换算,以四分音符为一拍
熟练掌握快捷键,将五线谱编辑效率提升三倍以上
无需下载安装,打开浏览器即可开始专业级五线谱编辑。从简单的练习曲到复杂的交响乐章,这里都是您理想的创作起点。