{ "title": "史上最强语音合成工具(基于EdgeTTS)", "category": "技术", "author": "ZX", "time": "2023-01-30", "background": "/img/11.webp" }
Edge浏览器的大声朗读功能可以算是目前效果最好的语音合成了,然其音频文件难以保存。传统的方式是在朗读的过程中通过声卡录制,这样不仅低效而且容易受到网络波动的影响。也有python写的开源edge-tts脚本,但不适用于长文本的高效合成。
本项目基于https://github.com/jing332/tts-server-go/开发,源码https://github.com/ZX-11/edgetts-cli。程序支持任意长度的文本,支持任意输出音频格式(配合ffmpeg),支持并行抓取,支持断点续传。
Windows用户可以直接下载可执行文件使用,下载后将压缩包解压,并将可执行文件加入到PATH即可:
Linux用户可以通过脚本构建(需要安装go):
# for debian users
apt install golang ffmpeg
# for archlinux users
pacman -S go ffmpeg
curl https://fastly.jsdelivr.net/gh/ZX-11/edgetts-cli@main/build.sh | sh
选项说明:
edgetts -h
使用示例:
edgetts -i text.txt -o out.ogg
edgetts -i text.txt -o out.ogg -parallel 4
edgetts -i text.txt -voice zh-CN-YunyangNeural -o out.ogg
edgetts -i text.txt -rate fast -o out.ogg
edgetts -i text.txt -convert -o out.mp3
edgetts -i text.txt -voice zh-CN-XiaoshuangNeural -rate slow -convert -o out.m4a -parallel 4
常见报错处理:
ffmpeg not found
:请确认edgetts可执行文件同目录下存在ffmpeg-min可执行文件external ffmpeg not found
:请确认ffmpeg可执行文件位于PATH中Invalid utf-8 sequence
:请将文件从GBK编码转换为UTF-8编码,最简单的方式是用记事本打开后另存为,编码选择UTF-8
Too long for line xxx
:某段文字过长,需要适当换行分割请合理使用该工具,切勿滥用导致接口失效,日常还是建议尽量在Edge浏览器中使用该功能。