Recently, I came across an encoder working with the FLAC format and shifting part of the encoding process to the GPU using CUDA. The program is called
FlaCuda and you can take it
here . Despite being written using .NET, it works great with Mono. In any case, I have not had any difficulties with using it on Ubuntu 9.10 amd64.
The program works quite quickly, when compressing the same audio file flac, flake and flacuda showed the following results (amd x2 4200+, geforce 9800 GT):
program | encoding time | target file size |
flac | 127 s. | 425.3 MB |
flake | 106 s. | 425.9 MB |
flacuda | 24 c. | 424.1 MB |
')
The compression level of all programs was set to 8. We get a solid fivefold increase in speed. True, such a gain can be achieved only on long files. On 3-6-minute records, the encoding time is reduced by about half.
The program can take data from standard input and output to standard output, which allows it to be inserted into the pipeline. For example, I quite successfully modified cue2tracks to work with flacuda.
Now for the cons. The program is based on the flake codec, so the 24-bit sound is not able to compress. Very disappointing. No more shortcomings noticed.
The author himself warns that the program is still in the alpha stage, so it is advisable to recheck the received files. For example, you can overtake the resulting .flac back to .wav and compare it with the original one, considering the checksum of both. For development, you can follow the
forum www.hydrogenaudio.org , and there you can contact the author.
And finally - a bonus for linux users, a modified cue2tracks script, to which FlaCuda support has been added. For the script to work, you need to place the executable file “CUETools.FlaCuda.exe” in “/ usr / bin” under the name flacuda, and the dll-libraries in “/ usr / lib”.
Upd. For users, Gentoo
powerman has added packages for flacuda and modified cue2tracks to the
powerman overlay.
Download the script .