Задать вопрос
@zorro222

Как работает модель text-to-speech?

Там есть массив [ключ: значение], где ключ - каждая буква алфавита, значение - аудиозапись буквы?
Или там какой-то другой принцип работы?

В этом случае все буквы должны звучать по разному.
Как тогда происходит "сглаживание" между разными буквами?
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Это очень наивный вариант TTS.
Во-первых, не буквы, а звуки. Нужно вспомнить фонетический разбор, которому учили в школе.
Каждый язык имеет свою специфику. Есть огромное количество нюансов, исключений, особенностей и тонких настроек.
Если вы планируете на полном серьёзе сделать свой движок TTS с сегодняшним уровнем знаний, то у вас не получится. Просто отсавьте эту проблему и возьмите готовый TTS движок, например Festival. Там же и код глянуть можете как это делается.
Ответ написан
Vindicar
@Vindicar
RTFM!
Ну вообще правильный ответ был бы "ознакомься с источниками вроде этого", так как в рамках ответа исчерпывающее описание дать не получится. В тексте расставлены ссылки на другие статьи, есть куда покопаться.
К слову, реализации этого подхода тоже есть.

Но если коротко, обычно используется seq2seq model, т.е. нейронная сеть, которая обучается сопоставлять последовательности входных и выходных сигналов. Фокус в том, что входным сигналом часто является не символ, а n-грамма - последовательность из n символов. При этом синтезируется не сразу waveform, а сначала частотная диаграмма - кадр за кадром, почти как в формате mp3.

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

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

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

Войдите, чтобы написать ответ

Похожие вопросы