Unexpected AVSpeechSynthesizer behaviour when speaking English characters by a foreign language voice

We are using the AVSpeechSynthesizer to speak sentences in certain languages that may contains characters in different language.


The AVSpeechSynthesizer is speaking sentence that has two parts

1 - Ticket numbers are always in English Ex: A001, XY394, B394, Y111.

2 - The calling sentence could be in any language.

Ex: - Ticket number Y100. (English)


- <Some arabic words>, Y100 (Arabic)


We set the AVSpeechSynthesizer language & voice based on the sentence language.



For example: We use Maged Voice

to speak this sentence: - <Some arabic words> Y100


This used to work fine and the AVSpeechSynthesisVoice could speak the English part (Y100) before tvOS 13 without any issues.

But on Apple TVs with tvOS 13, even on the last update.


The AVSpeechSynthesisVoice is not speaking the English part as expected and as it was before


Though it speaks English words but it is not speaking English characters while it is in another language.


Here is an example code:


    let utterance = AVSpeechUtterance(string: " Y100”)
    utterance.voice = AVSpeechSynthesisVoice(language: “ar”)
    let synthesizer = AVSpeechSynthesizer()
    synthesizer.speak(utterance)


Any idea or workaround on how to fix this?