Да, это будет работать, если вы добавите эти две строки.
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
Поскольку голосовой синтезатор является асинхронным кодом, «needsIndefiniteExecution» позволяет продолжить выполнение после достижения конца кода верхнего уровня игровой площадки. Это, в свою очередь, дает потокам и обратным вызовам время для выполнения. ( из документации Apple по поддержке Playground )
Пример:
import AVFoundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
let synth = AVSpeechSynthesizer()
let speech = AVSpeechUtterance(string: "Hello, World!")
speech.voice = AVSpeechSynthesisVoice(language: "en-US")
synth.speak(speech)