Come posso cambiare la voce usata da Firefox Reader View (Narratore) in Ubuntu?


13

** come cambiare la voce di visualizzazione del lettore firefox in ubuntu **

La voce predefinita e tutte le voci alternative sono molto difficili da capire.

Non riesco a trovare alcuna documentazione su come questa funzione è cablata.

Risposte:


11

Sono riuscito a utilizzare la festivalvoce come impostazione predefinita su Firefox .

inserisci qui la descrizione dell'immagine

Per fare ciò, dobbiamo cambiare alcune configurazioni sul file /etc/speech-dispatcher/speechd.conf. Ma prima, devo spiegare l'idea di base su come funziona. Possiamo sempre vedere quale voce è quella predefinita usata speech-dispatcherusando il comando spd-say:

spd-say "Hello. How are you?"

Su Ubuntu, il Texto To Speech (TTS) voce predefinita che viene fornito con speech-dispatcherè eSpeak . Quindi sentiamo esattamente la stessa voce quando usiamo questo altro comando:

espeak "Hello. How are you?"

Ciò accade perché spd-sayutilizza solo le espeakvoci come output. E bene, Firefox fa lo stesso, usa qualunque voce sia configurata speech-dispatchercome output per leggere le pagine web nella modalità di visualizzazione del lettore ( Ctrl+Alt+R).

Quindi, ciò che dobbiamo fare qui è cambiare la voce che arriva come output nel spd-saycomando e, una volta fatto, Firefox userà anche un diverso TTS voicecome predefinito. Descriverò il processo per farlo funzionare con la festivalvoce, ma credo che la procedura sia la stessa se si desidera eseguirne una diversa TTS voice. Innanzitutto, dobbiamo installare festival :

sudo apt-get install festival

Possiamo testare la sua voce nella riga di comando digitando:

echo "Hello. How are you?" | festival --tts

Ora dobbiamo cambiare il file speechd.conf. Quindi digitiamo sudo vi /etc/speech-dispatcher/speechd.confsul terminale e intorno alla linea 205 vedremo il seguente pezzo di configurazioni commentate:

#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

È necessario apportare due modifiche qui:

  1. Rimuovi il commento dalla linea AddModule "festival" "sd_festival" "festival.conf"
  2. Aggiungi la linea DefaultModule festival

Dobbiamo eseguire festivalcome server per speech-dispatcherpoterlo utilizzare come predefinito. Possiamo farlo aggiungendo la seguente riga alla fine del file che è aperto quando usiamo il comando sudo crontab -e:

@reboot /usr/bin/festival --server

Adesso è fatto !! Dopo aver riavviato il sistema Firefox e spd-sayutilizzerà la festivalvoce come output.


Informazioni aggiuntive

Credo che la procedura per far funzionare le nuove voci Firefoxsarà sempre la stessa:

  1. Rimuovi il commento dal modulo della nuova voce TTS che abbiamo installato ( /etc/speech-dispatcher/speechd.conf).

  2. Imposta una nuova linea predefinita per la voce TTS che vogliamo ( /etc/speech-dispatcher/speechd.conf).

  3. Esegui un server sulla porta specificata nei file all'interno della cartella /etc/speech-dispatcher/modules/.

Ciò che ha attirato la mia attenzione su questo è che c'è un modulo per le voci Ivona lì. Ivona è un prodotto proprietario e oggi l'unico modo per usarlo (per quanto ne so) è come un servizio pay-as-you-go on AWS, ma le sue voci sono davvero buoni e il suono molto naturale.

Il file /etc/speech-dispatcher/modules/ivona.confè configurato per ascoltare un server sulla porta 9123. Penso che forse ci sia un modo per eseguire un server locale che ottiene le voci Ivona usando il mio AWS APIs(non sono sicuro, ma forse usando una parte di questa app Node.js che è già sviluppato) ... e se questo è possibile, significa che è anche possibile eseguire Ivona su Ubuntu come la voce di default del sistema e di conseguenza utilizzare con il reader view modesu Firefox . Anche se non so come farlo ora, sembra una possibilità interessante.


6

Le voci utilizzate dalla funzione narrate della modalità lettore di Firefox dipendono dalla piattaforma su cui la si esegue. Su Linux, Firefox userà speech-dispatcherper rendere il testo in linguaggio artificiale.

Quindi, qualunque cosa tu abbia configurato nelle impostazioni del tuo voice-dispatcher ( /etc/speech-dispatcher/speechd.conf) dovrebbe essere raccolto e usato da Firefox. Ci sono vari motori e voci disponibili per speech-dispatcher, alcuni dei quali possono essere installati tramite pacchetti di Ubuntu, per esempio speech-dispatcher-espeak-ngo speech-dispatcher-festival.

C'è un supporto limitato per la selezione di voci / lingue all'interno della GUI del lettore Firefox, ma la maggior parte delle impostazioni deve essere effettuata dal lato del sistema operativo, che è speechd.confsu Linux.

Alcune impostazioni sono disponibili tramite la about:configfinestra di dialogo se si cerca "narrazione":

inserisci qui la descrizione dell'immagine

Ho sperimentato un po 'con impostazioni diverse in entrambi about:confige speechd.conf, ma non sono riuscito a far funzionare nulla, ma l'impostazione predefinita fornita con Ubuntu. La sensazione che ho è che l'interfaccia tra firefox e speech-dispatcher non sia molto stabile, ma forse sei più fortunato a sperimentare.

Questo ragazzo: https://bbs.archlinux.org/viewtopic.php?id=217411 sembra aver avuto più successo su Archlinux configurando cose per usare il festival come output. Ho provato a riprodurlo su Ubuntu 18.04 ma non sono mai riuscito a far funzionare Firefox con esso.


1

Grazie a Rafael Muynarsk per avermi risposto per avermi dato il calcio d'inizio . Ecco cosa ho fatto

Installa dipendenze

apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
  • festvox-{rablpc16k,kallpc16k,kdlpc16k} sono lingue vocali per l'inglese
  • sox, senza di essa solo una parte del testo è stata letta

Modifica config

sudo vim /etc/speech-dispatcher/speechd.conf

Disabilitare la espeakconfigurazione correlata e abilitarne festivaluna

#AddModule "espeak-ng"    "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival"     "sd_festival"  "festival.conf"

#DefaultModule espeak-ng
DefaultModule festival

Avvia il festivalserver

Senza di essa ho avuto solo alcune sintesi.

/usr/bin/festival --server

Riavvia Firefox

Quindi vai in modalità visualizzazione lettore e provalo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.