Естественно звучащий текст в речь?

Я ищу простое в установке программное обеспечение преобразования текста в речь для 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 -

Документация и другие примеры

другие

Некоторые уже упоминались

Я посмотрел высоко и низко для преобразования текста в речь для Ubuntu, что является высоким качеством. Здесь ничего нет. Мои голосовые связки парализованы, поэтому мне понадобился TTS, чтобы добавить голосовые инструкции к моим видео Ubuntu. Вы можете получить коммерческое высококачественное программное обеспечение для преобразования текста в речь здесь. Это просто очень дорого. В итоге я купил Natural Reader для Windows (не работает в Ubuntu под Wine) за 40 долларов. Возможно, позже я получу Linux.

Я проводил исследования лучшего звучания и легко настраиваемого текста в речевые голоса. Ниже приведен список пяти лучших продуктов в порядке качества звука. Большинство веб-сайтов, связанных с этим продуктом, имеют интерактивную демонстрацию, которая позволит вам принять собственное решение.

  1. NeoSpeech
  2. Ivona
  3. Acapela
  4. AT & T Natural голоса
  5. 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 и других текстовых файлов (другие решения не являются естественными, или они просто платные услуги). На самом деле это обходной путь с использованием хрома или хрома, но работает быстро и легко.

  1. Установите SpeakIt! расширение на ваш хром или хром.
  2. Установите PDF Viewer, если вы используете Chromium(Chrome уже имеет программу просмотра PDF бесплатно) и отметьте опции "Разрешить в инкогнито" и "Разрешить доступ к URL-адресам файлов" в настройках расширений Chromium.
  3. Перетащите PDF-файл в браузер.
  4. Теперь выделите текст и щелкните правой кнопкой мыши и выберите 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.

Другие вопросы по тегам