👄
GodotでOS標準の読み上げ機能を使って無駄に喋らせる
Godot Engineで‥‥‥表題の通りです。
さっそくコード
func _ready() -> void:
var voices:PackedStringArray = DisplayServer.tts_get_voices_for_language("ja")
var voice_id:String = voices[0]
var speach_text:String = "ゲームを開始します。"
DisplayServer.tts_speak(speach_text, voice_id)
当然ですが、毎フレーム呼ぶようなことはしたらだめです。
止めたいときは‥‥‥
DisplayServer.tts_stop()
とすると止まります。
読み上げが終わっても止まると思います。
⚠️注意
- スペック次第で
tts_speakとtts_stopを呼び出す際に遅延が発生しますので、そのつもりで使う事 - Windowsだと割と快適に動作しますが、他のOSはわかりません。
活用法
視覚障害の方に向けてのスクリーンリーダーに利用できると思いますが、個人開発では大変ですよね。
ただ、仕込むのはめっちゃ楽ですので、使ってみても良いと思います。
無暗にウチのあの子をしゃべらせてみたりとかできます。無機質に喋ります。
楽しいGodot Lifeを🎉
Discussion
macOS でも動きましたよ。
よかった!