使用google translate tts api读取文本
google-speech的Python项目详细描述
谷歌语音
google speech是一个简单的多平台命令行工具,使用google translate tts(文本到语音)api读取文本。
另请参见gTTS,了解类似但可能更高级的、积极维护的projet。
功能
- 支持64种不同的语言
- 可以读取无长度限制的文本
- 可以从标准输入中读取文本
- 播放当前句子时自动预下载下一个句子,以避免句子之间出现长时间停顿
- 自动将下载的数据存储在本地缓存中
- 播放音频时可以将任何SoX effect应用于音频
安装
谷歌语音需要Python>;=3.4。
来自PYPI(带PIP)
- 如果还没有,请使用python 3的install pip
- 安装谷歌语音:
pip3 install google_speech
- 安装SoX,支持MP3。
关于ubuntu和其他debian衍生物:
sudo apt-get install sox libsox-fmt-mp3
。 windows用户可以download binaries on the SoX website,安装后还需要在安装sox的目录中复制libmad DLL,并将此目录添加到path环境变量中。
来源
- 如果还没有,请使用python 3的install setuptools
- 克隆此存储库:
git clone https://github.com/desbma/GoogleSpeech
- 安装谷歌语音:
python3 setup.py install
- 安装SoX,支持MP3。
关于ubuntu和其他debian衍生物:
sudo apt-get install sox libsox-fmt-mp3
。 windows用户可以download binaries on the SoX website,安装后还需要在安装sox的目录中复制libmad DLL,并将此目录添加到path环境变量中。
命令行用法
运行google_speech -h
以获取完整的命令行引用。
示例
飞机失速警报:
google_speech -l en stall -e delay 0.5 overdrive 20 repeat 5 speed 0.9 gain -5
女性机器人声音(创意来自here):
google_speech -l en "Hello, I am a stupid robot voice" -e speed 0.9 overdrive 10 echo 0.8 0.7 6 0.7 echo 0.8 0.7 10 0.7 echo 0.8 0.7 12 0.7 echo 0.8 0.88 12 0.7 echo 0.8 0.88 30 0.7 echo 0.6 0.6 60 0.7
保存到MP3文件:
google_speech -l en -o hello.mp3 "Hello Google, greetings from France !"
在使用bash和pipes的unix系统上,您可以发挥创造性:
巴什问候语:
google_speech -l en "Hello $USER, it is $(date)"
倒计时:
for i in {10..0}; do ( google_speech $i & ); sleep 1s; done
读一个查克·诺里斯的笑话:
curl -s http://api.icndb.com/jokes/random/ | python3 -c 'import html.parser, json, sys; print(html.parser.HTMLParser().unescape(json.load(sys.stdin)["value"]["joke"]))' | google_speech -
python用法
您可以从任何python脚本或模块中使用google_speech
。
示例代码:
from google_speech import Speech
# say "Hello World"
text = "Hello World"
lang = "en"
speech = Speech(text, lang)
speech.play()
# you can also apply audio effects while playing (using SoX)
# see http://sox.sourceforge.net/sox.html#EFFECTS for full effect documentation
sox_effects = ("speed", "1.5")
speech.play(sox_effects)
# save the speech to an MP3 file (no effect is applied)
speech.save("output.mp3")