Словарь в Puzzle English помогает пользователям учить лексику наряду с аудио- и видеопазлами, подкастами, фильмами, сериалами и песнями. В Словаре переводы сопровождаются аудиопримерами слов и выражений. Для озвучек мы используем записи живых дикторов и TTS — text-to-speech system, синтезаторы речи из текста. Сегодня расскажем, как выбрали TTS-движок Vocalware, почему хотим подключить вместо него систему Amazon Polly и какие задачи человек пока решает лучше робота.
![image](https://habrastorage.org/r/w1560/webt/z1/nh/t1/z1nht1l1534oly152jd032iorei.png)
В Словаре мы задействовали больше 20 голосов с разными акцентами, тембром, вариантами произношения. Звучат мужские и женские голоса с различной скоростью речи. У «дикторов» есть имена и страны происхождения — США, Великобритания или Австралия. Варианты произношения помогают пользователям научиться говорить и воспринимать иностранную речь. Так выглядит переключатель произношения для одного слова:
![image](https://habrastorage.org/r/w1560/webt/r_/2e/pl/r_2eplzi44yty8h7bxrvjzplmg8.png)
Исходя из функционала Словаря, нам нужна TTS, которая поддерживает хотя бы три акцента: американский (General American), британский (Received Pronunciation) и австралийский. Требовались мужские и женские голоса и желательно поддержка транскрипций.
Мы искали TTS, которая синтезирует речь близко к натуральному голосу, выдает четкий звук и не слишком требовательна к качеству интернет-соединения на стороне пользователя. Студенты Puzzle English живут в разных регионах России, пользуются сервисом с мобильных телефонов через 2G и 3G. Хотелось, чтобы TTS умела синтезировать не только слова, но и читать фразы с выражением.
Мы озаботились этой проблемой еще в 2015 году, но обнаружили, что найти адекватную требования TTS почти невозможно. На рынке было несколько движков:
Acapela — умеет распознавать и озвучивать тексты на 34 языках. Более 100 синтезируемых голосов с разным возрастом, эмоциями, акцентами. Выдает высокое качество звука.
Vocalizer — голос звучит естественно, речь чистая. Устанавливаются различные словари, корректируется громкость, скорость и ударение.
eSpeak — поддерживает свыше 50 языков. Синтезируемая речь не идеальна, но разборчива, среднее качество звука. Недостаток в том, что файлы с синтезированной речью eSpeak сохраняет в формате .wav, а они занимают много места.
RSynth — нет документации, качество речи посредственное.
Festival — многоязычная система синтеза речи, работает не всегда стабильно.
Vocalware — больше 100 синтезируемых голосов на 20 языках.
Acapela и Vocalizer работали только на Андроиде, другие системы не поддерживали. К тому же, они были нестабильны, как и Festival. Движки eSpeak и RSynth не подошли, потому что качество синтеза речи для Словаря должно быть идеальным.
Из этих вариантов мы выбрали движок Vocalware, который отвечал нашим критериям: акценты, голоса разнополых «дикторов», транскрипции. Тогда этот движок предлагал одно из лучших качеств синтеза произвольного текста. С его помощью мы создали больше трети озвучек. Vocalware хорошо справляется с переводом отдельных слов, но не с целыми фразами. Их в Puzzle English переводят живые дикторы.
К сожалению, Vocalware не успевает за требованиями времени.
Система с лучшим качеством синтеза появилась у Amazon, она называется Amazon Polly, еще одна находится в разработке у Google — Cloud Text-to-Speech.
Amazon Polly лучше Vocalware по всем параметрам: предлагает десятки языков, мужские и женские голоса, которые звучат естественнее. Движок поддерживает лексиконы и теги SSML, которые позволяют контролировать произношение, громкость, высоту голоса и скорость. Polly работает быстрее.
Google Cloud Text-to-Speech пока не вышел в продакшен, проходит бета-тестирование. В основе движка лежит технология WaveNet — та самая, на которой работает Google Translate и другие сервисы Google. Она использует нейросети, чтобы слова и фразы звучали естественно. Сервис предлагает на выбор 30 голосов с вариантами звучания. Настраивается высота тона каждого голоса, на 20 полутонов выше или ниже исходного.
Мы тестировали обе системы и пришли к выводу, что небольшие компании, которые раньше представляли рынок TTS, упустили свой шанс и остались позади. Они вряд ли сделают продукт лучше гигантов — Google и Amazon. Эти корпорации используют огромные объемы данных и вычислительные мощности для голосовых моделей, и постепенно захватят рынок.
Теперь планируем перейти на решение Amazon, потому что качество синтеза речи у Polly сравнимо с тем, что выдает WaveNet. Наш фаворит — «диктор» для британского английского по имени Brian, который звучит наиболее естественно.
Еще Polly, в отличие от WaveNet, синтезирует русскую речь. У этой TTS есть варианты английского произношения с ирландским и индийским акцентами. Эти произношения полезны для англоязычной версии сайта, которой будут пользоваться в том числе индийцы, желающие выучить английский. При этом стоит система дешевле.
В результате анализа этих TTS мы запланировали в ближайшее подключить дополнительные голоса от Polly. Старые «дикторы» пока тоже останутся: смысл Словаря в том, чтобы пользователь мог услышать разные варианты произношения. А делать озвучку составных фраз с помощью одних только роботов пока не получается. На сервисе много фраз созданы через TTS, но отказаться от живых дикторов полностью пока не получается.
В Puzzle English фразы озвучивают живые дикторы. У машины получается озвучивать простые предложения — повествовательные, с вопросом, отрицанием, без эмоциональной окраски. С более сложным текстом она не справляется, допускает несколько типичных ошибок.
Это произношение отдельно по одному слову. Такие озвучки даже приблизительно не похожи на речь, в них нет интонации, фразового членения высказывания и смыслового ударения, потому что под ударением произносится каждое слово.
Вот как одну и ту же фразу читает TTS в Google Translate и живой диктор.
Робот делает небольшие паузы между словами, как бы «чеканя их».
Диктор использует фразовое ударение, большое предложение он делит по смыслу. Фраза лучше воспринимается на слух.
Машина обычно не может воспроизвести нужную интонацию. Этот момент в произношении фраз важен для многих изучающих английский язык. Часто ученики думают, что достаточно поставить звуки, и речь будет звучать как у англичанина. Это не так. Иностранца выдает неверная интонация. Живой человек может выделить необходимые части предложения, если того требует контекст. Робот такого не сделает. Послушайте еще раз примеры фраз выше и вы поймете о чем речь.
Машина не выделяет прямую речь, обозначенную пунктуационно. Она продолжает читать текст, сохраняя общую интонационную картину.
Так читает текст носитель языка:
А так робот:
Робот не распознает фрагменты, на которых носитель делает ударение, чтобы подчеркнуть определенные слова, например, когда фраза имеет ироничный оттенок. Робот как правило сохраняет нейтральную интонацию.
Это также слышно на предыдущих примерах.
Частая ошибка у робота — растягивание, которое производит эффект заторможенности. И, наоборот, слишком быстрое произношение слова или фразы дает «прожевывание» текста.
Робот читает с ударением каждое слово, что неестественно для живой речи.
В этом примере робот выделяет предлог at.
Диктор предлог не выделяет, в живой речи at сливается с playing и сам по себе безударный.
Движки Google и Amazon читают фразы лучше других TTS, которые мы тестировали. По результатам анализа оба решения от крупных корпораций не справились с шестью фразами со сложной интонацией и неплохо справились только с пятью. У Google два стандартных «диктора» читали плохо, два — удовлетворительно, а у Amazon — плохо два и удовлетворительно только один.
Результат Google в целом немного лучше, но некоторые озвучки Amazon Polly показались более интересными, поскольку голос и интонации звучали естественнее. В целом доверить произношение фраз TTS уже можно, но не во всех случаях и не в продукте для изучающих иностранный язык. Им важно качество и нюансы произношения, которые робот не всегда может передать.
С помощью TTS можно озвучивать отдельные слова на разных языках для ваших сервисов. Новые решения Amazon и Google справляются с этой задачей лучше, чем существовавшие ранее движки небольших компаний. Но фразы, особенно сложные предложения с несколькими запятыми, в их исполнении пока звучат неестественно. Робот не может выделить прямую речь, передать иронию, сделать смысловое ударение, выбрать правильную интонацию для разделительного вопроса в конце предложения. Для наших целей это неприемлемо, поэтому мы просим живых дикторов озвучивать такие материалы и продолжаем тестировать новые предложения на этом рынке.
Если вы хотите прокачать английский, приходите к нам.
Читателям блога дарим купон на 700 рублей для покупки «Заданий».
![image](https://habrastorage.org/webt/z1/nh/t1/z1nht1l1534oly152jd032iorei.png)
В Словаре мы задействовали больше 20 голосов с разными акцентами, тембром, вариантами произношения. Звучат мужские и женские голоса с различной скоростью речи. У «дикторов» есть имена и страны происхождения — США, Великобритания или Австралия. Варианты произношения помогают пользователям научиться говорить и воспринимать иностранную речь. Так выглядит переключатель произношения для одного слова:
![image](https://habrastorage.org/webt/r_/2e/pl/r_2eplzi44yty8h7bxrvjzplmg8.png)
Как искали подходящую TTS
Исходя из функционала Словаря, нам нужна TTS, которая поддерживает хотя бы три акцента: американский (General American), британский (Received Pronunciation) и австралийский. Требовались мужские и женские голоса и желательно поддержка транскрипций.
Мы искали TTS, которая синтезирует речь близко к натуральному голосу, выдает четкий звук и не слишком требовательна к качеству интернет-соединения на стороне пользователя. Студенты Puzzle English живут в разных регионах России, пользуются сервисом с мобильных телефонов через 2G и 3G. Хотелось, чтобы TTS умела синтезировать не только слова, но и читать фразы с выражением.
Мы озаботились этой проблемой еще в 2015 году, но обнаружили, что найти адекватную требования TTS почти невозможно. На рынке было несколько движков:
Acapela — умеет распознавать и озвучивать тексты на 34 языках. Более 100 синтезируемых голосов с разным возрастом, эмоциями, акцентами. Выдает высокое качество звука.
Vocalizer — голос звучит естественно, речь чистая. Устанавливаются различные словари, корректируется громкость, скорость и ударение.
eSpeak — поддерживает свыше 50 языков. Синтезируемая речь не идеальна, но разборчива, среднее качество звука. Недостаток в том, что файлы с синтезированной речью eSpeak сохраняет в формате .wav, а они занимают много места.
RSynth — нет документации, качество речи посредственное.
Festival — многоязычная система синтеза речи, работает не всегда стабильно.
Vocalware — больше 100 синтезируемых голосов на 20 языках.
Acapela и Vocalizer работали только на Андроиде, другие системы не поддерживали. К тому же, они были нестабильны, как и Festival. Движки eSpeak и RSynth не подошли, потому что качество синтеза речи для Словаря должно быть идеальным.
Из этих вариантов мы выбрали движок Vocalware, который отвечал нашим критериям: акценты, голоса разнополых «дикторов», транскрипции. Тогда этот движок предлагал одно из лучших качеств синтеза произвольного текста. С его помощью мы создали больше трети озвучек. Vocalware хорошо справляется с переводом отдельных слов, но не с целыми фразами. Их в Puzzle English переводят живые дикторы.
Почему хотим подключить Amazon Polly
К сожалению, Vocalware не успевает за требованиями времени.
- Качество синтеза речи у этой TTS не лучшее на рынке. Мы даем пользователю возможность выбирать из вариантов произношения, и чем качественнее озвучки, тем полезнее они будут для ученика.
- Мы периодически сталкиваемся со сбоями в работе Vocalware. Бывает, что сервис недоступен до двух суток подряд. Это неприемлемо.
- У этой TTS нет поддержки языка разметки для приложений синтеза речи SSML. Через SSML можно настроить интонационные акценты, длину пауз и другие параметры.
Система с лучшим качеством синтеза появилась у Amazon, она называется Amazon Polly, еще одна находится в разработке у Google — Cloud Text-to-Speech.
Amazon Polly лучше Vocalware по всем параметрам: предлагает десятки языков, мужские и женские голоса, которые звучат естественнее. Движок поддерживает лексиконы и теги SSML, которые позволяют контролировать произношение, громкость, высоту голоса и скорость. Polly работает быстрее.
Google Cloud Text-to-Speech пока не вышел в продакшен, проходит бета-тестирование. В основе движка лежит технология WaveNet — та самая, на которой работает Google Translate и другие сервисы Google. Она использует нейросети, чтобы слова и фразы звучали естественно. Сервис предлагает на выбор 30 голосов с вариантами звучания. Настраивается высота тона каждого голоса, на 20 полутонов выше или ниже исходного.
Мы тестировали обе системы и пришли к выводу, что небольшие компании, которые раньше представляли рынок TTS, упустили свой шанс и остались позади. Они вряд ли сделают продукт лучше гигантов — Google и Amazon. Эти корпорации используют огромные объемы данных и вычислительные мощности для голосовых моделей, и постепенно захватят рынок.
Теперь планируем перейти на решение Amazon, потому что качество синтеза речи у Polly сравнимо с тем, что выдает WaveNet. Наш фаворит — «диктор» для британского английского по имени Brian, который звучит наиболее естественно.
Еще Polly, в отличие от WaveNet, синтезирует русскую речь. У этой TTS есть варианты английского произношения с ирландским и индийским акцентами. Эти произношения полезны для англоязычной версии сайта, которой будут пользоваться в том числе индийцы, желающие выучить английский. При этом стоит система дешевле.
В результате анализа этих TTS мы запланировали в ближайшее подключить дополнительные голоса от Polly. Старые «дикторы» пока тоже останутся: смысл Словаря в том, чтобы пользователь мог услышать разные варианты произношения. А делать озвучку составных фраз с помощью одних только роботов пока не получается. На сервисе много фраз созданы через TTS, но отказаться от живых дикторов полностью пока не получается.
Почему робот уступает человеку при озвучке фраз
В Puzzle English фразы озвучивают живые дикторы. У машины получается озвучивать простые предложения — повествовательные, с вопросом, отрицанием, без эмоциональной окраски. С более сложным текстом она не справляется, допускает несколько типичных ошибок.
«Чеканка»
Это произношение отдельно по одному слову. Такие озвучки даже приблизительно не похожи на речь, в них нет интонации, фразового членения высказывания и смыслового ударения, потому что под ударением произносится каждое слово.
Вот как одну и ту же фразу читает TTS в Google Translate и живой диктор.
Робот делает небольшие паузы между словами, как бы «чеканя их».
Диктор использует фразовое ударение, большое предложение он делит по смыслу. Фраза лучше воспринимается на слух.
Интонация
Машина обычно не может воспроизвести нужную интонацию. Этот момент в произношении фраз важен для многих изучающих английский язык. Часто ученики думают, что достаточно поставить звуки, и речь будет звучать как у англичанина. Это не так. Иностранца выдает неверная интонация. Живой человек может выделить необходимые части предложения, если того требует контекст. Робот такого не сделает. Послушайте еще раз примеры фраз выше и вы поймете о чем речь.
Прямая речь
Машина не выделяет прямую речь, обозначенную пунктуационно. Она продолжает читать текст, сохраняя общую интонационную картину.
Так читает текст носитель языка:
А так робот:
Эмоции в разговоре
Робот не распознает фрагменты, на которых носитель делает ударение, чтобы подчеркнуть определенные слова, например, когда фраза имеет ироничный оттенок. Робот как правило сохраняет нейтральную интонацию.
Это также слышно на предыдущих примерах.
Неверная скорость произношения
Частая ошибка у робота — растягивание, которое производит эффект заторможенности. И, наоборот, слишком быстрое произношение слова или фразы дает «прожевывание» текста.
Неестественные ударения
Робот читает с ударением каждое слово, что неестественно для живой речи.
В этом примере робот выделяет предлог at.
Диктор предлог не выделяет, в живой речи at сливается с playing и сам по себе безударный.
Движки Google и Amazon читают фразы лучше других TTS, которые мы тестировали. По результатам анализа оба решения от крупных корпораций не справились с шестью фразами со сложной интонацией и неплохо справились только с пятью. У Google два стандартных «диктора» читали плохо, два — удовлетворительно, а у Amazon — плохо два и удовлетворительно только один.
Результат Google в целом немного лучше, но некоторые озвучки Amazon Polly показались более интересными, поскольку голос и интонации звучали естественнее. В целом доверить произношение фраз TTS уже можно, но не во всех случаях и не в продукте для изучающих иностранный язык. Им важно качество и нюансы произношения, которые робот не всегда может передать.
Вывод
С помощью TTS можно озвучивать отдельные слова на разных языках для ваших сервисов. Новые решения Amazon и Google справляются с этой задачей лучше, чем существовавшие ранее движки небольших компаний. Но фразы, особенно сложные предложения с несколькими запятыми, в их исполнении пока звучат неестественно. Робот не может выделить прямую речь, передать иронию, сделать смысловое ударение, выбрать правильную интонацию для разделительного вопроса в конце предложения. Для наших целей это неприемлемо, поэтому мы просим живых дикторов озвучивать такие материалы и продолжаем тестировать новые предложения на этом рынке.
Если вы хотите прокачать английский, приходите к нам.
Читателям блога дарим купон на 700 рублей для покупки «Заданий».