Como enviar texto para fala usando linha de comando?

61

Como obter saída de fala do texto inserido usando a linha de comando?

Também possui facilidade para alterar a taxa de fala, tom, volume, etc. usando o comando simples .

    
por Pandya 24.07.2014 / 09:05

5 respostas

91

Em ordem decrescente popularidade :

  • diga converte texto em fala audível usando o mecanismo de fala GNUstep.

    sudo apt-get install gnustep-gui-runtime
    say "hello"
    
  • festival Sistema geral de síntese de fala multilíngue.

    sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-say envia solicitação de saída de texto para fala para o discurso -dispatcher

    sudo apt-get install speech-dispatcher
    spd-say "hello"
    
  • O

    espeak é um sintetizador de voz em vários idiomas.

    sudo apt-get install espeak
    espeak "hello"
    
por Sylvain Pineau 24.07.2014 / 09:28
11

De 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)

Assim, você pode obter a conversão de texto em fala seguindo o comando:

spd-say "<type text>"

Ex:

spd-say "Welcome to Ubuntu Linux"

Você também pode definir a taxa de fala, o tom, o volume, etc. consulte man-page.

    
por Pandya 24.07.2014 / 09:05
3

Por festival (a voz parece mais natural para mim):

sudo apt-get install festival

echo "hello" | festival --tts

Configuração de pitch e velocidade:

crie ~/.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)

Veja também link

Atualização: tentei em outro computador Ubuntu. Teve que instalar o pacote do mecanismo de fala em inglês para funcionar corretamente no festival:

sudo apt-get install festvox-kallpc16k

Também play é um comando cli que vem com sox package:

sudo apt-get install sox

    
por d9k 18.11.2017 / 22:43
2

Novembro de 2017 Ubuntu 16.04

Para meu projeto, cron jobs que podem falar, espeak é o mais simples.

sudo apt-get update
sudo apt-get install espeak

Para a primeira parte, fazer o sistema falar o tempo requer uma única entrada no cron

0 * * * * /home/username/scripts/saytime

saytime:

#!/bin/bash
echo "\'$(date +%H)\' Hundred" | espeak

Pode receber entrada via stdio, assim:

cat textfile | espeak -s 100

Para referência, aqui estão as opções de linha de comando selecionadas para o eSpeak:

  

espeak [options] [""]

     

-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
  

- vozes =

 List the available voices for the specified language.

 If <language> is omitted, then list all voices.
    
por SDsolar 18.11.2017 / 03:30
0

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

Svox Nanotts:

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

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

Wiki:

Comparação de sintetizadores de fala

    
por intika 05.05.2018 / 04:21