There is a Chrome known issue with the rate, volume, or pitch options not having an effect for some voices.
Also, the reason why speechSynthesis.getVoices()
is working the second time is that it in Chrome it should be called after the onvoiceschanged
event (see this answer).