Как установить больше голосов в Espeak?
Не могли бы вы помочь мне установить голоса отсюда, я прочитал руководство, но я не знаю, как можно получить Get1.
6 ответов
- Загрузить: http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
Скопируйте текст для запуска в терминале построчно:
cd Downloads unzip mbr301h.zip sudo cp mbrola-linux-i386 /usr/bin/mbrola
Загрузить: http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/en1/en1-980910.zip
Скопируйте текст для запуска в терминале построчно:
unzip en1-980910.zip cp en1/en1 /usr/share/mbrola/en1
Теперь запустите espeak, с параметрами
espeak -v mb-en1 "Hello world"
Хорошо, но кажется, что он читает слишком быстро, попробуйте:
espeak -v mb-en1 -s 120 "Hello world"
Вы можете установить голоса эмброла, выполнив следующую команду:
sudo apt-get install mbrola mbrola-en1
для получения дополнительной информации посетите официальное репо с github
Этот процесс работает на 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. Отказ от ответственности: в настоящее время я работаю в этой лаборатории, но не над этим проектом.
Установите необходимые зависимости ( подробности см. в репозитории MBROLA на GitHub ):
sudo apt update sudo apt install espeak make gcc git -y
Загрузите, скомпилируйте и установите MBROLA:
git clone https://github.com/numediart/MBROLA.git cd MBROLA make cp Bin/mbrola /usr/bin/mbrola
Загрузите нужный голос из репозитория 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
любым голосом, который вы хотите использовать (также в командах ниже).Теперь вы можете запустить:
espeak -v mb-en1 "Hello world"
Матео сказал, что голос читает слишком быстро, и предложил установить скорость с помощью
-s 120
:espeak -v mb-en1 -s 120 "Hello world"
Бонус! Если вы, как и я, установили
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