Как преобразовать текст в речь, используя командную строку?

Как получить речевой вывод из введенного текста с помощью командной строки?

Также есть возможность изменить скорость речи, высоту, громкость и т. Д. с помощью простой команды .

104
задан 24 July 2014 в 11:05

7 ответов

В порядке убывания популярность :

  • говорят , преобразовывает текст в слышимую речь с помощью речевого механизма GNUstep.

    sudo apt-get install gnustep-gui-runtime
    say "hello"
    
  • фестиваль Общий многоязычный синтезатор речи.

    sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-говорят , отправляет выходной запрос синтеза речи по тексту речевому диспетчеру

    sudo apt-get install speech-dispatcher
    spd-say "hello"
    
  • , espeak является многоязычным синтезатором речи программного обеспечения.

    sudo apt-get install espeak
    espeak "hello"
    
121
ответ дан 24 July 2014 в 11:05

От man spd-say:

NAME
       spd-say - send text-to-speech output request to speech-dispatcher

SYNOPSIS
       spd-say [options] "some text"

DESCRIPTION
       spd-say  sends text-to-speech output request to speech-dispatcher process which handles it and ideally outputs the result
       to the audio system.

OPTIONS
       -r, --rate
              Set the rate of the speech (between -100 and +100, default: 0)

       -p, --pitch
              Set the pitch of the speech (between -100 and +100, default: 0)

       -i, --volume
              Set the volume (intensity) of the speech (between -100 and +100, default: 0)

Следовательно можно получить синтез речи по тексту следующей командой:

spd-say "<type text>"

Исключая:

spd-say "Welcome to Ubuntu Linux"

Вы можете также уровень заранее составленной речи, подача, объем и т.д. видит страницу справочника.

14
ответ дан 24 July 2014 в 11:05

Ноябрь 2017 Ubuntu 16.04

Для моего проекта, cron задания, которые могут говорить, espeak, является самым простым.

sudo apt-get update
sudo apt-get install espeak
<час>

Для первой части, заставляя систему говорить время требует единственной записи крона

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

-g

 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

-p

 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

- речь =

 List the available voices for the specified language.

 If <language> is omitted, then list all voices.
2
ответ дан 6 August 2019 в 08:17

Инструмент gTTS является большим для генерации звуковых файлов из текста. Это использует синтез речи по тексту Translate Google API и генерирует mp3 файлы.
, Учитывая, что это использует pip для установки, я настоятельно рекомендую, чтобы Вы установили Miniconda и затем использовали conda для создания среды, где можно установить gTTS. Можно загрузить Miniconda отсюда:

https://docs.conda.io/en/latest/miniconda.html

репозиторий GitHub для gTTS:

https://github.com/pndurette/gTTS

И Вы можете найти документацию gTTS здесь:

https://gtts.readthedocs.io/en/latest /

0
ответ дан 7 October 2019 в 11:20

Встретьтесь 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 для записи вывода в волновой файл, видят страницу справочника, связанную ниже.

Дополнительные материалы для чтения

espeak-ng (“ng” для “next generation”) является активно разработанным ветвлением исходного espeak программного обеспечения синтезатора речи , посмотрите глава Истории по Википедии . Оба доступны из официальных источников через пакет espeak или espeak-ng соответственно.

2
ответ дан 7 October 2019 в 11:20

Для 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

Обновление: испытанный другой компьютер человечности. Должен был установить английский речевой пакет механизма для работы с фестивалем правильно:

sudo apt-get install festvox-kallpc16k

Также play команда CLI, которая идет sox пакет:

sudo apt-get install sox

3
ответ дан 22 November 2019 в 23:11

Google Python 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

Svox Nanotts:

git clone https://github.com/gmn/nanotts.git
cd nanotts
make

./nanotts -v en-US "Test the hello world"

Ссылки - Wiki:

Сравнение синтезаторов речи

4
ответ дан 22 November 2019 в 23:11

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

Похожие вопросы: