View Full Version : AacMachine for FAAC
bobsc
7th June 2003, 18:58
Since psytel aacenc is not good for a 5.1 Aac it would be nice to have a AacMachine for FAAC.
EDIT: The problem with AacMachine is if you transcode AC-3 to 5.1 Aac you get wrong channel order.
Dark-Cracker
7th June 2003, 20:20
hi,
it seems to me psytel aacenc support 5.1 (create a 5.1 wav and encode it) i think it's only the aac directshow filter (needed for playing the file who doesn't support 5.1 mode). and it even seems to me now the latest CoreAAC filter (used in matroska) support 5.1 decoding.
so a machineAAc using faad it useless and more psytel produce better result (if i believe the hydrogen forum 's guru).
Bye.
bobsc
7th June 2003, 21:12
Dark-Cracker,
Knowledgeable people will tell you that FAAC is a better 5.1 encoder than Psytel aacenc, so a AacMachine using FAAC would indeed be useful.
hans-jürgen
8th June 2003, 06:15
Originally posted by bobsc
Knowledgeable people will tell you that FAAC is a better 5.1 encoder than Psytel aacenc, so a AacMachine using FAAC would indeed be useful. Exactly. ;) I don't know how PsyTEL AACEnc is implemented in AACMachine, but wouldn't it be possible to just substitute both EXE files and tailor some inherent command lines?
bobsc
8th June 2003, 14:56
hans-jurgen,
Unless I'm missing something that's not possible. It looks like DanniDin and/or DSPguru would have to make the necessary changes.
symonjfox
9th June 2003, 11:58
AFAIK the matter with AACMachine is that Psytel has a bug that can't handle very big files, so it creates small files and then rejoined together.
Maybe FAAC hasn't this trouble and work well ... someone can test, please?
DSPguru
9th June 2003, 12:01
if FAAC's license was LGPL (currently GPL, i believe), BeSweet could offer native aac output support.
would be really great to have aacmachine working with faac (and also with nero's mp4 plugin :D )
would save a lot of time and space when there isnt the need to decode to wav first...
in contrast to psytel faac ist getting better and better and i think (hope) that it will be as sucessfull as lame :)
hans-jürgen
9th June 2003, 19:32
Originally posted by DSPguru
if FAAC's license was LGPL (currently GPL, i believe), BeSweet could offer native aac output support. As far as I know, FAAC is indeed LGPL (like FAAD), see the licensing informations in the download section of Audiocoding.com. :) Maybe you should also think about implementing mp4creator, so that your users could generate MP4 files in one batch operation and even mux their video file into it immediately. But I'm not sure about the licensing status of that tool, the homepage is http://mpeg4ip.sourceforge.net/ and there's also a forum with a good search function.
bobsc
9th June 2003, 19:47
FAAC, FAAD and mp4creator are LGPL. FAAD2 is GPL. Good idea Hans-Jurgen.
:D MP4Machine
ChristianHJW
9th June 2003, 21:54
FAAC in BeSweet was indeed a great thing to happen, but if you wwnat to believe the pro's in the AAC scene, the new Nero AAC plugin will offer better quality, at least for 5.1 encoding, and thats where my personal interest for AAC is. Currently i am using BeSweet to decode the AC3 to 5.1 AIFF, and Nero 5.5.10.35 to encode the AIFF to 5.1 AAC with adts headers, for muxing in mkvmerge ....
bobsc
9th June 2003, 22:24
ChristianHJW,
You are probably right about the Nero AAC plugin, but what about the people who do not have Nero. An alternative is always nice.
hans-jürgen
10th June 2003, 08:37
Originally posted by bobsc
Good idea Hans-Jurgen.
:D MP4Machine Thanks, but basically it's not a new idea, because Speek's "Ivan & Menno" is able to do that already as well as Mausau's FAAC plugin for Nero Burning ROM. The new thing would be that "MP4Machine" (I like that name, too ;)) could be designed to do it all in one run, maybe even muxing the existing video file, because the necessary steps with mp4creator should be known by now (create the MP4 file, add the video without hinting or interleaving the audio track(s), optimize the whole MP4 file as last step).
Another FAAC feature that should make an implementation in AACMachine easier for DSPguru is that it's capable of reading the input from a raw PCM file and stdin (as far as I know, because this works in the streaming application mp4live), so you wouldn't even have to create a temporary multichannel WAV file in between (which would use much HDD space then).
bobsc
12th June 2003, 04:22
Maybe it would be a better idea to incorporate libfaac in BeSweet and make changes to BeSweetGUI.
hans-jürgen
12th June 2003, 06:49
Originally posted by bobsc
Maybe it would be a better idea to incorporate libfaac in BeSweet and make changes to BeSweetGUI. Whatever you say -- although "MP4Sweet" or "BeMP4", I don't know... ;) But when I look at the "Long Good-bye" thread to DSPguru, I wonder if someone else would have to do it anyhow?
bobsc
12th June 2003, 15:29
I like the MP4 idea the best, but I wanted to get all the options out there.
Is DSPguru gone for good or taking a much needed vacation?
DSPguru
13th June 2003, 11:27
i could support faac.dll in BeSweet, but someone else should be writing the gui.
anyway, it will take some time until i can even open my visual studio again... - busy !
hans-jürgen
13th June 2003, 17:10
Originally posted by DSPguru
i could support faac.dll in BeSweet, but someone else should be writing the gui. That would be great indeed... :)
anyway, it will take some time until i can even open my visual studio again... - busy ! Doesn't matter, because FAAC will probably sound a little bit better then. In the meantime people can also use FAACGUI and mp4UI or Speek's "Ivan & Menno" if they don't want to use command line apps for generating MP4 files with AAC audio content.
bobsc
14th June 2003, 15:49
Would it be helpful to include libfaac.dll with the FAAC binaries at RareWares?
hans-jürgen
14th June 2003, 21:33
Originally posted by bobsc
Would it be helpful to include libfaac.dll with the FAAC binaries at RareWares? Helpful for DSPguru, you mean? I assume he would rather need the source packages from the SourceForge download server or directly the fresh CVS sources instead. On the other hand I'm not sure if libfaac.dll isn't in the RareWares package already, at least it should be...
DSPguru
15th June 2003, 01:13
i have the sources. don't have enough spare time :o
hans-jürgen
16th June 2003, 06:36
In the meantime people could also use foobar2000 and FAAC for a direct transcoding, because it's possible to have foobar read the AC-3 multichannel files with foo_ac3.dll and encode it directly with FAAC's "-" option for input from stdin (= no temporary WAV file). You also need foo_clienc.dll for this which enables to use any command line encoder with foobar's diskwriter output plugin. This CLI "encoder" comes with a foo_clienc_presets.txt that has to be updated with the following additional entry:
[FAAC]
ENC=faac.exe
EXT=aac
PAR=-q 100 -c 16000 -m 4 - %d
TAG=0
DIT=0
BPS=24
You can get the foobar2000 plugins from http://foobar2000.hydrogenaudio.org/ and some further infos in this thread:
http://www.audiocoding.com/phorum/read.php?f=1&i=3196&t=3196
and/or on the Wiki page for FAAC:
http://www.audiocoding.com/wiki/index.php?page=FAAC
The whole procedure hasn't been tested (only the direct FAAC encoding within foobar2000), so there might occur problems that I'm not aware of yet.
bobsc
16th June 2003, 19:05
Hans-Jurgen,
Where can I find foo_ac3.dll?
hans-jürgen
17th June 2003, 07:43
Originally posted by bobsc
Hans-Jurgen,
Where can I find foo_ac3.dll? In the thread on Audiocoding.com MeWhoElse posted an offer to provide it on his server separately, but he also wrote that it should be part of a general plugins package from Case (which I don't know).
((( atom )))
17th June 2003, 13:47
maybe i am too stupid but i have been searchin the accoring forum/links/download_pages for more tha one hour now and can't find that foo_ac3.dll
hj, could you get it for us?
bobsc
17th June 2003, 15:14
Case's Home page foobar2000 downloads Special installer.
http://www.saunalahti.fi/cse/html/foobar.html
((( atom )))
17th June 2003, 15:30
sxuse me, but after figuring out for meanwhile 6 hours how matroska and aac and all actually can be made working i don't remember who case is.
could you please post the link?
hans-jürgen
17th June 2003, 22:01
Originally posted by bobsc
Case's Home page foobar2000 downloads Special installer.
http://www.saunalahti.fi/cse/html/foobar.html Right, that's probably the one that MeWhoElse meant... Did you find foo_ac3.dll inside this package and did it work as expected?
@atom: Here's the posting I mentioned:
Author: MeWhoElse (1Cust247.tnt1.syd2.da.uu.net)
Date: 06-15-03 16:56
"Yup there is with the option to enable dynamic range compression:
AC3 Decoder 0.1 (foo_ac3), based on liba52 V0.7.4.
Think It might have been part of case's package he does with many more plugins included in the installer...
If its not, I can upload it somewhere if someone wants."
If you don't want to download the special foobar installer from Case, then you could also ask MeWhoElse to upload foo_ac3.dll like he offered. Here's the URL of the thread again:
http://www.audiocoding.com/phorum/read.php?f=1&i=3196&t=3196
He also has a user profile in that forum, so you can probably also find his email address there.
bobsc
19th June 2003, 12:33
hans-jurgen,
You can convert wav with foobar2000 and FAAC, but you can not transcode anything.
hans-jürgen
20th June 2003, 05:22
You're right... :( I only tested the direct WAV encoding with the stdin option, but it seems it does not work with any other input format like Vorbis or MP3 and only produces white noise then. Maybe this can be fixed, I don't know why this happens.
But direct transcoding works fine e.g. with OGG->MP3, MP3->MPC etc. in foobar2000, even to AAC if you use PsyTEL as the "CLI encoder". This is of course no solution for multichannel transcoding, because PsyTEL is buggy in that respect, and it also can't read from stdin, so foobar must generate a temporary WAV first. But stereo users might be interested nevertheless...
bobsc
20th June 2003, 11:58
hans-jurgen,
I even tried to transcode with the %s option within foobar and that did not work either, so I am not sure what the problem is.
hans-jürgen
20th June 2003, 13:52
Yes I know, that was one of the several variants I tried yesterday, too. I will inform knik (the FAAC developer) about this and have added it to the ToDo list in the Wiki, maybe he knows what to do.
Dark-Cracker
20th June 2003, 17:59
does psytel doesn't produce valid 5.1 file why do u hate it ? :)
hans-jürgen
20th June 2003, 22:12
:) I don't hate PsyTEL, in fact I still think it's doing very well for stereo files, e.g. when using the preset -streaming as opposed to -br 128 (read my comparison in the Audiocoding.com forum). But it's known for quite some time now (from Mighty Ivan himself) that it has a multichannel bug in the M/S matrixing that won't be fixed anymore and causes it to sound very strange in that mode. So it's a no-no for correct multichannel AAC encodings and everyone has to use FAAC from now on for that - if he can't afford $15.00 for Mighty Ivan's new toy, that is... ;)
Dark-Cracker
20th June 2003, 23:18
i will add .aac support in my besweet little gui i will try to see faad parameters but psytel seems have more advanced options.
Bye.
hans-jürgen
21st June 2003, 05:34
You can find everything important about FAAC (explanations, recommended settings etc.) on its Wiki page:
http://www.audiocoding.com/wiki/index.php?page=FAAC
By the way, the bug concerning direct transcoding from other lossy formats to AAC using FAAC's stdin option in foobar2000 has been found: it's caused by using the little endian byte order as opposed to e.g. Lame that uses the big endian byte order. So this will probably be fixed quite soon, maybe this weekend already. Keep an eye on the FAAC CVS...
Dark-Cracker
21st June 2003, 08:56
hi,
have u read the test on AAc encoder on hydrogen forum ? (of course it's an test on 128 kbps in stereo).
Bye.
hans-jürgen
22nd June 2003, 18:17
Yes. :) Did you read my comparison of FAAC and PsyTEL with Musepack, Lame and Vorbis?
By the way, the bug mentioned above has been fixed yesterday in the CVS, so you can check out the source code there and compile a new version that should work with all input formats now. There is no precompiled version of it on RareWares yet, as far as I know.
bobsc
26th June 2003, 22:34
Just tried FAAC 1.18 and it still has transcoding bug.:confused:
Also is there a new option for m/s?
hans-jürgen
27th June 2003, 06:13
Right, still white noise instead of sound when using any lossy input format for a direct transcoding to AAC. :( It seems that FAAC would have to support 24 bit input for that, but at the moment it can only understand 16 bit (and 8 bit of course). So this method with foobar2000 works for lossless input formats like APE and for uncompressed WAV or course, but not for AC-3 yet, you still need a temporary WAV for encoding a multichannel AAC from that. I don't know if it's possible to do a direct transcoding from AC-3 to APE and then APE to AAC in one run or batch maybe, perhaps you could try this, too.
By the way, here's the link to foo_ac3.dll from the maker of this plugin:
http://www.cqasys.com/projects/kode54/foo_ac3.zip
Concerning M/S stereo: yes, the new v1.18 has implemented this, so hopefully the most obvious artifact with mono-like signals in a stereo image is gone now. But since this version is brand-new, I didn't have the time to test if this is true. I will tell you later...
Another bugfix concerns a memory leak in the LTP profile, but please don't use it yet except for testing, it's uncertain if it sounds any good and will stay in FAAC in the future.
hans-jürgen
30th June 2003, 07:26
Originally posted by hans-"ingrid"-jürgen
Right, still white noise instead of sound when using any lossy input format for a direct transcoding to AAC. :( It seems that FAAC would have to support 24 bit input for that, but at the moment it can only understand 16 bit (and 8 bit of course). So this method with foobar2000 works for lossless input formats like APE and for uncompressed WAV or course, but not for AC-3 yet, you still need a temporary WAV for encoding a multichannel AAC from that. All wrong... :rolleyes: The clienc.dll from Case can already do the necessary 24->16bit conversion if you configure it correctly, i.e. using this FAAC entry:
[FAAC]
ENC=faac.exe
EXT=aac
PAR=-q 100 -c 16000 -m 4 - %d
TAG=1
DIT=0
BPS=16
I copied the PsyTEL config for FAAC and didn't know that the CLI encoder for foobar2000 can also convert to a lower bit depth if necessary, sorry for the confusion... I've tested it with Vorbis and Musepack input files, and it works just fine, so using foo_ac3.dll from the link I mentioned earlier should also work now. Could bobsc or someone else here do me a favor and test if the multichannel AAC encoding still sounds correct on all 5.1 and/or 7.1 channels (with a standard speaker test perhaps)? I don't have a multichannel setup on my PC, so I can't test myself if the implementation of M/S matrixing might have changed something with that. Just use the default setting plus -m4, because M/S stereo is defaulted in FAAC v1.18 now.
By the way, with the new v0.7 of the CLI encoder and v0.7 beta of foobar2000 it's already possible to include mp4creator (but not the latest v0.9.8.6, it's buggy!) in the batch encoding so that FAAC will produce MP4 files right away with this configuration:
[FAAC + MP4creator]
ENC=faac.exe
EXT=mp4
PAR=-q 100 -c 16000 -m 4 - %d.aac
TAG=0
DIT=0
BPS=16
RUN1=mp4creator60.exe -optimize -mpeg-version 4 %d.aac %d
RUN2=del %d.aac
Keep in mind that this only works in the new beta at the moment which means that there is no MP4 input plugin available yet which will play them in foobar. This will probably be released by John33 when foobar2000 0.7 is ready. Case will also add direct tagging support to this config later so that FAAC can use the advanced tagging options of foobar while encoding MP4 files. :cool: By the way, tonight Menno added iTunes4 tagging support to FAAD2, so there is a general way to tag MP4/M4A files available now (which is one of the things that Case needs for implementing a MP4 tagging support in his CLI encoder).
Concerning M/S stereo: yes, the new v1.18 has implemented this, so hopefully the most obvious artifact with mono-like signals in a stereo image is gone now. But since this version is brand-new, I didn't have the time to test if this is true. I will tell you later... OK, it's not completely gone, but at least halved now which means that I have to redo my ranking in this Audiocoding.com thread:
http://www.audiocoding.com/phorum/read.php?f=1&i=3059&t=3059
Other changes which will improve the sound of FAAC v1.18 include a new short-block switching, calculating the ADTS header overhead of 3 kbps for MP4 files and disabling TNS at the moment, because it introduced the small artifact on the bariton voice in the opera excerpt of ct_reference.wav.
bobsc
7th July 2003, 12:52
What is the input channel order suppose to be for 5.1 encoding using FAAC or PsyTEL?
hans-jürgen
7th July 2003, 17:12
The same that Ivan described for Nero AAC at Hydrogen Audio, and once again: PsyTEL is buggy, don't use it for multichannel AAC audio.
bobsc
7th July 2003, 18:09
hans-jurgen,
Then you can not transcode AC-3 to AAC using foobar2000, because you will have improper order.
hans-jürgen
7th July 2003, 19:08
Right.
hans-jürgen
10th July 2003, 23:00
As usual, brand-new (2 hours old) and totally untested... :sly:
Update of /cvsroot/faac/faac/frontend
In directory sc8-pr-cvs1:/tmp/cvs-serv31794
Modified Files:
main.c
Log Message:
Input channel remapping and 24-bit support. This means that FAAC should be able to use the internal 24bit support of foobar2000 now when transcoding from any input files that deliver this bit depth, so you can change the setting in the CLI encoder window (or config text file) to 24bit which shouldn't produce white noise any more.
The channel remapping reorders other multichannel layouts to the MPEG/ISO standard for multichannel AAC files, i.e. FC, FL, FR, BL, BR and LFE, in order to exploit the M/S matrixing for highly correlated stereo signals in the front and back channels. In the meantime FAAD2 has also been updated to this layout and can even downmix it to stereo, as far as I remember from Menno's last checkins. Please test all this for yourself with a new CVS checkout of FAAC and FAAD2 and report problems here or at Audiocoding.com.
The Wiki page for FAAC has also been updated, because some bugs have been removed and feature requests aren't necessary anymore due to the integration in foobar2000 like an additional resampling tool etc.:
http://www.audiocoding.com/wiki/index.php?page=FAAC
hans-jürgen
11th July 2003, 09:28
OK, new 24bit input works fine, just tested with Ogg Vorbis, Musepack and Lame transcoding. By the way, if you choose AAC as the output format and not MP4, existing tags from the input files are also written to APEv2 tags during transcoding. For MP4 this will be possible as soon as foobar2000/CLI encoder is updated to Menno's new iTunes4 compatible tags which differ from APEv2 tags of course. The config file entries for foo_clienc.dll should look like this now (already implemented in the latest version except for the 24bit line):
[FAAC]
ENC=faac.exe
EXT=aac
PAR=-q 100 -c 16000 - %d
TAG=1
DIT=0
BPS=24
[FAAC + MP4creator]
ENC=faac.exe
EXT=mp4
PAR=-q 100 -c 16000 - %d.aac
TAG=0
DIT=0
BPS=24
RUN1=mp4creator60.exe -optimize -mpeg-version 4 %d.aac %d
RUN2=del %d.aac
If you choose *.m4a instead of *.mp4 for the file extension here, the output file will be playable on a Windows formatted iPod, in iTunes4 and in foobar2000 with foo_mp4.dll, but not in QuickTime 6.x which only knows *.mp4 at the moment.
The new multichannel remapping is quite easy to configure, because all you have to do is specify the position of the Centre and the LFE channel in your multichannel input file, but only if it differs from 5.1 WAV, since this is the default mapping (-I 3,4). So if you feed FAAC's stdin with e.g. Dolby AC-3 input, you would have to use -I 2,6 on the command line (see the Wiki page for more). You can also save this additional switch to the CLI encoder configuration, either by editing the text file or using the buttons in the config window of foobar2000. Maybe it would be the best to add a new entry and call it "FAAC to multichannel" or something like that. This remapping hasn't been tested yet, so it might fail somewhere in between. :p
bobsc
11th July 2003, 21:28
Where can I get the new version of FAAC?
Now we need compatible decoders(Filters).
hans-jürgen
11th July 2003, 23:23
Where can I get the new version of FAAC? Only from the CVS at the moment, or you could ask the usual suspects to compile one for you. The version number is still 1.18 beta, the date should be July 10, 2003 or later.
Now we need compatible decoders(Filters). FAAD2 is compatible to all of this, because Menno also checked in many changes to the CVS in the last couple of days, some concerning a correct decoding of these AAC standard multichannel files and even enabling a downmix to stereo. So all plugins or filters based on FAAD2 should be able to play them correctly, like Winamp, foobar2000, QCD, Osmo4, MPEG4IP's mp4player, Mplayer and the CoreAAC DS filter. I'm not sure what the EnvivioTV plugin is able to do in terms of multichannel playback, and 3ivx cannot play multichannels at the moment, but probably with the next version soon.
By the way, FAAD2 itself is also capable of playing AAC and MP4 files now with the new -p switch for the Win32 environment. The -w switch enabled this for Linux for some time already (directing output to stdout).
Eric B
20th July 2003, 14:40
Originally posted by ChristianHJW
FAAC in BeSweet was indeed a great thing to happen, but if you wwnat to believe the pro's in the AAC scene, the new Nero AAC plugin will offer better quality, at least for 5.1 encoding, and thats where my personal interest for AAC is. Currently i am using BeSweet to decode the AC3 to 5.1 AIFF, and Nero 5.5.10.35 to encode the AIFF to 5.1 AAC with adts headers, for muxing in mkvmerge ....
Which parameters do you choose for Ahead AAC mp4 plugin ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.