The Free Lossless Audio Codec (FLAC) is a widely used lossless audio codec, which means that the audio is compressed without any loss of quality. A decoded FLAC stream is bit-for-bit identical to the original uncompressed audio file.
The JavaScript decoder was ported from the FFMpeg project and the demuxer is based on the original FLAC documentation. flac.js uses the Aurora audio framework by ofmlabs to facilitate decoding and playback.
You can check out a demo alongside our other decoders jsmad (MP3), and alac.js. Currently flac.js works properly in the latest versions of Firefox and Chrome, as well as Safari 6 beta.
flac.js was written by @jensnockert and @devongovett of ofmlabs.
Currently, the import module is used to build flac.js. You can run
the development server by first installing import
with npm, and then running it like this:
sudo npm install import -g
import flac.js -p 3030
You can also build a static version like this:
import flac.js build.js
Once it is running on port 3030, you can open test.html and select a flac file from your system to play back.
flac.js is licensed under the same terms as the original FLAC decoder in FFMpeg. The original license follows.
FLAC.js is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
FLAC.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.