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

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

6 ответов

Решение
  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"
    

Вы можете установить голоса эмброла, выполнив следующую команду:

sudo apt-get install mbrola mbrola-en1

для получения дополнительной информации посетите официальное репо с github

espeak docs и man-страницы

Этот процесс работает на 20.04.2 LTS (Focal Fossa):

Найди свой голос

Найдите нужный голос mbrola, посетив гитхаб:

https://github.com/numediart/MBROLA-голоса

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

Получить зависимости

Установите зависимые приложения:

      sudo apt install -y espeak mbrola mbrola-en1 speech-dispatcher speech-dispatcher-espeak-ng

Изменить речь-диспетчер/speechd.conf

Для простоты мы добавим наш конфиг вверху speechd.conf и закомментируем один параметр в speechd.conf.

Итак, открываем voiced.conf:

      sudo nano /etc/speech-dispatcher/speechd.conf

Вставьте следующее в верхнюю часть документа:

      # Enable British English "en1"
AddModule "espeak-mbrola-generic"    "sd_generic"   "espeak-mbrola-generic.conf"
DefaultModule espeak-mbrola-generic
LanguageDefaultModule "en1"  "espeak-mbrola-generic"

Теперь выполните поиск с помощью «Ctrl+W» и скопируйте/вставьте:

      DefaultModule espeak-ng

Теперь закомментируйте его, добавив решетку в начале, например:

      #DefaultModule espeak-ng

Теперь сохраните voiced.conf в nano:

  • Нажмите Ctrl+X
  • Нажмите «Y», чтобы перезаписать
  • Нажмите Enter, чтобы сохранить и закрыть nano.

Запустите демон диспетчера речи

Запустите вставку демона командой:

      sudo speech-dispatcher -d

Это должно запустить речевой демон.

Тестируете мбролу? Я не знаю как.

Тестирование новой озвучки британского английского языка в espeak не приведет к вашим изменениям; это будет голос espeak по умолчанию , а не "en1", британский английский голос, который вы сейчас используете для mbrola .

Я не знаю, как тестировать mbrola, поэтому я просто продолжу свою реализацию mobrola-en1.

Произносить текст для Okular

Если вы заинтересованы в использовании PDF Reader с функцией преобразования текста в речь, установите Okular:

      sudo apt install okular

Теперь откройте PDF и:

  • Нажмите «Ctrl + 3», чтобы установить инструмент на «Выделение области».
  • Щелкните и перетащите рамку над фрагментом текста, который вы хотите прочитать в Okular.
  • После появления контекстного меню выберите «Произнести текст».

Успех!

Теперь вы успешно настроили преобразование текста в речь с помощью диспетчера речи, espeak, mbrola и mbrola-en1 с помощью Okular через репозиторий пакетов Ubuntu.

Регулировать скорость чтения

По умолчанию mbrola-en1 читает довольно быстро. Чтобы "притормозить" скорость, espeak --mbrola-generic config.


С конфигом, открытым в нано,

  • Нажмите "Ctrl+W"
  • Вставьте «GenericRateAdd» и введите

Задайте для GenericRateAdd число от 80 до 320.

      GenericRateAdd          200

Отрегулируйте высоту тона

Ниже GenericRateAdd вы также можете настроить Pitch:

      GenericPitchAdd         80

Теперь сохраните espeak-mbrola-generic.conf в nano:

  • Нажмите Ctrl+X
  • Нажмите «Y», чтобы перезаписать
  • Нажмите Enter, чтобы сохранить и закрыть nano.

Отрегулируйте скорость разрыва слов

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

      sudo nano /etc/speech-dispatcher/modules/espeak-mbrola-generic.conf

Одна из первых незакомментированных строк выглядит так:

      "echo \'$DATA\' | espeak -v mb-$VOICE -s $RATE -p $PITCH $PUNCT -q --stdin>

Добавьте в аргумент после espeak " -g 15 ", чтобы установить время промежутка между словами равным 15 мс (по умолчанию 10 мс):

      "echo \'$DATA\' | espeak -g 15 -v mb-$VOICE -s $RATE -p $PITCH $PUNCT -q --stdin>

Если вы сохранили плохую конфигурацию...

Пропустите это, если вы сохранили и успешно запустили хорошую озвученную конфигурацию.

Если вам удастся напортачить и сохранить свой файл конфигурации, обратитесь к ответу Jeremy Bicha.

Сначала удалите voiced.conf

      sudo rm -rf /etc/speech-dispatcher/speechd.conf

Переустановите диспетчер речи и перегенерируйте конфигурацию

      sudo apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" speech-dispatcher

Геспикер в Ubuntu 18.04

Привет всем, я искал способы улучшить взаимодействие с пользователем espeak, включая изменение/добавление новых голосов, и наткнулся на эту статью о Gespeaker, который представляет собой графический интерфейс для espeak. Его легче использовать, особенно для фрагментов текста, которые вы можете вырезать и вставлять с веб-страницы и читать. Чтобы расширить текстовое окно для размещения больших фрагментов текста, нажмите кнопку «Дополнительные настройки» (см. изображение).

В голосовом разделе есть вариант для варианта (где у вас есть мужской и женский - какие работают). Я не знаю, как использовать это, чтобы добавить вариант (голоса?). Я обновлю это, если найду способ.

Чтобы установить Gespeaker, откройте Терминал и

$ sudo apt-get установить gespeaker

Вам также необходимо установить python-dbus

$ sudo apt-get установить python-dbus

для запуска приложения.

Обновлять. Мне удалось добавить дополнительные голоса mbrola, которые можно использовать с Gespeaker.

Вот как. Сначала установите механизм преобразования текста в речь mbrola. Откройте терминал и введите $ sudo apt install mbrola , а затем нажмите клавишу возврата.

Вы должны увидеть что-то подобное, если установка прошла нормально: "MBROLA 3.01h - синтезатор речи Автор: Тьерри Дютуа с помощью адаптера переменного/постоянного тока Винсент Пейджель Copyright (c) 95 Faculte Polytechnique de Mons (лаборатория TCTS) - Т. Дютуа... так далее"

Затем установите голос mbrola. Вы можете просмотреть список доступных голосовых пакетов здесь:http://www.muflone.com/gespeaker/english/mbrola_voices/ubuntu1610 Последние обновления были для Ubuntu 16.10. Более новых версий не нашел.

Установите голосовой пакет. Например, чтобы установить женский английский голос в США.

$ sudo apt установить mbrola-us1

Перезапустите Gespeaker.

Вы должны увидеть, как голос появляется среди существующих голосов espeak на языковой панели Gespeaker. См. изображение ниже.

Я до сих пор не знаю, как использовать опцию «Вариант».

Кредиты: https://vitux.com/convert-text-to-voice-with-espeak-on-ubuntu/

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

Тебе понадобится 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 ***

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

Этот ответ представляет собой обновленную версию принятого ответа MateoПоскольку ISIA Lab (ранее известная как TCTS) больше не размещает свой веб-сайт, мы должны загрузить их напрямую с GitHub. Отказ от ответственности: в настоящее время я работаю в этой лаборатории, но не над этим проектом.

  1. Установите необходимые зависимости ( подробности см. в репозитории MBROLA на GitHub ):

            sudo apt update
    sudo apt install espeak make gcc git -y
    
  2. Загрузите, скомпилируйте и установите MBROLA:

            git clone https://github.com/numediart/MBROLA.git
    cd MBROLA
    make
    cp Bin/mbrola /usr/bin/mbrola
    
  3. Загрузите нужный голос из репозитория MBROLA-voices на GitHub (можно сделать вручную):

            mkdir /usr/share/mbrola/en1
    curl -L -o /usr/share/mbrola/us1/us1 https://github.com/numediart/MBROLA-voices/blob/master/data/en1/en1?raw=true
    

    Примечание:/usr/share/mbrola/en1это папка, а путь к вашему файлу будет/usr/share/mbrola/en1/en1. Не забудьте изменитьen1любым голосом, который вы хотите использовать (также в командах ниже).

  4. Теперь вы можете запустить:

            espeak -v mb-en1 "Hello world"
    

    Матео сказал, что голос читает слишком быстро, и предложил установить скорость с помощью-s 120:

            espeak -v mb-en1 -s 120 "Hello world"
    
  5. Бонус! Если вы, как и я, установилиMBROLAиespeakна удаленном автономном сервере вы можете предпочесть создать.wavфайл и использоватьscpчтобы загрузить его на свой локальный компьютер.

    Создайте файл на удаленном компьютере:

            ssh user@remote_machine_ip 'espeak -v mb-us1 -s 120 "Nice hat" --stdout > /tmp/file.wav && exit'
    

    Загрузите сгенерированный файл:

            scp user@remote_machine_ip:/tmp/file.wav /local_machine/path/to/file.wav
    
Другие вопросы по тегам