В предыдущем выпуске мы обсуждали распознавание речи, а сегодня рассмотрим обратную задачу. Итак, как выполняется синтез речи, то есть преобразование произвольного текста в голос — об этом в сегодняшнем выпуске!
Задача синтеза речи решается в несколько этапов. Прежде всего специальному алгоритму нужно привести текст в удобный для чтения роботам вид: он записывает числа словами и расшифровывает сокращения. Затем текст делят на отдельные словосочетания, которые следует читать с плавной интонацией — для этого система опирается на знаки препинания и устойчивые выражения.

Затем каждому слову присваивается фонетическая транскрипция. Чтобы определить чтение слова и место ударения, система пользуется встроенными словарями, составленными людьми. Если нужного слова там нет, компьютер формирует транскрипцию самостоятельно, опираясь на академические принципы. Если же словарной базы недостаточно, применяются статистические принципы: система анализирует записи дикторов и выбирает слог, на котором они делали ударение.
После составления транскрипции компьютер вычисляет число фреймов, то есть фрагментов продолжительностью 25 миллисекунд. Каждому фрейму сопоставляют набор параметров: какая фонема присутствует, какое место она занимает внутри и в каком слоге встречается эта фонема. Указывается ударность или безударность фонемы, если она гласная. Кроме того, формируется корректная интонация на основе информации о фразе и предложении.
Далее применяется акустическая модель для воспроизведения подготовленного текста. Она сопоставляет фонемы с конкретными акустическими характеристиками и соответствующими звуками. Акустическая модель умеет корректно произносить фонему и задавать верную интонацию предложения благодаря машинному обучению. Чем больше данных для обучения имеет модель, тем точнее становится ее результат.

Голос становится узнаваемым прежде всего благодаря тембру, зависящему от строения речевых органов. Тембр любого голоса можно смоделировать, то есть охарактеризовать его параметры — для этого достаточно в студии записать небольшой набор текстов. Затем данные о тембре применяются при синтезе речи на любом языке. Когда системе требуется произнести фразу, она обращается к генератору звуковых волн — вокодеру. В него подается частотная характеристика фразы, полученная от акустической модели, а также данные о тембре, которые придают голосу узнаваемую окраску.
Следует отметить, что современные технологии синтеза речи сталкиваются с рядом проблем. Прежде всего — искусственная подача. Любая синтезированная речь воспринимается человеком с трудом, требуя дополнительных усилий для понимания. В результате человек может комфортно воспринимать синтезированную речь примерно только около двадцати минут. Также синтезированная речь обычно лишена эмоциональности и обладает слабой помехоустойчивостью. Иными словами, любое постороннее шумовое воздействие мешает восприятию синтезированной речи.
