การโหลดข้อมูล wav
การทำงานกับข้อมูลที่ไม่ใช่รูปแบบมาตรฐานใน Dask bags จำเป็นต้องเขียนฟังก์ชันเองเป็นจำนวนมาก ในแบบฝึกหัดนี้ เราจะวิเคราะห์ข้อมูลเสียง จึงต้องสร้างฟังก์ชันสำหรับโหลดข้อมูลโดยเฉพาะ
การบันทึกเสียงบางไฟล์ล้มเหลว ทำให้ไฟล์เหล่านั้นเป็นเสียงเงียบ โดยปกติข้อมูลเสียงจะมีลักษณะเป็นคลื่น ที่แอมพลิจูดแกว่งไปถึงค่าบวกและลบที่มากขึ้น ดังนั้น หากต้องการตรวจสอบว่าการบันทึกเสียงเงียบหรือไม่ สามารถตรวจดูว่าคลิปเสียงนั้นมีแอมพลิจูดโดยรวมที่เล็กมากหรือเปล่า
โมดูล scipy.io.wavfile ถูก import เข้ามาในสภาพแวดล้อมแล้วในชื่อ wavfile และ numpy ถูก import ในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Parallel Programming with Dask in Python
คำแนะนำการฝึกหัด
- ภายในฟังก์ชัน
load_wav()ใช้wavfile.read()เพื่อโหลดข้อมูลเสียงและความถี่การสุ่มตัวอย่าง - ภายใน
load_wav()สร้าง dictionary สำหรับ return - ภายในฟังก์ชัน
not_silent()ให้ return ค่า boolean ว่าอาร์เรย์'audio'ใน dictionary ที่รับเข้ามามีค่าเฉลี่ยของค่าสัมบูรณ์มากกว่า 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 ____