Como posso alterar a voz usada pelo Firefox Reader View (Narrator) no Ubuntu?

13

** como mudar a voz do leitor do firefox no ubuntu **

A voz padrão e todas as alternativas são muito difíceis de entender.

Não consigo encontrar nenhuma documentação sobre como esse recurso está conectado.

VJ Ranga
fonte

Respostas:

11

Consegui usar a festivalvoz como padrão no Firefox .

insira a descrição da imagem aqui

Para fazer isso, precisamos alterar algumas configurações no arquivo /etc/speech-dispatcher/speechd.conf. Mas primeiro, preciso explicar a idéia básica de como funciona. Sempre podemos ver qual voz é a padrão usada speech-dispatcherusando o comando spd-say:

spd-say "Hello. How are you?"

Ativado Ubuntu, a voz padrão do Texto para fala (TTS) que acompanha speech-dispatcheré a fala . Então, ouvimos exatamente a mesma voz quando usamos este outro comando:

espeak "Hello. How are you?"

Isso acontece porque spd-sayestá apenas usando espeakvozes como saída. E bem, o Firefox faz o mesmo, usa qualquer voz configurada speech-dispatchercomo saída para ler páginas da Web no modo de visualização do leitor ( Ctrl+Alt+R).

Então, o que precisamos fazer aqui é alterar a voz que sai como saída no spd-saycomando e, assim que o fizermos, o Firefox também usará um TTS voicepadrão diferente . Vou descrever o processo de fazê-lo funcionar com a festivalvoz, mas acredito que o procedimento seja o mesmo se você quiser executar um procedimento diferente TTS voice. Primeiro, precisamos instalar o festival :

sudo apt-get install festival

Podemos testar sua voz na linha de comando digitando:

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

Agora precisamos mudar o arquivo speechd.conf. Então digitamos sudo vi /etc/speech-dispatcher/speechd.confno terminal e em torno da linha 205 veremos a seguinte parte das configurações 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

É necessário fazer duas alterações aqui:

  1. Remova o comentário da linha AddModule "festival" "sd_festival" "festival.conf"
  2. Adicione a linha DefaultModule festival

Precisamos rodar festivalcomo um servidor para speech-dispatcherusá-lo como padrão. Podemos fazer isso adicionando a seguinte linha no final do arquivo que está aberto quando usamos o comando sudo crontab -e:

@reboot /usr/bin/festival --server

Agora está feito !! Depois de reiniciar o sistema Firefox e spd-sayestará usando a festivalvoz como saída.


informação adicional

Acredito que o procedimento para fazer novas vozes funcionarem Firefoxsempre será o mesmo:

  1. Remova o comentário do módulo da nova voz TTS que instalamos ( /etc/speech-dispatcher/speechd.conf).

  2. Defina uma nova linha padrão para a voz TTS que queremos ( /etc/speech-dispatcher/speechd.conf).

  3. Execute um servidor na porta especificada nos arquivos dentro da pasta /etc/speech-dispatcher/modules/.

O que chamou minha atenção nisso é que há um módulo para as vozes da Ivona lá. Ivona é um produto patenteado e hoje a única maneira de usá-lo (tanto quanto eu sei) é como um pay-as-you-go serviço on AWS, mas suas vozes são realmente bons e eles som muito natural.

O arquivo /etc/speech-dispatcher/modules/ivona.confestá configurado para atender a um servidor na porta 9123. Eu acho que talvez haja uma maneira de executar um servidor local que recebe o Ivona vozes usando o meu AWS APIs(não tenho certeza, mas talvez usando uma parte deste app Node.js isso já foi desenvolvido) ... E se isso for possível, significa que também é possível executar o Ivona no Ubuntu como a voz padrão do sistema e, consequentemente, usá-lo reader view modeno Firefox . Embora eu não saiba como fazê-lo agora, parece uma possibilidade interessante.

Rafael Muynarsk
fonte
6

As vozes usadas pela função narrar do modo leitor do firefox dependem da plataforma em que você o executa. No Linux, o Firefox usará speech-dispatcherpara renderizar texto em fala artificial.

Portanto, tudo o que você configurou nas configurações do discador de voz ( /etc/speech-dispatcher/speechd.conf) deve ser escolhido e usado pelo firefox. Existem vários mecanismos e vozes disponíveis para o despachante de fala, alguns dos quais podem ser instalados via pacotes Ubuntu, por exemplo, speech-dispatcher-espeak-ngou speech-dispatcher-festival.

Há suporte limitado para a seleção de vozes / idiomas na interface gráfica do leitor do firefox, mas a maioria das configurações deve ser feita no lado do sistema operacional, que está speechd.confno linux.

Algumas configurações estão disponíveis na about:configcaixa de diálogo se você procurar "narrar":

insira a descrição da imagem aqui

Eu experimentei um pouco com configurações diferentes em ambos, about:confige speechd.conf, mas não consegui fazer nada funcionar, exceto o padrão que acompanha o Ubuntu. A sensação que sinto é que a interface entre o Firefox e o Voice-Dispatcher não é muito estável, mas talvez você tenha mais sorte em experimentar.

Esse cara: https://bbs.archlinux.org/viewtopic.php?id=217411 parece ter tido mais sucesso no Archlinux configurando coisas para usar festival como saída. Eu tentei reproduzir isso no Ubuntu 18.04, mas nunca consegui o firefox para rodar com ele.

Sebastian Stark
fonte
1

Agradeço ao Rafael Muynarsk por responder por me dar um pontapé inicial . Aqui está o que eu fiz

Instalar dependências

apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
  • festvox-{rablpc16k,kallpc16k,kdlpc16k} são idiomas de voz para inglês
  • sox, sem apenas uma parte do texto onde é lida

Editar configuração

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

Desative espeaka configuração relacionada e ative festivaluma

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

#DefaultModule espeak-ng
DefaultModule festival

Iniciar festivalservidor

Sem ele, tenho apenas algumas sintetizações.

/usr/bin/festival --server

Reinicie o Firefox

Em seguida, vá para o modo de visualização do leitor e tente.

Édouard Lopez
fonte