Membuat aplikasi transkripsi tiga klik untuk digunakan tetapi sangat akurat terdengar sulit, tetapi sebenarnya tidak. Mari perkenalkan Whisper ke AutoHotkey.
Bisikan OpenAI adalah salah satu solusi paling ampuh untuk mengubah suara Anda menjadi teks. Namun, Whisper juga bisa mengganggu untuk digunakan, karena Anda harus mengetikkan perintah untuk menyalin file audio menjadi teks. Tapi mengapa melakukan itu saat kita punya AutoHotkey?
Dengan AutoHotkey, kita dapat dengan mudah membuat GUI dasar untuk aplikasi baris perintah seperti Whisper. Jadi, mari kita lakukan itu dan lihat bagaimana Anda dapat membuat aplikasi transkripsi Anda sendiri dengan menggabungkan kekuatan super pembuat GUI AutoHotkey dengan Whisper OpenAI sebagai "otak" di balik tombol.
Meletakkan Fondasi untuk Whisper dan AutoHotkey
Anda dapat membuat skrip keren dengan AutoHotkey, tapi bukan hanya itu yang bisa dilakukannya. Untuk proyek ini, kami akan menggunakan AutoHotkey untuk membuat GUI untuk Whisper. Ini akan memungkinkan kita untuk menggunakan alat AI pengenalan suara OpenAI dengan mengklik tombol dan menyesuaikan fungsinya menggunakan menu alih-alih mengetik perintah.
Namun, ini berarti Anda harus menginstal AutoHotkey dan Whisper untuk mengikuti.
Untuk bagian pertama persamaan, Anda bisa unduh AutoHotkey dari situs resminya, lalu jalankan penginstalnya dan ikuti langkah-langkah yang disajikan.
Perhatikan bahwa kami akan menggunakan bahasa skrip versi "v1" yang lebih lama, bukan versi baru v2. Itu penting karena kedua versi menggunakan sintaks yang agak berbeda. Apa yang akan kita lihat di sini mungkin tidak berfungsi jika menggunakan v2 baru.
Bagian kedua lebih rumit, tetapi Anda dapat mempelajari cara melakukannya dengan membaca artikel kami di cara mengubah suara Anda menjadi teks dengan Whisper OpenAI untuk Windows.
Dengan keduanya terpasang, rencana tindakan kami adalah sebagai berikut:
- Buat GUI dengan elemen untuk variabel dan nilai Whisper.
- Buat fungsi untuk mengambil nilai dari antarmuka, pilih file dan folder, dan kumpulkan semuanya menjadi perintah Whisper yang dapat digunakan.
- Jalankan perintah Whisper untuk menghasilkan hasil.
Tentu saja, Anda selalu dapat menggunakan dukungan bawaan Windows untuk Pengetikan Suara, seperti yang kita lihat di artikel kami di cara memulai Pengetikan Suara di Windows 11. Namun, seperti yang akan Anda lihat saat menggunakannya, Whisper jauh lebih akurat (tetapi juga lebih lambat).
Pada catatan yang lebih pribadi, saya harus menjelaskan bahwa saya bukan seorang programmer, dan proyek ini adalah "remix" dari solusi yang dibuat untuk penggunaan pribadi.
Cara Membuat Script AutoHotkey Baru
Langkah pertama adalah membuat file skrip kosong baru. Simpan di foldernya sendiri, kalau-kalau Anda memutuskan untuk men-tweak atau membangunnya, membuat lebih banyak file.
- Jalankan pengelola file favorit Anda (atau tekan Kunci Windows + e untuk meluncurkan Windows Explorer) dan buat folder untuk aplikasi transkripsi Anda di mana pun Anda suka.
- Klik kanan pada tempat kosong di jendela dan pilih Baru > Script Hotkey Otomatis untuk membuat file skrip kosong.
- Shift + Klik kanan pada file untuk mengakses menu konteks lengkap dan pilih untuk membukanya dengan kode atau editor teks favorit Anda. milik Windows Notepad akan melakukan.
- Meskipun merupakan "skrip kosong", file AHK Anda sudah diisi sebelumnya dengan beberapa "barang". Itu adalah variabel dan flag AutoHotkey yang berguna yang menentukan cara kerjanya di desktop Anda. Abaikan mereka, biarkan apa adanya, dan lakukan semua pengetikan masa depan Anda di bawahnya.
Mengenal Bendera Whisper
Karena kita membuat GUI untuk aplikasi baris perintah, sangat berguna untuk memiliki referensi ke variabel dan flag utamanya yang akan kita gunakan dalam proyek kita. Anda dapat memeriksanya dengan membaca dokumentasi Whisper, mengunjungi halaman Github resminya, dan menjalankannya di terminal Anda.
Kami akan mencantumkan yang akan kami gunakan dalam proyek ini untuk kenyamanan. Kami sarankan Anda menambahkannya ke skrip Anda sebagai komentar (di baris terpisah, setiap baris dimulai dengan karakter ";" diikuti dengan spasi).
; Bendera Berbisik:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --model MODEL_TO_USE; --tugas TRANSCRIBE/TERJEMAHKAN; --bahasa EN/EL
Membuat GUI Dengan AutoHotkey
Kami sarankan Anda membagi skrip Anda menjadi beberapa bagian menggunakan komentar seperti yang kami lakukan untuk menjaganya tetap teratur. Kami akan mulai dengan mendefinisikan beberapa variabel, melanjutkan ke GUI yang sebenarnya, dan diakhiri dengan mendefinisikan fungsinya.
Kita mulai dengan bagian di mana kita akan menentukan variabel yang mungkin ingin kita ubah di masa mendatang, tetapi tidak terlalu sering sehingga kita ingin mengeksposnya melalui GUI, membuatnya terlalu rumit. Anda dapat mengetikkan "Nama_Variabel = Konten atau nilai variabel" dengan satu variabel dan pasangan nilai per baris.
Untuk proyek ini, kami telah menetapkan a Format output variabel yang kita atur ke "txt"nilai dan a WhisperExecutable menyatakan variabel Nama file yang dapat dieksekusi Whisper. Dengan cara ini, jika kita ingin menggunakan solusi yang sama di masa mendatang untuk membuat file subtitle SRT daripada dokumen TXT atau memutakhirkan Berbisik/beralih ke aplikasi alternatif, kita dapat menyesuaikan nilai variabel tersebut di satu tempat, bukan di seluruh naskah.
OutputFormat = txtWhisperExecutable = bisikan
Menyiapkan Opsi Pengguna
Saat menggunakan Whisper pada baris perintah, tiga benderanya memungkinkan Anda untuk menentukan:
- Jika Anda melakukan terjemahan atau transkripsi
- File audionya bahasa
- Bahasa model yang ingin Anda gunakan (berbagai ukuran tersedia, masing-masing memengaruhi performa VS kualitas hasil).
Cara termudah untuk menawarkan fungsionalitas yang sama melalui GUI adalah melalui daftar drop-down yang dicoba dan diuji. Sintaks untuk menambahkan daftar drop-down ke GUI AutoHotkey adalah sebagai berikut:
Gui, Tambahkan, DropDownList, xPosition yPosition wWidth hHeight vVariable_that_will_hold_selected_value, optionA|optionB|default_optionC||optionD|
Berdasarkan itu, mari tambahkan tiga daftar drop-down ke skrip kita untuk memilih bahasa Whisper (antara English/en dan Greek/el), model (tiny, base, small, medium, large), dan jenis tugas (transkripsi atau menerjemahkan).
Gui, Tambah, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Add, DropDownList, x175 y5 w165 h100 vSelectedModel, kecil|basis|kecil||sedang|besar|
Gui, Tambahkan, DropDownList, x345 y5 w165 h100 vTaskType, transkripsi||terjemahkan|
Untuk menyetel opsi sebagai pilihan default, gunakan simbol pipa ganda ("|") setelahnya. Anda dapat melihat bahwa, dalam contoh kami, kami telah menyetel bahasa kami ke en, SelectedModel ke kecil, dan Jenis Tugas ke menuliskan.
Cara Memandu Whisper
Karena Whisper berbasis AI, tidak ada cara untuk memiliki kontrol mutlak atas cara Whisper mentranskripsikan audio. Bebas memilih apa yang dianggap optimal.
Namun, seperti solusi AI lainnya, Whisper dapat menerima permintaan pengguna. Dengan membuat prompt, Anda dapat "memandu" cara mentranskripsikan audio Anda.
Apakah solusi yang kami buat gagal Mentranskripsikan sesuatu dengan benar? Anda dapat mencoba "menjelaskan" ke Whisper "tentang apa file suara itu", termasuk sintaksis kata, akronim, dan frasa dalam prompt Anda seperti yang Anda inginkan untuk muncul dalam transkripsi. Untuk itu, kami akan menambahkan bidang Edit Teks AutoHotkey.
Sintaksnya tidak terlalu berbeda dengan yang kami gunakan untuk menambahkan daftar drop-down di atas:
Gui, Tambah, Edit, x5 w505 h400 vPromptText, %PromptText%
"%PromptText%" di bagian akhir "memberi tahu" AHK untuk menampilkan konten variabel PromptText (jika sudah diberi nilai) di dalam bidang teks. Itu tidak akan menunjukkan apa pun dalam skrip yang kami buat, tetapi anggap itu sebagai pengganti ketika Anda akhirnya men-tweak skrip di masa mendatang juga untuk menyimpan dan memuat perintah!
Apakah Anda lebih suka menetapkan nilai yang telah ditentukan sebelumnya ke PromptText variabel? Tambahkan sesuatu seperti berikut ke Variabel bagian naskah. Ingatlah untuk mengganti "Nama Anda" dengan nama Anda yang sebenarnya.
PromptText = Transkripsi catatan Nama Anda
Menyiapkan Tombol Aksi
Untuk memilih file, folder, dan menjalankan Whisper setelah kita mengatur semuanya, lebih baik menggunakan tombol. Anda dapat menambahkan tombol ke antarmuka buatan AHK menggunakan yang berikut ini:
Gui, Tambahkan, Tombol, xPosition yPosition wWidth hHeight gFunction_To_Perform, Teks Tombol
Perhatikan bahwa tidak seperti variabel dalam elemen GUI, yang dimulai dengan huruf "v", nama fungsi dimulai dengan "g", untuk "Go (to this spot of the script)".
Satu tombol antarmuka AHK juga dapat dianggap sebagai "yang default", yang akan diaktifkan jika Anda tidak mengklik di mana pun pada GUI dan menekan Memasuki. Ini didefinisikan dengan menambahkan "bawaan" di bagian koordinat-dan-fungsi, seperti yang akan Anda lihat di tombol "OK" kami:
Gui, Tambah, Tombol, x5 w505 h50 gSelectFile, Memuat FileGui, Menambahkan, Tombol, x5 w505 h50 gSelectFolder, MemilihKeluaran Map
Gui, Tambah, Tombol, Bawaan x5 w505 h50 gButtonKirim, oke
Dengan yang di atas, kami mendefinisikan tiga tombol:
- Satu berlabel "Muat Berkas" itu, ketika diklik, akan menjalankan Pilih file fungsi.
- Satu berlabel "Pilih Folder Keluaran", yang akan menjalankan Pilih folder fungsi.
- Satu berlabel "OKE", dipilih secara default, "memanggil" itu TombolKirim fungsi.
Cara Menampilkan GUI Anda
GUI kami siap tetapi tidak akan muncul di layar kami karena kami belum "memberi tahu" AutoHotkey untuk menampilkannya atau apa yang harus dilakukan setiap tombol.
Untuk itu, tambahkan dua baris berikut di bawah yang menentukan GUI Anda:
Gui, Tampilkan Kembali
Baris pertama "memberi tahu" AHK untuk menampilkan jendela GUI, sedangkan baris kedua menandai akhir bagian tersebut.
Fungsi dan Fungsi Aplikasi Kami
Meskipun kami telah menyelesaikan bagian GUI, jika Anda mencoba menjalankan skrip, itu akan macet. Itu karena kami mereferensikan fungsi yang tidak ada di dalamnya. Jadi, langkah kita selanjutnya adalah membuat fungsi-fungsi itu.
Tiga fungsi yang kami inginkan adalah:
- Pilih file masukan.
- Pilih folder keluaran tempat file yang ditranskripsi akan disimpan.
- Buat perintah yang akan "merakit" semua variabel menjadi perintah Whisper yang dapat digunakan, mirip dengan apa yang kita ketik sendiri di terminal, lalu jalankan.
Pemilihan File Masukan
Fungsi pertama, yang sudah kita beri nama "Pilih file" saat kami menambahkan tombolnya ke GUI, adalah:
Pilih file: FilePilih File, SelectedFileReturn
FilePilih File adalah fungsi AutoHotkey yang menampilkan pemohon file biasa, memungkinkan pengguna untuk memilih file. File yang Dipilih adalah variabel dalam skrip kami yang akan "menahan" jalur ke file yang dipilih pengguna.
Namun, seperti yang akan Anda lihat di tangkapan layar kami, kami juga telah menambahkan baris berikut tepat di atas akhiran fungsi "return":
MsgBox, %File Terpilih%
Ini akan memiliki acara AHK a Kotak pesan dengan file yang dipilih setelah kami memilihnya, yang berguna saat memecahkan masalah skrip Anda. Jika kotak pesan ini menunjukkan jalur dan nama file yang Anda pilih, bukan tombol atau fungsi pemilihan file Anda yang perlu diperbaiki.
Pemilihan Folder Keluaran
Fungsi untuk memilih folder hampir sama, dengan hanya mengubah nama perintah dan variabel, untuk menunjukkan bahwa kita berurusan dengan folder, bukan file:
SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%Kembali
Fungsi Akhir
Fungsi terakhir akan menjadi yang paling rumit. Dipetakan ke tombol OK, ini akan "mengumpulkan" semua nilai variabel dari GUI, mengubahnya menjadi perintah yang dapat digunakan, dan kemudian menjalankannya.
Kita mulai dengan menyatakan awal dan akhir fungsi:
TombolKirim:Kembali
Untuk "mengambil" semua nilai GUI, tambahkan yang berikut di bawah TombolKirim garis:
Gui Kirim, jangan bersembunyi
Baris berikut membuat variabel baru bernama "WhisperFlags". Itu kemudian menambahkan semua variabel GUI sebagai bendera untuk perintah Whisper.
WhisperFlags = --initial_prompt "% TeksPrompt%" --tugas %TaskType% --model %SelectedModel% --bahasa %SelectedLanguage% --output_format %OutputFormat% -o "%Folder Terpilih%""%Berkas Terpilih%"
Selanjutnya, kita akan "memberi tahu" AHK untuk menggunakan terminal default (CMD.exe) untuk menjalankan Whisper's executable (yang kita definisikan dengan WhisperExecutable variabel) dengan variabel GUI (yang sekarang "dirakit" dalam single WhisperFlags variabel).
RunWait, cmd.exe /c %WhisperExecutable% %WhisperFlags%
Untuk pemecahan masalah yang lebih mudah, kami juga menambahkan kotak pesan, seperti sebelumnya, tetapi juga menambahkan baris berikut:
Clipboard = %WhisperExecutable% %WhisperFlags%
Ini akan disalin ke Papan klip perintah lengkap yang dikeluarkan untuk CMD. Jadi, jika ada yang gagal, alih-alih hanya melihat perintah di salah satu kotak pesan AHK, Anda juga akan menyediakannya di Clipboard Anda.
Buka terminal, rekatkan perintah dari Clipboard, dan periksa kesalahan yang muncul untuk menemukan potensi masalah.
Misalnya, saat mengerjakan skrip, saya awalnya lupa untuk menyertakan perintah di dalam tanda kutip. Dengan demikian, perintah tersebut gagal, karena Whisper mencoba mengurai prompt sebagai flag.
Pengujian dan Tweak Terakhir
Itu saja—kami baru saja membuat aplikasi transkripsi menggunakan kemampuan pembuatan GUI AutoHotkey dan solusi transkripsi AI siap pakai.
Coba jalankan skrip Anda (klik dua kali file-nya), dan Anda akan melihat GUI Anda di layar.
- Ubah pengaturan Whisper menggunakan daftar drop-down di bagian atas.
- Ketik deskripsi singkat transkripsi Anda (dan beberapa istilah) di Mengingatkan bidang.
- Klik Muat Berkas tombol dan pilih file audio yang ingin Anda transkripsikan.
- Klik Pilih Folder Keluaran tombol dan pilih di mana file teks yang dihasilkan harus disimpan.
- Klik OKE untuk melepaskan Whisper, seperti yang dikonfigurasi oleh GUI Anda, pada file audio pilihan Anda, dan menyimpan transkripsinya sebagai file teks di folder yang Anda pilih.
Jika semuanya berhasil, kembali ke skrip Anda dan hapus atau Komentari (dengan menambahkan ";" di awal) semua fungsi pemecahan masalah (kotak pesan dan baris salin ke Clipboard).
Mengambil Whisper Lebih Jauh Dengan AutoHotkey
Dengan mengatur dengan benar nilai default GUI Anda dan mungkin menambahkan prompt umum, Anda dapat mengubah Whisper menjadi a solusi tiga klik untuk menyalin: Tanpa membayar untuk solusi komersial, layanan pihak ketiga, mengutak-atik antarmuka yang rumit, atau mengetik di terminal.