Üç tıkla kullanımlı ancak son derece doğru bir transkripsiyon uygulaması yapmak kulağa zor geliyor ama öyle değil. Whisper'ı AutoHotkey ile tanıştıralım.
OpenAI'nin Whisper'ı, sesinizi metne dönüştürmek için en güçlü çözümlerden biridir. Bununla birlikte, bir ses dosyasını metne dönüştürmek için komutlar yazmanız gerektiğinden, Whisper'ın kullanımı can sıkıcı olabilir. Ama neden AutoHotkey'imiz varken bunu yapalım?
AutoHotkey ile Whisper gibi komut satırı uygulamaları için zahmetsizce temel bir GUI oluşturabiliriz. Öyleyse, hadi bunu yapalım ve AutoHotkey'in GUI oluşturan süper güçlerini düğmelerin arkasındaki "beyin" olarak OpenAI'nin Whisper'ı ile birleştirerek kendi transkripsiyon uygulamanızı nasıl oluşturabileceğinizi görelim.
Whisper ve AutoHotkey için Temellerin Atılması
AutoHotkey ile harika komut dosyaları oluşturabilirsiniz, ancak yapabileceği tek şey bu değil. Bu proje için, Whisper için bir GUI oluşturmak üzere AutoHotkey'i kullanacağız. Bu, OpenAI'nin ses tanıma AI aracını düğmelere tıklayarak ve komut yazmak yerine menüleri kullanarak işlevselliğini özelleştirerek kullanmamıza izin verecektir.
Ancak bu, takip etmek için hem AutoHotkey hem de Whisper'ın kurulu olması gerektiği anlamına gelir.
Denklemin ilk kısmı için şunları yapabilirsiniz: AutoHotkey'i resmi sitesinden indirin, ardından yükleyicisini çalıştırın ve sunulan adımları izleyin.
Yeni v2'yi değil, betik dilinin eski "v1" sürümünü kullanacağımızı unutmayın. Bu önemlidir, çünkü iki sürüm biraz farklı bir sözdizimi kullanır. Burada göreceğimiz şey, yeni v2 kullanılıyorsa çalışmayabilir.
İkinci kısım daha karışık ama nasıl yapacağınızı yazımıza göz atarak öğrenebilirsiniz. Windows için OpenAI Whisper ile sesinizi nasıl metne dönüştürebilirsiniz?.
Her ikisi de kuruluyken, eylem planımız aşağıdaki gibidir:
- Whisper'ın değişkenleri ve değerleri için öğeler içeren bir GUI oluşturun.
- Arayüzden değerleri almak, dosya ve klasörleri seçmek ve her şeyi kullanılabilir bir Whisper komutunda birleştirmek için işlevler oluşturun.
- Sonuç üretmek için Whisper komutunu çalıştırın.
Elbette, Sesle Yazma için Windows yerleşik desteğini her zaman kullanabilirsiniz, hakkındaki makalemizde gördüğümüz gibi Windows 11'de Sesle Yazma nasıl başlatılır. Yine de, kullanırken göreceğiniz gibi, Whisper çok daha isabetlidir (ama aynı zamanda daha yavaştır).
Daha kişisel bir not olarak, programcı olmadığımı ve bu projenin kişisel kullanım için yapılmış bir çözümün "remiksi" olduğunu açıklamalıyım.
Yeni Bir AutoHotkey Komut Dosyası Nasıl Yapılır
İlk adım, yeni bir boş komut dosyası oluşturmaktır. Üzerinde ince ayar yapmaya veya üzerinde derleme yapmaya karar vererek daha fazla dosya oluşturmaya karar vermeniz durumunda, kendi klasöründe tutun.
- Favori dosya yöneticinizi çalıştırın (veya Windows Anahtarı + E Windows Gezgini'ni başlatmak için) ve deşifre uygulamanız için istediğiniz yerde bir klasör oluşturun.
- Pencerenin boş bir yerine sağ tıklayın ve seçin Yeni > AutoHotkey Komut Dosyası boş bir betik dosyası oluşturmak için.
- Tam içerik menüsüne erişmek için dosyaya Shift + Sağ Tıklayın ve favori kodunuz veya metin düzenleyicinizle açmayı seçin. Windows'un kendi not defteri yapacak.
- "Boş bir komut dosyası" olmasına rağmen, AHK dosyanız zaten bazı "şeyler" ile önceden doldurulmuş olacaktır. Bunlar, masaüstünüzde nasıl çalışması gerektiğini tanımlayan yararlı AutoHotkey değişkenleri ve bayraklarıdır. Onları görmezden gelin, oldukları gibi bırakın ve tüm geleceğinizi altlarına yazarak yapın.
Whisper's Flags'ı Tanımak
Bir komut satırı uygulaması için bir GUI oluşturduğumuz için, projemizde kullanacağımız başlıca değişkenlerine ve bayraklarına bir referansa sahip olmak kullanışlıdır. Whisper'ın belgelerini okuyarak, ziyaret ederek kontrol edebilirsiniz. resmi Github sayfasıve terminalinizde çalıştırma.
Kolaylık sağlamak için bu projede kullanacağımızları listeleyeceğiz. Bunları betiğinize yorum olarak eklemenizi öneririz (her biri ";" karakteriyle başlayan ve boşluk bırakan ayrı satırlar halinde).
; Fısıltı İşaretleri:; --initial_prompt PROMPT_TEXT; --output_format txt; -o ÇIKIŞ_KLASÖRÜ; --model MODEL_TO_USE; --görev TRANSCRIBE/ÇEVİR; --dil EN/EL
AutoHotkey ile GUI Oluşturma
Komut dosyanızı düzenli tutmak için bizim yaptığımız gibi yorumları kullanarak bölümlere ayırmanızı öneririz. Bazı değişkenleri tanımlayarak başlayacağız, gerçek GUI'ye devam edeceğiz ve işlevlerini tanımlayarak bitireceğiz.
Gelecekte değiştirmek isteyebileceğimiz değişkenleri tanımlayacağımız bir bölümle başlıyoruz, ancak bunları GUI aracılığıyla ifşa etmek isteyeceğimiz kadar sık değil, aşırı karmaşık hale getiriyoruz. Her satıra bir değişken ve değer çifti ile "Değişken_Adı = Değişkenin içeriği veya değeri" yazabilirsiniz.
Bu proje için tanımladık Çıkış biçimi " olarak ayarladığımız değişkentxt"değer ve Yürütülebilir Fısıltı değişken belirten Whisper'ın yürütülebilir dosya adı. Bu şekilde, gelecekte aynı çözümü TXT belgeleri yerine SRT altyazı dosyaları oluşturmak veya yükseltmek için kullanmak istiyorsak Fısıldayarak/alternatif bir uygulamaya geçiş yaparak, bu değişkenlerin değerlerini tüm uygulama yerine o tek noktada ayarlayabiliriz. senaryo.
OutputFormat = txtWhisperExecutable = fısıltı
Kullanıcı Seçeneklerini Ayarlama
Komut satırında Whisper kullanırken, bayraklarından üçü şunları tanımlamanıza izin verir:
- eğer yapıyorsan tercüme veya transkripsiyon
- ses dosyasının dil
- Dil modeli kullanmak istiyorsunuz (çeşitli boyutlar mevcuttur, her biri performansı ve sonuçların kalitesini etkiler).
Aynı işlevselliği bir GUI aracılığıyla sunmanın en kolay yolu, denenmiş ve test edilmiş açılır listelerdir. Bir AutoHotkey GUI'ye açılır liste eklemek için sözdizimi aşağıdaki gibidir:
Gui, Add, DropDownList, xPosition yPosition wWidth hHeight vVariable_that_will_hold_selected_value, optionsA|optionB|default_optionC||optionD|
Buna dayanarak, betiğimize Whisper'ın dilini seçmek için üç açılır liste ekleyelim (arasında İngilizce/en ve Yunanca/el), model (küçük, temel, küçük, orta, büyük) ve görev türü (deşifre veya Çevirmek).
Gui, Add, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Add, DropDownList, x175 y5 w165 h100 vSelectedModel, minik|temel|küçük||orta|büyük|
Gui, Add, DropDownList, x345 y5 w165 h100 vTaskType, transkripsiyon||çevir|
Bir seçeneği varsayılan seçim olarak ayarlamak için, ondan sonra çift çizgi simgesi ("|") kullanın. Örneğimizde dilimizi şu şekilde ayarladığımızı görebilirsiniz: tr, SeçilenModel küçükve TaskType için uyarlamak.
Fısıltı Nasıl Yönlendirilir?
Whisper yapay zeka tabanlı olduğundan, Whisper'ın sesi nasıl yazıya döktüğü üzerinde mutlak kontrole sahip olmanın bir yolu yoktur. En uygun olduğunu düşündüğü şeyi seçmekte özgürdür.
Ancak, diğer AI çözümleri gibi, Whisper da kullanıcı istemlerini kabul edebilir. Bir bilgi istemi oluşturarak, sesinizi nasıl yazıya döktüğünü "yönlendirebilirsiniz".
Yaptığımız çözüm, bir şeyi doğru bir şekilde Kopyalamakta başarısız oldu mu? Sözcüklerin sözdizimi, kısaltmalar ve kelime öbekleri de dahil olmak üzere Whisper'a "ses dosyasının ne hakkında olduğunu" "açıklamayı" deneyebilirsiniz. Bunun için bir AutoHotkey Metin Düzenleme alanı ekleyeceğiz.
Sözdizimi, yukarıdaki açılır listeleri eklemek için kullandığımızdan çok farklı değil:
Gui, Ekle, Düzenle, x5 w505 h400 vPromptText, %PromptText%
Sonundaki "%PromptText%", AHK'ya PromptText değişkeninin içeriğini (zaten bir değer atanmışsa) metin alanı içinde göstermesini "söyler". Yaptığımız komut dosyasında hiçbir şey göstermeyecek, ancak komut dosyalarını kaydetmek ve yüklemek için gelecekte komut dosyasında ince ayar yaptığınız zaman için bir yer tutucu olarak düşünün!
için önceden tanımlanmış bir değer atamayı tercih eder misiniz? Bilgi İstemi Metni değişken? Aşağıdaki gibi bir şey ekleyin Değişkenler komut dosyası bölümü. "Adınızı" gerçek adınızla değiştirmeyi unutmayın.
PromptText = Adınızın notlarının transkripsiyonu
Eylem Düğmelerini Ayarlama
Her şeyi ayarladıktan sonra dosyaları, klasörleri seçmek ve Whisper'ı çalıştırmak için düğmeleri kullanmak daha iyidir. Aşağıdakileri kullanarak AHK yapımı bir arayüze düğmeler ekleyebilirsiniz:
Gui, Ekle, Düğme, xPosition yPosition wWidth hHeight gFunction_To_Perform, Düğme Metni
"v" harfiyle başlayan GUI öğelerindeki değişkenlerin aksine, işlev adlarının "Git (komut dosyasının bu noktasına)" için "g" ile başladığına dikkat edin.
Bir AHK arabiriminin tek bir düğmesi de "varsayılan" olarak kabul edilebilir; bu, GUI'de herhangi bir yeri tıklatmazsanız ve Girmek. Bu, " eklenerek tanımlanırvarsayılan"Tamam" düğmemizde fark edeceğiniz gibi, koordinatlar ve işlev bölümünde:
Gui, Ekle, Düğme, x5 w505 h50 gSelectFile, Yük dosyaGui, Eklemek, Düğme, x5 w505 h50 gSelectFolder, SeçmekÇıktı Dosya
Gui, Ekle, Düğme, Varsayılan x5 w505 h50 gButtonGönder, Tamam
Yukarıdakilerle, üç düğme tanımlıyoruz:
- Bir " etiketliDosya yükle" tıklandığında, çalıştıracak Dosya Seç işlev.
- Bir " etiketliÇıktı Klasörünü Seçinçalıştıracak olan ", Dosya Seç işlev.
- Bir " etiketliTAMAM", varsayılan olarak seçili, "çağrılıyor" DüğmeGönder işlev.
GUI'nizi Nasıl Gösterirsiniz?
GUI'miz hazır ama ekranımızda görünmeyecek çünkü AutoHotkey'e onu göstermesini veya her düğmenin ne yapması gerektiğini "söylemedik".
Bunun için, GUI'nizi tanımlayanların altına aşağıdaki iki satırı ekleyin:
Gui, ShowReturn
İlk satır AHK'ya GUI'nin penceresini göstermesini "söyler", ikincisi ise bölümün sonunu belirtir.
Uygulamamızın İşlevleri ve İşlevselliği
GUI bölümünü tamamlamamıza rağmen, betiği çalıştırmayı denerseniz çökecektir. Bunun nedeni, içinde var olmayan işlevlere atıfta bulunmamızdır. Bir sonraki hamlemiz bu fonksiyonları oluşturmak.
İstediğimiz üç işlev şunlardır:
- Bir giriş dosyası seçin.
- Kopyalanan dosyanın depolanacağı çıktı klasörünü seçin.
- Tüm değişkenleri, bir terminalde kendimiz yazacağımıza benzer şekilde, kullanılabilir bir Whisper komutunda "birleştirecek" bir komut oluşturun ve ardından çalıştırın.
Giriş Dosyası Seçimi
Zaten adını verdiğimiz ilk işlev "Dosya Seç" düğmesini GUI'ye eklediğimizde:
Dosya Seç:DosyaSeçDosya, SeçilenDosyaDönüş
DosyaSeçDosya tipik bir dosya talep edeni görüntüleyen ve kullanıcının bir dosya seçmesine izin veren bir AutoHotkey işlevidir. SeçilmişDosya betiğimizde, kullanıcının seçtiği dosyanın yolunu "tutacak" değişkendir.
Bununla birlikte, ekran görüntülerimizde de göreceğiniz gibi, işlevin sonundaki "return" ifadesinin hemen üstüne aşağıdaki satırı da ekledik:
MsgBox, %SelectedFile%
Bu, AHK'nin bir Mesaj Kutusu Biz dosyayı seçtikten sonra seçilen dosyayla birlikte, bu, betiğinizde sorun giderirken kullanışlıdır. Bu mesaj kutusu, seçtiğiniz dosyanın yolunu ve adını gösteriyorsa, düzeltilmesi gereken dosya seçme düğmeniz veya işleviniz değildir.
Çıktı Klasörü Seçimi
Bir klasör seçme işlevi, dosyalar yerine klasörlerle uğraştığımızı göstermek için yalnızca komutun adı ve değişen değişkeniyle neredeyse aynıdır:
Klasör Seçin: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Geri dönmek
Nihai İşlev
Nihai işlev en karmaşık olacaktır. Tamam düğmesine eşlenen bu, GUI'deki tüm değişken değerlerini "toplar", kullanılabilir bir komuta dönüştürür ve ardından çalıştırır.
Fonksiyonun başlangıcını ve bitişini belirterek başlıyoruz:
DüğmeGönder:Geri dönmek
GUI'nin tüm değerlerini "almak" için, altına aşağıdakileri ekleyin. DüğmeGönder astar:
Gui Gönder, gizlemeden
Aşağıdaki satır, "adlı yeni bir değişken oluşturur.Fısıldayan Bayraklar". Ardından, GUI'nin tüm değişkenlerini Whisper komutu için bayraklar olarak ekler.
WhisperFlags = --initial_prompt "%PromptText%" --task %TaskType% --model %SelectedModel% --language %SelectedLanguage% --output_format %OutputFormat% -o "%SelectedFolder%""%SelectedFile%"
Ardından, AHK'ya Whisper'ın yürütülebilir dosyasını ( ile tanımladığımız) çalıştırmak için varsayılan terminali (CMD.exe) kullanmasını "söyleyeceğiz". Yürütülebilir Fısıltı değişken) GUI'nin değişkenleriyle (bunlar artık tek bir Fısıldayan Bayraklar değişken).
RunWait, cmd.exe /c %WhisperExecutable% %WhisperFlags%
Daha da kolay sorun giderme için daha önce olduğu gibi bir mesaj kutusu da ekledik, ancak aynı zamanda aşağıdaki satırı da ekledik:
Pano = %WhisperExecutable% %WhisperFlags%
Bu şuraya kopyalanacak: Pano CMD'ye verilen tam komut. Bu nedenle, bir şey başarısız olursa, komutu yalnızca AHK'nin mesaj kutularından birinde görmek yerine Panonuzda da kullanabilirsiniz.
Bir terminal açın, Pano'dan komutu yapıştırın ve olası sorunları bulmak için açılan hataları kontrol edin.
Örneğin, komut dosyası üzerinde çalışırken, istemi tırnak işaretleri içine almayı başlangıçta unuttum. Bu nedenle, Whisper bilgi istemini bayraklar olarak ayrıştırmaya çalıştığı için komut başarısız oldu.
Test Etme ve Son Düzenlemeler
İşte bu kadardı; AutoHotkey'in GUI oluşturma yeteneklerini ve kullanıma hazır bir AI transkripsiyon çözümünü kullanarak bir deşifre uygulaması oluşturduk.
Komut dosyanızı çalıştırmayı deneyin (dosyasına çift tıklayın) ve GUI'nizi ekranınızda görmelisiniz.
- Üstteki açılır listeleri kullanarak Whisper'ın ayarlarını değiştirin.
- Transkripsiyonunuzun kısa bir açıklamasını (ve bazı terimleri) yazın. Çabuk alan.
- Tıkla Dosya yükle düğmesine basın ve yazıya dökmek istediğiniz ses dosyasını seçin.
- Tıkla Çıktı Klasörünü Seçin düğmesine basın ve üretilen metin dosyasının nerede saklanacağını seçin.
- Tıklamak TAMAM GUI'niz tarafından yapılandırıldığı gibi Whisper'ı seçtiğiniz ses dosyasında serbest bırakmak ve transkripsiyonunu seçtiğiniz klasörde bir metin dosyası olarak kaydetmek için.
Her şey işe yaradıysa, betiğinize geri dönün ve tüm sorun giderme işlevlerini (mesaj kutuları ve Panoya kopyala satırları) silin veya Yorum yapın (başına ";" ekleyerek).
AutoHotkey ile Fısıltıyı Daha İleriye Taşıyoruz
GUI'nizin varsayılan değerlerini doğru bir şekilde ayarlayarak ve belki genel bir bilgi istemi ekleyerek, Whisper'ı bir metne dönüştürmek için üç tıkla çözüm: Ticari çözümler, üçüncü taraf hizmetleri, karmaşık arayüzlerle uğraşmak veya bir terminalde yazarak.