web-dev-qa-db-fra.com

Comment faire de la synthèse vocale en utilisant la ligne de commande?

Comment obtenir sortie vocale du texte saisi en ligne de commande?

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

74
Pandya

En ordre décroissant popularité :

  • par exemple convertit le texte en parole audible à l’aide du moteur de parole GNUstep.

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

    Sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-say envoie une requête de sortie texte-parole à un répartiteur vocal

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

    Sudo apt-get install espeak
    espeak "hello"
    
119
Sylvain Pineau

espeak est un joli petit outil.

J'aime juste jouer avec cela dans une ligne de commande. Vous constaterez peut-être que cela est en conflit avec Pulseaudio, alors j'utilise une version longue qui empêche de le configurer correctement.

Sudo apt-get install espeak
espeak --stdout "this is a test" | paplay

espeak --help vous montrera les options pour calibrer la vitesse de lecture, la hauteur, la voix, etc.

Lorsque vous rédigez vos notes, enregistrez-les sous forme de fichier texte, puis:

echo "these are my notes" > text.txt
espeak --stdout -f text.txt > text.wav
paplay text.wav # you should hear "these are my notes"

Vous pouvez ensuite jouer avec ffmeg et al pour compresser le tout de PCM en quelque chose de plus facile à gérer, comme MP3 ou OGG. Mais c'est une autre histoire.

18
Oli

De man spd-say:

 NOM 
 Spd-say - envoie une demande de sortie de synthèse vocale au répartiteur vocal 
 
 SYNOPSIS 
 Spd-say [options] " un texte "
 
 DESCRIPTION 
 spd-say envoie une requête de sortie texte-parole au processus de répartition de la parole qui le gère et, idéalement, envoie le résultat 
 au système audio. 
 
 OPTIONS 
 -r, --rate 
 Régler la vitesse de la parole (entre -100 et +100, la valeur par défaut: 0) 
 
 -p, --pitch 
 Régler la hauteur du discours (entre -100 et +100, par défaut: 0) 
 
 -i, --volume 
 Régler le volume (intensité) de la parole (entre -100 et +100, par défaut: 0) 

Vous pouvez donc utiliser la synthèse vocale en suivant la commande:

spd-say "<type text>"

Ex:

spd-say "Welcome to Ubuntu Linux"

Vous pouvez aussi régler le débit, la hauteur, le volume, etc. voir la page de manuel.

14
Pandya

Mbrola ne fonctionne plus depuis le 11.10.

Les outils SVOX (pico) sont faciles à installer, à utiliser et offrent des voix de bonne qualité dans Ubuntu. Installez-le:

Sudo apt-get install libttspico0 libttspico-utils libttspico-data

Encore plus facilement, vous pouvez utiliser LibreOffice en combinaison avec les outils SVOX (pico) en installant la extension "Read Text" et obtenir un "GUI" pour cet excellent logiciel TTS:

Configurez les options de Read Text Extension avec Outils - Add-ons - Lisez la sélection .... Utilisez/usr/bin/python en tant que programme externe. Sélectionnez une option de ligne de commande incluant le jeton (PICO_READ_TEXT_PY).

6
leoperbo

Python Google Speach:

pip install google_speech

google_speech "Test the hello world"

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

4
intika

Et encore un autre espeak gui: gespeaker. Il utilise les moteurs espeak et mbrola. En outre, il a plus d'options que espeak-gui.

3
luri

Ce qui suit n’est pas une solution FLOSS, mais vous en trouverez peut-être la peine. (c'est une solution vin ),

Personnellement, je suis très féru de TTS, je l’utilise assez souvent ... par exemple. en écoutant un discours décousu que je ne prendrais jamais la peine de m'en tenir à une autre manière (parce qu'il me faut une autre tasse de café ... :)

Quelques choses que j'ai découvertes en cours de route ... ou devrais-je dire, des choses que je n'ai pas découvertes en cours de route ... Pour parler franchement: chaque morceau de FOSS TTS Le logiciel vocal que j'ai essayé est en dessous de la moyenne et ne convient donc pas à une écoute semi-prolongée ...

J'utilise actuellement NaturalVoices d'ATnT. Il n’est disponible que pour Windows (peut-être le Mac), mais il fonctionne sous wine dans Ubuntu .. (il a une glytch mineure, où j’ai parfois besoin cliquer sur le panneau lorsque je m'éloigne du lecteur ... C'est un problème mineur par rapport à l'avantage que procure la qualité de la parole de NatualVoices.

Certaines autres choses que j'ai trouvées pratiquement essentielles pour une expérience d'écoute semi-sensée sont: ...

  1. Ces programmes TTS ne sont pas intelligents (peut-être aussi intelligents qu’un jeune babouin). Ils ont donc besoin de toute l’aide qu’ils peuvent obtenir. et il y a un (et un seul programme Reader que j'ai trouvé qui aide beaucoup à cela .. L'application s'appelle ReadPlease (2003 Pro)... Elle vous permettait de modifier spécialement les mots et les groupes. de Word à prononcer comme vous les voulez ... Il n’est en aucun cas parfait, mais pour moi, cela a fait la différence entre le processus entier utilisable et non utilisable ...

  2. Le discours dans Natural Voices est "ok", mais c'est un peu ennuyeux. Il existe également d’autres bons produits, mais ils sont tous destinés à Windows, malheureusement) ..
    C’est surprenant, parfois… mais, mon Dieu, au début, c’est pénible! .. donc # 2 est * patience ... et de nombreuses mises à jour de votre liste de "mots spéciaux" ... Par patience, je veux dire que vous (je) vous êtes réellement habitué Les habitudes de parole de mon babouin particulier:) ... et d'ailleurs, j'ai actuellement environ 3 000 mots qui sonnent maintenant "humains" assez pour que je ne frémisse plus quand je les entends.

    3 .. "Suivez la balle qui rebondit" ... Encore une fois, parce que la voix n’est jamais aussi bonne qu’un vrai orateur, il faut parfois clarifier les choses. Le programme Reader que j'utilise possède une fonctionnalité pour laquelle je mets même en place avec son interface d'apparence maladroite .... Il possède une option Word "sélectionne le texte en cours de lecture". De nombreux lecteurs l'utilisent, mais ReadPlease conserve la ligne active en cours. centre de l’écran .. C’est un atout précieux pour pouvoir voir devant et derrière et relire rapidement ce que vous venez de manquer (le centrage automatique de la ligne courante est donc bon) ...

Eh bien, c’est mon expérience… je vais faire un café maintenant, et pendant que je le fais, je l’écouterai pour voir comment il se "lit"… TTS est étonnamment bon à ramasser fautes de frappe (je fais beaucoup de fautes de frappe) ...

Si quelque chose d'aussi bon que ATnT NaturalVoices se présente sur le référentiel Ubuntu, je vais sauter à autre chose.

Voici un lien vers des exemples de Natural Voices : J'utilise "MIke"

3
Peter.O

Pour festival (la voix me semble plus naturelle):

Sudo apt-get install festival

echo "hello" | festival --tts

Configuration du pitch 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 http://www.solomonson.com/content/ubuntu-linux-text-speech

Mise à jour: essayé sur un autre ordinateur Ubuntu. Il a fallu installer le moteur de parole anglais pour fonctionner correctement avec festival:

Sudo apt-get install festvox-kallpc16k

De plus, play est une commande cli fournie avec le package sox:

Sudo apt-get install sox

3
d9k

SVOX pico2wave

c'est ce que j'utilise. Et ça a l'air naturel, c'est facile à comprendre, ça reconnaît les Unités (m, ° C, kg, ...)

Voici mon premier post sur pico2wave

Texte naturel à la parole?

Tout ce que tu dois faire est:

Accédez au Centre de logiciel Ubuntu et recherchez "pico". Vous trouverez 4 ou 5 entrées avec "Small Footprint Ling ...". Installez-les.

Une utilisation possible de pico2wave est décrite dans ma première publication (suivez le lien ci-dessus).

Au revoir

3
user85321

Même si vous avez déjà accepté une réponse, je voulais mentionner festival, que j'aime beaucoup aussi. This posté sur les forums Ubunt contient beaucoup d’informations sur la manière de mettre en place de très belles voix.

2
frabjous

Novembre 2017 Ubuntu 16.04

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

Sudo apt-get update
Sudo apt-get install espeak

Pour la première partie, faire en sorte que le système parle l'heure ne nécessite qu'une seule entrée cron

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] [""]

-une

 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.
2
SDsolar

Balabolka sous Wine fonctionne très bien (pour moi) avec les voix SAPI4 (les voix SAPI5 ne sont pas détectées sur mon système Linux). Il peut ouvrir des fichiers et commencer à lire.

Voici le lien vers l'entrée AppDB de wine pour Balabolka: https://appdb.winehq.org/objectManager.php?sClass=application&iId=17859

0
Hemantkumar Garach