IniziaInizia gratis

Caricare dati wav

Per lavorare con dati non standard usando i Dask bag, dovrai scrivere molte funzioni personalizzate. In questo esercizio stai analizzando dati audio, quindi ti serve una funzione ad hoc per caricarli.

Alcune registrazioni audio non sono riuscite e risultano mute. I dati audio “normali” assomigliano a un’onda, in cui l’ampiezza assume valori positivi e negativi anche molto grandi. Perciò, per verificare se una registrazione è muta, puoi controllare se il clip audio ha ampiezze complessivamente molto piccole.

Il modulo scipy.io.wavfile è stato importato nell’ambiente come wavfile e numpy è stato importato come np.

Questo esercizio fa parte del corso

Programmazione parallela con Dask in Python

Visualizza il corso

Istruzioni dell'esercizio

  • All'interno della funzione load_wav(), usa wavfile.read() per caricare i dati audio e la frequenza di campionamento.
  • All'interno di load_wav(), costruisci il dizionario da restituire.
  • All'interno della funzione not_silent(), restituisci un booleano che indichi se l'array 'audio' dentro il dizionario in input ha un valore assoluto medio maggiore di 100, usando le funzioni abs() e mean() di numpy.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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 ____
Modifica ed esegui il codice