Hacker News new | ask | show | jobs
by Svoka 498 days ago
This is amazing! Consider potentially adding support for WebSpeech api to make it easier. Something like

    const voice = speechSynthesis.getVoices().filter(e => e.lang==='zh-HK').at(-1)
    const utterance = new SpeechSynthesisUtterance('你好')
    utterance.voice = voice
    speechSynthesis.speak(utterance)
1 comments

Thanks for the suggestion. Take a look at my other reply above, but The Cantonese Scrolls is a project that needs to be able to run offline, directly in your web browser, with no network calls. I allow everyone to download the entire project and self study offline or self host it if they want. This serves as both a backup mechanism, and a defense mechanism against any potential government censorship by countries that don't want Cantonese to exist.
It's your project, I just wanted to point out that the code snippet the GP posted works offline, subject to the user having the voices installed. My `speechSynthesis.getVoices().filter(e => e.lang==='zh-HK')` returned nothing but it still tried to speak something anyway, even with the networking turned off on my computer

https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_...