TextToSpeechRepository

OS標準の音声合成(TTS)で任意のテキストを読み上げるRepository。

LMUフラッグの自由文字列や、ラップタイムなどの動的な文言をOSのTTSで読み上げる。 開始音のWAV再生は :core:narrator が担当する。 実装はWindows(デスクトップ)とAndroidのみで、それ以外のプラットフォームでは isAvailable が false を返すNo-Op実装にフォールバックする。

Functions

Link copied to clipboard
abstract suspend fun isAvailable(): Boolean

このプラットフォームでTTSが利用できるかどうか。エンジンの初期化を伴う場合がある。

Link copied to clipboard
abstract suspend fun speak(text: String, queue: Boolean = false, volume: Int = 100, voiceId: String = VOICE_ID_UNSPECIFIED, speed: Float = VOICE_SPEED_DEFAULT, pitch: Float = VOICE_PITCH_DEFAULT, audioUsage: AndroidAudioUsage? = null)

text を読み上げる。実装は読み上げが実際に完了する(またはコルーチンのキャンセルで 打ち切られる)まで suspend すること。:core:narrator の NarratorEngine は開始音と同じ コルーチン上で完了・優先度判定・割り込みを扱う前提でこのRepositoryを呼び出すため、 即座に返ってしまうと読み上げ中に次のイベントの音声が重なって再生されてしまう。

Link copied to clipboard

TTSが利用できない理由。利用できる場合は null。