web-dev-qa-db-ja.com

pyttsx3で音声を変更するにはどうすればよいですか?

このコードは機能していますが、MicrosoftWindowsにプリインストールされているボイスを切り替えることしかできません。これらの声は「MicrosoftDavidMobile」と「MicrosoftZiraMobile」です。

後で「MicrosoftKalpanaMobile」をインストールして、デフォルトのWindows音声として設定しました。それでも「MicrosoftKalpanaMobile」に切り替えることはできません。コードは-

import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id) #changing index changes voices but ony 0 and 1 are working here
engine.say('Hello World')
engine.runAndWait()

voices []内のインデックスとして機能しているのは0と1のみです。

「MicrosoftKalpanaMobile」に話してもらいたい。私はこのプロジェクトに過去2か月間取り組んでいます。これがうまくいかない場合、私のすべての努力はうまくいくでしょう。助けてください:(

前もって感謝します。

3
its_neetesh

このコードを試すことができます:

import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
    print(voice, voice.id)
    engine.setProperty('voice', voice.id)
    engine.say("Hello World!")
    engine.runAndWait()
    engine.stop()

次に、forループの代わりに、好みのvoice.idを選択します。

13

気づいたばかりです。言語を設定するには⇓これは私のデフォルトの言語設定である「ja_JP」です。

import pyttsx3

engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
    print voice
    if voice.languages[0] == u'en_US':
        engine.setProperty('voice', voice.id)
        break

engine.say('Hello World')
engine.runAndWait()

または

voice.name == 'Alex'
2
Polv