1. ภาพรวมสถาปัตยกรรม MP3 Karaoke
MP3 Karaoke คือเทคโนโลยีการรวมไฟล์เสียงดนตรีสดหรือเสียงร้องจริง (MPEG-1 Layer III) เข้ากับโครงสร้าง **ID3v2 Metadata Tags** ที่สอดไส้ไฟล์ XML เนื้อเพลงแบบเจาะลึกรายคำไว้ในตัว ช่วยให้เครื่องเล่นสามารถเล่นเสียงคุณภาพสูงระดับสตูดิโอ พร้อมทั้งแสดงผลการปาดสีเนื้อเพลงตามจังหวะเรียลไทม์ได้อย่างสมบูรณ์แบบในไฟล์ .mp3 เพียงไฟล์เดียว
เฟรม ID3v2 มาตรฐานที่ถูกดึงข้อมูล
เฟรม TIT2 (Title)
บันทึกชื่อเพลง ถอดรหัสอักขระภาษาไทยด้วย TIS-620 / Windows-874 อัตโนมัติ
เฟรม TPE1 (Artist)
บันทึกชื่อศิลปินหรือวงดนตรีผู้ขับร้อง
เฟรม TALB (Album)
บันทึกชื่ออัลบั้มหรือคอลเลกชันเพลง
3. การสกัดเนื้อเพลง KLyr XML จากเฟรม TXXX / TEXT
เนื้อร้องคาราโอเกะถูกซ่อนไว้ในเฟรม ID3 Text ชนิดพิเศษ (เช่น TEXT, TXXX_TEXT หรือ TXXX_Lyricist) ที่ขึ้นต้นด้วยข้อความ LyrHdr โดยมีกระบวนการถอดรหัสดังนี้:
ขั้นตอนการดึงเนื้อเพลงจาก ID3 Frame
- 11. สแกนหาเฟรมเนื้อร้อง: สแกนหาเฟรมข้อความ ID3 ที่ขึ้นต้นด้วยข้อความ
LyrHdr1 - 22. ตัด Prefix และถอดรหัส Base64: ตัดข้อความ
LyrHdr1ออก แล้วถอดรหัสข้อความ Base64 เป็นไบต์ไบนารี - 33. คลายการบีบอัด zlib: คลายการบีบอัดไบต์ไบนารีด้วย
pako.inflate()เพื่อให้ได้ไฟล์ XML - 44. ถอดรหัส XML และซิงค์เวลาร่วมกับ HTML5 Audio: ถอดรหัสข้อมูล
<INFO>และแท็กเวลารายคำ<WORD>เพื่อซิงค์ตำแหน่งเวลากับaudio.currentTimeสำหรับการปาดสีเนื้อเพลงบนหน้าจอเรียลไทม์