Charger des données wav
Pour travailler avec des données non standard à l'aide des Dask bags, vous devrez écrire vous-même plusieurs fonctions. Dans cette tâche, vous analysez des données audio, donc vous avez besoin d'une fonction personnalisée pour les charger.
Certaines des enregistrements audio ont échoué et sont silencieux. Des données audio normales ressemblent à une onde, où l'amplitude prend de grandes valeurs positives et négatives. Ainsi, pour vérifier si un enregistrement est silencieux, vous pouvez voir si l'extrait audio a, dans l'ensemble, des amplitudes très faibles.
Le module scipy.io.wavfile a été importé dans votre environnement sous le nom wavfile, et numpy a été importé sous le nom np.
Cette activité fait partie du cours
Programmation parallèle avec Dask en Python
Instructions de l’exercice
- Dans la fonction
load_wav(), utilisezwavfile.read()pour charger les données audio et la fréquence d'échantillonnage. - Dans
load_wav(), construisez le dictionnaire retourné. - Dans la fonction
not_silent(), retournez un booléen indiquant si le tableau'audio'à l'intérieur du dictionnaire d'entrée a une valeur absolue moyenne supérieure à 100, en utilisant les fonctionsabs()etmean()denumpy.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 ____