Leitor de PDF para Linux

Olá pessoal do Fórum!
Estou a procura de um software que leia PDFs no linux e tenha opção de conversão para voz(TTS) em português. Uso muito o okular porém ele falha nessa parte, pois até onde eu sei ele só tem essa função para a língua inglesa. Essa função é muito útil (pelo menos para mim) pois ela permite que você “leia” sem precisar dedicar total atenção.
Agradeço qualquer sugestão. :grinning:

2 curtidas

Encontrei esse tópico, porém o zathura não tem essa função (pelo menos não vi)…

O comando spd-conf permite configurar o TTS não só do Okular como de vários outros programas. Pro Okular ler as coisas em português, fiz assim

$ spd-conf 

Speech Dispatcher configuration tool

Do you want to setup a completely new configuration? [yes] :
>
Do you want to create/setup a 'user' or 'system' configuration [user] :
>
User configuration already exists.
Do you want to rewrite it with a new one? [no] :
>yes
User configuration created in /home/carlos/.config/speech-dispatcher
Configuring user settings for Speech Dispatcher
Default output module [espeak-ng] :
>
Default language (two-letter iso language code like "en" or "cs") [en] :
>pt
Default audio output method [pulse] :
>
Default speech rate (on the scale of -100..100, 0 is default, 50 is faster, -50 is slower) [0] :
>
Default speech pitch (on the scale of -100..100, 0 is default, 50 is higher, -50 is lower) [0] :
>
Default speech pitch range (on the scale of -100..100, 0 is default, 50 is higher, -50 is lower) [0] :
>
Do you want to have Speech Dispatcher automatically started from ~/.config/autostart ?
This is usually not necessary, most applications will start Speech Dispatcher automatically. [no] :
>
Do you want to start/restart Speech Dispatcher now and run some tests? [yes] :
>
Starting Speech Dispatcher in user-mode
[Thu Jul 23 11:55:39 2020 : 555298] speechd: Speech Dispatcher 0.9.1 starting
Testing Speech Dispatcher using spd_say
Did you hear the message about Speech Dispatcher working? [yes] :
>
Speech Dispatcher is installed and working!
Speech Dispatcher works. Do you want to skip other tests? [yes] :
>


Diagnostics results:
Speech Dispatcher is working
End of diagnostics results
Partes para ficar atento

1.Sobreescrever qualquer conf antiga:

Do you want to rewrite it with a new one? [no] :
>yes

2.Definir português como língua padrão:

Default language (two-letter iso language code like "en" or "cs") [en] :
>pt
2 curtidas

Obrigado! não achei isso em lugar nenhum da internet
Estava obtendo esses erros ao fazer isso:
Caso alguém os sofra também 'e por que precisa instalar o speech-dispatcher

`~$ spd-conf     

Speech Dispatcher configuration tool

Do you want to setup a completely new configuration? [yes] :
>
Do you want to create/setup a 'user' or 'system' configuration [user] :
>
Traceback (most recent call last):
  File "/usr/bin/spd-conf", line 10, in <module>
    sys.exit(speechd_config.main())
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 794, in main
    configure.complete_config()
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 714, in complete_config
    self.create_user_configuration()
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 592, in create_user_configuration
    shutil.copytree(paths.SPD_CONF_ORIG_PATH, self.test.user_conf_dir())
  File "/usr/lib/python3.6/shutil.py", line 315, in copytree
    names = os.listdir(src)
FileNotFoundError: [Errno 2] Arquivo ou diretório inexistente: '/usr/share/speech-dispatcher/conf'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] Arquivo ou diretório inexistente: '/var/crash/_usr_bin_spd-conf.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/spd-conf", line 10, in <module>
    sys.exit(speechd_config.main())
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 794, in main
    configure.complete_config()
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 714, in complete_config
    self.create_user_configuration()
  File "/usr/lib/python3/dist-packages/speechd_config/config.py", line 592, in create_user_configuration
    shutil.copytree(paths.SPD_CONF_ORIG_PATH, self.test.user_conf_dir())
  File "/usr/lib/python3.6/shutil.py", line 315, in copytree
    names = os.listdir(src)
FileNotFoundError: [Errno 2] Arquivo ou diretório inexistente: '/usr/share/speech-dispatcher/conf'
`

Não entendi. (Re)Instalar o speech dispatcher resolveu ou não o problema?

Resolveu, é que eu editei depois de descobrir onde estava o erro.

fiz então o processo do spd-conf porém no okular não aparece a opção para escolher um mecanismo de conversão, veja:

Alguma ideia do que eu possa fazer?

No gentoo puxa dependência do qtspeech. Tem pacote pra isso no seu sistema?

Tem algum pacote “okular-speech” ou algo do gênero?


No Mint tem um pacote qtspeech5-speechd-plugin que acredito que deve estar instalado

Obrigado, instalei todos os qtspeech`s e apareceu as opções no okular, porém não apareceu o espeak que foi o que eu configurei pelo comado que o @Capezotte passou

ESPEAK = SPEECHD ?
fiquei com essa duvida por que selecionando speechd o okular leu em português(eu acho), porem um português que é muito diferente o pt-br. Tem como deixar em pt-br? Por que eu não entendo quase nada assim…

Testa assim

spd-say "Esse texto pode ser lido em português"
spd-say -l pt "Esse texto pode ser lido em português"
spd-say -l br "Esse texto pode ser lido em português"
spd-say -l us "Esse texto pode ser lido em português"

e gera um pdf com esse texto e abre no okular, pede para ele ler.

Veja a diferença de pronuncia.

No meu okular mesmo com tudo configurado ele continuava lendo em inglês…

No meu quando eu jogo no terminal ele lê tudo com a mesma língua, porem essa terceira linha me fez pensar algo.

trocar esta parte por “br”

ps
alguma coisa quebrou meu sistema, vou ter de resolver isso antes

(seria tão mais fácil só usar a voz da mulher do google)

O SpeechD é uma camada que permite que age como intermediária para vários programas TTS. Tipo o Pidgin permitia que você usasse vários serviços de mensagem num mesmo app.

Nesse caso, o Okular envia o texto pro speechd, que manda pro espeak (poderia ser para vários outros TTS), que produz o áudio.

1 curtida

Infelizmente o TTS (texto para fala, inglês) no linux está parado no tempo. Esses programas com voz sintetizada foram um grande avanço, principalmente por ser código aberto, mas são antigos. Já a voz do google, difundida pelo android, é propriedade do google e desconheço iniciativas de usa-las no linux.

1 curtida

Sim, acho que vou ter de usar outro sistema para isso até que venha a ter uma opção melhor no linux. O que eu acho estranho é o python ter o gTTS e não ser usado no okular (ou semelhantes), isso acontece por conta da licença, por filosofia ou nada impede que venha a ser utilizado?

Realmente esses programas pararam no tempo, só pra ter ideia o espeak iniciava com o sistema e de alguma maneira não deixava o som ser reproduzido(WTF). Precisei dar um sudo kill e desinstalar.

Acho que posso dizer que peguei um vírus no linux kkkk

Oe nao é mais raido enviar os ficheiros para o Google tradutor ele depois trnasforma tido em testo e dam play para ele ler :joy: é só escolher a linguagem e pronto para que tanta complicaçam