JES má základnú podporu pre úpravu zvuku, ale môžete ju použiť na vykonávanie niektorých užitočných úloh.

JES je program, ktorý vám umožňuje programovo upravovať obrázky, zvuky a videá. JES má veľa vstavaných funkcií a nástrojov na ladenie, ktoré vám pomôžu naučiť sa jazyk Jython.

Pri importe súboru pomocou JES môžete vizuálne preskúmať jeho zvukové vlny pomocou samostatného okna. Môžete tiež manipulovať s hodnotami amplitúdy týchto zvukových vĺn v konkrétnych bodoch. To vám môže pomôcť upraviť zvukový súbor, aby ste dosiahli rôzne efekty.

Ako zmeniť hlasitosť zvukového klipu

Keď ty vykresliť obrázok v JES, môžete pristupovať k jednotlivým pixelom, ktoré obsahuje. Môžete dosiahnuť isté techniky spracovania obrazu úpravou hodnôt červenej, zelenej a modrej farby pre každý pixel.

Podobne aj zvukový súbor obsahuje mnoho individuálnych „vzoriek“, ktoré sú malými kúskami zvukových údajov. Importovaný zvuk môžete upraviť zmenou hodnoty amplitúdy pri každej vzorke.

Kód použitý v tomto projekte je dostupný v tomto Úložisko GitHub pod licenciou MIT.

instagram viewer
  1. Otvorte aplikáciu JES v počítači.
  2. Vytvorte novú funkciu s názvom changeVolume(), ktorá prevezme objem, na ktorý chcete zmeniť, ako vstup:
    defchangeVolume(objem):
  3. Vo vnútri funkcie otvorte výzvu, aby ste používateľa požiadali o výber platného zvukového súboru. Hoci JES nie je kompatibilný so súbormi mp3, stále môžete importovať súbory WAV. Pridajte nejaké overenie, aby ste sa uistili, že súbor je kompatibilný:
    súbor = pickAFile() 

    ak súbor != žiadnea file.endswith(".wav"):
    # Kód platného súboru
    inak:
    vytlačiť ("Vybrali ste neplatný súbor. Vyberte platný súbor WAV.")

  4. Ak je vybratý súbor platný, vytvorte z neho zvukový objekt:
    zvuk = makeSound (súbor)
  5. Slučka cez každú vzorku zvuku:
    pre i v rozsah(0, getLength (zvuk)):
  6. Skontrolujte, či používateľ prešiel hore do funkcie na zvýšenie hlasitosti. Ak áno, získajte hodnotu vzorky na tomto indexe pomocou vstavanej funkcie getSampleValueAt(). Zvýšte hlasitosť zdvojnásobením amplitúdy a pomocou setSampleValueAt() nastavte novú hodnotu:
    ak objem == 'hore':
    sampleVal = getSampleValueAt (zvuk, i)
    setSampleValueAt (zvuk, i, sampleVal * 2)
  7. Skontrolujte, či používateľ prešiel dole do funkcie, aby sa hlasitosť zmiernila. Ak áno, získajte hodnotu vzorky pri tomto indexe a vydeľte ju 2, aby ste znížili amplitúdu:
    ak objem == 'dole':
    sampleVal = getSampleValueAt (zvuk, i)
    setSampleValueAt (zvuk, i, sampleVal / 2)
  8. Pomocou funkcie explore() otvorte okno prieskumníka pre zvuk:
    preskúmať (zvuk)
  9. Klikni na Načítať program tlačidlo, ktoré sa nachádza medzi oblasťou programovania a príkazovým riadkom. Uložte súbor, ak sa zobrazí výzva:
  10. Spustite funkciu changeVolume() na príkazovom riadku a funkcii odovzdajte „hore“ ako argument:
    changeVolume("hore")
  11. Pomocou okna prieskumníka súborov prejdite na platný zvukový súbor:
  12. Klikni na Prehrať celý zvuk pomocou nového okna:
  13. V príkazovom riadku znova spustite changeVolume() s hodnotou „down“ ako argument a vyberte súbor:
    changeVolume("dole")
  14. V okne prieskumníka uvidíte, že zvukové vlny sú menšie. Klikni na Prehrať celý zvuk pomocou nového okna:

Ako prevrátiť zvukový klip

Zvuk môžete obrátiť vytvorením nového prázdneho zvuku a skopírovaním každej vzorky pôvodného zvuku do nového zvuku v opačnom poradí.

  1. V novej funkcii požiadajte používateľa, aby vybral súbor WAV a skontrolujte, či je súbor platný:
    defreverzný zvuk():
    súbor = pickAFile()

    ak súbor != žiadnea file.endswith(".wav"):
    # Kód platného súboru
    inak:
    vytlačiť ("Vybrali ste neplatný súbor. Vyberte platný súbor WAV.")

  2. Vytvorte nový zvukový objekt z vybratého súboru:
    zvuk = makeSound (súbor) 
  3. Pomocou vstavanej funkcie makeEmptySound() vytvorte nový prázdny zvukový objekt. Bude pozostávať z rovnakého počtu vzoriek ako pôvodný zvuk. Hodnota amplitúdy pre každú vzorku bude 0:
    newReversedSound = makeEmptySound (getLength (zvuk))
  4. Slučka cez každú vzorku nového prázdneho zvukového objektu:
    pre i v rozsah(0, getLength (newReversedSound)):
  5. Pre každú vzorku v tomto bode získajte vzorku na opačnom konci zvuku. Napríklad, ak je dĺžka vzorky 100 a aktuálny index je 0, hodnota vzorky bude mať index 99. Podobne, ak je aktuálny index 3, získa sa vzorová hodnota na indexe 96:
    sampleVal = getSampleValueAt (zvuk, getLength (zvuk) - 1 - i)
  6. Skopírujte hodnotu vzorky z druhého konca zvuku do aktuálneho indexu nového zvuku:
    setSampleValueAt (newReversedSound, i, sampleVal)
  7. Preskúmajte nový obrátený zvuk. Môžete tiež preskúmať pôvodný zvuk na účely porovnania:
    preskúmať (zvuk)
    preskúmať (newReversedSound)
  8. Klikni na Načítať program tlačidlo, ktoré sa nachádza medzi oblasťou programovania a príkazovým riadkom. Ak sa zobrazí výzva, uložte súbor.
  9. Spustite funkciu pomocou príkazového riadku:
    reverzny zvuk()
  10. Zobrazte pôvodný zvuk a obrátený zvuk pomocou okien prieskumníka. Klikni na Prehrať celý zvuk tlačidlo, aby ste počuli rozdiely:

Ako spojiť dva zvukové klipy

Ak chcete spojiť dva zvukové klipy, môžete požiadať používateľa, aby vybral dva samostatné súbory WAV. Skopírujte každú vzorku oboch zvukov do nového zvukového objektu.

  1. Vytvorte novú funkciu s názvom joinSounds():
    defjoinSounds():
  2. Pomocou funkcie pickAFile() vyzvete používateľa, aby vybral prvý súbor. Ak je neplatný, vytlačte chybové hlásenie:
    súbor1 = pickAFile()

    ak súbor1 == žiadnealebonie súbor1.endswith(".wav"):
    vytlačiť ("Vybrali ste neplatný súbor. Vyberte platný súbor WAV.")

  3. Znova použite funkciu pickAFile() a požiadajte používateľa o druhý platný zvukový súbor:
    súbor2 = pickAFile() 

    ak súbor2 == žiadnealebonie súbor2.endswith(".wav"):
    vytlačiť ("Vybrali ste neplatný súbor. Vyberte platný súbor WAV.")

  4. Vytvorte dva zvukové objekty z dvoch vybratých zvukových súborov:
    zvuk1 = makeSound (súbor1) 
    zvuk2 = makeSound (súbor 2)
  5. Sčítaním dĺžok dvoch zvukov sa vypočíta dĺžka nového spojeného zvuku. Vytvorte nový prázdny zvukový objekt pomocou dĺžky:
    newSoundLength = getLength (zvuk1) + getLength (zvuk2)
    joinSound = makeEmptySound (newSoundLength)
  6. Slučka cez každú vzorku prvého zvuku. Skopírujte hodnotu vzorky pri každom indexe do nového zvuku:
    pre i v rozsah(0, getLength (zvuk1)):
    sampleVal = getSampleValueAt (zvuk1, i)
    setSampleValueAt (joinedSound, i, sampleVal)
  7. Slučka cez každú vzorku druhého zvuku. Skopírujte hodnotu vzorky pri každom indexe do nového zvuku po prvom zvuku:
    pre i v rozsah(0, getLength (zvuk2)):
    sampleVal = getSampleValueAt (zvuk2, i)
    endOfFirstSound = getLength (zvuk1) - 1
    setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal)
  8. Preskúmajte zvuk pomocou funkcie explore():
    preskúmať (pripojený zvuk)
  9. Klikni na Načítať program tlačidlo, ktoré sa nachádza medzi oblasťou programovania a príkazovým riadkom. Ak sa zobrazí výzva, uložte súbor.
  10. Spustite funkciu pomocou príkazového riadku:
    joinSounds()
  11. Zobrazte spojený zvuk pomocou nového okna a kliknite na Prehrať celý zvuk tlačidlo na počúvanie zvuku:

Import a úprava zvukových súborov pomocou JES

Teraz chápete, ako importovať zvukové súbory a upravovať ich pomocou JES. Existuje toľko ďalších vstavaných funkcií, ktoré JES ponúka, ktoré vám umožnia robiť ešte pokročilejšie úpravy zvuku.

O ďalších dostupných funkciách sa môžete dozvedieť viac pomocou okna pomocníka JES.