Lokales Speech to Text in Linux Mint einrichten

Das hier ist heute was für Tippfaule und Redefreudige.

Das seelenlose KI-generierte Titelbild bitte ich zu entschuldigen. Aber da es heute auch um KI geht, passt das ausnahmsweise mal ganz gut.

Kontext släsch Vorgeschichte

Ich will schon lange mal ausprobieren, ob ich auf meinem privaten Arbeits-PC eine Diktierfunktion installiert bekomme. Nicht weil ich zu faul zum Tippen wäre, sondern einfach weil ich darauf neugierig bin und viele kleine Aspekte einfach nicht kenne. Zum Beispiel: Wie gut ist die Spracherkennungsqualität? Wie hoch ist die Fehlerrate? Satzzeichen, Grammatik, Groß- und Kleinschreibung et cetera… Sowas muss man einfach ausprobieren, um entscheiden zu können, ob das für einen persönlich funktioniert.

Heute stolperte ich in einer Diskussion (zu einem völlig anderen Thema) wieder mal über das Thema STT (Speech to Text), und zwei Minuten später landete ich dann hier:

Blogartikel „Nerd dictation – Spracheingabe unter Linux in Deutsch" auf der Website „Carpe Noctem". Der Autor empfiehlt das Python-Tool Nerd Dictation (basierend auf Vosk, Offline-Spracherkennung), das gesprochene Sprache als Tastatureingabe in jedes offene Fenster schreibt. Zwei Code-Blöcke zeigen die Einbindung per Bash-Befehl und xbindkeys. Veröffentlicht 29.11.2023, letztes Update 29.01.2025.

https://www.notdefine.de/projects/nerd-dictation-spracheingabe-unter-linus-in-deutsch

…ja, ungefähr so kann ich mir das vorstellen. Klingt auch nicht all zu schwer. Und es erfüllt meine wichtigste Bedingung: Das Ganze muss lokal bei mir laufen!* Cloudbasierte Angebote kriegste’s vermutlich relativ einfach installiert und eingerichtet (mit jedem Smartfon kannste mit Siri, Google und Co. quatschen), aber nicht mit mir. Nur weil ich paranoid bin, heißt das noch lange nicht, dass sie nicht doch hinter mir her sind! (c;

* Meine Stimme ist ein biometrisches Merkmal wie meine Fingerabdrücke, beides werd‘ ich nicht freiwillig an irgendwelche Dritten rausrücken. Ich reiße mich jetzt ganz arg zusammen und spare sowohl euch als auch mir einen rant gegen Techbro-Milliardäre, amerikanische Datenkrakenkonzerne, Großkonzerne im Allgemeinen und generell jegliches Privacy-Gedöns. Soll ja noch jemand Lust haben, das hier zu lesen.

Die nächste Einschränkung: Ich bin weder Hacker noch IT’ler. Ich bin zwar kein DAU mehr (erster 386er Anfang der 90er), hab mir dies und das angelesen und bekomme ohne zu schwitzen auf einem Rechner ein Linux installiert, kann aber weder programmieren noch hab ich wirklich tiefgehende IT-Kenntnisse.

Was ich dagegen habe, ist ChatGPT. Und das kann all das.

Der Brumme und die KI …mal wieder.

Ja, die Profis unter euch werden sich jetzt die Haare raufen. Ich kenne die gängigen Argumente, die dagegen sprechen, etwas mit einem LLM zu machen, von dem man selbst keine Ahnung hat. Und ich widerspreche euch auch nicht inhaltlich.

Aber. 😉

Ich habe in den letzten Monaten diverse private IT-Projekte erfolgreich gewuppt, die ohne GPT weit, wirklich weit außerhalb meiner Kompetenzen gelegen hätten. Ich hab inzwischen nen Heimserver auf nem alten Laptop, auf dem Proxmox läuft und in dem mehere Dienste wohnen, leben und arbeiten:

  • Home Assistant, mit dem ich Smarthome-Spielereien ausprobieren kann
  • ein VPN-Tunneldienst, damit ich von weit weg (d.h. außerhalb meines WLANs) sicher in mein Heimnetz kann
  • Überwachungskameras (leider nötig, da wir im Viertel seit Monaten ne massive Einbruchswelle haben)
  • Minecraft-Server für die Kids
  • Jellyfin als Medienbibliothek, in der die brummsche Musiksammlung von überall (dank oben erwähntem VPN wirklich überall) zugreifbar ist
  • etc…

Derzeit bastle ich – wie immer eigentlich – an mehren IT-Projekten gleichzeitig:

  • ne selbstgehostete Nextcloud, als Basis für nen gemeinsamen Familienkalender und diverse andere Spielereien
  • ein umfassendes Backup-Konzept, das alle PCs, Notebooks und Smartfonse der Familie regelmäßig automatisierte Backups machen lässt (ey warum gibt’s dafür keine Schlüsselfertige Lösung?!?), und zwar komplett lokal, ohne dass irgendeine Datenkrake involviert ist
  • Aufbau eines eigenen & selbstgehosteten Wiki für das Rollenspiel-Hobby, in dem perspektivisch mal ca. 1000 Seiten Text sauber und übersichtlich untergebracht werden
  • Mikrocontroller-Spielereien gemeinsam mit Kind Eins (8.Klasse), sodass wir beide bissel Coden lernen
  • etc

All das wäre ohne GPT zwar nicht unmöglich, aber ich habe weder die Zeit, noch die Energie, nach Feierabend (genauer: nach Job, Heimweg, Familie, Haus- und Gartenarbeit), mich aus eigener Kraft in diese Spezialgebiete rein zu nerden. Ich nehme in Kauf, dass der Lerneffekt deutlich geringer sein wird, als wenn ich mir alles selbst erarbeiten würde. Weil ich dann nämlich gar nicht erst anfangen würde mit solchen Projekten, die bei mir viel zu oft spontan und unerwartet auploppen. Ich hab leider ne sehr spezielle Immun-Insuffizienz: Ich kann mich gegen neue Ideen und Inspirationen nur sehr schlecht wehren, selbst wenn sich die angefangenen und noch nicht beendeten Projekte auftürmen zu einem Gebilde, gegen das dieser eine Turm in Pisa echt vertrauenserweckend wirkt.

Und ja: Ich habe schon öfter erlebt, dass sich GPT auch (nicht nur) bei technischen Projekten „verrent“, nicht merkt, dass es irgendwo falsch abgebogen ist und mich dann selbstbewusst immer tiefer ins rabbit hole reinzieht. Irgendwann merke selbst ich Laie das dann, manchmal aber eben erst nachts halb drei… Das passiert selten und ist frustrierend, aber ich akzeptiere das als Preis dafür, dass oben erwähnte Projekte jetzt überhaupt erstmal realistisch in meiner persönlichen Reichweite liegen. Ich sage nicht, dass dies Einstellung die einzig „richtige“ sei oder überhaupt „richtig“, your mileage may vary and we can agree to disagree.

So, genug rumgeschwafelt. Aber das wollte ich noch voraus schicken, damit euch mein Hintergrund und meine Haltung zu KI einigermaßen klar ist. Jetzt Butter bei die Fische -los geht’s!

Ach nee, doch noch nicht. Eine Sache noch…

Ich habe bei den letzten größeren Projekten (vorher kam ich nie auf diese Idee) es mir zur Angewohnheit gemacht, wenn am Ende alles so läuft wie ich das wollte, von GPT eine komplette Projekt-Doku schreiben zu lassen.

ungefähr so hier:

okay damit sind wir jetzt fertig richtig falls das so ist dann schreib mal bitte ne komplette umfassende projektdokumentation, in eine textdatei in der wirklich relevante alles drin steht, sodass ich dann a) in einem neuen chat komplett von vorn beginnen könnte und du aber trotzdem sofort alles wüsstest was du wissen musst und b) dass ich diese datei jemanden anders geben kann der auch damit klar kommt und das so nachbauen könnte.

Der Text sieht übrigens deshalb so Kacke aus, weil ich den diktiert habe… hätte ich das wie bisher getippt, wäre zwar auch kein Pulitzer-verdächtiges Meisterwerk rausgekommen, aber sprachlich wäre das definitiv nicht so’n Müll geworden. Warum ich das dann trotzdem so zitiert habe? Um euch zu zeigen, mit welchem sprachlichem Müll GPT klarkommt – ich habe daraufhin nämlich meine komplette Projekt-Doku bekommen, die wirklich alle relevanten Daten enthält, sauber strukturiert und kommentiert ist. Ich finde das beeindruckend.

Als ich die Doku dann überflogen habe, kam mir die folgende Idee, die ich direkt an GPT weitergab. Wieder direkt in GPT’s Chat diktiert, aber vor’m Abschicken nochmal minimal von mir editiert:

jetzt nimm bitte diese textdatei und erstell auf dieser basis ein blogposting in dem das projekt umfassend genug beschrieben wird, so dass man das nachbauen könnte. achte sehr darauf dass keine privaten daten von mir enthalten sind zum beispiel mein linux benutzername und andere dinge die relevant sind für meine privacy.

Das Ganze ist definitiv nur ein Experiment – die Blogartikel hier werden immer handgeschrieben bleiben, es sei denn es gibt wie hier einen konkreten Grund, die KI ran zu lassen. Hier will ich einfach mal gucken, was rauskommt und wie gut das mit wenig Aufwand klappt. Ich habe den ersten Entwurf exakt einmal optimieren lassen müssen, weil das Posting mitten im Text abrupt endete, was ganz klar eine Art Fehlfunktion wurde. Darauf hingewiesen, kam das Folgende heraus.

Also, Full Disclaimer: Bei den beiden folgenden Dateien ist die KI der Autor. Ich bin technisch nicht in der Lage, den Inhalt auf Richtigkeit zu prüfen – us at your own risk.

Ich bin kein Freund dieser CTA’s (call to action) á la „Was haltet ihr davon? Schreibt’s gern mal in die Kommentare!“ – das nervt. Aber ich wüsste wirklich gern, wie ihr dieses KI-Posting findet.

Es ist nicht im brummetypischen Sprachstil verfasst, und war erstens nicht Teil der Aufgabe und zweitens wär’s auch nicht sinnvoll, denn hier soll’s um ne technische Anleitung gehen. Aber inhaltlich sollte das genau den Zweck erfüllen, für den ich’s hab erstellen lassen. Vielleicht probiere ich das bei Gelegenheit mal aus und nutze es, um auf einem anderen Rechner das mit einer anderen KI (Claude bspw.) nachzubauen.

Nachmachen erwünscht!

Ladet euch das Ganze gern als pdf oder txt runter. Inhaltlich sind beide identisch, aber das pdf ist formatiert und damit für die meisten Menschen besser lesbar als die txt Version. Verfüttert das einem KI-Modell eurer Wahl und baut’s mit dessen Hilfe nach, wenn ihr Bock habt.

Vermutlich geht das auch unter Windows, dafür kann ich euch aber keine Anleitung geben. Die braucht ihr auch nicht, das macht die KI für euch. Trotzdem immer daran denken: Die Modelle sind noch lange nicht fehlerfrei und können euch in Teufels Küche bringen – vor allem, wenn ihr euch so wie ich nur oberflächlich mit der Materie auskennt.

Ausblick

Jetzt wo’s läuft, werde ich die nächsten Tage damit rumspielen und herausfinden, ob es sich gelohnt hat, einen kompletten Abend (Zeitaufwand inkl. Schreiben dieses Blogartikels: ca. 5 Stunden) in dieses spontan aufgeploppte Projekt zu investieren. Spaß hat’s jedenfalls gemacht.

Wenn sich zeigt dass ich mit Diktieren + Korrigieren* besser komme als mit der Tipperei, dann wird’s spannend, denn dann ändert sich mein Umgang mit dem PC ganz grundlegend.

* Tipp: Korrigiert die diktierten Texte nicht sofort manuell, sondern lasst auch das die KI machen. mein spontaner prompt dafür sah so aus: „bereinige und korrigierte den folgenden diktierten text, sodass ein sauberes deutsch rauskommt: [insert text]“ – erst danach macht ihr händisch den Feinschliff. Spart massiv Zeit, v.a. bei langen Texten!

Dann kommt sicher noch ein englisches Spracherkennungsmodell dazu, und vermutlich werde ich generell „Modellhopping“ betreiben und verschiedene STT-Modelle ausprobieren.

Wie auch immer – ihr werdet’s erfahren. (c:

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.