v2.0.0 · 内置 MIDI 编辑器与试听
v2.0.0
这一版加入内置 MIDI 编辑器。你可以先改谱,再演奏。
新增:MIDI 编辑器(卷帘)
| 操作 | 作用 |
|---|---|
| 标尺点 / 拖 | 定位播放位置 |
| 点左侧琴键 | 选中该音高的全部音符。按住拖动可连选多个音高 |
| 拖音符中部 | 移动。多选时整组一起动。左右改时间,上下改音高 |
| 拖音符任一端 | 改长度。左端改头,右端改尾。音高不变 |
| 空白处拖 | 框选多个音符 |
| 空白处单击 | 定位,并清空选择 |
| 双击空白 | 加一个音。按住继续拖可一次定好长度 |
| 右键 | 删音。按住拖动可连续擦除 |
| Delete | 删除选中的音 |
| Ctrl+A / Esc | 全选 / 清空选择 |
| 方向键 | 微调。左右按吸附步长,上下按半音。按住 Shift 加速 |
| Ctrl+Z / Ctrl+Y | 撤销 / 重做。保留当前缩放位置 |
| 滚轮 | 以光标为锚点缩放 |
| Shift+滚轮 / 中键拖动 | 左右平移 |
| 缩小 / 放大 / 全曲 | 工具栏按钮。右边显示当前缩放百分比 |
| 帮助 | 展开 / 收起右侧操作说明。默认收起 |
- 时间标尺按文件的拍号与速度画小节线与小节号。拍线太密时自动退回秒级刻度。
- 琴键栏在卷帘左侧。白键黑键有底色,只标 C 的音名。
- 跟随播放:播放时卷帘跟着播放头走。手动平移后自动关掉。
- 导出 MIDI:把改动后的谱面写成标准 MIDI 文件。
- 撤销按手势记录。整组拖动 8 个音,撤销时只算一步。
新增:试听
- 「试听」是「停止」右边一个同样大的独立按钮。点了就放声音,再点一下停止。
- 它和演奏完全分开:不发送按键,不走倒计时,不会最小化窗口。
- 声音由 Windows 自带的 MIDI 合成器发出。不需要安装音频软件。
- 播放中随时可以拖进度条或卷帘定位。松手就从新位置接着放。
- 设备不可用时按钮自动变灰。日志写明原因。
删除
- 「自动提取主旋律」,「人声旋律提取」和「呼吸休止」。加了midi可视化,直接在上面改。软件实在是做不到一个通用的压缩音频和提取主旋律的方法🐖。
位置调整
- 「去除开头空拍」移到右栏「演奏参数」那一行。
- 左栏底部的小选项卡片删除。轨道列表占满左侧高度。
- 顶部两张卡片合并成一张:状态在上,曲目信息在下。
- 默认窗口高度 780 改为 860,给卷帘留出编辑高度。最小高度仍是 760。
修复
- 短音符拖不动。 抓取带原为固定 6 像素。音符最小绘制宽度是 2.5 像素。
窄于 6 像素的音符整条都落在抓取带里。它只能改长度,不能移动。
现在抓取带取 min(6px, 音符宽度的 30%)。 - 拖动时乱飘,不跟鼠标方向。 原因是每帧都把整段位移重复叠加一次。
现在手势开始时记录原位基准。每次移动都从基准重算。 - 吸附吸的是光标,不是音符边。 抓住音符中间拖动时,音符边落在格外。
现在让音符的头或尾落在格子上。取需要修正更小的那一端。 - 放大到某一段改谱后,按 Ctrl+Z 弹回全曲。 现在撤销与重做保留缩放位置。
- 试听吞音严重。 旧实现用 80 毫秒的定时器采样当前正在响的音,
比采样间隔短的音会整颗跳过。现在改为事件调度,先排出每个音的起止时刻,
定时器每次把到点的事件一次补齐发出。 - 进度条播放时左右抖动。 原因是它右边的时间与定位音标签长度一直变,
把进度条反复挤宽挤窄。两个标签改为固定宽度。 - 部分音符错误显示为灰色。 编辑改动音高后,颜色仍按旧集合计算。
现在编辑提交后也刷新这个集合。 - 小窗口下卷帘排版崩坏,缩放按钮显示不全。 原因有三个:工具栏不换行、
走带行横向压字、最小高度不足。全部修复。
升级说明
- 老设置文件可以继续用。已删除选项对应的字段会被忽略,不影响其它设置。
- 改动较大,所以版本号从 1.1.1 直接跳到 2.0.0。Ψ( ̄∀ ̄)Ψ
请在 Windows 上确认
- 导入一首完整的歌。卷帘是否从第 0 秒起就有音符,并且一直铺到歌曲后段。
- 放大到某一段,拖动音符。音符是否跟手,不飘。
- 按 Ctrl+Z / Ctrl+Y。缩放位置是否保持。
- 点「试听」。声音是否连续,不吞音。播放中拖进度条,松手是否从新位置接着放。
- 把窗口拖到最小尺寸。缩放按钮是否完整可见。