Aan de slagBegin gratis

WAV-data laden

Om met niet-standaard gegevens te werken met Dask bags, moet je veel functies zelf schrijven. In deze taak analyseer je audiogegevens, dus heb je een eigen functie nodig om ze te laden.

Sommige geluidsopnamen zijn mislukt en bevatten stilte. Normale audiogegevens zien eruit als een golf, waarbij de amplitude naar grote positieve en negatieve waarden gaat. Om te controleren of een opname stil is, kun je daarom nagaan of het fragment over het geheel genomen heel kleine amplitudes heeft.

De module scipy.io.wavfile is in je omgeving geïmporteerd als wavfile, en numpy als np.

Deze oefening maakt deel uit van de cursus

Parallel programmeren met Dask in Python

Bekijk cursus

Oefeninstructies

  • Gebruik binnen de functie load_wav() wavfile.read() om de audiogegevens en bemonsteringsfrequentie te laden.
  • Stel binnen load_wav() de geretourneerde dictionary samen.
  • Laat in de functie not_silent() een boolean teruggeven of de 'audio'-array in de invoer-dictionary een gemiddelde absolute waarde groter dan 100 heeft, met numpy’s abs()- en mean()-functies.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 bewerken en uitvoeren