JES има основна поддръжка за редактиране на звук, но можете да го използвате за извършване на някои полезни задачи.
JES е програма, която ви позволява да променяте програмно изображения, звуци и видеоклипове. JES има много вградени функции и инструменти за отстраняване на грешки, които да ви помогнат да научите езика Jython.
Когато импортирате файл с помощта на JES, можете да прегледате неговите звукови вълни визуално, като използвате отделен прозорец. Можете също да манипулирате стойностите на амплитудата на тези звукови вълни в определени точки. Това може да ви помогне да редактирате звуковия файл, за да постигнете различни ефекти.
Как да промените силата на звука на звуков клип
Когато ти изобразете изображение в JES, можете да получите достъп до отделните пиксели, които съдържа. Можете да постигнете определени техники за обработка на изображения чрез редактиране на стойностите на червения, зеления и синия цвят за всеки пиксел.
По същия начин звуковият файл съдържа много индивидуални "проби", които са малки парчета звукови данни. Можете да редактирате импортиран звук, като промените стойността на амплитудата на всяка проба.
Кодът, използван в този проект, е достъпен в това GitHub репо под лиценза на MIT.
- Отворете приложението JES на вашия компютър.
- Създайте нова функция, наречена changeVolume(), която приема обема, който искате да промените, като вход:
дефchangeVolume(обем):
- Вътре във функцията отворете подкана, за да помолите потребителя да избере валиден звуков файл. Въпреки че JES не е съвместим с mp3 файлове, все още можете да импортирате WAV файлове. Добавете малко валидиране, за да сте сигурни, че файлът е съвместим:
файл = pickAFile()
ако файл!= Нито едини file.endswith(".wav"):
# Код за валиден файл
друго:
печат („Избран е невалиден файл. Моля, изберете валиден WAV файл.") - Ако избраният файл е валиден, създайте звуков обект от него:
звук = makeSound (файл)
- Прегледайте всяка проба от звука:
за аз в диапазон (0, getLength (звук)):
- Проверете дали потребителят е преминал нагоре във функцията за увеличаване на звука. Ако е така, вземете примерната стойност при този индекс, като използвате вградената функция getSampleValueAt(). Увеличете силата на звука, като удвоите амплитудата, и използвайте setSampleValueAt(), за да зададете новата стойност:
ако обем == "нагоре":
sampleVal = getSampleValueAt (звук, i)
setSampleValueAt (звук, i, sampleVal * 2) - Проверете дали потребителят е преминал надолу във функцията, за да направите звука по-мек. Ако е така, вземете примерната стойност при този индекс и вместо това я разделете на 2, за да намалите амплитудата:
ако обем == "надолу":
sampleVal = getSampleValueAt (звук, i)
setSampleValueAt (звук, i, sampleVal / 2) - Използвайте функцията explore(), за да отворите прозореца на Explorer за звука:
изследвам (звук)
- Кликнете върху Заредете програма бутон, разположен между областта за програмиране и командния ред. Запазете файла, ако бъдете подканени:
- Стартирайте функцията changeVolume() на командния ред, като подадете "up" като аргумент на функцията:
changeVolume("нагоре")
- Използвайки прозореца на файловия мениджър, отидете до валиден звуков файл:
- Кликнете върху Възпроизвеждане на целия звук бутон чрез новия прозорец:
- В командния ред стартирайте changeVolume() отново със стойността "down" като аргумент и изберете файл:
changeVolume("надолу")
- В прозореца на изследователя ще видите, че звуковите вълни са по-малки. Кликнете върху Възпроизвеждане на целия звук бутон чрез новия прозорец:
Как да обърнете звуков клип
Можете да обърнете звук, като създадете нов празен звук и копирате всяка семпла от оригиналния звук в новия звук в обратен ред.
- В нова функция подканете потребителя да избере WAV файл и проверете дали файлът е валиден:
дефобратен звук():
файл = pickAFile()ако файл!= Нито едини file.endswith(".wav"):
# Код за валиден файл
друго:
печат („Избран е невалиден файл. Моля, изберете валиден WAV файл.") - Създайте нов звуков обект от избрания файл:
звук = makeSound (файл)
- Използвайте вградената функция makeEmptySound(), за да създадете нов празен звуков обект. Това ще се състои от същия брой проби като оригиналния звук. Стойността на амплитудата за всяка проба ще бъде 0:
newReversedSound = makeEmptySound (getLength (звук))
- Прегледайте всяка проба от новия празен звуков обект:
за аз в диапазон (0, getLength (newReversedSound)):
- За всяка семпла в тази точка вземете семпла в противоположния край на звука. Например, ако дължината на извадката е 100 и текущият индекс е 0, това ще получи стойността на извадката при индекс 99. По същия начин, ако текущият индекс е 3, това ще получи примерната стойност при индекс 96:
sampleVal = getSampleValueAt (звук, getLength (звук) - 1 - i)
- Копирайте примерната стойност от другия край на звука към текущия индекс на новия звук:
setSampleValueAt (newReversedSound, i, sampleVal)
- Разгледайте новия обърнат звук. Можете също да изследвате оригиналния звук за целите на сравнението:
изследвам (звук)
изследвай (нов ReversedSound) - Кликнете върху Заредете програма бутон, разположен между областта за програмиране и командния ред. Запазете файла, ако бъдете подканени.
- Стартирайте функцията с помощта на командния ред:
обратен звук()
- Вижте оригиналния звук и обърнатия звук с помощта на прозорците на Explorer. Кликнете върху Възпроизвеждане на целия звук бутон, за да чуете разликите:
Как да съедините два звукови клипа заедно
За да свържете два звукови клипа заедно, можете да помолите потребителя да избере два отделни WAV файла. Копирайте всяка проба от двата звука върху новия звуков обект.
- Създайте нова функция, наречена joinSounds():
дефjoinSounds():
- Използвайте функцията pickAFile(), за да подканите потребителя да избере първия файл. Ако е невалиден, отпечатайте съобщение за грешка:
file1 = pickAFile()
ако файл1 == Нито единилине file1.endswith(".wav"):
печат („Избран е невалиден файл. Моля, изберете валиден WAV файл.") - Използвайте отново функцията pickAFile(), за да поискате от потребителя втори валиден звуков файл:
file2 = pickAFile()
ако файл2 == Нито единилине file2.endswith(".wav"):
печат („Избран е невалиден файл. Моля, изберете валиден WAV файл.") - Създайте два звукови обекта от двата избрани звукови файла:
sound1 = makeSound (файл1)
sound2 = makeSound (файл2) - Добавете дължините на двата звука заедно, за да изчислите дължината на новия съединен звук. Създайте нов празен звуков обект, като използвате дължината:
newSoundLength = getLength (звук1) + getLength (звук2)
joinedSound = makeEmptySound (newSoundLength) - Прегледайте всяка проба от първия звук. Копирайте примерната стойност на всеки индекс върху новия звук:
за аз в диапазон (0, getLength (звук1)):
sampleVal = getSampleValueAt (звук1, i)
setSampleValueAt (joinedSound, i, sampleVal) - Прегледайте всяка проба от втория звук. Копирайте примерната стойност на всеки индекс върху новия звук след първия звук:
за аз в диапазон (0, getLength (звук2)):
sampleVal = getSampleValueAt (звук2, i)
endOfFirstSound = getLength (звук1) - 1
setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal) - Изследвайте звука с помощта на функцията explore():
изследвай (присъединил се към звука)
- Кликнете върху Заредете програма бутон, разположен между областта за програмиране и командния ред. Запазете файла, ако бъдете подканени.
- Стартирайте функцията с помощта на командния ред:
joinSounds()
- Вижте съединения звук, като използвате новия прозорец и щракнете върху Възпроизвеждане на целия звук бутон, за да чуете звука:
Импортиране и редактиране на звукови файлове с помощта на JES
Сега разбирате как да импортирате звукови файлове и да ги редактирате с помощта на JES. Има толкова много други вградени функции, които JES може да предложи, които ще ви позволят да извършвате още по-усъвършенствано редактиране на звук.
Можете да научите повече за другите налични функции, като използвате помощния прозорец на JES.