Como instalar mais vozes para o Espeak?

14

Você poderia me ajudar a instalar vozes a partir daqui , li o manual Mas não sei como pode 'Get the en1'.

Daniyal
fonte
Eu já vi maneiras de brincar com falar com pós-filtros sox, se você quiser apenas modificar uma voz, use o swift do cepstral para usar mais vozes humanas ou conecte as vozes do cepstral ao festival para usar com IVRs. Eu não vi uma maneira de conectar mais vozes humanas para falar.
RobotHumans

Respostas:

11
  1. Faça o download: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
  2. Copie o texto para executar na linha terminal por linha:

    cd Downloads
    unzip mbr301h.zip
    sudo cp mbrola-linux-i386 /usr/bin/mbrola
    
  3. Faça o download: http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip

  4. Copie o texto para executar na linha terminal por linha:

    unzip en1-980910.zip
    cp en1/en1 /usr/share/mbrola/en1
    
  5. Agora execute espeak, com opções

    espeak -v mb-en1 "Hello world"
    
  6. Legal, mas parece que ele está lendo muito rápido, tente:

    espeak -v mb-en1 -s 120 "Hello world"
    
Mateo
fonte
Muito obrigado. Você conhece outra maneira de melhorar a qualidade e a pronúncia da voz?
Daniyal
1
@ Daniyal: Você pode gerar fonemas com espeake processá-los através do mbrola : espeak -v mb-en1 -s 120 "Hello world" --pho|mbrola /usr/share/mbrola/en1 output.wav(observe a adição da --phoopção a espeak).
Skippy le Grand Gourou
@SkippyleGrandGourou Não, não posso, entendi o erro: FATAL ERROR : cannot find file /usr/share/mbrola/en1 ! mbrola: FATAL ERROR : cannot find file /usr/share/mbrola/voices/en1 ! mbrowrap error: mbrola exited with status 216 mbrola voice not found não sei o que você quer, mas pode ser que você possa usá-lo #espeak -v mb-us2 -s 120 "Hello world" -w output.wav --pho
7119 Daniyal
@ Daniyal: significa que você não tem en1voz /usr/share/mbrola(o que você deveria se seguiu o passo 4 da resposta de Mateo) nem /usr/share/mbrola/voices. Corrija isso (criando o diretório manualmente e copiando vozes lá) ou substitua /usr/share/mbrola/en1pelo caminho para uma voz mbrola já instalada. Realmente vale a pena, a voz é muito mais suave mbrola(embora ainda não seja perfeita).
Skippy le Grand Gourou
1
É para baixo para mim, mas eu consegui encontrá-lo na máquina do tempo: web.archive.org/web/20180627172600/http://www.tcts.fpms.ac.be/...
Faissaloo
1

Aqui está uma cópia da resposta de Mateo como um único comando e limpeza.

Você precisará de sudoprivilégios para copiar /usr/bin/.


mkdir tmp_mbrola
cd tmp_mbrola
wget http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
unzip mbr301h.zip
sudo cp mbrola-linux-i386 /usr/bin/mbrola
wget http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip
unzip en1-980910.zip
sudo mkdir /usr/share/mbrola
sudo cp en1/en1 /usr/share/mbrola/en1
cd ..
sudo rm -Rf ./tmp_mbrola/
espeak -v mb-en1 -s 160 "Hello world"

Estou recebendo esse erro quando o texto é lido, mas parece funcionar:

*** Error in `mbrola': free(): invalid pointer: 0x08af1dd8 ***

Se alguém souber o que está causando esse erro, informe-me nos comentários.

Dieter Gribnitz
fonte
Eu recebo o mesmo erro, eu acho que é do jeito que está instalado, tudo bem.
TheCodingKlam #