CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Dans la fonction load_wav(), utilisez wavfile.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 fonctions abs() et mean() de numpy.

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 ____
Modifier et exécuter le code