Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: New Improved AAC Encoder / FAAC — I'm Looking for Feedback (Read 1337 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Introduction

Hello everyone, this is SYH. I have been developing a AAC encoder based on FAAC, aiming to improve perceived audio quality and stereo representation. I’d like to share it here on HydrogenAudio and gather your feedback and suggestions. Below are the main features and changes I’ve implemented.

Main Features of the Improved AAC Encoder

1. Consistent 20 kHz bandwidth across all bitrates (default setting into using quality mode)

By default using quality mode, the encoder now preserves frequencies up to around 20 kHz regardless of bitrate.

Users can still fine-tune the bandwidth in the encoder settings if needed.

2. Optimized quantization band “distortion” (leveraging loudness masking)

In loud passages (where sound is already quite intense and tends to mask minor distortions), bits can be allocated more efficiently.

This optimization aims to reduce perceived distortion in the rest of the track, especially in softer or more nuanced sections.

3. Refined PNS (Perceptual Noise Substitution)

Even when PNS is “on,” it doesn’t just stay enabled at all times; it adapts by frequency band.

This approach applies stronger PNS to areas like reverberation and higher frequencies above ~14 kHz, while avoiding unnecessary or incorrect usage in other bands.

4. Additional stereo mode (mixed usage of MS and IS within the same frame)

A new “mixed mode” can utilize MS (Mid-Side) and IS (Intensity Stereo) within the same frame.

By selectively switching per band, the encoder attempts to maintain strong stereo separation while still conserving bits where possible.

5. Enhanced stereo representation

To preserve a more natural stereo field, more of the original stereo information is retained, especially in reverberant or spatially wide sections.

About Bitrate into Quality

-q500 56kbps-80kbps
-q1000 80kbps-112kbps
-q1500 112kbps-144kbps
-q2000 144kbps-160kbps
-q3000 160kbps-224kbps
-q5000 224kbps-

I changed Limit up to -q10000.
I don't recommend if you will use bitrate mode. This encoder may not improved for using bitrate mode.

Expected Benefits and Remaining Challenges

These changes aim to alleviate the common “lack of high-frequency detail” and “weak stereo image” at lower bitrates, while also improving performance at higher bitrates.

Because PNS and stereo mode switching are more complex, there may still be bugs or unexpected behavior in certain edge cases.

Of course YES, I am ready to improve when you take me some issue or bug.

Real-time encoding and lower sample rates (e.g., 32 kHz) have not been exhaustively tested yet, so any related feedback is especially welcome.

What I’d Love Feedback On

Subjective audio impressions
About quantize noise of low level

How does the compare to other AAC encoders (e.g., FDK-AAC, Apple’s AAC)?


About Compatibility and bug reports


Suggestions for further improvement

If you have any ideas on how to refine the encoder, your insights would be extremely valuable.

Download & Test
I’ve prepared a test build (Windows binary)(: (I checked this software is not having malware in Avast!)

The Link is the top!

Conclusion

Thank you for reading this introduction. This project is still in an experimental stage, and I truly appreciate any input you might have—whether it’s about encoding quality, speed, CPU usage, or anything else. I look forward to your feedback and hope we can collaborate to further improve this AAC encoder!

Anyway, Thank you for interested my topic, I hope good impression of this encoder, but Don't Forget Still BETA on this encoder. This is just a AAC-LC Encoder, Please Don't Forget.

 :) And I promise This project will be more exciting than now ! :)


Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #1
Uploaded BETA 1.01
Having Various Bug Fix

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #2
I must be doing something wrong, but command line "fimpaac.exe -w -q5000 -b 256 <infile.wav> -o <outfile.m4a> does not produce even close to 256 kbps files. A longer test file turned out at ~180 kbps, a short one at 94 kbps.
Same parameters with faac.exe do produce 256 kbps files and they sound better.

The 94 kbps sample sounds awful but its bitrate isn't comparable with competition. The 178 kbps file is noticeably noisier in quiet parts. The 178 kbps file sounds worse to me than ffmpeg AAC encode at 128 kbps. I used track Heal from Heather Nova's 1994 album Oyster.

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #3
I think you are supposed to use either -q, or -b, but not both. -q for quality and -q 5000 in a brief test does seem to equate to around 250kbps, material dependent, of course. -b is ABR mode, not improved as I read it.

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #4
Thanks for first message.
I'll fix for this issue about PNS.
And Please Don't forget, this project was just started.

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #5
I used -q alone first but it seemed to affect bitrate only minimally. And for example produced the same 94 kbps result.
Also by default the encoder incorrectly writes plain AAC files using M4A extension, hence my extra parameters to ensure I get AAC in MP4.

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #6
At now, PNS Level is deciding based split on only about Hz(In fact it's MDCT points) of frequency domain.
I will change add to decide on band level too, It may able to fix.

Re: New Improved AAC Encoder / FAAC — I'm Looking for Feedback

Reply #7
No source code?
a fan of AutoEq + Meier Crossfeed