Синтез речи как работает

Нейросетевой синтез речи своими руками

Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.

Некоторое время назад в область синтеза речи, как и во многие другие области, пришло машинное обучение. Выяснилось, что целый ряд компонентов всей системы можно заменить на нейронные сети, что позволит не просто приблизиться по качеству к существующим алгоритмам, а даже значительно их превзойти.

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.

Синтез речи

Чтобы построить систему синтеза речи, нужна целая команда специалистов из разных областей. По каждой из них существует целая масса алгоритмов и подходов. Написаны докторские диссертации и толстые книжки с описанием фундаментальных подходов. Давайте для начала поверхностно разберемся с каждой их них.

Лингвистика

Просодика

Фонетика

Акустика

Реализации

Мы попытаемся найти End-2-End (E2E) реализацию синтеза, которая бы взяла на себя все сложности, связанные с тонкостями языка. Другими словами, мы хотим построить систему, основанную на нейронных сетях, которая бы на вход принимала текст, а на выходе давала бы синтезированную речь. Можно ли обучить такую сеть, которая позволила бы заменить целую команду специалистов из узких областей на команду (возможно даже из одного человека), специализирующуюся на машинном обучении?

На запрос end2end tts Google выдает целую массу результатов. Во главе — реализация Tacotron от самого Google. Самым простым мне показалось идти от конкретных людей на Github, которые занимаются исследованиям в этой области и выкладывают свои реализации различных архитектур.

Я бы выделил троих:

Автор выложил результаты работы синтеза по трем различным базам и на разных стадиях обучения. На мой вкус, как не носителя языка, они звучат весьма прилично. Последняя из баз на английском языке (Kate Winslet’s Audiobook) содержит всего 5 часов речи, что для меня тоже является большим преимуществом, так как моя база содержит примерно сопоставимое количество данных.

Через некоторое время после того, как я обучил свою систему, в репозитории появилась информация о том, что автор успешно обучил модель для корейского языка. Это тоже довольно важно, так как языки могут сильно разниться и робастность по отношению к языку — это приятное дополнение. Можно ожидать, что в процессе обучения не потребуется особого подхода к каждому набору обучающих данных: языку, голосу или еще каким-то характеристикам.

Еще один важный момент для такого рода систем — это время обучения. Tacotron на том железе, которое у меня есть, по моим оценкам учился бы порядка 2 недель. Для прототипирования на начальном уровне мне показалось это слишком ресурсоемким. Педали, конечно, крутить не пришлось бы, но на создание какого-то базового прототипа потребовалось бы очень много календарного времени. DCTTS в финальном варианте учится за пару дней.

У каждого исследователя есть набор инструментов, которыми он пользуется в своей работе. Каждый подбирает их себе по вкусу. Я очень люблю PyTorch. К сожалению, на нем реализации DCTTS я не нашел, и пришлось использовать TensorFlow. Возможно в какой-то момент выложу свою реализацию на PyTorch.

Данные для обучения

Хорошая база для реализации синтеза — это основной залог успеха. К подготовке нового голоса подходят очень основательно. Профессиональный диктор произносит заранее подготовленные фразы в течение многих часов. Для каждого произнесения нужно выдержать все паузы, говорить без рывков и замедлений, воспроизвести правильный контур основного тона и все это в купе с правильной интонацией. Кроме всего прочего, не все голоса одинаково приятно звучат.

У меня на руках была база порядка 8 часов, записанная профессиональным диктором. Сейчас мы с коллегами обсуждаем возможность выложить этот голос в свободный доступ для некоммерческого использования. Если все получится, то дистрибутив с голосом помимо самих записей будет включать в себя точные текстовки для каждой из них.

Начнем

Мы хотим создать сеть, которая на вход принимала бы текст, а на выходе давала бы синтезированный звук. Обилие реализаций показывает, что это возможно, но есть конечно и ряд оговорок.

Основные параметры системы обычно называют гиперпараметрами и выносят в отдельный файл, который называется соответствующим образом: hparams.py или hyperparams.py, как в нашем случае. В гиперпараметры выносится все, что можно покрутить, не трогая основной код. Начиная от директорий для логов, заканчивая размерами скрытых слоев. После этого гиперпараметры в коде используются примерно вот так:

Далее по тексту все переменные имеющие префикс hp. берутся именно из файла гиперпараметров. Подразумевается, что эти параметры не меняются в процессе обучения, поэтому будьте осторожны перезапуская что-то с новыми параметрами.

Текст

Для обработки текста обычно используются так называемый embedding-слой, который ставится самым первым. Суть его простая — это просто табличка, которая каждому символу из алфавита ставит в соответствие некий вектор признаков. В процессе обучения мы подбираем оптимальные значения для этих векторов, а когда синтезируем по готовой модели, просто берем значения из этой самой таблички. Такой подход применяется в уже довольно широко известных Word2Vec, где строится векторное представление для слов.

Для примера возьмем простой алфавит:

В процессе обучения мы выяснили, что оптимальные значения каждого их символов вот такие:

Тогда для строчки aabbcc после прохождения embedding-слоя мы получим следующую матрицу:

Эта матрица дальше подается на другие слои, которые уже не оперируют понятием символ.

В этот момент мы видим первое ограничение, которое у нас появляется: набор символов, который мы можем отправлять на синтез, ограничен. Для каждого символа должно быть какое-то ненулевое количество примеров в обучающих данных, лучше с разным контекстом. Это значит, что нам нужно быть осторожными в выборе алфавита.

В своих экспериментах я остановился на варианте:

Это алфавит русского языка, дефис, пробел и обозначение конца строки. Тут есть несколько важных моментов и допущений:

Почти все системы оперируют не самим сигналом, а разного рода спектрами полученными на окнах с определенным шагом. Я не буду вдаваться в подробности, по этой теме довольно много разного рода литературы. Сосредоточимся на реализации и использованию. В реализации DCTTS используются два вида спектров: амплитудный спектр и мел-спектр.

Считаются они следующим образом (код из этого листинга и всех последующих взят из реализации DCTTS, но видоизменен для наглядности):

Для вычислений почти во всех проектах E2E-синтеза используется библиотека LibROSA (https://librosa.github.io/librosa/). Она содержит много полезного, рекомендую заглянуть в документацию и посмотреть, что в ней есть.

Теперь давайте посмотрим как амплитудный спектр (magnitude spectrum) выглядит на одном из файлов из базы, которую я использовал:

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Такой вариант представления оконных спекторов называется спектрограммой. На оси абсцисс располагается время в секундах, на оси ординат — частота в герцах. Цветом выделяется амплитуда спектра. Чем точка ярче, тем значение амплитуды больше.

Мел-спектр — это амплитудный спектр, но взятый на мел-шкале с определенным шагом и окном. Количество шагов мы задаем заранее, в большинстве реализаций для синтеза используется значение 80 (задается параметром hp.n_mels). Переход к мел-спектру позволяет сильно сократить количество данных, но этом сохранить важные для речевого сигнала характеристики. Мел-спектрограмма для того же файла выглядит следующим образом:

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Обратите внимание на прореживание мел-спектров во времени на последней строке листинга. Мы берем только каждый 4 вектор (hp.r == 4), соответственно уменьшая тем самым частоту дискретизации. Синтез речи сводится к предсказанию мел-спектров по последовательности символов. Идея простая: чем меньше сети приходится предсказывать, тем лучше она будет справляться.

Хорошо, мы можем получить спектрограмму по звуку, но послушать мы ее не можем. Соответственно нам нужно уметь восстанавливать сигнал обратно. Для этих целей в системах часто используется алгоритм Гриффина-Лима и его более современные интерпретации (к примеру, RTISILA, ссылка). Алгоритм позволяет восстановить сигнал по его амплитудным спектрам. Реализация, которую использовал я:

А сигнал по амплитудной спектрограмме можно восстановить вот так (шаги, обратные получению спектра):

Давайте попробуем получить амплитудный спектр, восстановить его обратно, а затем послушать.

Источник

Обзор технологий синтеза речи

Всем привет! Меня зовут Влад и я работаю data scientist-ом в команде речевых технологий Тинькофф, которые используются в нашем голосовом помощнике Олеге.

В этой статье я бы хотел сделать небольшой обзор технологий синтеза речи, использующихся в индустрии, и поделиться опытом нашей команды построения собственного движка синтеза.

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Синтез речи

Синтез речи — это создание звука на основе текста. Эту задачу сегодня решают двумя подходами:

Речь моделей unit selection имеет высокое качество, низкую вариативность и требует большого объема данных для обучения. В то же время для тренировки параметрических моделей необходимо гораздо меньшее количество данных, они генерируют более разнообразные интонации, но до недавнего времени страдали от общего достаточно низкого качества звука по сравнению с подходом unit selection.

Однако с развитием технологий глубокого обучения модели параметрического синтеза достигли существенного прироста по всем метрикам качества и способны создавать речь, практически неотличимую от человеческой.

Метрики качества

Прежде чем говорить о том, какие модели синтеза речи лучше, нужно определить метрики качества, по которым будет проводиться сравнение алгоритмов.

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

Стандартная метрика — это MOS (mean opinion score), усредненная оценка естественности речи, выданная асессорами для синтезированных аудио по шкале от 1 до 5. Единица означает совсем неправдоподобное звучание, а пятерка — речь, неотличимую от человеческой. Реальные записи людей обычно получают значения примерно 4,5, и значение больше 4 считается достаточно высоким.

Как работает синтез речи

Первый шаг к построению любой системы синтеза речи — сбор данных для обучения. Обычно это аудиозаписи высокого качества, на которых диктор читает специально подобранные фразы. Примерный размер датасета, необходимый для обучения моделей unit selection, составляет 10—20 часов чистой речи [2], в то время как для нейросетевых параметрических методов верхняя оценка равна примерно 25 часам [4, 5].

Обсудим обе технологии синтеза.

Unit selection

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Обычно записанная речь диктора не может покрыть всех возможных случаев, в которых будет использоваться синтез. Поэтому суть метода состоит в разбиении всей аудиобазы на небольшие фрагменты, называющиеся юнитами, которые затем склеиваются друг с другом с использованием минимальной постобработки. В качестве юнитов обычно выступают минимальные акустические единицы языка, такие как полуфоны или дифоны [2].
Весь процесс генерации состоит из двух этапов: NLP frontend, отвечающий за извлечение лингвистического представления текста, и backend, который вычисляет функцию штрафа юнитов для заданных лингвистических признаков. В NLP frontend входят:

Обычно NLP frontend реализован с помощью вручную прописанных правил для конкретного языка, однако в последнее время происходит все больший уклон в сторону использования моделей машинного обучения [7].

Штраф, оцениваемый backend-подсистемой, — это сумма target cost, или соответствия акустического представления юнита для конкретной фонемы, и concatenation cost, то есть уместности соединения двух соседних юнитов. Для оценки штраф функций можно использовать правила или уже обученную акустическую модель параметрического синтеза [2]. Выбор наиболее оптимальной последовательности юнитов с точки зрения выше определенных штрафов происходит с помощью алгоритма Витерби [1].

Примерные значения MOS моделей unit selection для английского языка: 3,7—4,1 [2, 4, 5].

Достоинства подхода unit selection:

Параметрический синтез речи

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

Для обучения duration и акустической моделей можно использовать скрытые марковские модели [3], глубокие нейронные сети или их рекуррентные разновидности [6]. Традиционный вокодер — это алгоритм, основанный на source-filter модели [3], которая предполагает, что речь — это результат применения линейного фильтра шума к первоначальному сигналу.
Общее качество речи классических параметрических методов оказывается достаточно низким из-за большого количества независимых предположений об устройстве процесса генерации звука.

Однако с приходом технологий глубокого обучения стало возможным обучать end-to-end модели, которые напрямую предсказывают акустические признаки по буквам. Например, нейронные сети Tacotron [4] и Tacotron 2 [5] принимают на вход последовательность букв и возвращают мел-спектрограмму с помощью алгоритма seq2seq [8]. Таким образом шаги 1—3 классического подхода заменяются одной нейросетью. На схеме ниже показана архитектура сети Tacotron 2, достигающей достаточно высокого качества звука.

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Другим фактором существенного прироста в качестве синтезируемой речи стало применение нейросетевых вокодеров вместо алгоритмов цифровой обработки сигналов.

Первым таким вокодером была нейронная сеть WaveNet [9], которая последовательно, шаг за шагом, предсказывала значения амплитуды звуковой волны.

Благодаря использованию большого количества сверточных слоев с пропусками для захвата большего контекста и skip connection в архитектуре сети удалось достичь примерно 10%-го улучшения MOS по сравнению с моделями unit selection. На схеме ниже представлена архитектура сети WaveNet.

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Главный недостаток WaveNet — низкая скорость работы, связанная с последовательной схемой сэмплирования сигнала. Эту проблему можно решить либо с помощью инженерной оптимизации для конкретной архитектуры железа, либо заменой схемы сэмплирования на более быструю.
Оба подхода были успешно реализованы в индустрии. Первый — в Tinkoff.ru, а в рамках второго подхода компания Google представила сеть Parallel WaveNet [10] в 2017 году, наработки которой используются в Google Assistant.

Примерные значения MOS для нейросетевых методов: 4,4—4,5 [5, 11], то есть синтезируемая речь практически не отличается от человеческой.

Достоинства параметрического синтеза:

Как работает синтез речи в Tinkoff

Как следует из обзора, методы параметрического синтеза речи, основанные на нейросетях, на текущий момент существенно превосходят по качеству подход unit selection и гораздо проще для разработки. Поэтому для построения собственного движка синтеза мы использовали именно их.
Для обучения моделей было использовано около 25 часов чистой речи профессионального диктора. Тексты для чтения были специально подобраны так, чтобы наиболее полно покрыть фонетику разговорной речи. Кроме того, чтобы добавить синтезу большее разнообразие в интонации, мы попросили диктора читать тексты с выражением, зависящим от контекста.

Архитектура нашего решения концептуально выглядит так:

Благодаря такой архитектуре наш движок генерирует выразительную речь высокого качества в режиме реального времени, не требует построения фонемного словаря и дает возможность управлять ударениями в отдельных словах. Примеры синтезированных аудио можно прослушать, перейдя по ссылке.

Ссылки:

[1] A. J. Hunt, A. W. Black. Unit selection in a concatenative speech synthesis system using a large speech database, ICASSP, 1996.
[2] T. Capes, P. Coles, A. Conkie, L. Golipour, A. Hadjitarkhani, Q. Hu, N. Huddleston, M. Hunt, J. Li, M. Neeracher, K. Prahallad, T. Raitio, R. Rasipuram, G. Townsend, B. Williamson, D. Winarsky, Z. Wu, H. Zhang. Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System, Interspeech, 2017.
[3] H. Zen, K. Tokuda, A. W. Black. Statistical parametric speech synthesis, Speech Communication, Vol. 51, no. 11, pp. 1039-1064, 2009.
[4] Yuxuan Wang, RJ Skerry-Ryan, Daisy Stanton, Yonghui Wu, Ron J. Weiss, Navdeep Jaitly, Zongheng Yang, Ying Xiao, Zhifeng Chen, Samy Bengio, Quoc Le, Yannis Agiomyrgiannakis, Rob Clark, Rif A. Saurous. Tacotron: Towards End-to-End Speech Synthesis.
[5] Jonathan Shen, Ruoming Pang, Ron J. Weiss, Mike Schuster, Navdeep Jaitly, Zongheng Yang, Zhifeng Chen, Yu Zhang, Yuxuan Wang, RJ Skerry-Ryan, Rif A. Saurous, Yannis Agiomyrgiannakis, Yonghui Wu. Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions.
[6] Heiga Zen, Andrew Senior, Mike Schuster. Statistical parametric speech synthesis using deep neural networks.
[7] Hao Zhang, Richard Sproat, Axel H. Ng, Felix Stahlberg, Xiaochang Peng, Kyle Gorman, Brian Roark. Neural Models of Text Normalization for Speech Applications.
[8] Ilya Sutskever, Oriol Vinyals, Quoc V. Le. Sequence to Sequence Learning with Neural Networks.
[9] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, Koray Kavukcuoglu. WaveNet: A Generative Model for Raw Audio.
[10] Aaron van den Oord, Yazhe Li, Igor Babuschkin, Karen Simonyan, Oriol Vinyals, Koray Kavukcuoglu, George van den Driessche, Edward Lockhart, Luis C. Cobo, Florian Stimberg, Norman Casagrande, Dominik Grewe, Seb Noury, Sander Dieleman, Erich Elsen, Nal Kalchbrenner, Heiga Zen, Alex Graves, Helen King, Tom Walters, Dan Belov, Demis Hassabis. Parallel WaveNet: Fast High-Fidelity Speech Synthesis.
[11] Wei Ping Kainan Peng Jitong Chen. ClariNet: Parallel Wave Generation in End-to-End Text-to-Speech.
[12] Dario Rethage, Jordi Pons, Xavier Serra. A Wavenet for Speech Denoising.

Источник

Как это работает? Синтез речи

Многим из вас наверняка доводилось управлять компьютером или смартфоном с помощью голоса. Когда вы говорите Навигатору «Поехали на Гоголя, 25» или произносите в приложении Яндекс поисковый запрос, технология распознавания речи преобразует ваш голос в текстовую команду. Но есть и обратная задача: превратить текст, который есть в распоряжении компьютера, в голос.

Если набор текстов, которые надо озвучить, относительно невелик и в них встречаются одни и те же выражения — как, например, в объявлениях об отправлении и прибытии поездов на вокзале, — достаточно пригласить диктора, записать в студии нужные слова и фразы, а затем собрать из них сообщение. С произвольными текстами, однако, такой подход не работает. Здесь пригодится технология синтеза речи.

В Яндексе для озвучивания текстов используется технология синтеза речи из комплекса Yandex Speechkit. Она, например, позволяет узнать, как произносятся иностранные слова и фразы в Переводчике. Благодаря синтезу речи собственный голос получил и Автопоэт.

Подготовка текста

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

Чтобы понять, как читать слово и где поставить в нём ударение, робот сначала обращается к классическим, составленным вручную словарям, которые встроены в систему. Если в нужного слова в словаре нет, компьютер строит транскрипцию самостоятельно — опираясь на правила, заимствованные из академических справочников. Наконец, если обычных правил оказывается недостаточно — а такое случается, ведь любой живой язык постоянно меняется, — он использует статистические правила. Если слово встречалось в корпусе тренировочных текстов, система запомнит, на какой слог в нём обычно делали ударение дикторы.

Произношение и интонирование

Когда транскрипция готова, компьютер рассчитывает, как долго будет звучать каждая фонема, то есть сколько в ней фреймов — так называют фрагменты длиной 25 миллисекунд. Затем каждый фрейм описывается по множеству параметров: частью какой фонемы он является и какое место в ней занимает; в какой слог входит эта фонема; если это гласная, то ударная ли она; какое место она занимает в слоге; слог — в слове; слово — в фразе; какие знаки препинания есть до и после этой фразы; какое место фраза занимает в предложении; наконец, какой знак стоит в конце предложения и какова его главная интонация.

Другими словами, для синтеза каждых 25 миллисекунд речи используется множество данных. Информация о ближайшем окружении обеспечивает плавный переход от фрейма к фрейму и от слога к слогу, а данные о фразе и предложении в целом нужны для создания правильной интонации синтезированной речи.

Чтобы прочитать подготовленный текст, используется акустическая модель. Она отличается от акустической модели, которая применяется при распознавании речи. В случае с распознаванием модели нужно установить соответствие между звуками с определёнными характеристиками и фонемами. В случае с синтезом акустическая модель, должна, наоборот, по описаниям фреймов составить описания звуков.

Откуда акустическая модель знает, как правильно произнести фонему или придать верную интонацию вопросительному предложению? Она учится на текстах и звуковых файлах. Например, в неё можно загрузить аудиокнигу и соответствующий ей текст. Чем больше данных, на которых учится модель, тем лучше её произношение и интонирование.

Голоса

Наконец, о самом голосе. Узнаваемыми наши голоса, в первую очередь, делает тембр, который зависит от особенностей строения органов речевого аппарата у каждого человека. Тембр вашего голоса можно смоделировать, то есть описать его характеристики — для этого достаточно начитать в студии небольшой корпус текстов. После этого данные о вашем тембре можно использовать при синтезе речи на любом языке, даже таком, которого вы не знаете. Когда роботу нужно что-то сказать вам, он использует генератор звуковых волн — вокодер. В него загружается информация о частотных характеристиках фразы, полученная от акустической модели, а также данные о тембре, который придаёт голосу узнаваемую окраску.

Подробнее о технологиях из комплекса Yandex SpeechKit можно узнать на этой странице или на специальном ресурсе. Если вы разработчик и хотите протестировать облачную или мобильную версию SpeechKit, вам поможет сайт, посвящённый технологиям Яндекса.

Источник

Как это работает? | Синтез речи

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

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

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

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

Когда транскрипция составлена, компьютер рассчитывает, сколько в ней фреймов, или, иными словами, фрагментов длиной 25 миллисекунд. Далее каждый фрейм описывается множеством параметров: частью какой фонемы он является, какое место в ней занимает, в какой слог входит эта фонема. Также описывается ударность или безударность фонемы, в случае если это гласная. Кроме того, система создает правильную интонацию, используя данные о фразе и предложении.

Затем система задействует акустическую модель, чтобы прочитать подготовленный текст. Она устанавливает соответствия между фонемами с определёнными характеристиками и звуками. Акустическая модель знает, как правильно произнести фонему и придать верную интонацию предложению благодаря машинному обучению. Чем больше данных, на которых учится модель, тем лучше выдаваемый ей результат.

Синтез речи как работает. Смотреть фото Синтез речи как работает. Смотреть картинку Синтез речи как работает. Картинка про Синтез речи как работает. Фото Синтез речи как работает

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *