LoslegenKostenlos loslegen

WAV-Daten laden

Um mit beliebigen, nicht standardisierten Daten in Dask Bags zu arbeiten, musst du viele Funktionen selbst schreiben. In dieser Aufgabe analysierst du Audiodaten und brauchst dafür eine eigene Funktion zum Laden.

Bei einigen Audioaufnahmen ist etwas schiefgelaufen, die Tonspur ist dort stumm. Normale Audiodaten sehen wie eine Welle aus, bei der die Amplitude stark in positive und negative Werte ausschlägt. Um zu prüfen, ob eine Aufnahme stumm ist, kannst du also testen, ob der Audioclip insgesamt sehr kleine Amplituden hat.

Das Modul scipy.io.wavfile wurde als wavfile und numpy als np importiert.

Diese Übung ist Teil des Kurses

Parallele Programmierung mit Dask in Python

Kurs anzeigen

Anleitung zur Übung

  • Verwende in der Funktion load_wav() wavfile.read(), um die Audiodaten und die Abtastrate zu laden.
  • Baue in load_wav() das zurückgegebene Dictionary zusammen.
  • Gib in der Funktion not_silent() einen booleschen Wert zurück, der angibt, ob das 'audio'-Array im Eingabe-Dictionary einen mittleren Absolutwert größer als 100 hat. Verwende dafür numpy-Funktionen abs() und mean().

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

def load_wav(filename):
    # Load in the audio data
    sampling_freq, audio = ____
    
    # Add the filename, audio data, and sampling frequency to the dictionary
    data_dict = {
        'filename': ____,
        'audio': ____,
        'sample_frequency': ____,
    }
    return data_dict

def not_silent(data_dict):
    # Check if the audio data is silent
    return ____
Code bearbeiten und ausführen