前言

「微软文本转语音」Azure Text to Speech 是一个能将文字转换成真人般自然朗读的云服务,相比同类 TTS 强大之处在于,它借助 AI 神经网络技术,让合成的语音拥有媲美真人的表现力,实现人声语调与情感匹配,朗读时能表现出高兴、悲伤、新闻广播、客服、恐惧、耳语等情感。

可以说是当前我用过的最好的 TTS 工具了。不过服务是付费的,官方开放了一个免费的 在线 DEMO 演示。可以让用户随便输入文字实现在线试听 (但字数有限制,且试听无法保存)。于是,高手们纷纷各显神通,给我们带来了几款如微软语音合成助手、Edge-TTS-record、微软 TTS 下载按钮脚本插件等免费工具,可以帮助你将一大段文字转换成音频导出 mp3 或录制成 wav 保存下来,用于其他地方。

本文使用的是 python 库:edge-tts

安装

1
pip install edge-tts

使用

基本使用

  1. 使用edge-tts 命令
1
edge-tts --text "Hello, world!" --write-media hello.mp3
  1. 使用edge-playback
1
edge-playback --text "Hello, world!"

指定音色

可以使用--list -voices 查看支持的音色

1
edge-tts --list-voices

例如:

1
edge-tts --voice en-US-JennyNeural --text "Hello everyone, nice to see you." --write-media hello.mp3

改变音调、速率、音量

1
2
3
edge-tts --pitch=-10Hz --text "Hello, world!" --write-media hello_with_pitch_down.mp3
edge-tts --rate=0.5 --text "Hello, world!" --write-media hello_with_rate_halved.mp3
edge-tts --volume=50 --text "Hello, world!" --write-media hello_with_volume_halved.mp3

灵感

Todo: 造个轮子,用 flask 做个前端页面自用

其他参考