## 使用流程
1. 在线or下载到本地,用主流现代浏览器打开(开发使用Chrome)。
2. 导入音频——文件-上传,或直接将音频拖拽进去!
3. 选择声道分析,或者导入之前分析的结果(只有选择音频之后才有导入之前结果的接口)
4. 根据频谱分析,开始绘制midi音符!可参考下文推荐流程。
5. 导出为midi等,或者暂时导出项目(下次继续)
### [*建议的扒谱流程](https://www.bilibili.com/video/BV1LFRmBcEEU) 👈视频教程
1. 导入时选择CQT。视情况勾选GPU。
2. 在“分析”页面,点击“节奏分析”、“去除谐波”、“调性分析”(建议最后一个运行)。
3. 勾选“设置”-“播放节拍”,修正节拍;接着使用小节栏右键菜单的“合并下一小节”等功能修正节奏型。
4. 点击“分析”-“人工智障扒谱”,并在完成后将对应音轨锁定、静音,作为扒谱参考。
5. 切换吸附模式为“节拍吸附”(顶部工具栏;需要保证节拍已经修得不错了)。
6. 调整顶部滑条控制频谱强度,人工完成后续扒谱。
## 导入导出说明
- 导出进度: 结果是.nd的二进制文件,保存频谱图、音符、音轨、小节等信息。导入的时候并不会强制要求匹配原曲!(会根据文件名判断一下,但不强制)
- 导出为midi: 有两个模式。模式二只保证能听,节拍默认4/4,bpm默认60,midi类型默认1(同步多音轨),时间精度和设置的精度一致(因此如果midi先导入再导出会有量化误差);模式一会根据小节线进行对齐(需要用户设置好小节线),可以直接用于制谱,算法概述见下面“节奏对齐”。由于midi协议规定第十轨用于打击乐,因此扒谱时旋律需要避开第十轨,可以设置一个空音轨占位。本应用没有设计避开第十轨,也没设计扒鼓点,因此扒谱时第十轨虽然听起来还是乐音,但导出为midi后会变成鼓点。
- 导入midi: 将midi音符导入,只保证音轨、音符、音色能对应,音量默认127。如果导入后没有超过总音轨数,会在后面增加;否则会覆盖后面几轨(有提示)。
## 常规操作
- 空格: 播放
- **双击**时间轴: 从双击的位置开始播放
- 在时间轴上拖拽: 设置重复区间
- 在时间轴上拉动小节线: 设置小节bpm;若按住shift拖动,只改变该小节线位置、不影响后续小节
- 鼠标**中键**时间轴: 将时间设置到点击位置,播放状态保持上一刻
- 鼠标**右键**时间轴(上半/下半): 具体设置重复时间/小节
- 按住空白拖动: 在当前音轨绘制一个音符
- 按住音符左半边拖动: 改变位置
- 按住音符右半边拖动: 改变时长
- Ctrl+点击音符: 多选音符
- delete: 删除选中的音符
- Ctrl+滚轮: 横向缩放
- 按住**中键**拖拽、**触摸板**滑动: 移动视野
## 快捷键
只有在导入并分析音频之后才能使用这些快捷键
- Ctrl+Z: 撤销(只记录16次历史,音轨、音符、小节线操作均会被记录)
- Ctrl+Y: 重做
- Ctrl+A: 全选当前音轨
- Ctrl+Shift+A: 全选所有音轨
- Ctrl+D: 取消选中
- Ctrl+C: 复制选中的音符
- Ctrl+X: 剪贴选中的音符
- Ctrl+V: 粘贴到选中的音轨上(暂不实现跨页面粘贴)
- Ctrl+B: 呼出/收回音轨面板
- Shift+右键: 菜单,包含撤销/重做、复制/粘贴、反选当前轨、删除
- ←↑→↓: 视野移动一格
- PageUp、PageDown:向前翻页/向后翻页
- Home:设置播放位置为0,播放状态保持上一刻
## 小细节
- 滑动条,如果旁边有数字,点击就可以恢复初始值。
- 多次点击“笔”右侧的选择工具,可以切换选择模式。(注意,只能选中当前音轨的音符)
- 点击某个音符可以选中该轨。
- 选择乐器时,展开下拉框并且按首字母可以快速跳转(浏览器下拉框自带)。
- 音轨中,“闭眼”只是看不见,还是可以操作的;一般要搭配“锁定”使用,默认两者会联动。
## 支持的格式
推荐使用常见的mp3、wav文件;除此之外,视频类文件也可以使用,比如mp4、mov、m4v。
但是如下格式不支持(浏览器API不支持解析)(仅仅在Chrome浏览器尝试过):
- aiff(苹果的音频格式)
对于ios的Safari浏览器,上传音频文件也许有些困难。可以选择视频。(不过为什么要用触屏控制啊,根本没适配)
## 其他说明
分析-自动填充,原理是将大于阈值的标记出来,效果不堪入目……于是研究并引入了基于神经网络的扒谱(分析-人工智障扒谱),但是效果非常初级。如有想法欢迎call me。
## 关于节奏对齐
若为了制谱,导出 MIDI 时,应该进行量化对齐。