微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法使用pyttsx3模块更改声音!任何索引都只返回DAVID

如何解决我无法使用pyttsx3模块更改声音!任何索引都只返回DAVID

我正在尝试构建虚拟助手。我需要一个叫做PaulM的声音,它存在于我的注册表中。但是任何索引都只返回DAVID声音给我,甚至没有ZIRA或其他任何声音。

import pyttsx3
import datetime
import speech_recognition as sr

engine = pyttsx3.init('sapi5')

voices = engine.getProperty('voices')
engine.setProperty('voices',voices[2].id)
i=0
while i<5:
    print(voices[i].id)
    i += 1
rate = engine.getProperty('rate')
engine.setProperty('rate',150)

volume = engine.getProperty('volume')
engine.setProperty('volume',0.5 )

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

def wishMe():
    hour = int(datetime.datetime.Now().hour)
    if hour>=0 and hour<12:
        speak('Good morning')
    elif hour>=12 and hour<18:
        speak("Hi there,Good Afternoon")
    else:
        speak("Hi there,Good Evening")

if __name__ == "__main__":
    wishMe()
    speak("Good morning and thank you for one more day of kNowing me to the core but still not leaving me. You’re a good friend indeed!")
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-GB_HAZEL_11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_frFR_PaulM
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_FR-FR_HORTENSE_11.0

解决方法

这不依赖于pyttsx3。声音来自“ sapi5”。因此,请确保从-https://www.microsoft.com/en-us/download/details.aspx?id=10121下载最新版本的sapi5。如果您的计算机已预先安装了sapi5,则由于声音已更改,因此您需要检查计算机的年代到2,但是并不总是一样。以前只有大卫。 HTH

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。