JES bietet grundlegende Unterstützung für die Tonbearbeitung, aber Sie können es verwenden, um einige nützliche Aufgaben auszuführen.

JES ist ein Programm, mit dem Sie Bilder, Töne und Videos programmgesteuert ändern können. JES verfügt über viele integrierte Funktionen und Debugging-Tools, die Ihnen beim Erlernen der Jython-Sprache helfen.

Wenn Sie eine Datei mit JES importieren, können Sie ihre Schallwellen in einem separaten Fenster visuell untersuchen. Sie können auch die Amplitudenwerte dieser Schallwellen an bestimmten Punkten manipulieren. Dies kann Ihnen helfen, die Sounddatei zu bearbeiten, um verschiedene Effekte zu erzielen.

So ändern Sie die Lautstärke eines Soundclips

Wenn du Rendern Sie ein Bild in JESkönnen Sie auf die darin enthaltenen einzelnen Pixel zugreifen. Sie können bestimmte erreichen Bildverarbeitungstechniken durch Bearbeiten der roten, grünen und blauen Farbwerte für jedes Pixel.

In ähnlicher Weise enthält eine Sounddatei viele einzelne "Samples", die kleine Stücke von Sounddaten sind. Sie können einen importierten Sound bearbeiten, indem Sie den Amplitudenwert bei jedem Sample ändern.

instagram viewer

Der in diesem Projekt verwendete Code ist in diesem verfügbar GitHub-Repository unter der MIT-Lizenz.

  1. Öffnen Sie die JES-Anwendung auf Ihrem Computer.
  2. Erstellen Sie eine neue Funktion namens changeVolume(), die die Lautstärke, zu der Sie wechseln möchten, als Eingabe übernimmt:
    defLautstärke ändern(Vol.):
  3. Öffnen Sie innerhalb der Funktion eine Eingabeaufforderung, um den Benutzer aufzufordern, eine gültige Sounddatei auszuwählen. Obwohl JES nicht mit MP3-Dateien kompatibel ist, können Sie dennoch WAV-Dateien importieren. Fügen Sie eine Validierung hinzu, um sicherzustellen, dass die Datei kompatibel ist:
    file = pickAFile() 

    Wenn Datei != KeinerUnd file.endswith(".wav"):
    # Code für gültige Datei
    anders:
    drucken("Ungültige Datei ausgewählt. Bitte wählen Sie eine gültige WAV-Datei.")

  4. Wenn die ausgewählte Datei gültig ist, erstellen Sie daraus ein Soundobjekt:
    sound = makeSound (Datei)
  5. Durchlaufen Sie jedes Sample des Sounds:
    für ich In Bereich(0, getLength (Ton)):
  6. Überprüfen Sie, ob der Benutzer bestanden hat hoch in die Funktion, um die Lautstärke lauter zu stellen. Wenn dies der Fall ist, rufen Sie den Beispielwert an diesem Index mit der integrierten Funktion getSampleValueAt() ab. Erhöhen Sie die Lautstärke, indem Sie die Amplitude verdoppeln, und verwenden Sie setSampleValueAt(), um den neuen Wert festzulegen:
    Wenn vol == 'hoch':
    sampleVal = getSampleValueAt (Ton, i)
    setSampleValueAt (sound, i, sampleVal * 2)
  7. Überprüfen Sie, ob der Benutzer bestanden hat runter in die Funktion, um die Lautstärke leiser zu machen. Wenn dies der Fall ist, erhalten Sie den Abtastwert an diesem Index und teilen Sie ihn stattdessen durch 2, um die Amplitude zu verringern:
    Wenn vol == 'runter':
    sampleVal = getSampleValueAt (Ton, i)
    setSampleValueAt (sound, i, sampleVal / 2)
  8. Verwenden Sie die Funktion explore(), um das Explorer-Fenster für den Sound zu öffnen:
    erkunden (Ton)
  9. Klick auf das Programm laden Schaltfläche, die sich zwischen dem Programmierbereich und der Befehlszeile befindet. Speichern Sie die Datei, wenn Sie dazu aufgefordert werden:
  10. Führen Sie die Funktion changeVolume() in der Befehlszeile aus und übergeben Sie "up" als Argument an die Funktion:
    changeVolume("up")
  11. Navigieren Sie im Datei-Explorer-Fenster zu einer gültigen Sounddatei:
  12. Klick auf das Gesamten Sound abspielen Schaltfläche über das neue Fenster:
  13. Führen Sie in der Befehlszeile erneut changeVolume() mit dem Wert „down“ als Argument aus und wählen Sie eine Datei aus:
    changeVolume("down")
  14. Im Explorer-Fenster sehen Sie, dass die Schallwellen kleiner sind. Klick auf das Gesamten Sound abspielen Schaltfläche über das neue Fenster:

So kehren Sie einen Soundclip um

Sie können einen Sound umkehren, indem Sie einen neuen leeren Sound erstellen und jedes Sample des Originalsounds in umgekehrter Reihenfolge in den neuen Sound kopieren.

  1. Fordern Sie in einer neuen Funktion den Benutzer auf, eine WAV-Datei auszuwählen, und überprüfen Sie, ob die Datei gültig ist:
    defreverseSound():
    file = pickAFile()

    Wenn Datei != KeinerUnd file.endswith(".wav"):
    # Code für gültige Datei
    anders:
    drucken("Ungültige Datei ausgewählt. Bitte wählen Sie eine gültige WAV-Datei.")

  2. Erstellen Sie ein neues Soundobjekt aus der ausgewählten Datei:
    sound = makeSound (Datei) 
  3. Verwenden Sie die integrierte Funktion makeEmptySound(), um ein neues leeres Soundobjekt zu erstellen. Dieser besteht aus der gleichen Anzahl von Samples wie der Originalton. Der Amplitudenwert für jedes Sample ist 0:
    newReversedSound = makeEmptySound (getLength (Ton))
  4. Durchlaufen Sie jedes Sample des neuen leeren Soundobjekts:
    für ich In Bereich(0, getLength (newReversedSound)):
  5. Holen Sie sich für jedes Sample an diesem Punkt das Sample am anderen Ende des Sounds. Wenn die Sample-Länge beispielsweise 100 beträgt und der aktuelle Index 0 ist, wird der Sample-Wert bei Index 99 abgerufen. Wenn der aktuelle Index 3 ist, wird der Beispielwert auf ähnliche Weise bei Index 96 abgerufen:
    sampleVal = getSampleValueAt (Ton, getLength (Ton) - 1 - ich)
  6. Kopieren Sie den Sample-Wert vom anderen Ende des Sounds zum aktuellen Index des neuen Sounds:
    setSampleValueAt (newReversedSound, i, sampleVal)
  7. Entdecken Sie den neuen umgekehrten Sound. Zu Vergleichszwecken können Sie auch den Originalton erkunden:
    erkunden (Ton)
    erkunden (newReversedSound)
  8. Klick auf das Programm laden Schaltfläche, die sich zwischen dem Programmierbereich und der Befehlszeile befindet. Speichern Sie die Datei, wenn Sie dazu aufgefordert werden.
  9. Führen Sie die Funktion über die Befehlszeile aus:
    reverseSound()
  10. Zeigen Sie den Originalton und den umgekehrten Ton mit den Explorer-Fenstern an. Klick auf das Gesamten Sound abspielen Taste, um die Unterschiede zu hören:

So verbinden Sie zwei Soundclips miteinander

Um zwei Soundclips zusammenzufügen, können Sie den Benutzer bitten, zwei separate WAV-Dateien auszuwählen. Kopieren Sie jedes Sample beider Sounds auf das neue Soundobjekt.

  1. Erstellen Sie eine neue Funktion namens joinSounds():
    defjoinSounds():
  2. Verwenden Sie die Funktion pickAFile(), um den Benutzer aufzufordern, die erste Datei auszuwählen. Wenn es ungültig ist, geben Sie eine Fehlermeldung aus:
    file1 = pickAFile()

    Wenn Datei1 == Keinerodernicht file1.endswith(".wav"):
    drucken("Ungültige Datei ausgewählt. Bitte wählen Sie eine gültige WAV-Datei.")

  3. Verwenden Sie die Funktion pickAFile() erneut, um den Benutzer nach einer zweiten gültigen Sounddatei zu fragen:
    file2 = pickAFile() 

    Wenn Datei2 == Keinerodernicht file2.endswith(".wav"):
    drucken("Ungültige Datei ausgewählt. Bitte wählen Sie eine gültige WAV-Datei.")

  4. Erstellen Sie zwei Soundobjekte aus den beiden ausgewählten Sounddateien:
    sound1 = makeSound (Datei1) 
    sound2 = makeSound (Datei2)
  5. Addieren Sie die Längen der beiden Sounds, um die Länge des neu verbundenen Sounds zu berechnen. Erstellen Sie ein neues leeres Klangobjekt mit der Länge:
    newSoundLength = getLength (sound1) + getLength (sound2)
    joinSound = makeEmptySound (newSoundLength)
  6. Loop durch jedes Sample des ersten Sounds. Kopieren Sie den Sample-Wert an jedem Index auf den neuen Sound:
    für ich In Bereich(0, getLength (sound1)):
    sampleVal = getSampleValueAt (sound1, i)
    setSampleValueAt (joinedSound, i, sampleVal)
  7. Durchlaufen Sie jedes Sample des zweiten Sounds. Kopieren Sie den Sample-Wert an jedem Index nach dem ersten Sound in den neuen Sound:
    für ich In Bereich(0, getLength (sound2)):
    sampleVal = getSampleValueAt (sound2, i)
    endOfFirstSound = getLength (sound1) - 1
    setSampleValueAt (joinedSound, endOfFirstSound + i, sampleVal)
  8. Untersuchen Sie den Sound mit der Funktion explore():
    erkunden (joinedSound)
  9. Klick auf das Programm laden Schaltfläche, die sich zwischen dem Programmierbereich und der Befehlszeile befindet. Speichern Sie die Datei, wenn Sie dazu aufgefordert werden.
  10. Führen Sie die Funktion über die Befehlszeile aus:
    joinSounds()
  11. Sehen Sie sich den verbundenen Sound im neuen Fenster an und klicken Sie auf Gesamten Sound abspielen Taste, um den Ton zu hören:

Importieren und Bearbeiten von Sounddateien mit JES

Jetzt wissen Sie, wie Sie Sounddateien importieren und mit JES bearbeiten. Es gibt so viele andere integrierte Funktionen, die JES zu bieten hat, die Ihnen eine noch fortgeschrittenere Klangbearbeitung ermöglichen.

Sie können mehr über die anderen verfügbaren Funktionen erfahren, indem Sie das Hilfefenster von JES verwenden.