เสียง AAC (.aac)

ISO/IEC มาตรฐาน

Advanced Audio Coding (AAC) คือรูปแบบมาตรฐานที่สืบทอดต่อจาก MP3 ซึ่งถูกออกแบบมาเพื่อให้ประสิทธิภาพในการบีบอัดที่เหนือกว่าและความคมชัดในการได้ยินที่อัตราบิตเท่ากัน

แปลง AAC เป็น MP3

ตัวแปลงจาก AAC เป็น MP3 ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบและดู Metadata

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
การรับประกันความเป็นส่วนตัวแบบไม่มีการส่งผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

FF F1

การแสดงผลรูปแบบ ASCII: ÿñ

มาตรฐาน: ISO/IEC 13818-7 / ISO/IEC 14496-3

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ADTS (Audio Data Transport Stream) bitstream or MPEG-4 Part 14 container
การบีบอัดModified Discrete Cosine Transform (MDCT) with temporal noise shaping and psychoacoustic modeling
การจัดลำดับไบต์ (Byte Endianness)Big-Endian bitstream framing
พื้นที่สีN/A (Audio Bitstream)
ช่องสัญญาณและโครงสร้างUp to 48 discrete audio channels with arbitrary speaker mapping
ขนาดสูงสุดSample rates from 8 kHz up to 96 kHz (16/24-bit PCM source)
ความโปร่งใสPerceptual lossy coding; transparent quality achieved around 192-256 kbps stereo
การสตรีมและแบบโปรเกรสซีฟNative ADTS frame synchronization words enable arbitrary byte-stream streaming

ตารางเปรียบเทียบทางเทคนิค: AAC กับคู่แข่ง

คุณลักษณะทางเทคนิคAAC (ปัจจุบัน)MP3OGGOPUS
ประสิทธิภาพการบีบอัดสูง; สเตอริโอที่โปร่งใสที่ 128-192 kbpsปานกลาง; ต้องการ 192-256 kbpsสูง; เทียบได้กับ AAC ที่ 160 kbpsสูงมาก; โปร่งใสที่ 96-128 kbps
ช่องสัญญาณสูงสุด48 ช่องสัญญาณแยก2 ช่องสัญญาณ (สเตอริโอ) / 5.1 ใน MPEG-2255 ช่องสัญญาณแยก255 ช่องสัญญาณแยก
การเร่งความเร็วด้วยฮาร์ดแวร์สากล 100% บนซิลิคอนมือถือและเดสก์ท็อปทั้งหมดรองรับซิลิคอนรุ่นเก่า 100%ชิปฮาร์ดแวร์ DSP เฉพาะทางจำกัดรองรับฮาร์ดแวร์เบราว์เซอร์และ Android/iOS มากขึ้น
ความหน่วงของอัลกอริทึมปานกลาง (หน่วงเวลาบัฟเฟอร์ประมาณ 100 ms)สูง (~100-150 ms)ปานกลาง (~100 ms)ต่ำมาก (5-26.5 ms, ปรับแต่งสำหรับ VoIP)

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

เครื่องเล่นสื่อเล่นวนซ้ำหรือสร้างเสียงซ่าดิจิทัลความถี่สูง

สาเหตุหลัก: การสูญเสียการซิงโครไนซ์ของส่วนหัวเฟรม ADTS เนื่องจากแพ็กเกจสูญหายหรือซิงค์เวิร์ด 12 บิตหายไป

การกู้คืน: แปลงเสียง AAC ดิบให้อยู่ในคอนเทนเนอร์ MP4/M4A ด้วยคำสั่ง ffmpeg -i broken.aac -c:a copy fixed.m4a เพื่อสร้างดัชนีเฟรมขึ้นใหม่

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัวถอดรหัส AAC ทำงานในลูป DSP เสียงที่มีปริมาณงานสูง ซึ่งความยาวแพ็กเกจที่ผิดรูปอาจทำให้เกิดการล้นของจำนวนเต็ม (integer overflows) ในการใช้งานซอฟต์แวร์

เวกเตอร์การโจมตีที่ทราบ

  • การล้นของจำนวนเต็มในฟิลด์ความยาวเฟรม ADTS ทำให้เกิดการอ่านบัฟเฟอร์เกินขอบเขตในตัวถอดรหัส C++ ที่ยังไม่ได้แพตช์
  • บิตกำหนดค่าช่องสัญญาณที่ถูกสร้างขึ้นเพื่อทริกเกอร์การเขียนหน่วยความจำที่ไม่ถูกต้องระหว่างการผสมเสียงหลายช่องสัญญาณลง
  • การจัดสรรฮีปนอกขอบเขตระหว่างการแยกวิเคราะห์ตารางสังเคราะห์ SBR (Spectral Band Replication)

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2003Apple Computer เลือกใช้ AAC เป็นรูปแบบเสียงเริ่มต้นสำหรับ iTunes Store และสายผลิตภัณฑ์ iPod
1999ถูกรวมเข้ากับมาตรฐาน MPEG-4 ในชื่อ ISO/IEC 14496-3 พร้อมด้วยโปรไฟล์ High-Efficiency AAC (HE-AAC)
1997ถูกกำหนดเป็นมาตรฐานภายใต้ ISO/IEC 13818-7 ในฐานะ MPEG-2 Part 7 ซึ่งมีประสิทธิภาพเหนือกว่า MPEG-1 Layer III ในทุกอัตราบิต

ข้อได้เปรียบและจุดเด่นสำคัญ

  • ให้ความใสของเสียงที่เหนือกว่า MP3 ที่อัตราบิตเทียบเท่าและต่ำกว่า (เช่น 128 kbps เทียบกับ 192 kbps)
  • รองรับช่องสัญญาณเสียงเต็มแบนด์วิดท์สูงสุด 48 ช่องสำหรับระบบเสียงรอบทิศทางและเวิร์กโฟลว์ Dolby Pro Logic
  • การถอดรหัสด้วยฮาร์ดแวร์พื้นฐานสากลบน iOS, Android, macOS, Windows และสมาร์ททีวีสำหรับผู้บริโภค

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • การเข้ารหัสแบบสูญเสียข้อมูลเชิงการรับรู้จะตัดความถี่ฮาร์มอนิกที่ไม่ได้ยินออกไป ทำให้ไม่เหมาะสำหรับการมาสเตอร์ริ่งเสียง
  • สตรีมข้อมูล ADTS ขาดตารางการค้นหาตำแหน่ง (seeking tables) ที่ฝังอยู่ หากไม่มีการใส่ในคอนเทนเนอร์ MP4 (M4A)
  • การอนุญาตสิทธิบัตรพูลที่จัดการโดย Via Licensing Corporation ในอดีตทำให้การพัฒนาตัวเข้ารหัสแบบโอเพนซอร์สช้าลง

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • YouTube ตั้งค่าเริ่มต้นเป็นการเข้ารหัส AAC ที่ 128 kbps สำหรับสตรีมเสียงวิดีโอสเตอริโอมาตรฐาน
  • ซิงค์เวิร์ดของ ADTS คือเลขฐานสอง 1 ติดต่อกัน 12 ตัว (0xFFF) ซึ่งช่วยให้จูนเนอร์สามารถล็อกเข้ากับรายการสดกลางคันได้
  • Sony นำ AAC มาใช้เป็นมาตรฐานการบีบอัดเริ่มต้นสำหรับเสียงใน PlayStation 3, PlayStation Portable และ Vita

คำถามทางเทคนิคที่พบบ่อย

ทำไม AAC ถึงให้เสียงที่ดีกว่า MP3 ที่บิตเรต 128 kbps?

AAC มีความละเอียดความถี่สูงกว่า (สูงสุด 96 kHz), ฟิลเตอร์แบงก์แบบ MDCT เพียวๆ, ระบบ temporal noise shaping (TNS) และเครื่องมือทำนายสัญญาณเสียงสเตอริโอที่ยืดหยุ่นกว่า ซึ่งช่วยกำจัดเสียงเพี้ยนประเภท pre-echo ที่มักพบบ่อยใน MP3

ระหว่าง raw AAC กับ M4A แตกต่างกันอย่างไร?

Raw AAC ใช้การจัดรูปแบบแพ็กเก็ตแบบ ADTS อย่างง่าย โดยไม่มีสารบัญบทหรือดัชนีเมทาดาต้า ส่วน M4A จะห่อหุ้มเพย์โหลดเสียง AAC เดียวกันไว้ภายในคอนเทนเนอร์ ISO Base Media (MP4) พร้อมด้วยเมทาดาต้า, ภาพปกอัลบั้ม และตารางค้นหาตำแหน่ง (seek tables)

AAC รองรับการบีบอัดเสียงแบบไม่สูญเสียข้อมูล (lossless) หรือไม่?

ไม่. AAC มาตรฐานเป็นการสูญเสียข้อมูล (lossly) อย่างเคร่งครัด แต่ Apple ได้พัฒนา Apple Lossless (ALAC) ขึ้นมาเพื่อให้ได้เสียงแบบ lossless แบบบิตต่อบิตภายในคอนเทนเนอร์ M4A แบบเดียวกัน