CommencerCommencer gratuitement

Charger des données wav

Pour travailler avec des données non standard avec des Dask bags, vous devrez écrire vous-même de nombreuses fonctions. Dans cette tâche, vous analysez des données audio et avez donc besoin d’une fonction personnalisée pour les charger.

Certaines des prises audio ont échoué, et l’enregistrement est silencieux dans ces cas. 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 contrôler si le clip audio a des amplitudes globalement 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.

Cet exercice fait partie du cours

Programmation parallèle avec Dask en Python

Afficher le cours

Instructions

  • 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 renvoyé.
  • Dans la fonction not_silent(), retournez un booléen indiquant si le tableau 'audio' contenu dans le 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 cet exemple de code.

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