📜  Python|使用 pyttsx3 文本转语音(1)

📅  最后修改于: 2023-12-03 15:04:24.023000             🧑  作者: Mango

Python | 使用 pyttsx3 文本转语音
简介

在开发过程中,有时需要将文本内容转换为语音输出。pyttsx3 是一个强大的Python库,用于将文本转换为语音。 pyttsx3支持多种平台,并且具有可定制的语音合成功能。它使用了多种语音合成引擎,包括SAPI5和nsss。

特点
  • 与多种平台兼容,包括Windows、Linux和MacOS。
  • 支持多种语音合成引擎。
  • 可以调整音量、语速和声音等属性。
  • 支持多种语言和语音。
安装

你可以通过pip包管理器安装 pyttsx3 库:

pip install pyttsx3
用法

导入 pyttsx3 模块:

import pyttsx3

创建 pyttsx3 对象:

engine = pyttsx3.init()

将文本转换为语音并朗读出来:

text = "Hello, World!"
engine.say(text)  # 将文本添加到队列中
engine.runAndWait()  # 播放文本并等待播放结束
属性设置

你还可以使用 pyttsx3 来调整音量、语速和声音等属性:

engine.setProperty('rate', 150)  # 设置语速(默认为200)
engine.setProperty('volume', 0.7)  # 设置音量(范围为0.0到1.0)
voices = engine.getProperty('voices')  # 获取可用的语音列表
engine.setProperty('voice', voices[1].id)  # 设置使用的语音
设置语言

你可以使用 pyttsx3 来设置要使用的语言:

engine.setProperty('voice', 'en-US')  # 设置使用美式英语
engine.setProperty('voice', 'zh-CN')  # 设置使用中文语音
完整示例

以下是一个完整的示例,将给定的文本转换为语音并朗读出来:

import pyttsx3

def text_to_speech(text):
    engine = pyttsx3.init()
    engine.say(text)
    engine.runAndWait()

text_to_speech("Hello, World!")
结论

pyttsx3 是一个强大的 Python 库,可以轻松实现文本转语音的功能。使用 pyttsx3 可以自由调整音量、语速和声音等属性。它在多种平台上都能工作,并支持多种语音合成引擎。无论你是要创建语音助手、语音阅读器还是其他应用程序,pyttsx3 都是一个很好的选择。

注意:如果你在Linux或macOS上遇到问题,可能需要安装所需的语音引擎。详细信息可以在 pyttsx3 的官方文档中找到。