1. 概述

gTTS(Google Text-to-Speech)是一个 Python 库,用于调用 Google Translate 的文本转语音(TTS)API,将文本转换为语音并保存为音频文件(如MP3)。它基于 Google 的 TTS 引擎,支持多种语言和发音选项。


2. 主要特性

免费使用(但有请求频率限制)
支持100+种语言和方言(如英语、中文、西班牙语等)
可调节语速(speed)(快/慢)
简单易用的 Python API
输出格式支持 MP3 或 OGG
需要联网(依赖 Google TTS 服务)
不适合大规模商用(可能被限流或封禁)


3. 安装方法

使用 pip 安装:

pip install gTTS

4. 基本用法

(1) 文本转语音并保存为MP3

from gtts import gTTS

# 要转换的文本
text = "你好,欢迎使用Google文本转语音服务。"

# 创建TTS对象(中文:zh-CN,英文:en)
tts = gTTS(text=text, lang='zh-CN', slow=False)

# 保存为MP3文件
tts.save("output.mp3")

参数说明

  • text:要转换的文本(字符串)
  • lang:语言代码(如 'zh-CN''en''es'
  • slow:是否慢速发音(False=正常,True=慢速)

(2) 播放生成的语音(使用Python)

import os

# 在Windows上播放
os.system("start output.mp3")

# 在Mac上播放
os.system("afplay output.mp3")

# 在Linux上播放
os.system("mpg123 output.mp3")

(3) 直接流式播放(不保存文件)

from gtts import gTTS
import io
from pydub import AudioSegment
from pydub.playback import play

text = "Hello, this is a test of Google TTS."
tts = gTTS(text=text, lang='en')

# 将语音数据存入内存
mp3_fp = io.BytesIO()
tts.write_to_fp(mp3_fp)
mp3_fp.seek(0)

# 用pydub播放
audio = AudioSegment.from_file(mp3_fp, format="mp3")
play(audio)

(需安装 pydubffmpeg


5. 支持的语言列表

gTTS 支持 100+ 种语言,部分常用语言代码:

语言 代码
英语(美国) 'en'
中文(普通话) 'zh-CN'
中文(粤语) 'zh-TW'
西班牙语 'es'
法语 'fr'
德语 'de'
日语 'ja'
韩语 'ko'
俄语 'ru'

完整支持列表可参考 Google TTS 语言代码


6. 高级用法

(1) 调整语速

tts = gTTS(text="This is a speed test.", lang='en', slow=False)  # 正常速度
tts = gTTS(text="This is a slow test.", lang='en', slow=True)    # 慢速

(2) 使用代理(防止请求被屏蔽)

import requests

# 设置代理
proxies = {
    'http': 'http://your-proxy-ip:port',
    'https': 'http://your-proxy-ip:port'
}

# 在gTTS请求中使用代理
tts = gTTS(text="Hello with proxy.", lang='en')
tts.save("proxy_output.mp3", proxies=proxies)

(3) 批量转换文本

texts = ["First sentence.", "Second sentence.", "Third sentence."]
for i, text in enumerate(texts):
    tts = gTTS(text=text, lang='en')
    tts.save(f"output_{i}.mp3")

7. 限制与替代方案

gTTS 的限制

请求频率受限(Google 可能会封禁高频访问)
无法自定义语音风格(如男声/女声选择)
商用需谨慎(违反 Google TOS 可能被封)

替代方案

方案 特点
pyttsx3 离线TTS,依赖系统语音引擎(如Windows SAPI)
Edge TTS 微软Edge的免费TTS(支持神经语音)
Google Cloud TTS 官方API(付费,但更稳定)
Amazon Polly AWS的高质量TTS(付费)
Festival/Espeak Linux开源TTS(语音质量一般)

8. 总结

gTTS 适合

  • 个人项目、小型实验
  • 快速生成语音文件
  • 多语言TTS需求

不适合

  • 高并发商用场景
  • 需要高定制化语音的场合

如果需要更稳定的服务,建议使用 Google Cloud TTSMicrosoft Azure TTS 等商业API。

希望这份详细介绍对你有帮助!如果有进一步问题,欢迎讨论。 🚀

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐