ตัวแปลงไฟล์เสียงเป็น Base64

เข้ารหัสไฟล์เสียง MP3, WAV, OGG และรูปแบบอื่นเป็น Base64 สำหรับ HTML, JavaScript หรือคำขอไปยัง API ด้านเสียงพูด เล่นไฟล์ในเครื่องเล่นในตัว แล้วคัดลอกสตริงล้วนหรือ data URI

ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ

วิธีใช้งาน

  1. ลากไฟล์เสียงมาวางในพื้นที่อัปโหลดหรือคลิกเพื่อเลือกไฟล์ เช่น MP3, WAV, OGG, M4A, FLAC หรือรูปแบบอื่น
  2. เล่นไฟล์ในเครื่องเล่นตัวอย่างเพื่อตรวจสอบว่าเป็นเสียงที่ถูกต้อง
  3. เลือก Data URI สำหรับแท็ก audio ของ HTML หรือ Base64 ล้วนสำหรับคำขอ API
  4. กด “คัดลอก” ผลลัพธ์ หรือ “ดาวน์โหลด” เป็นไฟล์ .txt

การเล่นเสียง Base64 ในหน้าเว็บ

data URI ที่มีชนิด MIME ของเสียงใช้ได้ทุกตำแหน่งที่เบราว์เซอร์ต้องการ URL ของไฟล์เสียง

<audio controls src="data:audio/mpeg;base64,..."></audio>

// JavaScript: เล่นเสียงสั้น ๆ เมื่อคลิกปุ่ม
const click = new Audio('data:audio/wav;base64,...');
button.addEventListener('click', () => click.play());

โดยทั่วไปเบราว์เซอร์จะบล็อกไม่ให้เสียงเริ่มเล่นก่อนที่ผู้เข้าชมจะโต้ตอบกับหน้าเว็บ จึงควรเรียก play() จากตัวจัดการการคลิกหรือการกดแป้นแทนการเรียกเมื่อโหลดหน้า

กรณีที่เหมาะกับการใช้เสียงแบบ Base64

  • เสียงสั้น ๆ ของอินเทอร์เฟซ เสียงคลิก เสียงแจ้งเตือน และเสียงบี๊ปเมื่อเกิดข้อผิดพลาดที่มีขนาดเพียงไม่กี่กิโลไบต์ สามารถเก็บไว้ใน JavaScript bundle ได้ จึงเล่นได้ทันทีโดยไม่ต้องส่งคำขอเพิ่ม
  • แอปออฟไลน์และแอปไฟล์เดียว เกม ตู้คีออสก์ แพ็กเกจอีเลิร์นนิง และรายงาน HTML ที่ต้องทำงานจากไฟล์เดียวโดยไม่มีเซิร์ฟเวอร์ สามารถฝังเสียงไว้ในตัวได้
  • API แปลงเสียงพูดเป็นข้อความ บริการรู้จำเสียงพูดบนคลาวด์หลายแห่งรับไฟล์บันทึกเสียงสั้น ๆ เป็นฟิลด์ Base64 ในคำขอ JSON ซึ่งมักมีชื่อว่า content หรือ audio บริการเหล่านี้มักต้องการรูปแบบไฟล์ อัตราสุ่มตัวอย่าง และจำนวนช่องสัญญาณที่เฉพาะเจาะจง เครื่องมือนี้เข้ารหัสไฟล์ตามที่เป็นอยู่ทุกประการ โดยไม่แปลงรูปแบบหรือเปลี่ยนอัตราสุ่มตัวอย่าง
  • ข้อมูลสำหรับการทดสอบ การทดสอบโค้ดประมวลผลเสียงสามารถเก็บตัวอย่างเสียงขนาดจิ๋วไว้เป็นค่าคงที่แบบสตริงได้

เมื่อใดที่ไม่ควรใช้ Base64 กับไฟล์เสียง

Base64 เพิ่มขนาดประมาณหนึ่งในสาม และเบราว์เซอร์ต้องได้รับสตริงทั้งหมดก่อนจึงจะเริ่มเล่นได้ ไม่มีการสตรีม ไม่มีการแคชแยก และไม่มีคำขอแบบช่วงไบต์ (range request) สำหรับการเลื่อนตำแหน่งเล่น ไฟล์ MP3 ความยาว 5 นาทีที่ 128 kbps มีขนาดประมาณ 4.8 MB ซึ่งจะกลายเป็นข้อความประมาณ 6.4 MB ภายใน HTML หรือ JavaScript ของคุณ และต้องดาวน์โหลดใหม่ทุกครั้งที่ไฟล์นั้นเปลี่ยนแปลง สำหรับเพลง พอดแคสต์ และไฟล์บันทึกเสียงยาว ๆ ควรใช้ไฟล์เสียงตามปกติ หลักง่าย ๆ คือฝังแบบอินไลน์เฉพาะเสียงที่ยาวไม่กี่วินาที

รูปแบบไฟล์เสียงและชนิด MIME

รูปแบบส่วนนำหน้า Data URIหมายเหตุ
MP3data:audio/mpeg;base64,ขนาดเล็ก เล่นได้ในทุกเบราว์เซอร์
WAVdata:audio/wav;base64,ไม่บีบอัดและมีขนาดใหญ่ เหมาะกับเสียงที่สั้นมาก
OGG (Vorbis, Opus)data:audio/ogg;base64,ขนาดเล็ก Safari เวอร์ชันเก่าเล่นไม่ได้
M4A (AAC)data:audio/mp4;base64,ขนาดเล็ก รองรับอย่างกว้างขวาง
FLACdata:audio/flac;base64,ไม่สูญเสียคุณภาพ ใหญ่กว่า MP3 หรือ AAC มาก

ขึ้นอยู่กับระบบปฏิบัติการ ไฟล์อาจถูกรายงานด้วยชนิดแบบอื่น เช่น audio/x-wav หรือ audio/x-m4a โดยทั่วไปเบราว์เซอร์ก็เล่นชนิดเหล่านี้ได้เช่นกัน และคุณสามารถแก้ไขส่วนนำหน้าได้หากแพลตฟอร์มต้องการชนิดที่เฉพาะเจาะจง

คำถามที่พบบ่อย

ชนิด MIME ของ MP3 ใน data URI คืออะไร
ชนิดที่จดทะเบียนไว้คือ audio/mpeg data URI จึงขึ้นต้นด้วย data:audio/mpeg;base64, คุณอาจพบ audio/mp3 ในการใช้งานจริงด้วย ซึ่งเบราว์เซอร์บางตัวยอมรับ แต่ audio/mpeg เป็นตัวเลือกที่ปลอดภัยกว่า
ทำไมเครื่องเล่นตัวอย่างจึงเล่นไฟล์ของฉันไม่ได้

เครื่องเล่นอาศัยตัวแปลงสัญญาณ (codec) ที่มีอยู่ในเบราว์เซอร์ของคุณ หากเบราว์เซอร์ไม่รองรับรูปแบบนั้น เช่น OGG ใน Safari เวอร์ชันเก่า ตัวอย่างจะไม่มีเสียง แต่เอาต์พุต Base64 ยังคงเป็นสำเนาที่ตรงกับไฟล์ทุกประการ

คลิปเสียง Base64 ยาวได้แค่ไหน

เครื่องมือนี้เข้ารหัสไฟล์ได้สูงสุด 100 MB แต่ขนาดนั้นใหญ่เกินกว่าจะฝังได้มาก สำหรับการใช้แบบอินไลน์ ควรให้คลิปยาวไม่กี่วินาทีและมีขนาดไม่กี่สิบกิโลไบต์ สำหรับ API ด้านเสียงพูด ให้ตรวจสอบขีดจำกัดของเสียงแบบอินไลน์ ซึ่งมักต่ำกว่าเสียงที่อัปโหลดไปยังพื้นที่จัดเก็บมาก

แปลง MP3 เป็น WAV ที่นี่ได้หรือไม่

ไม่ได้ เครื่องมือนี้เข้ารหัสไฟล์ตามที่เป็นอยู่ โดยไม่เปลี่ยนรูปแบบ บิตเรต หรืออัตราสุ่มตัวอย่าง ให้แปลงเสียงก่อนด้วยโปรแกรมแก้ไขเสียงหรือเครื่องมือบรรทัดคำสั่งอย่าง FFmpeg แล้วจึงเข้ารหัสผลลัพธ์

ไฟล์เสียงของฉันถูกอัปโหลดหรือไม่

ไม่ถูกอัปโหลด การเข้ารหัสและการเล่นเสียงเกิดขึ้นในเบราว์เซอร์ของคุณ และไฟล์จะอยู่บนอุปกรณ์ของคุณเท่านั้น