About this project:
This is the javaFlacEncoder project("javaFlacEncoder")

javaFlacEncoder is a pure java implementation of a FLAC encoder library. It is designed to allow third-party java applications to enable flac encoding without resorting to use of JNI or scripted file conversions. Additionally, a basic console wav->flac encoding tool is included as part of this package.

This project is licensed under the terms of the GNU LGPL(v2.1)
  • Valid FLAC files for 44.1khz, 16 bit stereo streams. More formats likely work, but have not been well tested(designed to support up to 8 channels, max allowed by FLAC spec.)
  • File sizes comparable to flac reference encoder, typically <5% difference.
  • Mult-threaded encoding.
  • Encoding speed is decent(considering an object-oriented encoder under java). On Athlon X2 3800+, about 34x real-time(in threaded mode); ~10 seconds to encode file of length 5:40, compared to ~4.5 seconds with reference encoder.
Further Details
Prior to using this library in your application, it is advisable to first familiarize yourself with the FLAC overview and format documents, from the official flac project While you will not need to implement any of the format details yourself, this information may help to better understand the available settings.
Project Hosted by