Projizieren Sie Text-to-Speech für einen blinden Elternteil

12

Mein erster Beitrag hier. (Ich hoffe aufrichtig, dass es im Rahmen der erlaubten Beiträge liegt, bei denen ich nicht wusste, wohin ich mich sonst wenden soll).

Ich plane ein Projekt für eine neunzigjährige Mutter, die ihr Augenlicht schnell verliert und ein relativ freudloses Leben führt.

Sie sitzt alleine zu Hause und schaut sich ein einfaches Kabel an. Sie hat keine Internetverbindung. Sie hat eine riesige Fernbedienung mit 60 winzigen Knöpfen und ist im Grunde durch die ganze Sache verwirrt.

Ich möchte nur eine Bibliothek mit Filmen und / oder Hörbüchern auf eine Festplatte legen, damit sie in Ruhe darin navigieren und zuschauen kann.

Ich habe beschlossen, dass sie einen einfachen Joystick mit 6 großen konfigurierbaren Tasten benötigt. Ich müsste irgendwie herausfinden, dass Titel automatisch vorgelesen werden (während sie vor der Auswahl nach unten scrollt).

Eine GUI, die RIESIGEN Text auf dem Monitor liefert, mag ausreichen ... aber ich glaube, dass die Text-zu-Sprache-Funktion das schwierigste Problem sein könnte.

Wenn ihr die Titel vorgelesen werden, ist eine GUI fast ein strittiger Punkt.

XBMC hat, wie ich sehe, einige Text-zu-Sprache-Funktionen ... obwohl ich nicht bestimmen kann, ob es etwas wäre, das ihre Sicht erfordert, um durch die Benutzeroberfläche zu navigieren, um zum Inhalt "zu gelangen". (Außerdem kann ich nicht feststellen, ob das Menü selbst von der Benutzeroberfläche gelesen wird, was eine "blinde" Navigation ermöglicht.)

Ich brauche eine GUI, um sofort nach dem Booten eine Liste zu öffnen (durch die sie einfach scrollen und Inhalte auswählen kann).

Meine einfache Frage ist, ob es mit dem PI möglich ist und ob es so scheint, als ob dies ein erreichbares Ziel ist.

Wenn jemand mich nicht in die richtige Richtung lenken könnte, würde ich es unendlich schätzen.

Danke vielmals.

LeoFib
quelle
Haben Sie versucht, in diesem Forum nach "speech" zu suchen? Es gibt ein paar Links (ich habe noch keine ausprobiert), zB raspberrypi.stackexchange.com/questions/1015/…
Milliways
Ich bin mir nicht sicher, ob Sie dies in den Rapsberry-Org-Foren gepostet haben . Wenn Sie dies nicht getan haben, ist es die Art von Frage, die dort ziemlich oft gestellt wird.
28.
Obwohl es ein Etikett für "Spracherkennung" gibt, gab es für "Sprachgenerierung" nicht das Gegenteil, was ein eigenständiges Thema ist. Es ist Teil dessen, was oft als "Text-to-Speech" (der zweite Teil) bezeichnet wird, und all dies wird oft mit Dingen in Verbindung gebracht, die allgemein als "Zugänglichkeit" bezeichnet werden und sich darauf beziehen, Dinge für beide einfacher zu machen voll leistungsfähige Menschen und auch Menschen mit einem gewissen Grad an Beeinträchtigung, die möglicherweise zusätzliche Funktionen benötigen, um dieselben Ergebnisse zu erzielen. Diese Antwort wurde verwendet, um diese drei Tags zu erstellen.
SlySven
3
Ich liebe die Idee dieses Projekts so sehr, dass ich es gerade für die beste originale Raspberry Pi-Projektidee beim Weihnachtsgeschenkwettbewerb für Raspberry Pi Meta nominiert habe.
Phil B.
1
An alle, die gepostet haben: Ich bin sehr berührt und ermutigt über die Reaktion darauf. Ich bin ein Neuling und habe noch nie einen PI mit eigenen Augen gesehen. Ich bin sehr dankbar für die freundlichen Antworten und habe meine Entschlossenheit erneuert, dies zu verfolgen. Ich habe die Neuigkeiten auch mit meiner Mutter geteilt - die sagt, sie bevorzugt Apfel-Himbeer-Kuchen und weiß sowieso nicht wirklich, wovon ich spreche ... aber das ist im Moment in Ordnung :).
LeoFib

Antworten:

8

Ich bin nicht sicher, wie ich die GUI machen soll, aber ich weiß, wie man Text-to-Speech macht. Sie können espeak verwenden:

sudo apt-get install espeak
espeak 'Hello world'

Standardmäßig ist die Stimme von espeak (für mich) schwer zu verstehen. Um eine Stimme zu finden, verwenden Sie:

sudo apt-cache search espeak

Dann finde eine Stimme. Es installieren. Dann renne

man espeak

um herauszufinden, wie man die Stimme ändert. Es sollte einfach sein.

Hier ist ein Beispiel für etwas, das ich mit espeak gemacht habe: https://github.com/Merlin04/robotthingy

Edit: Ich denke, Sie könnten eine GUI mit Kivy machen. Es verwendet Python.

Merlin04
quelle
7

Ich habe nur begrenzte Erfahrung mit XBMC, bin jedoch der festen Überzeugung, dass dies für die 'Zielgruppe' (diese 90-jährige Frau) bereits zu kompliziert sein könnte.

Ich glaube jedoch, dass dieses Projekt auf einem RasPi mit Sicherheit erreichbar ist. Als Webentwickler würde ich vorschlagen, eine einfache Webapp zu erstellen. Ich habe überhaupt keine Ahnung, ob so etwas existiert, aber ich kann mir nicht vorstellen, dass es zu schwer ist, sich zu entwickeln.

Grundidee:

  1. RasPi mit Raspbian.
  2. Webapp läuft Apache.
  3. Einige Backends (z. B. PHP) indizieren die Dateien auf der Festplatte, formatieren den Namen in ein lesbares Format und geben sie als Liste aus.
  4. Verwenden Sie Javascript, um die Joystick-Eingabe zu steuern und die Titel von Filmen / Büchern mit der HTML5-Sprachsynthese-API zu lesen (Beispiel: http://creative-punch.net/2014/10/intro-html5-speech-synthesis-api) / ).
  5. Öffnen Sie bei der Auswahl eines Films / Buches einfach die Datei im Browser. (Auf diese Weise müssen Sie kein neues Fenster öffnen, damit sie einfach durch Drücken der Zurück-Taste zum Menü zurückkehren kann.)
Rien Heuver
quelle
OSMC (Kodi) macht einige Rest-API verfügbar. Vielleicht könntest du damit dein eigenes Frontend / GUI bauen. Ich stimme jedoch Rien zu, dass dies für Ihr Publikum zu komplex klingt. Ich nehme nicht an, dass ein Mensch in der Nähe sein könnte, um beim Starten / Stoppen von Hörbüchern für sie zu helfen.
Havnar
Hi Havnar, Nö, eigentlich. Sie hat zwei Hunde im Haus und das war's auch schon ... Ich glaube, ich habe es versäumt zu erwähnen, dass sie auch keine Internetverbindung hat.
LeoFib
Okay, ein paar Fragen. Ich werde sie der Kürze halber kurz halten. 1) RasPi 2 dafür, richtig? 2) Welches Betriebssystem würden Sie dafür empfehlen? 3) Glaubst du, das wäre ohne WIFI machbar? - Sie hat leider keine Netzverbindung. 4) Apache wird zum Ausführen eines Servers verwendet oder handelt es sich um ein Betriebssystem? 5) Sollte ich mich mit Linux und seinen Befehlen vertraut machen, um mich vorzubereiten? Hier ist eine Idee: youtube.com/watch?v=NCVWX4suGE4 Was denkst du? Sollte ich nur ein generisches RPI 2-Kit verwenden? - Vielen Dank und ein gutes neues Jahr.
LeoFib
1
1) das pi2 ist viel leistungsfähiger, das wird dir in jeder hinsicht nützen. 2) Raspbian ist das benutzerfreundlichste und am häufigsten verwendete Programm. Es ist daher einfach, Anleitungen und Hilfestellungen zu finden Viele Webserver Apache sind weit verbreitet. 5) Ja, ein nützliches Skillset, trotzdem! 5B) Sie können mit einem pi2 mit SD-Karte, HDMI-Kabel, Netzteil beginnen und beginnen, damit zu spielen. Einige Fähigkeiten in der Anwendungsentwicklung können natürlich nützlich sein.
Havnar
1
Ich glaube, ich habe eine andere Sichtweise als Havnar, daher meine Antworten hier: 1) Nicht notwendig, 1B sollte meiner Meinung nach auch stark genug sein, aber 2 ist sicher, 2) Raspbian in der Tat, die bekanntesten also die meisten unterstützen 3/4 ) Apache ist eine Webserver-Software, mit der Sie Ihre eigenen Websites auf einem System (in diesem Fall raspi) betreiben können. Das bedeutet, dass Sie überhaupt keine Internetverbindung benötigen, da die Webseite auf Ihrem RasPi ausgeführt wird. 5) Ja, einige grundlegende Kommandozeilen sind nützlich, um Raspbian und Apache zum Laufen zu bringen, denke ich.
Rien Heuver
4

Ich habe ein wenig nach Ihnen gegraben, da die meisten Dinge für Ihre Zielgruppe ziemlich schnell zu komplex werden können.

Aus meiner persönlichen Erfahrung, Tasten und Guis (egal wie einfach in Ihrer Entwickleraugen ) für ältere Menschen verwirrend wirken.

Ich weiß nicht, wie gut Sie sich mit (Web-) Entwicklung auskennen oder ob Sie einen erfahrenen Entwickler motivieren können, um Ihre Ziele zu erreichen, aber die Einfachheit für den Endbenutzer ist hier der Schlüssel.

Deshalb könnte "The One Button Audiobook Player" genau das sein, wonach Sie suchen. Oder vielleicht eine Anpassung daran.

Auszug unten:

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

Die folgende Software wurde verwendet:

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

Die Funktionen sind die folgenden:

  • always on: Wenn Sie die Himbeere einschalten, wird sie hochgefahren und das Python-Skript mit angehaltenem Hörbuch gestartet

  • One-Button-Bedienung: Die Taste unterbricht und hebt die Unterbrechung des Hörbuchs auf oder geht einen Titel zurück, wenn Sie die Taste länger als 4 Sekunden drücken

  • merkt sich die Position: Es wird immer die zuletzt gespielte Position gespeichert

  • Nur ein Hörbuch: Auf der Himbeere befindet sich immer nur ein Hörbuch

  • Einfache Bereitstellung von Hörbüchern: Wenn Sie ein USB-Stick mit einem speziellen Namen / Etikett anschließen, stoppt die Himbeere die Wiedergabe, hängt das Stick ein, löscht das alte Hörbuch, kopiert das neue, erstellt die Wiedergabeliste neu und - nachdem Sie das USB-Stick entfernt haben USB-Stick - Startet das neue Hörbuch im Pausenmodus

  • Multiformat: Da der Player mpd verwendet, unterstützt er Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4 / AAC, MOD, Musepack und Wave

>>> Quelle <<< --- Alle Kredite gehen dorthin!

Github Link

Havnar
quelle
Mit einem Joystick kann die Benutzeroberfläche möglicherweise erweitert werden, wenn eine konsistente und einfache Benutzeroberfläche für die Zielgruppe bereitgestellt wird. Ein Kommentator auf der verlinkten Website merkte an, dass er sich nur an die Spielposition erinnerte, während das RPi mit Strom versorgt wurde - dass etwas zu revidieren sein kann - obwohl ich sicher bin , wenn ich einig Experiment mit einem LAN - Musikserver habe die mpdErinnerung , wo es in einer langen Spiel-Liste war, mayhaps es eine Option für sie ist ...
SlySven
Es gibt keinen Grund, einen Pi nicht mit Strom zu versorgen. Es ist sowieso besser für die SD-Karte des Pi, da er nicht zum Herunterfahren gebaut ist.
Havnar
" ... es ist nicht gebaut, um heruntergefahren zu werden. " Vielleicht ist es besser zu sagen, "es ist nicht tolerant, die Stromversorgung zu unterbrechen, ohne ordnungsgemäß heruntergefahren zu werden." - Eine USV für einen Pi, über die ich verfüge, kann den Pi in einem Timer-Zyklus von 2-1000 Minuten (EIN) bis 2-1000 Minuten (AUS) starten und herunterfahren Es gibt keine Anzeichen dafür, dass dies von Natur aus schädlich ist - obwohl ich damit einverstanden bin, dass die SD-Karte durch diese zusätzlichen Protokolldatei-Schreibvorgänge etwas schneller "abgenutzt" sein könnte.
SlySven