Загрузка данных 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 ____