Kolmella napsautuksella käytettävän mutta erittäin tarkan transkriptiosovelluksen tekeminen kuulostaa vaikealta, mutta sitä se ei ole. Esittelemme Whisperin AutoHotkeylle.

OpenAI: n Whisper on yksi tehokkaimmista ratkaisuista äänen muuttamiseksi tekstiksi. Whisper voi kuitenkin olla myös ärsyttävää käyttää, koska sinun on kirjoitettava komentoja äänitiedoston litteroimiseksi tekstiksi. Mutta miksi tehdä niin, kun meillä on AutoHotkey?

AutoHotkeyn avulla voimme vaivattomasti luoda perusgraafisen käyttöliittymän komentorivisovelluksille, kuten Whisper. Tehdään siis niin ja katsotaan, kuinka voit luoda oman transkriptiosovelluksesi yhdistämällä AutoHotkeyn GUI: n supervoimat OpenAI: n Whisperiin painikkeiden takana olevina "aivoina".

Perustojen luominen Whisperille ja AutoHotkeylle

Voit tehdä hienoja skriptejä AutoHotkeylla, mutta se ei ole kaikki mitä se voi tehdä. Tässä projektissa käytämme AutoHotkey-näppäintä luodaksemme käyttöliittymän Whisperille. Tämän ansiosta voimme käyttää OpenAI: n puheentunnistuksen tekoälytyökalua napsauttamalla painikkeita ja mukauttamalla sen toimintoja valikkojen avulla komentojen kirjoittamisen sijaan.

Tämä tarkoittaa kuitenkin, että sinun on oltava asennettuna sekä AutoHotkey että Whisper, jotta voit seurata.

Yhtälön ensimmäisessä osassa voit lataa AutoHotkey sen viralliselta sivustolta, suorita sen asennusohjelma ja noudata esitettyjä vaiheita.

Huomaa, että käytämme komentosarjakielen vanhempaa v1-versiota, emme uutta v2:ta. Se on tärkeää, koska nämä kaksi versiota käyttävät hieman erilaista syntaksia. Tässä näkemämme ei välttämättä toimi, jos käytät uutta v2:ta.

Toinen osa on monimutkaisempi, mutta voit oppia tekemään sen tarkistamalla artikkelistamme miten muutat äänesi tekstiksi OpenAI: n Whisper for Windows -sovelluksella.

Kun molemmat on asennettu, toimintasuunnitelmamme on seuraava:

  1. Luo graafinen käyttöliittymä, jossa on elementtejä Whisperin muuttujille ja arvoille.
  2. Luo toimintoja, joilla voit napata arvoja käyttöliittymästä, valita tiedostoja ja kansioita ja koota kaikki käyttökelpoiseksi Whisper-komennon.
  3. Suorita Whisper-komento tuottaaksesi tuloksia.

Tietysti voit aina käyttää Windowsin sisäänrakennettua tukea puhekirjoitukselle, kuten näimme artikkelissamme kuinka käynnistät puhekirjoituksen Windows 11:ssä. Silti, kuten näet käyttäessäsi sitä, Whisper on paljon tarkempi (mutta myös hitaampi).

Henkilökohtaisemmin minun pitäisi selittää, että en ole ohjelmoija, ja tämä projekti on "remix" henkilökohtaiseen käyttöön tehdystä ratkaisusta.

Kuinka tehdä uusi AutoHotkey-skripti

Ensimmäinen askel on luoda uusi tyhjä komentosarjatiedosto. Säilytä se omassa kansiossaan siltä varalta, että päätät muokata tai kehittää sitä luomalla lisää tiedostoja.

  1. Suorita suosikkitiedostonhallintasi (tai paina Windows-avain + E käynnistääksesi Windowsin Resurssienhallinnan) ja luo kansio transkriptiosovelluksellesi missä haluat.
  2. Napsauta hiiren kakkospainikkeella ikkunan tyhjää kohtaa ja valitse Uusi > AutoHotkey Script luodaksesi tyhjän komentosarjatiedoston.
  3. Vaihto + Oikea napsauttamalla tiedostoa päästäksesi koko kontekstivalikkoon ja valitsemalla avataksesi sen suosikkikoodillasi tai tekstieditorillasi. Windowsin oma Muistilehtiö sopii.
  4. Huolimatta siitä, että AHK-tiedostosi on "tyhjä skripti", se on jo valmiiksi täytetty "tavaralla". Nämä ovat hyödyllisiä AutoHotkey-muuttujia ja -lippuja, jotka määrittävät, kuinka sen pitäisi toimia työpöydälläsi. Ohita ne, jätä ne sellaisina kuin ne ovat ja kirjoita kaikki jatkossa niiden alle.

Whisperin lippuihin tutustuminen

Koska teemme graafista käyttöliittymää komentorivisovellukselle, on kätevää saada viittaus sen tärkeimpiin muuttujiin ja lippuihin, joita käytämme projektissamme. Voit tarkistaa ne lukemalla Whisperin dokumentaatiota vierailemalla sen virallinen Github-sivu, ja suorita se terminaalissasi.

Listaamme ne, joita käytämme tässä projektissa mukavuuden vuoksi. Suosittelemme, että lisäät ne skriptiisi kommentteina (eri riveillä, jotka alkavat ";"-merkillä ja välilyönnillä).

; Kuiskausliput:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --malli MODEL_TO_USE; --tehtävä TRANSCRIBE/TRANSLATE; --kieli EN/EL

GUI: n luominen AutoHotkeylla

Suosittelemme, että jaat käsikirjoituksen osiin käyttämällä kommentteja, kuten teimme pitääksemme sen järjestyksessä. Aloitamme määrittämällä joitain muuttujia, jatkamme varsinaiseen graafiseen käyttöliittymään ja lopetamme määrittelemällä sen toiminnot.

Aloitamme osiosta, jossa määritämme muuttujat, joita saatamme haluta muuttaa tulevaisuudessa, mutta emme niin usein, että haluaisimme paljastaa ne graafisen käyttöliittymän kautta, mikä tekee siitä liian monimutkaisen. Voit kirjoittaa "Variable_Name = Muuttujan sisältö tai arvo" yhdellä muuttuja- ja arvoparilla riviä kohden.

Tätä projektia varten olemme määrittäneet a OutputFormat muuttuja, jonka asetimme "txt"arvo ja a WhisperSuoritettava muuttuva ilmaisu Whisperin suoritettavan tiedoston nimi. Tällä tavalla, jos haluamme käyttää samaa ratkaisua tulevaisuudessa SRT-tekstitystiedostojen luomiseen TXT-asiakirjojen tai päivityksen sijaan Kuiskaa/vaihda vaihtoehtoiseen sovellukseen, voimme säätää näiden muuttujien arvoja kyseisessä yksittäisessä paikassa sen sijaan, että käsikirjoitus.

OutputFormat = txtWhisperExecutable = kuiskaus

Käyttäjäasetusten määrittäminen

Kun käytät Whisperiä komentorivillä, kolme sen lippua antavat sinun määrittää:

  • Jos teet käännös tai transkriptio
  • Äänitiedosto Kieli
  • Kieli malli jota haluat käyttää (saatavana on useita kokoja, joista jokainen vaikuttaa suorituskykyyn ja tulosten laatuun).

Helpoin tapa tarjota samat toiminnot graafisen käyttöliittymän kautta on kokeiltujen ja testattujen avattavien luetteloiden avulla. Syntaksi avattavan luettelon lisäämiseksi AutoHotkey-graafiseen käyttöliittymään on seuraava:

Gui, Add, DropDownList, xPosition ySijainti leveys hKorkeus vMuuttuja_joka_pitää_valitun_arvon, optionA|optionB|default_optionC||optionD|

Sen perusteella lisätään kolme avattavaa luetteloa skriptimme Whisperin kielen valitsemiseksi (välillä englanti/en ja kreikka/el), malli (pieni, perus, pieni, keskikokoinen, suuri) ja tehtävätyyppi (transkriptio tai Kääntää).

Gui, Add, DropDownList, x5 y5 w165 h50 vSelectedLanguage, fi||el
Gui, Add, DropDownList, x175 y5 w165 h100 vSelectedModel, pieni|pohja|pieni||keskikokoinen|suuri|
Gui, Lisää, DropDownList, x345 y5 w165 h100 vTaskType, litteroi||käännä|

Jos haluat asettaa vaihtoehdon oletusvalinnaksi, käytä kaksoispiippusymbolia ("|") sen jälkeen. Voit nähdä, että esimerkissämme olemme asettaneet kielemme fi, SelectedModel to pienija TaskType kirjoittaa puhtaaksi.

Kuinka ohjata Whisperiä

Koska Whisper on tekoälypohjainen, ei ole mahdollista hallita täysin sitä, kuinka Whisper litteroi äänen. Se voi vapaasti valita, mitä se pitää optimaalisena.

Kuitenkin, kuten muut AI-ratkaisut, Whisper voi hyväksyä käyttäjän kehotteet. Luomalla kehotteen voit "opastaa", kuinka se litteroi äänesi.

Epäonnistuiko tekemämme ratkaisu litteroimaan jotain oikein? Voit yrittää "selittää" ja Kuiskaa "mitä äänitiedostossa on kyse", mukaan lukien sanojen, lyhenteiden ja lauseiden syntaksi kehotteessa sellaisina kuin haluat niiden näkyvän transkriptiossa. Tätä varten lisäämme AutoHotkey-tekstinmuokkauskentän.

Syntaksi ei eroa liian paljon siitä, mitä käytimme avattavien luetteloiden lisäämiseen yllä:

Gui, Lisää, Muokkaa, x5 w505 h400 vPromptText, %PromptText%

"%PromptText%" lopussa "käyttää" AHK: ta näyttämään PromptText-muuttujan sisällön (jos sille on jo määritetty arvo) tekstikentässä. Se ei näytä mitään tekemässämme skriptissä, mutta pidä sitä paikkamerkkinä, kun muokkaat komentosarjaa myöhemmin myös kehotteiden tallentamiseksi ja lataamiseksi!

Haluatko mieluummin määrittää ennalta määritetyn arvon PromptText muuttuva? Lisää seuraavaan Muuttujat käsikirjoituksen osa. Muista korvata "Sinun nimesi" oikealla nimelläsi.

PromptText = Nimesi muistiinpanojen transkriptio

Toimintopainikkeiden asettaminen

Tiedostojen, kansioiden valinnassa ja Whisperin käyttämisessä sen jälkeen, kun kaikki on määritetty, on parempi käyttää painikkeita. Voit lisätä painikkeita AHK: n valmistamaan käyttöliittymään seuraavasti:

Gui, Lisää, Painike, xPosition yPosition leveys hKorkeus gFunction_To_Perform, Painikkeen teksti

Huomaa, että toisin kuin GUI-elementtien muuttujat, jotka alkavat kirjaimella "v", funktioiden nimet alkavat "g":llä "Go (tähän skriptin kohtaan)".

Yksi AHK-liittymän painike voidaan myös katsoa "oletuspainikkeeksi", joka aktivoituu, jos et napsauta mitään GUI: ta ja paina Tulla sisään. Tämä määritellään lisäämällä "oletuksena" koordinaatit ja funktiot -osiossa, kuten huomaat "OK"-painikkeessamme:

Gui, Add, Button, x5 w505 h50 gSelectFile, Ladata FileGui, Lisätä, Painike, x5 w505 h50 gSelectFolder, ValitaLähtö Kansio
Gui, Lisää, Painike, Oletus x5 w505 h50 gButtonSubmit, OK

Yllä olevan avulla määritämme kolme painiketta:

  • Yksi otsikolla "Lataa tiedosto", jota napsautettaessa suoritetaan Valitse tiedosto toiminto.
  • Yksi otsikolla "Valitse Tulostuskansio", joka ajaa Valitse kansio toiminto.
  • Yksi otsikolla "OK", valittu oletusarvoisesti, "soittaa" ButtonSubmit toiminto.

Kuinka näyttää GUI

GUI on valmis, mutta se ei näy näytöllämme, koska emme ole "käskenneet" AutoHotkeylle näyttämään sitä tai mitä kunkin painikkeen pitäisi tehdä.

Lisää tätä varten seuraavat kaksi riviä niiden alle, jotka määrittävät käyttöliittymäsi:

Gui, ShowReturn

Ensimmäinen rivi "käskee" AHK: ta näyttämään graafisen käyttöliittymän ikkunan, kun taas toinen rivi merkitsee osion loppua.

Sovelluksemme toiminnot ja toiminnallisuus

Vaikka olemme suorittaneet GUI-osion, jos yrität suorittaa komentosarjan, se kaatuu. Tämä johtuu siitä, että viittaamme siinä olemattomiin funktioihin. Joten seuraava askeleemme on luoda nämä toiminnot.

Haluamme kolme toimintoa:

  • Valitse syöttötiedosto.
  • Valitse tuloskansio, johon litteroitu tiedosto tallennetaan.
  • Luo komento, joka "kokoaa" kaikki muuttujat käyttökelpoiseksi Whisper-komennoksi, joka on samanlainen kuin kirjoittaisimme itsellemme terminaaliin, ja suorita se sitten.

Syötetiedoston valinta

Ensimmäinen toiminto, jonka olemme jo nimenneet "Valitse tiedosto", kun lisäsimme sen painikkeen graafiseen käyttöliittymään, on:

Valitse tiedosto:FileSelectFile, SelectedFileReturn

FileSelectFile on AutoHotkey-toiminto, joka näyttää tyypillisen tiedostopyynnön, jonka avulla käyttäjä voi valita tiedoston. Valittu tiedosto on skriptimme muuttuja, joka "pitää" polun käyttäjän valitsemaan tiedostoon.

Kuitenkin, kuten näet kuvakaappauksistamme, olemme lisänneet myös seuraavan rivin funktiopäätteen "return" yläpuolelle:

MsgBox, %SelectedFile%

Tämä on AHK show a Viestilaatikko valitun tiedoston kanssa sen valinnan jälkeen, mikä on hyödyllistä komentosarjan vianmäärityksessä. Jos tämä viestiruutu näyttää valitsemasi tiedoston polun ja nimen, korjausta ei vaadita tiedostonvalintapainikkeella tai toiminnolla.

Tulostuskansion valinta

Kansion valintatoiminto on lähes identtinen, vain komennon nimi ja muuttuja muuttuvat, mikä osoittaa, että käsittelemme kansioita tiedostojen sijaan:

SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Palata

Lopullinen toiminto

Viimeinen toiminto on monimutkaisin. Yhdistettynä OK-painikkeeseen tämä "kerää" kaikki muuttujien arvot graafisesta käyttöliittymästä, muuntaa ne käyttökelpoiseksi komennon ja suorittaa sen sitten.

Aloitamme ilmoittamalla funktion alun ja lopun:

ButtonSubmit:Palata

Jos haluat "tarttua" kaikkiin GUI-arvoihin, lisää seuraava kohtaan ButtonSubmit linja:

Gui Submit, nohide

Seuraava rivi luo uuden muuttujan nimeltä "Whisper Flags". Sitten se lisää siihen kaikki GUI: n muuttujat Whisper-komennon lipuiksi.

WhisperFlags = --initial_prompt "%PromptText%" --tehtävä %TaskType% --malli %SelectedModel% --kieli %SelectedLanguage% --output_format %OutputFormat% -o "%SelectedFolder%""%SelectedFile%"

Seuraavaksi "käskemme" AHK: ta käyttämään oletuspäätettä (CMD.exe) Whisperin suoritettavan tiedoston suorittamiseen (jonka määritimme WhisperSuoritettava muuttuja) graafisen käyttöliittymän muuttujien kanssa (jotka on nyt "koottu" singleen Whisper Flags muuttuja).

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

Vianmäärityksen helpottamiseksi olemme lisänneet myös msgboxin, kuten ennenkin, mutta lisänneet myös seuraavan rivin:

Leikepöytä = %WhisperExecutable% %WhisperFlags%

Tämä kopioidaan kohteeseen Leikepöytä CMD: lle annettu täydellinen komento. Joten jos jokin epäonnistuu, sen sijaan, että näet komennon vain yhdessä AHK: n viestilaatikoista, sinulla on se myös leikepöydälläsi.

Avaa pääte, liitä komento leikepöydältä ja tarkista esiin tulevat virheet löytääksesi mahdolliset ongelmat.

Esimerkiksi käsikirjoituksen parissa työskennellessäni unohdin aluksi laittaa kehotteen lainausmerkkeihin. Siten komento epäonnistui, koska Whisper yritti jäsentää kehotteen lippuina.

Testaus ja viimeiset korjaukset

Siinä se oli – olemme juuri luoneet transkriptiosovelluksen, joka käyttää AutoHotkeyn GUI-ominaisuuksia ja käyttövalmis tekoälytranskriptioratkaisua.

Kokeile suorittaa komentosarja (kaksoisnapsauta sen tiedostoa), ja sinun pitäisi nähdä graafinen käyttöliittymä näytölläsi.

  • Muuta Whisperin asetuksia käyttämällä yläreunassa olevia avattavia luetteloita.
  • Kirjoita lyhyt kuvaus transkriptiosta (ja joistakin termeistä) -kenttään Kehote ala.
  • Klikkaa Lataa tiedosto -painiketta ja valitse äänitiedosto, jonka haluat litteroida.
  • Klikkaa Valitse Tulostuskansio -painiketta ja valitse, mihin tuotettu tekstitiedosto tallennetaan.
  • Klikkaa OK vapauttaaksesi Whisperin GUI: n määrittämänä valitussa äänitiedostossa ja tallentaaksesi sen transkription tekstitiedostona valitsemaasi kansioon.

Jos kaikki toimi, palaa skriptiisi ja joko poista tai kommentoi (lisäämällä ";" niiden alkuun) kaikki vianetsintätoiminnot (viestilaatikot ja kopiointi leikepöydälle -rivit).

Whisperin jatkaminen AutoHotkeyn avulla

Asettamalla käyttöliittymäsi oletusarvot oikein ja ehkä lisäämällä yleisen kehotteen, voit muuttaa Whisperin kolmen napsautuksen litterointiratkaisu: Ei maksamista kaupallisista ratkaisuista, kolmannen osapuolen palveluista, monimutkaisten käyttöliittymien selaamisesta tai kirjoittamalla terminaaliin.