С чего начать синтез речи - PullRequest
2 голосов
/ 06 мая 2011

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

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

1 Ответ

0 голосов
/ 06 мая 2011

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

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

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

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

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

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

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

UPDATE:

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

...