欢迎光临散文网 会员登陆 & 注册

DiffSinger全流程教程(五)

2023-02-25 20:30 作者:孙飒_TS  | 我要投稿

常见问题

最新的语雀更新: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 的环境,需要手动启动环境,如果出现类似找不到cmakeninjacllink...等命令,很大概率是没有检测到 MSVC 环境导致的。

启动环境步骤

  1. 在左下角点击智能搜索,输入 x64

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

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

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

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

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

  1. 它的原身是一个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 文件夹里

  1. 将envs整个文件夹剪切到其他盘,比如D盘

  2. 右键开始菜单,选择命令提示符(管理员)点击打开

  3. 输入命令

  4. MKLINK \D "C:\Users\用户名\anaconda3\envs" "D:\envs"

  5. 回车

如果你安装有某些清理软件也可以再清理下缓存


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

打开后,【转换-安装插件】

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

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

根据需求选择参数

*小重点来咯

这三个参数需要根据模型选择

  1. 词典预设:严氏词典或者原版opencpop词典,目前教程所用基本均为严氏词典

  2. 音素参数模式:注意,音素参数目前只支持使用X Studio Pro1.9.2冻结,使用教程训练的自制声库目前均需要冻结音素才能正常使用(这部分优化中)

  3. 音高参数模式:目前除原版模型外均需要调参文件才能获得最佳体验

需要注意的是,插件暂不支持汉语拼音以外的发音,如果有【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.可参阅插件信息设置


DiffSinger全流程教程(五)的评论 (共 条)

分享到微博请遵守国家法律