How do you change the voice in Swift Playgrounds?
I have changed the voice for Siri, from American English female to American English male. I would like to use a different voice for the levels. How do you do this?
If you're looking for text-to-speech conversion, it's baked right into iOS thanks to the AVSpeechSynthesizer class and its friends. As you can tell from the "AV" part of its name, you'll need to add AVFoundation to your project, like this:
With that done, you can speak whatever you want. For example, to say "Hello world" in a very slow British accent, use this:
let utterance = AVSpeechUtterance(string: "Hello world")
utterance.voice = AVSpeechSynthesisVoice(language: "en-GB")
utterance.rate = 0.1
let synthesizer = AVSpeechSynthesizer()
You can omit the rate property entirely to have a natural-speed voice, or change the language to "en-US" (English, American accent), "en-IE" (English, Irish accent), "en-AU" (English, Australian accent) or whichever other accents Apple chooses to add in the future.
Look for Voice() function in apple documentation.
Google helps you, Blind Angel!
If memory serves me right, the Swift Playgrounds tutorials use the default system voice for announcements. To change that voice, go to Settings, then Accessibility, then Spoken Content, then Voices. Note that this is different from the voice used by VoiceOver.
I did think it to be changed programmatically.
I’m going to keep this in mind and I’ll be using this when I’m more experienced.
I chose Daniel UK. I LOVE It more than the Samantha voice.