Требованием моего приложения является реализация TTS. Я могу использовать следующий code для перебора доступных голосов и выбора одного. Однако все доступные системные голоса очень низкого качества. Нет доступных версий голосов "(Enhanced)". Насколько я понимаю, они есть только на устройстве, если пользователь ранее загрузили и настроили его в своих системных настройках.
Голоса, доступные на устройстве по умолчанию (отображаются для "en-US"):
Как я могу загрузить и упаковать голос более высокого качества с моим приложением, чтобы всегда использовать этот голос при выполнении TTS?
Если это невозможно с помощью AVSpeechSynthesizer()
, существуют ли альтернативные библиотеки Swift, которые могут достичь этой цели?
let voices = AVSpeechSynthesisVoice.speechVoices()
for voice in voices {
if voice.language == "en-US" {
print("Language: \(voice.language), Name: \(voice.name)")
}
}
let desiredVoice = voices.first { $0.name == "Samantha" }
let utterance = AVSpeechUtterance(string: dictionaryEntry.word)
utterance.voice = desiredVoice
Self.synthesizer.speak(utterance)
Language: en-US, Name: Trinoids
Language: en-US, Name: Albert
Language: en-US, Name: Jester
Language: en-US, Name: Samantha
Language: en-US, Name: Whisper
Language: en-US, Name: Superstar
Language: en-US, Name: Bells
Language: en-US, Name: Organ
Language: en-US, Name: Bad News
Language: en-US, Name: Bubbles
Language: en-US, Name: Junior
Language: en-US, Name: Bahh
Language: en-US, Name: Wobble
Language: en-US, Name: Boing
Language: en-US, Name: Good News
Language: en-US, Name: Zarvox
Language: en-US, Name: Ralph
Language: en-US, Name: Cellos
Language: en-US, Name: Kathy
Language: en-US, Name: Fred