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了,成功搭建了一个自己的微软文本转语音服务器
(文章是我原本发布在知乎上的,知乎文章删除了,这里做个备份)
相关推荐
最近更新
windows电脑剪贴板内容管理工具Ditto下载,快速粘贴预设文字内容回复话术
和大家分享一个windows电脑剪贴板内容管理神器Ditto,软件可以快速将预设文字内容填充到指定位置。 由于每天都要写大量文字,有时候还是重复内容,频繁到其它地方复制粘贴的话比较耗时间,所以找到了这款软件,首先佩服一下软件作者,这个软件维...
PDF转word软件FreeP2W免安装版下载
这软件还是很早的时候一个用户让做的,发现没分享过,现在分享一下。 软件主要功能就是把PDF文档转换为word文档 软件使用很简单,把需要处理的pdf文档复制到input文件夹内,双击启动软件.exe,等待处理完成即可。 注意事项 软件只支持...

多人对话有声书制作软件VoxCPM Windows版整合包,高质量声音克隆语音合成工具
前几天调试了刚出的omnivoice,本次再分享一个语音合成(TTS)领域的开源天花板——VoxCPM。我基于原版功能增加了多人对话语音合成功能,因为之前分享的时候有用户有多人对话语音合成需求,这次顺便增加了这个功能。 一、 什么是 Vox...

图片/PDF转HTML/Markdown/JSON软件Chandra—— Windows 版一键启动包,免安装部署,可离线
日常工作和学习中,我们经常需要把 PDF 文档或复杂的图片(包含表格、公式、排版)转换成可编辑的文本。传统的 OCR 软件往往对复杂排版和表格无能为力,Chandra 2对于多语言文档处理表现更加优秀。 今天向大家推荐一款基于多模态大模型的...

【免安装/解压即用】支持600+语言的神级TTS!OmniVoice 零样本语音克隆一键整合包发布
今天为大家带来一款基于近期爆火的开源语音大模型项目 OmniVoice 制作的免安装、纯离线、一键启动整合包!小白也能在自己的电脑上轻松体验当前地表最强的零样本语音克隆技术! 🎯 一、 什么是 OmniVoice?它有多强? OmniVoi...

FunASR语音识别转文字软件区分说话人版
FunASR是一款优秀的基础语音识别框架,配合阿里通义团队开发的其它语音识别模型,能够实现非常好语音转文字效果,尤其在中文语音识别方面,鉴于有些用户需要对语音识别内容区分说话人,我重新做了一版区分说话人的版本。软件支持多语言识别,但是还是尽...

windows系统电脑通过WSL2安装OpenClwa实现开机自动启动详细教程
windows系统原生环境下运行openclaw多少还是会遇到点问题,虽然windows原生环境支持使用,但是WSL2仍是官方最推荐的方式。下面是windows系统电脑安装WSL2及OpenClaw详细教程。 安装 WSL2 以管理员身份打...

openclaw AI助手windows电脑安装部署及微信聊天配置详细教程
openclaw是目前最火爆的开源应用,没有之一,它功能强大远超同类应用。以前AI只是你问它答,OpenClaw可以说是有了手,可以帮你做事,做很多事,如果利用的好,绝对是个利器。下面分享一下windows系统电脑本地安装部署教程,有时候可...

Apple苹果3D 高斯(3DGS)模型ply文件生成器,图片转3D模型软件下载
ml-sharp是Apple苹果团队开发的一款3D高斯(3DGS)生成器,可将图片生成3D效果的ply文件。我基于当前最新版本制作了免安装一键启动整合包。 ml-sharp官方介绍 我们提出了 SHARP,这是一种从单张图像进行照片级逼真视...

字节跳动Dolphin图片文档解析工具免安装一键启动整合包下载,PDF转JSON/Markdown软件
本次再分享一个由字节跳动团队开发的一款图片文档解析工具Dolphin,支持解析表格、公式、文本、代码块等元素,支持图片和PDF文档转为Markdown和JSON格式文件,当前为最新发布的V2版本,各项功能效果都得到较大提升。 Dolphin...









