การ Normalize ไฟล์เสียงด้วย PyDub
บางครั้งไฟล์เสียงอาจมีบางช่วงที่เสียงดังและบางช่วงที่เสียงเบา ความแตกต่างของระดับเสียงแบบนี้อาจส่งผลเสียต่อการถอดความได้
โชคดีที่โมดูล effects ของ PyDub มีฟังก์ชันชื่อ normalize() ซึ่งจะค้นหาระดับเสียงสูงสุดของ AudioSegment แล้วปรับส่วนที่เหลือให้อยู่ในสัดส่วนที่สมดุล ทำให้ช่วงที่เสียงเบาได้รับการเพิ่มระดับเสียงขึ้น
สามารถฟังตัวอย่างไฟล์เสียงที่เริ่มต้นดังแล้วค่อยลดเบาลง ชื่อ loud_then_quiet.wav ได้ที่นี่
ในแบบฝึกหัดนี้ จะใช้ normalize() เพื่อปรับระดับเสียงของไฟล์ให้สม่ำเสมอ ซึ่งจะให้ผลลัพธ์คล้ายแบบนี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Spoken Language Processing ด้วย Python
คำแนะนำการฝึกหัด
- Import
AudioSegmentจากPyDubและ importnormalizeจากโมดูล effects ของPyDub - นำเข้าไฟล์เสียง
loud_then_quiet.wavและบันทึกไว้ในตัวแปรloud_then_quiet - Normalize ไฟล์เสียงที่นำเข้ามาโดยใช้ฟังก์ชัน
normalize()แล้วบันทึกผลลัพธ์ไว้ในตัวแปรnormalized_loud_then_quiet
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import AudioSegment and normalize
from pydub import ____
from pydub.effects import ____
# Import target audio file
loud_then_quiet = AudioSegment.from_file(____)
# Normalize target audio file
normalized_loud_then_quiet = ____(____)