В этой статье:

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

Подготовка файла для гибридного синтеза

      1. Запишите озвучку блока, в котором вы планируете применять гибридный синтез. На месте озвучиваемой переменной должно быть какое-либо слово. Например, если с помощью синтеза озвучивается имя клиента, во фразе должно быть случайное имя, которое далее будет заменено на значение переменной. Если в файле озвучки на месте переменной находится пустота, то точность синтеза будет заметно снижена. Рекомендуется делать запись в хорошем качестве и без посторонних шумов, так как это может повлиять на качество синтеза.

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

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

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

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

      4. Экспортируйте файл озвучки. 

Длина всей фразы с учетом синтезируемой переменной должна быть не менее 3 секунд.

Загружаемый аудиофайл должен быть в формате .wav.



      5. Откройте нужный сценарий в редакторе сценариев. Для включения гибридного синтеза в стартовом блоке выберите тип аудио Аудиозаписи, и тип голоса Гибридный синтез.

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

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

Ограничение длины фразы для гибридного синтеза – 250 символов. В одной фразе может быть только одна синтезированная переменная и она не должна превышать 25% от всей фразы.

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


7. Прокрутите вниз настройки блока и нажмите на кнопку Добавить запись (Гибридный синтез). Ниже появится поле, куда можно загрузить файл.

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


8. Введите время начала озвучки переменной и ее длительность в разделе Управление переменными. Это значения, полученные в шаге 3.

При разметке звуковой дорожки перед синтезируемой переменной и после нее необходимо делать отступ в 50 мс. 

Например, если во фразе синтезируемую переменную можно начать произносить с 2500 мс и она будет произноситься 1000 мс, то в поля начала и продолжительности переменной необходимо вписать 2450 и 1050 соответственно.


При изменении текста в блоке данные параметры будут сброшены и их потребуется ввести заново.

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


9. Сохраните сценарий и протестируйте его в голосовом режиме редактора.

Что делать, если синтез звучит неестественно

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

Решения возможных проблем

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

Для точной настройки можно делать смещения на 10-20мс.

  • Пауза перед переменной слишком короткая / Синтез искажает окончание предыдущего слова: Необходимо установить более позднее время начала переменной.
  • Пауза перед переменной слишком длинная: Необходимо установить более ранее время начала переменной.
  • Пауза после переменной слишком длинная / Синтез искажает следующее слово: Необходимо уменьшить длительность синтеза переменной.
  • Пауза после переменной слишком короткая: В данном случае может помочь как уменьшение длительности синтеза, так и увеличение. Попробуйте использовать различные значения, отталкиваясь от исходного значения, полученного замером фрагмента в аудиоредакторе.
  • В синтезе устанавливается неправильное ударение: В значении переменной для синтеза можно расставить ударения с помощью символа «+». Таким образом можно корректировать произношение слов. Например, з+амок и зам+ок.
  • Громкость фразы с гибридным синтезом выше, чем громкость остальных фраз: Это может означать, что используемые аудиофайлы слишком тихие. Генерируемая с помощью гибридного синтеза фраза всегда будет на максимальной громкости, поэтому аудиофайлы стоит нормализовать перед их загрузкой в сценарий бота.