Skip to main content
Topic: exhale - Open Source xHE-AAC encoder (Read 3999 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: exhale - Open Source xHE-AAC encoder

Reply #25
Exhale has more restrictions than I expected.

It doesn't support 44.1 and 48 kHz for Stereo@64 and 80 kbps, and even no 32 kHz support for Stereo@64 kbps, although AAC-LC, HE-AAC and Opus support 48 kHz at those bit rates.

Re: exhale - Open Source xHE-AAC encoder

Reply #26
Although Apple's AAC-LC encoder can encode 44.1kHz signal at 64kbps / 80kbps, the result is band-limited to 12kHz / 15kHz, respectively.

Re: exhale - Open Source xHE-AAC encoder

Reply #27
exhale is at an early stage of development. It will take time to get a proper quality.
I think it's worth to test at 96 kbps and higher at this point.

 

Re: exhale - Open Source xHE-AAC encoder

Reply #28
Exhale ... doesn't support 44.1 and 48 kHz for Stereo@64 and 80 kbps ... although AAC-LC ... and Opus support 48 kHz at those bit rates.
Supporting those sampling/bit-rate combinations doesn't mean those will sound good, i.e., better than the same bit-rate with a lower sampling rate. In fact, with AAC-LC they don't. exhale, like AAC-LC, doesn't implement Spectral Band Replication (SBR) as a means for bandwidth extension (see also my first post, #9, in this thread), so the best average sound quality you can get with CVBR preset 1 is with a sampling rate of 22.05 or 24 kHz.

That being said, the <=32-kHz restriction for CVBR preset 2 is imposed by the exhale application, not the coding library. I just removed that constraint in the Git source code so you can encode 44.1-kHz audio at roughly 80 kbit/s stereo and an audio bandwidth of 15.2 kHz. However, this is not a recommended configuration since, to my ears, at this rate exhale sounds a bit better with an input sampling rate of 32 kHz. So I added a WARNING print-out during encoding if you use that configuration.

By the way, are people interested in automatic downsampling of >32 kHz audio for encoding with CVBR modes 1 and 2? Then I'll add this to my To-Do list for a later release version.

Edit: I just released version 1.0.2 of exhale with basic joint-stereo coding support for CVBR modes below 5 and some speed-up over the previous version, see

https://gitlab.com/ecodis/exhale/-/releases/v1.0.2

Regarding the mid-quality range (CVBR modes 1 - 4), we're slowly but steadily getting to a point where I'm actually beginning to like exhale's audio quality ;) But there are some issues left to address. Most importantly, I hear some rare plops and clicks which obviously need to be fixed. At this point I don't know, though, whether these are a result of a bug or some shortcoming in exhale's psychoacoustic model. If there is anyone interested in testing exhale (e.g. with the latest foobar2000 version 1.5.3 and kode54's decoder component from https://www.foobar2000.org/components/view/foo_pd_aac, you can play xHE-AAC files in foobar2000), please help me out by reporting here any occurrences of

- signal amplifications (plops, clicks, hiss, noise bursts, etc.) or attenuations (spectral holes, drop-outs, stereo image collapse, etc.)
- undercoding (average bit-rate much lower than CVBR target rate) or overcoding (average bit-rate much higher than target rate)

on any file or audio sample in your collection. All these cases are unintended at any target rate and, therefore, indicate an issue.

Thanks and stay healthy!

Chris
If I don't reply to your reply, it means I agree with you.

Re: exhale - Open Source xHE-AAC encoder

Reply #29
Chris, kode54

Thank You for foobar2000 xHE decoder.  That was fast.  :)
I will try to give a try to a new release now that  real-part joint stereo was implemented.


Re: exhale - Open Source xHE-AAC encoder

Reply #30
@Christian/C.R.Helmrich
reg. https://gitlab.com/ecodis/exhale > Readme.md
after reading some notes in this topic..maybe it makes sense to optimise pointing out what exhale is aimed at, maybe also the notes about bitrate-assessments and maybe to add a chapter with simple recommendations or a list of some quote-snippets - just to better put things into a frame and as it still happens that interesting notes might get unnoted in existing evolving forum-discussions, and beside the wiki.
Of course there is https://www.iis.fraunhofer.de/de/ff/amm/rundfunk-streaming/xheaac.html, their Audio-Blog and much more.
From a user point of view it is sometimes challenging to accurately class things - there are always tech-interested-users following advancing topics 8)

Re: exhale - Open Source xHE-AAC encoder

Reply #31
If anyone is interested, there are win32 and x64 compiles available here:

exhaleApp_v1.0.2_win32.rar

exhaleApp_v1.0.2_x64.rar

 :)

Edit to add version munber.
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/

Re: exhale - Open Source xHE-AAC encoder

Reply #32
@Christian/C.R.Helmrich
reg. https://gitlab.com/ecodis/exhale > Readme.md
after reading some notes in this topic..maybe it makes sense to optimise pointing out what exhale is aimed at, maybe also the notes about bitrate-assessments and maybe to add a chapter with simple recommendations or a list of some quote-snippets - just to better put things into a frame and as it still happens that interesting notes might get unnoted in existing evolving forum-discussions, and beside the wiki.
You mean summarizing, e.g. in the Read-Me, things like the fact that SBR is not implemented in exhale, some notes of my first post in this thread, and how to decode xHE-AAC files? I'll add some of that information into the exhale Wiki, but I guess you're right, I could link to more information in the Read-Me. Thanks for the suggestion!

I will try to give a try to a new release now that real-part joint stereo was implemented.
Note that only a basic full-frame version of that tool is implemented so far. I'll add a bit more joint stereo functionality to fully exploit what the USAC standard allows, hopefully during the next few weeks.

Chris
If I don't reply to your reply, it means I agree with you.

Re: exhale - Open Source xHE-AAC encoder

Reply #33
Bug in the Windows version: If you give it a relative path for the input files (and possibly also the output files), it will resolve that path against the current working directory, which the executable appears to set to its own location, rather than whatever it was when it was invoked. Thus, I find I need to give it absolute paths.

This also breaks use with the foobar2000 converter, which uses CWD plus pathless filename, rather than absolute paths, when invoking converters.

Re: exhale - Open Source xHE-AAC encoder

Reply #34
Note that only a basic full-frame version of that tool is implemented so far. I'll add a bit more joint stereo functionality to fully exploit what the USAC standard allows, hopefully during the next few weeks.
Yes,  it's true. xHE-AAC also implements complex-value (MDST) joint stereo.

I haven't performed critical listening test yet, hopefully will get into it sooner.  But I have encoded few albums +critical samples  at ~96 kbps (CVBR 3)  and quality actually is very good!  Maybe it's not perfect-perfect (considering bitrate) but it's on high side, that's for sure.  I hear some HF flushing, smearing and slightly metallic noise that's typical to AAC family codecs, some minor transients artifacts. But it's  just very slightly and only in some situations, so no showstopper .  :)  I haven't noticed any heavy stereo coupling either.

Some numbers. Right now exhale codes up to 15.6-15.8 kHz at 96 kbps, similar as for high-quality LC-AAC encoders.

Encoding speed on my i7-9750H
1 thread - ~13-14x
all 12 threads - ~90x

Decoding speed - ~174x

As for my hardware it's fast enough.

All in all, it's a good release and definitely great start.

Thank You.

P.S. Bitrate distribution (CVBR) is fair and conservative, similar to Apple AAC CVBR.

Re: exhale - Open Source xHE-AAC encoder

Reply #35
 First and fast test of xHE at ~96 kbps. I just jumped to compare exhale xHE-AAC encoder with today best performers, Opus and Apple AAC.

Files exhale 1.0.2.1  test 96 kbps

TL;DR

Opus performs best on transients
Apple AAC and exhale xHE-AAC  perform best on tonal samples.
xHE-AAC exhale is in active development, so quality will improve.

Q: Why AAC and Opus are on par in my personal test while  Opus outperforms  AAC in public test?
A: Because my particular perception is somewhat different from a perfectly representative listener.  https://listening-test.coresv.net/s/donator_IgorC.svg

I think other members of Hydrogenaudio forum can try and report issues, bugs and hard samples  while exhale is in active development.  You can find everything in previous posts, binaries of encoder and foobar decoder.


 
SimplePortal 1.0.0 RC1 © 2008-2020