La voz predeterminada, así como todas las voces alternativas, son muy difíciles de entender.
No puedo encontrar ninguna documentación sobre cómo esta función está conectada.
fuente
La voz predeterminada, así como todas las voces alternativas, son muy difíciles de entender.
No puedo encontrar ninguna documentación sobre cómo esta función está conectada.
Logré usar la festival
voz por defecto en Firefox .
Para hacer eso, necesitamos cambiar algunas configuraciones en el archivo /etc/speech-dispatcher/speechd.conf
. Pero primero, necesito explicar la idea básica de cómo funciona. Siempre podemos ver qué voz es la predeterminada que se usa al speech-dispatcher
usar el comando spd-say
:
spd-say "Hello. How are you?"
Encendido Ubuntu
, la voz predeterminada de Texto a voz (TTS) que viene speech-dispatcher
es espeak . Entonces escuchamos exactamente la misma voz cuando usamos este otro comando:
espeak "Hello. How are you?"
Eso sucede porque spd-say
solo está usando espeak
voces como salida. Y bueno, Firefox hace lo mismo, usa cualquier voz configurada speech-dispatcher
como salida para leer páginas web en el modo de vista del lector ( Ctrl+Alt+R
).
Entonces, lo que necesitamos hacer aquí es cambiar la voz que viene como salida en el spd-say
comando y, una vez que lo hagamos, Firefox también usará un TTS voice
valor predeterminado diferente . Voy a describir el proceso de hacer que funcione con la festival
voz, pero creo que el procedimiento es el mismo si desea ejecutar una diferente TTS voice
. Primero, necesitamos instalar el festival :
sudo apt-get install festival
Podemos probar su voz en la línea de comando escribiendo:
echo "Hello. How are you?" | festival --tts
Ahora necesitamos cambiar el archivo speechd.conf
. Entonces escribimos sudo vi /etc/speech-dispatcher/speechd.conf
en la terminal y alrededor de la línea 205 veremos la siguiente pieza de configuraciones comentadas:
#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
Es necesario hacer dos cambios aquí:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Necesitamos ejecutarnos festival
como un servidor para poder speech-dispatcher
usarlo de manera predeterminada. Podemos hacerlo agregando la siguiente línea al final del archivo que está abierto cuando usamos el comando sudo crontab -e
:
@reboot /usr/bin/festival --server
¡Ahora está hecho! Después de reiniciar el sistema Firefox y spd-say
usará la festival
voz como salida.
Creo que el procedimiento para que las nuevas voces funcionen Firefox
será siempre el mismo:
Descomente el módulo de la nueva voz TTS que instalamos ( /etc/speech-dispatcher/speechd.conf
).
Establezca una nueva línea predeterminada para la voz TTS que queremos ( /etc/speech-dispatcher/speechd.conf
).
Ejecute un servidor en el puerto especificado en los archivos dentro de la carpeta /etc/speech-dispatcher/modules/
.
Lo que me llamó la atención sobre eso es que hay un módulo para las voces de Ivona allí. Ivona es un producto patentado y hoy en día, la única forma de usarlo (que yo sepa) es mediante un servicio de pago por uso AWS
, pero sus voces son realmente buenas y suenan muy naturales.
El archivo /etc/speech-dispatcher/modules/ivona.conf
está configurado para escuchar a un servidor en el puerto 9123. Creo que quizás haya una manera de ejecutar un servidor local que obtenga las voces de Ivona usando mi AWS APIs
(no estoy seguro, pero tal vez usando una parte de esta aplicación Node.js que ya se ha desarrollado) ... y si eso es posible, que significa que también es posible ejecutar Ivona en Ubuntu como la voz por defecto del sistema y por lo tanto utilizarlo con el reader view mode
de Firefox . Aunque no sé cómo hacerlo ahora, parece una posibilidad interesante.
Las voces utilizadas por la función de narración del modo de lector firefox dependen de la plataforma en la que lo ejecute. En Linux, Firefox lo usará speech-dispatcher
para representar texto en voz artificial.
Entonces, lo que haya configurado en su configuración de despachador de voz ( /etc/speech-dispatcher/speechd.conf
) debe ser recogido y utilizado por Firefox. Hay varios motores y voces disponibles para el despachador de voz, algunos de los cuales se pueden instalar a través de paquetes de Ubuntu, por ejemplo, speech-dispatcher-espeak-ng
o speech-dispatcher-festival
.
Existe un soporte limitado para seleccionar voces / idiomas desde la interfaz gráfica de usuario de Firefox Reader, pero la mayoría de las configuraciones deben realizarse en el lado del sistema operativo, que está speechd.conf
en Linux.
Algunas configuraciones están disponibles a través del about:config
diálogo si busca "narrar":
Experimenté bastante con diferentes configuraciones en ambos, about:config
y speechd.conf
, pero no pude hacer que nada funcionara, excepto el valor predeterminado que viene con Ubuntu. La sensación que tengo es que la interfaz entre Firefox y el despachador de voz no es muy estable, pero tal vez tenga más suerte experimentando.
Este tipo: https://bbs.archlinux.org/viewtopic.php?id=217411 parece haber tenido más éxito en Archlinux configurando cosas para usar el festival como salida. Traté de reproducir esto en Ubuntu 18.04 pero nunca pude hacer que Firefox lo ejecutara.
Gracias a Rafael Muynarsk por responder por comenzar conmigo. Aquí esta lo que hice
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
son idiomas de voz para ingléssox
, sin ella solo una parte del texto donde se leesudo vim /etc/speech-dispatcher/speechd.conf
Deshabilitar espeak
configuración relacionada y habilitar festival
una
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
servidorSin ella solo obtuve algunas frases.
/usr/bin/festival --server
Luego vaya al modo de vista de lector y pruébelo.