Wczytywanie danych WAV
Aby przetwarzać niestandardowe dane przy użyciu worków Dask, często trzeba samodzielnie pisać funkcje. W tym zadaniu analizujesz dane audio, dlatego potrzebujesz własnej funkcji do ich wczytywania.
Niektóre nagrania audio są uszkodzone – brak w nich dźwięku. Prawidłowe dane audio mają kształt fali, w której amplituda przyjmuje duże wartości dodatnie i ujemne. Aby sprawdzić, czy nagranie jest ciche, możesz zweryfikować, czy amplitudy w całym klipie są bardzo małe.
Moduł scipy.io.wavfile został zaimportowany do środowiska jako wavfile, a numpy jako np.
To ćwiczenie jest częścią kursu
Programowanie równoległe z Dask w Pythonie
Instrukcje do ćwiczenia
- Wewnątrz funkcji
load_wav()użyjwavfile.read(), aby wczytać dane audio i częstotliwość próbkowania. - Wewnątrz
load_wav()zbuduj zwracany słownik. - Wewnątrz funkcji
not_silent()zwróć wartość logiczną określającą, czy średnia wartość bezwzględna tablicy'audio'w podanym słowniku jest większa niż 100 – użyj do tego funkcjiabs()imean()z bibliotekinumpy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ____