The benchmarks so far:I used the same test suite as in fpMP3Enc (Intel Q9450, 61 WAV files, about 5 hours playing time). The compression level was 5. The files were encoded one after the other, not in parallel.

- flac 1.2.1: 3 min 26 secs- fpFLAC x64: 1 min 13 secs

So, the speedup was 2.8x. This is quite good if you consider that this version does not contain any SSE optimizations.

Wow, this is very interesting. The speed-gain you're describing happens when just converting a single file? Is there any danger of disk-thrashing? How many threads are being calculated at once?And lastly: is this an open source tool?

Wow, this is very interesting. The speed-gain you're describing happens when just converting a single file? Is there any danger of disk-thrashing? How many threads are being calculated at once?And lastly: is this an open source tool?

Thank you for this development.

This evening I will provide a new package which will also contain SSE optimized versions. The SSE4 version made the test suite in 55s which is a speedup of 3.75x.

The whole process is stream-based, so there shouldn't be any disk-thrashing.

About the number of threads on a quad-core system:- 1 main thread for the application (idle most of the time)- 4 CPU worker threads that do the encoding- 1 I/O thread for asynchronous I/O- 1 I/O completion port thread

So, the formula is: numThreads = 3 + numCores

About open source: Yes, it's open source. The code will be available for download soon.

1) Using Win7 x64, most compression settings seem to crash the tool: only if I keep don't specify it or use -8 does it work, and there seems to be a difference in filesize between the two, so I am not sure what the default compression setting is - can you reproduce this problem? (it starts encoding but just doesn't finish)

2) The times I need to encode quickly are either during CD extraction using EAC or when I re-encode existing FLACs as I used lower compression setting before but would like to "upgrade". Can you please tell me whether you are planning to support TRANSCODING existing FLACs? Also, is the compression setting the only original FLAC argument the tool supports?

3) Is it possible to align commands with the original FLAC encoder to be able to simply substitute the current FLAC.exe with your development in EAC?

1) Using Win7 x64, most compression settings seem to crash the tool: only if I keep don't specify it or use -8 does it work, and there seems to be a difference in filesize between the two, so I am not sure what the default compression setting is - can you reproduce this problem? (it starts encoding but just doesn't finish)

I could reproduce the problem with "-1" and "-4". Both modes use loose mid-stereo which requires special handling. I thought, I made it right, but obviously not. It will be resolved in the next release.BTW, the default is "-5".

QUOTE

2) The times I need to encode quickly are either during CD extraction using EAC or when I re-encode existing FLACs as I used lower compression setting before but would like to "upgrade". Can you please tell me whether you are planning to support TRANSCODING existing FLACs? Also, is the compression setting the only original FLAC argument the tool supports?

I could reproduce the problem with "-1" and "-4". Both modes use loose mid-stereo which requires special handling. I thought, I made it right, but obviously not. It will be resolved in the next release.BTW, the default is "-5".

Good to know, I am using 8 anyways, but just thought I'd point that out.

Another option that my tool supports is "--lax" but I don't know what it does. It was easy to port it from the original FLAC code, so I did it.

This is an option that allows you to generate a rather non-conform FLAC file, which is not really advisable - but hey, any command that you can port is fine with me, just don't encourage people to use this one as they might end up with FLACs that don't play anymore through their streaming hardware.

QUOTE

Yes. I also plan to provide something like a "fpFLAC.exe" with the same command-line options as the original FLAC - for simple encodings.

Great, I think it could make your development widely used, as you could tie it into foobar, eac and anything else without changing every tool around the current command-sequence.

Regarding padding:

QUOTE

This is not a problem, the code is already written, only the cmd-line option is missing. Which tool are you using to embed the album art? I'll test it with that.

Excellent! I actually use www.mp3tag.de to embed, and I just keep a small padding of 64kbyte (= -p 65536). This way no rewrites become necessary when embedding.

QUOTE

Yes. In the next release you should be able to set title, artist, album, year, track and genre. Just tell me if you need more.

Awesome! Perhaps you could implement this support in an "open" fashion, i.e. the way flac.exe does it:

QUOTE

-T FIELD=VALUEAdd a FLAC tag. The comment must adhere to the Vorbis comment spec (which FLAC tags implement), i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.

So, as long as the Vorbis comment spec tag is used, it would work with any of these:

I am not sure how, but EAC allows for storing of non-standard tags - I personally use the DISCID that comes from CDDB when encoding CD rips made with EAC (-T "GENRE=%m"). If you need some beta testing, let me know.

Awesome! Perhaps you could implement this support in an "open" fashion, i.e. the way flac.exe does it:

QUOTE

-T FIELD=VALUEAdd a FLAC tag. The comment must adhere to the Vorbis comment spec (which FLAC tags implement), i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.

1) Could you look into supporting the -V tag? (that's capital 'V' or --verify):

QUOTE

-V, --verify Verify the encoding process. With this option, flac will create a parallel decoder that decodes the output of the encoder and compares the result against the original. It will abort immediately with an error if a mismatch occurs. -V increases the total encoding time but is guaranteed to catch any unforseen bug in the encoding process.

V is very important to many people encoding from WAV as this option increases confidence that nothing got damaged during the encoding process - I don't know how complicated it is to implement that, probably not super easy. It would be great, however!

2) I am having some trouble using the batch conversion mentioned in the readme for transcoding:

1) Could you look into supporting the -V tag? (that's capital 'V' or --verify):

It's not easy to implement this but there is a way. The biggest problem will be that you will not be able to specify just the -V tag. Instead you will have to add an additional FLAC decoder and a verifier task to the (very long) command line.

QUOTE

2) I am having some trouble using the batch conversion mentioned in the readme for transcoding: