Công cụ này làm gì
Công cụ này đổi một file âm thanh từ định dạng này sang định dạng khác — biến bản ghi WAV thành MP3 nhẹ để chia sẻ, đổi file FLAC sang MP3 cho thiết bị không phát được FLAC, hoặc tạo ra file OGG cho dự án cần đúng định dạng đó. Thả file vào, công cụ đọc định dạng và tần số lấy mẫu ngay từ header của file, rồi cho bạn hai cách để lấy kết quả: tải về byte gốc y nguyên, hoặc chuyển đổi sang MP3, WAV hay OGG theo mức chất lượng bạn chọn.
Mọi thứ chạy trên máy của bạn. Không có bước tải lên, không xếp hàng chờ máy chủ — trình duyệt tự giải mã file, và nếu cần mã hóa lại thì việc đó cũng diễn ra ngay tại chỗ.
Hai cách tải về
Nút Tải tệp gốc ghi lại đúng byte của file gốc, không qua bước giải mã hay mã hóa lại nào cả. Nhờ vậy nó gần như tức thì, không mất chất lượng vì bản chất không đụng đến dữ liệu âm thanh, và vẫn hoạt động ngay cả khi trình duyệt này không có bộ giải mã cho định dạng đó — chẳng hạn một file OGG vẫn tải về bình thường trên Safari, dù Safari không phát được OGG trong trình phát tích hợp ở trên.
Chuyển đổi và tải về mới là nút thực sự xử lý: nó giải mã âm thanh thành mẫu thô rồi mã hóa lại theo định dạng và chất lượng bạn chọn bên dưới trình phát. Đây là nút cần dùng khi bạn muốn một định dạng hay codec khác với file ban đầu.
Chọn định dạng đầu ra
| Định dạng | Loại | Bitrate ước tính theo chất lượng | Phù hợp khi |
|---|---|---|---|
| MP3 | Nén mất dữ liệu | Cao ~190 kbps · Vừa ~165 kbps · Thấp ~115 kbps | File nhỏ, phát được ở hầu hết mọi nơi |
| OGG | Nén mất dữ liệu (Vorbis) | Cao ~192 kbps · Vừa ~128 kbps · Thấp ~96 kbps | File nhỏ, định dạng mở |
| WAV | PCM không nén | — (luôn giữ chất lượng đầy đủ) | Chỉnh sửa tiếp, lưu trữ, tương thích tuyệt đối |
Bộ chọn chất lượng chỉ xuất hiện với MP3 và OGG — WAV không có mức chất lượng vì bản thân nó không nén. Chọn mức Cao khi file gốc vốn đã chất lượng tốt và bạn muốn giữ lại nhiều nhất có thể; mức Thấp đánh đổi một chút độ trong trẻo để lấy file nhẹ hơn rõ rệt.
Tần số lấy mẫu thay đổi ra sao
Bình thường trình duyệt giải mã âm thanh về đúng tần số mà audio context đang chạy — thường là 48 kHz — nên một file gốc 44.1 kHz sẽ bị âm thầm resample theo tần số đó. Công cụ này tránh việc này bằng cách đọc tần số lấy mẫu từ header của file trước, rồi tạo context giải mã đúng ở tần số đó. WAV, MP3, FLAC, Ogg Vorbis và AAC ghi thẳng tần số trong header; riêng M4A ghi timescale của track, con số này trùng với tần số ở một file nhạc thông thường. Nhờ vậy file 44.1 kHz chuẩn CD thuộc các định dạng đó đưa vào thì file 44.1 kHz sẽ được trả ra, dù bạn chọn đổi sang định dạng nào.
Có hai điều nằm ngoài lời hứa đó, và công cụ nói thẳng thay vì giấu đi. Opus luôn được giải mã ở 48 kHz: con số ghi trong header Opus là tần số của phần âm thanh đi vào bộ mã hóa, không phải tần số trả ra, vì bản thân codec này không có tần số đầu ra nào khác. Còn khi header không ghi được tần số hợp lệ nào — file hỏng, hoặc luồng có chỉ số tần số rơi vào các giá trị dự trữ — thì không có gì để dựng context, nên việc giải mã lùi về 48 kHz. Ở cả hai trường hợp, bảng kết quả in tần số đầu ra ngay cạnh tần số nguồn ngay khi bạn chuyển đổi, nên việc resample là thứ bạn nhìn thấy được chứ không diễn ra lặng lẽ.
Một lưu ý thẳng thắn về việc mã hóa lại
MP3 và OGG là codec nén mất dữ liệu — chúng bỏ bớt một phần chi tiết vĩnh viễn để file nhẹ hơn, và phần đó không lấy lại được khi giải mã. Chuyển một file đã là MP3 hoặc OGG sang một định dạng nén mất dữ liệu khác không hoàn tác được phần đã mất đó, mà còn mất thêm một chút nữa. Đổi MP3 sang MP3 đặc biệt ít ý nghĩa — kết quả chỉ là một bản nặng hơn hoặc nhẹ hơn của chính file đã mất chất lượng tốt nhất ngay từ lần mã hóa đầu tiên. Nếu còn giữ bản ghi gốc không nén (WAV hoặc FLAC), hãy đổi từ bản đó thay vì từ bản đã nén sẵn.
Một điều nữa mà việc chuyển đổi ở đây không làm: nó không giữ lại thẻ ID3 (tên bài, nghệ sĩ, ảnh bìa...). File xuất ra chỉ là luồng âm thanh đã mã hóa lại. Nếu cần giữ những thẻ đó, hãy tải file gốc thay vì chuyển đổi nó.
Nhạc không bao giờ rời khỏi máy bạn
Bộ giải mã là của chính trình duyệt; bộ mã hóa MP3 và OGG là các bản WebAssembly gọn nhẹ, chỉ tải khi bạn bấm chuyển đổi lần đầu. File của bạn không được gửi đi đâu cả — đóng tab là không còn lại gì.