這個頁面裡的編碼器不是重寫的,是把各專案的參考實作原始碼 用 Emscripten 編成 WebAssembly。所有編碼與解碼都在你的瀏覽器裡跑, 你選的音檔不會被上傳到任何地方。
| 模組 | 來源 | 授權 |
|---|---|---|
| SBC | bluez 2.1 的 sbc/ | LGPL-2.1+ |
| aptX / aptX HD | libfreeaptx 0.2.2 | LGPL-2.1+ |
| LC3 | google/liblc3 | Apache-2.0 |
| LDAC 編碼器 | AOSP external/libldac(Sony 官方) | Apache-2.0 |
| LDAC 解碼器 | hegdi/libldacdec(逆向工程) | MIT |
| MP3 LAME | LAME 3.100 | LGPL-2 |
| MP3 shine | shine | LGPL-2 |
| Opus | libopus 1.5.2 | BSD 3-Clause |
| AAC-LC | ffmpeg 原生 aac 編解碼器(commit ee1f79b0fa) | LGPL-2.1+ |
AAC 從 2026-07-29 起改成 ffmpeg 自己的原生編碼器,不再是瀏覽器內建的
那顆。差別:瀏覽器那顆是第三個實作、架構沒有公開文件、而且 Firefox 與不含專利
編碼器的 Chromium 根本沒有它。現在這顆與其他七個同一個信任等級,
已驗證與 ffmpeg.exe -cpuflags 0 逐位元相同。
上面那一列講的是程式碼的授權(LGPL-2.1+,可以再散布)。 AAC 這個格式本身另外受一組專利保護,授權由 Via LA 之類的專利池管理, 與原始碼授權是兩回事。個人研究與測試用途通常不是問題,但如果你要把這個頁面 用在商業產品上,那是要另外處理的事情。這裡把話講明,不代表這是法律意見。
LHDC 的編碼器是 Apache-2.0,沒有問題。但目前唯一可用的 解碼器(WillyBilly06/LHDC-V5-Decoder) 的授權檔已於 2026-07-04 被上游刪除,README 雖仍寫 Apache-2.0,但檔案不在。 沒有明確授權在法律上就是保留所有權利。
這一份部署包含 LHDC,是部署者明知上述狀況後的決定, 用途為個人測試。若你不是部署者,請不要把這裡的 LHDC 二進位檔再散布出去; 正確的解法是請上游作者把授權檔補回來。
SBC、aptX、LAME、shine、ffmpeg(AAC)是 LGPL。上面每個連結都是未經修改的上游原始碼;
本專案另外加的只有薄薄一層 C 介面(tools/wasm_src/*.c)。
重新建置這些 .wasm 的完整指令是:
bash tools/build_wasm.sh
驗證建置正確的指令是 bash tools/verify_wasm.sh,
它會把 WebAssembly 的位元流與原生建置、以及各專案自己的參考工具逐位元比對。
WASM 編碼器已驗證與原生逐位元相同,所以它們的行為就是參考實作的行為。 但 AAC 例外 —— 那是瀏覽器內建的實作,架構沒有公開文件, 在這裡只適合用耳朵聽,不適合當數據來源。