fre:ac Developer Blog
fre:ac development status update 01/2018 Print
Written by Robert   
Tuesday, 09 January 2018 21:57

Hi all, after many months, here is a new update on fre:ac development. As it has been a long time since the last update, many things have happened and I will concentrate on the most important.

Repositories on GitHub

The code repositories for fre:ac, BoCA and the smooth Class Library have been moved to GitHub. The repositories still used the ancient CVS version control system before, so the migration is also a modernization of the project infrastructure. It will make working with feature branches and collaboration with other developers much easier in the future.

Please show your support by starring the repositories on GitHub!

Digital Signal Processing Engine

Since the 20171119 release, fre:ac finally has a working DSP engine that will be further improved in the next alpha.

While the current release enables you to use the resampler component to control the sample rate, the next version will add more format converters and some effect DSPs:

  • Sample Format Converter
    This component will convert between different sample resolutions (i.e. 8, 16, 24 or 32 bit) and between integer and floating point samples.
  • Channel Converter
    The channel converter will provide channel downmixing capabilities, i.e. converting from 5.1 to Stereo and similar transformations.
  • RNNoise
    This is a noise reduction component based on a neural network and designed for speech. You should try it when converting speech recordings the next time - the results are impressive. If you are doing speech recordings regularly, make sure to have a look at the website for more information.
  • Rubber Band
    This component can control the speed and pitch of recordings independently. It's great if you are into speed-listening to audio books, but also fun to play around changing the speed of music tracks.

In addition, fre:ac will be able to do automatic conversions when a specific sample format is required by an encoder. For example, the AAC format only supports certain sample rates and earlier versions of fre:ac showed an error message if the input did not match it. Future fre:ac releases will automatically upsample to the next supported rate instead.

SuperFast Codecs

In September, I published my work on speeding up encoding using multiple parallel encoder instances. Check out the corresponding article for a fre:ac preview release with this technology - dubbed SuperFast Conversion - enabled. It will soon make it's appearance in an official fre:ac release as an experimental option and I hope to be able to enable it by default in a later release.

The preview release mentioned above includes SuperFast versions of the Opus, FAAC and Core Audio encoders. Since that release, the technology has been implemented for the FDK-AAC and Speex encoders as well and there will soon be an update. I also plan on implementing this for the LAME MP3 encoder, but that will take some time due to the peculiarities of the MP3 format and related difficulties in applying this technology.

Core Audio on x64 Linux

Prior to the 20171119 release, to get the Core Audio encoder working on 64 bit Linux, you needed a 32 bit Wine installation. While this combination is quite common, there are some who use 64 bit Wine instead. The 20171119 release now supports both variants making it much easier to use the Apple encoder on 64 bit Linux.

Codec Updates

There have been several important codec updates during the last few months. LAME 3.100 has been released more than five years after 3.99.5 and work on the FAAC encoder has resumed after more than 9 years of almost complete inactivity. The new versions are included in fre:ac 1.0.31a and the 20171119 alpha release.

Also, the Monkey's Audio (APE) encoder is now available on non-Windows systems thanks to the help of its developer. It was great to work with him to make Monkey's Audio more portable.

And more...

There are many more smaller improvements and fixes that went into the latest releases or will go into the upcoming ones, but after such a long time it's really too much to mention everything here in detail. Here are just some keywords for the more notable ones:

  • Fixes for running on macOS 10.13
  • Allow CDDB queries when no CD drive is present
  • Fixes for USB CD-ROM drive detection
  • Made AAC decoders work independent of file extensions

Upcoming Releases

Work on the next fre:ac 1.1 alpha release is progressing really well and I expect it to be out in January. It will be almost feature complete in terms of my plans for 1.1, so it should be the last alpha release before fre:ac 1.1 beta 1. Hooray!!! :)

There will also be an update to the 1.0.x release series with some minor fixes probably in February.