Die Erstellung einer mit drei Klicks bedienbaren, aber hochpräzisen Transkriptions-App hört sich schwierig an, ist es aber nicht. Lassen Sie uns Whisper mit AutoHotkey bekannt machen.
Whisper von OpenAI ist eine der leistungsstärksten Lösungen, um Ihre Stimme in Text umzuwandeln. Allerdings kann die Verwendung von Whisper auch nervig sein, da Sie Befehle eingeben müssen, um eine Audiodatei in Text zu transkribieren. Aber warum tun wir das, wenn wir AutoHotkey haben?
Mit AutoHotkey können wir mühelos eine grundlegende GUI für Befehlszeilen-Apps wie Whisper erstellen. Lassen Sie uns das also tun und sehen, wie Sie Ihre eigene Transkriptions-App erstellen können, indem Sie die Superkräfte von AutoHotkey zur GUI-Erstellung mit Whisper von OpenAI als „Gehirn“ hinter den Schaltflächen kombinieren.
Den Grundstein für Whisper und AutoHotkey legen
Mit AutoHotkey können Sie coole Skripte erstellen, aber das ist noch nicht alles, was es kann. Für dieses Projekt verwenden wir AutoHotkey, um eine GUI für Whisper zu erstellen. Dadurch können wir das Spracherkennungs-KI-Tool von OpenAI nutzen, indem wir auf Schaltflächen klicken und seine Funktionalität mithilfe von Menüs anpassen, anstatt Befehle einzugeben.
Dies bedeutet jedoch, dass Sie sowohl AutoHotkey als auch Whisper installiert haben müssen, um mitmachen zu können.
Für den ersten Teil der Gleichung können Sie Laden Sie AutoHotkey von der offiziellen Website herunter, führen Sie dann das Installationsprogramm aus und befolgen Sie die angezeigten Schritte.
Beachten Sie, dass wir die ältere „v1“-Version der Skriptsprache verwenden, nicht die neue v2. Das ist wichtig, da die beiden Versionen eine etwas unterschiedliche Syntax verwenden. Was wir hier sehen werden, funktioniert möglicherweise nicht, wenn Sie die neue Version 2 verwenden.
Der zweite Teil ist komplizierter, aber Sie können in unserem Artikel erfahren, wie das geht wie Sie Ihre Stimme mit OpenAIs Whisper für Windows in Text umwandeln.
Wenn beide installiert sind, sieht unser Aktionsplan wie folgt aus:
- Erstellen Sie eine GUI mit Elementen für Whispers Variablen und Werte.
- Erstellen Sie Funktionen, um Werte aus der Schnittstelle abzurufen, Dateien und Ordner auszuwählen und alles in einem verwendbaren Whisper-Befehl zusammenzufassen.
- Führen Sie den Whisper-Befehl aus, um Ergebnisse zu erzielen.
Natürlich können Sie jederzeit die in Windows integrierte Unterstützung für die Spracheingabe nutzen, wie wir in unserem Artikel gesehen haben So starten Sie die Spracheingabe unter Windows 11. Wie Sie jedoch bei der Verwendung feststellen werden, ist Whisper viel genauer (aber auch langsamer).
Persönlicher gesagt sollte ich erklären, dass ich kein Programmierer bin und dieses Projekt ein „Remix“ einer Lösung für den persönlichen Gebrauch ist.
So erstellen Sie ein neues AutoHotkey-Skript
Der erste Schritt besteht darin, eine neue leere Skriptdatei zu erstellen. Bewahren Sie es in einem eigenen Ordner auf, für den Fall, dass Sie es optimieren oder darauf aufbauen und weitere Dateien erstellen möchten.
- Führen Sie Ihren bevorzugten Dateimanager aus (oder drücken Sie Windows-Taste + E um den Windows Explorer zu starten) und erstellen Sie an einer beliebigen Stelle einen Ordner für Ihre Transkriptions-App.
- Klicken Sie mit der rechten Maustaste auf eine leere Stelle im Fenster und wählen Sie aus Neu > AutoHotkey-Skript um eine leere Skriptdatei zu erstellen.
- Umschalt + Rechtsklick auf die Datei, um auf das vollständige Kontextmenü zuzugreifen, und auswählen, ob Sie sie mit Ihrem bevorzugten Code- oder Texteditor öffnen möchten. Windows-eigene Notizblock Wird besorgt.
- Obwohl es sich um ein „leeres Skript“ handelt, ist Ihre AHK-Datei bereits mit einigen „Sachen“ gefüllt. Dabei handelt es sich um nützliche AutoHotkey-Variablen und -Flags, die definieren, wie es auf Ihrem Desktop funktionieren soll. Ignorieren Sie sie, lassen Sie sie so, wie sie sind, und tippen Sie in Zukunft ausschließlich darunter.
Lernen Sie Whisper's Flags kennen
Da wir eine GUI für eine Befehlszeilen-App erstellen, ist es praktisch, einen Verweis auf die wichtigsten Variablen und Flags zu haben, die wir in unserem Projekt verwenden werden. Sie können sie sich ansehen, indem Sie die Dokumentation von Whisper lesen seine offizielle Github-Seite, und führen Sie es in Ihrem Terminal aus.
Der Einfachheit halber listen wir diejenigen auf, die wir in diesem Projekt verwenden werden. Wir empfehlen Ihnen, sie als Kommentare in Ihr Skript einzufügen (in separaten Zeilen, die jeweils mit einem „;“-Zeichen gefolgt von einem Leerzeichen beginnen).
; Flüsterflaggen:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --model MODEL_TO_USE; --task TRANSCRIBE/TRANSLATE; --Sprache EN/EL
Erstellen der GUI mit AutoHotkey
Wir empfehlen Ihnen, Ihr Skript mithilfe von Kommentaren in Abschnitte aufzuteilen, wie wir es getan haben, um die Organisation zu gewährleisten. Wir beginnen mit der Definition einiger Variablen, fahren mit der eigentlichen GUI fort und enden mit der Definition ihrer Funktionen.
Wir beginnen mit einem Abschnitt, in dem wir Variablen definieren, die wir möglicherweise in Zukunft ändern möchten, aber nicht so oft, dass wir sie über die GUI verfügbar machen möchten, was es zu kompliziert macht. Sie können „Variablenname = Inhalt oder Wert der Variable“ mit einem Variablen- und Wertepaar pro Zeile eingeben.
Für dieses Projekt haben wir eine definiert Ausgabeformat Variable, die wir auf „txt„Wert und a WhisperExecutable Variablenangabe Der Name der ausführbaren Datei von Whisper. Auf diese Weise können wir in Zukunft dieselbe Lösung verwenden, um SRT-Untertiteldateien anstelle von TXT-Dokumenten zu erstellen oder ein Upgrade durchzuführen Flüstere/wechsele zu einer alternativen App, wir können die Werte dieser Variablen an dieser einzelnen Stelle anpassen, anstatt im gesamten Skript.
OutputFormat = txtWhisperExecutable = whisper
Einrichten der Benutzeroptionen
Wenn Sie Whisper in der Befehlszeile verwenden, können Sie mit drei seiner Flags Folgendes definieren:
- Wenn Sie es tun Übersetzung oder Transkription
- Die Audiodatei Sprache
- Die Sprache Modell Sie verwenden möchten (es stehen verschiedene Größen zur Verfügung, die sich jeweils auf die Leistung und die Qualität der Ergebnisse auswirken).
Der einfachste Weg, die gleiche Funktionalität über eine GUI anzubieten, sind bewährte Dropdown-Listen. Die Syntax zum Hinzufügen einer Dropdown-Liste zu einer AutoHotkey-GUI lautet wie folgt:
Gui, Add, DropDownList, xPosition yPosition wWidth hHeight vVariable_that_will_hold_selected_value, optionA|optionB|default_optionC||optionD|
Auf dieser Grundlage fügen wir unserem Skript drei Dropdown-Listen zur Auswahl der Sprache von Whisper hinzu (zwischen Englisch/en und Griechisch/el), Modell (winzig, Basis, klein, mittel, groß) und Aufgabentyp (Transkribieren oder übersetzen).
Gui, Add, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Add, DropDownList, x175 y5 w165 h100 vSelectedModel, tiny|base|small||medium|large|
Gui, Add, DropDownList, x345 y5 w165 h100 vTaskType, transcribe||translate|
Um eine Option als Standardauswahl festzulegen, verwenden Sie dahinter ein doppeltes Pipe-Symbol („|“). Sie können sehen, dass wir in unserem Beispiel unsere Sprache auf eingestellt haben de, SelectedModel zu kleinund TaskType zu transkribieren.
Wie man Whisper leitet
Da Whisper KI-basiert ist, gibt es keine Möglichkeit, die absolute Kontrolle darüber zu haben, wie Whisper Audio transkribiert. Es ist frei zu wählen, was es für optimal hält.
Wie andere KI-Lösungen kann Whisper jedoch Benutzereingaben akzeptieren. Indem Sie eine Eingabeaufforderung erstellen, können Sie steuern, wie Ihr Audio transkribiert wird.
Konnte die Lösung, die wir entwickeln, etwas nicht korrekt transkribieren? Sie können versuchen, Whisper zu „erklären“, worum es in der Sprachdatei geht, einschließlich der Syntax der Wörter, Akronyme und Phrasen in Ihrer Eingabeaufforderung, so wie sie in der Transkription erscheinen sollen. Dazu fügen wir ein AutoHotkey-Textbearbeitungsfeld hinzu.
Die Syntax unterscheidet sich nicht allzu sehr von der, die wir oben zum Hinzufügen von Dropdown-Listen verwendet haben:
Gui, Hinzufügen, Bearbeiten, x5 w505 h400 vPromptText, %PromptText%
Das „%PromptText%“ am Ende „weist“ AHK an, den Inhalt der PromptText-Variablen (sofern ihr bereits ein Wert zugewiesen ist) im Textfeld anzuzeigen. In dem Skript, das wir erstellen, wird nichts angezeigt. Betrachten Sie es jedoch als Platzhalter für zukünftige Optimierungen des Skripts, auch zum Speichern und Laden von Eingabeaufforderungen!
Möchten Sie dem lieber einen vordefinierten Wert zuweisen? PromptText Variable? Fügen Sie etwas wie das Folgende hinzu Variablen Abschnitt des Skripts. Denken Sie daran, „Ihr Name“ durch Ihren tatsächlichen Namen zu ersetzen.
PromptText = Transkription der Notizen Ihres Namens
Einrichten der Aktionsschaltflächen
Um Dateien und Ordner auszuwählen und Whisper auszuführen, nachdem wir alles eingerichtet haben, ist es besser, Schaltflächen zu verwenden. Sie können einer von AHK erstellten Benutzeroberfläche Schaltflächen hinzufügen, indem Sie Folgendes tun:
Gui, Add, Button, xPosition yPosition wWidth hHeight gFunction_To_Perform, Button Text
Beachten Sie, dass Funktionsnamen im Gegensatz zu Variablen in GUI-Elementen, die mit dem Buchstaben „v“ beginnen, mit „g“ für „Gehe (zu dieser Stelle des Skripts)“ beginnen.
Eine einzelne Schaltfläche einer AHK-Schnittstelle kann auch als „Standardtaste“ betrachtet werden, die aktiviert wird, wenn Sie nirgendwo auf der GUI klicken und drücken Eingeben. Dies wird durch den Zusatz „Standard" im Abschnitt „Koordinaten und Funktion“, wie Sie an unserer Schaltfläche „OK“ sehen werden:
Gui, Add, Button, x5 w505 h50 gSelectFile, Belastung FileGui, Hinzufügen, Schaltfläche, x5 w505 h50 gSelectFolder, WählenAusgang Ordner
Gui, Hinzufügen, Schaltfläche, Standard x5 w505 h50 gButtonSubmit, OK
Damit definieren wir drei Schaltflächen:
- Einer mit der Aufschrift „Lade Datei" Wenn Sie darauf klicken, wird Folgendes ausgeführt: Datei aussuchen Funktion.
- Einer mit der Aufschrift „Wählen Sie Ausgabeordner", wodurch die ausgeführt wird Ordner auswählen Funktion.
- Einer mit der Aufschrift „OK", standardmäßig ausgewählt, "ruft" das auf SchaltflächeSenden Funktion.
So zeigen Sie Ihre GUI an
Unsere GUI ist fertig, wird aber nicht auf unserem Bildschirm angezeigt, weil wir AutoHotkey nicht „angesagt“ haben, sie anzuzeigen oder was die einzelnen Schaltflächen tun sollen.
Fügen Sie dazu die folgenden zwei Zeilen unterhalb derjenigen hinzu, die Ihre GUI definieren:
Gui, ShowReturn
Die erste Zeile „weist“ AHK an, das Fenster der GUI anzuzeigen, während die zweite Zeile das Ende des Abschnitts markiert.
Die Funktionen und Funktionsweise unserer App
Obwohl wir den GUI-Abschnitt abgeschlossen haben, stürzt es ab, wenn Sie versuchen, das Skript auszuführen. Das liegt daran, dass wir darin auf nicht vorhandene Funktionen verweisen. Unser nächster Schritt besteht also darin, diese Funktionen zu erstellen.
Die drei Funktionen, die wir wollen, sind:
- Wählen Sie eine Eingabedatei aus.
- Wählen Sie den Ausgabeordner aus, in dem die transkribierte Datei gespeichert werden soll.
- Erstellen Sie einen Befehl, der alle Variablen zu einem verwendbaren Whisper-Befehl „zusammensetzt“, ähnlich dem, was wir selbst in ein Terminal eingeben würden, und führen Sie ihn dann aus.
Auswahl der Eingabedatei
Die erste Funktion, die wir bereits „Datei aussuchen" Als wir die Schaltfläche zur GUI hinzugefügt haben, lautete sie:
Datei aussuchen:FileSelectFile, SelectedFileReturn
FileSelectFile ist eine AutoHotkey-Funktion, die einen typischen Dateianforderer anzeigt und es dem Benutzer ermöglicht, eine Datei auszuwählen. AusgewählteDatei ist die Variable in unserem Skript, die den Pfad zu der vom Benutzer ausgewählten Datei „hält“.
Wie Sie jedoch in unseren Screenshots sehen können, haben wir auch die folgende Zeile direkt über dem Funktionsende „return“ eingefügt:
MsgBox, %SelectedFile%
Dies wird AHK anzeigen lassen Nachrichtenbox mit der ausgewählten Datei, nachdem wir sie ausgewählt haben, was bei der Fehlerbehebung in Ihrem Skript hilfreich ist. Wenn in diesem Meldungsfeld der Pfad und Name Ihrer ausgewählten Datei angezeigt wird, ist es nicht die Schaltfläche oder Funktion zur Dateiauswahl, die repariert werden muss.
Auswahl des Ausgabeordners
Die Funktion zum Auswählen eines Ordners ist fast identisch, lediglich der Name und die Variable des Befehls ändern sich, um zu zeigen, dass es sich um Ordner und nicht um Dateien handelt:
SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Zurückkehren
Die letzte Funktion
Die letzte Funktion wird die komplizierteste sein. Wenn dies der Schaltfläche „OK“ zugeordnet ist, „sammelt“ dies alle Variablenwerte von der GUI, wandelt sie in einen verwendbaren Befehl um und führt ihn dann aus.
Wir beginnen mit der Angabe des Anfangs und Endes der Funktion:
ButtonSenden:Zurückkehren
Um alle Werte der GUI zu „erfassen“, fügen Sie Folgendes unter dem hinzu SchaltflächeSenden Linie:
Gui Submit, nohide
Die folgende Zeile erstellt eine neue Variable mit dem Namen „WhisperFlags". Anschließend werden alle Variablen der GUI als Flags für den Whisper-Befehl hinzugefügt.
WhisperFlags = --initial_prompt „%PromptText%“ --task %TaskType% --model %SelectedModel% --sprache %SelectedLanguage% --output_format %OutputFormat% -o „%SelectedFolder%“„%SelectedFile%“
Als nächstes „weisen“ wir AHK an, das Standardterminal (CMD.exe) zu verwenden, um die ausführbare Datei von Whisper auszuführen (die wir mit definiert haben). WhisperExecutable Variable) mit den Variablen der GUI (die jetzt in der Single „zusammengesetzt“ sind). WhisperFlags Variable).
RunWait, cmd.exe /c %WhisperExecutable% %WhisperFlags%
Zur noch einfacheren Fehlerbehebung haben wir wie zuvor auch eine Nachrichtenbox hinzugefügt, aber auch die folgende Zeile hinzugefügt:
Zwischenablage = %WhisperExecutable% %WhisperFlags%
Dies wird in kopiert Zwischenablage der vollständige Befehl, der an CMD ausgegeben wird. Wenn also etwas fehlschlägt, wird der Befehl nicht nur in einem der Meldungsfelder von AHK angezeigt, sondern auch in Ihrer Zwischenablage.
Öffnen Sie ein Terminal, fügen Sie den Befehl aus der Zwischenablage ein und überprüfen Sie die angezeigten Fehler, um mögliche Probleme zu lokalisieren.
Beispielsweise habe ich bei der Arbeit am Skript zunächst vergessen, die Eingabeaufforderung in Anführungszeichen zu setzen. Daher schlug der Befehl fehl, da Whisper versuchte, die Eingabeaufforderung als Flags zu analysieren.
Tests und letzte Optimierungen
Das war’s – wir haben gerade eine Transkriptions-App erstellt, die die GUI-Erstellungsfunktionen von AutoHotkey und eine gebrauchsfertige KI-Transkriptionslösung nutzt.
Versuchen Sie, Ihr Skript auszuführen (doppelklicken Sie auf die Datei), und Sie sollten Ihre GUI auf Ihrem Bildschirm sehen.
- Ändern Sie die Einstellungen von Whisper mithilfe der Dropdown-Listen oben.
- Geben Sie eine kurze Beschreibung Ihrer Transkription (und einiger Begriffe) ein Prompt Feld.
- Drücke den Lade Datei Klicken Sie auf die Schaltfläche und wählen Sie die Audiodatei aus, die Sie transkribieren möchten.
- Drücke den Wählen Sie Ausgabeordner Klicken Sie auf die Schaltfläche und wählen Sie aus, wo die erstellte Textdatei gespeichert werden soll.
- Klicke auf OK um Whisper, wie von Ihrer GUI konfiguriert, auf Ihre ausgewählte Audiodatei auszulösen und deren Transkription als Textdatei in dem von Ihnen ausgewählten Ordner zu speichern.
Wenn alles funktioniert hat, kehren Sie zu Ihrem Skript zurück und löschen oder kommentieren Sie alle Fehlerbehebungsfunktionen (Meldungsfelder und Zeilen zum Kopieren in die Zwischenablage) aus (durch Hinzufügen eines „;“ am Anfang).
Bringen Sie Whisper mit AutoHotkey noch weiter
Indem Sie die Standardwerte Ihrer GUI richtig festlegen und möglicherweise eine generische Eingabeaufforderung hinzufügen, können Sie Whisper in eine verwandeln Lösung mit drei Klicks zum Transkribieren: Keine Bezahlung für kommerzielle Lösungen, Dienste von Drittanbietern, kein Hantieren mit komplizierten Schnittstellen usw Eingabe in ein Terminal.