Izklausās grūti izveidot trīs klikšķus, lai izmantotu, bet ļoti precīzu transkripcijas lietotni, taču tā nav. Iepazīstināsim ar Whisper ar AutoHotkey.

OpenAI's Whisper ir viens no jaudīgākajiem risinājumiem jūsu balss pārvēršanai tekstā. Tomēr Whisper lietošana var būt arī kaitinoša, jo jums ir jāievada komandas, lai pārrakstītu audio failu tekstā. Bet kāpēc to darīt, ja mums ir AutoHotkey?

Izmantojot AutoHotkey, mēs bez piepūles varam izveidot pamata GUI komandrindas lietotnēm, piemēram, Whisper. Tātad, darīsim to un redzēsim, kā jūs varat izveidot savu transkripcijas lietotni, apvienojot AutoHotkey GUI veidošanas lielvaras ar OpenAI Whisper kā "smadzenēm" aiz pogām.

Whisper un AutoHotkey pamatu ielikšana

Izmantojot AutoHotkey, varat izveidot lieliskus skriptus, bet tas vēl nav viss, ko tas var darīt. Šim projektam mēs izmantosim AutoHotkey, lai izveidotu Whisper GUI. Tas ļaus mums izmantot OpenAI balss atpazīšanas AI rīku, noklikšķinot uz pogām un pielāgojot tā funkcionalitāti, izmantojot izvēlnes, nevis ierakstot komandas.

Tomēr tas nozīmē, ka jums būs jāinstalē gan AutoHotkey, gan Whisper, lai sekotu līdzi.

Vienādojuma pirmajai daļai varat lejupielādējiet AutoHotkey no tās oficiālās vietnes, pēc tam palaidiet tā instalētāju un veiciet norādītās darbības.

Ņemiet vērā, ka mēs izmantosim vecāko skriptu valodas “v1” versiju, nevis jauno v2. Tas ir svarīgi, jo abās versijās tiek izmantota nedaudz atšķirīga sintakse. Tas, ko mēs šeit redzēsim, var nedarboties, ja izmantosit jauno v2.

Otrā daļa ir sarežģītāka, taču jūs varat uzzināt, kā to izdarīt, pārbaudot mūsu rakstu par kā pārvērst savu balsi tekstā, izmantojot OpenAI Whisper for Windows.

Ja abi ir instalēti, mūsu rīcības plāns ir šāds:

  1. Izveidojiet GUI ar elementiem Whisper mainīgajiem un vērtībām.
  2. Izveidojiet funkcijas, lai satvertu vērtības no saskarnes, atlasītu failus un mapes un apkopotu visu izmantojamā Whisper komandā.
  3. Palaidiet komandu Whisper, lai iegūtu rezultātus.

Protams, jūs vienmēr varat izmantot Windows iebūvēto balss rakstīšanas atbalstu, kā mēs redzējām mūsu rakstā par kā sākt ierakstīšanu ar balsi operētājsistēmā Windows 11. Tomēr, kā redzēsit, to lietojot, Whisper ir daudz precīzāks (bet arī lēnāks).

Runājot par personīgāku piezīmi, man jāpaskaidro, ka es neesmu programmētājs, un šis projekts ir personīgai lietošanai radīta risinājuma "remikss".

Kā izveidot jaunu AutoHotkey skriptu

Pirmais solis ir izveidot jaunu tukšu skripta failu. Saglabājiet to savā mapē, ja nolemjat to pielāgot vai papildināt, izveidojot vairāk failu.

  1. Palaidiet savu iecienītāko failu pārvaldnieku (vai nospiediet Windows atslēga + E lai palaistu Windows Explorer) un izveidojiet mapi savai transkripcijas lietotnei jebkurā vietā, kur vēlaties.
  2. Ar peles labo pogu noklikšķiniet uz tukšas loga vietas un atlasiet Jauns > AutoHotkey skripts lai izveidotu tukšu skripta failu.
  3. Shift + ar peles labo pogu Noklikšķiniet uz faila, lai piekļūtu pilnai konteksta izvēlnei, un atlasiet, lai to atvērtu ar savu iecienītāko kodu vai teksta redaktoru. Windows pašu Notepad darīšu.
  4. Neskatoties uz to, ka tas ir "tukšs skripts", jūsu AHK fails jau būs iepriekš aizpildīts ar dažiem "sīkumiem". Tie ir noderīgi AutoHotkey mainīgie un karodziņi, kas nosaka, kā tam jādarbojas jūsu darbvirsmā. Ignorējiet tos, atstājiet tos tādus, kādi tie ir, un turpmāk rakstāt zem tiem.

Iepazīšanās ar čukstu karogiem

Tā kā mēs veidojam GUI komandrindas lietotnei, ir ērta atsauce uz tās galvenajiem mainīgajiem lielumiem un karodziņiem, ko izmantosim savā projektā. Jūs varat tos pārbaudīt, izlasot Whisper dokumentāciju, apmeklējot tā oficiālā Github lapa, un palaist to savā terminālī.

Ērtības labad mēs uzskaitīsim tos, kurus izmantosim šajā projektā. Mēs iesakām tos pievienot skriptam kā komentārus (atsevišķās rindās, katra sākas ar rakstzīmi ";", kam seko atstarpe).

; Čukstu karogi:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --modelis MODEL_TO_USE; --task TRANSCRIBE/TRANSLATE; --valoda EN/EL

GUI izveide, izmantojot AutoHotkey

Mēs iesakām sadalīt skriptu sadaļās, izmantojot komentārus, kā mēs to darījām, lai tas būtu sakārtots. Mēs sāksim ar dažu mainīgo definēšanu, turpināsim ar faktisko GUI un beigsim ar tā funkciju definēšanu.

Mēs sākam ar sadaļu, kurā mēs definēsim mainīgos, kurus mēs, iespējams, vēlēsimies mainīt nākotnē, bet ne tik bieži, lai mēs tos atklātu, izmantojot GUI, pārmērīgi sarežģījot to. Varat ierakstīt "Variable_Name = Mainīgā saturs vai vērtība" ar vienu mainīgo un vērtību pāri katrā rindā.

Šim projektam mēs esam definējuši a Izvades formāts mainīgais, kuru iestatījām uz "txt" vērtība un a Čuksti Izpildāms mainīgs paziņojums Whisper izpildāmā faila nosaukums. Tādā veidā, ja mēs vēlamies izmantot to pašu risinājumu nākotnē, lai izveidotu SRT subtitru failus, nevis TXT dokumentus vai jaunināšanu Čukstiet/pārslēdzieties uz alternatīvu lietotni, mēs varam pielāgot šo mainīgo vērtības vienā vietā, nevis visā skripts.

OutputFormat = txtWhisperExecutable = čuksts

Lietotāja opciju iestatīšana

Lietojot Whisper komandrindā, trīs tās karodziņi ļauj definēt:

  • Ja jūs darāt tulkojums vai transkripcija
  • Audio fails valodu
  • Valoda modelis vēlaties izmantot (ir pieejami dažādi izmēri, no kuriem katrs ietekmē veiktspēju un rezultātu kvalitāti).

Vienkāršākais veids, kā piedāvāt to pašu funkcionalitāti, izmantojot GUI, ir izmantot pārbaudītus nolaižamos sarakstus. Sintakse nolaižamā saraksta pievienošanai AutoHotkey GUI ir šāda:

Gui, Pievienot, DropDownList, xPosition yPosition platums hAugums vMainīgs_kas_turēsies_selected_value, optionA|optionB|default_optionC||opcijaD|

Pamatojoties uz to, pievienosim trīs nolaižamos sarakstus mūsu skriptam, lai izvēlētos Whisper valodu (starp angļu/en un grieķu/el), modelis (tiny, pamata, mazs, vidējs, liels) un uzdevuma veids (transkribēt vai tulkot).

Gui, Pievienot, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Pievienot, DropDownList, x175 y5 w165 h100 vSelectedModel, tiny|bāze|mazs||vidējs|liels|
Gui, Pievienot, DropDownList, x345 y5 w165 h100 vTaskType, atšifrēt||tulkot|

Lai iestatītu opciju kā noklusējuma atlasi, aiz tās izmantojiet dubultās caurules simbolu ("|"). Varat redzēt, ka mūsu piemērā mēs esam iestatījuši savu valodu uz lv, SelectedModel uz mazsun TaskType uz pārrakstīt.

Kā vadīt čukstu

Tā kā Whisper pamatā ir AI, nav iespējams pilnībā kontrolēt to, kā Whisper transkribē audio. Tā var brīvi izvēlēties, ko tā uzskata par optimālu.

Tomēr, tāpat kā citi AI risinājumi, Whisper var pieņemt lietotāju uzvednes. Izveidojot uzvedni, varat "vadīt", kā tā pārraksta jūsu audio.

Vai mūsu izstrādātais risinājums neizdevās pareizi atšifrēt kaut ko? Varat mēģināt "paskaidrot" un čukstēt "par ko ir runa par balss failu", iekļaujot vārdu, akronīmu un frāžu sintaksi savā uzvednē, kā vēlaties, lai tie tiktu parādīti transkripcijā. Šim nolūkam mēs pievienosim lauku AutoHotkey teksta rediģēšana.

Sintakse pārāk neatšķiras no tās, ko izmantojām iepriekš minēto nolaižamo sarakstu pievienošanai:

Gui, pievienot, rediģēt, x5 w505 h400 vPromptText, % PromptText%

"% PromptText%" beigās "saka" AHK teksta laukā parādīt mainīgā PromptText saturu (ja tam jau ir piešķirta vērtība). Tas neko neparādīs mūsu veidojamajā skriptā, taču uzskatiet to par vietturi, lai nākotnē pielāgotu skriptu, lai saglabātu un ielādētu uzvednes.

Vai vēlaties piešķirt iepriekš noteiktu vērtību PromptText mainīgs? Pievienojiet kaut ko līdzīgu tālāk norādītajam Mainīgie lielumi skripta sadaļa. Atcerieties aizstāt "Your Name's" ar savu īsto vārdu.

PromptText = Jūsu vārda piezīmju transkripcija

Darbības pogu iestatīšana

Lai izvēlētos failus, mapes un palaistu Whisper pēc tam, kad viss ir iestatīts, labāk ir izmantot pogas. Varat pievienot pogas AHK izveidotajam interfeisam, izmantojot tālāk norādītās darbības.

Gui, Pievienot, Poga, xPosition yPosition platums hAugums gFunction_To_Perform, pogas teksts

Ņemiet vērā, ka atšķirībā no mainīgajiem GUI elementos, kas sākas ar burtu "v", funkciju nosaukumi sākas ar "g", kas nozīmē "Iet (uz šo skripta vietu)".

Vienu AHK interfeisa pogu var uzskatīt arī par "noklusējuma pogu", kas tiks aktivizēta, ja nekur nenoklikšķināsiet uz GUI un nospiedīsiet Ievadiet. To nosaka, pievienojot "noklusējuma" koordinātu un funkciju sadaļā, kā jūs pamanīsit mūsu pogā "OK":

Gui, Pievienot, poga, x5 w505 h50 gSelectFile, Ielādēt FileGui, Pievienot, poga, x5 w505 h50 gSelectFolder, IzvēlietiesIzvade Mape
Gui, pievienošana, poga, Noklusējums x5 w505 h50 gButtonSubmit, OK

Izmantojot iepriekš minēto, mēs definējam trīs pogas:

  • Viens ar apzīmējumu "Ielādēt failu", uz kuru noklikšķinot, tiks palaists Atlasiet failu funkciju.
  • Viens ar apzīmējumu "Izvēlieties Izvades mapi", kas darbosies Atlasiet mapi funkciju.
  • Viens ar apzīmējumu "labi", kas atlasīts pēc noklusējuma, "zvana" uz ButtonSubmit funkciju.

Kā parādīt savu GUI

Mūsu GUI ir gatavs, taču tas netiks parādīts mūsu ekrānā, jo mēs neesam "pateikuši" AutoHotkey, lai tas parādītu vai kas jādara katrai pogai.

Lai to izdarītu, pievienojiet šīs divas rindas zem tām, kas nosaka jūsu GUI:

Gui, ShowReturn

Pirmā rinda "saka" AHK parādīt GUI logu, bet otrā iezīmē sadaļas beigas.

Mūsu lietotnes funkcijas un funkcionalitāte

Lai gan esam pabeiguši GUI sadaļu, ja mēģināsit palaist skriptu, tas avarēs. Tas ir tāpēc, ka mēs tajā atsaucamies uz neesošām funkcijām. Tātad, mūsu nākamais solis ir izveidot šīs funkcijas.

Trīs funkcijas, kuras mēs vēlamies, ir:

  • Izvēlieties ievades failu.
  • Atlasiet izvades mapi, kurā tiks saglabāts pārrakstītais fails.
  • Izveidojiet komandu, kas visus mainīgos "samontēs" lietojamā Whisper komandā, kas ir līdzīga tai, ko mēs paši ierakstām terminālī, un pēc tam palaidiet to.

Ievades faila izvēle

Pirmā funkcija, kuru mēs jau esam nosaukuši "Atlasiet failuKad mēs pievienojām tās pogu GUI, ir:

Atlasiet failu:FileSelectFile, SelectedFileReturn

FileSelectFile ir AutoHotkey funkcija, kas parāda tipisku failu pieprasītāju, ļaujot lietotājam atlasīt failu. Atlasītais fails ir mainīgais mūsu skriptā, kas "turēs" ceļu uz lietotāja atlasīto failu.

Tomēr, kā redzat mūsu ekrānuzņēmumos, mēs esam pievienojuši arī šādu rindiņu tieši virs funkcijas beigu "atgriešanās":

MsgBox, %SelectedFile%

Šajā būs AHK šovs a Ziņojumu lodziņš ar atlasīto failu pēc tam, kad esam to izvēlējušies, kas ir noderīgi, veicot skripta problēmu novēršanu. Ja šajā ziņojuma lodziņā ir parādīts jūsu atlasītā faila ceļš un nosaukums, tā nav jūsu faila atlases poga vai funkcija, kas ir jālabo.

Izvades mapes izvēle

Mapes atlases funkcija ir gandrīz identiska, mainās tikai komandas nosaukums un mainīgais, lai parādītu, ka mums ir darīšana ar mapēm, nevis failiem:

SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Atgriezties

Nobeiguma funkcija

Pēdējā funkcija būs vissarežģītākā. Kartē ar pogu Labi, tas "apkopos" visas mainīgās vērtības no GUI, pārveidos tās par lietojamu komandu un pēc tam palaidīs to.

Mēs sākam, norādot funkcijas sākumu un beigas:

ButtonSubmit:Atgriezties

Lai "sagrābtu" visas GUI vērtības, pievienojiet tālāk norādīto zem ButtonSubmit rinda:

Gui Iesniegt, nohide

Nākamajā rindā tiek izveidots jauns mainīgais ar nosaukumu "Whisper Flags". Pēc tam tas pievieno visus GUI mainīgos kā karodziņus komandai Whisper.

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

Pēc tam mēs "pateiksim" AHK izmantot noklusējuma termināli (CMD.exe), lai palaistu Whisper izpildāmo failu (ko definējām ar Čuksti Izpildāms mainīgais) ar GUI mainīgajiem (kas tagad ir "samontēti" singlā Whisper Flags mainīgs).

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

Vēl vienkāršākai problēmu novēršanai esam pievienojuši arī īsziņu lodziņu, kā iepriekš, taču pievienojām arī šādu rindiņu:

Starpliktuve = % WhisperExecutable% % WhisperFlags%

Tas tiks kopēts uz Starpliktuve pilnīga komanda, kas izsniegta CMD. Tātad, ja kaut kas neizdodas, tā vietā, lai redzētu komandu tikai vienā no AHK ziņojumu lodziņiem, tā būs pieejama arī starpliktuvē.

Atveriet termināli, ielīmējiet komandu no starpliktuves un pārbaudiet uznirstošās kļūdas, lai atrastu iespējamās problēmas.

Piemēram, strādājot pie skripta, es sākotnēji aizmirsu, ka uzvedne ir jāievieto pēdiņās. Tādējādi komanda neizdevās, jo Whisper mēģināja parsēt uzvedni kā karogus.

Testēšana un pēdējie uzlabojumi

Tas arī bija — mēs tikko esam izveidojuši transkripcijas lietotni, izmantojot AutoHotkey GUI veidošanas iespējas un lietošanai gatavu AI transkripcijas risinājumu.

Mēģiniet palaist skriptu (veiciet dubultklikšķi uz tā faila), un ekrānā vajadzētu redzēt savu GUI.

  • Mainiet Whisper iestatījumus, izmantojot augšpusē esošos nolaižamos sarakstus.
  • Ievadiet īsu transkripcijas aprakstu (un dažus terminus). Pamudināt lauks.
  • Noklikšķiniet uz Ielādēt failu pogu un izvēlieties audio failu, kuru vēlaties pārrakstīt.
  • Noklikšķiniet uz Izvēlieties Izvades mapi pogu un atlasiet, kur saglabāt izveidoto teksta failu.
  • Klikšķiniet uz labi lai izvēlētajā audio failā atbrīvotu Whisper, kā konfigurējis jūsu GUI, un saglabātu tā transkripciju kā teksta failu atlasītajā mapē.

Ja viss darbojas, atgriezieties pie sava skripta un vai nu dzēsiet, vai komentējiet (sākumā pievienojot ";") visas problēmu novēršanas funkcijas (ziņojumu kastes un kopēšanas starpliktuvē rindas).

Whisper tālāk, izmantojot AutoHotkey

Pareizi iestatot savas GUI noklusējuma vērtības un, iespējams, pievienojot vispārīgu uzvedni, jūs varat pārvērst Whisper par trīs klikšķu transkribēšanas risinājums: nav jāmaksā par komerciāliem risinājumiem, trešo pušu pakalpojumiem, jārēķinās ar sarežģītām saskarnēm vai ierakstot terminālī.