La voix par défaut ainsi que toutes les voix alternatives sont très difficiles à comprendre.
Je ne trouve aucune documentation sur la configuration de cette fonctionnalité.
J'ai réussi à utiliser la voix festival
par défaut sur Firefox .
Pour ce faire, nous devons modifier certaines configurations du fichier /etc/speech-dispatcher/speechd.conf
. Mais d’abord, j’ai besoin d’expliquer l’idée de base de son fonctionnement. Nous pouvons toujours voir quelle est la voix par défaut utilisée par speech-dispatcher
en utilisant la commande spd-say
:
spd-say "Hello. How are you?"
Sur Ubuntu
name__, la voix par défaut de Texto To Speech (TTS) accompagnant speech-dispatcher
est surtout . Nous entendons donc exactement la même voix lorsque nous utilisons cette autre commande:
espeak "Hello. How are you?"
Cela se produit parce que spd-say
utilise simplement les voix espeak
en sortie. Et bien, Firefox fait de même, il utilise la voix configurée dans speech-dispatcher
comme sortie pour lire les pages Web dans le mode d'affichage du lecteur (Ctrl+Alt+R
).
Donc, ce que nous devons faire ici est de changer la voix qui sort en tant que sortie dans la commande spd-say
et, une fois cela fait, Firefox va utilisez également un TTS voice
différent par défaut. Je vais décrire le processus permettant de le faire fonctionner avec la voix festival
name__, mais je pense que la procédure est la même si vous souhaitez exécuter un TTS voice
différent. Premièrement, nous devons installer festival :
Sudo apt-get install festival
Nous pouvons tester sa voix en ligne de commande en tapant:
echo "Hello. How are you?" | festival --tts
Nous devons maintenant changer le fichier speechd.conf
. Nous tapons donc Sudo vi /etc/speech-dispatcher/speechd.conf
sur le terminal et autour de la ligne 205, nous verrons les configurations commentées suivantes:
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "festival" "sd_festival" "festival.conf"
#AddModule "flite" "sd_flite" "flite.conf"
#AddModule "ivona" "sd_ivona" "ivona.conf"
#AddModule "pico" "sd_pico" "pico.conf"
#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"
#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf"
#AddModule "Swift-generic" "sd_generic" "Swift-generic.conf"
#AddModule "epos-generic" "sd_generic" "epos-generic.conf"
#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf"
#AddModule "pico-generic" "sd_generic" "pico-generic.conf"
#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf"
#AddModule "cicero" "sd_cicero" "cicero.conf"
# DO NOT REMOVE the following line unless you have
# a specific reason -- this is the fallback output module
# that is only used when no other modules are in use
#AddModule "dummy" "sd_dummy" ""
# The output module testing doesn't actually connect to anything. It
# outputs the requested commands to standard output and reads
# responses from stdandard input. This way, Speech Dispatcher's
# communication with output modules can be tested easily.
# AddModule "testing"
# The DefaultModule selects which output module is the default. You
# must use one of the names of the modules loaded with AddModule.
#DefaultModule espeak
DefaultModule festival
Il faut faire deux changements ici:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Nous devons exécuter festival
en tant que serveur pour que speech-dispatcher
l'utilise par défaut. Nous pouvons le faire en ajoutant la ligne suivante à la fin du fichier qui est ouvert lorsque nous utilisons la commande crontab -e
:
@reboot /usr/bin/festival --server
Maintenant c'est fait !! Après avoir redémarré le système Firefox et spd-say
utilisera la voix festival
comme sortie.
Je pense que la procédure permettant de faire fonctionner de nouvelles voix dans Firefox
sera toujours la même:
Décommentez le module de la nouvelle voix TTS que nous avons installée (/etc/speech-dispatcher/speechd.conf
).
Définissez une nouvelle ligne par défaut pour la voix TTS souhaitée (/etc/speech-dispatcher/speechd.conf
).
Exécutez un serveur sur le port spécifié dans les fichiers du dossier /etc/speech-dispatcher/modules/
.
Ce qui a attiré mon attention là-dessus, c’est qu’il existe un module pour les voix Ivona . Ivona est un produit propriétaire et aujourd'hui, la seule façon de l'utiliser (pour autant que je sache) est un service par répartition le AWS
name__, mais ses voix sont vraiment bonnes et leur sonorité est très naturelle.
Le fichier /etc/speech-dispatcher/modules/ivona.conf
est configuré pour écouter un serveur sur le port 9123. Je pense qu’il existe peut-être un moyen d’exécuter un serveur local qui récupère les voix Ivona à l’aide de mon AWS APIs
(je ne suis pas sûr, mais peut-être en utilisant une partie de this L'application Node.js déjà développée) ... Et si cela est possible, cela signifie qu'il est également possible de exécuter Ivona sur Ubuntu comme la voix par défaut du système et par conséquent l'utiliser avec le reader view mode
sur Firefox . Bien que je ne sache pas comment le faire maintenant, cela semble être une possibilité intéressante.
Les voix utilisées par la fonction narrate du mode lecteur firefox dépendent de la plate-forme sur laquelle vous l’exécutez. Sous Linux, Firefox utilisera speech-dispatcher
pour rendre le texte en langage artificiel.
Donc, tout ce que vous avez configuré dans les paramètres de votre répartiteur de parole (/etc/speech-dispatcher/speechd.conf
) devrait être récupéré et utilisé par Firefox. Différents moteurs et voix sont disponibles pour le répartiteur de parole, dont certains peuvent être installés via les packages Ubuntu, par exemple. g. speech-dispatcher-espeak-ng
ou speech-dispatcher-festival
.
La prise en charge de la sélection des voix/langues dans l'interface graphique de firefox reader est limitée, mais la plupart des paramètres doivent être définis du côté du système d'exploitation, à savoir speechd.conf
sous Linux.
Certains paramètres sont disponibles via la boîte de dialogue about:config
si vous recherchez "narrate":
J'ai expérimenté un peu avec différents paramètres dans les deux about:config
et speechd.conf
, mais je ne pouvais rien faire fonctionner à part le réglage par défaut fourni avec Ubuntu. J'ai l'impression que l'interface entre firefox et speech-dispatcher n'est pas très stable, mais vous êtes peut-être plus chanceux d'expérimenter.
Ce mec: https://bbs.archlinux.org/viewtopic.php?id=217411 semble avoir eu plus de succès avec Archlinux en configurant des choses pour utiliser festival en sortie. J'ai essayé de reproduire cela sur Ubuntu 18.04 mais je n'ai jamais réussi à faire fonctionner Firefox avec.
Merci à Rafael Muynarsk pour me remercier de m'avoir lancé. Voici ce que j'ai fait
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
sont des langues vocales pour l'anglaissox
name__, sans cela, seule une partie du texte a été lueSudo vim /etc/speech-dispatcher/speechd.conf
Désactivez la configuration liée à espeak
name __- et activez festival
one
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
name__Sans cela, je n'ai que quelques syntagmes.
/usr/bin/festival --server
Ensuite, allez en mode d'affichage du lecteur et essayez-le.