Läsa in wav-data
För att arbeta med icke-standardiserad data i Dask bags behöver du skriva många funktioner själv. I den här uppgiften analyserar du ljuddata, och du behöver därför en egen funktion för att läsa in den.
En del av ljudinspelningarna misslyckades och är tysta. Vanlig ljuddata ser ut som en våg, där amplituden växlar mellan stora positiva och negativa värden. För att kontrollera om en inspelning är tyst kan du därför undersöka om ljudklippets amplituder överlag är mycket små.
Modulen scipy.io.wavfile har importerats till din miljö som wavfile, och numpy har importerats som np.
Den här övningen är en del av kursen
Parallellprogrammering med Dask i Python
Övningsinstruktioner
- Använd
wavfile.read()inuti funktionenload_wav()för att läsa in ljuddata och samplingsfrekvens. - Bygg upp det returnerade dictionaryt inuti
load_wav(). - Returnera ett booleskt värde inuti funktionen
not_silent()som anger om arrayen'audio'i det inkommande dictionaryt har ett medelvärde av absolutvärden som är större än 100 – användabs()- ochmean()-funktionerna frånnumpy.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 ____