title
Products            Buy            Support Forum            Professional            About            Codec Central
 

Enhanced AACPlus (AACPlus v2) Codec

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bsiegel

    • Feb 2005
    • 17

    Enhanced AACPlus (AACPlus v2) Codec

    Well, I've developed a CLI codec for Enhanced AACPlus, aka AACPlus v2, aka AAC+SBR+PS using the reference encoder sourcecode provided by Coding Technologies. I had to modify the source a little bit because the encoder wants only 48kHz or 32kHz audio, but the only forceable sample rate dbPowerAmp provides is 44.1kHz. Audio quality should not change much (if at all) due to this patch.

    Finding a player may however be a problem. As it is, Winamp supports AACPlus in streams, but not as a file. The codec produces files with the extension .mp4 which will allow all other players to play back the file properly. Winamp will just drop the SBR Data and the sound quality will be quite bad. Other players such as Windows Media Player and VideoLAN are known to play the files correctly. If you want to verify that they are actually being encoded with AACPlus and not just AAC, you can run the output file through the included EnhAacPlusDec.exe program - just run from the command line and play the .wav file it produces in your favourite audio player.



    Version History:

    Version 650 is out. This is an update release - now based on the Coding Technologies 650 release found at the 3gpp website. It changes some of the low-bandwidth encoding modes around, fixes a bug with 32kbps mono, and should actually sound a bit better. This is because Coding Tech updated their tuning table to work with 44.1kHz audio, so actually all I did was add ths higher bitrate support (up to 64kBps stereo). That's right - the Coding Tech reference encoder should now be able to work with dMC without any patching by me Also, it's now compiled with VC8 (Visual Studio 2005). I was unable to increase the bitrate beyond 64kBps Stereo/32kBps Mono due to what I believe are register size limitations.

    Version 630 is out. This is an update release - now based on the Coding Technologies 630 release found at the 3gpp website. It adds a 10kbps mono mode and makes general tweaks all around.

    Version 1.2 is out. This fixes many problems with various bitrates not encoding properly, or at all. Mono encoding was bumped back to max 32kbps, since the program bails at anything higher than that. Stereo encoding still works all the way up to 64kbps.

    Version 1.1 is out with requested feature - stereo encoding up to 64kbps and mono encoding up to 48kbps (though if you ask me you can't tell the difference).

    ------------

    I should mention that the source code for the Coding Technologies reference encoder is freely available as part of the 3gpp specifications at http://www.3gpp.org/ftp/Specs/html-info/26410.htm

    If you want to build this encoder yourself, grab the source at:


    And then apply my patch located at: http://home.cwru.edu/~bes7/sbr_main.c.patch.630

    Edit by LtData: Version 750 is here: http://forum.dbpoweramp.com/showpost...1&postcount=62
    Edit2 by LtData: This encoder is ONLY for dMC r11.5 and older, it does NOT work with dMC r12 and newer.
    Last edited by LtData; April 28, 2007, 06:01 AM. Reason: pointed to new version, as user was unable to edit himself
  • Spoon
    Administrator
    • Apr 2002
    • 44515

    #2
    Re: Enhanced AACPlus (AACPlus v2) Codec

    >.3gp

    This is for mobile phones?
    Spoon
    www.dbpoweramp.com

    Comment

    • bsiegel

      • Feb 2005
      • 17

      #3
      Re: Enhanced AACPlus (AACPlus v2) Codec

      Not exactly. The Enhanced AACPlus encoding technology is being examined by the 3gpp (3rd Generation Partnership Project) for use in future mobile products. As such, Coding Technologies released the sourcecode to their Enhanced AACPlus encoder and decoder to 3gpp, who made it freely available on their website. Since Enhanced AACPlus is used almost primarily in streaming right now, there's not exactly an official extension for the Enhanced AACPlus encoded files. I guess the 3gpp just decided to use .3gp for now.

      --Brandon Siegel

      Comment

      • fishswim

        • Feb 2005
        • 7

        #4
        Re: Enhanced AACPlus (AACPlus v2) Codec

        I get files with the extension : .aac.
        But my ipod only support .m4a.

        Comment

        • bsiegel

          • Feb 2005
          • 17

          #5
          Re: Enhanced AACPlus (AACPlus v2) Codec

          You should be fine just changing the extension to .m4a (not .m4p as that's a DRM-protected file) but I doubt the iPod knows what to do with the Extended data, and thus the sound won't likely be very good.

          --Brandon Siegel

          Comment

          • fishswim

            • Feb 2005
            • 7

            #6
            Re: Enhanced AACPlus (AACPlus v2) Codec

            Yes,You are right! I change the extension to .m4a then put it into ipod,but ipod does not know it. :(

            Comment

            • Spoon
              Administrator
              • Apr 2002
              • 44515

              #7
              Re: Enhanced AACPlus (AACPlus v2) Codec

              The ipod will not play the '+' part of the aac, but in anycase the ipod needs the aac data in an .m4a container, in Codec central is a AAC >> Mp4 contanier changing codec.
              Spoon
              www.dbpoweramp.com

              Comment

              • ckjnigel

                • Oct 2004
                • 4

                #8
                Re: Enhanced AACPlus (AACPlus v2) Codec

                Once I replaced the Winamp in_mp4.dll with the one at Sourceforge ( http://tinyurl.com/6dhf8 ), files from your encoder played just fine with unchanged .aac extension. The first I've tried sound mighty good, but maybe I have cloth ears?

                Comment

                • ckjnigel

                  • Oct 2004
                  • 4

                  #9
                  Re: Enhanced AACPlus (AACPlus v2) Codec

                  And Windows Media Player plays bsiegel AACplus files with the 3ivx codecs installed.

                  Comment

                  • bsiegel

                    • Feb 2005
                    • 17

                    #10
                    Re: Enhanced AACPlus (AACPlus v2) Codec

                    Sure enough, the new in_mp4.dll for Winamp does allow the files to play, but it's buggy. For some (24kbps), it detects Stereo files as Mono, and also there are what sounds like encoding errors. This is not an error with the encoder, but with the player dll. Try playing the same file in WMP or VLC, and it will play in Stereo with no encoding errors. I haven't tried loading one up on the iPod, but best guess is it will drop the HE- part of the file.

                    Comment

                    • ckjnigel

                      • Oct 2004
                      • 4

                      #11
                      Re: Enhanced AACPlus (AACPlus v2) Codec

                      Files I encoded with bsiegel's codec seem to play just fine on Pocket PC using the BetaPlayer test build mentioned at http://www.mobileread.com/forums/sho...?threadid=3653

                      Comment

                      • mariusziwan

                        • Apr 2005
                        • 3

                        #12
                        Re: Enhanced AACPlus (AACPlus v2) Codec

                        hello

                        This Codec won't encode at 32kbps...... :blush:

                        cmd->enhAacPlusEnc input.wav output.mp4 32000 s -> and seems not encode..

                        and not encode at 28 kbps up to 43 kbps. I play files encode at 32kbps but is no sound :cry:

                        Files I encoded with codec at 18kbps up to 27kbps and at 44kbps up to 67 kbps plays on foobar2000 and Winamp. Sound is playing. I replaced the Winamp in_mp4.dll with the one at AudioCoding site http://www.audiocoding.com/...
                        Last edited by mariusziwan; April 09, 2005, 12:30 PM.

                        Comment

                        • bsiegel

                          • Feb 2005
                          • 17

                          #13
                          Re: Enhanced AACPlus (AACPlus v2) Codec

                          Ah, you're right. Basically, the code defines variables about what the output should be like for a range of frequencies. This is from the encoder source:
                          Code:
                            { 18000, 24000,  22050, 2,  4,  2, 1, 0, -3, SBR_SWITCH_LRC, 3 }, /* nominal: 18 kbit/s */
                            { 24000, 28000,  22050, 2,  5,  6, 1, 0, -3, SBR_SWITCH_LRC, 3 }, /* nominal: 24 kbit/s */
                            { 28000, 36000,  22050, 2,  7,  8, 2, 0, -3, SBR_SWITCH_LRC, 2 }, /* nominal: 32 kbit/s */
                            { 36000, 44000,  22050, 2, 10,  9, 2, 0, -3, SBR_SWITCH_LRC, 2 }, /* nominal: 40 kbit/s */
                            { 44000, 52000,  22050, 2, 12,  9, 3, 0, -3, SBR_SWITCH_LRC, 2 }, /* nominal: 48 kbit/s */
                            { 52000, 60000,  22050, 2, 12,  9, 3, 0, -3, SBR_SWITCH_LRC, 2 }, /* nominal: 56 kbit/s */
                            { 60000, 68000,  22050, 2, 12,  9, 3, 0, -3, SBR_SWITCH_LRC, 2 }, /* nominal: 64 kbit/s */
                          The definition for 32kbit/sec (actually, variable from 28 to 36 kbit/sec) doesn't work right. I'll play with the variables specified and see if I can find a combination that sounds good, and encodes right. Thanks for the bug report!

                          --Brandon Siegel

                          Comment

                          • mariusziwan

                            • Apr 2005
                            • 3

                            #14
                            Re: Enhanced AACPlus (AACPlus v2) Codec

                            No problemo....

                            Comment

                            • jargon

                              • Apr 2005
                              • 1

                              #15
                              Re: Enhanced AACPlus (AACPlus v2) Codec

                              Hi bsiegel,

                              Any luck in getting the 28-36kbit/s bitrates working? I'm amazed at the quality of 24k and 32k would be really nice, if I can somehow find a way to impliment it into a streaming application.

                              Cheers.

                              Comment

                              Working...

                              ]]>