huakunyang / SummerTTS

SummerTTS 是一个基于C++的独立编译的中文和英文语音合成项目,可以本地运行不需要网络,而且没有额外的依赖,一键编译完成即可用于中文和英文的语音合成。SummerTTS is a standalone Chinese and English speech synthesis(TTS) project that has almost no dependency and could be easily used for Chinese TTS with just one key build out
401 stars 72 forks source link

请问模型初始后,每次调用合成是否会提高速度? #10

Closed xiongfeigood closed 1 year ago

xiongfeigood commented 1 year ago

请问如果第一次加载了模型,再次合成的时候,是否能提高速度? 如果是的话建议增加一个接口:初始化模型,然后之后就只需要调用合成接口,直接合成语音。 由于我不是很专业,不知道我理解的是否正确,谢谢。

huakunyang commented 1 year ago

这样的接口是有的,就是 infer 接口,Readme的里面也有说明,test/main.cpp 只是个使用 SynthesizerTrn 的Demo程序,在下面的这一行代码,初始化和加载了模型: SynthesizerTrn * synthesizer = new SynthesizerTrn(dataW, modelSize);

在这一行调用对象 的 infer 执行合成: int16_t * wavData = synthesizer->infer(line,0, 1.0,retLen);

你们完全可以在你们的代码中,初始化一次后,多次调用infer 执行合成,这样就不必每次加载模型,会快一些,也可能会节省一些内存。