#javascript #speech-synthesis
#javascript #синтез речи
Вопрос:
Я пытаюсь преобразовать текст в речь, используя SpeechSynthesisUtterance. Пример, приведенный в MDN, отлично работает с одним браузером, но speechSynthesis.getVoices()
возвращает разное количество голосов в каждом браузере и ОС. (22 в Windows Chrome, 3 в firefox chrome, 40 в ubuntu Chrome, 100 в ios Safari).
Я хотел использовать голос Tessa en-ZA
, но, похоже, он доступен только в Safari. Существует ли для этого кроссбраузерное решение, чтобы голос был одинаковым во всех браузерах (например, загрузка голосового URI в каждом браузере)?
Комментарии:
1. Кроссбраузерный, в пределах одной и той же ОС, да, вероятно, например, Microsoft David / Zira (поскольку они предоставляются ОС), но, я думаю, не кросс-ОС
2. следует оставить выбор голоса за пользователем, поэтому для этого есть api, если вы лично предпочитаете Tessa, тогда используйте Safari, я на Linux, chrome У меня около 10 голосов, все звучат как C-3PO.
3. Вы могли бы посмотреть на отзывчивый голос, который, кажется, выдает один и тот же голос в разных браузерах.
4. @LawrenceCherone Просить пользователя каждый раз задавать голос не будет хорошей идеей. Я мог бы сохранить выбранный пользователем голос, но это значение не будет полезно, если тот же пользователь в следующий раз использовал другой браузер. Итак, я просто пытаюсь найти способ воспроизводить один и тот же звук для всех пользователей в приложении, независимо от браузера / ОС.