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

onnxruntime option support? #3

Open lucasjinreal opened 1 year ago

lucasjinreal commented 1 year ago

eigen虽好但不好维护(应该也不是最快的方案),有没有兴趣将onnxruntime作为候选项支持?

huakunyang commented 1 year ago

eigen虽好但不好维护(应该也不是最快的方案),有没有兴趣将onnxruntime作为候选项支持?

eigen 的性能确实不是最快的,但编译部署方便,只需要包含头文件,没有额外的依赖。onnxruntime 需要引入额外的依赖,部署麻烦了一点,但确实快不少,尤其是在嵌入式平台上。

我后面的打算是将代码重构后,封装一个tensor的中间层,其tensor的底层的操作实现,例如矩阵相乘,分块等,可以用不同的方式实现,缺省是eigen,但也可以用onnx, blas, mkl 等,但这个改动工作量不少,可能要比较晚一些才能实现了。

lucasjinreal commented 1 year ago

不错的主意,不过也可以考虑将ort 或 eigen 作为不同的推理后端,共用同一个数据输入,如自定义的Tensor (tensor本身无需特别复杂),这样可以做到解耦合。