Showing posts with label aacplus. Show all posts
Showing posts with label aacplus. Show all posts

Saturday, July 30, 2011

Installing Savonet/Liquidsoap


There are several ways to install liquidsoap, either compiled from source, or using a package available for your distribution.

Installing from source

You can download source code published by Savonet in our sourceforge download section.
The recommended way for newcomers is to use the liquidsoap-full-xxx.tar.gz tarball. This tarball includes all required OCaml bindings and allows you to compile and install liquidsoap in a single configuremake and make install procedure. You will still need the corresponding C libraries and their developement files, though.
You will then have to build the source.

Debian/Ubuntu packages

Liquidsoap is included in Debian and Ubuntu distributions:
Starting with package version 1.0.0~beta2.1-3, official Debian and Ubuntu packages can dynamically load the MP3 and AAC+ encoders without the need to recompile the software to enable these features!
In order to activate them, you can either compile and install ocaml-lame and ocamlaacplus or, more simply, install the liblame-ocaml-dynlink and libaacplus-ocaml-dynlink packages available from Debian Multimedia.
We also maintain custom packages for liquidsoap:
Disclaimer: custom packages are currently outdated. We are looking for constributors to help bringing them back!
The daily packages are mostly aimed toward developers.

ArchLinux

A package for Arch Linux users is available from the distribution, see the ArchLinux Liquidsoap package page

Native Windows Binary.

A native windows binary is available in our download section. See this page for more information concerning this port and how it is built.

Cygwin (Windows)

Liquidsoap is available as a Cygwin port, thanks to the Cywin Ports project ! You can get instructions on how to install Cygwin ports on their website:http://sourceware.org/cygwinports/.
This port allows you to compile a liquidsoap binary running on windows systems and using the (great) Cygwin unix environement for windows.

Mac OS X

You can download and build liquidsoap using either

FreeBSD

Liquidsoap is available in FreeBSD using the port system.

http://savonet.sourceforge.net/download.html

SETTING UP AACPLUSENC WITH AMPACHE


AAC+ (also called HE-AAC) is a method to lower the bit rate of AAC (LC-AAC) while maintaining the audio fidelity. There’s a really good paper from the makers of AAC+ here.
Seeing how I just set up ampache, and I have low upstream bandwidth, I decided to get AAC+ going. It was a little bit tricky, but works very well now.

Sunday, March 27, 2011

Helix Fixed-point HE-AAC (aacPlus) decoder

The Helix Fixed-point HE-AAC decoder provides an optimized 32-bit fixed-point implementation, which will be dual-licensed under RCSL/RPSL. No extra copyright license is required beyond the standard Helix license terms, although patent licenses are not included and must be acquired from the appropriate AAC licensors.

The Helix AAC decoder is highly optimized for ARM processors and meets or exceeds the performance of other commercial implementations. It also features one of the first widely available fixed-point implementations of SBR.

Key Features

  • MPEG-2 and MPEG-4 low complexity decoding (intensity stereo, MS, TNS, PNS)
  • Spectral band replication (SBR), high-quality mode
  • Mono, stereo, and multichannel modes
  • ADTS, ADIF, and raw data block decoding
  • MP4, RM, and other file formats supported via Helix client

Technical Specifications

Average CPU Usage

1. MPEG4-LC AAC (SBR not used)


Sample Rate
Channels
Bit Rate
Processor Model (1)
ARM9TDMI-REV2
ARM9E
StrongARM1 (uncached)
XScale (cached)
22 KHz
1
64 Kbps
7 / 9 MHz
5 / 7 MHz
6 / 8 MHz
6 / 8 MHz
44.1 KHz 1
96 Kbps 11 / 13 MHz
9 / 11 MHz
9 / 11 MHz
10 / 12 MHz
44.1 KHz 2
128 Kbps 19 / 23 MHz
17 / 21 MHz
17 / 20 MHz
18 / 21 MHz
44.1 KHz
2
320 Kbps
23 / 30 MHz
21 / 28 MHz
21 / 27 MHz
22 / 28 MHz

2. MPEG4-LC HE-AAC (SBR enabled, "high quality" mode)


Sample Rate
Channels
Bit Rate
Processor Model (1)
ARM9TDMI-REV2
ARM9E
StrongARM1 (uncached)
XScale (cached)
22 kHz base/44 kHz output
1
48 Kbps
32 / 34 MHz
27 / 29 MHz
27 / 29 MHz
28 / 30 MHz
22 kHz base/44 kHz output
2
64 Kbps
58 / 60 MHz
49 / 52 MHz
49 / 52 MHz
51 / 53 MHz

(1) Tested with ARMulator, simulated zero-wait-state memory

Notes:

  • Compiled using ARM ADS 1.2
  • Tested with ARMulator, zero-wait state memory
  • Results are average CPU usage, typical content
  • first MHz value is when TNS is off, second value is when TNS is on

Memory Usage

1. MPEG4-LC AAC (SBR not used)
  • ROM (const globals) = 27128
  • RAM (heap, max 2 channels) = 20656
  • Code size - x86 (MSVC++ 6.0) = 22654
  • Code size - ARM (ADS ARM9TDMI) = 20120
  • Additional RAM required per channel = 4104
2. MPEG4-LC HE-AAC (SBR enabled, "high quality" mode)
  • ROM (const globals) = 37580
  • RAM (heap, max 2 channels) = 79580
  • Code size - x86 (MSVC++ 6.0) = 47822
  • Code size - ARM (ADS ARM9TDMI) = 41764
  • Additional RAM required per channel = 17198

Notes:

  • Memory usage constant for all sample rates, bit rates
  • Does not include input buffer (encoded data) or output buffer (PCM)
  • There is no zero-init or read-write global data
  • All values are in bytes



Frequently Asked Questions

What features are currently not supported in the aacPlus decoder?

  • main or SSR profile, LTP
  • coupling channel elements (CCE)
  • 960/1920-sample frame size
  • low-power mode SBR decoding
  • downsampled (single-rate) SBR decoding

Where is the code in CVS?

  • See the Helix Datatype project page: http://datatype.helixcommunity.org
    The CVS root is /cvsroot/datatype, and the module name (path) is aac/codec/fixpt/decoder

Where does the build system put the code in my local source tree?

  • datatype/aac/codec/fixpt
How do I build the fixed-point AAC implementation through the "ribosome" build system?
  • In the build menu, use one of the following bif files: helix.bif (HEAD) or hxclient_1_5_0_cayenne.bif
  • Select the target "datatype_aac_codec"
  • Make sure the define "HELIX_CONFIG_FIXEDPOINT", is either in the profile or config (cf) file that you are currently using.
=======================================

Build System Menu
-> Current Directory: D:\client_150_cayenne
[0] Set BIF branch (hxclient_1_5_0_cayenne)
[1] Set Target(s) (datatype_aac_codec)
=======================================

How do I play .mp4/.3gp streams that contain AAC-encoded streams?

  • In the build menu, use the same bif as you have used above
  • Select the target "splay". This builds a command-line player through which you can play .mp4/.3gp streams
  • For instructions to check out source, go to Quickstart Guide
=======================================

Build System Menu
-> Current Directory: D:\client_150_cayenne
[0] Set BIF branch (hxclient_1_5_0_cayenne)
[1] Set Target(s) (splay)
=======================================

Where do developers go to acquire their aacPlus patent license?

Courtesy : 

Friday, October 1, 2010

Advanced Audio Coding (AAC) aacplus

In the last year, the rapid development of mobile world. Applications, such as audio / video streaming become more attractive and desirable. Moreover, any minute now 3G network is ready to enter the market. Speed cellular networks is not as fast, as good, and sestabil regular network. In addition, people also do not expect the quality of streaming audio will be as good as the original audio CD quality for instance. So, who is being sought is how to deliver acceptable audio quality, but (very) efficient bit rate or bandwidth.

Spectral Band Replication: Decoder will try to reconstruct the lost bandwidth based on the information stored by the encoder.
AAC: super low bit rate but still acceptableAAC uses a standard MPEG-2 and MPEG-4. AAC standard is already present for a long time, since 1997. However, due to various limitations, this standard does not expand as fast as its competitors relative.
AAC also expanded into three variants of the popular. Variants include AAC, AACPlus v1, v2 and AACPlus. Sometimes, there are different variants of names, such as LC AAC, eAAC, eAAC +, HE-AAC, and others. However, there are really only three main variants of the AAC format.



Parametric Stereo: Can you save the bit rate by sending an audio signal into a form monoaural.
Spectral Band Replication (SBR): 
duplication of the audio bandwidth Most existing audio formats tends to reduce the bandwidth if the bit rate used was too small. For example, the bit rate of 128 Kbps, MP3 format can provide bandwidth up to 20 kHz. If bit rate is halved (64 Kbps), the bandwidth that is able to produce only about 10 kHz only. Audio frequencies above 10 kHz auto-cut or in other words will not be saved. AAC with SBR mechanism enables a wider bandwidth at a small bit rate. Based on specifications, SBR was able to maintain the bandwidth to more than 15 kHz at low bit rates.
How can it be done? The truth is simple. Part Maker (encoder) will only store data required (approximately half of the bandwidth) plus any other information needed to reconstruct the data being transmitted. Additional bandwidth will be made by the receiver (decoder). Special algorithm will make a full re frequency based on analysis of existing data. This method is certainly more efficient than if the encoder had to save bandwidth in full.
Three variants: Addition of Spectral Band Replication algorithm (SBR) and parametric stereo (PS) determines the type of AAC format that will be generated.
SBR will be very effective for low to medium bit rate. In addition to AAC (AACPlus v1), SBR technique is also used in MP3 format, known as MP3PRO.
Parametric stereo: more frugal with the signal monoauralParametric stereo (PS) is a standard for AACPlus v2. PS is optimized for very low bit rate (16-40 kbps only). According to specifications, using this PS, it is a good audio quality can be enjoyed only by a bit rate of 24 Kbps.
Courtesy : http://chip.co.id/articles/mag/tag/tes-teknologi-advanced-audio-coding-aac/