godot-tts/TTS.gd

53 lines
1.0 KiB
GDScript3
Raw Permalink Normal View History

tool
2019-09-24 19:21:05 +00:00
extends Node
const TTS = preload("godot-tts.gdns")
var tts = null
func _ready():
# Only initialize TTS if it's available or if we're in the editor.
if TTS.can_instance() or Engine.editor_hint:
print_debug("Attempting to load TTS.")
tts = TTS.new()
else:
print_debug("TTS not available!")
2019-09-27 18:07:35 +00:00
func set_rate(rate):
if tts != null:
tts.rate = rate
2019-09-27 18:07:35 +00:00
func get_rate():
if tts != null:
return tts.rate
else:
return 0
2019-09-27 18:07:35 +00:00
var rate setget set_rate, get_rate
func speak(text, interrupt := true):
print_debug("%s: %s" % [text, interrupt])
if tts != null:
tts.speak(text, interrupt)
func stop():
if tts != null:
tts.stop()
func get_is_rate_supported():
if tts != null:
return tts.is_rate_supported()
else:
return false
var is_rate_supported setget , get_is_rate_supported
func singular_or_plural(count, singular, plural):
if count == 1:
return singular
else:
return plural
2019-12-23 00:09:40 +00:00
func _exit_tree():
tts.free()