JES a un support de base pour l'édition sonore, mais vous pouvez l'utiliser pour effectuer certaines tâches utiles.
JES est un programme qui vous permet de modifier des images, des sons et des vidéos par programmation. JES possède de nombreuses fonctions intégrées et des outils de débogage pour vous aider à apprendre le langage Jython.
Lors de l'importation d'un fichier à l'aide de JES, vous pouvez examiner visuellement ses ondes sonores à l'aide d'une fenêtre distincte. Vous pouvez également manipuler les valeurs d'amplitude de ces ondes sonores à des points spécifiques. Cela peut vous aider à éditer le fichier son pour obtenir différents effets.
Comment changer le volume d'un clip audio
Lorsque vous rendre une image dans JES, vous pouvez accéder aux pixels individuels qu'il contient. Vous pouvez atteindre certains techniques de traitement d'images en modifiant les valeurs de couleur rouge, vert et bleu pour chaque pixel.
De même, un fichier son contient de nombreux "échantillons" individuels qui sont de petits morceaux de données sonores. Vous pouvez éditer un son importé en changeant la valeur d'amplitude à chaque échantillon.
Le code utilisé dans ce projet est disponible dans ce Dépôt GitHub sous licence MIT.
- Ouvrez l'application JES sur votre ordinateur.
- Créez une nouvelle fonction appelée changeVolume(), qui prend en entrée le volume que vous souhaitez modifier :
définitivementchangerVolume(vol.):
- Dans la fonction, ouvrez une invite pour demander à l'utilisateur de sélectionner un fichier son valide. Bien que JES ne soit pas compatible avec les fichiers mp3, vous pouvez toujours importer des fichiers WAV. Ajoutez une validation pour vous assurer que le fichier est compatible :
fichier = choisirUnFichier()
si fichier != Aucunet fichier.endswith(".wav"):
# Code pour un fichier valide
autre:
imprimer("Fichier sélectionné invalide. Veuillez choisir un fichier WAV valide.") - Si le fichier sélectionné est valide, créez un objet son à partir de celui-ci :
sound = makeSound (fichier)
- Bouclez sur chaque échantillon du son :
pour je dans gamme(0, getLength (son)):
- Vérifiez si l'utilisateur a réussi en haut dans la fonction pour augmenter le volume. Si tel est le cas, récupérez la valeur de l'échantillon à cet index à l'aide de la fonction intégrée getSampleValueAt(). Augmentez le volume en doublant l'amplitude et utilisez setSampleValueAt() pour définir la nouvelle valeur :
si volume == 'en haut':
sampleVal = getSampleValueAt (son, je)
setSampleValueAt (son, i, sampleVal * 2) - Vérifiez si l'utilisateur a réussi bas dans la fonction pour rendre le volume plus doux. Si c'est le cas, obtenez la valeur de l'échantillon à cet indice et divisez-la par 2 à la place, pour réduire l'amplitude :
si volume == 'bas':
sampleVal = getSampleValueAt (son, je)
setSampleValueAt (son, i, sampleVal / 2) - Utilisez la fonction explore() pour ouvrir la fenêtre d'exploration du son :
explorer (son)
- Clique sur le Charger le programme situé entre la zone de programmation et la ligne de commande. Enregistrez le fichier si vous y êtes invité :
- Exécutez la fonction changeVolume() sur la ligne de commande, en passant "up" comme argument à la fonction :
changeVolume("up")
- À l'aide de la fenêtre de l'explorateur de fichiers, accédez à un fichier audio valide :
- Clique sur le Lire tout le son bouton en utilisant la nouvelle fenêtre :
- Dans la ligne de commande, exécutez à nouveau changeVolume() avec la valeur "down" comme argument, et sélectionnez un fichier :
changeVolume("bas")
- Dans la fenêtre de l'explorateur, vous verrez que les ondes sonores sont plus petites. Clique sur le Lire tout le son bouton en utilisant la nouvelle fenêtre :
Comment inverser un clip audio
Vous pouvez inverser un son en créant un nouveau son vide et en copiant chaque échantillon du son original dans le nouveau son dans l'ordre inverse.
- Dans une nouvelle fonction, invitez l'utilisateur à sélectionner un fichier WAV, et vérifiez que le fichier est valide :
définitivementson inversé():
fichier = choisirUnFichier()si fichier != Aucunet fichier.endswith(".wav"):
# Code pour un fichier valide
autre:
imprimer("Fichier sélectionné invalide. Veuillez choisir un fichier WAV valide.") - Créez un nouvel objet son à partir du fichier sélectionné :
sound = makeSound (fichier)
- Utilisez la fonction intégrée makeEmptySound() pour créer un nouvel objet son vide. Celui-ci sera composé du même nombre d'échantillons que le son d'origine. La valeur d'amplitude pour chaque échantillon sera 0 :
newReversedSound = makeEmptySound (getLength (son))
- Bouclez sur chaque échantillon du nouvel objet son vide :
pour je dans gamme(0, getLength (nouveauSonReversé)):
- Pour chaque échantillon à ce point, obtenez l'échantillon à l'extrémité opposée du son. Par exemple, si la longueur de l'échantillon est de 100 et que l'index actuel est de 0, cela obtiendra la valeur de l'échantillon à l'index 99. De même, si l'index actuel est 3, cela obtiendra la valeur de l'échantillon à l'index 96 :
sampleVal = getSampleValueAt (son, getLength (son) - 1 - je)
- Copiez la valeur de l'échantillon de l'autre extrémité du son vers l'index actuel du nouveau son :
setSampleValueAt (newReversedSound, i, sampleVal)
- Découvrez le nouveau son inversé. Vous pouvez également explorer le son original à des fins de comparaison :
explorer (son)
explorer (nouveauReversedSound) - Clique sur le Charger le programme situé entre la zone de programmation et la ligne de commande. Enregistrez le fichier si vous y êtes invité.
- Exécutez la fonction à l'aide de la ligne de commande :
son inverse()
- Visualisez le son d'origine et le son inversé à l'aide des fenêtres de l'explorateur. Clique sur le Lire tout le son bouton pour entendre les différences :
Comment joindre deux clips audio ensemble
Pour joindre deux clips audio ensemble, vous pouvez demander à l'utilisateur de sélectionner deux fichiers WAV distincts. Copiez chaque échantillon des deux sons sur le nouvel objet sonore.
- Créez une nouvelle fonction appelée joinSounds() :
définitivementjoinSounds():
- Utilisez la fonction pickAFile() pour inviter l'utilisateur à sélectionner le premier fichier. S'il n'est pas valide, imprimez un message d'erreur :
fichier1 = choisirUnFichier()
si fichier1 == Aucunoupas fichier1.endswith(".wav"):
imprimer("Fichier sélectionné invalide. Veuillez choisir un fichier WAV valide.") - Utilisez à nouveau la fonction pickAFile() pour demander à l'utilisateur un deuxième fichier son valide :
fichier2 = choisirUnFichier()
si fichier2 == Aucunoupas fichier2.endswith(".wav"):
imprimer("Fichier sélectionné invalide. Veuillez choisir un fichier WAV valide.") - Créez deux objets son à partir des deux fichiers son sélectionnés :
sound1 = makeSound (fichier1)
sound2 = makeSound (fichier2) - Additionnez les longueurs des deux sons pour calculer la longueur du nouveau son joint. Créez un nouvel objet son vide en utilisant la longueur :
newSoundLength = getLength (son1) + getLength (son2)
joinSound = makeEmptySound (newSoundLength) - Boucle à travers chaque échantillon du premier son. Copiez la valeur de l'échantillon à chaque index sur le nouveau son :
pour je dans gamme(0, getLength (son1)):
sampleVal = getSampleValueAt (son1, je)
setSampleValueAt (joinedSound, i, sampleVal) - Boucle à travers chaque échantillon du second son. Copiez la valeur de l'échantillon à chaque index sur le nouveau son, après le premier son :
pour je dans gamme(0, getLength (son2)):
sampleVal = getSampleValueAt (son2, je)
endOfFirstSound = getLength (son1) - 1
setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal) - Explorez le son à l'aide de la fonction explore() :
explorer (jointedSound)
- Clique sur le Charger le programme situé entre la zone de programmation et la ligne de commande. Enregistrez le fichier si vous y êtes invité.
- Exécutez la fonction à l'aide de la ligne de commande :
joinSounds()
- Affichez le son joint à l'aide de la nouvelle fenêtre et cliquez sur le Lire tout le son bouton pour entendre le son :
Importation et édition de fichiers audio à l'aide de JES
Vous comprenez maintenant comment importer des fichiers audio et les éditer à l'aide de JES. Il y a tellement d'autres fonctions intégrées que JES a à offrir, qui vous permettront de faire une édition sonore encore plus avancée.
Vous pouvez en savoir plus sur les autres fonctions disponibles à l'aide de la fenêtre d'aide de JES.