MIDI 转换插件
适用格式:MIDI 文件 (*.mid)
版本:0.8.3
最后更新日期:2022.08.22
作者:笛鹿FlutyDeer
简介
本插件支持标准 MIDI 文件,即 Standard MIDI Files (SMF) ,与其他格式互相转换。由于输入或输出平台的不同,部分数据可能无法与源平台或目标平台一一对应。
数据支持清单
读取 MIDI 文件
数据内容 | 支持等级 | 说明 |
---|---|---|
轨道 | ✓ | |
曲谱 | ✓ | |
歌词 | ✓ | 实验性选项。如果歌词包含字母时将作为“修改发音”转换。 |
写入 MIDI 文件
数据内容 | 支持等级 | 说明 |
---|---|---|
轨道 | ✓ | |
曲谱 | ✓ | |
歌词 | ✓ | 如果修改过源格式音符的发音,将会把修改后的发音作为歌词导出。 |
高级选项
输入选项
导入歌词
启用此选项,将会尝试导入 MIDI 文件中的歌词。
歌词文本编码
指定导入歌词时所用的文本编码。除非歌词出现乱码,否则不应更改此设置。
此选项支持的值如下:
- ASCII
- BigEndianUnicode
- Default
- Unicode
- UTF-32
- UTF-7
- UTF-8 BOM
- UTF-8
导入拍号
指定是否导入拍号。关闭此选项,拍号设置为4/4。
通道处理方式
对于一条轨道内有多个不同通道音符的情况,可以指定不同的处理方式。
此选项支持的值如下:
- 仅导入首条通道
- 全部拆分为轨道
- 自定义导入范围
通道
指定要导入哪些通道上的音符。请输入通道的序号和/或通道范围(用英文逗号分隔),例如1,3,5-12。取值范围:1-16。仅在“通道处理方式”选项中选择“自定义导入范围”时有效。
导入有错误或损坏的 MIDI 文件时
指定如何处理含有错误或损坏的 MIDI 文件。选择“忽略错误”,软件将会尝试导入有错误或损坏的 MIDI 文件,但不保证能正确导入。
此选项支持的值如下:
- 中止
- 忽略错误
输出选项
拖拍前移补偿量
非负整数,单位为梯。输入负数视为零。将发音为 y-、w-、a-、o- 和 e- 的音符提前,以缓解某些歌声合成软件半元音或元音音符出现迟滞的问题。推荐值:30~60。
导出歌词
指定是否导出带词 MIDI 文件。
移除歌词中的常见标点符号
移除中英文的逗号、句号、问号和感叹号,防止不支持含标点符号歌词的歌声合成软件无法正常合成。
歌词兼容性模式
将所有中文歌词转换为拼音,防止不支持导入带有中文歌词 MIDI 文件的歌声合成软件出现乱码。
使用旧版的汉字转拼音方案
不推荐开启,且未来有可能会移除。
歌词文本编码
除非打开歌词兼容性模式后仍然乱码,否则不应更改此设置。
此选项支持的值如下:
- ASCII
- BigEndianUnicode
- Default
- Unicode
- UTF-32
- UTF-7
- UTF-8 BOM
- UTF-8
移调
单位为半音。若要降低一个八度,则输入“-12”。对于移调后超出 MIDI 音高范围的音符,将会被限制在边缘。
PPQ
即 parts per quarter, 又名 ticks per quarter note,每四分音符的脉冲数。除非你知道这是什么,否则不应更改此设置。
[!NOTE]
在 MIDI 中,时间是用梯(ticks)而不是秒或者其他单位表示的。MIDI 系统是由 MIDI 时钟驱动的,时钟能产生脉冲。一个脉冲到来,梯的值就增加一。时钟产生脉冲的频率是根据曲速来定的,这里不展开来讲。时基(time division)是指每四分音符的脉冲数(ticks per quarter note),描述的是 MIDI 系统的时间分辨率。如果时基设置为480,那么演奏一个四分音符的时间就是480梯。换句话说,当 MIDI 系统数够了480个脉冲,则表示经过了一个四分音符的时间。数值越大,MIDI 系统的时间分辨率就越高,也就是说可以演奏时值越小的音符。如果要将 MIDI 文件的播放速度提高两倍,可以将默认的时基(480)除以2,即改成240。
更新日志
v0.8.3(2022.08.22)
- 修复导入曲速为120的文件时曲速丢失的问题。
v0.8.2(2022.08.03)
- 修复特定情况下导入歌词和曲速错位的问题。
v0.8.1(2022.07.29)
- 导入出现错误时引导用户选择忽略错误。
v0.8.0(2022.07.17)
- 注意:此版本需要框架版本为1.3.0及以上才能正常使用。请在 OpenSVIP 转换器顶部的菜单栏>帮助>关于 OpenSVIP 查看是否满足条件,如果不满足,请更新转换器。
- 新增导入 MIDI 时重复音符的检测。
- 改用 OpenSVIP 框架的汉字转拼音方案,转换更加准确。同时新增“使用旧版的汉字转拼音方案”的选项,以便在两种汉字转拼音方案之间切换。
- 导入歌词不再作为实验性选项。
v0.7.1(2022.07.11)
- 修复特定情况下曲速转换错误的问题。
v0.7.0(2022.06.19)
- 新增多通道导入选项。对于一条轨道内有多个不同通道音符的情况,可以选择仅导入首条通道、全部拆分为轨道和自定义导入范围。
- 半元音前移量的选项升级为拖拍前移补偿量,生效范围扩展到y-、w-、a-、o- 和 e-。
- 调整了部分文案。
v0.6.0 (2022.05.30)
- 新增是否导入拍号和导出歌词的选项。
- 新增轨道名称的导入和导出。
- 修复特定情况下曲速无法导入的问题。
v0.5.0 (2022.05.27)
- 新增读取 MIDI 文件遇到错误处理选项,即使是损坏或包含错误的 MIDI 文件,也能尝试转换。
- 新增是否导入歌词选项。由于导入歌词尚处于实验阶段,如果出现问题,可以关闭此选项并向开发者反馈。
- 修复 PPQ 不为480时音符位置和时长错误的问题。
- 修复导入不带词 MIDI 文件时音符错位的问题。
v0.4.1 (2022.05.25)
- 支持带词 MIDI 文件反向转换成其他格式(可能还有不少bug,欢迎大家反馈)。
- 修复了半元音前移的一个小bug。
v0.3.2 (2022.05.18)
- 修改文案和半元音前移量的推荐值。
v0.2.2 (2022.05.06)
随转换器公测发布