convert method
Converts text into exact phoneme output and optional token details.
Implementation
@override
G2pResult convert(String text) {
final preprocessed = preprocessInput
? const EnglishInlinePreprocessor().preprocess(text)
: EnglishPreprocessResult(
text: text,
sourceWords: const <String>[],
controls: const <int, EnglishInlineControl>{},
);
final tokenized = _tokenize(preprocessed);
final folded = foldEnglishTokenHeads(
tokenized,
unknownMarker: unknownMarker,
);
final items = retokenizeEnglishTokens(folded);
final resolved = _resolve(items);
final finalTokens = <MisakiToken>[
for (final item in resolved)
switch (item) {
EnglishRetokenizedToken(:final token) => token,
EnglishRetokenizedGroup(:final tokens) => mergeEnglishTokens(
tokens,
unknownMarker: unknownMarker,
),
},
];
return renderEnglishTokens(
finalTokens,
version: phonemeVersion,
unknownMarker: unknownMarker,
);
}