Работающий кроссбраузер с API Speech Synthesis Javascript в 2020 г. - PullRequest
1 голос
/ 05 мая 2020

Он существует уже шесть лет, поэтому я решил попробовать Speech Synthesis API :

Вот мой первый тест :

const vocalWelcome = new SpeechSynthesisUtterance('Welcome to the Main Men-You. Please select your option.');
vocalWelcome.pitch = 3;
vocalWelcome.rate = 0.95;
window.speechSynthesis.speak(vocalWelcome);

Я заметил, что, несмотря на явную установку свойства pitch на 3, высота голоса намного выше на Firefox Mobile 68 и Chrome Mobile 81 на моем Android, чем на Firefox 75 и Chrome 81 на моем ноутбуке.

Что я могу с этим поделать? Нужно ли мне прослушивать браузер / устройство, а затем соответствующим образом настраивать свойство pitch?

Или мне следует рассматривать это как проблемы с прорезыванием зубов, потому что в 2020 году Speech Synthesis API spe c просто еще не готов к производству?

1 Ответ

2 голосов
/ 19 мая 2020

Синтез речи повсюду в поддержке и базовых технологиях - большинство из них будет использовать любое решение для нативной речи. Если вам действительно нужно согласованное решение, подумайте об использовании библиотеки или облачной службы TTS (например, Polly или Google Wav enet).

Браузеры используют базовый поставщик речи на каждой платформе, с возможно, немного сахара сверху, чтобы определить, что они проходят. У каждой ОС есть свой базовый поставщик (Windows = SAPI / Media Foundation, iOS / OSX = VoiceOver, Linux = PicoTTS или eSpeak, хотя этот список не является исчерпывающим). Кроме того, у Google есть собственный провайдер речи, а некоторые браузеры используют для рендеринга онлайн-сервисы в серверной части. Вам не гарантирован такой же голос, если вы не используете стороннюю библиотеку. Также имейте в виду, что языковые настройки пользователей тоже могут отличаться.

...