เป้าหมายในครั้งที่แล้วสำเร็จลุล่วงแล้วด้วย libsndfile สำหรับการอ่านไฟล์ WAV และ fftw สำหรับการทำ Discrete Fourirer Transform ส่วนเรื่องอ่าน Sample จากไฟล์ MP3 ยังงงๆอยู่ เพราะตอนแรกคิดว่าจะแปลงเป็น WAV ก่อนแล้วค่อยใช้ libsndfile ก็ได้นี่หว่า แต่ไปๆมาๆเห็นมีไลบรารีบางอันอ่าน sample ตรงๆได้ด้วย เช่น libmad แต่หลังจากลองศึกษาดูแล้วก็รู้สึกว่ายากเกินความเข้าใจไปหน่อยแฮะ - -'' อืม ไปเจอประโยคนี้ใน README ของตัว Demo อีก
Users of non-Unix systems wishing to compile this program are on their
own.
โอ้ว แอบรู้สึกเป็นชนชั้นสองมากที่ใช้ Windows แต่มันก็คงเป็นแบบนี้แหละน้า ถ้าอะไรทุกอย่างมันทำได้ง่ายๆ ทุกคนก็คงเป็น User ได้ จริงมั้ย ??
จากการลองใช้ไลบรารีชาวบ้านก็ทำให้ได้รู้อย่างนึงว่า เวลาหา library มาใช้ในโปรเจค C++ เนี่ย ไม่ต้องพยายามหาด้วย "c++ read WAV sample" ให้หาว่า "c read WAV sample" จะดีกว่า เพราะมักจะเจอเยอะกว่า และก็มักจะครอบคลุม C++ ไปด้วยในตัว
เป้าหมายต่อไปก็คือ ...
- ลองทำ DFT บน Sample ที่อ่านมาจาก WAV ดูว่าจะได้ผลตามที่คิดมั้ย
- ลองพล็อตกราฟ Fourier ออกมาดูจะได้เข้าใจได้ง่ายๆ
- เอาผลจากการทำ Fourier มาลองใช้ Harmonic Product Spectrum (HPS) เพื่อหา Pitch ดู
- ทำ Vocal Extraction บนไฟล์เสียงเพลงที่อ่านเข้ามาด้วยวิธี Phase Cancellation เคยเห็นวีดิโอบน YouTube แล้ว น่าจะพอดัดแปลงได้ แต่ Result คงไม่ดีเท่าไหร่แฮะ
จะทำให้เสร็จตามนี้ก่อนแล้วค่อยอัพบล็อกครั้งต่อไป
NSC เอา 5 ม.ค. ส่วนของ CP ต้องรายงานความก้าวหน้าวันที่ 5 พ.ย. นี้แล้ว ยังไม่ค่อยมีอะไรจะรายงานเลย T-T โม้ไว้เยอะ
ทำโปรเจคนี้แล้วได้อารมณ์ Research จริงๆ - -'' จะเสร็จทันไม๊ว้าาา ~
Tags: senior project, c++