ל-JES יש תמיכה בסיסית לעריכת סאונד, אבל אתה יכול להשתמש בה כדי לבצע כמה משימות שימושיות.

JES היא תוכנית המאפשרת לך לשנות תמונות, צלילים וסרטונים באופן תוכנתי. ל-JES יש הרבה פונקציות מובנות וכלי איתור באגים כדי לעזור לך ללמוד את שפת Jython.

כאשר מייבאים קובץ באמצעות JES, ניתן לבחון את גלי הקול שלו באופן ויזואלי, באמצעות חלון נפרד. אתה יכול גם לתפעל את ערכי המשרעת של גלי קול אלה בנקודות ספציפיות. זה יכול לעזור לך לערוך את קובץ הקול כדי להשיג אפקטים שונים.

כיצד לשנות את עוצמת הקול של קליפ קול

כאשר אתה עיבוד תמונה ב-JES, תוכל לגשת לפיקסלים הבודדים שהוא מכיל. אתה יכול להשיג מסוימות טכניקות עיבוד תמונה על ידי עריכת ערכי הצבע האדום, הירוק והכחול עבור כל פיקסל.

באופן דומה, קובץ קול מכיל "דגימות" בודדות רבות שהן פיסות קטנות של נתוני קול. אתה יכול לערוך צליל מיובא על ידי שינוי ערך המשרעת בכל דגימה.

הקוד המשמש בפרויקט זה זמין בזה ריפו של GitHub תחת רישיון MIT.

  1. פתח את אפליקציית JES במחשב שלך.
  2. צור פונקציה חדשה בשם changeVolume(), שמקבלת את אמצעי האחסון שאליו ברצונך לשנות כקלט:
    defשינוי נפח(כרך):
  3. בתוך הפונקציה, פתח הנחיה כדי לבקש מהמשתמש לבחור קובץ קול חוקי. למרות ש-JES אינו תואם לקבצי mp3, אתה עדיין יכול לייבא קבצי WAV. הוסף אימות מסוים כדי לוודא שהקובץ תואם:
    instagram viewer
    file = pickAFile() 

    אם קובץ != אף אחדו file.endswith(".wav"):
    # קוד לקובץ חוקי
    אַחֵר:
    הדפס("נבחר קובץ לא חוקי. אנא בחר קובץ WAV חוקי.")

  4. אם הקובץ שנבחר חוקי, צור ממנו אובייקט קול:
    sound = makeSound (קובץ)
  5. עברו בלולאה דרך כל דגימה של הצליל:
    ל אני ב טווח(0, getLength (צליל):
  6. בדוק אם המשתמש עבר לְמַעלָה לתוך הפונקציה להגביר את עוצמת הקול. אם כן, קבל את ערך המדגם באותו אינדקס באמצעות הפונקציה המובנית getSampleValueAt(). הגדל את עוצמת הקול על ידי הכפלת המשרעת, והשתמש ב-setSampleValueAt() כדי להגדיר את הערך החדש:
    אם כרך == 'לְמַעלָה':
    sampleVal = getSampleValueAt (צליל, i)
    setSampleValueAt (סאונד, i, sampleVal * 2)
  7. בדוק אם המשתמש עבר מטה לתוך הפונקציה כדי להפוך את עוצמת הקול לרכה יותר. אם כן, קבל את ערך המדגם באותו אינדקס, וחלק אותו ב-2 במקום זאת, כדי להפחית את המשרעת:
    אם כרך == 'מטה':
    sampleVal = getSampleValueAt (צליל, i)
    setSampleValueAt (סאונד, i, sampleVal / 2)
  8. השתמש בפונקציה explore() כדי לפתוח את חלון הסייר עבור הצליל:
    לחקור (צליל)
  9. הקלק על ה טען תוכנית לחצן, הממוקם בין אזור התכנות לשורת הפקודה. שמור את הקובץ אם תתבקש:
  10. הפעל את הפונקציה changeVolume() בשורת הפקודה, העברת "למעלה" כארגומנט לפונקציה:
    changeVolume("למעלה")
  11. באמצעות חלון סייר הקבצים, נווט אל קובץ קול חוקי:
  12. הקלק על ה הפעל את כל הסאונד כפתור באמצעות החלון החדש:
  13. בשורת הפקודה, הפעל שוב את ה-changeVolume() עם הערך "down" כארגומנט, ובחר קובץ:
    changeVolume("למטה")
  14. בחלון הסייר תראה שגלי הקול קטנים יותר. הקלק על ה הפעל את כל הסאונד כפתור באמצעות החלון החדש:

כיצד להפוך קליפ קול

אתה יכול להפוך צליל על ידי יצירת צליל ריק חדש והעתקת כל דגימה של הצליל המקורי לצליל החדש בסדר הפוך.

  1. בפונקציה חדשה, בקש מהמשתמש לבחור קובץ WAV ולבדוק שהקובץ חוקי:
    defreverseSound():
    file = pickAFile()

    אם קובץ != אף אחדו file.endswith(".wav"):
    # קוד לקובץ חוקי
    אַחֵר:
    הדפס("נבחר קובץ לא חוקי. אנא בחר קובץ WAV חוקי.")

  2. צור אובייקט קול חדש מהקובץ שנבחר:
    sound = makeSound (קובץ) 
  3. השתמש בפונקציה המובנית makeEmptySound() כדי ליצור אובייקט קול ריק חדש. זה יהיה מורכב מאותו מספר דגימות כמו הצליל המקורי. ערך המשרעת עבור כל דגימה יהיה 0:
    newReversedSound = makeEmptySound (getLength (סאונד))
  4. עברו בלולאה בכל דגימה של אובייקט הצליל הריק החדש:
    ל אני ב טווח(0, getLength (newReversedSound)):
  5. עבור כל דגימה באותה נקודה, קבל את הדגימה בקצה הנגדי של הצליל. לדוגמה, אם אורך המדגם הוא 100, והאינדקס הנוכחי הוא 0, זה יקבל את ערך המדגם באינדקס 99. באופן דומה, אם המדד הנוכחי הוא 3, זה יקבל את ערך המדגם במדד 96:
    sampleVal = getSampleValueAt (סאונד, getLength (סאונד) - 1 - אני)
  6. העתק את ערך הדגימה מהקצה השני של הצליל לאינדקס הנוכחי של הצליל החדש:
    setSampleValueAt (newReversedSound, i, sampleVal)
  7. חקור את הצליל ההפוך החדש. אתה יכול גם לחקור את הצליל המקורי למטרות השוואה:
    לחקור (צליל)
    חקור (newReversedSound)
  8. הקלק על ה טען תוכנית לחצן, הממוקם בין אזור התכנות לשורת הפקודה. שמור את הקובץ אם תתבקש.
  9. הפעל את הפונקציה באמצעות שורת הפקודה:
    reverseSound()
  10. הצג את הצליל המקורי ואת הצליל ההפוך באמצעות חלונות הסייר. הקלק על ה הפעל את כל הסאונד כפתור לשמוע את ההבדלים:

כיצד לחבר שני קטעי סאונד ביחד

כדי לחבר שני קטעי קול יחד, אתה יכול לבקש מהמשתמש לבחור שני קבצי WAV נפרדים. העתק כל דגימה של שני הצלילים אל אובייקט הצליל החדש.

  1. צור פונקציה חדשה בשם joinSounds():
    defjoinSounds():
  2. השתמש בפונקציה pickAFile() כדי לבקש מהמשתמש לבחור את הקובץ הראשון. אם הוא לא חוקי, הדפס הודעת שגיאה:
    file1 = pickAFile()

    אם file1 == אף אחדאוֹלֹא file1.endswith(".wav"):
    הדפס("נבחר קובץ לא חוקי. אנא בחר קובץ WAV חוקי.")

  3. השתמש שוב בפונקציה pickAFile() כדי לבקש מהמשתמש קובץ קול חוקי שני:
    file2 = pickAFile() 

    אם file2 == אף אחדאוֹלֹא file2.endswith(".wav"):
    הדפס("נבחר קובץ לא חוקי. אנא בחר קובץ WAV חוקי.")

  4. צור שני אובייקטי קול משני קובצי הקול שנבחרו:
    sound1 = makeSound (קובץ1) 
    sound2 = makeSound (קובץ2)
  5. הוסף את אורכי שני הצלילים יחד כדי לחשב את אורך הצליל החדש המצורף. צור אובייקט קול ריק חדש באמצעות האורך:
    newSoundLength = getLength (sound1) + getLength (sound2)
    joinedSound = makeEmptySound (newSoundLength)
  6. עברו בלולאה דרך כל דגימה של הצליל הראשון. העתק את ערך הדגימה בכל אינדקס לצליל החדש:
    ל אני ב טווח(0, getLength (סאונד1)):
    sampleVal = getSampleValueAt (sound1, i)
    setSampleValueAt (joinedSound, i, sampleVal)
  7. עברו בלולאה דרך כל דגימה של הצליל השני. העתק את ערך הדגימה בכל אינדקס אל הצליל החדש, לאחר הצליל הראשון:
    ל אני ב טווח(0, getLength (סאונד2)):
    sampleVal = getSampleValueAt (sound2, i)
    endOfFirstSound = getLength (סאונד1) - 1
    setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal)
  8. חקור את הצליל באמצעות הפונקציה explore():
    לחקור (הצטרף לסאונד)
  9. הקלק על ה טען תוכנית לחצן, הממוקם בין אזור התכנות לשורת הפקודה. שמור את הקובץ אם תתבקש.
  10. הפעל את הפונקציה באמצעות שורת הפקודה:
    joinSounds()
  11. הצג את הצליל המצורף באמצעות החלון החדש, ולחץ על הפעל את כל הסאונד כפתור כדי לשמוע את הצליל:

ייבוא ​​ועריכה של קבצי קול באמצעות JES

כעת אתה מבין כיצד לייבא קבצי קול ולערוך אותם באמצעות JES. יש כל כך הרבה פונקציות מובנות אחרות שיש ל-JES להציע, שיאפשרו לך לבצע עריכת סאונד מתקדמת עוד יותר.

תוכל ללמוד עוד על הפונקציות האחרות הזמינות באמצעות חלון העזרה של JES.