getActiveTts static method
Get the active TTS model as a ready-to-use SpeechSynthesizer
Returns a SpeechSynthesizer configured with runtime parameters. The bundle paths come from the active TtsModelSpec.
Runtime parameters:
preferredBackend: CPU or GPU preference (optional)
Throws:
- StateError if no active TTS model is set
Example:
// Install TTS model first
await FlutterGemma.installTts()
.fromNetwork('https://example.com/matcha/')
.ofType(TtsModelType.matcha)
.install();
// Create with default backend
final synthesizer = await FlutterGemma.getActiveTts();
Implementation
static Future<SpeechSynthesizer> getActiveTts({
PreferredBackend? preferredBackend,
}) async {
final manager = FlutterGemmaPlugin.instance.modelManager;
final activeSpec = manager.activeTtsModel;
if (activeSpec == null) {
throw StateError(
'No active TTS model set. Use FlutterGemma.installTts() first.',
);
}
if (activeSpec is! TtsModelSpec) {
throw StateError(
'Active model is not a TtsModelSpec. '
'Expected TtsModelSpec, got ${activeSpec.runtimeType}',
);
}
// Create SpeechSynthesizer using active spec (paths resolved automatically)
return await FlutterGemmaPlugin.instance.createTtsModel(
preferredBackend: preferredBackend,
);
}