iphonesafarispeech-synthesisios16webspeech-api

iOS 16 Poor SpeechSynthesisUtterance voice quality


since iOS 16 update my vocabulary app (PWA) has problems with spelling provided text to SpeechSynthesisUtterance object. It doesn't apply to all languages, eg. Russian sounds the same like before update to iOS 16. If it comes to German or English - the quality is very low, muffled, the voice sounds nasal... For MacOS Safari everything works as supposed to, but not for iOS 16.

const fullPhrase = toFullPhrase(props.phrase);
const utterance = new SpeechSynthesisUtterance();

onMounted(() => { // Vue lifecycle method
  utterance.text = fullPhrase;
  utterance.lang = voice.value.lang;
  utterance.voice = voice.value;
  utterance.addEventListener(ON_SPEAK_END, toggleSpeakStatus);
});

I tried to modify pitch and rate properties but without success... Did they change API for SpeechSynthesis / SpeechSynthesisUtterance for Safari in iOS 16 maybe?


Solution

  • It looks like IO16 introduced a lot of new (sometimes very weird) voices for en-GB and en-US. In my case I was looking for a voice only by a lang and taking the first one. As a result I was getting a strange voice.