JES palaiko pagrindinį garso redagavimo palaikymą, tačiau galite jį naudoti kai kurioms naudingoms užduotims atlikti.
JES yra programa, leidžianti programiškai keisti vaizdus, garsus ir vaizdo įrašus. JES turi daug integruotų funkcijų ir derinimo įrankių, padedančių išmokti Jython kalbos.
Importuodami failą naudodami JES, galite vizualiai ištirti jo garso bangas naudodami atskirą langą. Taip pat galite manipuliuoti šių garso bangų amplitudės reikšmėmis tam tikruose taškuose. Tai gali padėti redaguoti garso failą, kad gautumėte skirtingus efektus.
Kaip pakeisti garso klipo garsumą
Kada tu atvaizduokite JES, galite pasiekti atskirus jame esančius pikselius. Galite pasiekti tam tikrų vaizdo apdorojimo būdai redaguodami kiekvieno pikselio raudonos, žalios ir mėlynos spalvos reikšmes.
Panašiai garso faile yra daug atskirų „pavyzdžių“, kurie yra maži garso duomenų fragmentai. Galite redaguoti importuotą garsą keisdami kiekvieno pavyzdžio amplitudės reikšmę.
Šiame projekte naudotą kodą rasite čia „GitHub“ atpirkimas pagal MIT licenciją.
- Kompiuteryje atidarykite JES programą.
- Sukurkite naują funkciją, pavadintą changeVolume(), kuri kaip įvestį paima norimą pakeisti garsumą:
defkeistiTimumas(t.):
- Funkcijoje atidarykite raginimą paprašyti vartotojo pasirinkti tinkamą garso failą. Nors JES nesuderinamas su mp3 failais, vis tiek galite importuoti WAV failus. Pridėkite šiek tiek patvirtinimo, kad įsitikintumėte, jog failas yra suderinamas:
failas = pickAFile()
jeigu failas != Nė vienasir file.endswith(".wav"):
# Tinkamo failo kodas
Kitas:
spausdinti ("Pasirinktas netinkamas failas. Pasirinkite tinkamą WAV failą.) - Jei pasirinktas failas yra tinkamas, sukurkite iš jo garso objektą:
garsas = makeSound (failas)
- Peržiūrėkite kiekvieną garso pavyzdį:
dėl i in diapazonas(0, getLength (garsas)):
- Patikrinkite, ar vartotojas išlaikė aukštyn į funkciją, kad padidintumėte garsumą. Jei taip, gaukite to indekso pavyzdžio vertę naudodami įtaisytąją getSampleValueAt() funkciją. Padidinkite garsumą padvigubindami amplitudę ir naudokite setSampleValueAt(), kad nustatytumėte naują reikšmę:
jeigu tomas == 'aukštyn':
sampleVal = getSampleValueAt (garsas, i)
setSampleValueAt (garsas, i, sampleVal * 2) - Patikrinkite, ar vartotojas išlaikė žemyn į funkciją, kad garsumas būtų švelnesnis. Jei taip, gaukite šio indekso imties vertę ir padalykite ją iš 2, kad sumažintumėte amplitudę:
jeigu tomas == 'žemyn':
sampleVal = getSampleValueAt (garsas, i)
setSampleValueAt (garsas, i, sampleVal / 2) - Norėdami atidaryti garso naršyklės langą, naudokite funkciją explore():
tyrinėti (garsas)
- Spustelėkite ant Įkelti programą mygtuką, esantį tarp programavimo srities ir komandinės eilutės. Išsaugokite failą, jei būsite paraginti:
- Komandinėje eilutėje paleiskite funkciją changeVolume(), perduodant "aukštyn" kaip argumentą funkcijai:
changeVolume ("aukštyn")
- Naudodami failų naršyklės langą eikite į tinkamą garso failą:
- Spustelėkite ant Groti visą garsą mygtuką naudodami naują langą:
- Komandinėje eilutėje dar kartą paleiskite ChangeVolume() naudodami argumentą „down“ ir pasirinkite failą:
changeVolume ("žemyn")
- Naršyklės lange pamatysite, kad garso bangos yra mažesnės. Spustelėkite ant Groti visą garsą mygtuką naudodami naują langą:
Kaip pakeisti garso klipą
Galite pakeisti garsą, sukurdami naują tuščią garsą ir nukopijuodami kiekvieną originalaus garso pavyzdį į naują garsą atvirkštine tvarka.
- Naujoje funkcijoje paraginkite vartotoją pasirinkti WAV failą ir patikrinkite, ar failas galioja:
defatvirkštinis garsas():
failas = pickAFile()jeigu failas != Nė vienasir file.endswith(".wav"):
# Tinkamo failo kodas
Kitas:
spausdinti ("Pasirinktas netinkamas failas. Pasirinkite tinkamą WAV failą.) - Sukurkite naują garso objektą iš pasirinkto failo:
garsas = makeSound (failas)
- Norėdami sukurti naują tuščią garso objektą, naudokite integruotą makeEmptySound() funkciją. Jį sudarys toks pat pavyzdžių skaičius kaip ir originalus garsas. Kiekvieno mėginio amplitudės reikšmė bus 0:
newReversedSound = makeEmptySound (getLength (garsas))
- Peržiūrėkite kiekvieną naujo tuščio garso objekto pavyzdį:
dėl i in diapazonas(0, getLength (newReversedSound)):
- Kiekvienam pavyzdžiui tuo momentu gaukite pavyzdį priešingame garso gale. Pavyzdžiui, jei imties ilgis yra 100, o dabartinis indeksas yra 0, imties reikšmė bus 99. Panašiai, jei dabartinis indeksas yra 3, imties reikšmė bus 96:
sampleVal = getSampleValueAt (garsas, getLength (garsas) - 1 -i)
- Nukopijuokite mėginio reikšmę iš kito garso galo į dabartinį naujo garso indeksą:
setSampleValueAt (newReversedSound, i, sampleVal)
- Išbandykite naują atvirkštinį garsą. Taip pat galite ištirti originalų garsą palyginimo tikslais:
tyrinėti (garsas)
tyrinėti (naujas ReversedSound) - Spustelėkite ant Įkelti programą mygtuką, esantį tarp programavimo srities ir komandinės eilutės. Išsaugokite failą, jei būsite paraginti.
- Paleiskite funkciją naudodami komandinę eilutę:
atvirkštinis garsas ()
- Peržiūrėkite originalų ir atvirkštinį garsą naudodami naršyklės langus. Spustelėkite ant Groti visą garsą mygtuką, kad išgirstumėte skirtumus:
Kaip sujungti du garso klipus kartu
Norėdami sujungti du garso įrašus, galite paprašyti vartotojo pasirinkti du atskirus WAV failus. Nukopijuokite kiekvieną abiejų garsų pavyzdį į naują garso objektą.
- Sukurkite naują funkciją, pavadintą joinSounds ():
defjoinSounds():
- Naudokite funkciją pickAFile(), kad paraginti vartotoją pasirinkti pirmąjį failą. Jei jis neteisingas, išspausdinkite klaidos pranešimą:
failas1 = pickAFile()
jeigu failas1 == Nė vienasarbane file1.endswith(".wav"):
spausdinti ("Pasirinktas netinkamas failas. Pasirinkite tinkamą WAV failą.) - Dar kartą naudokite funkciją pickAFile() ir paprašykite vartotojo antrojo tinkamo garso failo:
file2 = pickAFile()
jeigu failas2 == Nė vienasarbane file2.endswith(".wav"):
spausdinti ("Pasirinktas netinkamas failas. Pasirinkite tinkamą WAV failą.) - Sukurkite du garso objektus iš dviejų pasirinktų garso failų:
sound1 = makeSound (failas1)
sound2 = makeSound (failas2) - Sudėkite dviejų garsų ilgius, kad apskaičiuotumėte naujo sujungto garso ilgį. Sukurkite naują tuščią garso objektą naudodami ilgį:
newSoundLength = getLength (garsas1) + getLength (garsas2)
joinedSound = makeEmptySound (newSoundLength) - Peržiūrėkite kiekvieną pirmojo garso pavyzdį. Nukopijuokite kiekvieno indekso pavyzdžio vertę į naują garsą:
dėl i in diapazonas(0, getLength (sound1)):
sampleVal = getSampleValueAt (sound1, i)
setSampleValueAt (joinedSound, i, sampleVal) - Pereikite per kiekvieną antrojo garso pavyzdį. Nukopijuokite kiekvieno indekso pavyzdžio vertę į naują garsą po pirmojo garso:
dėl i in diapazonas(0, getLength (2 garsas)):
sampleVal = getSampleValueAt (sound2, i)
endOfFirstSound = getLength (sound1) - 1
setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal) - Naršykite garsą naudodami funkciją explore():
tyrinėti (joinedSound)
- Spustelėkite ant Įkelti programą mygtuką, esantį tarp programavimo srities ir komandinės eilutės. Išsaugokite failą, jei būsite paraginti.
- Paleiskite funkciją naudodami komandinę eilutę:
joinSounds ()
- Naujame lange peržiūrėkite sujungtą garsą ir spustelėkite Groti visą garsą mygtukas, kad išgirstumėte garsą:
Garso failų importavimas ir redagavimas naudojant JES
Dabar jūs suprantate, kaip importuoti garso failus ir juos redaguoti naudojant JES. JES siūlo tiek daug kitų integruotų funkcijų, kurios leis atlikti dar sudėtingesnį garso redagavimą.
Daugiau apie kitas galimas funkcijas galite sužinoti naudodami JES pagalbos langą.