Flowrpt

网络演奏台 · Web 电子琴与鼓机多声部 / 落键瀑布 / 无需安装

两套音源、最多 16 个声部(15 条旋律通道 + 一个固定鼓组):内置合成器用 Web Audio 实时合成 22 种乐器与 16 件打击乐;系统 MIDI 音源可调 GM 128 音色与第 10 通道鼓组。整页不加载任何音频素材。

音源引擎
状态
正在初始化…
力度 100
总音量 80
八度−=
0
音域平移 0
键位细键跨八度
延音空格
手弹:音内渐变
播放Enter
紧急
落下的色条 = 即将演奏的音符,颜色 = 声部,长度 = 按住时长
左右拖动瀑布=平移音域;播放时上下拖动=拖动播放位置;拖下面的横条=改高度(往下拖=变高)
显示与记忆:瀑布样式 / 粒子 / 发光 / 自动保存草稿(改动即时生效,会记住)
瀑布样式
粒子
粒子密度
发光强度
音色响度对齐
其他
溢出瀑布屏
落点辉光
瀑布高度 200
长音粒子
后台播放
草稿自动保存
草稿
还没有草稿
草稿只保存在浏览器本地(localStorage),不上传、不出网;换台电脑或清除浏览器数据后会丢失。
⏸ 起点 0.00 拍 / 第 1 小节 ♩=120

用鼠标点按琴键(按住并滑动可连奏);手机可多指按和弦。电脑键盘:Z S X D C V G B H N J M 与 Q 2 W 3 E R 5 T 6 Y 7 U,−/= 移调,空格 延音。琴键颜色跟随当前声部;细键 / 全键盘 一次显示 5 个八度或 88 键,跨八度就不用反复移调了(细键模式下琴键上带小亮条的那一段=电脑键盘正在弹的音域)。

打击垫(16 件打击乐 · 点一下即发声;当前声部若是鼓组,琴键也会映射到这些打击乐)
声部与乐器(每个声部独立选乐器、音量、颜色;播放时一种乐器一种颜色)

钢琴卷帘编辑器
编辑声部
吸附
网格缩放
32px
卷帘高度
五线谱高度
长度
编辑范围
其他声部透明度 45%
速度 整首底速
BPM
播放起点Home
编辑
弱 → 强
力度(新建音符 / 选中音符)
100
音分(微分音 ±100)
0
MIDI 文件
辅助视图
左键点空白处=加一个音符(按住往右拖可加长,放下去会响一声);拖动音符=改音高与位置;拖右边缘=改长度;双击音符=删除;Shift 点选=多选;在空白处按住右键拖动=框选一批(拖到卷帘边缘会自动往那个方向滚,不用先滚再框),在音符块或速度标记上右键=删掉(卷帘里的浏览器右键菜单一律不弹,右键手势中把鼠标移到卷帘外面松开也一样);「渐强 / 渐弱」会把选中音符的力度拉成一条直线。中键或 Alt+点击=把播放起点定在那里(Home 回到开头)。每个音除力度、长度外还能设音分(微分音,±100 音分,内置合成器直接生效);把 .mid 文件拖进这个面板也能直接读进来。
五线谱是辅助视图:只画不改,跟着卷帘左右滚动;黑键画成 ♯,带音分的音会标一个小箭头加数字(如 ↑23)。卷帘里滚动鼠标只滚卷帘,滚到头才带动整页;Ctrl+滚轮=缩放网格。
MIDI 文件里会读进来的内容:音符 / 力度 / 程序号(音色)/ 速度与变速 / 轨道名 / 延音踏板(CC64,按松踏板把音符长度补足);暂不读取:滑音轮、触后、声像等控制器(先按原样保留音符)。所有编辑只在本页内存里。
示例曲目
速度 ♩=104 BPM
自动演奏
试听当前声部
录制演奏(仅内存,不上传)
选择曲目后点「播放」即可自动演奏,色条会落在琴键上。
录音数据 / 导入导出(JSON,含声部与乐器,可用于其他脚本调用)

tr 声部序号、n 音高(MIDI 号,60 = 中央 C,打击乐用 36 底鼓 / 38 军鼓 / 42 闭合踩镲…)、t 起始秒、d 时长秒、v 力度。所有数据只存在当前页面内存里,刷新即消失。

本工具的调用接口

演奏台支持用 URL 参数直接载入并播放,便于其他页面或脚本调用。全部在前端完成,不产生任何服务器请求。

GET tools/web-instrument.html?参数

play     示例曲目:xiaoxingxing | huanlesong | shengrikuaile | canon
notes    自定义旋律:音名+八度,冒号后接拍数(默认 1,可小数):
         多个音用空格或逗号分隔 · 和弦写 [C4,E4,G4] · 休止符 R
         用 | 分段,第 k 段自动属于第 k 个声部(多声部就靠它)
         单个音也可用尾部 @N 指定声部 · 打击乐直接写音高号(36 底鼓 / 38 军鼓 / 42 踩镲…)
tracks   声部乐器,逗号分隔:s:piano,s:flute,d 或 gm:73,gm:56,dm
         (s: 内置音色 22 种 · gm:0-127 系统 GM 音色 · d 内置鼓组 · dm 系统鼓组通道)
drums    加一段鼓点:basic | funk | rock | waltz,可跟 :小节数,如 drums=funk:4
bpm      速度(默认 120)        engine  synth | midi      octave  -3 ~ 3
tools/web-instrument.html?play=canon&bpm=76
tools/web-instrument.html?notes=C4:0.5,D4:0.5,E4:0.5,G4:2&tracks=s:clarinet
tools/web-instrument.html?notes=[C4,E4,G4]:1,[F4,A4,C5]:1&tracks=s:choir,s:bass&drums=funk:2
tools/web-instrument.html?notes=C4:0.5 E4:0.5 G4:0.5|C3:1 G3:1|36:0.5 42:0.5 38:0.5&tracks=s:harp,s:cello,d

浏览器禁止页面未经交互自动发声,带参数打开后会提示点一下播放按钮。多声部写法:用 | 把旋律分段,第 1 段走声部 1、第 2 段走声部 2;单音想临时换声部可写 G4:1@2。

怎么用(30 秒上手)
关于音色:为什么"内置"这么多,还需要系统 MIDI?
自定义曲线
横轴=音长(左=音头 → 右=音尾) 纵轴=音量(下=静音 → 上=满)
怎么画:白点=拐点,拖它改形状;点一下选中(变亮),再用「− 删点」删,或者右键点它直接删; 双击空白加一个点(也可以按「+ 加点」,它加在最宽的空档中间、电平按曲线当前高度来,所以形状不跳)。
某一段单独平滑:点线上任意一段=选中那一段,再按「◎ 这一段改成平滑」,那一段就变成过两个拐点的弧线 (拐点一个不动,其它段不受影响,青色虚线标出);同一个按钮再按一下=改回直线。「∿ 整条平滑」是一次改全。 起音段与收尾段保持直线 —— 想让它也带弧度,在它附近加一个拐点。
区域消音:点「▭ 区域消音」,在格子里横着拖一段,那一段就被压成静音(音符中间留一个空档), 可以拖好几段;「✕ 去掉消音」几段一起清。
这扇窗口画的是谁:在卷帘里选中带音内渐变的音符,窗口就跟着显示他那条曲线(标题旁边一行小字写着, 比如"选中 1 个 · 渐弱 ╲ · 自定义 2 点")—— 这一步只是看,不改音符。一旦在此处动手改形状, 就写到选中的音符身上:带音内渐变的换形状(方向不动),还没带音内渐变的会顺手按"渐强 ╱"补上(可撤销)。 选中的音符若有好几种曲线,标题写"曲线不一(画的是第 1 条)",底下的「⟲ 读选中的音符」可以手动读一条。 一个音符都没选中时,改的是默认曲线(点「音内渐强 / 渐弱」和手弹的"音内渐变"用它);关掉窗口就撒手。
方向:跟着渐强的音符时是左下 → 右上,跟着渐弱的音符时是左上 → 右下 —— 和卷帘条子里那条记号是同一个方向。左边=这个音的开头、右边=结尾,线以上是"响"的那一块。
落键瀑布里的圆也按这条曲线走:渐强越响圆越大、渐弱越响圆越小,被消音的那一段缩到最小。
方向
谱面设置
谱号
调号
每行小节数导出
谱线间距
这四样各自管什么
· 谱号:自动=按这个声部的音域决定(偏高用高音谱号、偏低用低音谱号);也可以一律指定。
· 调号:默认自动(按曲子里各音高出现的时长猜一个最贴的大调),也可以手动指定 15 个调中的一个。 设了调号以后临时升降号(♯ / ♭ / ♮)只在必要的时候才画:G 大调里的 F♯ 不画(调号已经说了), 而 F♮ 会画一个还原号 —— 这才是乐谱的写法。
· 每行小节数:管的是导出的 PNG。不分行=一条长条(适合单旋律,一眼看完); 选了几小节,就排成一张多行的谱子:每行左边画谱号与调号、到小节数就换行,像一张真正的谱子。
· 谱线间距:五条线之间的距离,屏幕上和导出都跟着变(声部多的时候调小一点更省地方)。
· 屏幕上那条谱子是滚动的一条(宽度跟着卷帘走),所以"每行小节数"只对导出有意义; 另外三样屏幕上会立刻跟着变,所见即所得。
音色响度对齐 · 明细