Задача text-to-speech

Синтез речи или Text-to-Speech (TTS) — технология преобразования текста в речь. Это компьютерное моделирование человеческой речи из текстового представления при помощи методов машинного обучения и нейронных сетей. Благодаря синтезу речи можно прочитать любой текст голосом, максимально похожим на естественный. Чтобы сделать синтезированную речь натуральной, необходимо отточить ее тембр, плавность звучания, расстановку ударений и пауз, интонацию и другие области. 

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

Конкатенативный - этот метод основан на предварительной записи коротких аудио-фрагментов (обычно длительность таких фрагментов варьируется от 10 миллисекунд до 1 секунды), которые затем объединяются для создания связной речи. Она получается очень чистая и ясная, но абсолютно лишена эмоциональной и интонационной составляющих, то есть звучит неестественно. А всё потому, что невозможно получить аудиозапись всех возможных слов, произносимых во всех возможных сочетаниях эмоций и просодии. Конкатенативные системы требуют огромных баз данных и жесткого кодирования комбинаций для формирования слов. Разработка надежной системы занимает очень много времени. К тому же, если захочется изменить голос спикера, потребуется вновь пересобирать всю базу данных уже с новым голосом.
Параметрический - этот метод синтез основан на использовании так называемых скрытых Марковских моделях (HMM-based). Скрытая марковская модель (HMM) - это статистическая марковская модель, в которой моделируемая система считается марковским процессом - назовем его X - с невидимыми («скрытыми») состояниями. HMM предполагает, что существует другой процесс Y, поведение которого «зависит» от X. Цель состоит в том, чтобы узнать о X, наблюдая за Y. В звуковых системах частотный спектр, несущая частота и продолжительность речи моделируются одновременно с помощью HMM. Речевые сигналы генерируются из самих HMM на основе критерия максимального правдоподобия. Преимущество этого подхода - возможность изменять параметры голоса, регулируя переменные функции модели Маркова. Из недостатков, стоит отметить, что синтезируемая речь звучит менее естественно, чем при конкатенативном подходе.

Параметрический синтез состоит из следующих этапов:

  • Сначала из текста извлекаются лингвистические признаки, например, фонемы, продолжительность и т.д.
  • Затем для вокодера (системы, генерирующей wave-формы) извлекаются признаки, которые представляют соответствующий речевой сигнал: кепстр, частота, линейная спектрограмма, мел-спектрограмма.
  • Эти, настроенные вручную, параметры наряду с лингвистическими особенностями передаются в модель вокодера, а тот выполняет множество сложных преобразований для генерирования звуковой волны. При этом вокодер оценивает параметры речи, такие как фаза, просодия, интонация и другие.

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

Теоретически всё просто, но на практике возникает множество артефактов, приводящих к нереалистичной речи.

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

Здесь и раскрывается потенциал глубоких нейронных сетей. Глубокие нейронные сети являются мощным инструментом, который, теоретически, может аппроксимировать сколь угодно сложную функцию, т. е. привести некоторое пространство входных данных X в пространство выходных данных Y. В контексте TTS задачи это будут, соответственно, текст и аудио с речью.