■ねらい:
現場端末で音声メッセージを出す
■使用端末:macOS
pythonでテキストを音声読み上げできるらしい。
Windows11でもmacOSでも動くらしいが、今回はmacOSでやってみた。
■参考出典:
↑出典元さまありがとうございました。
■結果
・ほぼほぼ出典どおりでPCに接続したスピーカーから声がでてきました。
簡単です!ただし、PCが必要です。
・音声切替と読み上げ速度調整において予期せぬ動作不具合が発生した。
注意点1:英語音声データでは日本語を発音できない(当然でした)
注意点2:
読み上げ速度が実行するたびに遅くなっていきました。
速度の現在設定値は覚えていて、差分で指定すると累積されます。
設定値を絶対値で指定すると想定通りに調整できます。
■サンプルコード
# ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
# 音声合成読み上げ
# ライブラリ準備: pip install pyttsx3
# Windows11でもmacOSでも動く
# ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
import pyttsx3
engine = pyttsx3.init()
# 女性音声設定・・・X 日本語はダメ。英語のみは可。
#voices = engine.getProperty('voices')
#engine.setProperty('voice', voices[1].id) #voices[0]男性、[1]女性
# 読み上げ速度設定
rate = engine.getProperty('rate') #initial rate = 200
print("intitial rate = ",rate,type(rate))
engine.setProperty('rate', 200.0)
#engine.setProperty('rate', rate-50)
#↑rateは累積される。絶対値指定するほうが確実である。
# 読み上げ音量設定 ・・・X macOSでは音量設定できない
#volume = engine.getProperty('volume')
#print(volume)
#engine.setProperty('volume', 5.0)
# 速度&音量設定、読み上げ文章設定
text_speech = "こんにちは、音声合成による操作案内です。"
engine.say(text_speech)
#↑日本語文。say()呼出しで指定の音声速度で発声される。
#engine.say("Hello, This is the test for the pyttsx3")
#↑英文の場合。say()呼出しで発声
# 読み上げ実施
engine.runAndWait()
#↑エンジンを実行、渡されたテキストの TTS が完了するまで実行し続ける。
#徐々に読み上げが遅くなるなら、累積になっている。↓ここで確認すること。
#rate2 = engine.getProperty('rate') #initial rate = 200
#print("set rate = ",rate2)
以上