DiffSinger全流程教程(五)
常见问题
最新的语雀更新:https://www.yuque.com/sunsa-i3ayc/sivu7h

提示找不到cmake、ninja、cl等问题
需要安装Microsoft Visual Studio 2019(MSVC v142)或2022(MSVC v143),如未安装请使用Visual Studio Installer结合以下说明安装
必选项
MSVC v142/v143 - ...
Windows 10 SDK ...
实施调试器
C++ 分析工具
用于 Windows 的 C++ CMake 工具
其他项与 C++ Windows 开发相关,可以不选

MSVC是微软Visual Studio的C/C++编译器,它不像MinGW那样直接把自己放在系统Path中,因为它有四个分身,分别是x64和x86各自的本架构编译与互相交叉编译,所以我们需要使用微软提供的脚本来初始化终端上下文。
Python 使用包管理器
pip
安装工具时,有时需要从源码编译,此时可能检测不到 MSVC 的环境,需要手动启动环境,如果出现类似找不到cmake
、ninja
、cl
、link
...等命令,很大概率是没有检测到 MSVC 环境导致的。
启动环境步骤
在左下角点击智能搜索,输入
x64

如果安装了MSVC编译器,那么一般会出现这个首选

单击打开它,会发现弹出了一个命令行窗口,并且提示设置环境完成

我们输入
where cl
,会发现微软编译器cl.exe
已在当前环境中

如果你需要在别的终端中(比如IDE中)设置此环境,那么需要找到
vcvarsall.bat
的路径

对这个脚本快捷方式右键-属性

它的原身是一个bat脚本,这个快捷方式就是调用cmd启动这个脚本,只需要将
目标
一栏中所有的内容复制到你的新终端(如果是Powershell,那么需要把%comspec%
改为cmd
),然后运行即可



Q:算盘能运行吗?
A:如果你的算盘图灵完备且你有修改代码的能力,应该也是可以的(理论上你甚至可以用红石电路运行)。
Q:必须要使用Anaconda/Conda吗?
A:教程里有说明,你也可以使用你喜欢的其他程序,比如你可以用PyCharm打开项目,他会根据requirements自动生成一个venv作为该项目的Python解释器。
Q:必须指定使用Python 3.8吗?
A:经过之前实验,Python 3.8的兼容性较好,低于此版本可能出现兼容问题,高于此版本的实验较少,故本教程选择相对稳妥方案,也欢迎进行反馈。
Q:C盘被装满了怎么办?
A:这里简单教一下创建硬链接法
如果你装完环境,打开资源管理器,发现

虚拟环境一般安装在 C:\Users\用户名\anaconda3\envs 文件夹里
将envs整个文件夹剪切到其他盘,比如D盘
右键开始菜单,选择命令提示符(管理员)点击打开
输入命令
MKLINK \D "C:\Users\用户名\anaconda3\envs" "D:\envs"
回车
如果你安装有某些清理软件也可以再清理下缓存
Q:错误提示“TypeError:_save_model()missing 1 required positional argument:'filepath'”

A:该错误是错误安装了lighting版本的pytorch,请按照教程或者requirements安装正确版本
Q:提示找不到train_lengths.npy怎么办?
A:大概率是缺少音素或预处理时报错未进行处理,一般在数据集制作时便已经报错,请自行按照教程补充数据,然后重新预处理。
Q:ds文件应当怎么获得呢?
A:下载OpenSVIP
地址:https://openvpi.github.io
可以将其他工程文件转换为ds文件

下载主程序和对应插件

根据原始工程自行选择下载

下载后的主程序解压到任意目录

双击打开OpenSvip.GUI.exe
打开后,【转换-安装插件】

选择下载好的插件,确定并安装

安装后选择对应输入输出格式,在左侧选择导入文件,下方可以选择输出路径

根据需求选择参数

*小重点来咯

这三个参数需要根据模型选择
词典预设:严氏词典或者原版opencpop词典,目前教程所用基本均为严氏词典
音素参数模式:注意,音素参数目前只支持使用X Studio Pro1.9.2冻结,使用教程训练的自制声库目前均需要冻结音素才能正常使用(这部分优化中)
音高参数模式:目前除原版模型外均需要调参文件才能获得最佳体验
需要注意的是,插件暂不支持汉语拼音以外的发音,如果有【ki】之类的需求,可以手动在ds文件中修改
Q:上面没有支持我的工程文件的插件怎么办?
A:使用svp中转
如果上面没有你需要的插件,如vsqx工程文件
你可以使用utaformatix(http://atonystyle.gitee.io/utaformatix3/)转换为svp工程文件


*请确保你的工程原作者允许此操作
选择转换音高参数并下一步

点击导出即可下载

然后下载上方的svp插件用作转换

Q:怎么为ds文件冻结参数呢?
A:首先下载X Studio Pro
可在【群文件-实用工具】下载

解压后将“XStudioPro”文件夹存放至你觉得合适的目录
双击运行其中的 XStudioSinger.exe。

点击【打开工程】打开你喜欢的工程
或者使用OpenSVIP转换为svip工程
或者你也可以【新建工程】(教程:B站号BV1nk4y117AC)

打开后点击【参数】切换到参数模式

等待从云端获取参数

调整参数后,在乐谱区空白处

右键
【冻结Ai参数】
点击【确定】即可冻结音高参数
点击参数切换按钮
点击【音素】切换到音素参数界面
可能加载较慢
调整参数后,在乐谱区空白处
右键
【冻结全部音素】
点击【确定】即可冻结音素
最后快捷键【Ctrl+S】保存工程
将保存的工程使用OpenSVIP转换为ds工程
*需要将音高和音素均设为有参
Q:OpenSVIP转换SVIP时,动态库怎么设置?
A:可参考下面设置
如果你安装有X Studio,正常情况下无须配置
如果报错
1.更新最新版插件,无需设置
2.可参阅插件信息设置
