С чего начать синтез речи

Вы, ребята, возможно, знакомы с механизмом Google TTS: здесь.

У меня есть базовое понимание того, как что-то подобное может анализировать ввод и выбирать разные слоги/части речи, но с чего бы мне начать, если бы я захотел создать «голос» для системы TTS?


person roflwaffle    schedule 05.05.2011    source источник


Ответы (1)


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

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

Для каждой фонемы «фильтр» будет разным, поэтому вам понадобится библиотека фонем для создания «фильтров». Теоретически обратную фильтрацию можно использовать в библиотеке звуковых клипов фонем, чтобы найти коэффициенты «фильтра». Рекурсия Левинсона-Дарбина часто используется для нахождения коэффициентов LPC.

Должна быть создана голосовая последовательность импульсов. Простой способ сделать это — свернуть последовательность импульсов с положительной полусинусоидой.

Наконец, отфильтруйте последовательность импульсов голосовой щели с помощью коэффициентов «фильтрации», связанных с фонемой, которую вы хотите создать.

Но это только для озвученной речи. Чтобы сгенерировать невокализованную речь, простое решение состоит в том, чтобы отфильтровать случайный шумовой сигнал с коэффициентами «фильтрации», связанными с невокализованными речевыми фонемами.

Один слой абстракции выше этого, создайте список необходимых фонем и объедините их. Просто как пирог!

ОБНОВИТЬ:

Друг указал на Festival, «черный ящик» для ввода текста и получения речи: http://festvox.org/festival/

person whlteXbread    schedule 05.05.2011