最近老有朋友问我,说想在自己的电脑或者小主机上弄一个TTS Server app,把语音合成服务跑起来,不管是给自己做的视频配音,还是接进智能家居里当播报,都比直接用在线接口踏实。其实这事没想象中那么玄乎,我前前后后折腾了三四台设备,踩过不少坑,今天就把TTS Server app语音合成服务器搭建的完整过程捋一遍,尽量说人话,照着做基本能跑通。

别被“服务器”三个字吓到,TTS Server app说白了就是一个能接收文字、返回语音音频的小程序。你把它跑在电脑上,它就在本地开一个端口,别的软件或者网页把文字发过去,它就把合成好的声音传回来。跟在线语音合成比,最大的好处是不用联网、不怕限流,声音数据也不出自己家门。
我一开始以为必须得用Linux服务器,后来发现Windows也能跑,甚至一些性能好点的电视盒子都行。关键是看你选哪个TTS Server app方案。常见的有基于Python的,也有打包成EXE直接双击的,新手建议从后者入手,少装一堆依赖。
这里提醒一句,不管用哪种,先确认你的设备能出声或者能保存音频文件,不然合成完了没地方听,白忙活。
动手之前,先把这几样东西备齐:一台常年开机的电脑或者小主机、稳定的电源、还有足够的硬盘空间。语音模型文件现在动辄几百兆到几个G,别到时候下到一半发现盘满了。
系统方面,Windows 10以上基本没问题,Linux的话Ubuntu 20.04之后都行。如果你用的是TTS Server app的Docker版本,那还得先装好Docker环境,这个网上教程一堆,照着敲命令就行。
我踩过最大的坑是端口占用。默认端口经常被别的软件占了,导致TTS Server app启动报错。解决办法很简单,启动前用命令行查一下端口,或者直接在配置文件里改个冷门端口,比如从8080改成9090,省得跟其他服务打架。
另外,防火墙也得放行。Windows上经常弹窗问允不允许,一定要点允许,不然本机都访问不了。

拿我最近用的一个开源TTS Server app举例,过程大概是这样:先去项目发布页下载压缩包,解压到一个英文路径下,千万别放中文目录,否则有些模型加载会报错。然后找到启动脚本,Windows下是BAT文件,Linux下是sh文件,双击或者命令行运行。
第一次启动会慢一些,因为它要加载语音模型。这时候别急着关窗口,等它提示“服务已启动”或者出现一个本地地址,比如 http://127.0.0.1:9090 ,就说明成了。把这个地址复制到浏览器里,能看到一个简单的测试页面,输入几个字点合成,能听到声音就大功告成。
如果没声音,先看日志窗口有没有红字报错。常见的是缺模型文件或者缺运行库,按提示补上就行。我遇到过缺一个音频处理库,装完重启TTS Server app就正常了。
想让局域网里其他设备也能用,就把地址里的127.0.0.1换成这台电脑的局域网IP,比如192.168.1.100,然后在手机或者别的电脑上访问这个地址,一样能合成。这一步做完了,你的语音合成服务器就算正式上线了。
跑起来之后,调用方式一般有两种:一种是直接在网页上手动输入文字合成,适合偶尔用用;另一种是通过API接口,让其他程序自动发文字过来。大部分TTS Server app都提供HTTP接口,你只要往那个地址发一个请求,带上文字参数,它就把音频流返回给你。
日常维护没啥特别的,就是定期看看日志,别让硬盘被日志文件塞满。如果长时间不用,可以关掉服务省点电。要是想换声音,就去下载对应的语音模型,替换掉原来的模型文件夹,重启TTS Server app就能换嗓子。
最后说一句,自己搭TTS Server app语音合成服务器最大的乐趣就是可控,想怎么改就怎么改。遇到问题别慌,多半是配置或者路径的小毛病,耐心查查日志基本都能解决。希望这篇指南能帮你少走点弯路,顺利把服务跑起来。