JES ma podstawowe wsparcie dla edycji dźwięku, ale możesz go użyć do wykonania kilku przydatnych zadań.
JES to program, który pozwala programowo modyfikować obrazy, dźwięki i filmy. JES ma wiele wbudowanych funkcji i narzędzi do debugowania, które pomogą Ci nauczyć się języka Jython.
Podczas importowania pliku za pomocą JES można wizualnie zbadać jego fale dźwiękowe, korzystając z osobnego okna. Możesz także manipulować wartościami amplitudy tych fal dźwiękowych w określonych punktach. Może to pomóc w edycji pliku dźwiękowego w celu uzyskania różnych efektów.
Jak zmienić głośność klipu dźwiękowego
Kiedy ty renderować obraz w JES, możesz uzyskać dostęp do poszczególnych pikseli, które zawiera. Możesz osiągnąć pewne techniki przetwarzania obrazu edytując wartości koloru czerwonego, zielonego i niebieskiego dla każdego piksela.
Podobnie plik dźwiękowy zawiera wiele pojedynczych „próbek”, które są małymi fragmentami danych dźwiękowych. Możesz edytować zaimportowany dźwięk, zmieniając wartość amplitudy dla każdej próbki.
Kod użyty w tym projekcie jest dostępny w this Repozytorium GitHub na licencji MIT.
- Otwórz aplikację JES na swoim komputerze.
- Utwórz nową funkcję o nazwie changeVolume(), która pobiera wolumin, na który chcesz zmienić jako dane wejściowe:
pokzmień głośność(tom):
- Wewnątrz funkcji otwórz monit, aby poprosić użytkownika o wybranie prawidłowego pliku dźwiękowego. Chociaż JES nie jest kompatybilny z plikami mp3, nadal można importować pliki WAV. Dodaj weryfikację, aby upewnić się, że plik jest zgodny:
plik = pickAFile()
Jeśli plik != NicI plik.kończy się(".wav"):
# Kod dla prawidłowego pliku
w przeciwnym razie:
wydrukować(„Wybrano nieprawidłowy plik. Wybierz poprawny plik WAV.") - Jeśli wybrany plik jest prawidłowy, utwórz z niego obiekt dźwiękowy:
dźwięk = makeSound (plik)
- Przejrzyj w pętli każdą próbkę dźwięku:
Do I W zakres(0, pobierz długość (dźwięk)):
- Sprawdź, czy użytkownik przeszedł w górę w funkcję zwiększania głośności. Jeśli tak, pobierz przykładową wartość dla tego indeksu za pomocą wbudowanej funkcji getSampleValueAt(). Zwiększ głośność, podwajając amplitudę i użyj funkcji setSampleValueAt(), aby ustawić nową wartość:
Jeśli tom == 'w górę':
sampleVal = getSampleValueAt (dźwięk, i)
setSampleValueAt (dźwięk, i, sampleVal * 2) - Sprawdź, czy użytkownik przeszedł w dół w funkcję, aby zmniejszyć głośność. Jeśli tak, pobierz wartość próbki dla tego indeksu i zamiast tego podziel ją przez 2, aby zmniejszyć amplitudę:
Jeśli tom == 'w dół':
sampleVal = getSampleValueAt (dźwięk, i)
setSampleValueAt (dźwięk, i, sampleVal / 2) - Użyj funkcji explore(), aby otworzyć okno eksploratora dźwięku:
eksplorować (dźwięk)
- Kliknij na Załaduj program znajdujący się między obszarem programowania a linią poleceń. Zapisz plik, jeśli pojawi się monit:
- Uruchom funkcję changeVolume() w wierszu poleceń, przekazując „up” jako argument funkcji:
zmień głośność("w górę")
- Korzystając z okna eksploratora plików, przejdź do prawidłowego pliku dźwiękowego:
- Kliknij na Odtwórz cały dźwięk przycisk za pomocą nowego okna:
- W wierszu poleceń uruchom ponownie changeVolume() z wartością „down” jako argumentem i wybierz plik:
changeVolume("w dół")
- W oknie eksploratora zobaczysz, że fale dźwiękowe są mniejsze. Kliknij na Odtwórz cały dźwięk przycisk za pomocą nowego okna:
Jak odwrócić klip dźwiękowy
Możesz odwrócić dźwięk, tworząc nowy pusty dźwięk i kopiując każdą próbkę oryginalnego dźwięku do nowego dźwięku w odwrotnej kolejności.
- W nowej funkcji poproś użytkownika o wybranie pliku WAV i sprawdź, czy plik jest prawidłowy:
pokOdwróć dźwięk():
plik = pickAFile()Jeśli plik != NicI plik.kończy się(".wav"):
# Kod dla prawidłowego pliku
w przeciwnym razie:
wydrukować(„Wybrano nieprawidłowy plik. Wybierz poprawny plik WAV.") - Utwórz nowy obiekt dźwiękowy z wybranego pliku:
dźwięk = makeSound (plik)
- Użyj wbudowanej funkcji makeEmptySound(), aby utworzyć nowy pusty obiekt dźwiękowy. Będzie się to składać z takiej samej liczby sampli jak oryginalny dźwięk. Wartość amplitudy dla każdej próbki wyniesie 0:
newReversedSound = makeEmptySound (getLength (dźwięk))
- Przejrzyj każdą próbkę nowego pustego obiektu dźwiękowego:
Do I W zakres(0, getLength (newReversedSound)):
- Dla każdej próbki w tym punkcie pobierz próbkę na przeciwległym końcu dźwięku. Na przykład, jeśli długość próbki wynosi 100, a bieżący indeks wynosi 0, otrzyma ona wartość próbki o indeksie 99. Podobnie, jeśli bieżący indeks wynosi 3, otrzymamy wartość próbki o indeksie 96:
sampleVal = getSampleValueAt (dźwięk, getLength (dźwięk) - 1 - I)
- Skopiuj wartość próbki z drugiego końca dźwięku do bieżącego indeksu nowego dźwięku:
setSampleValueAt (newReversedSound, i, sampleVal)
- Poznaj nowy odwrócony dźwięk. Możesz także zapoznać się z oryginalnym dźwiękiem w celu porównania:
eksplorować (dźwięk)
eksploruj (nowy dźwięk odwrócony) - Kliknij na Załaduj program znajdujący się między obszarem programowania a linią poleceń. Zapisz plik, jeśli zostaniesz o to poproszony.
- Uruchom funkcję za pomocą wiersza poleceń:
odwróć dźwięk()
- Zobacz oryginalny dźwięk i odwrócony dźwięk za pomocą okien eksploratora. Kliknij na Odtwórz cały dźwięk aby usłyszeć różnice:
Jak połączyć ze sobą dwa klipy dźwiękowe
Aby połączyć ze sobą dwa klipy dźwiękowe, możesz poprosić użytkownika o wybranie dwóch oddzielnych plików WAV. Skopiuj każdą próbkę obu dźwięków do nowego obiektu dźwiękowego.
- Utwórz nową funkcję o nazwie joinSounds():
pokDołącz do dźwięków():
- Użyj funkcji pickAFile(), aby poprosić użytkownika o wybranie pierwszego pliku. Jeśli jest nieprawidłowy, wydrukuj komunikat o błędzie:
plik1 = wybierzPlik()
Jeśli plik1 == NicLubnie plik1.kończy się(".wav"):
wydrukować(„Wybrano nieprawidłowy plik. Wybierz poprawny plik WAV.") - Użyj ponownie funkcji pickAFile(), aby poprosić użytkownika o drugi prawidłowy plik dźwiękowy:
plik2 = wybierzPlik()
Jeśli plik2 == NicLubnie plik2.kończy się(".wav"):
wydrukować(„Wybrano nieprawidłowy plik. Wybierz poprawny plik WAV.") - Utwórz dwa obiekty dźwiękowe z dwóch wybranych plików dźwiękowych:
dźwięk1 = utwórz dźwięk (plik1)
dźwięk2 = utwórz dźwięk (plik2) - Dodaj długości dwóch dźwięków, aby obliczyć długość nowego połączonego dźwięku. Utwórz nowy pusty obiekt dźwiękowy, używając długości:
newDługośćDźwięku = pobierzDługość(dźwięk1) + pobierzDługość(dźwięk2)
joinSound = makeEmptySound (newSoundLength) - Przejrzyj każdą próbkę pierwszego dźwięku. Skopiuj wartość próbki w każdym indeksie do nowego dźwięku:
Do I W zakres(0, pobierz długość (dźwięk1)):
sampleVal = getSampleValueAt (dźwięk1, i)
setSampleValueAt (joinedSound, i, sampleVal) - Przejrzyj każdą próbkę drugiego dźwięku. Skopiuj wartość próbki w każdym indeksie do nowego dźwięku, po pierwszym dźwięku:
Do I W zakres(0, pobierz długość (dźwięk2)):
sampleVal = getSampleValueAt (dźwięk2, i)
endOfFirstSound = getLength (dźwięk1) - 1
setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal) - Eksploruj dźwięk za pomocą funkcji explore():
eksploruj (dołączył dźwięk)
- Kliknij na Załaduj program znajdujący się między obszarem programowania a linią poleceń. Zapisz plik, jeśli zostaniesz o to poproszony.
- Uruchom funkcję za pomocą wiersza poleceń:
dołączDźwięki()
- Wyświetl połączony dźwięk w nowym oknie i kliknij na Odtwórz cały dźwięk przycisk, aby usłyszeć dźwięk:
Importowanie i edytowanie plików dźwiękowych za pomocą JES
Teraz rozumiesz, jak importować pliki dźwiękowe i edytować je za pomocą JES. Jest tak wiele innych wbudowanych funkcji, które JES ma do zaoferowania, które pozwolą Ci na jeszcze bardziej zaawansowaną edycję dźwięku.
Możesz dowiedzieć się więcej o innych dostępnych funkcjach, korzystając z okna pomocy JES.