Projeter la synthèse vocale pour un parent aveugle

12

Mon premier post ici. (J'espère sincèrement que cela fait partie des publications autorisées, je ne savais pas où me tourner).

J'ai l'intention de faire un projet pour une mère de quatre-vingt-dix ans qui perd rapidement la vue et mène une vie relativement gaie.

Elle est seule à la maison à regarder le câble de base et n'a pas de connexion Internet. Elle a une énorme télécommande avec 60 petits boutons et est fondamentalement confuse par le tout.

Je veux juste mettre sur un disque dur une bibliothèque de films et / ou de livres audio afin qu'elle puisse les parcourir et les regarder à loisir.

J'ai décidé qu'elle avait besoin d'un simple joystick avec 6 gros boutons configurables. J'aurais besoin de trouver un moyen de lui lire automatiquement les titres (pendant qu'elle défile vers le bas avant la sélection).

Une interface graphique fournissant un texte ÉNORME sur le moniteur peut suffire ... mais je pense que la fonction de synthèse vocale pourrait être le problème le plus difficile.

Si les titres lui sont lus, une interface graphique est presque un point discutable.

XBMC, je vois, a quelques fonctionnalités de synthèse vocale ... bien que je ne puisse pas déterminer si ce serait quelque chose qui nécessiterait sa vue pour naviguer à travers l'interface pour "accéder" au contenu. (De plus, je ne peux pas déterminer si le menu lui-même est lu par l'interface graphique - permettant une navigation "sans vue")

J'ai besoin d'une interface graphique pour ouvrir avec une liste immédiatement au démarrage (à travers laquelle elle peut simplement faire défiler et sélectionner le contenu).

Ma question simple est de savoir si cela est possible avec l'IP et s'il semble que ce soit un objectif réalisable.

Au cas où quelqu'un pourrait me diriger dans la bonne direction, je l'apprécierais sans cesse.

Merci beaucoup.

LeoFib
la source
Avez-vous essayé de rechercher «discours» sur ce forum. Il y a quelques liens (je n'en ai pas essayé), par exemple raspberrypi.stackexchange.com/questions/1015/…
Milliways
Je ne sais pas si vous l'avez posté sur les forums de l'organisation Rapsberry . Si vous ne l'avez pas fait, c'est le genre de question qui y est posée assez souvent.
joan
Bien qu'il y ait une étiquette pour «reconnaissance de la parole», il n'y avait pas l'inverse pour «la génération de la parole» qui est un sujet discret en soi. Cela fait partie de ce que l'on appelle souvent le «text-to-speech» (la deuxième partie) et tous ces éléments sont souvent associés à des questions généralement appelées «accessibilité» qui visent à rendre les choses plus faciles à utiliser pour les deux. les humains pleinement capables ainsi que ceux qui ont un certain degré de déficience et qui peuvent nécessiter des fonctionnalités supplémentaires pour obtenir les mêmes résultats. Cette réponse a été utilisée pour créer ces trois balises.
SlySven
3
J'adore tellement l'idée de ce projet que je viens de la nommer pour la meilleure idée de projet original de Raspberry Pi dans le cadre du concours de cadeaux de Noël sur Raspberry Pi Meta.
Phil B.
1
À tous ceux qui ont posté: Je suis très touché et encouragé par la réponse à cela. Je suis néophyte et je n'ai jamais vu d'IP de mes propres yeux. Je suis très reconnaissant des aimables réponses et j'ai renouvelé ma détermination à poursuivre cela à cause d'eux. J'ai également partagé les nouvelles avec ma mère - qui dit qu'elle préfère la tarte aux pommes à la framboise et ne sait pas vraiment de quoi je parle de toute façon ... mais c'est bien pour l'instant :).
LeoFib

Réponses:

8

Je ne sais pas comment faire le gui, mais je sais comment faire du text-to-speech. Vous pouvez utiliser espeak:

sudo apt-get install espeak
espeak 'Hello world'

Par défaut, la voix d'Espeak est difficile à comprendre (pour moi). Pour trouver une voix, utilisez:

sudo apt-cache search espeak

Ensuite, trouvez une voix. Installez-le. Ensuite, exécutez

man espeak

pour savoir comment changer la voix. Ça devrait être simple.

Voici un exemple de quelque chose que j'ai fait en utilisant espeak: https://github.com/Merlin04/robotthingy

Edit: Je pense que vous pourriez faire une interface graphique avec Kivy. Il utilise python.

Merlin04
la source
7

Je n'ai qu'une expérience limitée avec XBMC, mais je crois fermement que cela pourrait déjà être trop compliqué pour «le public cible» (cette femme de 90 ans).

Cependant, je crois que ce projet est très certainement réalisable sur un RasPi. Comme je suis développeur Web, je suggère de créer une simple application Web. Je ne sais absolument pas si quelque chose comme ça existe, mais je ne peux pas imaginer que ce soit trop difficile à développer.

Idée basique:

  1. RasPi avec Raspbian.
  2. Webapp exécutant apache.
  3. Certains backend (PHP par exemple) indexent les fichiers sur le disque dur, formate le nom dans un format lisible et les affiche sous forme de liste.
  4. Utilisez javascript pour contrôler l'entrée du joystick et faire lire les titres des films / livres avec l'API HTML5 Speech Synthesis (exemple: http://creative-punch.net/2014/10/intro-html5-speech-synthesis-api / ).
  5. Lors de la sélection d'un film / livre, ouvrez simplement le fichier dans le navigateur. (De cette façon, vous n'aurez pas à ouvrir une nouvelle fenêtre pour qu'elle puisse simplement revenir au menu en appuyant sur le bouton de retour.)
Rien Heuver
la source
OSMC (kodi) expose quelques api de repos. Vous pourriez peut-être l'utiliser pour créer votre propre interface / interface graphique. Cependant, je suis d'accord avec Rien que cela semble trop complexe pour votre public. Je ne suppose pas qu'un humain puisse être proche pour l'aider à démarrer / arrêter des livres audio pour elle?
Havnar
Salut Havnar, non, en fait. Elle a deux chiens dans la maison et c'est à peu près tout ... Une chose que j'ai négligé de mentionner, je crois, c'est qu'elle n'a pas de connexion Internet non plus.
LeoFib
D'accord, quelques questions. Je vais les garder courts pour des raisons de brièveté. 1) RasPi 2 pour cela, n'est-ce pas? 2) Quel OS recommanderiez-vous pour cela? 3) Pensez-vous que cela serait faisable sans WIFI? - Elle n'a pas de connexion Internet, hélas. 4) Apache est utilisé pour exécuter un serveur ou est-ce un système d'exploitation? 5) Dois-je commencer à me familiariser avec Linux et ses commandes pour me préparer? Voici une idée: youtube.com/watch?v=NCVWX4suGE4 Que pensez-vous? Dois-je simplement aller avec un kit générique RPI 2? - Merci beaucoup et bonne année.
LeoFib
1
1) le pi2 est beaucoup plus puissant, cela vous sera bénéfique dans tous les cas. 2) raspbian est le plus convivial et le plus utilisé, donc facile à trouver des guides et de l'aide sur 3) vous pouvez avoir le wifi sans connexion Internet, la configuration sans fil n'est pas nécessaire si vous allez avec une télécommande infrarouge 4) vous pouvez utiliser beaucoup de serveurs Web apache étant largement utilisé 5) oui, un ensemble de compétences utiles néanmoins! 5B) vous pouvez commencer avec un pi2 avec carte SD, câble HDMI, adaptateur secteur et commencer à jouer avec. Certaines compétences en développement d'applications peuvent bien sûr être utiles.
Havnar
1
J'ai une opinion différente de Havnar sur les choses, je suppose, donc mes réponses ici: 1) Pas nécessaire, 1B devrait être assez puissant aussi je pense, mais 2 est néanmoins sûr 2) Raspbian en effet, le plus connu donc le plus supporté 3/4 ) Apache est un logiciel de serveur Web, vous pouvez donc exécuter vos propres sites Web sur un système (raspi dans ce cas). Cela signifie que vous n'avez pas du tout besoin d'une connexion Internet car la page Web s'exécutera sur votre RasPi. 5) Oui, une ligne de commande de base est utile pour faire fonctionner Raspbian et Apache je pense.
Rien Heuver
4

J'ai fait quelques recherches pour vous car la plupart des choses peuvent devenir trop complexes assez rapidement pour votre public cible.

D'après mon expérience personnelle, des boutons et des interfaces graphiques (peu importe la simplicité dans vos dev yeux) peut apparaître comme source de confusion pour les personnes âgées.

Je ne sais pas à quel point vos compétences sont bonnes avec le développement (web), ou si vous pouvez motiver un développeur qualifié pour vous aider à atteindre vos objectifs, mais la simplicité pour l'utilisateur final est la clé ici.

Par conséquent, "The One Button Audiobook Player" pourrait être ce que vous cherchez. Ou peut-être une adaptation à cela.

extrait ci-dessous:

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

Le logiciel suivant a été utilisé:

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

Les fonctionnalités sont les suivantes:

  • toujours allumé: lorsque vous allumez la framboise, elle démarre et démarre le script python avec le livre audio en pause

  • utilisation d'un bouton: le bouton interrompt et interrompt le livre audio ou remonte d'une piste lorsque vous appuyez sur le bouton pendant plus de 4 secondes

  • se souvient de la position: il se souviendra toujours de la dernière position jouée

  • un seul livre audio: il y aura toujours un seul livre audio sur le Raspberry

  • déploiement facile du livre audio: lorsque vous branchez une clé USB avec un nom / étiquette spécial, le Raspberry arrête de jouer, monte la clé USB, supprime l'ancien livre audio, copie le nouveau, reconstruit la liste de lecture et - après avoir débranché le clé USB - démarre le nouveau livre audio en mode pause

  • multi format: Puisqu'il utilise mpd, le lecteur prend en charge Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4 / AAC, MOD, Musepack et wave

>>> source <<< --- tout crédit y va!

lien github

Havnar
la source
En utilisant un joystick, on pourrait être en mesure d'étendre l'interface de contrôle si cela est fait avec soin pour présenter une interface utilisateur cohérente et simple pour le public cible - un commentateur sur le site lié a noté qu'il ne se souvenait que de la position de jeu pendant que le RPi était alimenté - cela peut être quelque chose à réviser - bien que je sois sûr quand j'ai fait quelques expériences avec un serveur de musique LAN, je me suis mpdsouvenu où il était dans une longue liste de lecture, peut-être qu'il y a une option pour cela ...
SlySven
Il n'y a aucune raison de ne pas laisser un pi alimenté, c'est mieux pour la carte SD du Pi de toute façon, ce n'est pas construit pour être arrêté.
Havnar
" ... ce n'est pas construit pour être arrêté. " Il vaut peut-être mieux dire, "il ne tolère pas que le courant soit coupé sans être correctement arrêté." - Un onduleur pour un Pi que j'ai possède la possibilité de démarrer et d'arrêter le Pi sur un cycle de minuterie de n'importe quoi entre 2-1000 minutes ON et 2-1000 minutes OFF - qui auraient des applications dans la photographie en accéléré - et là rien n'indique que cela soit intrinsèquement dangereux - bien que je convienne que la carte SD pourrait "s'user" un peu plus rapidement à partir de ces écritures de fichier journal supplémentaires.
SlySven