Projeto de conversão de texto em fala para um pai cego

12

Meu primeiro post aqui. (Sinceramente, espero que esteja no escopo das postagens permitidas que não sabia para onde ir).

Planejo fazer um projeto para uma mãe de 90 anos que está perdendo rapidamente a visão e leva uma vida relativamente triste.

Ela fica sozinha em casa assistindo a um cabo básico e não tem conexão à Internet. Ela tem um enorme controle remoto com 60 botões minúsculos e fica basicamente confusa com a coisa toda.

Eu só quero colocar no disco rígido uma biblioteca de filmes e / ou audiolivros para que ela possa navegar por eles e assistir quando quiser.

Decidi que ela precisa de um joystick simples com 6 botões configuráveis ​​grandes. Eu precisaria descobrir de alguma maneira que os títulos possam ser lidos automaticamente para ela (enquanto ela rola para baixo antes da seleção).

Uma GUI que forneça texto ENORME no monitor pode ser suficiente ... mas acredito que o recurso de conversão de texto em fala possa ser o problema mais difícil.

Se os títulos forem lidos para ela, uma GUI é quase um ponto discutível.

O XBMC, ao que parece, possui alguns recursos de conversão de texto em fala ... embora não seja possível determinar se seria algo que exigiria que a visão dela navegasse pela interface para "acessar" o conteúdo. (Além disso, não posso determinar se o menu em si é lido pela GUI - permitindo uma navegação "sem visão")

Eu preciso de uma GUI para abrir imediatamente uma lista após a inicialização (através da qual ela pode simplesmente rolar e selecionar o conteúdo).

Minha pergunta simples é se é possível com o PI e se parece que esse é um objetivo alcançável.

Com a chance de alguém me apontar na direção certa, eu apreciaria infinitamente.

Muito Obrigado.

LeoFib
fonte
Você já tentou procurar "discurso" neste fórum. Existem alguns links (eu realmente não tentei nenhum), por exemplo, raspberrypi.stackexchange.com/questions/1015/…
Milliways
Não tenho certeza se você postou isso nos fóruns do Rapsberry org . Se você ainda não o fez, é o tipo de pergunta que é feita com bastante frequência.
joana
Embora exista uma etiqueta para "reconhecimento de fala", não houve o inverso para "geração de fala", que é um tópico discreto. Faz parte do que é freqüentemente chamado de "conversão de texto em fala" (a segunda parte) e todos esses itens são frequentemente associados a assuntos que geralmente são chamados de "acessibilidade", relacionados a facilitar o uso de ambos. humanos plenamente capazes e também aqueles que têm algum grau de comprometimento que podem exigir funcionalidade adicional para alcançar os mesmos resultados. Esta resposta foi usada para criar essas três tags.
SlySven
3
Eu amo tanto a idéia deste projeto que acabei de nomeá-la para a melhor idéia original do projeto Raspberry Pi no concurso de entrega de Natal do Raspberry Pi Meta.
Phil B.
1
A todos que postaram: Estou muito emocionado e encorajado pela resposta a isso. Eu sou um neófito e nunca vi um IP com meus próprios olhos. Sou muito grato pelas respostas gentis e renovei minha decisão de prosseguir por causa delas. Eu também compartilhei as notícias com minha mãe - que diz que prefere torta de maçã a torta de framboesa e realmente não sabe do que estou falando ... mas isso é bom por enquanto :).
LeoFib

Respostas:

8

Não sei ao certo como criar a GUI, mas sei como fazer conversão de texto em fala. Você pode usar o espeak:

sudo apt-get install espeak
espeak 'Hello world'

Por padrão, a voz do espeak é difícil de entender (para mim). Para encontrar uma voz, use:

sudo apt-cache search espeak

Então, encontre uma voz. Instale-o. Então corra

man espeak

para descobrir como mudar a voz. Deve ser simples.

Aqui está um exemplo de algo que fiz usando o espeak: https://github.com/Merlin04/robotthingy

Edit: Eu acho que você poderia fazer uma interface gráfica com o Kivy. Ele usa python.

Merlin04
fonte
7

Eu tenho apenas uma experiência limitada com o XBMC, mas acredito firmemente que isso já pode ser complicado demais para 'o público-alvo' (essa mulher de 90 anos).

No entanto, acredito que este projeto é certamente viável em um RasPi. Como sou desenvolvedor da Web, sugiro criar um aplicativo da Web simples. Não tenho a menor idéia se algo assim existe, mas não consigo imaginar que seja muito difícil de desenvolver.

Ideia básica:

  1. RasPi com Raspbian.
  2. Webapp executando o apache.
  3. Alguns back-end (PHP, por exemplo) indexam os arquivos no disco rígido, formatam o nome para algum formato legível e os exibem como uma lista.
  4. Use javascript para controlar a entrada do joystick e fazer com que os títulos dos filmes / livros sejam lidos com a API de síntese de fala HTML5 (exemplo: http://creative-punch.net/2014/10/10/intro-html5-speech-synthesis-api / ).
  5. Na seleção de um filme / livro, basta abrir o arquivo no navegador. (Dessa forma, você não precisará abrir uma nova janela para que ela possa retornar ao menu pressionando o botão Voltar.)
Rien Heuver
fonte
OSMC (kodi) expõe algumas APIs de descanso. Talvez você possa usar isso para criar seu próprio front-end / gui. No entanto, concordo com Rien que isso parece excessivamente complexo para o seu público. Não acho que um humano possa estar perto para ajudá-lo a iniciar / interromper audiolivros para ela?
Havnar
Oi Havnar, Não, na verdade. Ela tem dois cachorros em casa e é isso mesmo ... Uma coisa que deixei de mencionar, acredito, é que ela também não tem conexão à Internet.
LeoFib
Ok, alguns Qs. Vou mantê-los a curto prazo, por uma questão de brevidade. 1) RasPi 2 para isso, correto? 2) Qual sistema operacional você recomendaria para isso? 3) Você acha que isso seria possível sem o WIFI? - Ela não tem conexão de rede, infelizmente. 4) O Apache é usado para executar um servidor ou é um SO? 5) Devo começar a me familiarizar com o linux e seus comandos para me preparar? Aqui está uma idéia: youtube.com/watch?v=NCVWX4suGE4 O que você acha? Devo apenas ir com um kit RPI 2 genérico? --Muitos agradecimentos e Feliz Ano Novo.
LeoFib
1
1) o pi2 é muito mais poderoso, isso o beneficiará de qualquer maneira. 2) raspbian é o mais amigável e mais usado, tão fácil de encontrar guias e ajudar em 3) você pode ter wifi sem uma conexão à internet, a instalação sem fio não é necessária se você usar um controle remoto por infravermelho 4) você pode usar muitos servidores web apache sendo um amplamente utilizado 5) sim, um conjunto de habilidades úteis, no entanto! 5B) você pode começar com um pi2 com sdcard, cabo hdmi, adaptador de energia e começar a jogar com ele. Algumas habilidades de desenvolvimento de aplicativos podem ser úteis.
Havnar 30/12/2015
1
Eu acho que alguém tem uma opinião diferente sobre as coisas que Havnar, então minhas respostas aqui: 1) Não é necessário, 1B também deve ser poderoso o suficiente, mas acho que 2 ainda é seguro 2) Raspbian de fato, o mais conhecido, portanto, suporta mais 3/4 ) O Apache é um software de servidor da web, portanto, você pode executar seus próprios sites em um sistema (neste caso, raspi). Isso significa que você não precisa de nenhuma conexão com a Internet, pois a página da Web será executada no seu RasPi. 5) Sim, algumas linhas de comando básicas são úteis para executar o raspbian e o apache, eu acho.
Rien Heuver
4

Fiz algumas pesquisas leves para você, pois a maioria das coisas pode se tornar complexa demais rapidamente para o seu público-alvo.

Da minha experiência pessoal, botões e gui (não importa quão simples em seus dev olhos) pode se deparar com tão confuso para os idosos.

Não sei quão boas são suas habilidades com o desenvolvimento (web) ou se você pode obter um desenvolvedor qualificado motivado para ajudá-lo a alcançar seus objetivos, mas a simplicidade para o usuário final é fundamental aqui.

Portanto, o "The One Button Audiobook Player" pode ser o que você está procurando. Ou talvez uma adaptação a isso.

extrair abaixo:

It basically consists of:

1 Raspberry Pi
1 ModMyPi enclosure
1 button
2 resistors (330 Ohm, 10 Kilo-Ohm)
1 blue LED
1 (slow) 8GB SD-Card
some wire
a pair of speakers

O seguinte software foi usado:

Raspbian minimal image (http://www.linuxsystems.it/2012/06/raspbian-wheezy-armhf-raspberry-pi-minimal-image)
mpd (music player daemon)
mpc
mpd-python
pyudev (for USB access)
a self-written python script

Os recursos são os seguintes:

  • sempre ativado: quando você liga o framboesa, ele inicializa e inicia o script python com o livro de áudio em pausa

  • uso de um botão: o botão pausa e retira o áudio do livro de áudio ou retrocede uma faixa quando você pressiona o botão por mais de 4 segundos

  • lembra a posição: sempre lembrará a última posição reproduzida

  • apenas um audiolivro: sempre haverá apenas um audiolivro no Raspberry

  • implantação fácil do livro de áudio: quando você conecta um pen drive USB com um nome / etiqueta especial, o Raspberry para de tocar, monta o pen drive, exclui o livro de áudio antigo, copia o novo, recria a lista de reprodução e - depois de desconectar o pen drive - inicia o novo audiolivro no modo de pausa

  • multi-formato: Como usa mpd, o player suporta Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4 / AAC, MOD, Musepack e wave

>>> fonte <<< --- todo o crédito vai para lá!

link do github

Havnar
fonte
Usando um Joystick, pode-se expandir a interface de controle se for feito com cuidado para apresentar uma interface do usuário simples e consistente para o público-alvo - um comentarista no site vinculado observou que só lembrava a posição de reprodução enquanto o RPi estava ligado - isso pode ser algo para revisar - embora eu tenha certeza de que, quando fiz um experimento com um servidor de música da LAN, mpdlembrei de onde ele estava em uma longa lista de reprodução, talvez haja uma opção para isso ...
SlySven
Não há razão para não deixar um pi alimentado, é melhor para o cartão sd do Pi de qualquer maneira, não é construído para ser desligado.
Havnar 30/12/2015
" ... não é para ser desligado. Talvez seja melhor dizer:" não é tolerante a remoção de energia sem ser desligado adequadamente. " - Um no-break para um Pi que eu tenho tem a facilidade de inicializar e desligar o Pi em um ciclo de temporizador entre 2-1000 minutos LIGADO e 2-1000 minutos DESLIGADO - o que teria aplicações na fotografia com lapso de tempo - e não há indicações de que isso seja inerentemente prejudicial - embora eu concorde que o cartão SD possa "desgastar-se" um pouco mais rapidamente com essas gravações extras no arquivo de log.
SlySven