getAvailableVoices function
Get all available voices for a language
Implementation
Map<String, List<VoiceOption>> getAvailableVoices(
String langCode, {
String provider = 'deepgram',
}) {
final normalized = normalizeLanguageCode(langCode);
final providerLower = provider.toLowerCase();
if (providerLower == 'azure') {
final langVoices = azureNeuralVoices[normalized];
if (langVoices == null) return {'male': [], 'female': []};
List<VoiceOption> toOptions(List<String>? ids, VoiceGender gender) {
return ids
?.map((id) => VoiceOption(
id: id,
name: id,
gender: gender,
provider: 'azure',
language: normalized,
))
.toList() ??
[];
}
return {
'male': toOptions(langVoices['male'], VoiceGender.male),
'female': toOptions(langVoices['female'], VoiceGender.female),
};
}
return _getStaticVoices(provider);
}