Antworten:
Ich habe es geschafft, die festival
Stimme in Firefox als Standard zu verwenden .
Dazu müssen wir einige Konfigurationen in der Datei ändern /etc/speech-dispatcher/speechd.conf
. Aber zuerst muss ich die Grundidee erklären, wie es funktioniert. speech-dispatcher
Mit dem folgenden Befehl können wir immer sehen, welche Stimme die Standardstimme ist spd-say
:
spd-say "Hello. How are you?"
Auf Ubuntu
, dass die Standard - Texto - To - Speech (TTS) Stimme kommt speech-dispatcher
ist espeak . Wir hören also genau dieselbe Stimme, wenn wir diesen anderen Befehl verwenden:
espeak "Hello. How are you?"
Dies geschieht, weil spd-say
nur espeak
Stimmen als Ausgabe verwendet werden. Und nun, Firefox macht dasselbe, es verwendet jede Stimme, die speech-dispatcher
als Ausgabe konfiguriert ist , um Webseiten im Reader-Ansichtsmodus zu lesen ( Ctrl+Alt+R
).
Wir müssen hier also die Stimme ändern, die im spd-say
Befehl ausgegeben wird, und wenn wir das tun, wird Firefox auch eine andere TTS voice
als Standard verwenden. Ich werde den Prozess beschreiben, wie er mit der festival
Stimme funktioniert , aber ich glaube, der Vorgang ist der gleiche, wenn Sie einen anderen ausführen möchten TTS voice
. Zuerst müssen wir das Festival installieren :
sudo apt-get install festival
Wir können seine Stimme in der Befehlszeile testen, indem wir Folgendes eingeben:
echo "Hello. How are you?" | festival --tts
Jetzt müssen wir die Datei ändern speechd.conf
. Also tippen wir sudo vi /etc/speech-dispatcher/speechd.conf
auf dem Terminal und um die Zeile 205 sehen wir die folgenden kommentierten Konfigurationen:
#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
Hier müssen zwei Änderungen vorgenommen werden:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Wir müssen festival
als Server laufen , um speech-dispatcher
ihn als Standard verwenden zu können. Wir können das tun, indem wir die folgende Zeile am Ende der Datei einfügen, die geöffnet ist, wenn wir den Befehl verwenden sudo crontab -e
:
@reboot /usr/bin/festival --server
Jetzt ist es geschafft !! Nach dem Neustart des Systems Firefox und spd-say
wird die festival
Stimme als Ausgabe verwenden.
Ich glaube, dass das Verfahren, um neue Stimmen zum Firefox
Laufen zu bringen, immer dasselbe sein wird:
Kommentieren Sie das Modul der neuen TTS-Stimme aus, die wir installiert haben ( /etc/speech-dispatcher/speechd.conf
).
Legen Sie eine neue Standardleitung für die gewünschte TTS-Stimme fest ( /etc/speech-dispatcher/speechd.conf
).
Führen Sie einen Server an dem Port aus, der in den Dateien im Ordner angegeben ist /etc/speech-dispatcher/modules/
.
Was mich darauf aufmerksam gemacht hat, ist, dass es dort ein Modul für die Ivona- Stimmen gibt. Ivona ist ein Markenprodukt und heute der einzige Weg , es zu benutzen (soweit ich weiß) ist als Pay-as-you-go - Service auf AWS
, aber ihre Stimmen sind wirklich gut und sie klingen sehr natürlich.
Die Datei /etc/speech-dispatcher/modules/ivona.conf
ist so konfiguriert , auf einen Server auf dem Port 9123. Ich denke , vielleicht hört es gibt einen Weg , um einen lokalen Server auszuführen, die Ivona bekommt Stimmen mit meiner AWS APIs
(ich bin nicht sicher, aber vielleicht einen Teil der Verwendung dieser Node.js App das ist bereits entwickelt) ... und wenn das möglich ist, bedeutet dies , dass es auch möglich, Ivona auf Ubuntu läuft als die Standardstimme des Systems und folglich mit dem Einsatz reader view mode
auf Firefox . Obwohl ich jetzt nicht weiß, wie es geht, sieht es nach einer interessanten Möglichkeit aus.
Die von der Kommentarfunktion des Firefox-Lesemodus verwendeten Stimmen hängen von der Plattform ab, auf der Sie sie ausführen. Unter Linux wird Firefox speech-dispatcher
zum Rendern von Text in künstlicher Sprache verwendet.
Was auch immer Sie in Ihren Einstellungen für den Sprachverteiler ( /etc/speech-dispatcher/speechd.conf
) konfiguriert haben, sollte von Firefox aufgenommen und verwendet werden. Für Speech-Dispatcher stehen verschiedene Engines und Voices zur Verfügung, von denen einige über Ubuntu-Pakete installiert werden können, z . B. speech-dispatcher-espeak-ng
oder speech-dispatcher-festival
.
Die Auswahl von Stimmen / Sprachen über die Benutzeroberfläche von Firefox Reader wird nur eingeschränkt unterstützt. Die meisten Einstellungen müssen jedoch auf der Betriebssystemseite vorgenommen werden, die speechd.conf
unter Linux ausgeführt wird.
Einige Einstellungen sind über den about:config
Dialog verfügbar, wenn Sie nach "Erzählen" suchen:
Ich experimentierte ziemlich viel mit unterschiedlichen Einstellungen in beide, about:config
und speechd.conf
, konnte aber nichts an der Arbeit , aber den Standard , die mit Ubuntu kommt. Ich habe das Gefühl, dass die Schnittstelle zwischen Firefox und Speech-Dispatcher nicht sehr stabil ist, aber vielleicht haben Sie mehr Glück beim Experimentieren.
Dieser Typ: https://bbs.archlinux.org/viewtopic.php?id=217411 hat offenbar mehr Erfolg damit gehabt, Archlinux so zu konfigurieren, dass Festival als Ausgabe verwendet wird. Ich habe versucht, dies auf Ubuntu 18.04 zu reproduzieren, konnte aber nie Firefox zum Laufen bringen.
Vielen Dank an Rafael Muynarsk für den Kickstart. Hier ist was ich getan habe
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
sind Sprachsprachen für Englischsox
Ohne sie wurde nur ein Teil des Textes gelesensudo vim /etc/speech-dispatcher/speechd.conf
Deaktivieren Sie die espeak
zugehörige Konfiguration und aktivieren Sie festival
eine
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
ServerOhne das habe ich nur ein paar Zusammenhänge.
/usr/bin/festival --server
Wechseln Sie dann in den Reader-Ansichtsmodus und probieren Sie es aus.