מישהו מכיר תוכנה שמגדילה את עוצמת הקול של קבצי קול WAV?
-
הנה סקריפט שכתבתי עכשיו בסיוע chatGPT שמבצע הגברה לכל קבצי ה WAV שבתיקיה מסוימת ותתי התיקיות שלה ואז יוצר תיקיה בשם output בתיקיית השורש (היחסית) ובתוכה עץ התיקיות המקורי עם כל הקבצים החדשים בפנים
שים לב לכמה דברים:
א. יש להפעיל את הסקריפט מתוך התיקיה שבתוכה קבצי ה WAV
ב. הסקריפט משתמש בספריה בשם audioop שהיא ספריה bulid-in אבל היא תוסר בגרסה 3.13 של פייתון
ג. אם בעץ התיקיות המקורי היו קבצים שהם לא קבצים wav או קבצי wav פגומים או סתם כאלו שההגברה לא צלחה עליהם, הם לא יהיו בתיקיה החדשה שתיווצר (תיקיית ה output)
ד. אני מאמין שיש דרכים טובות יותר לעשות הגברה לקבצי שמע תוך מזעור הפגיעה באיכות
ה. הסקריפט מגביר פי 1.5, אפשר לשנות את הערך הזה בקוד של הסקריפט (המשתנה volume_factor) והתקייה שעליה הסקריפט רץ היא ה WD שלו (נמצא במשתנה input_folder בקוד)import os import wave import audioop def increase_volume(input_file, output_file, factor): with wave.open(input_file, 'rb') as input_wav: params = input_wav.getparams() frames = input_wav.readframes(params.nframes) increased_frames = audioop.mul(frames, params.sampwidth, factor) with wave.open(output_file, 'wb') as output_wav: output_wav.setparams(params) output_wav.writeframes(increased_frames) def process_files(input_folder, volume_factor): for root, dirs, files in os.walk(input_folder): for file in files: if file.endswith('.wav'): input_path = os.path.join(root, file) output_path = os.path.join("output", root, file) os.makedirs(os.path.dirname(output_path), exist_ok=True) increase_volume(input_path, output_path, volume_factor) input_folder = '.' volume_factor = 1.5 process_files(input_folder, volume_factor)
-
@קומפיונט כתב במישהו מכיר תוכנה שמגדילה את עוצמת הקול של קבצי קול WAV?:
אני רק מוסיף שמה ש @אף-אחד-3 כתב זה מגביר את העוצמת שמע בעוצמה קבועה, כדי להגביר בצורה אוטומטית עד שיגיע לסף של 0db צריך ל'נרמל' את השמע, יש לזה פונקציה מיוחדת שנקראת
normalize
.לא כל כך הבנתי מה זה אומר
תוכל להסביר? -
@אף-אחד-3 אם תיקח סתם קובץ שמע, שיר לדוגמא, ותבצע לו את ההגברה עם הסקריפט, מה שיקרה זה שחלק מהמידע (מה שעובר את ה 0db) בשיר יאבד, קוראים לזה בהגדרה המקצועית 'clipping, לכן הדרך הנכונה להגביר קובץ שמע שקט זה באמצעות נירמול, שזה אומר להגביר את כל הקובץ בעוצמה קבועה אבל בלי שהעוצמה בשום חלק מהשיר תעבור את ה 0db.