github上有很多优秀的文本转语音开源程序,比如tts等,但是那些使用起来还是有些麻烦的,比如一种语言只有一个声音,虽然可以自己训练,但是操作起来也是有些麻烦的,比如我现在的需求是不需要自己定制声音,而且还能有多重声音可选,那这样的话微软edge-tts无疑是最佳选择,默认的中文就包含了14种声音,其中有普通话有粤语等。而且edge-tts安装起来也非常简单,非常适合我们新手操作。
github链接:https://github.com/rany2/edge-tts
一、安装
环境要求python>=3.7
Linux服务器先安装Python环境,这里以Python3.11.8为例,先运行安装更新命令,没有sudo先安装sudo,如果有sudo这步可以跳过。
apt-get update
apt-get install sudo
已安装有sudo,先更新,再安装相关依赖,命令如下,
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
然后下载Python3.11.8,命令如下
wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tar.xz
解压压缩包
tar -xf Python-3.11.8.tar.xz
进入Python目录,编译并安装
cd Python-3.11.8
./configure –enable-optimizations
make -j `nproc`
sudo make install
安装TTS
安装命令
pip install edge-tts
输出successfully就表示安装完成了,可以输入edge-tts试试看看有没有输出相关信息。

二、使用
edge-tts –text “Hello, world!” –write-media hello.mp3 –write-subtitles hello.vtt
使用上面命令即可将文本“Hello, world”转换成语音并保存为hello.mp3文件,并生成字幕文件hello.vtt,使用的声音是默认声音,
想更换其它声音的话,可以输入
edge-tts -l
查看支持的所有声音,其中中文声音为zh开头的,
Name: zh-CN-XiaoxiaoNeural
Gender: Female
Name: zh-CN-XiaoyiNeural
Gender: Female
Name: zh-CN-YunjianNeural
Gender: Male
Name: zh-CN-YunxiNeural
Gender: Male
Name: zh-CN-YunxiaNeural
Gender: Male
Name: zh-CN-YunyangNeural
Gender: Male
Name: zh-CN-liaoning-XiaobeiNeural
Gender: Female
Name: zh-CN-shaanxi-XiaoniNeural
Gender: Female
Name: zh-HK-HiuGaaiNeural
Gender: Female
Name: zh-HK-HiuMaanNeural
Gender: Female
Name: zh-HK-WanLungNeural
Gender: Male
Name: zh-TW-HsiaoChenNeural
Gender: Female
Name: zh-TW-HsiaoYuNeural
Gender: Female
Name: zh-TW-YunJheNeural
Gender: Male
比如我们使用zh-CN-XiaoxiaoNeural这个女性角色声音生成中文语音,语速,音量都为默认,音调为50Hz,可以使用如下命令:
edge-tts –voice zh-CN-XiaoxiaoNeural –rate=-0% –volume=-0% –pitch=-50Hz –text “大家好,这里是微软文本转语音测试” –write-media 123.mp3
生成语音的同时还会生成字幕,对于做视频的人来说真的是太方便了。
三、API调用
使用Python的fastapi库做一个post接口,如下tts.py文件:
import uvicorn import edge_tts import asyncio from fastapi import FastAPI, Request, Body app = FastAPI() @app.post(“/api/tts”) async def post_data(text: str = Body(”, title = ‘文本内容’, embed = True), voice: str = Body(”, title = ‘选择声音’, embed = True), name: str = Body(”, title = ‘文件名’, embed = True), rate: str = Body(”, title = ‘语速’, embed = True), pitch: str = Body(”, title = ‘音调’, embed = True), volume: str = Body(”, title = ‘音量’, embed = True)): output = “/home/work/tts/result/” + name + “.mp3” tts = edge_tts.Communicate(text = text, voice = voice, rate = rate, pitch = pitch , volume=volume) await tts.save(output) return {“message”: output} if __name__ == ‘__main__’: uvicorn.run(‘tts:app’, host = ‘0.0.0.0’, post = 80)
注意,你需要先查看一下你服务器上是否安装了uvicorn ,asyncio, fastapi等库,以及单独的ffmpeg功能
sudo apt-get install ffmpeg
output = “/home/work/tts/result/” + name + “.mp3″这句是生成最后的音频文件,注意你服务器上有没有/home/work/tts/result/这些文件夹,或是有没有权限创建,否则会报错。
创建启动文件 tts.sh:
使用nohup后台启动运行服务
–host 0.0.0.0表示允许任何用户可以访问这个api服务,
–port80是访问端口(可以修改,但是注意你服务器是否开放该端口)
nohup uvicorn tts:app –host 0.0.0.0 –port 8080>../tts/tts.log &
修改tts.sh文件为可执行文件:
chmod 777 tts.sh
启动服务
./tts.sh
API测试


OK了,成功搭建了一个自己的微软文本转语音服务器
(文章是我原本发布在知乎上的,知乎文章删除了,这里做个备份)
相关推荐
最近更新

多图编辑人物一致性图片合成处理工具Qwen-Image-Edit-2509整合包下载,人物换装换姿势动作软件
Qwen-Image 是一个功能强大的图像生成基础模型,能够进行复杂的文本渲染和精确的图像编辑。Qwen-Image-Edit-2509是Qwen-Image-Edit的月度更新版本,增加了多图编辑和单图一致性生成功能。 Qwen-Imag...
摸鱼神器windows电脑隐藏任务栏软件图标工具rbtray下载
本次和大家分享一个摸鱼神器rbtray。 windows电脑软件运行的时候会在屏幕底部的任务栏上有一个软件图标,如果你开了哪个软件又不想被别人看到你正在运行这个软件的话,那么这个神器rbtray就非常适合你了。 rbtray可以快速将软件图...

副业收入超主业,任推邦:不扣量的项目拉新平台,邀请码:472370
和大家分享一个非常棒的副业项目做单平台:任推邦>>。平台里有非常多的热门拉新项目,项目产品都是抖音、百度、阿里等国内一线大厂的主要APP,信誉有保证,而且大厂推广资金比较充足,项目收益极高。部分项目有大佬一周收益都能达到10万+...

人物动作迁移及视频人物替换软件Wan2.2-Animate-14B整合包下载,动作模仿视频换主体工具在线一键启动
本次和大家分享一个非常强大的动作模仿及视频人物替换工具Wan2.2-Animate-14B,Wan-Animate接受一个视频和一个角色图像作为输入,并生成一个动作模仿或人物替换的视频,视频自然流畅,可玩性非常高。 Wan2.2-Anima...

无限长度的数字人对话视频生成软件InfiniteTalk整合包,图像转视频、视频配音对口型工具
InfiniteTalk是一款发布不久的数字人视频制作软件,软件可以通过音频驱动将一张图片合成为一段视频,或是将视频与音频整合成一段新视频,实现音频唇形同步,是一个非常强大的对口型工具。 InfiniteTalk官方介绍 我们提出了一种新颖...
UV包管理器用法基础教程
UV是一个用 Rust 编写的高性能工具,旨在替代 Python 传统的包管理工具链,速度比 pip 和 Conda 快数十甚至上百倍。 安装 uv 你可以通过一条命令安装 uv: 安装后,...

一句话编辑图片工具OmniGen2整合包下载,输入文本快速P图
和大家分享一个高效强大的一句话P图软件OmniGen2,这个软件可以通过输入一段描述词然后直接对图片内容进行修改,就像PS修图一样,但是操作起来更简单方便。我基于当前最新版本制作了windows版免安装一键启动整合包。 OmniGen2官方...

Wan2.2-S2V-14B:音频驱动图片转视频生成本地整合包及在线一键启动
Wan2.2-S2V-14B是阿里通义团队开源的一个视频生成模型,可以通过音频驱动将图片合成为一段人物讲话视频,人物讲话内容就是音频素材内容。同时支持cosyvoice声音克隆的文字转语音合成。 Wan2.2-S2V-14B官方介绍 Wan...
pixi包管理器简易教程系列:pypi方法安装pytorch
pytorch可以从conda-forge安装,也可以从Pypi安装,看到目前官方页面上安装命令里已经不提供conda的安装命令了,只有pip命令,所以这里用pypi方式安装。 打开项目文件夹内的pixi.toml文件,添加下面命令要求 执...
pixi包管理器简易教程系列:入门之创建项目及激活虚拟环境
pixi是新一代包管理和环境管理工具,安装python依赖包非常快,用了几次感觉还不错,记录一下个人学习使用pixi的一些经验。 Linux系统安装pixi方法 或是 wget -qO- https://pixi.sh/install.sh...










