НачатьНачать бесплатно

Загрузка данных WAV

При работе с нестандартными данными в Dask bags вам придётся писать многие функции самостоятельно. В этом задании вы анализируете аудиоданные, поэтому вам нужна собственная функция для их загрузки.

Некоторые аудиозаписи оказались повреждены — в них нет звука. Обычные аудиоданные выглядят как волна с большими положительными и отрицательными значениями амплитуды. Чтобы проверить, является ли запись беззвучной, достаточно убедиться, что амплитуда в ней очень мала.

Модуль scipy.io.wavfile импортирован в вашу среду как wavfile, а numpy — как np.

Это упражнение является частью курса

Параллельное программирование с Dask на Python

Посмотреть курс

Инструкции к упражнению

  • Внутри функции load_wav() используйте wavfile.read() для загрузки аудиоданных и частоты дискретизации.
  • Внутри load_wav() сформируйте возвращаемый словарь.
  • Внутри функции not_silent() верните булево значение, указывающее, превышает ли среднее абсолютное значение массива 'audio' во входном словаре число 100 — используйте для этого функции abs() и mean() из numpy.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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 ____
Редактировать и запускать код