Естественно звучащий текст в речь?
Я ищу простое в установке программное обеспечение преобразования текста в речь для Ubuntu, которое звучит естественно. Я установил Festival
, Gespeaker
и т. д., но ничего не звучит очень естественно. Все очень синтетично и трудно понять.
Есть какие-нибудь рекомендации?
16 ответов
Скажи это!
Я считаю, что нашел лучшее программное обеспечение TTS бесплатно, используя расширение Google Chrome под названием "SpeakIt". Это работает только в браузере Chrome для меня на Ubuntu. По какой-то причине он не работает с Chromium. SpeakIt поставляется с двумя женскими голосами, которые звучат очень реалистично по сравнению со всем остальным. В списке расширений Chrome есть еще как минимум четыре мужских и женских голоса, если вы выполняете поиск в Chrome Web Store, используя в качестве запроса "TTS".
Использование: для использования на веб-сайте. Вы выделяете текст, который хотите прочитать, и либо щелкаете правой кнопкой мыши и "SpeakIt", либо щелкаете по значку SpeakIt, закрепленному на верхней панели Chrome.
У пользователей Firefox также есть два варианта. В аддонах Firefox выполните поиск TTS, и вы должны найти "Click Speak", а также "Text to Voice". Голоса не так хороши, как голоса Chrome SpeakIt, но, безусловно, пригодны для использования.
Расширение SpeakIt использует технологию iSpeech и по цене 20 долларов в год сайт может конвертировать текст в аудиофайлы MP3. Вы можете вводить текст, URL-адреса, RSS-каналы, а также документы, такие как TXT, DOC и PDF, и выводить их в MP3. Вы можете создавать подкасты, вставлять аудио и т. Д. Вот ссылка и образец их аудио (не знаю, как долго будет длиться ссылка).
SVOX pico2wave
Очень минималистичный TTS, лучше звучащий, чем espeak или mbrola (на мой взгляд). Некоторая информация здесь.
Я не понимаю, почему pico2wave, по сравнению с espeak или mbrola, редко обсуждается. Это маленький, но звучит очень хорошо (естественно). Без изменений вы услышите естественно звучащий женский голос.
И... по сравнению с Mbrola, он распознает единицы и говорит это правильно!
Например:
- 2 ° C → два градуса
- 2м → два метра
- 2 кг → два килограмма
После установки я использую его в скрипте:
#!/bin/bash
pico2wave -w=/tmp/test.wav "$1"
aplay /tmp/test.wav
rm /tmp/test.wav
Затем запустите его с нужным текстом:
<scriptname>.sh "hello world"
или прочитайте содержимое всего файла:
<scriptname>.sh "$(cat <filename>)"
Вот и все, чтобы иметь легкий, стабильно работающий TTS на Ubuntu.
Пико и Эспик - это весело и легко добраться до работы, но они не так уж хороши. Фестивальные голоса по умолчанию также не так хороши. Тем не менее, Festival - это основанная на схеме речевая структура, в которой ряд исследователей создали гораздо лучшие подключаемые голоса. Вы можете легко превзойти качество pico2wave на стандартной Ubuntu, потому что один из этих голосов доступен в виде готового пакета.
Чтобы фестиваль звучал естественно, вот что нужно сделать:
sudo apt-get install festival
sudo apt-get install festvox-us-slt-hts
festival -i
festival> (voice_cmu_us_slt_arctic_hts)
festival> (SayText "Don't hate me, I'm just doing my job!")
Вы можете сделать это из командной строки, используя -b
(или же --batch
) и помещая каждую команду в одинарные кавычки:
festival -b '(voice_cmu_us_slt_arctic_hts)' \
'(SayText "The temperature is 22 degrees centigrade and there is a slight breeze from the west.")'
Вы можете получить другие неплохие голоса из репозитория Nitech, но их установка очень сложна, и пути по умолчанию изменены, поэтому ссылки на имена файлов в связанных файлах схемы, возможно, придется отредактировать вручную для работы на стандартной Ubuntu.
Простой Google™ TTS
Обновление со страницы проекта (2019-02): этот проект в настоящее время не поддерживается и останется таковым в обозримом будущем.
Из-за отсутствия лучшей альтернативы я написал сценарий bash, который связывается со сценарием perl от Michal Fapso для предоставления TTS через Google Translate. Из описания проекта:
Намерение состоит в том, чтобы предоставить простой в использовании интерфейс для преобразования текста в речь через систему синтеза речи Google. Резервная опция, использующая pico2wave, автоматически обеспечивает синтез TTS в случае, если Интернет-соединение не найдено.
В настоящее время оболочка поддерживает чтение из стандартного ввода, текстовых файлов и выделения X (выделенный текст).
Основными функциями являются:
- онлайн синтез TTS через Google переводчик
- автономный синтез TTS через pico2wave
- поддерживает множество разных языков
- может читать из CLI, текстовых файлов и выделенного текста
- поддерживает чтение выделенного текста с фиксированным форматированием (например, файлы PDF)
Установка и использование документированы на странице проекта.
Буду рад, если вы попробуете. Сообщения об ошибках и любые другие отзывы приветствуются!
ГТЦ
gTTS (Google Text-to-Speech), библиотека Python и инструмент CLI для взаимодействия с API преобразования текста в речь Google Translate. Пишет разговорный
mp3
данные в файл, файлоподобный объект (bytestring) для дальнейшей обработки звука илиstdout
,
Минусы: только для CLI. Нужно быть в сети, как это требуется для запроса к общедоступной открытой конечной точке Google.
sudo -H pip install gTTS # Install
использование
gtts-cli 'hello' --output hello.mp3
gtts-cli -l es 'Nadie es patria, todos lo somos' | play -t mp3 -
другие
Некоторые уже упоминались
Мимик Монтаж:
sudo apt-get install gcc make pkg-config automake libtool libasound2-dev git clone https://github.com/MycroftAI/mimic.git # take a while cd mimic ./dependencies.sh --prefix="/usr/local" # take a while ./autogen.sh ./configure --prefix="/usr/local" make # take a while make check
eSpeak + Gespeaker (GUI) ( исходный код Gespeaker)
Минусы: старые и некрасивые
sudo apt install espeak gespeaker
- Fire Fox
- Хром
Я посмотрел высоко и низко для преобразования текста в речь для Ubuntu, что является высоким качеством. Здесь ничего нет. Мои голосовые связки парализованы, поэтому мне понадобился TTS, чтобы добавить голосовые инструкции к моим видео Ubuntu. Вы можете получить коммерческое высококачественное программное обеспечение для преобразования текста в речь здесь. Это просто очень дорого. В итоге я купил Natural Reader для Windows (не работает в Ubuntu под Wine) за 40 долларов. Возможно, позже я получу Linux.
Я проводил исследования лучшего звучания и легко настраиваемого текста в речевые голоса. Ниже приведен список пяти лучших продуктов в порядке качества звука. Большинство веб-сайтов, связанных с этим продуктом, имеют интерактивную демонстрацию, которая позволит вам принять собственное решение.
- NeoSpeech
- Ivona
- Acapela
- AT & T Natural голоса
- CereProc Voices
Объедините инструменты SVOX (пико) с LibreOffice:
Инструменты SVOX (pico) просты в установке и обеспечивают хорошее качество голоса в Ubuntu. Установите это:
sudo apt-get install libttspico0 libttspico-utils libttspico-data
Вы можете использовать LibreOffice в сочетании с инструментами SVOX (pico), установив расширение "Читать текст", и вы получите "GUI" для этого превосходного программного обеспечения TTS:
Настройте параметры чтения текстового расширения с помощью Сервис - Дополнения - Чтение выделения.... Используйте /usr/bin/python в качестве внешней программы. Выберите параметр командной строки, который включает токен (PICO_READ_TEXT_PY), вы можете поэкспериментировать с некоторыми из них.
Теперь вам нужно только выбрать какой-нибудь текст в LO Writer, Calc, Impress или Draw и щелкнуть по значку, добавленному в качестве панели инструментов (счастливое лицо с шариком).
Я нахожу голоса Nitech HTS на фестивале очень естественными и утешительными по сравнению с любыми другими голосами, которые я слышал. Смотрите эту ссылку о том, как настроить Nitech и другие звуки с фестиваля. Я не нашел хорошего графического интерфейса, который я мог бы использовать для настройки этих голосов, но настройка их через festival.scm все еще работает. Это сообщение очень старое, и вы, возможно, захотите найти актуальный каталог установки с помощью команды "locate festival"
Вот что я сделал, чтобы иметь чистую естественную речь для PDF и других текстовых файлов (другие решения не являются естественными, или они просто платные услуги). На самом деле это обходной путь с использованием хрома или хрома, но работает быстро и легко.
- Установите SpeakIt! расширение на ваш хром или хром.
- Установите PDF Viewer, если вы используете Chromium(Chrome уже имеет программу просмотра PDF бесплатно) и отметьте опции "Разрешить в инкогнито" и "Разрешить доступ к URL-адресам файлов" в настройках расширений Chromium.
- Перетащите PDF-файл в браузер.
- Теперь выделите текст и щелкните правой кнопкой мыши и выберите SpeakIt! так что вы можете слушать чистый натуральный текст в речь.
Также есть способы открыть другие файлы, такие как.doc и.txt, в chrome и сделать то же самое. Есть другие расширения для chrome, которые просматривают PDF-файлы, проверьте, подходит ли вам это лучше. Кроме того, вы можете загружать все виды текстов в Google Drive и использовать SpeakIt! читать это для вас. Другое расширение под названием "Говорить текст" работает так же и имеет естественную речь.
При поиске лучшего движка tts для использования с новым режимом повествования firefox 49 я нашел pico tts (svox) - мой любимый движок TTS.
sudo apt install espeak libttspico0 libttspico-data libttspico-utils
Как изменить стандартную систему синтеза речи по умолчанию?
Люди в Arch Linux привели меня на правильный путь:
Раскомментируйте понравившийся модуль и установите его по умолчанию в настройках диспетчера речи:
# sudo vim /etc/speech-dispatcher/speechd.conf
[...]
# -----OUTPUT MODULES CONFIGURATION-----
# Each AddModule line loads an output module.
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "pico-generic" "sd_generic" "pico-generic.conf"
[...]
#DefaultModule espeak
DefaultModule pico-generic
Перезапустите демон:
# sudo systemctl restart speech-dispatcher.service
НО, при повторном запуске firefox ничего не происходит. По ссылке выше (арка на форуме № 10 и № 16) работает с фестивалем (не пробовал), но речевой диспетчер для пико не перечисляет доступные голоса. Это не будет работать.
Любая идея там будет высоко ценится;-)
Моя любимая программа преобразования текста в речь называется Magic English, но, как и Natural Reader, упомянутый Джо Стейгером, это программа для Windows, и я не уверен, будет ли она работать под Wine.
AT & T Natural Voices доступна в режиме онлайн в качестве демонстрации, но это скорее обходной путь, чем решение...
Для этого я создаю https://intelligent-speaker.com/ - расширение для Google Chrome. Он может читать страницы даже без выделения (когда текст задержание правильно).
Простой Google™ TTS
Пико, mbrola, cmu, фестиваль, флайт, все сосут в 2017 году (они были потрясающими в 90-х). Естественная речь AT&T (что фантастично) не совместима с Linux и не бесплатна, поэтому мы используем Google
git clone https://github.com/Glutanimate/simple-google-tts.git
sudo apt install xsel libnotify-bin libttspico0 libttspico-utils libttspico-data libwww-perl libwww-mechanize-perl libhtml-tree-perl so$
cd simple-google-tts
sudo ln -s `pwd`/simple_google_tts /usr/local/bin
simple_google_tts en "Text to speech is now installed"
cd -
Verbify-TTS
Да! Я столкнулся с точно такой же проблемой, которую вы описываете. Год назад я создал пользовательскую TTS, которой пользуюсь уже почти два года, и открыл ее исходный код. Он работает в автономном режиме и бесплатно, используя высококачественный голос на основе искусственного интеллекта. Вы можете использовать его везде: браузер Firefox, программа для чтения PDF, Chrome, LibreOffice и т. д. Он поддерживает как Ubuntu, так и Windows.
Не стесняйтесь посмотреть, я только что создал видеоурок с шагами по установке и DEMO: https://youtu.be/hb1ZVwUcPCU
Ссылка для скачивания и страница проекта: https://github.com/MattePalte/Verbify-TTS
Не стесняйтесь оставлять комментарии/открытые вопросы для обсуждения новых идей, проблем или конструктивной критики.
Надеюсь, это поможет вам.
В системах Linux вы можете сбросить выделение X (текст, который вы выбрали на экране с помощью мыши) в текстовый файл, а затем прочитать с помощью некоторого TTS (в настоящее время я использую скрипт Google Translate Python gTTS):
#!/bin/bash
TXT="/tmp/speak.txt"
# save X text selection to a file
xclip -out > $TXT
# remove smiles
sed -i 's/ :[pP]/./' $TXT
sed -i 's/ :\//./' $TXT
sed -i 's/ :D/./' $TXT
sed -i 's/ ;D/./' $TXT
sed -i 's/ :(/./' $TXT
# Abbreviations:
sed -i 's/[^a-z]IPv6[^a-z]/I P version 6/gi' $TXT
sed -i 's/[^a-z]MR[^a-z]/merge request/gi' $TXT
sed -i 's/[^a-z]btw[^a-z]/by the way/gi' $TXT
sed -i 's/[^a-z]WIP[^a-z]/work in progress/gi' $TXT
sed -i 's/[^a-z]CLI[^a-z]/command line/gi' $TXT
# Latin
sed -i 's/i\.e\./that is/gi' $TXT
sed -i 's/e\.g\./for example/gi' $TXT
gtts-cli -f $TXT | play -t mp3 -
Привяжите этот скрипт к какой-нибудь клавише, например, к правой клавише меню, и каждый раз, когда вы выделяете текст в любой программе: Firefox, Thunderbird, LibreOffice Write, PDF-ридер или даже Терминал, вы будете слышать текст.
PS. вы также можете добавить
--slow
вариант gtts-cli.