NEUTRINO - 基于神经网络的新一代歌声合成器
前言
没错这是一篇资源安利文,以下大部分内容翻译自 NEUTRINO 官网
关于
NEUTRINO(AI Kiritan) 是基于神经网络的歌声合成器,作为自由软件发布,官方表示目前暂无开源计划, 目前开源了部分模块,现已支持 Windows, Linux 和 MacOS。
软件首先利用神经网络根据乐谱分析得到时长、音调、音色等参数,再基于以上参数,利用 vocoder 合成出歌声。
安装和卸载
NEUTRINO 目前作为便携软件形式发布,从 官方下载地址 下载得到压缩包,解压到任意文件夹即可,卸载只需删除整个文件夹。
使用
- 利用 MuseScore 等制谱软件生成
musicxml
格式的文件保存到score/musicxml
目录下 - 编辑
Run.bat
,将BASENAME
改为上一步musicxml
的文件名 - 直接启动
Run.bat
或在命令行中执行,音频文件将会生成至output
文件夹
模块说明
musicXML_to_label.exe
1 | Input : score/musicxml/*.musicxml |
将 MusicXML 转化为用于神经网络输入的标签格式,推荐使用 MuseScore 来生成乐谱。选择[文件]-> [导出],将文件格式改为 uncompressed MusicXML,如果使用其他软件导出的为 XML 文件,需要在 Run.bat
中将 SUFFIX
配置项改为 xml
:
1 | : musicXML_to_label |
NEUTRINO.exe
1 | # predict timing |
用于从上一步生成的标签信息中预测 Timing、音高、音色、音调等特征。
可通过更改 Run.bat
中的 ModelDir
配置项来改变音源,在官方提供的下载地址中可选择捆绑 KIRITAN 和 YOKO 两个音源模型的版本下载
1 | : NEUTRINO |
可通过更改 NumThreads
配置项来改变运行时使用的处理器数量(默认为 0 即最大值):
1 | : Project settings |
WORLD.exe
1 | Input : output/*.f0, *.mgc, *.bap |
根据上一步提取的特征信息合成歌声波形
可通过配置 PitchShift
进行移调(默认情况下会根据乐谱中的调号判断音高)
通过配置 FormantShift
改变音调,值越大嗓音越接近儿童,越小越接近成人(官方推荐设定为 0.85-1.15 之间)
1 | : WORLD |
PitchShift 快速参考
Key | -6 | -5 | -4 | -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 | +5 | +6 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PitchShift | 0.707 | 0.749 | 0.794 | 0.841 | 0.891 | 0.944 | 1.000 | 1.059 | 1.122 | 1.189 | 1.260 | 1.335 | 1.414 |
关于 MusicXML
在 score/musicxml
目录下有一些范例乐谱,一般情况下只要同时包含音符和歌词即可。
- 请将乐谱类型设置为 “G Clef”(高音谱号)
- 无需设定弱起
使用 MuseScore 导入 MIDI 时的推荐配置:
通道: 仅 1 通道
量化: 16 分音符和 32 分音符
声部: 1
连音: 3, 4, 5, 7, 9
简化时值: ON
显示短奏记号: OFF
附点: ON
显示速度文字: ON
检测弱起: OFF
换气标记在 NEUTRINO 中有重要作用。基本上,通过使用 4~16 分休止符、换气符号和促音「っ」就能轻松地生成稳定的声音。
歌词需要用全角平假名和全角片假名按照实际发音书写,如:「こんにちは」→「こんにちわ」
推荐一个音符只对应一个元音,否则 Timing 推断可能出现错位
例:「♪ こん ♪ に ♪ ち ♪ わ」→「 ♪ こ ♪ ん ♪ に ♪ ち ♪ わ」
特殊记号
「’」表示 元音弱化
元音跟随辅音而不出声,可实现英语歌词某些部分快速演唱的效果
注:不可单独输入辅音,必须包含一个元音,如”元音 + 辅音“ 或“辅音 + 辅音 + 元音”。
「ー」表示与前一音节的元音相同(即延长元音)
例如「ゆーきが」与「ゆうきが」两种书写方式的效果相同
促音「っ」单独使用时将处理成「前一音节元音+っ」,可能有助于使声音变得流畅
例:♪ ず(z + u) ♪ っ(u + cl) ♪ と(t + o) → ♪ ずっ(z + u + cl) ♪ と(t + o)
有效乐谱信息
- 音高
- 音符时长 / 乐句长度
- 泰语换气符号
- 调号
无效乐谱信息
- 短奏记号
- 谱号(目前只支持高音谱号)
- 强弱记号
- 拍号(目前只支持四拍子)
- 速度记号
注意事项
- 由换气符号或休止符包围的部分视作一个乐句,如果乐句太长将会导致失真
- 超过音域的音符将会导致失真,可先制作正常音域的乐谱,再通过配置
PitchShift
来调节
总结
適当に打ち込んでみたけど、完全なベタ打ちでもそれなりに聞けるの凄いと思う
#AIきりたん
个人感想:总体效果值得称赞,相比 VOCALOID 更为省时省力,声音更加真实稳定,尤其是在起音和尾音部分没有明显失真现象,在一定条件下能够实现发声力度的细微变化;缺点是目前的可调参数较少,基本依靠神经网络识别,难以体现个人风格。
目前开发者仍在积极更新维护中,已经加入了随机性和新的 NSF 合成方式以生成不同的演唱风格,未来的发展值得期待。
NEUTRINO - 基于神经网络的新一代歌声合成器
https://blog.gpx.moe/2020/02/29/neutrino-singing-synthesizer/