Како да направите сопствену Виндовс апликацију за транскрипцију са Вхиспер и АутоХоткеи

ОпенАИ-јев шапат је једно од најмоћнијих решења за претварање вашег гласа у текст. Међутим, Вхиспер такође може бити неугодан за коришћење, јер морате да укуцате команде да бисте преписали аудио датотеку у текст. Али зашто то радити када имамо АутоХоткеи?

Уз АутоХоткеи, можемо без напора да креирамо основни ГУИ за апликације на командној линији као што је Вхиспер. Дакле, хајде да урадимо то и видимо како можете да креирате сопствену апликацију за транскрипцију комбиновањем АутоХоткеи-јевих супермоћи за прављење ГУИ-а са ОпенАИ-јевим Вхиспером као „мозаком“ иза дугмади.

Постављање темеља за Вхиспер и АутоХоткеи

Можете да правите сјајне скрипте помоћу АутоХоткеи-а, али то није све што може. За овај пројекат, користићемо АутоХоткеи да креирамо ГУИ за Вхиспер. Ово ће нам омогућити да користимо ОпенАИ-ов АИ алат за препознавање гласа кликом на дугмад и прилагођавањем његове функционалности помоћу менија уместо куцања команди.

Међутим, то значи да ћете морати да имате инсталиране и АутоХоткеи и Вхиспер да бисте пратили.

За први део једначине можете преузмите АутоХоткеи са његовог званичног сајтазатим покрените његов инсталатер и пратите представљене кораке.

Имајте на уму да ћемо користити старију „в1“ верзију скриптног језика, а не нову в2. То је важно јер две верзије користе нешто другачију синтаксу. Оно што ћемо овде видети можда неће радити ако користите нови в2.

Други део је компликованији, али можете научити како то да урадите тако што ћете проверити наш чланак о томе како да свој глас претворите у текст помоћу ОпенАИ Вхиспер за Виндовс.

Са оба инсталирана, наш план акције је следећи:

  • Направите ГУИ са елементима за Вхиспер-ове променљиве и вредности.
  • Креирајте функције за преузимање вредности из интерфејса, бирање датотека и фасцикли и састављање свега у употребљиву команду Вхиспер.
  • Покрените команду Вхиспер да бисте произвели резултате.
  • Наравно, увек можете да користите Виндовс уграђену подршку за куцање гласом, као што смо видели у нашем чланку о томе како да покренете куцање гласом у оперативном систему Виндовс 11. Ипак, као што ћете видети док га користите, Вхиспер је много прецизнији (али такође спорије).

    Личније речено, требало би да објасним да ја нисам програмер, а овај пројекат је „ремикс“ решења направљеног за личну употребу.

    Како направити нову АутоХоткеи скрипту

    Први корак је креирање нове празне датотеке скрипте. Чувајте га у сопственој фасцикли, само у случају да одлучите да га прилагодите или надоградите, креирајући још датотека.

  • Покрените свој омиљени менаџер датотека (или притисните тастер Виндовс + Е да бисте покренули Виндовс Екплорер) и креирајте фасциклу за своју апликацију за транскрипцију где год желите.
  • Кликните десним тастером миша на празно место прозора и изаберите Ново > АутоХоткеи Сцрипт да бисте креирали празну датотеку скрипте.
  • Схифт + десни клик на датотеку да бисте приступили целом контекстуалном менију и изаберите да је отворите својим омиљеним кодом или уређивачем текста. Виндовсов сопствени Нотепад ће бити добар.
  • Упркос томе што је „празна скрипта“, ваша АХК датотека ће већ бити унапред попуњена неким „стварима“. То су корисне АутоХоткеи променљиве и заставице које дефинишу како би требало да функционише на вашој радној површини. Игноришите их, оставите их онаквима какви јесу и све своје будуће куцање радите испод њих.
  •   Како променити ДПИ слике у Виндовс-у

    Упознавање са Вхиспер’с Флагс

    Пошто правимо ГУИ за апликацију командне линије, згодно је имати референцу на њене главне варијабле и заставице које ћемо користити у нашем пројекту. Можете их проверити читањем Вхисперове документације, посетом његова званична Гитхуб страницаи покренути га у свом терминалу.

    Навешћемо оне које ћемо користити у овом пројекту ради практичности. Предлажемо да их додате у своју скрипту као коментаре (у одвојеним редовима, од којих сваки почиње знаком „;“ иза којег следи размак).

     ; Whisper Flags:;  

    Креирање ГУИ помоћу АутоХоткеи-а

    Предлажемо да своју скрипту поделите на одељке користећи коментаре као што смо ми урадили да би била организована. Почећемо тако што ћемо дефинисати неке променљиве, наставити на стварни ГУИ и завршити дефинисањем његових функција.

    Успостављање скривених варијабли

    Почињемо са одељком у којем ћемо дефинисати променљиве које бисмо можда желели да променимо у будућности, али не тако често да бисмо желели да их изложимо преко ГУИ-а, превише га компликујући. Можете да откуцате „Вариабле_Наме = Садржај или вредност променљиве“ са једним паром променљиве и вредности по реду.

    За овај пројекат дефинисали смо променљиву ОутпутФормат коју смо поставили на вредност „ткт“ и променљиву ВхисперЕкецутабле која наводи име Вхисперове извршне датотеке. На овај начин, ако желимо да користимо исто решење у будућности да креирамо датотеке СРТ титлова уместо ТКСТ докумената или надоградимо Вхиспер/пребацимо се на алтернативну апликацију, можемо да прилагодимо вредности тих променљивих на том једном месту уместо у целој скрипти .

     OutputFormat = txtWhisperExecutable = whisper 

    Подешавање корисничких опција

    Када користите Вхиспер на командној линији, три његове заставице вам омогућавају да дефинишете:

    • Ако радите превод или транскрипцију
    • Језик аудио датотеке
    • Модел језика који желите да користите (доступне су различите величине, од којих свака утиче на перформансе у односу на квалитет резултата).

    Најлакши начин да понудите исту функционалност кроз ГУИ је кроз испробане и тестиране падајуће листе. Синтакса за додавање падајуће листе у АутоХоткеи ГУИ је следећа:

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

    На основу тога, додајмо три падајуће листе нашој скрипти за избор Вхиспер-овог језика (између енглеског/ен и грчког/ел), модела (мали, основни, мали, средњи, велики) и типа задатка (транскрибуј или преведи) .

     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|

    Да бисте поставили опцију као подразумевани избор, користите симбол двоструке цеви (“|”) иза ње. Можете видети да смо у нашем примеру поставили наш језик на ен, СелецтедМодел на смалл и ТаскТипе на транскрибовање.

    Како водити шапат

    Пошто је Вхиспер заснован на вештачкој интелигенцији, не постоји начин да имате апсолутну контролу над начином на који Вхиспер транскрибује звук. Слободно је изабрати оно што сматра оптималним.

      Како да користите Гоогле Неарби Схаре за Андроид и Виндовс уређаје

    Међутим, као и друга АИ решења, Вхиспер може прихватити корисничке упите. Израдом упита можете „водити“ како транскрибује ваш звук.

    Да ли решење које правимо није успело да нешто исправно транскрибује? Можете да покушате да „објасните“ да шапутате „о чему се ради у гласовној датотеци“, укључујући синтаксу речи, акронима и фраза у вашем упиту онако како желите да се појављују у транскрипцији. За то ћемо додати поље за уређивање текста АутоХоткеи.

    Синтакса се не разликује превише од оне коју смо користили за додавање падајућих листа изнад:

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

    „%ПромптТект%“ на крају „каже“ АХК-у да прикаже садржај променљиве ПромптТект (ако јој је већ додељена вредност) унутар текстуалног поља. Неће показати ништа у скрипти коју правимо, али сматрајте је чуваром места када евентуално у будућности прилагодите скрипту и да бисте сачували и учитали упите!

    Да ли бисте радије доделили унапред дефинисану вредност променљивој ПромптТект? Додајте нешто попут следећег у одељак Променљиве скрипте. Не заборавите да замените „Ваше име“ својим стварним именом.

     PromptText = Transcription of Your Name's notes 

    Подешавање акционих дугмади

    За бирање датотека, фасцикли и покретање Вхиспера након што смо све подесили, боље је користити дугмад. Можете додати дугмад у интерфејс направљен од АХК користећи следеће:

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

    Обратите пажњу да за разлику од променљивих у ГУИ елементима, које почињу словом „в“, имена функција почињу са „г“, за „Иди (до овог места скрипте)“.

    Једно дугме АХК интерфејса се такође може сматрати „подразумеваним“, које ће бити активирано ако не кликнете нигде на ГУИ и притиснете Ентер. Ово се дефинише додавањем „подразумеваног“ у одељку координате и функције, као што ћете приметити на нашем дугмету „ОК“:

     Gui, Add, Button, x5 w505 h50 gSelectFile, Load FileGui, Add, Button, x5 w505 h50 gSelectFolder, Choose Output Folder
    ​​​​​​​Gui, Add, Button, Default x5 w505 h50 gButtonSubmit, OK

    Са горе наведеним, дефинишемо три дугмета:

    • Један са ознаком „Учитај датотеку“ који ће, када се кликне, покренути функцију СелецтФиле.
    • Један са ознаком „Изабери излазну фасциклу“, који ће покренути функцију СелецтФолдер.
    • Један са ознаком „ОК“, подразумевано изабран, „позива“ функцију БуттонСубмит.

    Како показати свој ГУИ

    Наш ГУИ је спреман, али се неће појавити на нашем екрану јер нисмо „рекли“ АутоХоткеи-у да га прикаже или шта свако дугме треба да ради.

    За то додајте следећа два реда испод оних који дефинишу ваш ГУИ:

     Gui, ShowReturn 

    Први ред „каже“ АХК-у да прикаже прозор ГУИ, док други означава крај одељка.

    Функције и функционалност наше апликације

    Иако смо завршили одељак ГУИ, ако покушате да покренете скрипту, она ће се срушити. То је зато што се у њему позивамо на непостојеће функције. Дакле, наш следећи потез је да креирамо те функције.

    Три функције које желимо су:

    • Изаберите улазну датотеку.
    • Изаберите излазну фасциклу у којој ће се чувати транскрибована датотека.
    • Направите команду која ће „саставити“ све варијабле у употребљиву Вхиспер команду, слично ономе што бисмо сами укуцали у терминал, а затим је покренули.

    Избор улазне датотеке

    Прва функција, коју смо већ назвали „СелецтФиле“ када смо додали њено дугме у ГУИ, је:

     SelectFile:FileSelectFile, SelectedFileReturn 

    ФилеСелецтФиле је функција АутоХоткеи која приказује типичан захтев за датотеке, омогућавајући кориснику да изабере датотеку. СелецтедФиле је променљива у нашој скрипти која ће „држати“ путању до датотеке коју је корисник изабрао.

      Твеетз Десктоп је моћан, чист Твиттер клијент за Виндовс

    Међутим, као што ћете видети на нашим снимцима екрана, додали смо и следећи ред одмах изнад „ретурн“ који завршава функцију:

     MsgBox, %SelectedFile% 

    Ово ће АХК показати оквир за поруке са изабраном датотеком након што је одаберемо, што је корисно када решавате проблеме са вашом скриптом. Ако овај оквир за поруку приказује путању и назив ваше изабране датотеке, то није дугме за избор датотеке или функција коју треба поправити.

    Избор излазне фасцикле

    Функција за избор фасцикле је скоро идентична, само се мења име команде и променљива, да би се показало да имамо посла са фасциклама уместо датотекама:

     SelectFolder:FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Return 

    Коначна функција

    Коначна функција ће бити најкомпликованија. Пресликано на дугме ОК, ово ће „сакупити“ све вредности променљивих из ГУИ-а, претворити их у употребљиву команду, а затим је покренути.

    Почињемо тако што ћемо навести почетак и крај функције:

     ButtonSubmit:Return 

    Да бисте „зграбили“ све вредности ГУИ-а, додајте следеће испод БуттонСубмит линије:

     Gui Submit, nohide 

    Следећи ред креира нову променљиву под називом „ВхисперФлагс“. Затим му додаје све варијабле ГУИ-ја као ознаке за команду Вхиспер.

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

    Затим ћемо „рећи“ АХК-у да користи подразумевани терминал (ЦМД.еке) за покретање Вхисперове извршне датотеке (коју смо дефинисали са променљивом ВхисперЕкецутабле) са варијаблама ГУИ-ја (које су сада „састављене“ у једну променљиву ВхисперФлагс).

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

    За још лакше решавање проблема додали смо и мсгбок, као и раније, али и следећи ред:

     Clipboard = %WhisperExecutable% %WhisperFlags% 

    Ово ће копирати у међуспремник комплетну команду издату ЦМД-у. Дакле, ако нешто не успе, уместо да видите команду само у једном од оквира за поруке АХК-а, биће вам доступна и у међуспремнику.

    Отворите терминал, налепите команду из међуспремника и проверите грешке које се појављују да бисте лоцирали потенцијалне проблеме.

    На пример, док сам радио на скрипти, у почетку сам заборавио да промпт ставим под наводнике. Дакле, команда није успела, пошто је Вхиспер покушао да рашчлани промпт као заставице.

    Тестирање и коначна подешавања

    То је било то – управо смо креирали апликацију за транскрипцију користећи АутоХоткеи-јеве могућности за прављење ГУИ-а и решење за АИ транскрипцију спремно за употребу.

    Покушајте да покренете своју скрипту (двапут кликните на њену датотеку) и требало би да видите свој ГУИ на екрану.

    • Промените подешавања Вхиспер-а користећи падајуће листе на врху.
    • Унесите кратак опис своје транскрипције (и неких термина) у поље Промпт.
    • Кликните на дугме Учитај датотеку и изаберите аудио датотеку коју желите да транскрибујете.
    • Кликните на дугме Цхоосе Оутпут Фолдер и изаберите где треба да се чува произведена текстуална датотека.
    • Кликните на ОК да бисте ослободили Вхиспер, како је конфигурисао ваш ГУИ, на одабраној аудио датотеци и сачували њену транскрипцију као текстуалну датотеку у фасцикли коју сте изабрали.

    Ако је све функционисало, вратите се на своју скрипту и или избришите или оставите коментар (додавањем „;“ на њихов почетак) све функције за решавање проблема (кутије за поруке и линије за копирање у међуспремник).

    Даље шапат помоћу АутоХоткеи-а

    Исправним подешавањем подразумеваних вредности вашег ГУИ-а и можда додавањем генеричког упита, можете претворити Вхиспер у решење са три клика за транскрипцију: нема плаћања за комерцијална решења, услуга трећих страна, петљања са компликованим интерфејсима или куцања терминал.