Kom igångKom igång gratis

Läsa in wav-data

För att arbeta med icke-standardiserad data i Dask bags behöver du skriva många funktioner själv. I den här uppgiften analyserar du ljuddata, och du behöver därför en egen funktion för att läsa in den.

En del av ljudinspelningarna misslyckades och är tysta. Vanlig ljuddata ser ut som en våg, där amplituden växlar mellan stora positiva och negativa värden. För att kontrollera om en inspelning är tyst kan du därför undersöka om ljudklippets amplituder överlag är mycket små.

Modulen scipy.io.wavfile har importerats till din miljö som wavfile, och numpy har importerats som np.

Den här övningen är en del av kursen

Parallellprogrammering med Dask i Python

Visa kurs

Övningsinstruktioner

  • Använd wavfile.read() inuti funktionen load_wav() för att läsa in ljuddata och samplingsfrekvens.
  • Bygg upp det returnerade dictionaryt inuti load_wav().
  • Returnera ett booleskt värde inuti funktionen not_silent() som anger om arrayen 'audio' i det inkommande dictionaryt har ett medelvärde av absolutvärden som är större än 100 – använd abs()- och mean()-funktionerna från numpy.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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 ____
Redigera och kör kod