HydrogenAudio

Lossy Audio Compression => AAC => AAC - Tech => Topic started by: /mnt on 2015-06-14 20:12:12

Title: Questionable pre-echo handling with Apple's AAC encoder
Post by: /mnt on 2015-06-14 20:12:12
Lately I have been planning to re-transcode my lossless music collection to a smaller bitrate to reduce the size for my iPhone and mini 16GB USB stick that I use for my car stereo. So I thought I will do some testing with AAC at 160 kbps. A small test was done with a small collection of lossless albums that I have laying about on my main computer's hard drive. Apple's AAC encoder does really well at 82 true VBR, however the pre-echo handling seems to be really bad to my ears.

I have encoded 6 albums at True VBR 82 and CVBR 160 kbps and found a couple of tracks that have obvious artifacts that seem to be very noticeable on Apple's AAC encoder:

True VBR q82:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 02:05:45

File A: C:\Temp\AAC VBR 82\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.m4a
File B: C:\Rips\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.flac

02:05:45 : Test started.
02:06:02 : 01/01  50.0%
02:06:05 : 02/02  25.0%
02:06:10 : 03/03  12.5%
02:06:15 : 04/04  6.3%
02:06:21 : 05/05  3.1%
02:06:29 : 06/06  1.6%
02:06:38 : 07/07  0.8%
02:06:45 : 08/08  0.4%
02:06:53 : 09/09  0.2%
02:06:59 : 10/10  0.1%
02:07:01 : Test finished.

----------
Total: 10/10 (0.1%)

Artifact appears at 0:02, due to the sharp percussion.

CVBR at 160kbps:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 02:11:24

File A: C:\Rips\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.flac
File B: C:\Temp\AAC CVBR 160\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.m4a

02:11:24 : Test started.
02:11:39 : 01/01  50.0%
02:11:47 : 02/02  25.0%
02:12:03 : 03/03  12.5%
02:12:09 : 04/04  6.3%
02:12:22 : 05/05  3.1%
02:12:40 : 06/06  1.6%
02:12:51 : 07/07  0.8%
02:12:58 : 08/08  0.4%
02:13:04 : 08/09  2.0%
02:13:15 : 09/10  1.1%
02:13:28 : Test finished.

----------
Total: 9/10 (1.1%)

The artifact stills appears, but it is less noticeable.

True VBR q91:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 02:08:56

File A: C:\Rips\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.flac
File B: C:\Temp\AAC VBR 91\Nine Inch Nails\Hesitation Marks\1.04. Find My Way.m4a

02:08:56 : Test started.
02:09:23 : 01/01  50.0%
02:09:34 : 02/02  25.0%
02:09:42 : 03/03  12.5%
02:09:51 : 04/04  6.3%
02:09:57 : 05/05  3.1%
02:10:07 : 06/06  1.6%
02:10:12 : 07/07  0.8%
02:10:17 : 08/08  0.4%
02:10:24 : 09/09  0.2%
02:10:35 : 10/10  0.1%
02:10:36 : Test finished.

----------
Total: 10/10 (0.1%)


The artifact still appears and sounds worse then 160 CVBR. The track seems fine with libfdk-aac 3.4.12 at VBR V4.

Another track from the collection pool, that produces obvious pre-echo artifacts that both appear on LAME and libfdk-aac:

True VBR q82:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 13:52:54

File A: C:\Rips\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).flac
File B: C:\Temp\AAC VBR 82\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).m4a

13:52:54 : Test started.
13:53:19 : 01/01  50.0%
13:53:24 : 02/02  25.0%
13:53:31 : 03/03  12.5%
13:53:37 : 04/04  6.3%
13:53:45 : 05/05  3.1%
13:53:51 : 06/06  1.6%
13:53:57 : 07/07  0.8%
13:54:05 : 08/08  0.4%
13:54:18 : 09/09  0.2%
13:54:26 : 10/10  0.1%
13:54:28 : Test finished.

----------
Total: 10/10 (0.1%)

A very obvious artifact appears past 0.01, which shares a similar problem to the Show Me Your Spine sample.

CVBR at 256kbps:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 14:07:50

File A: C:\Rips\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).flac
File B: C:\Temp\CVBR 256\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).m4a

14:07:50 : Test started.
14:08:04 : 01/01  50.0%
14:08:12 : 02/02  25.0%
14:08:21 : 03/03  12.5%
14:08:31 : 04/04  6.3%
14:08:40 : 05/05  3.1%
14:08:49 : 06/06  1.6%
14:09:02 : 07/07  0.8%
14:09:09 : 08/08  0.4%
14:09:23 : 09/09  0.2%
14:09:38 : 10/10  0.1%
14:09:41 : Test finished.

----------
Total: 10/10 (0.1%)

Since the artifact was really obvious, I jumped to constrained VBR at 256kbps. The artifact is still present but is more softer and tolerable.

Libfdk-AAC at VBR 4:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 18:40:31

File A: C:\Temp\Fhg AAC VBR 4\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).m4a
File B: C:\Rips\Gary Numan\Splinter (Songs from a Mind) [Deluxe Edition]\2.05. I Am Dust (Roman Remains Remix).flac

18:40:31 : Test started.
18:40:55 : 01/01  50.0%
18:41:07 : 01/02  75.0%
18:41:54 : 02/03  50.0%
18:42:04 : 03/04  31.3%
18:42:10 : 04/05  18.8%
18:42:16 : 05/06  10.9%
18:42:20 : 06/07  6.3%
18:42:28 : 07/08  3.5%
18:42:50 : 08/09  2.0%
18:43:01 : 09/10  1.1%
18:43:42 : 10/11  0.6%
18:43:50 : 11/12  0.3%
18:44:03 : Test finished.

----------
Total: 11/12 (0.3%)

A couple of artifacts appear at 0:09 - 0:13, however the libfdk-aac encode is harder to ABX compared to the samples that was encoded with Apple's AAC encoder.

Samples can be found on this link (http://www.hydrogenaud.io/forums/index.php?showtopic=109449).
Title: Questionable pre-echo handling with Apple's AAC encoder
Post by: IgorC on 2015-06-14 23:08:45
Dude, You rock.

I didn't have much of experience with FDK. It has more aggressive lowpass at lower bitrate (like 96 kbps) so I didn't pay much attention to it.
But FDK can be actually pretty good at higher bit rate. In past I gave a try to it, just fast listening (not ABX) at 128 kbps and I was actually pretty pleased.


And Nine Inch Nails has great stuff to tests. A load of extremely sharp transients those break a bunch of codecs.

P.S. So it might be worth to test AAC encoders FDK, FhG, Apple etc ...  at 128 kbps or higher
Title: Questionable pre-echo handling with Apple's AAC encoder
Post by: /mnt on 2015-06-15 00:36:15
Dude, You rock.

Thanks.

I didn't have much of experience with FDK. It has more aggressive lowpass at lower bitrate (like 96 kbps) so I didn't pay much attention to it.
But FDK can be actually pretty good at higher bit rate. In past I gave a try to it, just fast listening (not ABX) at 128 kbps and I was actually pretty pleased.


Your totally right about the aggressive lowpass, it's even too aggressive at VBR 4! Sadly VBR 5 has no lowpass filter and produces bitrates at 180 - 200 kbps, which still too low to keep full the frequency in my opinion.

I have tried some heavy metal music with FDK at VBR 4:
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/15 00:02:34

File A: C:\Temp\Fhg AAC VBR 4\Mastodon\Once More 'Round the Sun\03. High Road.m4a
File B: C:\Rips\Mastodon\Once More 'Round the Sun\03. High Road.flac

00:02:34 : Test started.
00:02:51 : 01/01  50.0%
00:02:55 : 02/02  25.0%
00:02:59 : 03/03  12.5%
00:03:03 : 04/04  6.3%
00:03:09 : 05/05  3.1%
00:03:15 : 06/06  1.6%
00:03:21 : 07/07  0.8%
00:03:26 : 08/08  0.4%
00:03:31 : 09/09  0.2%
00:03:34 : 10/10  0.1%
00:03:36 : Test finished.

----------
Total: 10/10 (0.1%)

Warbling on guitars and smeared drums.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/14 23:56:48

File A: J:\Music\Metallica - Ride the Lightning\05. Trapped Under Ice.flac
File B: C:\Temp\Fhg AAC VBR 4\Metallica\Ride the Lightning\05. Trapped Under Ice.m4a

23:56:48 : Test started.
23:57:20 : 01/01  50.0%
23:57:26 : 02/02  25.0%
23:57:32 : 03/03  12.5%
23:57:47 : 04/04  6.3%
23:57:53 : 05/05  3.1%
23:58:04 : 06/06  1.6%
23:58:09 : 07/07  0.8%
23:58:17 : 08/08  0.4%
23:58:25 : 09/09  0.2%
23:58:39 : 10/10  0.1%
23:58:44 : Test finished.

----------
Total: 10/10 (0.1%)

Warbling appears at the start when the guitar distorts, which is possibly due to the low-pass filter.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/15 00:06:32

File A: J:\Music\Mastodon - Leviathan\02. I Am Ahab.flac
File B: C:\Temp\Fhg AAC VBR 4\Mastodon\Leviathan\02. I Am Ahab.m4a

00:06:32 : Test started.
00:07:14 : 01/01  50.0%
00:07:18 : 02/02  25.0%
00:07:25 : 03/03  12.5%
00:07:30 : 04/04  6.3%
00:07:36 : 05/05  3.1%
00:07:42 : 06/06  1.6%
00:07:46 : 07/07  0.8%
00:07:50 : 07/08  3.5%
00:07:54 : 08/09  2.0%
00:07:59 : 09/10  1.1%
00:08:03 : 10/11  0.6%
00:08:07 : 11/12  0.3%
00:08:09 : Test finished.

----------
Total: 11/12 (0.3%)

Drum sounds weak or too clear, possible smearing artifact.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/15 00:08:59

File A: J:\Music\Mastodon - Leviathan\04. Island.flac
File B: C:\Temp\Fhg AAC VBR 4\Mastodon\Leviathan\04. Island.m4a

00:08:59 : Test started.
00:09:21 : 01/01  50.0%
00:09:27 : 02/02  25.0%
00:09:30 : 03/03  12.5%
00:09:38 : 04/04  6.3%
00:09:43 : 05/05  3.1%
00:09:51 : 06/06  1.6%
00:10:00 : 07/07  0.8%
00:10:08 : 08/08  0.4%
00:10:14 : 09/09  0.2%
00:10:19 : 10/10  0.1%
00:10:25 : 11/11  0.0%
00:10:29 : 12/12  0.0%
00:10:31 : Test finished.

----------
Total: 12/12 (0.0%)

Warbling artifacts on the guitar distortion.

After that quick test, it seems that FDK might not be suitable for me at VBR 4. However VBR 4 does produce low bitrates compared to q 82, so I will have to test a lower VBR setting with Apple's AAC encoder.


Title: Questionable pre-echo handling with Apple's AAC encoder
Post by: nu774 on 2015-06-15 12:03:13
A very obvious artifact appears past 0.01, which shares a similar problem to the Show Me Your Spine sample.

Indeed, pre-echo on the second bass kick (at 1.6s) of "I Am Dust (Roman Remains Remix)" is way too obvious to miss. Sounds much blighter on Apple AAC.
Title: Questionable pre-echo handling with Apple's AAC encoder
Post by: /mnt on 2015-06-15 12:56:57
I have tried the I Am Dust sample at True VBR q 127 and 320Kbps ABR. True VBR q127 produces the file at 348kbps while the 320kbps ABR is at 322kbps. What is interesting is that I'm having trouble doing a successful ABX with the 320kbps ABR encode, while the artifact still appears at q127 but much softer then q82:

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.3.6
2015/06/15 12:39:39

File A: C:\Temp\I Am Dust (Roman Remins Remix).flac
File B: C:\Temp\I Am Dust (Roman Remins Remix) q127.m4a

12:39:39 : Test started.
12:39:57 : 01/01  50.0%
12:40:04 : 02/02  25.0%
12:40:13 : 03/03  12.5%
12:40:30 : 04/04  6.3%
12:40:40 : 05/05  3.1%
12:40:48 : 05/06  10.9%
12:40:58 : 06/07  6.3%
12:41:26 : 07/08  3.5%
12:41:36 : 08/09  2.0%
12:41:44 : 09/10  1.1%
12:42:01 : Test finished.

----------
Total: 9/10 (1.1%)