MoeSS桌面宠物 V2023 最新免费版下载

MoeSS是一款功能强大的人物模型软件。重写了Tacotron2、Vits、SoftVits以及DiffSvc的推理函数及网络结构,并将处理后的网络转换为Onnx并在C++上编写了推理软件,使得使用上述项目不再需要附加一系列臃肿的依赖库,同时Cpu的推理速度也显著提升。

MoeSS

【软件功能】

模型导入:

// 本软件标准化了模型读取模块,模型保存在Mods文件夹下的子文件夹中********.json文件用于声明模型路径以及其显示名称,知识兔以我的模型为例(SummerPockets.json)

{

“Folder” : “SummerPockets”,

“Name” : “SummerPocketsReflectionBlue”,

“Type” : “VITS_VCTK”,

“Symbol” : “_,.!?-~…AEINOQUabdefghijkmnoprstuvwyzʃʧʦ↓↑” ,

“Cleaner” : “LowerCharacters”,

“Rate” : 22050,

“Hop” : 0,

“Hifigan”: “hifigan”,

“SoVits3”: false,

“Hubert”: “hubert”,

“Pndm” : 100,

“MelBins” : 128,

“Characters” : [“鳴瀬しろは”,”空門蒼”,”鷹原うみ”,”紬ヴェンダース”,”神山識”,”水織静久”,”野村美希”,”久島鴎”,”岬鏡子”]

}

// 其中必填项目为Folder,Name,Type,Rate

// TTS(Tacotron2,Vits,串联用模型)需要填写Symbol,Cleaner

// 无自带声码器的项目(Tacotron2,DiffSvc)需要填写Hifigan(hifigan模型应该放置于hifigan,该项设置为模型文件名(不带后缀))

// VC(Sovits,DiffSvc)需要填写Hop和Hubert(Hubert放到Hubert文件夹下)

// SoVits3为Sovits3.0的标记,如果知识兔该模型基于SoVits3.0训练则需要填写为true

// DiffSvc需要填写Pndm(就是你导出模型时的加速倍率),MelBins(在你的模型config.yaml里面的前几项有一个带mel_bins的一项)

// 含多角色embidding的(Vits多人模型,Sovits)需要填写Characters

支持的model项目

// ${xxx}是什么意思大家应该都知道吧,总之以下是多个不同项目需要的模型文件(需要放置在对应的模型文件夹下)。

// Tacotron2:

${Folder}_decoder_iter.onnx

${Folder}_encoder.onnx

${Folder}_postnet.onnx

// VITS_LJS:    单角色VITS

${Folder}_dec.onnx

${Folder}_flow.onnx

${Folder}_enc_p.onnx

${Folder}_dp.onnx

// VITS_VCTK:   多角色VITS

${Folder}_dec.onnx

${Folder}_emb.onnx

${Folder}_flow.onnx

${Folder}_enc_p.onnx

${Folder}_dp.onnx

// SoVits:

${Folder}_SoVits.onnx

// DiffSvc:

${Folder}_diffSvc.onnx

Symbol的设置

例如:_-!'(),.:;? ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

打开你训练模型的项目,知识兔打开text\symbol.py,如图按照划线的List顺序将上面的4个字符串连接即可

image

Cleaner的设置

/*

Cleaner请放置于根目录的Cleaners文件夹内,应该是一个按照要求定义的动态库(.dll),dll应当命名为Cleaner名,Cleaner名即为模型定义Json文件中Cleaner一栏填写的内容。

所有的插件dll需要定义以下函数,函数名必须为PluginMain,Dll名必须为插件名(或Cleaner名):

*/

const wchar_t* PluginMain(const wchar_t*);

// 该接口只要求输入输出一致,并不要求功能一致,也就是说,你可以在改Dll中实现任何想要的功能,比方说AI机器人,机器翻译等等。

// 以AI机器人为例,PluginMain函数传入了一个输入字符串input,将该输入传入AI机器人,再将AI机器人的输出传入PluginMain,最后返回输出。

wchar_t* PluginMain(wchar_t* input){

wchar_t* tmpOutput = AI机器人(input);

return Clean(tmpOutput);

}

// 注意:导出dll时请使用 extern “C” 关键字来防止C++语言的破坏性命名。

MoeSS

【使用说明】

1、打开MoeSS.exe

2、在左上方Mods模块中选择模型

3、在下方输入框中输入要转换的文字,知识兔点击“清理”可以执行文本Cleaner,换行为批量转换的分句符号。(SoVits需要输入音频路径)

4、知识兔点击开始合成,即可开始合成语音,等待进度完成后,知识兔可以在右上方播放器预览,知识兔也可以在右上方直接保存。

5、可以使用命令行启动:(仅1.X版本)

Shell:& '.\xxx.exe' “ModDir” “InputText.” “outputDir” “Symbol”

CMD:”xxx.exe” “ModDir” “InputText.” “outputDir” “Symbol”

其中ModDir为”模型路径\\模型名” 如预置模型的”Mods\\Shiroha\\Shiroha”

InputText为需要转换的文字(仅支持空格逗号句号以及字母)

outputDir为输出文件名(不是路径,是文件名,不需要加后缀)

Symbol见下文

输出文件默认在tmpDir中

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论