IPB

Welcome Guest ( Log In | Register )

6 Pages V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
Open Source Fraunhofer AAC Encoder (fdk-aac)
sluggy
post Mar 1 2013, 12:05
Post #76





Group: Members
Posts: 54
Joined: 22-June 12
Member No.: 100900



https://sites.google.com/site/qaacpage/news...scriptforfdkaac

https://sites.google.com/site/qaacpage/cabinet
Go to the top of the page
+Quote Post
kode54
post Mar 1 2013, 16:19
Post #77





Group: Admin
Posts: 4502
Joined: 15-December 02
Member No.: 4082



@nu774: Very nice! Now, if anyone finds any samples which prove to be difficult to encode gaplessly, it should be fairly easy to add some countermeasures. The simplest to add would be to add an LPC function, like the one Vorbis employs, which I later lifted for opus-tools. Then you predict maybe 1-2ms away from each end of the input file, depending on the size of the frames or the profile being encoded, and add the extra start samples to the delay, and add the rest to the padding.
Go to the top of the page
+Quote Post
LithosZA
post Mar 2 2013, 11:45
Post #78





Group: Members
Posts: 181
Joined: 26-February 11
Member No.: 88525



Are there any freely available decoders than can decode AAC-ELD encoded from fdkaac.exe?
Go to the top of the page
+Quote Post
db1989
post Mar 2 2013, 17:51
Post #79





Group: Super Moderator
Posts: 5156
Joined: 23-June 06
Member No.: 32180



Split: Copyright vs. patents, source code vs. compiled binaries, etc.
Go to the top of the page
+Quote Post
kareha
post Mar 2 2013, 20:58
Post #80





Group: Members
Posts: 45
Joined: 1-September 11
Member No.: 93415



Just wondering if there's any need to use this rather than QAAC which I've been happily using since it first came out.
Go to the top of the page
+Quote Post
[JAZ]
post Mar 3 2013, 11:36
Post #81





Group: Members
Posts: 1710
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



@kareha: That rather depends if you consider "not needing to have quicktime, or its libraries in the system" as a "need".

If your question was specifically about audio quality, I am not sure if it has been tested after fixing some of the problems that arose in this thread, but the encoder in Winamp is known to be of good quality, and this one comes from the same company.
Go to the top of the page
+Quote Post
bat_guano
post Mar 3 2013, 15:05
Post #82





Group: Members
Posts: 15
Joined: 7-January 13
Member No.: 105656



QUOTE (LithosZA @ Mar 2 2013, 12:45) *
Are there any freely available decoders than can decode AAC-ELD encoded from fdkaac.exe?

I don't think so. sad.gif

The fdk-aac library has libAACdec as well as libAACenc, so maybe it needs somebody like nu774 to write a decoder frontend.
(Or to add decoder capability to fdkaac.exe) smile.gif
Go to the top of the page
+Quote Post
nu774
post Mar 3 2013, 15:47
Post #83





Group: Developer
Posts: 476
Joined: 22-November 10
From: Japan
Member No.: 85902



I don't feel like writing decoder frontend only for AAC-ELD, and I guess applications that actually need low delay codec (such as VoIP) will not be using batch style CLI frontend anyway.
Do you really need it?
Go to the top of the page
+Quote Post
LithosZA
post Mar 3 2013, 16:08
Post #84





Group: Members
Posts: 181
Joined: 26-February 11
Member No.: 88525



QUOTE
Do you really need it?

Nope smile.gif
I just wanted to test out AAC-ELD against Opus
Go to the top of the page
+Quote Post
nu774
post Mar 3 2013, 16:21
Post #85





Group: Developer
Posts: 476
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (LithosZA @ Mar 4 2013, 00:08) *
QUOTE
Do you really need it?

Nope smile.gif
I just wanted to test out AAC-ELD against Opus

I understand that needs, and actually if I were not too lazy I might have written that only for testing purpose smile.gif
Go to the top of the page
+Quote Post
kode54
post Mar 15 2013, 00:51
Post #86





Group: Admin
Posts: 4502
Joined: 15-December 02
Member No.: 4082



I ran these samples by Case, with various encoding modes, and although I don't necessarily hear a gap, he claims to hear a loud pop on track change transition.

At the very least, taking a note from how vorbisenc works should help somewhat with cases like these. libvorbis bundles a handy linear predictive coding function. You pick a LPC order, like 32 or 64 samples, prime one filter per input channel with at least the last order count samples, then use exactly the last order samples to predict forwards for about 1 or 2 milliseconds worth of samples. Actually, since the beginning of the file comes first, you do that backwards to the beginning of the file to predict a few milliseconds of extra delay.

Once all that extra delay is predicted around the input data, the lead-in delay is added to the encoder delay, and the duration is left alone, so the lead-out delay is truncated as well.

I can look into implementing this and running test files by Case to see if his apparent decent ears can catch a gap after even that much precaution is applied.

(EDIT: For an example of how it could be applied to an input chain, see Opus Tools, where I implemented it as a post EOF padding function. I also implemented it as a pre-track padding function, but that patch was never accepted, I don't think.)
Go to the top of the page
+Quote Post
nu774
post Mar 15 2013, 02:44
Post #87





Group: Developer
Posts: 476
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (kode54 @ Mar 15 2013, 08:51) *
I ran these samples by Case, with various encoding modes, and although I don't necessarily hear a gap, he claims to hear a loud pop on track change transition.

Thanks for suggestion. Maybe I can take padder from opus-tools. However, without someone who actually find or hear glitches, how it could be tested if it is really fixed or improved?
I tried those samples with fdkaac, but I couldn't hear the glitches.
Go to the top of the page
+Quote Post
Takla
post Mar 19 2013, 00:48
Post #88





Group: Members
Posts: 169
Joined: 14-November 09
Member No.: 74931



QUOTE (sluggy @ Jan 5 2013, 22:18) *
https://github.com/nu774/fdkaac

Has anyone tried this frontend yet?


I compiled it this morning and have been trying it out. It works exactly as described as far as I can tell. A couple of days ago I built libfdk_aac from git in order to build ffmpeg with libfdk_aac support. For music I prefer the fdkaac binary to using ffmpeg with libfdk_aac for several reasons:

ffmpeg with libfdk_aac doesn't produce files which play back gaplessly. fdkaac standalone does produce files which play back with perfect gapless by default. I've tested this with some passages I know well and always notice if there is any defect, and I also checked with the files linked at Small Pop between tracks.. which apparently can cause problems with lame.

fdkaac can write tags using simple, sane syntax and has a very neat feature where it can set tags from ffprobe's json output, so you run

CODE
ffprobe -v quiet -print_format json -show_format INFILE >TAGS


then encode with

CODE
fdkaac ENCODE_OPTIONS --tag-from-json TAGS?format.tags INFILE


This is great in a script and saves having to do text manipulation gymnastics with sed, awk or grep.

I haven't done any abx testing but I have encoded various problem samples such as trumpet, eig_essence and some others. fdkaac is fine with eig_essence at 128k CBR or any LC VBR mode, while ogg, lame and faac all fail very unambiguously at default settings.

I tried the HE modes for some speech files and it works really well. Music with the LC VBR settings seems great, though I will have to do some more listening and some abx tests of stuff I know has made me wince in the past.

This is the first really useable free(dom) software aac encoder I've found. FAAC would be ideal if it didn't sound like ess aich eye tee, so I resorted to using neroAacEnc for movie soundtracks but it is sometimes extremely inconvenient because it's 32-bit only and while it runs on multi-arch 64-bit Debian it has no large file support. For music I've been using Ogg Vorbis -q 7 and for mono speech (converting audio book CDs and similar) I've been using "lame --resample 22.05 -m m --abr 64" (lame is surprisingly good for speech at these settings). I'm starting to think fdkaac/libfdk_aac can probably work at least as well in each distinct role (movie audio tracks, music, speech). It encodes at about the same speed as the other lossy encoders I use and all my players support it.

A big thanks to nu774 for this implementation.
Go to the top of the page
+Quote Post
Takla
post Mar 20 2013, 00:49
Post #89





Group: Members
Posts: 169
Joined: 14-November 09
Member No.: 74931



QUOTE (D404 @ Jul 11 2012, 16:02) *
It can be used as such:

Bitrate Mode
CODE
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>


VBR Mode
CODE
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output>


VBR modes 1-5 correspond to roughly:
  1. about 32 kbps/channel
  2. about 40 kbps/channel
  3. about 48-56 kbps/channel
  4. about 64 kbps/channel
  5. about 80-96 kbps/channel

-afterburner 1 enabkes "improved quality" mode.


There is no need to enable afterburner in ffmpeg or in fdkaac as it is enabled by default. To switch it off use -afterburner 0 (ffmpeg) or -a 0 (fdkaac), though it's hard to think of a circumstance where switching it off makes sense but if you can then you can.

The LC VBR modes don't really correspond with the above values. Perhaps they did then, but they don't now (unless libav does something radically different than ffmpeg or vanilla libfdk/fdkaac). One big difference between the modes is the lowpass filter: vbr 1 and 2 use the same value of about 13 KHz; vbr 3 is at slightly over 15 KHz; vbr 4 is at about 15.75 KHz and vbr 5 appears not to use any lowpass filter at all.

vbr 1 and 2 are usually so similar as to be interchangeable, or possibly for one mode to be redundant. I tend to get stereo files encoded to between 110 and 128 kbps, though sometimes over 140.
vbr 3 gives me stereo files a little larger, maybe from 135 to over 160 k, occasionally over 180 (that was solo piano, an old analogue recording with obvious hiss).
vbr 4 might produce stereo files from 155k and even up to over 220 k.
vbr 5 bitrates can be very large, over 350 k, though 280 - 320 seems normal.

Those ranges of values are for two channels and from encoding numerous two channel audio extracted from pressed CD, some orchestral music, some rock/pop, some solo piano, some speech. Peaks can be very high in any mode. In broad terms the per-channel values D404 estimated can realistically be multiplied x1.5 with the current version. In terms of bitrates and lowpass I get the same values whether using ffmpeg or fdkaac (the only difference being that ffmpeg output doesn't play gaplessly).

It seems odd to have two (relatively) lower bitrate vbr modes, 1 and 2, which use the same low lowpass filter and produce extremely similar results. Modes 3 and 4 are well differentiated in terms of lowpass and usually bitrate, while the difference between modes 4 and 5 can be massive, though the likelihood of any human hearing a difference must be very small indeed. It seems to me that anyone interested in LC -vbr 1 setting would do better to look at the HE CBR mode, while -VBR 5 might only be useful for killer samples.

This post has been edited by Takla: Mar 20 2013, 00:50
Go to the top of the page
+Quote Post
sluggy
post Mar 22 2013, 14:41
Post #90





Group: Members
Posts: 54
Joined: 22-June 12
Member No.: 100900



Yes i thought the vbr modes were a bit strange too, they dont seem to be very even. i use vbr 4 with a lowpass filter of 18500.
Go to the top of the page
+Quote Post
Takla
post Mar 22 2013, 19:43
Post #91





Group: Members
Posts: 169
Joined: 14-November 09
Member No.: 74931



QUOTE (sluggy @ Mar 22 2013, 13:41) *
... with a lowpass filter of 18500.


How do you do this? libfdk_aac (ffmpeg) or fdkaac don't have any option to configure the lowpass filter and the vbr modes are predefined.

If you're using the Winamp version then configuring the lowpass in Winamp will be a waste of time (or worse) because the encoder will still apply its own lowpass filter regardless, see http://www.hydrogenaudio.org/forums/index....st&p=824223

I suspect that if you make a spectrogram of any of your files made with "vbr 4 with a lowpass filter of 18500" it will show a hard cut off at about 16k.

edit: -vbr 5 with custom lowpass might be possible.

This post has been edited by Takla: Mar 22 2013, 19:45
Go to the top of the page
+Quote Post
sluggy
post Mar 22 2013, 19:49
Post #92





Group: Members
Posts: 54
Joined: 22-June 12
Member No.: 100900



QUOTE (Takla @ Mar 22 2013, 18:43) *
QUOTE (sluggy @ Mar 22 2013, 13:41) *
... with a lowpass filter of 18500.


How do you do this? libfdk_aac (ffmpeg) or fdkaac don't have any option to configure the lowpass filter and the vbr modes are predefined.

If you're using the Winamp version then configuring the lowpass in Winamp will be a waste of time (or worse) because the encoder will still apply its own lowpass filter regardless, see http://www.hydrogenaudio.org/forums/index....st&p=824223

I suspect that if you make a spectrogram of any of your files made with "vbr 4 with a lowpass filter of 18500" it will show a hard cut off at about 16k.

edit: -vbr 5 with custom lowpass might be possible.


I use fdkaac with fb2k, this is one of the switches -w, --bandwidth <n> Frequency bandwidth in Hz (AAC LC only)

So in fb2k i use this parameter, -m 4 -w 19500 --ignorelength - -o %d

Check this page for switches. https://github.com/nu774/fdkaac/blob/master/src/main.c

This post has been edited by sluggy: Mar 22 2013, 19:51
Go to the top of the page
+Quote Post
Takla
post Mar 22 2013, 20:09
Post #93





Group: Members
Posts: 169
Joined: 14-November 09
Member No.: 74931



Thanks for that. It's right there in front of me when I run fdkaac without options but I hadn't even noticed....... doh.
Go to the top of the page
+Quote Post
eahm
post Sep 7 2013, 02:59
Post #94





Group: Members
Posts: 884
Joined: 11-February 12
Member No.: 97076



nu774, your news page has the changelog for fdkaac 0.2.0, where can I find the one for 0.3.0?

Thanks.
Go to the top of the page
+Quote Post
nu774
post Sep 7 2013, 03:33
Post #95





Group: Developer
Posts: 476
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (eahm @ Sep 7 2013, 10:59) *
nu774, your news page has the changelog for fdkaac 0.2.0, where can I find the one for 0.3.0?

New option --moov-before-mdat was added at 0.3.0 (it was 3month ago).
By default, fdkaac works the same as "qaac --no-optimize" regarding container layout.

Since fdkaac is source only and you have to fetch from github repo, I has been thinking that git history in the repo should be enough.
Maybe you can at least blame me for empty ChangeLog in the source, that was created merely to shut up GNU autotools...
Go to the top of the page
+Quote Post
eahm
post Oct 19 2013, 22:02
Post #96





Group: Members
Posts: 884
Joined: 11-February 12
Member No.: 97076



fdkaac_autobuild.zip from https://sites.google.com/site/qaacpage/cabinet now creates fdkaac.exe 0.3.1. Updated yesterday.

nu774, can you please write the changelog of fdkaac to your website news section https://sites.google.com/site/qaacpage/news ?

Thanks!

This post has been edited by eahm: Oct 19 2013, 22:04
Go to the top of the page
+Quote Post
bat_guano
post Oct 20 2013, 01:28
Post #97





Group: Members
Posts: 15
Joined: 7-January 13
Member No.: 105656



QUOTE (LithosZA @ Mar 2 2013, 11:45) *
Are there any freely available decoders than can decode AAC-ELD encoded from fdkaac.exe?

It has been added to FFmpeg about a month ago... cool.gif ---> paste
Go to the top of the page
+Quote Post
IgorC
post Oct 25 2013, 00:30
Post #98





Group: Members
Posts: 1506
Joined: 3-January 05
From: Argentina, Bs As
Member No.: 18803



Does ffmpeg support decoding of low delay SBR?

http://git.videolan.org/?p=ffmpeg.git;a=bl...ain;f=Changelog
CODE
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)


Go to the top of the page
+Quote Post
eahm
post Oct 30 2013, 23:32
Post #99





Group: Members
Posts: 884
Joined: 11-February 12
Member No.: 97076



I can't get the .exe with fdkaac_autobuild.zip, trying to get 0.4.2. 0.4.1 worked.

This post has been edited by eahm: Oct 30 2013, 23:33
Go to the top of the page
+Quote Post
sluggy
post Oct 30 2013, 23:39
Post #100





Group: Members
Posts: 54
Joined: 22-June 12
Member No.: 100900



QUOTE (eahm @ Oct 30 2013, 22:32) *
I can't get the .exe with fdkaac_autobuild.zip, trying to get 0.4.2. 0.4.1 worked.


Same here??
Go to the top of the page
+Quote Post

6 Pages V  « < 2 3 4 5 6 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th April 2014 - 00:57