getActiveTts static method

Future<SpeechSynthesizer> getActiveTts({
  1. PreferredBackend? preferredBackend,
})

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:

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,
  );
}