Installer eSpeak-ng
Utiliser les commandes ci-dessous pour :
- pour installer espeak-ng ;
- pour lui faire dire “Hello Word” ;
- pour obtenir la liste des voix ;
- pour lui faire prononcer “Bonjour Monde” en français ;
- pour installer la librairie Python qui accompagne espeak-ng (wrapper).
$ sudo apt-get install espeak-ng
$ espeak-ng "Hello Word"
$ espeak-ng --voices
$ espeak-ng -v fr-fr "Bonjour Monde"
$ pip3 install py-espeak-ng
Application de démo (horloge parlante)
from espeakng import ESpeakNG
import time
### Liste des mois
mois = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre']
### Liste des jours de la semaine
jour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche']
##
## Prononce la date et l'heure
## @param t le moment (time)
##
def direHeure(t):
esng = ESpeakNG(voice='fr')
s = 'Nous sommes le ' + jour[t.tm_wday]
if t.tm_mday == 1:
s = s + ' premier'
else:
s = s + ' ' + str(t.tm_mday)
s = s + ' ' + mois[t.tm_mon - 1] + '. ' + str(t.tm_year)
if t.tm_hour == 12:
s = s + 'Il est midi.'
else:
s = s + 'Il est : ' + str(t.tm_hour) + ' heure.'
esng.say(s, sync=True)
##
## Prononce l'heure et les minutes
## @param t le moment (time)
##
def direHeureMin(t):
esng = ESpeakNG(voice='fr')
if t.tm_hour == 12:
s = 'midi'
else:
s = str(t.tm_hour) + ' heure'
esng.say(u'Il est : ' + s + ' ' + str(t.tm_min), sync=True)
##
## Prononce la date complète et l'heure
##
def direTout():
esng = ESpeakNG(voice='fr')
esng.say('Bonjour.', sync=True)
t = time.localtime()
s = 'Nous sommes le '
s = s + jour[t.tm_wday]
if t.tm_mday == 1:
s = s + ' premier'
else:
s = s + ' ' + str(t.tm_mday)
s = s + ' ' + mois[t.tm_mon - 1]
s = s + ' ' + str(t.tm_year)
esng.say(s + '.', sync=True)
s = 'Il est : '
s = s + str(t.tm_hour) + ' heure'
s = s + ' ' + str(t.tm_min) + ' et'
s = s + ' ' + str(t.tm_sec) + ' seconde'
esng.say(s + '.', sync=True)
##
## Début du programme
##
esng = ESpeakNG()
print(esng.voices)
direTout();
while True:
t = time.localtime()
if t.tm_sec == 0: ## Minute entière
if t.tm_min == 0: ## Heure entière
direHeure(t)
else:
direHeureMin(t)
else:
time.sleep(1);
Installer MBrola
Pour améliorer les voix françaises, on peut installer la synthèse MBrola développée par l’Université de Mons :
- chargeons la définition du package MBrola pour ARM ;
- puis installons là ;
- puis installons la voix française MBrola n°1 ;
- enfin, testons la.
$ wget https://raspberry-pi.fr/download/espeak/mbrola3.0.1h_armhf.deb -O mbrola.deb
$ sudo dpkg -i mbrola.deb
$ sudo apt install mbrola-fr1 -y
$ espeak-ng -v mb-fr1 "Bonjour Monde"
Les pipes
Les pipes sont un mécanisme de communication inter-applications. Ils se comportent un peu comme des fichiers, où une application écrit, pendant qu’une autre lit.
Ici on souhaite simplement lire les messages à prononcer dans une pipe nommée (named pipe).
C’est le but de cet atelier.