23 พฤศจิกายน 2553

[052] เคาะแป้นพิมพ์หาความเร็วดนตรีด้วย JavaScript (JavaScript -- covert keyboard hits to BPM)

หลังจากที่ได้เพิ่มเพลงใน iTunes และ sync. ลง iPod touch แล้ว ยังรู้สึกว่าขาดเรื่องการเลือกฟังเพลงช้าเพลงเร็ว ดังนั้นจึงหา BPM ของเพลงต่างๆ หลังจากที่ได้ลอง...
Source code โปรแกรม
  • ใช้โปรแกรมวิเคราะห์และคำนวณ BPM จากเพลงอัตโนมัติ ลองหลายโปรแกรม ผลที่ได้ส่วนใหญ่ห่างไกลจากความเป็นจริงจนยอมรับไม่ได้ ยิ่งเพลงช้าๆ ไม่มีกลองจะใช้ไม่ได้เลย
  • ใช้วิธีเคาะจังหวะเอง วิธีนี้ใกล้เคียงที่สุด เนื่องจากฟังเองเคาะเอง แต่โปรแกรมที่ใช้ ดันไม่ค่อยถูกใจเท่าไหร่ เนื่องจากไม่มีปุ่ม reset สำหรับเริ่มเพลงใหม่ ต้องเคาะๆๆๆ ไปเรื่อยๆ และ copy paste ไม่ได้
โปรแกรมต้องเคาะด้วยแป้นเว้นวรรคเท่านั้น แถมมีจุดทศนิยมด้วย -_-"

เจอปัญหาไป 2 ข้อ หงุดหงิดมาก เลยเปิด AkelPad เขียนโปรแกรมด้วยภาษา JavaScript บนไฟล์ html ธรรมดาๆ นี่แหละ เขียนไปประมาณ 50 บรรทัด เอาหลักการที่เคาะเองมาต่อยอด โดยเคาะแป้นพิมพ์ใด ๆ ลงใน Textbox แล้วคำนวณ BPM ออกมา ซึ่งผลออกมาดีกว่าใช้โปรแกรมชาวบ้านมาก ถ้าจับจังหวะได้ไม่ถึง 10 วินาทีก็ได้ผลแล้ว (เร็วกว่าใช้โปรแกรมวิเคราะห์อีก)




ใช้เวลาเขียนประมาณ 20 นาที กลายเป็นว่าเดี๋ยวนี้จะเขียนโปรแกรมอะไรก็นึกถึง html javascript ก่อนเลย เข้าขั้น web programmer ขึ้นสมองซะแล้ว

ปล. ส่วนตัวคิดว่า html โดยเฉพาะ HTML5 เนี่ยจะมาปฏิวัติวงการคอมพิวเตอร์เลย เพราะมันเปิด มีส่วนที่จำเป็นต่อการใช้งาน (แสดงผล ประมวลผล และ เก็บข้อมูล) ครบถ้วน แถมพัฒนาได้เร็ว เครื่องมือก็มีเยอะมาก

เกี่ยวกับเจ้าของบล๊อก

รูปภาพของฉัน

เป็นโปรแกรมเมอร์ที่ฝันว่าจะได้นอนเกาพุงไปวัน ๆ จนพุงลดกลายเป็นเอว ได้เป็นบุคคลที่มีความสุขที่สุดในโลกจนคนอื่น ๆ อิจฉา