如何用python实现文本转语音功能

首先,安装python第三方库: pip install gTTS

gTTS(Google Text-to-Speech), 这个库是Google的Text-to-Speech API的一个接口,提供了一种简单的方式来生成听起来自然的语言,gTTS支持多种语言和方言,使得它能够广泛用于多语言应用程序中。

ini 复制代码
# 导入gTTS库, 用于文本到语音的转换
from gtts import gTTS
import os


# 定义文本到语音转换的函数
def text_to_speech(text, lang='zh-cn'): # 默认设置为中文语言
    # 使用gTTS创建语音对象,需要传入文本和语言代码
    tts = gTTS(text=text, lang=lang)
    # 定义保存语音文件的文件名,这里保存在当前目录下
    filename = 'speech.mp3'
    # 保存语音文件
    tts.save(filename)
    # 返回保存的文件名,以便后续使用
    return filename


# 示例文本,这里是一段中文文本
text = "大家好,我是一个程序员"
# 调用text_to_speech函数,将文本转换为语音,并指定使用中文
filename = text_to_speech(text, 'zh-cn')
# 打印出保存的文件路径,确认文件已经生成
print(f"Generated speech saved to {filename}")
os.system("start speech.mp3")

将所需要转换的所有文本写入text.txt文件中,并放在当前文件目录下,使用gTTS转换成语音:

python 复制代码
# 导入gTTS库
from gtts import gTTS
import os

# 要转换的文本

with open("text.txt", "r") as f:
    text = f.read()
# 创建gTTS对象,指定文本和语言
tts = gTTS(text, lang='zh')

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

# 播放音频文件
os.system("start output.mp3")

遇到的一些问题:

gtts.tts.gTTSError: Failed to connect. Probable cause: Unknown

报错解释:

gtts.tts.gTTSError: Failed to connect. Probable cause: Unknown 这个错误来自 gTTS 库,这通常表示在尝试连接到一个服务(例如文本转语音服务)时失败了。具体原因未知,可能是网络问题、服务不可用、错误的服务地址或其他未知原因。

解决方法:

  1. 检查网络连接:确保你的设备可以正常访问互联网。
  2. 服务状态:检查相关的在线文本转语音服务是否正常运行,比如 Google 的文本转语音服务。
  3. 更新库:确保你的 gTTS 库是最新版本,可以通过pip进行更新。
  4. 代理设置:如果你在使用代理,确保代理设置正确。
  5. 服务地址:检查 gTTS 库是否使用了正确的服务地址。

分析一下最有可能是网络问题导致的,可以多试几次。

相关推荐
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】表盘指针检测系统源码和数据集:改进yolo11-CA-HSFPN
python·yolo·计算机视觉·数据集·yolo11·表盘指针检测
larance1 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
搏博2 小时前
基于Python3.10.6与jieba库的中文分词模型接口在Windows Server 2022上的实现与部署教程
windows·python·自然语言处理·flask·中文分词
lxmyzzs3 小时前
pyqt5无法显示opencv绘制文本和掩码信息
python·qt·opencv
萧鼎4 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
yujkss5 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910135 小时前
小程序开发APP
开发语言·人工智能·python·yolo
飞翔的佩奇5 小时前
【完整源码+数据集+部署教程】二维码与查找模式检测系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·二维码与查找模式检测
大霞上仙5 小时前
实现自学习系统,输入excel文件,能学习后进行相应回答
python·学习·excel
Caven775 小时前
【pytorch】reshape的使用
pytorch·python