JES ima osnovno podporo za urejanje zvoka, vendar ga lahko uporabite za izvajanje nekaterih uporabnih nalog.
JES je program, ki vam omogoča programsko spreminjanje slik, zvokov in videoposnetkov. JES ima veliko vgrajenih funkcij in orodij za odpravljanje napak, ki vam pomagajo pri učenju jezika Jython.
Ko uvažate datoteko z uporabo JES, lahko z ločenim oknom vizualno pregledate njene zvočne valove. Prav tako lahko spreminjate vrednosti amplitude teh zvočnih valov na določenih točkah. To vam lahko pomaga pri urejanju zvočne datoteke za doseganje različnih učinkov.
Kako spremeniti glasnost zvočnega posnetka
Ko ti upodobi sliko v JES, lahko dostopate do posameznih slikovnih pik, ki jih vsebuje. Lahko dosežete določene tehnike obdelave slik z urejanjem vrednosti rdeče, zelene in modre barve za vsako slikovno piko.
Podobno zvočna datoteka vsebuje veliko posameznih "vzorcev", ki so majhni koščki zvočnih podatkov. Uvoženi zvok lahko uredite tako, da spremenite vrednost amplitude pri vsakem vzorcu.
Koda, uporabljena v tem projektu, je na voljo tukaj GitHub repo pod licenco MIT.
- V računalniku odprite aplikacijo JES.
- Ustvarite novo funkcijo, imenovano changeVolume(), ki kot vnos sprejme glasnost, ki jo želite spremeniti:
defchangeVolume(zvezek):
- Znotraj funkcije odprite poziv, da uporabnika prosite, naj izbere veljavno zvočno datoteko. Čeprav JES ni združljiv z datotekami mp3, lahko vseeno uvozite datoteke WAV. Dodajte nekaj potrditve, da se prepričate, ali je datoteka združljiva:
datoteka = pickAFile()
če datoteka != Nobenin file.endswith(".wav"):
# Koda za veljavno datoteko
drugače:
natisni(»Izbrana je neveljavna datoteka. Izberite veljavno datoteko WAV.") - Če je izbrana datoteka veljavna, iz nje ustvarite zvočni objekt:
zvok = makeSound (datoteka)
- Preglejte vsak vzorec zvoka:
za jaz v obseg (0, getLength (zvok)):
- Preverite, ali je uporabnik opravil gor v funkcijo za zvišanje glasnosti. Če je tako, pridobite vzorčno vrednost pri tem indeksu z uporabo vgrajene funkcije getSampleValueAt(). Povečajte glasnost s podvojitvijo amplitude in uporabite setSampleValueAt(), da nastavite novo vrednost:
če vol == 'gor':
sampleVal = getSampleValueAt (zvok, i)
setSampleValueAt (zvok, i, sampleVal * 2) - Preverite, ali je uporabnik opravil navzdol v funkcijo za zmanjšanje glasnosti. Če je tako, dobite vrednost vzorca pri tem indeksu in jo namesto tega delite z 2, da zmanjšate amplitudo:
če vol == 'dol':
sampleVal = getSampleValueAt (zvok, i)
setSampleValueAt (zvok, i, sampleVal / 2) - Uporabite funkcijo explore(), da odprete okno raziskovalca za zvok:
raziskovati (zvok)
- Kliknite na Naloži program gumb, ki se nahaja med programskim območjem in ukazno vrstico. Shranite datoteko, če ste pozvani:
- Zaženite funkcijo changeVolume() v ukazni vrstici in funkciji posredujte »up« kot argument:
changeVolume("gor")
- Z oknom raziskovalca datotek se pomaknite do veljavne zvočne datoteke:
- Kliknite na Predvajaj celoten zvok gumb v novem oknu:
- V ukazni vrstici znova zaženite changeVolume() z vrednostjo "down" kot argumentom in izberite datoteko:
changeVolume("down")
- V oknu raziskovalca boste videli, da so zvočni valovi manjši. Kliknite na Predvajaj celoten zvok gumb v novem oknu:
Kako obrniti zvočni posnetek
Zvok lahko obrnete tako, da ustvarite nov prazen zvok in kopirate vsak vzorec izvirnega zvoka v nov zvok v obratnem vrstnem redu.
- V novi funkciji pozovite uporabnika, da izbere datoteko WAV in preveri, ali je datoteka veljavna:
defreverseSound():
datoteka = pickAFile()če datoteka != Nobenin file.endswith(".wav"):
# Koda za veljavno datoteko
drugače:
natisni(»Izbrana je neveljavna datoteka. Izberite veljavno datoteko WAV.") - Ustvari nov zvočni objekt iz izbrane datoteke:
zvok = makeSound (datoteka)
- Uporabite vgrajeno funkcijo makeEmptySound(), da ustvarite nov prazen zvočni objekt. Ta bo sestavljen iz enakega števila vzorcev kot izvirni zvok. Vrednost amplitude za vsak vzorec bo 0:
newReversedSound = makeEmptySound (getLength (zvok))
- Preglejte vsak vzorec novega praznega zvočnega predmeta:
za jaz v obseg (0, getLength (newReversedSound)):
- Za vsak vzorec na tej točki dobite vzorec na nasprotnem koncu zvoka. Na primer, če je dolžina vzorca 100 in je trenutni indeks 0, bo to dobilo vrednost vzorca pri indeksu 99. Podobno, če je trenutni indeks 3, bo to dobilo vrednost vzorca pri indeksu 96:
sampleVal = getSampleValueAt (zvok, getLength (zvok) - 1 - jaz)
- Kopirajte vrednost vzorca z drugega konca zvoka na trenutni indeks novega zvoka:
setSampleValueAt (newReversedSound, i, sampleVal)
- Raziščite nov obrnjen zvok. Prav tako lahko raziščete izvirni zvok za primerjavo:
raziskovati (zvok)
raziskovanje (newReversedSound) - Kliknite na Naloži program gumb, ki se nahaja med programskim območjem in ukazno vrstico. Shranite datoteko, če ste pozvani.
- Zaženite funkcijo z ukazno vrstico:
povratni zvok()
- Oglejte si izvirni zvok in obrnjeni zvok z uporabo oken raziskovalca. Kliknite na Predvajaj celoten zvok gumb, da slišite razlike:
Kako združiti dva zvočna posnetka skupaj
Če želite združiti dva zvočna posnetka, lahko od uporabnika zahtevate, da izbere dve ločeni datoteki WAV. Kopirajte vsak vzorec obeh zvokov na nov zvočni predmet.
- Ustvarite novo funkcijo z imenom joinSounds():
defjoinSounds():
- Uporabite funkcijo pickAFile(), da uporabnika pozovete, naj izbere prvo datoteko. Če ni veljavno, natisnite sporočilo o napaki:
datoteka1 = pickAFile()
če datoteka1 == Nobenozne file1.endswith(".wav"):
natisni(»Izbrana je neveljavna datoteka. Izberite veljavno datoteko WAV.") - Znova uporabite funkcijo pickAFile(), da od uporabnika zahtevate drugo veljavno zvočno datoteko:
datoteka2 = pickAFile()
če datoteka2 == Nobenozne file2.endswith(".wav"):
natisni(»Izbrana je neveljavna datoteka. Izberite veljavno datoteko WAV.") - Ustvari dva zvočna objekta iz dveh izbranih zvočnih datotek:
zvok1 = makeSound (datoteka1)
zvok2 = makeSound (datoteka2) - Seštejte dolžini obeh zvokov, da izračunate dolžino novega združenega zvoka. Ustvarite nov prazen zvočni objekt z dolžino:
newSoundLength = getLength (zvok1) + getLength (zvok2)
joinedSound = makeEmptySound (newSoundLength) - Preglejte vsak vzorec prvega zvoka. Kopirajte vzorčno vrednost pri vsakem indeksu na nov zvok:
za jaz v obseg (0, getLength (zvok1)):
sampleVal = getSampleValueAt (zvok1, i)
setSampleValueAt (joinedSound, i, sampleVal) - Preglejte vsak vzorec drugega zvoka. Kopirajte vrednost vzorca pri vsakem indeksu na nov zvok, za prvim zvokom:
za jaz v obseg (0, getLength (zvok2)):
sampleVal = getSampleValueAt (zvok2, i)
endOfFirstSound = getLength (zvok1) - 1
setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal) - Raziščite zvok s funkcijo explore():
raziskovanje (pridružen zvok)
- Kliknite na Naloži program gumb, ki se nahaja med programskim območjem in ukazno vrstico. Shranite datoteko, če ste pozvani.
- Zaženite funkcijo z ukazno vrstico:
pridruži se zvokom ()
- Oglejte si združeni zvok v novem oknu in kliknite na Predvajaj celoten zvok gumb za poslušanje zvoka:
Uvažanje in urejanje zvočnih datotek z uporabo JES
Zdaj razumete, kako uvoziti zvočne datoteke in jih urejati z JES. JES ponuja toliko drugih vgrajenih funkcij, ki vam bodo omogočile še naprednejše urejanje zvoka.
Več o drugih funkcijah, ki so na voljo, lahko izveste v oknu pomoči JES.