PVA: kleines Carola Update

Weil das im Dezember mit dem Video nicht geklappt hat, reiche ich das heute mal nach.

PVA: kleines Carola Update

Wie Ihr Euch vielleicht erinnern mögt, gab es Anfang Dezember einige Anpassungen die Euch das Leben etwas vereinfachen konnten. Carola konnte Dateien suchen und das Suchergebnis einem x-beliebigen Programm übergeben. Diese Funktion wird im Video gezeigt:

RITA

Rita“ muß man kurz erklären. Der Begriff „Krita“ wird von der deutschen Sprachausgabe meisten als Kreta erkannt, manchmal aber auch nur als der Eigenname rita. Da „rita“ im Begriff „Krita“ vorkommt, findet der Sprachassistent das gewünschte Programm trotzdem 🙂

Der PVA durchsucht dafür die Anwendungsliste in /usr/share/applications/ und kann dann auch alle dort befindlichen Apps (auch ohne vorherige Suchergebnisse ) starten, wenn im Programmnamen oder in den Keywords eine Übereinstimmung mit dem Anwendungsnamen besteht. Leider kann das Programm noch keine Relevanz in die Suche einfließen lassen, so daß das Starten von „Bildschirm“ ggf. nicht die Bildschirmeinstellungen, sondern das Bildschirmfoto findet, je nach dem was zuerst gefunden wird.

Seit dieser Aufnahme hat es noch einige andere Veränderungen gegeben. Das Projekt wurde nach /usr/share/pva verschoben. Alles Desktopdateien wurden angepaßt und in /usr/share/applications/ untergebracht. Damit ist es jetzt möglich, daß der PVA für jeden eingeloggten Benutzer start- und nutzbar ist. Jeder Benutzer kann seine eigene Config in ~/.config/pva/conf.d/  haben. Die globalen Einstellungen dienen dabei als Defaults. Beim ersten Start werden die nötigen Dateistrukturen in .config, .cache und .var erzeugt und passend gefüllt, wenn es diese noch nicht gibt. Beispielsweise werden die Suchpfade an den Benutzernamen angepaßt, so daß die üblichen Verzeichnisse  die „Bilder“, „Musik“, „Videos“ usw. benutzt werden, da gloable Vorsteinstellungen für Suchpfade wegen der ggf. beschränkten Nutzerrechte keinen Sinn machen.

Erfreulicherweise können wir Carola jetzt per „Startprogramme“ beim Login in den Desktop starten, so daß der Assistent auch sofort bereit ist. Da das deutsche Sprachmodell 3,2 GB groß ist, braucht der Start auf langsamer Hardware eine ganze Weile. Kleinen PCs, Laptops und Handies empfehle ich daher das kleine 60MB Sprachmodell zu nehmen.

Zur Zeit baue ich für Fedora das RPM zusammen, so daß es den Guidelines vom Fedoraprojekt entspricht.

 

PVA – Carola spricht weiter zu uns

Vor ein paar Monaten haben ich einen Personal Voice Assistant(PVA), also einen persönlichen Sprachassistenten zusammengebaut. Hier ein Update zur jüngsten Entwicklung von Carola.

PVA – Carola spricht weiter zu uns

An der Sprachausgabe hat sich eine Veränderung ergeben, die dem Projekt zwar eine deutlich bessere Stimme verpaßt, aber leider auch Privatsspährenverletzungen erlaubt. Die Rede ist von der Einführung von GTTS, der Google Text-To-Speech API.Dabei werden die Textausgaben an einen Googleserver übertragen und dann in ein MP3 umgewandelt.

An sich ist das kein Problem, wenn man sich im Griff hat. Wenn aber der PVA etwas gesprochenes im Raum aufschnappt und meint, das wäre für ihn bestimmt, dann wertet er das aus. Erkennt der PVA nicht, was man von Ihm wollte, weil es unabsichtlich war, wird ein Teil des Textes zitiert. Dieser Teil, auch wenn er nur wenige Worte umfasst, würde auch an Google gehen.

Damit das nicht unwillentlich passiert, ist GTTS zwar jetzt möglich, aber nicht aktiviert. Das führt uns aber auf direktem Wege zu einem neuen coolen Feature vom PVA: Alternativen zur Laufzeit ändern, per Sprachbefehl 😀

Alternatives / Alternativen

In der Konfiguration sieht das so aus:

Es gibt eine Definition der Anwendung „say“:

app:“say„,“/usr/local/sbin/say“

Der konfigurierte Befehl wird für alle Sprachausgaben benutzt, eine Anpassung hier ändert also sofort alles. Um dies vom PVA per Sprache zu machen, sagt man bezogen auf GTTS einfach: „benutze google sprachausgabe“ und schon wird in der Konfiguration gsay, statt say eingetragen und ab sofort benutzt. Die Rückkehr zum normalen Espeak+Mbrola TTS ist entsprechend einfach: „benutzte normale sprachausgabe“.

Das sieht dann so aus:

alternatives:“normale sprachausgabe„,“say„,“/usr/local/sbin/say“
alternatives:“google sprachausgabe„,“say„,“/usr/local/sbin/gsay“

Das gleiche kann man für alle Apps machen, sofern man da Alternativen konfiguriert hat und welche die gleichen Argumente akzeptieren: Beispiel

app:“searchengine„,“duckduckgo

alternatives:“duckduckgo„,“searchengine„,“duckduckgo
alternatives:“googlesuche„,“searchengine„,“google

Die Suchmaschinen sind wiederum so definiert:

searchengines:“duckduckgo„,“https://html.duckduckgo.com/html?q=<query>
searchengines:“google„,“https://www.google.com/search?q=<query>

In der Defaultkonfiguration sind entsprechende Beispiele konfiguriert.

Anwendungen starten

Die Liste der Apps kann jetzt beliebig erweitert werden. Der Sprachbefehl „starte runes of magic“ wird jetzt über die Appliste und nicht mehr im Javacode gestartet:

app:“runes of magic„,“runesofmagic
app:“blender“,“blender“
app:“wetter“,“gnome-weather“
app:“karte“,“gnome-maps“
app:“firefox“,“firefox“
app:“netflix„,“firefox https://www.netflix.com/browse/my-list
usw.

Wie man sieht, kann man auch die NetFlix Webanwendung starten, wenn man das Profile angibt und ein eigenes Profil für Netflix benutzt, kann man es auch gleich im Fullscreenkioskmodus starten, was echt stylish ist 😉 Für „Runes of Magic“ habe ich mir ein kleines Startscript gebaut, deswegen sieht das so einfach aus:

#!/bin/bash

env WINEPREFIX="/home/<username>/.wine" /opt/wine-staging/bin/wine C:\\\\windows\\\\command\\\\start.exe /d "/home/<username>/Programme/GameforgeLive/Games/DEU_deu/Runes Of Magic/" /Unix "/home/<username>/Programme/GameforgeLive/Games/DEU_deu/Runes Of Magic/launcher.exe" NoCheckVersion 1>/dev/null 2>/dev/null &

Gerade eben, beim Schreiben des Textes hatte ich die geniale Idee, wie man das gesamte System, also alle Desktop Apps automatisch ansprechen könnte …Das wird ein Spaß 😀

Checkt mal in den nächsten Tagen das Github-Repo für ein Update des PVA.java . Das kann eigentlich nicht lange dauern bis das läuft. Es würde da eher an der Spracherkennung happern, die Cache z.b. als Cash erkennt. Vermutlich ist es besser, die deutschen Programmnamen zu verwenden 😉

… GEHT 😀

Das ist sooo cool, daß ich Euch ein Video machen muß, leider streikt OpenShot gerade 🙁 . Man lässt z.b. Bilder suchen und kann diese dann mit einer Wunsch Anwendung öffnen. Er findet auch alle Programme, die ein Desktopfile haben und kann die starten bzw. die als Ziel für z.b. Bildersuchergebnisse benutzen.

Erster Beitrag:

Mbrola – etwas bessere Sprachsynthese

Fedora: Die Zeit von Truecrypt ist abgelaufen

„Es kam, wie es kommen mußte. Joe ‚True‘ Crypt wurde zu alt für den Job als Datenschützer. Mit seinen 20 Jahren mußte er schliesslich doch in Frührente gehen. In einer kurzen Gedenkzeremonie durfte er sich von seinem geliebten Fedoradesktop verabschieden.“

Fedora: Die Zeit von Truecrypt ist abgelaufen

Ja, mit dem Wechsel auf Fedora 33 funktioniert Truecrypt nicht mehr. Das liegt an einer Änderung, wie die nötigen Sockets im System erzeugt werden dürfen. Ich denke hier ist SEL am Ball, ist aber nur eine Vermutung. Ein Wechsel zu Veracrypt 1.24u7 hat hier geholfen. Damit lassen sich die Truecrypt Datenträger wieder einbinden.

Wer die noch nicht hat, weil ältere tun es auch nicht mehr, der kann sich die Version hier runterladen:

https://www.veracrypt.fr/en/Downloads.html

Damit könnte die Geschichte ja bereits am Ende sein, aber so einfach ist es dann doch nicht. Wenn Ihr wie ich Bookmarks auf in den TC-Datenträgern gelegenen Verzeichnissen in Nemo oder Nautilus habt, dann dürft Ihr die Lesezeichen editieren 🙂

Das liegt daran, daß Truecrypt seine automatischen Verzeichnisse unter /media/truecrypt{SLOTNUMMER} mounted, Veracrypt aber /media/veracrypt{SLOTNUMMER} benutzt. Damit gehen die Lesezeichen ins Leere.

Die Lesezeichen für Nemo befinden sich hier:  ~/.config/gtk-3.0/bookmarks

Einfach „truecrypt“ mit „veracrypt“ ersetzen, erledigt.

Wer seine Datenträger automatisch beim Login in die Desktopsession mounten will, muß auch die ~./config/autostart/truecrypt.desktop Datei anpassen, inhaltlich, nicht vom Namen her 😉

Exec=sudo /usr/bin/veracrypt –auto-mount=favorites

Damit wären wir dann fast durch.

… und die Linuxgötter waren erzürnt, daß es neben ihnen einen weiteren Titanen geben sollte und peppten LUKS auf…

Es geht auch ganz ohne Veracrypt, nur kann man dann nicht von den neuen VeraCrypt Eigenschaften profitieren:

cryptsetup –type tcrypt open /dev/sda tcsda
mount /dev/mapper/tcsda /media/truecrypt1

mit

umount /media/truecrypt1
cryptsetup close /dev/mapper/tcsda

kann man es wieder schließen. Wenn man diesen Weg gehen will, was völlig legitim ist, dann wäre clever das in ein kleines Bashscript zu packen, daß auf dem Desktop nach dem Passwort bettelt. Das Passwort kann man elegant an Cryptsetup übergeben:

echo „$password“ | cryptsetup –type tcrypt open /dev/sda tcsda

Jetzt muß sich für das Bashscript nur noch ein Desktopfile in ~/.config/autostart erstellen und ist durch 🙂

Wenn die TC-Datenträger das gleiche Passwort (wenn vorhanden) wie die Systemplatte haben, dann kann man das auch beim Booten erledigen lassen in dem die Einträge dafür in /etc/crypttab gespeichert werden.

Für alle, die mehr über Truecrypt und Luks wissen möchten, hier ein LPD Beitrag zum Thema: