Oct 25 2008

บันทึกซีเนียร์โปรเจค #2

Category: Generalm3rLinEz @ 10:33

เป้าหมายในครั้งที่แล้วสำเร็จลุล่วงแล้วด้วย 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: ,

Comments are closed