在银河麒麟v10 上能够与 Qt 快速集成的中文 TTS 离线引擎有哪些?
在银河麒麟v10 上能够与 Qt QTextToSpeech 快速集成的中文 TTS 离线引擎有哪些?
- 在 Windows 10 上通过
QTextToSpeech使用微软 SAPI 引擎 能够快速实现原型。
放弃 speech-dispatcher
核心局限性:
原生 QTextToSpeech 在 Linux 下的默认后端是 speech-dispatcher(Linux 通用语音调度框架),而该框架默认缺乏优质的中文离线语音模型。
直接使用 QTextToSpeech 难以实现流畅的中文离线朗读,大多只能支持英文或机械感极强的中文(甚至无法识别中文),需要额外配置中文 TTS 后端引擎才能满足需求。
1 | sudo apt install espeak-ng espeak-ng-data speech-dispatcher espeak-ng espeak-ng-data libespeak-ng1 |
飞桨
注意事项:
- PaddleSpeech 暂不支持 PaddlePaddle 3.x 版本
- 换清华镜像源加速下载
b - 不可以同时安装
paddlepaddle(CPU 版)和paddlepaddle-gpu(GPU 版)
没有显卡,使用 cpu :
1 | conda env remove -y -n paddle_cpu |
有显卡时:
1 | conda env remove -y -n paddle_cu11 |
迁移到离线环境中使用时,还需要:
C:\Users\{you}\AppData\Roaming\nltk_dataC:\Users\{you}\AppData\.paddlespeechC:\Users\{you}\AppData\.paddlenlp
存在两个短板,可能是我的问题,不想搞了:
- 语音合成耗时久,无论是 GPU 还是 CPU 命令执行时耗时 10s+,和初始加载模型有关,但除了写代码好像没其他办法
- 从联网设备往公司内网导入不友好,蚂蚁搬家,逐步试错,找出依赖文件,逐个导入
miniconda
参考 [Installing Miniconda][https://www.anaconda.com/docs/getting-started/miniconda/install#linux-2]
1 | # install |
paddlespeech_server
直接使用这项服务,它在启动服务时将模型加载到内存中备用,避免使用 CLI 时每次重新加载。
但避免使用 paddlespeech_client ,它在发出网络请求之前耗时做了很多无用功。
1 | conda activate paddle_cpu |
client
1 | shell 脚本 |
Coqui TTS
这个框架在 2024 年初宣布停止维护,但 2025 年时依然很热门。
1 | conda env remove -y -n coqui_tts |