begin method

Future<void> begin(
  1. String text,
  2. String name,
  3. double speed,
  4. bool normalize,
)

Implementation

Future<void> begin(
  String text,
  String name,
  double speed,
  bool normalize,
) async {
  cancel();
  final voice = _bundle.voices[name];
  if (voice == null || !speed.isFinite || speed <= 0) {
    throw ArgumentError('Invalid voice or speed');
  }
  _voice = _voices[name] ??= kokoroParseVoice(await _read(voice.path), name);
  _speed = speed;
  final misaki = voice.language == KokoroLanguage.americanEnglish ? _us : _gb;
  final phonemes = await _words.phonemize(
    misaki,
    normalize ? normalizeKokoroEnglish(text) : text,
  );
  _phonemes = [
    for (final part in kokoroSplitPhonemes(phonemes))
      if (kokoroPhonemesToIds(part).isNotEmpty) part,
  ];
}