Aus Raspberry Pi Geek 01/2014

Aktivitätsüberwachung für allein lebende Senioren (Seite 4)

Die Anzahl der Dateien können Sie selbst festlegen, indem Sie im Verzeichnis etc/ des Akustik-Modells die Dateien 7646_test.fileids, 7646_test.transcription, 7646_train.fileids und 7646_train.transcription anpassen. Achten Sie dabei peinlich genau darauf, dass der Eintrag in der n-ten Zeile der Datei Name.fileids der Datei Name.transcription entsprechen muss, um einem späteren wunderlichen Verhalten der Spracherkennung vorzubeugen.

Liegen die Dateien vor, stoßen Sie den Trainingsprozess im Verzeichnis PfadZuSeheiah/acoustic_model/ mit dem Kommando sphinxtrain run an. An dessen Ende erfolgt jedes Mal eine Prüfung mithilfe der Testdateien, um den Erkennungsgrad zu ermitteln (Abbildung 4). Während des Trainings bietet es sich an, die Kommandos von verschiedenen Positionen im Zimmer zu geben und dabei den Aufnahmepegel zu optimieren.

Abbildung 4: 20 Übungseinheiten pro Kommando ziehen noch eine hohe Fehlerquote nach sich. Besser sind 50 Trainingssätze pro Kommando, optimal wären 500.

Abbildung 4: 20 Übungseinheiten pro Kommando ziehen noch eine hohe Fehlerquote nach sich. Besser sind 50 Trainingssätze pro Kommando, optimal wären 500.

Bei der Spracherkennung selbst meckerte der RasPi in Verbindung mit Alsa permanent, dass der Aufnahme-Stream nicht schnell genug interpretiert werden könne. Abhilfe schaffte ein Wechsel auf Pulseaudio, was mit überraschend vielen Konfigurationsschritten verbunden war, ehe die Spracherkennung reibungslos funktionierte [8]. Zunächst müssen Sie den ausführenden Nutzer der Gruppe pulse-access hinzufügen:

$ sudo adduser username pulse-access

Des Weiteren gilt es, eine /etc/asound.conf zu erstellen (Listing 2), in der /etc/default/pulseaudio müssen Sie den Wert von DISALLOW_MODULE_LOADING auf null setzen. In der Datei /etc/libao.conf geben Sie pulse anstelle von alsa als Standardtreiber an. Weitere Änderungen betreffen das File /etc/pulse/daemon.conf (Listing 3).

Listing 2

 

#/etc/asound.conf
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Listing 3

 

#/etc/pulse/daemon.conf
daemonize = yes
high-priority = yes
nice-level = 5
exit-idle-time = -1
resample-method = src-sinc-medium-quality
default-sample-format = s16le
default-sample-rate = 48000
default-sample-channels = 2"

Fazit und Ausblick

Seheiah wurde bisher nur in zwei Haushalten installiert und getestet. Hier zeigte sich, dass ein regelmäßiger Tagesablauf die Voraussetzung dafür bildet, Stürze zuverlässig zu erkennen (Abbildung 5). Außerdem gilt es, mit den Schwellwerten zu experimentieren. Das System erkennt Stürze nur dann zeitnah, wenn sie direkt vor einem sich regelmäßig wiederholenden Ereignis eintreten, etwa beim nächtlichen Sprint auf die Toilette, oder wenn sie mit einem ungewöhnlich hohen Wasserverbrauch einhergehen, etwa der Senior unter der laufenden Dusche ausrutscht.

Abbildung 5: Eine Visualisierung der in der Seheiah-Datenbank gespeicherten Tupel in Fünf-Minuten-Intervallen.

Abbildung 5: Eine Visualisierung der in der Seheiah-Datenbank gespeicherten Tupel in Fünf-Minuten-Intervallen.

Stürzt ein Senior beim Verlassen der Dusche oder auf dem Rückweg ins Bett, dauert es im schlimmsten Fall mehrere Stunden, ehe Seheiah den Sturz erkennt. Im besten Fall bleibt der Gestürzte bei Bewusstsein und verfügt noch über eine klare, vom Schmerz nicht verzerrte Aussprache, sodass er Seheiah anweisen kann, einen Hilferuf abzusetzen.

Das System soll in der nächsten Zeit weiterentwickelt und mit zusätzlichen Funktionen versehen werden. So wollen die Entwickler den Nutzern frei wählbare Kommandos und Trigger ermöglichen und einen VoIP-Client einbinden, sodass Hilfsbedürftiger und Helfer permanent in Kontakt stehen können.

Ferner soll Seheiah auch regelmäßige, aber nicht tägliche Ereignisse erkennen. Denkbar wären auch ein generisches akustisches Modell für die Spracherkennung, das auf den Trainingsdaten vieler verschiedener Sprecher basiert, sowie eine Hilfsanwendung, mit der sich sinnvolle Werte für Intervalle und Schwellwerte ermitteln lassen. 

Glossar

Seheiah

Der Engel der Langlebigkeit und des Schutzes gegen Stürze, Unfälle und Krankheiten. Neben der Fähigkeit, Ereignisse vorherzusagen, zählen auch Rehabilitation, Gesundheit und durch das Studieren gemachter Erfahrungen erlangte Weisheit sowie große innere Ruhe zu Seheiahs Qualitäten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben