func speakText(_ text: String) {
synthesizer.stopSpeaking(at: .immediate)
let utterance = AVSpeechUtterance(string: text)
// Get all available voices
let voices = AVSpeechSynthesisVoice.speechVoices()
// Filter for British English voices and prefer enhanced quality
if let britishVoice = voices.first(where: { voice in
voice.language == "en-GB" &&
voice.quality == .enhanced // Premium quality if available
}) {
utterance.voice = britishVoice
} else if let britishVoice = voices.first(where: { $0.language == "en-GB" }) {
utterance.voice = britishVoice
} else {
// Fallback to language code
utterance.voice = AVSpeechSynthesisVoice(language: "en-GB")
}
// Natural speech settings
utterance.rate = 0.20 // Slightly slower than default for clarity
// utterance.pitchMultiplier = 1.05 // Slight pitch variation
utterance.volume = 0.95
synthesizer.speak(utterance)
}
Но это звучит крайне механистично. Существуют ли какие-либо библиотеки, которые разработчики могут интегрировать в свои приложения для генерации речи из текста?
Я работаю над приложением, которое должно включать преобразование текста в речь. Сейчас я использую тот, который поставляется с iOS: [code]func speakText(_ text: String) { synthesizer.stopSpeaking(at: .immediate)
let utterance = AVSpeechUtterance(string: text)
// Get all available voices let voices = AVSpeechSynthesisVoice.speechVoices()
// Filter for British English voices and prefer enhanced quality if let britishVoice = voices.first(where: { voice in voice.language == "en-GB" && voice.quality == .enhanced // Premium quality if available }) { utterance.voice = britishVoice } else if let britishVoice = voices.first(where: { $0.language == "en-GB" }) { utterance.voice = britishVoice } else { // Fallback to language code utterance.voice = AVSpeechSynthesisVoice(language: "en-GB") }
synthesizer.speak(utterance) } [/code] Но это звучит крайне механистично. Существуют ли какие-либо библиотеки, которые разработчики могут интегрировать в свои приложения для генерации речи из текста?