trackSynthesis method

void trackSynthesis({
  1. required String voiceId,
  2. required int textLength,
  3. required int audioDurationMs,
  4. required int latencyMs,
  5. String? modelName,
  6. int? sampleRate,
  7. int? audioSizeBytes,
})

Track speech synthesis

Implementation

void trackSynthesis({
  required String voiceId,
  required int textLength,
  required int audioDurationMs,
  required int latencyMs,
  String? modelName,
  int? sampleRate,
  int? audioSizeBytes,
}) {
  // Calculate characters per second
  final charactersPerSecond = latencyMs > 0
      ? (textLength / latencyMs) * 1000
      : null;

  track(
    'synthesis_completed',
    category: TelemetryCategory.tts,
    properties: {
      'model_id': voiceId, // Use voice ID as model ID for TTS
      'voice_id': voiceId,
      'model_name': modelName,
      'text_length': textLength,
      'character_count': textLength, // Alias for backend compatibility
      'audio_duration_ms': audioDurationMs,
      'output_duration_ms': audioDurationMs, // Alias for TTS backend field
      'latency_ms': latencyMs,
      'sample_rate': sampleRate,
      'characters_per_second': charactersPerSecond,
      'audio_size_bytes': audioSizeBytes,
    },
  );
}