Chuyển đổi âm thanh sang Base64

Mã hóa tệp MP3, WAV, OGG và các tệp âm thanh khác thành Base64 cho HTML, JavaScript hoặc yêu cầu gửi tới API giọng nói. Phát tệp trong trình phát tích hợp, rồi sao chép chuỗi Base64 thuần hoặc data URI.

Chạy hoàn toàn trong trình duyệt của bạn. Không có gì được tải lên.

Cách sử dụng

  1. Thả tệp âm thanh vào vùng tải lên hoặc nhấp để chọn tệp: MP3, WAV, OGG, M4A, FLAC hoặc định dạng khác.
  2. Phát thử trong trình phát xem trước để chắc chắn đó là đúng âm thanh bạn cần.
  3. Chọn data URI cho thẻ audio trong HTML, hoặc Base64 thuần cho yêu cầu API.
  4. Sao chép kết quả hoặc tải xuống dưới dạng tệp .txt.

Phát âm thanh Base64 trên trang web

Data URI có kiểu MIME âm thanh dùng được ở bất kỳ đâu trình duyệt cần URL của một tệp âm thanh:

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

// JavaScript: phát một âm thanh ngắn khi nhấp vào nút
const click = new Audio('data:audio/wav;base64,...');
button.addEventListener('click', () => click.play());

Trình duyệt thường chặn phát âm thanh trước khi người dùng tương tác với trang, nên hãy gọi play() từ trình xử lý sự kiện nhấp chuột hoặc phím thay vì gọi ngay khi trang vừa tải.

Những trường hợp nên dùng âm thanh Base64

  • Âm thanh giao diện ngắn. Tiếng nhấp, chuông thông báo và tiếng bíp báo lỗi chỉ vài kilobyte có thể nằm ngay trong gói JavaScript, nhờ vậy chúng phát tức thì mà không cần thêm yêu cầu nào.
  • Ứng dụng ngoại tuyến và ứng dụng một tệp. Trò chơi, kiosk, gói e-learning và báo cáo HTML phải hoạt động từ một tệp duy nhất mà không cần máy chủ có thể nhúng sẵn âm thanh bên trong.
  • API chuyển giọng nói thành văn bản. Nhiều dịch vụ nhận dạng giọng nói trên đám mây nhận một bản ghi ngắn dưới dạng trường Base64, thường có tên content hoặc audio, trong yêu cầu JSON. Các dịch vụ này thường yêu cầu một định dạng, tần số lấy mẫu và số kênh cụ thể. Công cụ này mã hóa tệp đúng như hiện trạng, không chuyển đổi hay lấy mẫu lại.
  • Dữ liệu kiểm thử. Mã kiểm thử cho phần xử lý âm thanh có thể lưu một mẫu rất nhỏ dưới dạng hằng chuỗi.

Khi nào không nên dùng Base64 cho âm thanh

Base64 làm dung lượng tăng thêm khoảng một phần ba, và trình duyệt phải nhận toàn bộ chuỗi trước khi có thể bắt đầu phát. Không có phát trực tuyến (streaming), không có bộ nhớ đệm riêng và không có yêu cầu range để tua. Một tệp MP3 dài 5 phút ở 128 kbps nặng khoảng 4,8 MB, sẽ thành khoảng 6,4 MB văn bản bên trong HTML hoặc JavaScript, và phải tải lại mỗi khi tệp đó thay đổi. Với nhạc, podcast và các bản ghi dài khác, hãy dùng tệp âm thanh thông thường. Theo kinh nghiệm, chỉ nên nhúng những âm thanh dài vài giây.

Định dạng âm thanh và kiểu MIME

Định dạngTiền tố data URIGhi chú
MP3data:audio/mpeg;base64,Nhỏ gọn, phát được trên mọi trình duyệt
WAVdata:audio/wav;base64,Không nén, dung lượng lớn; phù hợp với âm thanh rất ngắn
OGG (Vorbis, Opus)data:audio/ogg;base64,Nhỏ gọn; các phiên bản Safari cũ không phát được
M4A (AAC)data:audio/mp4;base64,Nhỏ gọn, được hỗ trợ rộng rãi
FLACdata:audio/flac;base64,Không mất dữ liệu, lớn hơn nhiều so với MP3 hoặc AAC

Tùy theo hệ điều hành, một tệp có thể được báo với kiểu biến thể như audio/x-wav hoặc audio/x-m4a. Trình duyệt nhìn chung vẫn phát được các kiểu này, và bạn có thể sửa tiền tố nếu một nền tảng cần kiểu cụ thể.

Câu hỏi thường gặp

Kiểu MIME của MP3 trong data URI là gì?
Kiểu đã đăng ký là audio/mpeg, nên data URI bắt đầu bằng data:audio/mpeg;base64,. Trên thực tế bạn cũng sẽ gặp audio/mp3; một số trình duyệt chấp nhận kiểu này, nhưng audio/mpeg là lựa chọn an toàn.
Vì sao bản xem trước không phát được tệp của tôi?

Trình phát dựa vào các codec có sẵn trong trình duyệt của bạn. Nếu trình duyệt không hỗ trợ một định dạng, chẳng hạn OGG trên các phiên bản Safari cũ, bản xem trước sẽ không phát ra tiếng, nhưng đầu ra Base64 vẫn là bản sao chính xác của tệp.

Một đoạn âm thanh Base64 có thể dài bao nhiêu?

Công cụ mã hóa được tệp tối đa 100 MB, nhưng như vậy là quá lớn để nhúng. Để nhúng trực tiếp, hãy giữ đoạn âm thanh trong vài giây và vài chục kilobyte. Với API giọng nói, hãy kiểm tra giới hạn cho âm thanh gửi kèm trực tiếp trong yêu cầu, thường thấp hơn nhiều so với âm thanh tải lên kho lưu trữ.

Tôi có thể chuyển MP3 sang WAV ở đây không?

Không. Công cụ mã hóa tệp đúng như hiện trạng, không thay đổi định dạng, bitrate hay tần số lấy mẫu. Hãy chuyển đổi âm thanh trước bằng trình chỉnh sửa âm thanh hoặc công cụ dòng lệnh như FFmpeg, rồi mã hóa kết quả.

Âm thanh của tôi có bị tải lên không?

Không. Việc mã hóa và phát diễn ra trong trình duyệt của bạn, và tệp vẫn nằm trên thiết bị của bạn.