Как установить больше голосов в Espeak?

14

Не могли бы вы помочь мне установить голоса отсюда , я прочитал руководство, но я не знаю, как можно «получить en1».

Даниал
источник
Я видел способы играть с espeak с пост-фильтрами sox, если вы просто хотите изменить голос, использовать swift из cepstral, чтобы использовать более человеческие звучащие голоса, или подключить cepstral голоса к фестивалю для использования с IVR. Я не видел способа подключить больше человеческих голосов, чтобы говорить, хотя.
RobotHumans

Ответы:

11
  1. Загрузить: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
  2. Скопируйте текст для запуска в терминале построчно:

    cd Downloads
    unzip mbr301h.zip
    sudo cp mbrola-linux-i386 /usr/bin/mbrola
    
  3. Загрузить: http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip

  4. Скопируйте текст для запуска в терминале построчно:

    unzip en1-980910.zip
    cp en1/en1 /usr/share/mbrola/en1
    
  5. Теперь запустите espeak, с параметрами

    espeak -v mb-en1 "Hello world"
    
  6. Хорошо, но, кажется, он читает слишком быстро, попробуйте:

    espeak -v mb-en1 -s 120 "Hello world"
    
Mateo
источник
Большое спасибо, знаете ли вы другой способ улучшить качество голоса и произношение?
Даниял
1
@Daniyal: Вы можете создавать фонемы espeakи обрабатывать их через mbrola : espeak -v mb-en1 -s 120 "Hello world" --pho|mbrola /usr/share/mbrola/en1 output.wav(обратите внимание на добавление --phoопции к espeak).
Скиппи ле Гран Гуру
@SkippyleGrandGourou Нет, я не могу, получил эту ошибку: 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 я не знаю, что вы хотите, но, возможно, вы можете использовать этоespeak -v mb-us2 -s 120 "Hello world" -w output.wav --pho
Daniyal
@Daniyal: это означает, что у вас нет en1голоса ни в /usr/share/mbrola(что вы должны делать, если вы выполнили шаг 4 ответа Матео), ни в /usr/share/mbrola/voices. Либо исправьте это (создав каталог вручную и скопировав туда голоса), либо замените /usr/share/mbrola/en1путь на уже установленный голос mbrola. Это действительно того стоит, с голосом гораздо плавнее mbrola(хотя пока не идеально).
Скиппи ле Гран Гуру
1
Это вниз для меня , но мне удалось найти его на Вайбак машине: web.archive.org/web/20180627172600/http://www.tcts.fpms.ac.be/...
Faissaloo
1

Вот копия ответа Матео в виде одной команды и очистки.

Вам понадобятся sudoпривилегии для копирования /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"

Я получаю эту ошибку, когда текст читается, но, похоже, работает:

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

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

Дитер Грибниц
источник
Я получаю ту же ошибку, я бы просто угадал, как она установлена, ну да ладно.
TheCodingKlam