首页
读书
网课
《人工智能》目录


正文

pyttsx3:语音转换,效果不很自然


# pyttsx3 是一个强大的文本到语音(Text-to-Speech,TTS)转换库

# pyttsx3 是一个基于 pyttsx 的库,

# 它使用 SAPI5 (仅限Windows), NSSpeechSynthesizer (仅限macOS) 和 espeak 作为后端来实现文本到语音的转换。

# 这意味着 pyttsx3 可以在不同的操作系统上工作,并且支持多种语言。

# say(text): 将文本添加到队列中等待转换。

# runAndWait(): 同步执行队列中的所有文本。

# stop(): 停止当前的语音输出。

# save_to_file(text, file): 将文本转换为语音并保存到文件


import pyttsx3 # 初始化引擎

# 以下代码可以更改语音引擎,可以选择不同的语音引擎来调用播放功能。

# engine = pyttsx3.init('espeak')

engine = pyttsx3.init() # 将文本转换为语音

# 设置语音属性

rate = engine.getProperty('rate')  # 语速

# 一般范围一般在0~500之间

engine.setProperty('rate', 150)  # 语速

volume = engine.getProperty('volume',)  # 音量,范围从0到1 范围在0~1之间

engine.setProperty('volume', 0.9)  # 音量,范围从0到1

voices = engine.getProperty('voices') # 男性(voices[0].id)、女性(voices[1].id)

current_voices = engine.getProperty('voice')

# engine.setProperty('voice', voices[1].id)

# engine.setProperty('voice', voices[1].id)

# 设置语言

engine.setProperty('language', "en")


engine.setProperty('voice', 'com.apple.speech.synthesis.voice.Alex')  # macOS上的语音类型

engine.say('你好,我们是好朋友吗?') # 运行引擎


engine.save_to_file("Hello World!!!",'./abc.wav') # 把语音存储到文件

# engine.save_to_file("Hello World!!!",'~/abc.mp3') # 把语音存储到文件

engine.runAndWait() #该方法用于运行并等待语音引擎完成播放任务。

# engine.runAndWaitAsync() #该方法用于异步播放语音内容。

# engine.stop()


# 定义语音助手的回应函数

def respond(text):

    print("助手:", text)

    engine.say(text)

    engine.runAndWait()



上一篇: 没有了
下一篇: 没有了
圣贤书院