Long time no activity around here...
For some time now I've been using AAC as the default codec for portable usage (128GB OnePlus 5) and I've been quite happy with it. Because I didn't want to mess with Winamp or iTunes (or any method of extracting the needed files from their installers) I've always used AAC (FDK) encoder included with foobar2000.
The other day I thought of bumping the encoding quality a little (since a slight size increase would not be a problem) and decided to re-encode my library with the VBR 5 (instead of VBR 4). Halfway through the encoding process I checked the results and the size increase is quite big. By sampling 6 albums (89 tracks) VBR 5 is about 1.78 times bigger than VBR 4. (131 kbps vs 233 kbps average bitrate).
So my question comes...
Is there a way to encode with some profile between VBR 4 and VBR 5?
I have to mention that I tried tweaking the settings from foobar2000 and looked at fdkaac.exe's parameters without figuring out anything useful... VBR 4.5 results in VBR 4
There is no intermediate VBR quality with fdk-aac between 4 and 5, there are only 5 VBR encoding modes in the library : https://github.com/mstorsjo/fdk-aac/blob/master/libAACenc/src/aacenc.h#L168.
All fdk-aac encoders use the same code, directly or through FFmpeg, so they all have the same limitations.
Thanks for your reply dutch109!
Looking over the link you sent me, the comment for VBR 5 states /*!< Variable bitrate mode, about 80-96 kbps/channel. */.
I guess I'll encode and run some statistics for my whole library. My average bitrate for the 89 tracks was 116,5 kbps, which feels a little bit too much off from the expectations.
Either my sample was full of hard to encode songs (by coincidence), or my preferences (mostly metal, rock, goth, synth pop) are hard to encode in general.
I'll start encoding and report back in 12-24 hours.
PS: I just realized that my alerts settings got turned off somehow...
So I did the conversion. 5907 tracks from various genres (metal, rock, some synth pop, etc), mostly belonging to albums, EP's and singles. I used foobar2000 v1.4 and fdkaac v0.6.3. Here are the results:
V5: 222.64 kbps (111.32 kbps per channel)
V4: 128.73 kbps (64.36 kbps per channel)
Ratio between the two 1.73
I consider the average bitrate to be relevant giving the amount of tracks and how varied they are. Indeed, the tracks tend to belong to genres that are inherently harder to encode, but given that V4 sticks very close to what the documentation says (less than 0.5 kbps variation), I'm very surprised that V5 doesn't do the same.
Any thoughts on this?
If you want a avg vbr bitrate between -m4 (V4) and -m5 (V5) just use the following option for fdkaac:
-w, --bandwidth <n>
Frequency bandwidth (lowpass cut-off frequency) in Hz. Available on AAC LC only.
V4 uses as a default (-w 15500) for lowpass and V5 uses 20000 (the full spectrum). So in V4 you can pass the -w option and increase it to ex. 17500 which will yield a higher average vbr bitrate than default V4 but less than V5.
A new day, more encoding... Same 5907 tracks...
Here are the parameters I used, with the only difference that -m was followed by 4 or 5:
-I -S -m 4 -o %d --afterburner 1 --bandwidth 17500
V4: 140.23 kbps (70.11 kbps per channel)
V5: 184.32 kbps (92.16 kbps per channel)
ABX testing will follow in next weeks.
Thanks guys for your answers!
You could just spend much less amount of time to figure out how to make portable Apple QAAC without installing any software.
Apple/QAAC is the best LC-AAC encoder and has plenty VBR bitrate settings 128,144,160,192 kbps .....