5 способов получить голосовой вывод из вашего терминала Linux

Я всегда ищу интересные команды или инструменты для Linux, которые помогают мне выполнять различные задачи, не покидая терминал. Например, существует несколько инструментов командной строки, которые позволяют вашему терминалу Linux говорить с вами. Давайте рассмотрим эти инструменты и дадим вашему терминалу голос.
1. ESpeak
eSpeak — это легкий, открытый синтезатор речи, который на протяжении многих лет является фаворитом. Что делает eSpeak выдающимся, так это его скорость и низкое потребление ресурсов. Кроме того, он поддерживает несколько языков и акцентов, что делает его удобным для международных пользователей.
Запустить eSpeak очень просто. На большинстве систем на базе Debian/Ubuntu вы можете просто открыть терминал и ввести:
sudo apt install espeak
Для других дистрибутивов используйте менеджер пакетов вашей системы, такой как DNF, YUM или Pacman.
После установки использование eSpeak невероятно просто. Вы можете просто ввести espeak, за которым следует текст, который вы хотите, чтобы он произнес:
espeak "Привет из вашего терминала Linux!"Вот и все! Ваш компьютер теперь должен приветствовать вас (или то, что вы ввели) вслух. Если у вас есть текстовый файл, хранящийся где-либо в вашей системе, и вы хотите прочитать его содержимое вслух, используйте опцию -f вместе с именем файла.
espeak -f filename.txtВы также можете настроить параметры, такие как высота (-p) и скорость (-s) для роботизированного, но настраиваемого вывода.
espeak "Задача выполнена успешно"-p=30-s=150Не любите голос по умолчанию? eSpeak поддерживает разные голоса. Вы можете перечислить доступные голоса, используя опцию --voices:
espeak --voices
После выбора конкретного голоса вы можете указать имя голоса с помощью команды eSpeak:
espeak -v en-us "Привет, это eSpeak"Кроме того, вы можете перенаправить вывод команд непосредственно в речь, например:
ls-l| espeak --stdinПримечание: Существует множество других опций и настроек, которые вы можете исследовать. Чтобы увидеть все доступные опции, я рекомендую вам ознакомиться с руководством по инструменту eSpeak с помощью команды espeak --help.
2. Festival
Ищете высоконастраиваемый инструмент? Festival может быть именно тем, что вам нужно. Он предоставляет полную систему преобразования текста в речь с широким выбором голосов. Он более продвинутый, чем eSpeak, предлагая больший контроль над голосами и синтезом речи.
Вы можете установить Festival с помощью стандартного менеджера пакетов на вашей системе Linux, например, пользователи Debian или Ubuntu могут получить его из менеджера пакетов APT.
sudo apt install festivalЧтобы использовать Festival из командной строки для базового преобразования текста в речь, выполните это:
echo"Festival is a powerful text-to-speech system."| festival --ttsКроме того, вы можете прочитать любой текстовый файл с помощью Festival, выполнив:
festival --tts textfile.txtИнструменты командной строки Festival позволяют настраивать голос, корректировать произношение и многое другое. Ознакомьтесь с руководством festival --help для получения информации о различных опциях. Это идеальная альтернатива, если вы хотите больший контроль над синтезом речи.
3. Google Speech (gTTS)
В отличие от традиционных оффлайн-инструментов, этот вариант использует облако, используя мощные возможности синтеза речи Google. С четким произношением и естественно звучащими голосами Google Speech идеально подходит для тех, кто ценит высококачественный вывод и не против подключения к интернету.
Однако это не прямая команда, как eSpeak. Вместо этого мы будем использовать библиотеку Python под названием gTTS (Google Text-to-Speech). Сначала убедитесь, что Python и pipx (установщик пакетов Python) установлены. Если они установлены, установка gTTS так же проста, как:
pipx install gttsВам также понадобится аудиоплеер, такой как mpg123 или VLC. Если у вас нет плеера, вы можете установить его с помощью:
sudo apt install mpg123После установки gTTS и mpg123 вы можете использовать однострочную команду в вашем терминале, чтобы заставить голос Google говорить:
gtts-cli "Привет и добро пожаловать в Linux!" --output.txt temp.mp3 && mpg123 temp.mp3Чтобы перечислить все доступные языки, используйте опцию --all, а затем вы можете указать язык с помощью опции --lang. Например, чтобы переключиться на французский, используйте опцию --lang fr перед опцией --output:
gtts-cli "Привет и добро пожаловать в Linux!"--lang fr --output.txt temp.mp3 && mpg123 temp.mp3Google Speech требует немного больше настройки, чем более простые инструменты, но если качество голоса является приоритетом, gTTS — это фантастический вариант!
4. Say (Speech Dispatcher)
Если вы использовали macOS, вы, возможно, знакомы с командой say. Хотя это не стандартная команда Linux, вы можете достичь аналогичной функциональности, используя Speech Dispatcher и его команду spd-say.
Чтобы заставить spd-say работать, вам, вероятно, нужно будет установить сам Speech Dispatcher и, возможно, движок речи, такой как eSpeak, если у вас его еще нет. Чтобы установить его на Debian/Ubuntu, используйте стандартный менеджер пакетов APT:
sudo apt install speech-dispatcherSpeech Dispatcher действует как единый интерфейс для различных синтезаторов речи, позволяя вам использовать различные TTS-движки (включая eSpeak и Festival) с последовательной структурой команд. Это упрощает переключение между TTS-движками без значительных изменений в скриптах.
После установки используйте spd-say, чтобы заставить ваш терминал Linux говорить:
spd-say "Привет и добро пожаловать в Linux!"Эта команда должна использовать Speech Dispatcher для произнесения текста с использованием стандартного движка речи, настроенного в Speech Dispatcher.
Вы также можете настроить скорость речи, высоту и громкость, используя опции -r, -p и -v вместе с командой spd-say. Если вы хотите получить доступ к дополнительным параметрам настройки, ознакомьтесь с его страницей man, выполнив spd-say --help.
Примечание: Существует также инструмент GNUstep под названием say, который позволяет преобразовывать данный текст в слышимую речь и воспроизводить его через звуковое устройство. К сожалению, у этого инструмента ограниченные доступные опции и нет никаких расширенных опций настройки.
5. Flite
Ищете что-то еще легче, чем eSpeak? Познакомьтесь с Flite. Он разработан как маленький, быстрый движок для синтеза речи. Это, по сути, меньшая версия Festival, что делает его идеальным для ситуаций, когда ресурсы ограничены, например, в встраиваемых системах или на старых компьютерах.
Для установки вы можете использовать стандартный менеджер пакетов, такой как Apt, Dnf, Pacman. Например, на Debian/Ubuntu введите:
sudo apt install flite
Использование Flite очень похоже на eSpeak по своей простоте. Просто введите flite, за которым следует текст, который вы хотите произнести:
flite -t"Flite is a small and fast speech synthesis engine."Flite читает текст непосредственно в вашем терминале. Если вы работаете на Raspberry Pi или в системе с низкими ресурсами, Flite стоит рассмотреть.
Итак, вот и все! Теперь у вас есть несколько способов заставить ваш терминал Linux говорить! Независимо от того, хотите ли вы создать доступную систему, автоматизировать объявления или просто развлечься, эти инструменты предлагают что-то для каждого.
Я рекомендую начать с eSpeak или Flite за их простоту. Затем исследуйте другие варианты в зависимости от ваших потребностей. Также вы можете сделать свой терминал более интересным, используя другие инструменты или играя с различными забавными командами.
Кредит изображения: Frederick Medina через Unsplash. Все изменения и скриншоты сделаны Харуном Джавадом.