What if there were an audio format which made very small files and yet had great sound quality; with which you could send an album zipped to a friend as one email of an average size of 22 MB ..
Well there is and it is named HE-AAC and made by Fraunhofer [the files play in all players i have tried so far with no extras needed]
examples: converting in ffmpeg and mediainfo
Over the last couple of years, HE-AAC became one of the most important enabling technologies for state-of-the-art multimedia systems. The codec combines high audio quality with very low bit-rates, allowing for an impressive audio experience even over channels with limited capacity, such as those in broadcasting or mobile multimedia streaming.
Fraunhofer IIS offers fast access to high-quality, product-ready HE-AAC implementations. Optimized encoder and decoder real- time implementations on embedded processors or DSPs are available, as well as software implementations on PC platforms.
- ... the most efficient high-quality multi-channel and stereo audio codec.
- ... is used in TV, radio, and streaming worldwide.
- ... the perfect codec for adaptive streaming, for example Apple HLS or MPEG DASH.
- ... in more than 5 billion devices already today.
- ... fully compatible with all relevant broadcast metadata.
- ... is supported and maintained by Fraunhofer IIS.Quality excellent, according to EBU test (for complete results see whitepaper below)
Bitrate HE-AAC: 48 to 64 kbit/s Stereo, 160 kbit/s for 5.1 Surround (HE-AAC: AAC-LC + SBR)
HE-AAC v2: 24 to 32 kbit/s Stereo (HE-AACv2: AAC-LC + SBR +PS)
for good quality audio
Sampling rates 24 to 96 kHz
Channels mono, stereo, multi-channel (e.g. 5.1, 7.1, ...)
Used in DVB, ISDB , SBTVD, DAB+, DRM+, DRM, ATSC-M/H, ISDB-Tmm, DVB-H, DMB, 3GPP, XM Radio, mobile phones, audio and video streaming services
ffmpeg -i Age.wav -acodec libaacplus -ab 72k Age.aac
ffmpeg version N-35917-ge4fe4d0 Copyright (c) 2000-2012 the FFmpeg developers
built on Sep 10 2012 11:04:03 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-libaacplus
libavutil 51. 72.100 / 51. 72.100
libavcodec 54. 55.100 / 54. 55.100
libavformat 54. 25.105 / 54. 25.105
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 16.101 / 3. 16.101
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[wav @ 0x1c28260] max_analyze_duration 5000000 reached at 5015510
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'Age.wav':
Duration: 00:02:42.66, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ( / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
File 'Age.aac' already exists. Overwrite ? [y/N] y
Output #0, adts, to 'Age.aac':
encoder : Lavf54.25.105
Stream #0:0: Audio: aac, 44100 Hz, stereo, s16, 72 kb/s
Stream #0:0 -> #0:0 (pcm_s16le -> libaacplus)
Press [q] to stop, [?] for help
size= 1454kB time=00:02:42.67 bitrate= 73.2kbits/s
video:0kB audio:1454kB subtitle:0 global headers:0kB muxing overhead 0.000000%
000000000000000000:~/Desktop/Taller$ mediainfo Age.aac
Complete name : Age.aac
Format : ADTS
Format/Info : Audio Data Transport Stream
File size : 1.42 MiB
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 2
Format profile : HE-AAC / LC
Bit rate mode : Constant / Variable
Bit rate : 71.6 Kbps
Minimum bit rate : 140 Kbps
Maximum bit rate : 228 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz / 22.05 KHz
Compression mode : Lossy
Stream size : 1.42 MiB (100%)
2 ROUTES I am aware of... there might be others
download the deb on the page then install and run aacplusenc -h in terminal you will see this
it goes up to 72000 ; 64000 the most likely settingUsage: aacplusenc <wav_file> <bitstream_file> <bitrate> <(m)ono/(s)tereo>
Example: aacplusenc input.wav out.aac 24000 s
Through libaacplus [ffmpeg] all info for this one is credited to Ron999 who passed it to me.
And to compile FFmpeg with it ...
Just add --enable-libaacplus to the ./configure line.
This can be done through FakeOutDoorsman's guide here
But first it is necessary to compile and install libaacplus.
This is the method that I used...
(Paste the one single command)
Code:cd ~/ && \ wget http://22.214.171.124/~tipok/aacplus/libaacplus-2.0.2.tar.gz && \ tar -xf libaacplus-2.0.2.tar.gz && \ cd libaacplus-2.0.2 && \ ./autogen.sh --enable-shared && \ make && \ sudo checkinstall --pakdir "$HOME/Desktop" --pkgname libaacplus \ --pkgversion 2.0.2 \ --backup=no --default --deldoc=yes --fstrans=no && sudo ldconfig
RIPPING TO HE-AAC
Rubbyripper is perfectly happy to handle this format with this line in the "other" . The line below also works in Deadbeef with the converter [right-click on a song/convert/click on pencil/add/enter libaacplus and code]
You will need AtomicParsley installed for taggingCode:ffmpeg -i %i -c:a libaacplus -b:a 64k %o.m4a && AtomicParsley %o.m4a -a %a -b %b -g %g -y %y -k %n --title %t -WCode:sudo apt-get install atomicparsley
you can also rip with aacplusenc but so far I have failed to tag that way.
RR code is
Code:aacplusenc "%i" "%o" .aac 64000 sCode:aacplusenc "%i" "%o" .aac 72000 s
There you go ; most of the info I am aware of as of now.... It really gives a good sound album at around 22MB............