Projektuj syntezę mowy dla niewidomego rodzica


12

Mój pierwszy post tutaj. (Mam szczerą nadzieję, że mieści się w zakresie dozwolonych postów, o których nie wiedziałem, gdzie się zwrócić).

Planuję zrealizować projekt dla dziewięćdziesięcioletniej matki, która szybko traci wzrok i wiedzie względnie spokojne życie.

Siedzi sama w domu, oglądając podstawowy kabel i nie ma połączenia z Internetem. Ma ogromny pilot zdalnego sterowania z 60 małymi przyciskami i jest w zasadzie zdezorientowana.

Chcę tylko umieścić na dysku twardym bibliotekę filmów i / lub audiobooków, aby mogła je przeglądać i oglądać w wolnym czasie.

Uznałem, że potrzebuje prostego joysticka z 6 dużymi, konfigurowalnymi przyciskami. Musiałbym dowiedzieć się, w jaki sposób tytuły mogą być jej automatycznie czytane (gdy przewija w dół przed wyborem).

GUI z OGROMNYM tekstem na monitorze może wystarczyć ... ale uważam, że funkcja zamiany tekstu na mowę może być najtrudniejszym problemem.

Jeśli tytuły zostaną jej odczytane, GUI to prawie kwestia sporna.

Widzę, że XBMC ma pewne funkcje zamiany tekstu na mowę ... chociaż nie mogę ustalić, czy byłoby to coś, co wymagałoby jej wzroku do poruszania się po interfejsie, aby „dostać się” do treści. (Ponadto nie mogę ustalić, czy samo menu jest odczytywane przez GUI - co umożliwia nawigację „bez wzroku”)

Potrzebuję GUI, aby otworzyć listę natychmiast po uruchomieniu (poprzez którą może po prostu przewijać i wybierać zawartość).

Moje proste pytanie brzmi: czy jest to możliwe w przypadku PI i czy wydaje się, że jest to możliwy do osiągnięcia cel.

Gdybym nie miał szans, że ktoś mógłby skierować mnie we właściwym kierunku, doceniłbym to bez końca.

Wielkie dzięki.


Czy próbowałeś wyszukać „mowę” na tym forum. Jest kilka linków (tak naprawdę nie próbowałem żadnych) np. Raspberrypi.stackexchange.com/questions/1015/…
Milliways

Nie jestem pewien, czy zamieściłeś to na forach org Rapsberry . Jeśli tego nie zrobisz, to pytanie zadaje się tam dość często.
dołącz

Chociaż istnieje znacznik dla „rozpoznawania mowy”, nie było odwrotności dla „generowania mowy”, które jest odrębnym tematem. Jest to część tego, co często określa się jako „syntezę mowy” (druga część), a wszystkie one są często kojarzone z kwestiami, które są ogólnie określane jako „dostępność”, które dotyczą ułatwienia korzystania z obu w pełni zdolni ludzie, a także osoby z pewnym stopniem upośledzenia, które mogą wymagać dodatkowej funkcjonalności, aby osiągnąć te same wyniki. Ta odpowiedź została wykorzystana do utworzenia tych trzech tagów.
SlySven,

3
Bardzo podoba mi się pomysł tego projektu, właśnie nominowałem go do nagrody Best Original Raspberry Pi Project Idea w konkursie Christmas Give-up na Raspberry Pi Meta.
Phil B.

1
Do wszystkich, którzy napisali: Jestem bardzo wzruszony i zachęcony odpowiedzią na to. Jestem neofitą i nigdy nie widziałem PI na własne oczy. Jestem bardzo wdzięczny za życzliwe odpowiedzi i ponawiam z tego powodu moją determinację. Podzieliłem się również wiadomościami z moją mamą - która mówi, że woli jabłko od malinowego ciasta i tak naprawdę nie wie o czym mówię ... ale na razie to jest w porządku :).
LeoFib,

Odpowiedzi:


8

Nie jestem pewien, jak zrobić gui, ale wiem, jak zrobić syntezator mowy. Możesz użyć espeak:

sudo apt-get install espeak
espeak 'Hello world'

Domyślnie głos espeak jest trudny do zrozumienia (dla mnie). Aby znaleźć głos, użyj:

sudo apt-cache search espeak

Następnie znajdź głos. Zainstaluj to. Następnie uruchomić

man espeak

aby dowiedzieć się, jak zmienić głos. To powinno być proste.

Oto przykład czegoś, co zrobiłem za pomocą espeak: https://github.com/Merlin04/robotthingy

Edycja: Myślę, że możesz stworzyć GUI z Kivy. Używa Pythona.


7

Mam tylko ograniczone doświadczenie z XBMC, ale mocno wierzę, że może to być już zbyt skomplikowane dla „grupy docelowej” (ta 90-letnia kobieta).

Uważam jednak, że ten projekt można z pewnością zrealizować na RasPi. Jako programista stron internetowych sugerowałbym zbudowanie prostej aplikacji internetowej. Nie mam pojęcia, czy coś takiego istnieje, ale nie mogę sobie wyobrazić, że byłoby to zbyt trudne do opracowania.

Podstawowy pomysł:

  1. RasPi z Raspbian.
  2. Aplikacja internetowa z uruchomionym Apache.
  3. Niektóre backend (na przykład PHP) indeksuje pliki na dysku twardym, formatuje nazwę do jakiegoś czytelnego formatu i wysyła je jako listę.
  4. Użyj javascript do sterowania wejściem joysticka i spraw, aby tytuły filmów / książek były czytane za pomocą HTML5 Speech Synthesis API (przykład: http://creative-punch.net/2014/10/intro-html5-speech-synthesis-api / ).
  5. Po wybraniu filmu / książki po prostu otwórz plik w przeglądarce. (W ten sposób nie będziesz musiał otwierać nowego okna, aby mogła po prostu wrócić do menu, naciskając przycisk Wstecz.)

OSMC (kodi) udostępnia niektóre API reszt. Może mógłbyś użyć tego do zbudowania własnego interfejsu / GUI. Zgadzam się jednak z Rienem, że brzmi to zbyt skomplikowane dla twojej publiczności. Nie sądzę, żeby człowiek mógł być blisko, aby pomóc jej w uruchomieniu / zatrzymaniu audiobooków dla niej?
Havnar

Cześć Havnar, właściwie nie. Ma dwa psy w domu i to wszystko… Myślę, że jedną rzeczą, o której zapomniałem, jest to, że ona nie ma połączenia z Internetem.
LeoFib,

Okej, kilka pytań. Skrócę je ze względu na zwięzłość. 1) RasPi 2 do tego, prawda? 2) Jaki system operacyjny poleciłbyś do tego? 3) Czy uważasz, że byłoby to wykonalne bez WIFI? - Niestety nie ma połączenia z siecią. 4) Apache służy do uruchamiania serwera, czy jest to system operacyjny? 5) Czy powinienem zacząć zapoznawać się z linuksem i jego poleceniami, aby się przygotować? Oto jeden pomysł: youtube.com/watch?v=NCVWX4suGE4 Co sądzisz? Czy powinienem po prostu wybrać ogólny zestaw RPI 2? - Wielkie dzięki i Szczęśliwego Nowego Roku.
LeoFib,

1
1) pi2 jest o wiele potężniejszy, co przyniesie korzyści w obu kierunkach. 2) Raspbian jest najbardziej przyjazny dla użytkownika i najczęściej używany, więc łatwo znaleźć przewodniki i pomoc na 3) możesz mieć wifi bez połączenia z Internetem, konfiguracja bezprzewodowa nie jest wymagana, jeśli korzystasz z pilota na podczerwień 4) możesz użyć wiele serwerów WWW apache jest powszechnie używanych 5) tak, mimo wszystko przydatny zestaw umiejętności! 5B) możesz zacząć od pi2 z kartą SD, kablem HDMI, zasilaczem i zacząć z nią grać. Niektóre umiejętności programowania aplikacji mogą się przydać.
Havnar

1
Wydaje mi się, że mam coś innego niż Havnar, więc moje odpowiedzi tutaj: 1) Niekonieczne, 1B też powinno być wystarczająco mocne, ale myślę, że 2 są bezpieczne 2) Raspbian rzeczywiście, najbardziej znany, dlatego najbardziej wspiera 3/4 ) Apache to oprogramowanie do serwerów sieciowych, dlatego możesz uruchamiać własne strony internetowe w systemie (w tym przypadku raspi). Oznacza to, że w ogóle nie potrzebujesz połączenia z Internetem, ponieważ strona internetowa będzie działać na twoim RasPi. 5) Tak, myślę, że podstawowa komenda jest przydatna, aby uruchomić Raspbian i Apache.
Rien Heuver,

4

Zrobiłem dla ciebie lekkie kopanie, ponieważ większość rzeczy może stać się zbyt skomplikowana dość szybko dla docelowych odbiorców.

Z mojego osobistego doświadczenia, przyciski i gui (nie ważne jak proste w twoich oczach deweloperów ) mogą wydawać się mylące dla osób starszych.

Nie wiem, jak dobre są twoje umiejętności w zakresie rozwoju (internetowego), ani czy możesz zdobyć wykwalifikowanego programistę, który pomoże Ci osiągnąć twoje cele, ale tutaj najważniejsza jest prostota dla użytkownika końcowego.

Dlatego „One Button Audiobook Player” może być tym, czego szukasz. A może dostosowanie do niego.

wyciąg poniżej:

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

Wykorzystano następujące oprogramowanie:

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

Dostępne są następujące funkcje:

  • zawsze włączone: Po włączeniu maliny uruchomi się i uruchomi skrypt Pythona z pauzą w książce audio

  • użycie jednego przycisku: Przycisk pauzuje i pauzuje książkę audio lub wraca o jedną ścieżkę po naciśnięciu przycisku dłużej niż 4 sekundy

  • zapamiętuje pozycję: Zawsze zapamięta ostatnio odtwarzaną pozycję

  • tylko jeden audiobook: na Raspberry zawsze będzie tylko jedna książka audio

  • łatwe wdrożenie książki audio: Po podłączeniu pamięci USB o specjalnej nazwie / etykiecie, Raspberry przestanie odtwarzać, zamontuje pamięć USB, usunie starą książkę audio, skopiuje nową, odbuduje listę odtwarzania i - po odłączeniu thumb drive - uruchamia nową książkę audio w trybie pauzy

  • wieloformatowy: Ponieważ używa MPD, odtwarzacz obsługuje Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4 / AAC, MOD, Musepack i wave

>>> źródło <<< --- wszystkie kredyty idą tam!

link github


Za pomocą joysticka można rozszerzyć interfejs sterowania, jeśli zrobi się to ostrożnie, aby przedstawić spójny i prosty interfejs dla odbiorców docelowych - jeden komentator na stronie z linkami zauważył, że pamięta tylko pozycję gry, gdy RPi było zasilane - to może być coś do skorygowania - chociaż jestem pewien, że kiedy przeprowadziłem eksperyment z serwerem muzycznym LAN mpdzapamiętanym, gdzie był na długiej liście odtwarzania, być może jest na to opcja ...
SlySven

Nie ma powodu, aby nie pozostawiać zasilanego pi, jest to i tak lepsze dla karty SD sd, a jego kompilacja nie jest zamykana.
Havnar

... nie jest budowany, by go zamknąć. ” Być może lepiej powiedzieć: „nie jest tolerancyjny, gdy moc zostanie odłączona bez odpowiedniego wyłączenia”. - UPS dla Pi Mam możliwość uruchomienia i wyłączenia Pi w cyklu czasowym od 2 do 1000 minut WŁĄCZENIA i 2-1000 minut WYŁĄCZENIA - co miałoby zastosowanie w fotografii poklatkowej - i tam nie świadczy o tym, że jest to z natury szkodliwe - chociaż zgadzam się, że karta SD może „zużyć się” nieco szybciej po zapisaniu dodatkowych plików dziennika.
SlySven,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.