How do you change the voice in Swift Playgrounds?

By Blind angel 444, 23 June, 2021

Forum
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?
Thanks

Options

Comments

By Unregistered User (not verified) on Friday, June 25, 2021 - 08:05

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()
synthesizer.speak(utterance)
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!

Cheers!

By dvdmth on Friday, June 25, 2021 - 08:05

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.

By Blind angel 444 on Friday, June 25, 2021 - 08:05

In reply to by Unregistered User (not verified)

I’m going to keep this in mind and I’ll be using this when I’m more experienced.