How do you change the voice in Swift Playgrounds?

iOS and iPadOS

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?



Submitted by zeirus-fr on Thursday, June 24, 2021

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:
import AVFoundation
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.

From internet.

Look for Voice() function in apple documentation.
Google helps you, Blind Angel!


Submitted by dvdmth on Monday, June 28, 2021

Club AppleVis Member

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.