Comment créer une synthèse vocale en ligne de commande?

63

Comment obtenir une sortie vocale à partir du texte saisi en utilisant la ligne de commande?

Possibilité de changer le débit, la hauteur, le volume, etc. en utilisant une simple commande .

    
posée Pandya 24.07.2014 - 09:05
la source

5 réponses

96

Par ordre décroissant, popularité :

  • dire convertit le texte en parole audible à l'aide du moteur vocal GNUstep.

    sudo apt-get install gnustep-gui-runtime
    say "hello"
    
  • festival Système de synthèse vocale multilingue général.

    sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-say envoie des requêtes de synthèse vocale à la parole -dispatcher

    sudo apt-get install speech-dispatcher
    spd-say "hello"
    
  • espeak est un synthétiseur vocal multilingue.

    sudo apt-get install espeak
    espeak "hello"
    
réponse donnée Sylvain Pineau 24.07.2014 - 09:28
la source
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)

Vous pouvez donc obtenir de la synthèse vocale en suivant la commande suivante:

spd-say "<type text>"

Ex:

spd-say "Welcome to Ubuntu Linux"

Vous pouvez également définir le débit, la hauteur, le volume, etc. voir man-page.

    
réponse donnée Pandya 24.07.2014 - 09:05
la source
3

Pour festival (la voix me semble plus naturelle):

sudo apt-get install festival

echo "hello" | festival --tts

Configuration de la hauteur et de la vitesse:

créer ~/.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)

Voir aussi lien

Mise à jour: essayé sur un autre ordinateur Ubuntu. J'ai dû installer un moteur de parole en anglais pour travailler correctement avec le festival:

sudo apt-get install festvox-kallpc16k

Aussi, play est une commande cli fournie avec le paquet sox :

sudo apt-get install sox

    
réponse donnée d9k 18.11.2017 - 22:43
la source
2

Novembre 2017 Ubuntu 16.04

Pour mon projet, cron jobs pouvant parler, espeak est le plus simple.

sudo apt-get update
sudo apt-get install espeak

Pour la première partie, il suffit d’une seule entrée cron pour que le système prononce l’heure

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

saytime:

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

Il peut recevoir des entrées via stdio, comme ceci:

cat textfile | espeak -s 100

Pour référence, voici les options de ligne de commande sélectionnées pour 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
  

- voices =

 List the available voices for the specified language.

 If <language> is omitted, then list all voices.
    
réponse donnée SDsolar 18.11.2017 - 03:30
la source
2

Google Python Speach

pip install google_speech

google_speech "Test the hello world"

Svox sous 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"

Liens - Wiki:

Comparaison des synthétiseurs vocaux

    
réponse donnée intika 05.05.2018 - 04:21
la source

Lire d'autres questions sur les étiquettes