Как преобразовать текст в речь, используя командную строку?
Как получить речевой вывод из введенного текста с помощью командной строки?
Также есть возможность изменять скорость речи, высоту, громкость и т. Д. С помощью простой команды.
9 ответов
В порядке убывания популярности:
say преобразует текст в слышимую речь с помощью речевого движка GNUstep.
sudo apt-get install gnustep-gui-runtime say "hello"
Фестиваль общей многоязычной системы синтеза речи.
sudo apt-get install festival echo "hello" | festival --tts
spd-say отправляет запрос вывода текста в речь в диспетчер речи
sudo apt-get install speech-dispatcher spd-say "hello"
espeak - это многоязычный программный синтезатор речи.
sudo apt-get install espeak espeak "hello"
От man spd-say
:
НАЗВАНИЕ spd-say - отправляет запрос вывода текста в речь в диспетчер речи СИНТАКСИС spd-say [options] "некоторый текст" ОПИСАНИЕ spd-say отправляет запрос вывода текста в речь в процесс диспетчера речи, который обрабатывает его и в идеале выводит результат к аудиосистеме. ОПЦИИ -r, --rate Установите скорость речи (от -100 до +100, по умолчанию: 0) -p, --pitch Установите высоту речи (от -100 до +100, по умолчанию: 0) -i, --volume Установите громкость (интенсивность) речи (от -100 до +100, по умолчанию: 0)
Следовательно, вы можете получить текст в речь с помощью следующей команды:
spd-say "<type text>"
Пример:
spd-say "Welcome to Ubuntu Linux"
Вы также можете установить скорость речи, высоту, громкость и т. Д., См. Справочную страницу.
Python Google Speach:
pip install google_speech
google_speech "Test the hello world"
Svox от Android:
apt-get install svox-pico
pico2wave --wave=test.wav "Test the hello world"
play test.wav
Свокс Наноттс:
git clone https://github.com/gmn/nanotts.git
cd nanotts
make
./nanotts -v en-US "Test the hello world"
Ссылки - Wiki:
За festival
(голос кажется мне более естественным):
sudo apt-get install festival
echo "hello" | festival --tts
Настройка шага и скорости:
Создайте ~/.festivalrc
:
(Parameter.set 'Audio_Command "play -b 16 -c 1 -e signed-integer -r $SR -t raw $FILE tempo 1.5 pitch -100")
(Parameter.set 'Audio_Method 'Audio_Command)
Смотрите также http://www.solomonson.com/content/ubuntu-linux-text-speech
Обновление: пробовал на другом компьютере с Ubuntu. Пришлось установить пакет речевого движка английского языка, чтобы правильно работать с фестивалем:
sudo apt-get install festvox-kallpc16k
Также play
это команда Cli, которая поставляется с sox
пакет:
sudo apt-get install sox
Ноябрь 2017 Ubuntu 16.04
Для моего проекта cron
рабочие места, которые могут говорить, espeak
самый простой.
sudo apt-get update
sudo apt-get install espeak
Для первой части, чтобы заставить систему говорить, время требует одного входа cron
0 * * * * /home/username/scripts/saytime
saytime:
#!/bin/bash
echo "\`$(date +%H)\` Hundred" | espeak
Он может получать ввод через stdio, например так:
cat textfile | espeak -s 100
Для справки, здесь выбраны параметры командной строки для eSpeak:
espeak [варианты] [""]
-a
Amplitude, 0 to 200, default is 100
-г
Word gap. Pause between words, units of 10mS at the default speed
-k
Indicate capital letters with: 1=sound, 2=the word "capitals", higher values indicate a pitch increase (try -k20).
-l
Line length. If not zero (which is the default), consider lines less than this length as end-of-clause
-п
Pitch adjustment, 0 to 99, default is 50
-s
Speed in words per minute, 80 to 450, default is 175
-v
Use voice file of this name from espeak-data/voices
-w
Write speech to this WAV file, rather than speaking it directly
-z
No final sentence pause at the end of the text
--voices =
List the available voices for the specified language. If <language> is omitted, then list all voices.
Встретить espeak-ng
- Многоязычный программный синтезатор речи:
espeak-ng "text to read"
espeak-ng -f "~/file to read"
Он использует английский голос по умолчанию, но есть множество других голосов для других языков и даже доступных диалектов, и их можно перечислить с espeak-ng --voices
(для всех) или например espeak-ng --voices=en
(для английского). Они могут быть установлены с -v
вместе с сокращением языка или именем файла, например, для шотландского или суахили:
espeak-ng -v en-gb-scotland "text to read" # language name
espeak-ng -v bnt/sw "text to read" # file name: “bnt” for Bantu, “sw” for Swahili
Есть много других доступных вариантов, например -s
для скорости и -w
чтобы записать вывод в волновой файл, см. ссылку на страницу руководства ниже.
дальнейшее чтение
man espeak-ng
- GitHub хранилище
espeak-ng
("Нг" для "следующего поколения") - активно развивающийся форк оригинала espeak
программное обеспечение синтезатора речи, см. главу "История" в Википедии. Оба доступны из официальных источников через пакет espeak
или же espeak-ng
соответственно.
Обновление на 2023 год. Pico2wave — очень легкая утилита, однако эти две звучат очень естественно:
Аудио сравнение бесплатной Linux TTS 2022. - YouTube
Инструмент gTTS отлично подходит для генерации аудио файлов из текста. Он использует API преобразования текста в речь Google Translate и генерирует mp3-файлы.
Учитывая, что он использует pip
для установки я настоятельно рекомендую установить Miniconda, а затем использовать conda
создать среду, в которой вы можете установить gTTS. Вы можете скачать Miniconda отсюда:
https://docs.conda.io/en/latest/miniconda.html
GitHub репозиторий для gTTS:
https://github.com/pndurette/gTTS
И вы можете найти документацию gTTS здесь:
Пайпер
Быстрая локальная нейронная система преобразования текста в речь. Проверьте проект сайта на предмет установки, загрузки голоса и использования. Например:
echo 'Welcome to the world of speech synthesis!' | \
./piper --model blizzard_lessac-medium.onnx --output_file welcome.wav