Python 将文本转换成语音播放 pyttsx3

Python 将文本转换成语音播放 pyttsx3

目录

Python 将文本转换成语音播放 pyttsx3

1. 安装

2. 使用

3. 封装

Pyttsx3 是一个 Python 库,它提供了文本到语音(Text-to-Speech,TTS)转换的功能。这个库允许 Python 程序通过调用本地计算机上的语音合成引擎来生成语音输出。

Pyttsx3 的主要特点包括:

  1. 平台无关性:Pyttsx3 可以在 Windows、macOS 和 Linux 等多种操作系统上运行。

  2. 多语言支持:Pyttsx3 支持多种语言的语音合成,具体支持的语言取决于你的操作系统和安装的语音数据。

  3. 多引擎支持:Pyttsx3 可以与多种语音合成引擎一起使用,例如 Microsoft 的 SAPI5 或 NSSpeechSynthesizer(仅限 macOS)。

  4. 属性控制:你可以控制语音的速度、音量和音调等属性,使语音输出更自然、更有表现力。

  5. 事件处理:Pyttsx3 允许你设置回调函数来处理语音合成过程中的事件,如开始说话、暂停、恢复和结束等。

  6. 简单易用:Pyttsx3 提供了一个简洁的 API,使得在 Python 中实现文本到语音的转换变得非常简单。

1. 安装

可以通过pip命令轻松安装pyttsx3库。在命令行中输入以下命令即可安装:

pip install pyttsx3

2. 使用

import pyttsx3

# 初始化 TTS 引擎
engine = pyttsx3.init()

# 设置语音属性
engine.setProperty('rate', 150)  # 语速设为每分钟 150 个单词
engine.setProperty('volume', 0.8)  # 音量设为 80%

# 将文本转换为语音并播放
engine.say('Hello, how are you?')
engine.runAndWait()

3. 封装

import pyttsx3
class TextToSpeech:
    def __init__(self):
        self.converter = pyttsx3.init()
        self.converter.setProperty('rate', 150)
        self.converter.setProperty('volume', 0.7)

    def say(self, text):
        self.converter.say(text)
        self.converter.runAndWait()

if __name__ == "__main__":

    tts = TextToSpeech()
    user_input = input("请输入要转换为语音的文本:")
    tts.say(user_input)

你可能感兴趣的:(Python学习,语音识别,人工智能,python,自然语言处理)