В.г. Команды festival

Управление синтезатором речи происходит путем запуска процесса и передачи ему команд. Ниже приведен список ключевых команд используемых в проекте.

(SayText «_Text_») – произнести  _Text_.
(set! utt1 (Utterance Text «_Text_») – Присвоить переменной utt1 значение указанное в скобках.
(utt.synth utt1) – синтезировать данные из переменной utt1
(utt.play utt1) – проиграть предварительно синтезированные данные из переменной utt1
(utt.save.wave utt1 «Ffilename») – сохранение файла в «Ffilename» – переменная содержащая путь и имя файла.

Для организации полилоговой формы записи (в один звуковой фаил записывается речь синтезированная несколькими голосами) используются следующие команды:

(set! «LangCurrent» (utt.wave (utt.synth (Utterance Text «lexema»)) ))

LangCurrent = «utt0″ – переменная, содержимое которой будет меняться в зависимости от диктора;
lexema - переменная содержащая текст заданного диктора.

Затем определим в festival переменную  SumUtt

(set! SumUtt «LangCurrent»),

которая в дальнейшем будет содержать сумму всех переменных произношения utt0

(set! SumUtt (wave.append SumUtt «LangCurrent»)).

Когда полилог собран, можно озвучить командой:
(wave.play SumUtt),

или сохранить

(wave.save SumUtt «Ffilename»).

Реализацию алгоритма  можно увидеть в проекте eGolos.

Список имен языков:

(voice_msu_ru_nsh_clunits) – ru

(voice_rab_diphone) – uk

(voice_ked_diphone) – usa

(voice_hy_fi_mv_diphone) – finn suomi

(voice_hl_diphone) – welsh

(voice_el_diphone) – spanish

(language_italian) – it

(language_czech) – cz

(language_scots_gaelic) – scots

(language_klingon) -klingon

Добавить комментарий