ביצוע אפליקציית תמלול בשלוש קליקים לשימוש אך מדויק ביותר נשמע קשה, אבל זה לא. בואו נכיר את Whisper עם AutoHotkey.
Whisper של OpenAI הוא אחד הפתרונות החזקים ביותר להפיכת הקול שלך לטקסט. עם זאת, Whisper יכול להיות גם מעצבן לשימוש, מכיוון שאתה צריך להקליד פקודות כדי לתמלל קובץ שמע לטקסט. אבל למה לעשות את זה כשיש לנו AutoHotkey?
עם AutoHotkey, אנו יכולים ליצור ללא מאמץ ממשק משתמש בסיסי עבור אפליקציות שורת פקודה כמו Whisper. אז, בוא נעשה את זה ונראה איך אתה יכול ליצור אפליקציית תמלול משלך על ידי שילוב כוחות העל של AutoHotkey לייצור GUI עם Whisper של OpenAI כ"מוח" מאחורי הכפתורים.
הנחת היסודות עבור Whisper ו-AutoHotkey
אתה יכול ליצור סקריפטים מגניבים עם AutoHotkey, אבל זה לא כל מה שזה יכול לעשות. עבור פרויקט זה, נשתמש ב-AutoHotkey כדי ליצור GUI עבור Whisper. זה יאפשר לנו להשתמש בכלי ה-AI של OpenAI לזיהוי קולי על ידי לחיצה על כפתורים והתאמה אישית של הפונקציונליות שלו באמצעות תפריטים במקום הקלדת פקודות.
עם זאת, המשמעות היא שתצטרכו להתקין גם AutoHotkey וגם Whisper כדי לעקוב אחריהם.
עבור החלק הראשון של המשוואה, אתה יכול
הורד את AutoHotkey מהאתר הרשמי שלו, ואז הפעל את תוכנית ההתקנה שלו ובצע את השלבים המוצגים.שים לב שנשתמש בגרסה הישנה יותר "v1" של שפת הסקריפט, לא ב-v2 החדשה. זה חשוב מכיוון ששתי הגרסאות משתמשות בתחביר שונה במקצת. מה שנראה כאן עשוי שלא לעבוד אם משתמשים בגרסה 2 החדשה.
החלק השני הוא יותר מסובך, אבל אתה יכול ללמוד איך לעשות את זה על ידי בדיקת המאמר שלנו על כיצד להפוך את הקול שלך לטקסט עם Whisper של OpenAI עבור Windows.
כששניהם מותקנים, תוכנית הפעולה שלנו היא כדלקמן:
- צור GUI עם אלמנטים עבור המשתנים והערכים של Whisper.
- צור פונקציות כדי לתפוס ערכים מהממשק, לבחור קבצים ותיקיות ולהרכיב הכל לפקודת Whisper שמישה.
- הפעל את הפקודה Whisper כדי להפיק תוצאות.
כמובן, תמיד תוכל להשתמש בתמיכה המובנית של Windows עבור הקלדה קולית, כפי שראינו במאמר שלנו בנושא כיצד להתחיל הקלדה קולית ב-Windows 11. ובכל זאת, כפי שתראו בזמן השימוש בו, Whisper הוא הרבה יותר מדויק (אך גם איטי יותר).
בנימה אישית יותר, אני צריך להסביר שאני לא מתכנת, והפרויקט הזה הוא "רמיקס" של פתרון שנעשה לשימוש אישי.
כיצד ליצור סקריפט AutoHotkey חדש
השלב הראשון הוא ליצור קובץ סקריפט ריק חדש. שמור אותו בתיקייה משלו, למקרה שתחליט לצבוט או לבנות עליו, ליצור קבצים נוספים.
- הפעל את מנהל הקבצים המועדף עליך (או לחץ על מפתח Windows + ה כדי להפעיל את Windows Explorer) וליצור תיקייה עבור אפליקציית התמלול שלך בכל מקום שתרצה.
- לחץ לחיצה ימנית על נקודה ריקה בחלון ובחר חָדָשׁ > AutoHotkey Script כדי ליצור קובץ סקריפט ריק.
- Shift + קליק ימני על הקובץ כדי לגשת לתפריט ההקשר המלא ובחר לפתוח אותו עם הקוד או עורך הטקסט המועדף עליך. של ווינדוס משלו פנקס רשימות זה מה שאעשה.
- למרות היותו "סקריפט ריק", קובץ ה-AHK שלך כבר יאוכלס מראש בכמה "דברים". אלה משתנים ודגלים שימושיים של AutoHotkey שמגדירים איך זה צריך לעבוד על שולחן העבודה שלך. התעלם מהם, השאר אותם כפי שהם, ובצע את כל ההקלדה העתידית שלך מתחתיהם.
היכרות עם הדגלים של Whisper
מכיוון שאנו יוצרים GUI עבור אפליקציית שורת פקודה, זה שימושי להתייחס למשתנים העיקריים ולדגלים שבהם נשתמש בפרויקט שלנו. אתה יכול לבדוק אותם על ידי קריאת התיעוד של Whisper, ביקור דף Github הרשמי שלו, ולהפעיל אותו בטרמינל שלך.
נרשום את אלה שנשתמש בפרויקט זה מטעמי נוחות. אנו מציעים לך להוסיף אותם לתסריט שלך כהערות (בשורות נפרדות, כל אחת מתחילה בתו ";" ואחריו רווח).
; לוחשת דגלים:; --initial_prompt PROMPT_TEXT; --output_format txt; -o OUTPUT_FOLDER; --מודל MODEL_TO_USE; --משימה TRANSCRIBE/TRANSLATE; --שפה EN/EL
יצירת ה-GUI עם AutoHotkey
אנו מציעים לך לפצל את הסקריפט שלך לקטעים באמצעות הערות כמו שעשינו כדי לשמור על מאורגן. נתחיל בהגדרת כמה משתנים, נמשיך ל-GUI בפועל ונסיים בהגדרת הפונקציות שלו.
נתחיל בסעיף בו נגדיר משתנים שאולי נרצה לשנות בעתיד, אך לא לעתים קרובות כל כך שנרצה לחשוף אותם דרך ה-GUI, ולסבך אותו יתר על המידה. אתה יכול להקליד "Variable_Name = תוכן או ערך של המשתנה" עם משתנה וזוג ערכים אחד בכל שורה.
עבור פרויקט זה, הגדרנו א פורמט פלט משתנה שהגדרנו ל"טקסט"ערך וא WhisperExecutable ציון משתנה שם קובץ ההפעלה של Whisper. בדרך זו, אם נרצה להשתמש באותו פתרון בעתיד כדי ליצור קבצי כתוביות SRT במקום מסמכי TXT או שדרוג ללחוש/לעבור לאפליקציה חלופית, נוכל להתאים את הערכים של המשתנים האלה באותו נקודה בודדת במקום לאורך תַסרִיט.
OutputFormat = txtWhisperExecutable = לחישה
הגדרת אפשרויות המשתמש
בעת שימוש ב-Whisker בשורת הפקודה, שלושה מהדגלים שלה מאפשרים לך להגדיר:
- אם אתה עושה תִרגוּם אוֹ תַעֲתוּק
- קובץ השמע שפה
- השפה דֶגֶם אתה רוצה להשתמש (זמינים גדלים שונים, כל אחד משפיע על הביצועים לעומת איכות התוצאות).
הדרך הקלה ביותר להציע את אותה פונקציונליות באמצעות GUI היא באמצעות רשימות נפתחות בדוקות. התחביר להוספת רשימה נפתחת ל-AutoHotkey GUI הוא כדלקמן:
Gui, Add, DropDownList, xPosition yPosition wWidth hHeight vVariable_that_will_hold_selected_value, optionA|optionB|default_optionC||optionD|
בהתבסס על זה, בואו נוסיף שלוש רשימות נפתחות לתסריט שלנו לבחירת השפה של Whisper (בין אנגלית/en ויוונית/אל), דגם (קטן, בסיס, קטן, בינוני, גדול) וסוג משימה (תמלול או לתרגם).
Gui, Add, DropDownList, x5 y5 w165 h50 vSelectedLanguage, en||el
Gui, Add, DropDownList, x175 y5 w165 h100 vSelectedModel, זעיר|בסיס|קטן||בינוני|גדול|
Gui, Add, DropDownList, x345 y5 w165 h100 vTaskType, תמלול||תרגם|
כדי להגדיר אפשרות כבחירת ברירת המחדל, השתמש בסמל צינור כפול ("|") אחריה. אתה יכול לראות שבדוגמה שלנו, הגדרנו את השפה שלנו ל he, SelectedModel ל קָטָן, ו-TaskType אל לְתַעֲתֵק.
איך להדריך Whisper
מכיוון ש-Whisper מבוססת בינה מלאכותית, אין דרך לקבל שליטה מוחלטת על האופן שבו Whisper מתמלל אודיו. זה חופשי לבחור מה הוא מחשיב אופטימלי.
עם זאת, כמו פתרונות AI אחרים, Whisper יכול לקבל הנחיות משתמשים. על ידי יצירת הנחיה, אתה יכול "להדריך" כיצד היא מתמללת את האודיו שלך.
האם הפתרון שאנו מייצרים לא הצליח לתמלל משהו כהלכה? אתה יכול לנסות "להסביר" ללחוש "על מה הקובץ הקולי", כולל התחביר של מילים, ראשי תיבות וביטויים בהנחיה שלך כפי שאתה רוצה שהם יופיעו בתמלול. לשם כך, נוסיף שדה AutoHotkey Text Edit.
התחביר אינו שונה מדי ממה שהשתמשנו להוספת רשימות נפתחות לעיל:
Gui, Add, Edit, x5 w505 h400 vPromptText, %PromptText%
ה-"%PromptText%" בסוף "אומר" ל-AHK להציג את התוכן של המשתנה PromptText (אם כבר הוקצה לו ערך) בתוך שדה הטקסט. זה לא יראה שום דבר בסקריפט שאנחנו יוצרים, אבל ראה שזה מציין מיקום עבור כאשר אתה בסופו של דבר לצבוט את הסקריפט בעתיד גם כדי לשמור ולטעון הנחיות!
האם תעדיף להקצות ערך מוגדר מראש ל- PromptText מִשְׁתַנֶה? הוסף משהו כמו הבא ל- משתנים קטע של התסריט. זכור להחליף את "שמך" בשמך האמיתי.
PromptText = תמלול ההערות של שמך
הגדרת כפתורי הפעולה
לבחירת קבצים, תיקיות והפעלת Whisper לאחר שהגדרנו הכל, עדיף להשתמש בכפתורים. אתה יכול להוסיף לחצנים לממשק מתוצרת AHK באמצעות הדברים הבאים:
Gui, Add, Button, xPosition yPosition wWidth hHeight gFunction_To_Perform, Button Text
שימו לב שבניגוד למשתנים ברכיבי GUI, שמתחילים באות "v", שמות פונקציות מתחילים ב-"g", עבור "עבור (לנקודה זו של הסקריפט)".
כפתור בודד של ממשק AHK יכול להיחשב גם כ"ברירת המחדל", אשר יופעל אם לא תלחץ בשום מקום על ה-GUI ותלחץ להיכנס. זה מוגדר על ידי הוספת "בְּרִירַת מֶחדָל" בקטע קואורדינטות ופונקציות, כפי שתבחין בכפתור "אישור" שלנו:
Gui, Add, Button, x5 w505 h50 gSelectFile, לִטעוֹן FileGui, לְהוֹסִיף, לחצן, x5 w505 h50 gSelectFolder, בחרתְפוּקָה תיקיה
Gui, Add, Button, בְּרִירַת מֶחדָל x5 w505 h50 gButtonSubmit, בסדר
עם האמור לעיל, אנו מגדירים שלושה כפתורים:
- אחד שכותרתו "טען קובץ" שכאשר תלחץ עליו, יפעיל את ה בחר קובץ פוּנקצִיָה.
- אחד שכותרתו "בחר תיקיית פלט", אשר יפעיל את בחר תיקייה פוּנקצִיָה.
- אחד שכותרתו "בסדר", נבחר כברירת מחדל, "קורא" ל ButtonSubmit פוּנקצִיָה.
כיצד להציג את ה-GUI שלך
ה-GUI שלנו מוכן אבל לא יופיע על המסך שלנו כי לא "אמרנו" ל-AutoHotkey להציג אותו או מה כל כפתור צריך לעשות.
לשם כך, הוסף את שתי השורות הבאות מתחת לאלו שמגדירות את ה-GUI שלך:
Gui, ShowReturn
השורה הראשונה "אומרת" ל-AHK להציג את החלון של ה-GUI, בעוד שהשנייה מסמנת את סוף הקטע.
הפונקציות והפונקציונליות של האפליקציה שלנו
למרות שהשלמנו את קטע ה-GUI, אם תנסה להפעיל את הסקריפט, הוא יקרוס. זה בגלל שאנחנו מתייחסים לפונקציות לא קיימות בו. אז, הצעד הבא שלנו הוא ליצור את הפונקציות האלה.
שלושת הפונקציות שאנו רוצים הן:
- בחר קובץ קלט.
- בחר את תיקיית הפלט שבה יאוחסן הקובץ המתועתק.
- צור פקודה ש"תרכיב" את כל המשתנים לפקודת Whisper שמישה, בדומה למה שהיינו מקלידים בעצמנו בטרמינל, ואז הפעל אותה.
בחירת קובץ קלט
הפונקציה הראשונה, שכבר קראנו לה "בחר קובץ"כאשר הוספנו את הכפתור שלו ל-GUI, הוא:
בחר קובץ:FileSelectFile, SelectedFileReturn
FileSelectFile היא פונקציה AutoHotkey המציגה מבקש קבצים טיפוסי, המאפשרת למשתמש לבחור קובץ. SelectedFile הוא המשתנה בסקריפט שלנו ש"יחזיק" את הנתיב לקובץ שהמשתמש בחר.
עם זאת, כפי שתראה בצילומי המסך שלנו, הוספנו גם את השורה הבאה ממש מעל ה"חזרה" שמסיימת את הפונקציה:
MsgBox, %SelectedFile%
זה יציג AHK א תיבת הודעות עם הקובץ שנבחר לאחר שבחרנו בו, וזה שימושי בעת פתרון בעיות בסקריפט שלך. אם תיבת הודעה זו מציגה את הנתיב והשם של הקובץ שבחרת, לא הלחצן או הפונקציה לבחירת הקבצים שלך דורשים תיקון.
בחירת תיקיות פלט
הפונקציה לבחירת תיקיה כמעט זהה, כאשר רק שם הפקודה והמשתנה משתנים, כדי להראות שיש לנו עסק עם תיקיות במקום קבצים:
SelectFolder: FileSelectFolder, SelectedFolderMsgBox, %SelectedFolder%לַחֲזוֹר
הפונקציה הסופית
הפונקציה הסופית תהיה המסובכת ביותר. ממופה ללחצן אישור, זה "יאסוף" את כל ערכי המשתנים מה-GUI, יהפוך אותם לפקודה שמישה ואז יפעיל אותה.
נתחיל בציון ההתחלה והסוף של הפונקציה:
ButtonSubmit:לַחֲזוֹר
כדי "לתפוס" את כל ערכי ה-GUI, הוסף את הדברים הבאים תחת ButtonSubmit קַו:
Gui Submit, nohide
השורה הבאה יוצרת משתנה חדש בשם "WhisperFlags". לאחר מכן הוא מוסיף לו את כל המשתנים של ה-GUI כדגלים לפקודה Whisper.
WhisperFlags = --initial_prompt "%PromptText%" --task %TaskType% --מודל %SelectedModel% --language %SelectedLanguage% --output_format %OutputFormat% -o "%SelectedFolder%""%SelectedFile%"
לאחר מכן, "נגיד" ל-AHK להשתמש במסוף ברירת המחדל (CMD.exe) כדי להפעיל את קובץ ההפעלה של Whisper (שהגדרנו עם WhisperExecutable משתנה) עם המשתנים של ה-GUI (שעכשיו "מורכבים" בסינגל WhisperFlags מִשְׁתַנֶה).
RunWait, cmd.exe /c %WhisperExecutable% %WhisperFlags%
לפתרון בעיות קל עוד יותר, הוספנו גם msgbox, כמו קודם, אך גם הוספנו את השורה הבאה:
לוח = %WhisperExecutable% %WhisperFlags%
זה יועתק ל- לוח כתיבה הפקודה המלאה שהונפקה ל-CMD. לכן, אם משהו נכשל, במקום לראות את הפקודה רק באחת מתיבות ההודעות של AHK, היא תהיה זמינה גם בלוח שלך.
פתח מסוף, הדבק את הפקודה מהלוח ובדוק את השגיאות שצצות כדי לאתר בעיות אפשריות.
לדוגמה, במהלך העבודה על התסריט, שכחתי בתחילה לכלול את ההנחיה בתוך מרכאות. לפיכך, הפקודה נכשלה, שכן Whisper ניסה לנתח את ההנחיה כדגלים.
בדיקות ושינויים אחרונים
זה היה זה - זה עתה יצרנו אפליקציית תמלול תוך שימוש ביכולות ייצור GUI של AutoHotkey ופתרון תמלול AI מוכן לשימוש.
נסה להריץ את הסקריפט שלך (לחץ פעמיים על הקובץ שלו), ואתה אמור לראות את ה-GUI שלך על המסך.
- שנה את ההגדרות של Whisper באמצעות הרשימות הנפתחות בחלק העליון.
- הקלד תיאור קצר של התמלול שלך (וכמה מונחים) ב- מיידי שדה.
- לחץ על טען קובץ לחצן ובחר את קובץ האודיו שברצונך לתמלל.
- לחץ על בחר תיקיית פלט לחצן ובחר היכן יש לאחסן את קובץ הטקסט שהופק.
- לחץ על בסדר כדי לשחרר את Whisper, כפי שהוגדר על ידי ה-GUI שלך, בקובץ האודיו שבחרת, ולשמור את התמלול שלו כקובץ טקסט בתיקייה שבחרת.
אם הכל עבד, חזור לסקריפט שלך ומחק או הגיבי (על ידי הוספת ";" בתחילתם) את כל פונקציונליות פתרון הבעיות (תיבות הודעות ושורות העתקה ללוח).
לוקחים את Whisper הלאה עם AutoHotkey
על ידי הגדרה נכונה של ערכי ברירת המחדל של ה-GUI שלך ואולי הוספת הנחיה כללית, אתה יכול להפוך את Whisper ל- פתרון שלוש קליקים לתמלול: אין לשלם עבור פתרונות מסחריים, שירותי צד שלישי, התעסקות עם ממשקים מסובכים, או הקלדה בטרמינל.