HydrogenAudio

Lossy Audio Compression => AAC => AAC - Tech => Topic started by: MediaJunkie on 2009-02-22 22:13:42

Title: HE-Aac encoder for linux needed
Post by: MediaJunkie on 2009-02-22 22:13:42
I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.
Now I want to replace LAME with HE-AAC, so good acc encoder needed.
My tests show that FLAAC quality is much lesser compared to 3GPP encoder for example.
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?
I don't mean free solutions only.

Or have anyone used 3GPP's encoder to encode labMAD output, is it possible?

PS: I'm not looking for a command line utility, I'm looking for a C/C++ library to use in my program.
Title: HE-Aac encoder for linux needed
Post by: kornchild2002 on 2009-02-22 22:15:34
What about Nero's AAC encoder?  It supports LC-AAC, HE-AACv1, and HE-AACv2 encoding.
Title: HE-Aac encoder for linux needed
Post by: kwanbis on 2009-02-22 22:23:42
I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.

You mean that you take some MP3, decode it, and re-encode it to MP3 using LAME?
Title: HE-Aac encoder for linux needed
Post by: MediaJunkie on 2009-02-22 22:42:03
Nero AAC encoder is a command-line utility, not a library that I can link to and use in my program.

What about Nero's AAC encoder?  It supports LC-AAC, HE-AACv1, and HE-AACv2 encoding.

Title: HE-Aac encoder for linux needed
Post by: MediaJunkie on 2009-02-22 22:43:45
Exactly.
Re-encoding allows me to add sound effects like crossfading and bitrate convertions.

I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.

You mean that you take some MP3, decode it, and re-encode it to MP3 using LAME?

Title: HE-Aac encoder for linux needed
Post by: xenobrain on 2009-02-22 23:23:59
Maybe you could write your own library that provides a generic API for interfacing with a command line utility?  That would open up your options quite a bit.

Another option might be to take a look at the Quicktime API (http://developer.apple.com/documentation/QuickTime/Rm/Fundamentals/QTOverview/QTOverview_Document/chapter_1000_section_3.html).  I've not taken a close look at it myself but it may provide the functionality you need.
edit: whoops you're looking for a linux library so I guess this is out....  (also note I'm sketchy on whether QT supports HE-AAC now or not)

Otherwise, if this is a commercial project you could talk to Nero about licensing the Nero Digital Audio API.
Title: HE-Aac encoder for linux needed
Post by: MediaJunkie on 2009-02-22 23:41:09
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive

Maybe you could write your own library that provides a generic API for interfacing with a command line utility?  That would open up your options quite a bit.

Title: HE-Aac encoder for linux needed
Post by: saratoga on 2009-02-23 00:00:41
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.

Title: HE-Aac encoder for linux needed
Post by: MediaJunkie on 2009-02-23 00:08:42
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.


Sorry, I'm not so good in English, I mean I decode and encode audio stream by pie?es, not by single frames of course
Title: HE-Aac encoder for linux needed
Post by: saratoga on 2009-02-23 00:19:46
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.


Sorry, I'm not so good in English, I mean I decode and encode audio stream by pie?es, not by single frames of course


Ah ok.  An AAC frame is defined as 2048 samples, which indeed would be a very small bit of data
Title: HE-Aac encoder for linux needed
Post by: kornchild2002 on 2009-02-23 05:21:43
(also note I'm sketchy on whether QT supports HE-AAC now or not)


Just to further hammer the nail in QuickTime's Linux coffin (at least for this purpose), it doesn't support the proper decoding  of HE-AAC files.  In fact, it can't encode HE-AAC files at all.  I don't know why Apple has refused to adapt HE-AAC.  I know many people could find it handy who own only an iPod shuffle or a 8GB (or less) iPod nano/touch.
Title: HE-Aac encoder for linux needed
Post by: stlpaul on 2009-03-30 21:46:49
I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.
Now I want to replace LAME with HE-AAC, so good acc encoder needed.
My tests show that FLAAC quality is much lesser compared to 3GPP encoder for example.
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?
I don't mean free solutions only.

Or have anyone used 3GPP's encoder to encode labMAD output, is it possible?

PS: I'm not looking for a command line utility, I'm looking for a C/C++ library to use in my program.


libaacplus

http://tipok.org.ua/node/17 (http://tipok.org.ua/node/17)

Title: HE-Aac encoder for linux needed
Post by: patmcg on 2009-06-10 22:42:32
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?


What about aacplusenc from http://teknoraver.net/software/mp4tools (http://teknoraver.net/software/mp4tools) ? I haven't tried it, but maybe it is an alternative to Nero?