Vytvorenie aplikácie na prepisovanie tromi kliknutiami s vysokou presnosťou znie ťažko, ale nie je to tak. Predstavme Whisperovi AutoHotkey.

OpenAI's Whisper je jedným z najvýkonnejších riešení na premenu vášho hlasu na text. Používanie Whisperu však môže byť nepríjemné, pretože na prepis zvukového súboru do textu musíte zadávať príkazy. Ale prečo to robiť, keď máme AutoHotkey?

S AutoHotkey môžeme bez námahy vytvoriť základné GUI pre aplikácie príkazového riadku, ako je Whisper. Poďme na to a uvidíme, ako si môžete vytvoriť svoju vlastnú prepisovaciu aplikáciu kombináciou superschopností AutoHotkey na vytváranie GUI s OpenAI Whisper ako „mozgom“ za tlačidlami.

Položenie základov pre Whisper a AutoHotkey

Pomocou AutoHotkey môžete vytvárať skvelé skripty, ale to nie je všetko, čo dokáže. Pre tento projekt použijeme AutoHotkey na vytvorenie GUI pre Whisper. To nám umožní používať nástroj AI na rozpoznávanie hlasu OpenAI kliknutím na tlačidlá a prispôsobením jeho funkčnosti pomocou ponúk namiesto zadávania príkazov.

instagram viewer

To však znamená, že budete musieť mať nainštalované AutoHotkey aj Whisper, aby ste mohli pokračovať.

Pre prvú časť rovnice môžete stiahnite si AutoHotkey z jeho oficiálnej stránky, potom spustite jeho inštalátor a postupujte podľa uvedených krokov.

Upozorňujeme, že budeme používať staršiu verziu skriptovacieho jazyka „v1“, nie novú verziu v2. To je dôležité, pretože obe verzie používajú trochu odlišnú syntax. To, čo tu uvidíme, nemusí fungovať, ak použijete novú verziu v2.

Druhá časť je zložitejšia, ale môžete sa naučiť, ako to urobiť, v našom článku ako premeniť svoj hlas na text pomocou OpenAI Whisper pre Windows.

Keď sú obe nainštalované, náš akčný plán je nasledujúci:

  1. Vytvorte GUI s prvkami pre premenné a hodnoty Whispera.
  2. Vytvorte funkcie na získanie hodnôt z rozhrania, výber súborov a priečinkov a zostavenie všetkého do použiteľného príkazu Whisper.
  3. Spustite príkaz Whisper, aby ste dosiahli výsledky.

Samozrejme, vždy môžete použiť vstavanú podporu systému Windows pre hlasové písanie, ako sme videli v našom článku o ako spustiť hlasové písanie v systéme Windows 11. Napriek tomu, ako uvidíte počas používania, Whisper je oveľa presnejší (ale aj pomalší).

Na osobnejšiu nôtu by som mal vysvetliť, že nie som programátor a tento projekt je „remix“ riešenia vytvoreného pre osobné použitie.

Ako vytvoriť nový skript AutoHotkey

Prvým krokom je vytvorenie nového prázdneho súboru skriptu. Uchovávajte ho v samostatnom priečinku pre prípad, že by ste sa rozhodli ho vylepšiť alebo na ňom stavať a vytvárať ďalšie súbory.

  1. Spustite svojho obľúbeného správcu súborov (alebo stlačte Windows kľúč + E spustite Prieskumníka Windows) a vytvorte priečinok pre aplikáciu na prepis, kdekoľvek chcete.
  2. Kliknite pravým tlačidlom myši na prázdne miesto v okne a vyberte Nový > AutoHotkey skript vytvorte prázdny súbor skriptu.
  3. Shift + Kliknite pravým tlačidlom myši na súbor, aby ste sprístupnili úplné kontextové menu a výberom ho otvorte pomocou obľúbeného kódu alebo textového editora. Vlastné Windows Poznámkový blok urobí.
  4. Napriek tomu, že ide o „prázdny skript“, váš súbor AHK už bude vopred vyplnený nejakými „vecami“. Toto sú užitočné premenné a príznaky AutoHotkey, ktoré definujú, ako by to malo fungovať na vašej pracovnej ploche. Ignorujte ich, nechajte ich tak, ako sú, a píšte pod ne všetky budúce písanie.

Spoznávanie Whisperových vlajok

Keďže vytvárame GUI pre aplikáciu príkazového riadka, je užitočné mať odkaz na jej hlavné premenné a príznaky, ktoré budeme používať v našom projekte. Môžete si ich pozrieť prečítaním dokumentácie Whispera na stránke jeho oficiálna stránka Githuba spustite ho vo svojom termináli.

Uvedieme zoznam tých, ktoré použijeme v tomto projekte pre pohodlie. Odporúčame vám ich pridať do skriptu ako komentáre (v samostatných riadkoch, pričom každý začína znakom „;“, za ktorým nasleduje medzera).

; Whisper Flags:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --model MODEL_TO_USE; --úloha TRANSCRIBE/TRANSLATE; --jazyk EN/EL

Vytvorenie GUI pomocou AutoHotkey

Odporúčame vám rozdeliť skript do sekcií pomocou komentárov, ako sme to urobili my, aby ste v ňom udržali poriadok. Začneme definovaním niektorých premenných, pokračujeme k samotnému GUI a skončíme definovaním jeho funkcií.

Začneme sekciou, kde definujeme premenné, ktoré možno budeme chcieť v budúcnosti zmeniť, ale nie tak často, aby sme ich chceli odhaľovať cez GUI, čím by sme to príliš skomplikovali. Môžete zadať „Názov_premennej = Obsah alebo hodnota premennej“ s jednou premennou a párom hodnôt na riadok.

Pre tento projekt sme definovali a Výstupný formát premenná, ktorú sme nastavili na "TXT"hodnota a a WhisperExecutable variabilné uvádzanie Whisperov názov spustiteľného súboru. Týmto spôsobom, ak chceme v budúcnosti použiť rovnaké riešenie na vytváranie súborov titulkov SRT namiesto dokumentov TXT alebo upgrade Zašepkajte/prepnite na alternatívnu aplikáciu, môžeme upraviť hodnoty týchto premenných na tomto jedinom mieste namiesto skript.

OutputFormat = txtWhisperExecutable = šepot

Nastavenie možností používateľa

Keď používate Whisper na príkazovom riadku, tri z jeho príznakov vám umožňujú definovať:

  • Ak robíte preklad alebo prepis
  • Zvukový súbor Jazyk
  • Jazyk Model ktoré chcete použiť (k dispozícii sú rôzne veľkosti, z ktorých každá ovplyvňuje výkon oproti kvalite výsledkov).

Najjednoduchší spôsob, ako ponúknuť rovnakú funkcionalitu prostredníctvom grafického používateľského rozhrania, je prostredníctvom osvedčených rozbaľovacích zoznamov. Syntax na pridanie rozbaľovacieho zoznamu do GUI AutoHotkey je nasledovná:

Gui, Add, DropDownList, xPosition yPosition wWidth hHeight vVariable_that_will_hold_selected_value, optionA|optionB|default_optionC||optionD|

Na základe toho pridajte do nášho skriptu tri rozbaľovacie zoznamy na výber jazyka Whispera (medzi angličtina/sk a gréčtina/el), model (malý, základný, malý, stredný, veľký) a typ úlohy (prepis alebo preložiť).

Gui, Add, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Add, DropDownList, x175 y5 w165 v100 vSelectedModel, malý|základný|malý||stredný|veľký|
Gui, Add, DropDownList, x345 y5 w165 h100 vTaskType, transscribe||translate|

Ak chcete nastaviť možnosť ako predvolený výber, použite za ňou symbol dvojitej čiary ("|"). Môžete vidieť, že v našom príklade sme nastavili náš jazyk na en, SelectedModel to malýa TaskType to prepisovať.

Ako viesť šepot

Keďže Whisper je založený na AI, neexistuje spôsob, ako mať absolútnu kontrolu nad tým, ako Whisper prepisuje zvuk. Môže si slobodne vybrať, čo považuje za optimálne.

Rovnako ako iné riešenia AI však aj Whisper môže prijímať výzvy používateľov. Vytvorením výzvy môžete „nasmerovať“, ako prepíše váš zvuk.

Nepodarilo sa pri riešení, ktoré robíme, niečo správne prepísať? Môžete skúsiť Whisperovi „vysvetliť“, „o čom je hlasový súbor“, vrátane syntaxe slov, akronymov a fráz vo vašej výzve, ako chcete, aby sa objavili v prepise. Na tento účel pridáme pole na úpravu textu AutoHotkey.

Syntax sa príliš nelíši od toho, čo sme použili na pridávanie rozbaľovacích zoznamov vyššie:

Gui, Add, Edit, x5 w505 h400 vPromptText, %PromptText%

"%PromptText%" na konci "hovorí" AHK, aby zobrazil obsah premennej PromptText (ak je už priradená hodnota) v textovom poli. V skripte, ktorý vytvárame, sa nič nezobrazí, ale považujte ho za zástupný symbol pre prípad, že v budúcnosti skript upravíte, aj na uloženie a načítanie výziev!

Chceli by ste radšej priradiť preddefinovanú hodnotu PromptText variabilná? Pridajte niečo ako nasledujúce do Premenné časť scenára. Nezabudnite nahradiť "Vaše meno" svojim skutočným menom.

PromptText = Prepis poznámok vášho mena

Nastavenie akčných tlačidiel

Na výber súborov, priečinkov a spustenie Whisperu po tom, čo sme všetko nastavili, je lepšie používať tlačidlá. Do rozhrania vytvoreného AHK môžete pridať tlačidlá pomocou nasledujúceho:

Gui, Add, Button, xPosition yPosition wWidth hHeight gFunction_To_Perform, Button Text

Všimnite si, že na rozdiel od premenných v prvkoch GUI, ktoré začínajú písmenom „v“, názvy funkcií začínajú „g“ pre „Prejsť (na toto miesto skriptu)“.

Jedno tlačidlo rozhrania AHK možno tiež považovať za „predvolené“, ktoré sa aktivuje, ak nekliknete nikam na GUI a nestlačíte Zadajte. Toto je definované pridaním "predvolená“ v sekcii súradnice a funkcie, ako si všimnete v našom tlačidle „OK“:

Gui, Add, Button, x5 w505 h50 gSelectFile, Naložiť FileGui, Pridať, Tlačidlo, 5 x 505 v50 gVybrať priečinok, Vyberte siVýkon Priečinok
Gui, Pridať, Tlačidlo, Predvolené x5 w505 h50 gButtonSubmit, OK

Pomocou vyššie uvedeného definujeme tri tlačidlá:

  • Jeden s označením "Načítať súbor“, na ktorý sa po kliknutí spustí Vyberte Súbor funkciu.
  • Jeden s označením "Vyberte Výstupný priečinok“, ktorý bude spúšťať Vyberte priečinok funkciu.
  • Jeden s označením "OK", predvolene vybraté, "volá" na Tlačidlo Odoslať funkciu.

Ako zobraziť svoje GUI

Naše grafické používateľské rozhranie je pripravené, ale nezobrazí sa na našej obrazovke, pretože sme „nepovedali“ AutoHotkey, aby to zobrazilo alebo čo má každé tlačidlo robiť.

Za týmto účelom pridajte nasledujúce dva riadky pod tie, ktoré definujú vaše GUI:

Gui, ShowReturn

Prvý riadok "povie" AHK, aby zobrazil okno GUI, zatiaľ čo druhý označuje koniec sekcie.

Funkcie a funkčnosť našej aplikácie

Hoci sme dokončili sekciu GUI, ak sa pokúsite spustiť skript, zlyhá. Je to preto, že v ňom odkazujeme na neexistujúce funkcie. Naším ďalším krokom je teda vytvorenie týchto funkcií.

Tri funkcie, ktoré chceme, sú:

  • Vyberte vstupný súbor.
  • Vyberte výstupný priečinok, do ktorého sa uloží prepísaný súbor.
  • Vytvorte príkaz, ktorý „zostaví“ všetky premenné do použiteľného príkazu Whisper, podobného tomu, čo by sme sami napísali do terminálu, a potom ho spustite.

Výber vstupného súboru

Prvá funkcia, ktorú sme už nazvali „Vyberte Súbor" keď sme pridali jeho tlačidlo do GUI, je:

Vyberte Súbor:FileSelectFile, SelectedFileReturn

FileSelectFile je funkcia AutoHotkey, ktorá zobrazuje typického žiadateľa o súbor a umožňuje používateľovi vybrať súbor. SelectedFile je premenná v našom skripte, ktorá bude "držať" cestu k súboru, ktorý používateľ vybral.

Ako však uvidíte na našich snímkach obrazovky, pridali sme aj nasledujúci riadok priamo nad „návrat“ na konci funkcie:

MsgBox, %SelectedFile%

To bude mať AHK show a Schránka správ s vybraným súborom, keď ho vyberieme, čo je užitočné pri riešení problémov so skriptom. Ak toto okno so správou zobrazuje cestu a názov vybratého súboru, nie je to tlačidlo na výber súboru alebo funkcia, ktorá vyžaduje opravu.

Výber výstupného priečinka

Funkcia na výber priečinka je takmer identická, mení sa len názov príkazu a premenná, aby sme ukázali, že namiesto súborov máme do činenia s priečinkami:

SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Návrat

Konečná funkcia

Konečná funkcia bude najkomplikovanejšia. Namapované na tlačidlo OK to „zhromaždí“ všetky hodnoty premenných z GUI, premení ich na použiteľný príkaz a potom ho spustí.

Začneme uvedením začiatku a konca funkcie:

ButtonSubmit:Návrat

Ak chcete „uchopiť“ všetky hodnoty grafického používateľského rozhrania, pridajte do pod Tlačidlo Odoslať riadok:

Gui Odoslať, nohide

Nasledujúci riadok vytvorí novú premennú s názvom "WhisperFlags". Potom doň pridá všetky premenné GUI ako príznaky pre príkaz Whisper.

WhisperFlags = --initial_prompt "%PromptText%" --task %TaskType% --model %SelectedModel% --language %SelectedLanguage% --output_format %OutputFormat% -o "%SelectedFolder%""%SelectedFile%"

Ďalej "povieme" AHK, aby použila predvolený terminál (CMD.exe) na spustenie spustiteľného súboru Whisper (ktorý sme definovali pomocou WhisperExecutable premenná) s premennými GUI (ktoré sú teraz "zložené" v singli WhisperFlags premenná).

RunWait, cmd.exe /c %WhisperExecutable% %WhisperFlags%

Pre ešte jednoduchšie riešenie problémov sme pridali aj msgbox, ako predtým, ale pridali sme aj nasledujúci riadok:

Schránka = %WhisperExecutable% %WhisperFlags%

Toto sa skopíruje do Schránka úplný príkaz vydaný CMD. Ak teda niečo zlyhá, namiesto toho, aby ste príkaz videli iba v jednom zo správ AHK, budete ho mať k dispozícii aj vo svojej schránke.

Otvorte terminál, prilepte príkaz zo schránky a skontrolujte chyby, ktoré sa objavia, aby ste našli potenciálne problémy.

Napríklad pri práci na skripte som spočiatku zabudol mať výzvu uzavretú v úvodzovkách. Príkaz teda zlyhal, pretože Whisper sa pokúsil analyzovať výzvu ako príznaky.

Testovanie a záverečné vylepšenia

To bolo všetko – práve sme vytvorili aplikáciu na prepis pomocou možností tvorby grafického používateľského rozhrania AutoHotkey a riešenia prepisu AI pripraveného na použitie.

Skúste spustiť skript (dvakrát kliknite na jeho súbor) a na obrazovke by ste mali vidieť svoje GUI.

  • Zmeňte nastavenia Whisper pomocou rozbaľovacích zoznamov v hornej časti.
  • Napíšte krátky popis vášho prepisu (a niektoré výrazy) do Prompt lúka.
  • Kliknite na Načítať súbor a vyberte zvukový súbor, ktorý chcete prepísať.
  • Kliknite na Vyberte Výstupný priečinok a vyberte, kam sa má vytvorený textový súbor uložiť.
  • Kliknite na OK aby ste uvoľnili Whisper, ako je nakonfigurovaný vo vašom GUI, vo vašom vybranom zvukovom súbore a uložte jeho prepis ako textový súbor do vybratého priečinka.

Ak všetko fungovalo, vráťte sa k svojmu skriptu a buď vymažte alebo komentujte (pridaním „;“ na ich začiatok) všetky funkcie riešenia problémov (polia správ a riadky kopírovania do schránky).

Šepkanie ďalej s AutoHotkey

Správnym nastavením predvolených hodnôt vášho GUI a prípadne pridaním všeobecnej výzvy môžete Whisper zmeniť na a riešenie prepisu tromi kliknutiami: Žiadne platenie za komerčné riešenia, služby tretích strán, hranie sa s komplikovanými rozhraniami alebo písanie v termináli.