Como fazer com que o festival evaule suas próprias expressões de esquema a partir da linha de comando, de modo a alterar as vozes conforme necessário?

1

Não consigo encontrar nenhuma documentação sobre isso.

Esta postagem no fórum mostra alguém tentando mudar a voz usada pelo festival, do lado de fora do intérprete do festival, usando um sinalizador de linha de comando.

festival --\(voice_kal_diphone\) --tts "Langalist.txt"

Não funciona. Como solução, o arquivo de configuração do programa do OP acaba sendo editado. Todos aqui também parece usar esse método para selecionar vozes. Mas certamente, se de dentro do interpretador de esquemas do programa a expressão

luisetta@riverbrain:~$ festival

Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.

clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
hts_engine: 
The HMM-based speech synthesis system (HTS)
hts_engine API version 1.04 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2010  Nagoya Institute of Technology
              2001-2008  Tokyo Institute of Technology
All rights reserved.
For details type '(festival_warranty)'
festival> (voice_name_here)

da lista de vozes retornadas por digitação

festival> (voice.list)

funciona, então deve haver uma maneira de fazer o programa interpretar suas próprias expressões de esquema através da linha de comando também, certo?

    
por ixtmixilix 13.12.2011 / 16:52

1 resposta

1

Se você quiser apenas selecionar uma voz antes de fazer o TTS, use text2wave

echo 'hello world' | text2wave -eval '(voice_kal_diphone)' > hello.wav

text2wave é um script do Festival propriamente dito, por isso você pode facilmente customizá-lo.

Você pode fazer semelhante com a linha de comando do Festival:

festival '(voice_ked_diphone)' '(SayText "hello world")' '(exit)'

mas infelizmente não funciona junto com a opção --tts .

    
por 13.12.2011 / 19:05