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
Istruzioni dell'esercizio
- All'interno della funzione
load_wav(), usawavfile.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 funzioniabs()emean()dinumpy.
esercizio interattivo pratico
Prova questo esercizio completando questo 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 ____