Liebe Leserinnen und Leser, heute werde ich über ein Tagebuchskript sprechen, das ich sozusagen geschrieben habe. ?
Das Problem, das ich zu lösen versuche, ist, dass ich meine Gedanken speichern möchte.
Ich habe kein Problem damit, zu lesen, was ich geschrieben habe, aber das Warten macht mir keinen Spaß. Ich kann diktieren, aber ich möchte meine Stimme nicht speichern oder anhören.
Immer wenn ich auf eine solche Situation stoße, wechsle ich in den Engineering-Modus, und wenn es etwas ist, das ich innerhalb weniger Arbeitsstunden bewältigen kann, dann mache ich es.
Zuerst habe ich nach einer benutzerfreundlichen Voice-to-Text-Bibliothek recherchiert und bin auf Vosk gestoßen. Es verfügt über eine riesige Modellbibliothek. Ich habe mich für zwei kleine entschieden, weil ich die App beim Programmieren nutzen möchte. Sie liefern einigermaßen anständige Ergebnisse.
Dann kam ich mit der Magie mehrerer KI-Modelle zu einer Lösung in Python. Es überträgt meinen Mikrofon- und Systemton an das Vosk-Modell, das eine mit Zeitstempeln geschriebene Transkription in einer Datei mit dem aktuellen Datum bereitstellt.
Es erfüllt seinen Zweck, ist aber für den täglichen Gebrauch nicht geeignet. Eines meiner Mottos ist: Wenn es nicht einfach und schnell geht, nutze ich es nicht. Also habe ich das Skript in ein Python-Modul gepackt und eine *.desktop-Datei geschrieben, um es als reguläre Linux-Anwendung in meinem Fall Pop!_OS zu registrieren.
Als kleiner Extragriff haben wir einfach eine Tastenkombination hinzugefügt und sehen Sie, was für ein Wunder es funktioniert!
Benachrichtigungen mit notify-send dienen dazu, Sie über den aktuellen Status der App zu informieren.
Eine Sache, die mich irritiert, ist, wenn eine Anwendung in der Konsole ausgeführt wird, weil sie meinen Arbeitsbereich überfüllt. Um dies zu vermeiden, brauchte ich eine einfache Möglichkeit, die App zu starten und zu stoppen, ohne auf das Terminal angewiesen zu sein. Meine Lösung bestand darin, ein Sperrdateisystem zu implementieren.
Wenn die App startet, erstellt sie eine Sperrdatei mit ihrer Prozess-ID (PID). Wenn die Sperre bereits vorhanden ist, sendet das Skript damit ein KeyboardInterrupt-Signal, um die laufende Instanz zu stoppen und zu beenden. Auf diese Weise startet der erste Anruf die App und beginnt mit der Transkription, während der zweite Anruf sie stoppt.
Ich hoffe, dieser Artikel hat bei jemandem den Wunsch geweckt, sein eigenes Problem auf einzigartige, einfallsreiche und einigermaßen ausgefeilte Weise zu lösen.
Schauen Sie sich gerne meinen anderen ähnlichen Artikel an:
Automatisieren der Textextraktion aus Screenshots
Schauen Sie sich auch gerne den Code an:
auf Github
Haben Sie einen schönen Tag?
Das obige ist der detaillierte Inhalt vonJournal Transcriber: Schreiben Sie ein Tagebuch, indem Sie es diktieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!