Réponses:
J'ai réussi à utiliser la festival
voix par défaut sur Firefox .
Pour ce faire, nous devons modifier certaines configurations du fichier /etc/speech-dispatcher/speechd.conf
. Mais d'abord, je dois expliquer l'idée de base de son fonctionnement. Nous pouvons toujours voir quelle voix est la voix par défaut utilisée en speech-dispatcher
utilisant la commande spd-say
:
spd-say "Hello. How are you?"
Activé Ubuntu
, la voix par défaut Texto To Speech (TTS) fournie avec speech-dispatcher
est espeak . Nous entendons donc exactement la même voix lorsque nous utilisons cette autre commande:
espeak "Hello. How are you?"
Cela se produit car spd-say
utilise simplement des espeak
voix comme sortie. Et bien, Firefox fait de même, il utilise la voix configurée en speech-dispatcher
sortie pour lire les pages Web en mode lecteur ( Ctrl+Alt+R
).
Donc, ce que nous devons faire ici est de changer la voix qui vient en sortie dans la spd-say
commande et, une fois que nous le faisons, Firefox va également utiliser un autre TTS voice
par défaut. Je vais décrire le processus pour le faire fonctionner avec la festival
voix, mais je crois que la procédure est la même si vous voulez en exécuter un autre TTS voice
. Tout d'abord, nous devons installer le festival :
sudo apt-get install festival
Nous pouvons tester sa voix en ligne de commande en tapant:
echo "Hello. How are you?" | festival --tts
Maintenant, nous devons 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 le morceau suivant de configurations commentées:
#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 est nécessaire d'apporter deux modifications ici:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Nous devons exécuter en festival
tant que serveur afin de pouvoir l' speech-dispatcher
utiliser par défaut. Nous pouvons le faire en ajoutant la ligne suivante à la fin du fichier ouvert lorsque nous utilisons la commande sudo 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 festival
voix comme sortie.
Je pense que la procédure pour faire fonctionner de nouvelles voix 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 que nous voulons ( /etc/speech-dispatcher/speechd.conf
).
Exécutez un serveur sur le port spécifié sur les fichiers à l'intérieur du dossier /etc/speech-dispatcher/modules/
.
Ce qui a attiré mon attention là-dessus, c'est qu'il y a un module pour les voix Ivona là-bas. Ivona est un produit propriétaire et aujourd'hui la seule façon de l'utiliser (pour autant que je sache) est comme un service de paiement à l'utilisation AWS
, mais ses voix sont vraiment bonnes et elles semblent très naturelles.
Le fichier /etc/speech-dispatcher/modules/ivona.conf
est configuré pour écouter un serveur sur le port 9123. Je pense qu'il y a peut-être un moyen d'exécuter un serveur local qui obtient les voix Ivona en utilisant mon AWS APIs
(je ne suis pas sûr, mais peut-être en utilisant une partie de cette application Node.js qui est déjà développé) ... et si cela est possible, cela signifie qu'il est également possible d' exécuter Ivona sur Ubuntu comme la voix par défaut du système et par conséquent 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 narration du mode lecteur Firefox dépendent de la plateforme sur laquelle vous l'exécutez. Sous Linux, firefox utilisera speech-dispatcher
pour rendre le texte à la parole artificielle.
Donc, tout ce que vous avez configuré dans vos paramètres de répartiteur de parole ( /etc/speech-dispatcher/speechd.conf
) doit être récupéré et utilisé par firefox. Il existe différents moteurs et voix disponibles pour le répartiteur vocal, dont certains peuvent être installés via des packages Ubuntu, par exemple speech-dispatcher-espeak-ng
ou speech-dispatcher-festival
.
La prise en charge de la sélection des voix / langues dans l'interface graphique du lecteur Firefox est limitée, mais la plupart des paramètres doivent être définis du côté du système d'exploitation, qui est speechd.conf
sous Linux.
Certains paramètres sont disponibles via la about:config
boîte de dialogue si vous recherchez "narrer":
J'ai expérimenté un peu avec différents paramètres dans les deux, about:config
et speechd.conf
, mais je n'ai rien pu faire fonctionner, sauf la valeur par défaut fournie avec Ubuntu. J'ai l'impression que l'interface entre Firefox et le répartiteur de parole n'est pas très stable, mais vous avez peut-être plus de chance d'expérimenter.
Ce gars: https://bbs.archlinux.org/viewtopic.php?id=217411 semble avoir eu plus de succès sur la configuration d'Archlinux pour utiliser festival comme sortie. J'ai essayé de reproduire cela sur Ubuntu 18.04 mais je n'ai jamais pu faire fonctionner Firefox avec.
Merci à Rafael Muynarsk d'avoir répondu pour m'avoir donné un coup de pied . 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
, sans cela, seule une partie du texte a été luesudo vim /etc/speech-dispatcher/speechd.conf
Désactivez la espeak
configuration liée et activez-en festival
une
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
serveurSans cela, je n'ai eu que quelques syntences.
/usr/bin/festival --server
Ensuite, passez en mode d'affichage lecteur et essayez-le.