Hydrogenaudio Forums

Lossy Audio Compression => AAC => AAC - General => Topic started by: twinspex on 22 November, 2010, 01:10:23 AM

Title: QAAC: discussion, questions, feature requests, etc.
Post by: twinspex on 22 November, 2010, 01:10:23 AM
I have been producing my own modified version of REACT for use in ripping my CDs and have nearly finished the task. I wanted to be able to produce iTunes compatible and tagged .m4a files for individual tracks from the react image.cfg script having ripped to a one-big-file album image with cuefile. I managed to do this with the NeroAAc Encoder, acdir and atomic parsley. I then came across QTAACENC and QAAC which looked very promising as they allow use of the Quicktime dlls.

I totally failed to get either encoder working with ACDIR passing the split wave files into the encoder via STDIN in the analogous manner to that I successfully managed with the Nero encoder. No great loss though because I found QAAC alone can process a OBF wave image and associated cuefile into separate .m4a tracks - and it even tags the .m4a filees with the information taken from the cuefile. Fantastic!

I am left with a problem though. When processing from a cuefile QAAC outputs the track files in a format
tracknumber[space]tracktitle.m4a
and this cannot be changed. I like my files to be formatted thus:
tracknumber-tracktitle.m4a.
I think I am a competent enough batch file programmer to handle the necessary file rename (just!  ), but the problem arises with various artists compilations. I really would like to use the naming format:
tracknumber-trackartist-tracktitle.m4a in such an instance.

I have looked online for a commandline based rename utility that would read the artist field from the embedded tag and alow me to use that field to rename the files QAAC produces. Unfortunately I haven't found one. (I know I could use something like mp3tag to do the job from a GUI later, but I would like to be able to do it as part of the REACT-based rip operation. I have looked at using the cuefile to extract track based wave files, which come out correctly named, and then to encode the track based wave files without using the cuefile. This results in no embedded tags and quite complicated scripting.)

I have no idea how difficult it would be to implement the output of m4a files to a specified filename format with QAAC cuefile processing, but if it is possible, please could the author please consider this as an enhancement request? I had a look at the source code but it is way beyond my skills to make myself an amended version! Thank you very much in advance.

(By the way I plan to use the NeroAAcTag utility to add cover art and albumArtist and compilation meta-user tags to the QAAC encoded .m4a files to finish the ripping task. I will be using OBF flac with embedded cover art and cuefile for archiving, and m4a for day to day usage).

Incidentally, if one uses QAAC cuesheet processing to produce .m4a files and then inspects the embedded tags with the neroAActage.exe -meta-list command on *.m4a I have noticed that the tools field may have a bug. On a three track CD single, using --ignorelength and --tvbr=125, the note of the tvbr setting is repeated one more time in the field for every successive track in the cuesheet. I don't hink this is a problem with the neroAActag.exe utility because the same repeated data is visible with the Audio Shell v1.3.5 utility! This problem is not a showstopper so far as I can see, but I haven't tried to do a sizable encoding task, and I wondered if it might cause a field overflow in such a situation.

example from Audio Shell v1..3.5 for the m4a file produced as track "03 Tracktitle" from the cuesheet:
Encoder: qaac 0.20, Quicktime 7.6.8 TVBR Quality 125,  TVBR Quality 125,  TVBR Quality 125,

I am using windows XP SP3 (up to date fixes), QAAC 0.20 and Quicktime 7.6.8 The quality setting was merely an experiment.

To bring a verbose post to an end. Thank you for producing this utility. I will find a workaround if you can't help. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 November, 2010, 04:40:38 AM
Hi. I'm author of qaac.
I'm a Japanese, so please excuse my poor English.
Quote
I have noticed that the tools field may have a bug. On a three track CD single, using --ignorelength and --tvbr=125, the note of the tvbr setting is repeated one more time in the field for every successive track in the cuesheet.

Thank you to let me know that. I fixed the bug, and released 0.21.
Now I have opened qaac's repository at github, therefore you can use it's built-in issue tracker, or you can just email me.
Quote
I have no idea how difficult it would be to implement the output of m4a files to a specified filename format with QAAC cuefile processing, but if it is possible, please could the author please consider this as an enhancement request?

This is not too difficult, but will take some time. I will consider of it.
For now, I cited your request in the github as a "feature request", so I won't forget about it
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 November, 2010, 11:05:12 AM
Released 0.22 with new --fname-format option.
The spec is fairly simple and not rich, but I hope you'll like it.
Please read usage page for details.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: twinspex on 22 November, 2010, 02:19:17 PM
Thank you for your efforts. I will try out v0.22 and I will give you feedback.

Your English is infinitely better than my Japanese!  But courtesy of Google translate - Arigatō!

All the best,
Twinspex
Title: QAAC: discussion, questions, feature requests, etc.
Post by: twinspex on 22 November, 2010, 03:48:10 PM
I just found out I don't have permission to edit my last post  , so here is the revised version! 

Thank you for your efforts.

I downloaded v0.23 and here is some feedback after a quick initial test:
The --fname-format option does just what I wanted
--fname-format ${tracknumber}-${artist}-${title}
seems to work fine. I can use the internal REACT2 variable @various@ as a flag for my REACT-image.cfg script to determine whether to use the above for a Various Artists compilation, or to use
--fname-format ${tracknumber}-${title} format for a single artist cd rip.
(For the benefit of others, the .m4a extension is added automatically).

I will be doing some more extensive rips in the future with greater file numbers and will give more feedback then, but for the moment I am happy to report that the tools/encoder tag problem reported earlier seems to be resolved.

It would be nice to be able to set the compilation tag from the cuesheet, but I can see this would not be an easy thing to do unless there were a specific "REM COMPILATION TRUE" or "REM COMPILATION FALSE" line in a standard EAC cuesheet, the reason being the wide variation in how the PERFORMER field is set for compilations - Various Artists, Various, VA, and so on, which would make the program logic to recognise a compilation rather hit and miss.

OT: I actually use "@" to indicate a various artists in cuesheets, folder names and tags because I wanted to keep folder names short due to display problems with long folder names on now-obsolete mp3 devices. It has caused me no end of batch file rewrites and enforced workarounds. Some day I will get around to retag and rename compilations as "VA" - always assuming that a Pop Group with that as a name does not turn up! It is a shame that seemed to be no particular standard when I started ripping CDs when EAC first became available. I recount this as an advice to anyone just starting out with ripping a CD collection - try to find out what the established standards are and stick to them, and you will save yourself from problems in the future.

It would be nice to be able to pick up and embed a cover thumbnail jpeg from the source folder (if present). Expecting the file to be called cover.jpg or folder.jpg might make the task simpler. I don't see this as a top priority request though as neroAactag.exe can do this task when run from a REACT2mod REACT-image.cfg or REACT-track.cfg script after the QAAC encoding.

I am also keen to include apple lossless (ALAC) in the modified REACT scripts as an option now I have seen that QAAC supports it.
In general I prefer to look at at using the Quicktime DLLs via QAAC because of the Apple encoder support for gapless playback on supporting aac players, which I believe is not currently supported by the Nero AAC encoder. Also, it is great that because of QAAC I no longer have to use itunesencode.exe and have iTunes installed and popping up maximised whenever I do an encode.

Your English is infinitely better than my Japanese!  But, courtesy of Google translate - Arigatō  !

All the best,
Twinspex
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 01 July, 2011, 06:29:32 PM
Hello,

can I choose a better level of compression for ALAC mode, if I simply state qaac -A -o out.m4a in.wav, I get a pretty big file, almost as big as wav.
I believe apple lossless codec can compress better, but didnot figure out how to change the level.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: mixminus1 on 01 July, 2011, 08:58:09 PM
I don't think anyone can figure out how to change the level.

AFAIK, Apple doesn't expose a compression level parameter in their ALAC encoder.  For instance, even under OS X with XLD, which has direct access to CoreAudio, there's no setting for compression level.

IME, ALAC usually compresses comparably to FLAC -5, maybe -4, so if you're getting an ALAC file that's close to the original WAV, I would guess that it's just some material that's difficult to compress, like metal or industrial music with lots of strong, uncorrelated high-frequency content.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 02 July, 2011, 01:23:49 AM
OK thanks. Dealing with QAAC I wanted yet to know if the writting library for AAC is the very same as iTunes UI uses since I can see different strings in the metadata (QuickTime vs. iTunes), and as last thing if theres conversion table between Nero and QAAC true VBR quality factor or between average bitrate and tvbr value.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 July, 2011, 09:51:53 PM
It should be the same at the AAC bitstream level (that is, you obtain the same audio).

However, MP4 container (where metadata or something go) is written in a different way.
As far as I know, there's no documented way to directly write AAC bitstream into MP4 container via QuickTime. AudioFile API is not usable on Windows.
Therefore, qaac uses opensource mp4v2 library (http://code.google.com/p/mp4v2/) for the work.

About Nero/QuickTime comparison...No.
The topic for qtaacenc (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072) might helps you.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: dpr on 23 August, 2011, 10:27:50 AM
Hi,

I'd like to request that support is added to all artwork to be embedded into the m4a file.  I know this it is possible to have artwork in the file as React2 is able to use itunesencode to add artwork. I'm assuming that the quicktime apis support this.

Thanks
Dpr
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 August, 2011, 09:05:44 PM
Hi,
Thanks for suggestion.
Technically, qaac uses not QuickTime but an open source mp4v2 library for MP4 muxing (of course, AAC encoding is done with QuickTime).
Artwork support is possible through the library, but I will need some time to implement that.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: dpr on 25 August, 2011, 07:07:20 AM
Thanks for considering the request
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ShotCaller on 07 September, 2011, 02:15:20 AM
Does anyone know why QAAC comes with speex for resampling? Is there any advantage or situation where it should be used over the native resampler?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: subinbar on 08 September, 2011, 03:22:25 AM
Just a heads up - looks like qaac now reorders multichannel files correctly for QT 7.7 so you don't have to bother with older DLL's:
http://sites.google.com/site/qaacpage/news/qaacrelease058 (http://sites.google.com/site/qaacpage/news/qaacrelease058)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: no404error on 08 September, 2011, 06:27:34 AM
Just a heads up - looks like qaac now reorders multichannel files correctly for QT 7.7 so you don't have to bother with older DLL's:
http://sites.google.com/site/qaacpage/news/qaacrelease058 (http://sites.google.com/site/qaacpage/news/qaacrelease058)


[qaac] release 0.61
Sorry for inconvenience, fixed bugs in previous releases.
* Channel remapping of 0.58 was insufficient for 7.1ch, and fixed now. 7.1 audio has two similar mapping (L R C LFE Ls Rs Lc Rc) and (L R C LFE Ls Rs Rls Rrs), and only the latter with explicit channel mask was working.

http://sites.google.com/site/qaacpage/news (http://sites.google.com/site/qaacpage/news)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: subinbar on 10 September, 2011, 03:18:41 AM
nu774 - is it possible to use qaac in dbPowerAmp?

nevermind - figured it out

Code: [Select]
-V 45 -o "[outfile]" - --no-optimize


That works well for about 96kbps.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 September, 2011, 05:07:18 AM
Does anyone know why QAAC comes with speex for resampling? Is there any advantage or situation where it should be used over the native resampler?


Hi,
Personally I don't think QuickTime's native resampler has pretty good quality. It seems that on QuickTime 7.7 it's still unchanged.
I once picked secret rabbit code resampler, and it's quality was decent (in exchange for very slow resampling speed). Then I dropped SRC due to license issue (qaac cannot choose GPL), and picked speex resampler.
It seems that speex resampler is not as good as SRC in quality, but it's acceptable (still better than QT native) and runs fast.

However, I don't wanna force this on you. Therefore I made it optional so that you can always choose which resampler to use, and I think you'd better check and see resampler quality by yourself:
1. Encode some sweep sample with qaac like this:
  qaac -A --rate=44100 sweep96k.wav
2. Decode the result ALAC file.
3. Check spectrogram of the result with softwares like sox.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 10 September, 2011, 06:00:45 AM
According to my tests, QT resamples with different quality for lossless and lossy encoding. I encoded a sweep sine file with the following command lines:

qaac -A --rate=44100 sweep96.wav -o A.m4a
qaac --cbr 320 --rate=44100 sweep96.wav -o cbr320.m4a
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 September, 2011, 06:34:58 AM
According to my tests, QT resamples with different quality for lossless and lossy encoding. I encoded a sweep sine file with the following command lines:

qaac -A --rate=44100 sweep96.wav -o A.m4a
qaac --cbr 320 --rate=44100 sweep96.wav -o cbr320.m4a


Oh, I didn't know that. Thanks to let me know.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ShotCaller on 10 September, 2011, 03:55:35 PM
Perhaps the quality is better, but I am having a problem with Speex when I use this command in Subsonic streamer

qaac -V 127 --adts --no-optimize -o - %s

For some reason this is failing when streaming 24 bit 96 kHz FLAC, and yes, I do have libFLAC and libsndfile.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 10 September, 2011, 04:31:55 PM
When qaac uses Speex it creates temporary file with resampled content (and it takes time) and then encodes it to AAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 September, 2011, 11:28:18 PM
[qaac] release 0.63

Fixed problem in --downmix option. Thanks to b66pak, as always, for reporting this.

This was found only when you specified --downmix to downmix multichannel source into mono/stereo, and source contains explicit channel mask (for WAV files, this means that it's in extensible format).

Also I have uploaded fixed qaac_sample.reg, which contains qaac.reg. Previous one didn't work for HE encoding.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 15 October, 2011, 06:22:12 PM
While testing qaac 0.91 with commandline

Code: [Select]
eac3to.exe "d:\temp\test.dts" stdout.wav | qaac.exe --tvbr 87 --quality 2 --ignorelength - f:\temp\captures\test_qaac.m4a


I got this error:
Code: [Select]
initializing QTML...done

qaac 0.91, QuickTime 7.7.0

<stdin>
5.1 (L R C LFE Lsd Rsd) -> 5.1 (C L R Ls Rs LFE)

01:58:36.992 (9.0x)
341615616/-1 samples processed in 13:12.360
Overall bitrate: 480.431kbps
7099/7099 chunks written (optimizing)

test_qaac.m4a
_wfopen: f:\temp\captures\test_qaac.m4a: No such file or directory


It seems that the AAC file is encoded as stdin.m4a in the eac3to directory but was never moved to the final destination and renamed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 15 October, 2011, 06:36:52 PM
use -o switch for output filename:

qaac.exe --tvbr 87 --quality 2 --ignorelength - -o f:\temp\captures\test_qaac.m4a
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 15 October, 2011, 06:38:29 PM
Thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: xekon on 23 October, 2011, 12:10:11 AM
Why such different results? do the two applications really work that differently, when using more or less the same arguments?
I assumed since they both use quicktime that it would be similar results, just different methods of getting the job done.

Some of the tagging is different for the container, and a lot of that I dont even understand, but there is an obvious difference in the average bitrate for the audio stream between the two.

Both qtaacenc and qaac use a range of 0-127 for tvbr, so I am a little confused...

example:
Code: [Select]
E:\AviSynth\Wavi bd.avs - | qtaacenc --tvbr 90 --highest --samplerate keep --ignorelength - qtaacenc.m4a
E:\AviSynth\Wavi bd.avs - | qaac --tvbr 90 --quality 2 --rate keep --ignorelength - -o qaac.m4a

cmd window:
(https://hydrogenaud.io/imgcache.php?id=44e931b8d96d2f52bd7805ef00b07e6d" rel="cached" data-warn="External image, click to view at original size" data-url="http://sites.google.com/site/jakejsite/go.gif)

qaac encoded m4a mediainfo:
Code: [Select]
General
Complete name                    : E:\AviSynth\qaac.m4a
Format                           : MPEG-4
Format profile                   : Apple audio with iTunes info
Codec ID                         : M4A
File size                        : 1.17 MiB
Duration                         : 33s 259ms
Overall bit rate mode            : Variable
Overall bit rate                 : 295 Kbps
Encoded date                     : UTC 2011-10-23 03:57:01
Tagged date                      : UTC 2011-10-23 03:57:05
Writing application              : qaac 0.91, QuickTime 7.7.0, MPEG-4 AAC Encoder 1.7.1, Variable Bit Rate q91, Best

Audio
ID                               : 1
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format profile                   : LC
Codec ID                         : 40
Duration                         : 33s 259ms
Bit rate mode                    : Variable
Bit rate                         : 288 Kbps
Maximum bit rate                 : 355 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Compression mode                 : Lossy
Stream size                      : 1.16 MiB (99%)
Encoded date                     : UTC 2011-10-23 03:57:01
Tagged date                      : UTC 2011-10-23 03:57:05

qtaacenc encoded m4a mediainfo:
Code: [Select]
General
Complete name                    : E:\AviSynth\qtaacenc.m4a
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 1.62 MiB
Duration                         : 33s 259ms
Overall bit rate mode            : Variable
Overall bit rate                 : 409 Kbps
Encoded date                     : UTC 2011-10-23 04:56:58
Tagged date                      : UTC 2011-10-23 04:56:58
Writing application              : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 90
Encoding Params                  : (Binary)

Audio
ID                               : 1
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format profile                   : LC
Codec ID                         : 40
Duration                         : 33s 259ms
Bit rate mode                    : Variable
Bit rate                         : 407 Kbps
Maximum bit rate                 : 428 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Compression mode                 : Lossy
Stream size                      : 1.61 MiB (99%)
Language                         : English
Encoded date                     : UTC 2011-10-23 04:56:58
Tagged date                      : UTC 2011-10-23 04:56:58
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2011, 01:00:50 AM
Hi,
As far as I know, 5.1ch encoding with qtaacenc is not properly working, due to QuickTime side  mixer problem. qaac has built in workaround for it.
Listen to the result, and confirm the channel layout.

However, I also confirmed that qtaacenc doesn't produce the same bitstream as qaac, even on 2ch stereo.
I tried on qtaacenc version 20110816 by tmkk;

Try --cvbr 256 on qaac, and compare them with "iTunes Plus" encoding by iTunes.
Also, try the same with qtaacenc.

On qaac, at least --cvbr 256 produces the exactly same bitstream with iTunes Plus.
You can use foobar2000 "bit compare" menu or something for it.
Also, if you have working Python interpreter (version 2.x), you can use my silly script (mdatcmp.py) to simply compare mdat in mp4 files.
https://github.com/nu774/mdatcmp (https://github.com/nu774/mdatcmp)

However, I couldn't get the same result with qtaacenc.
Maybe I'm missing something...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2011, 01:20:30 AM
I'm sorry, forget about 2ch difference in the previous post.
It seems there was a problem in my enviromnent / testing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2011, 02:06:59 AM
It seems that new iTunes 10.5.0 (which doesn't require QT) produces different result for iTunesPlus
compared to iTunes 10.4.1...

When I tested before, qaac -v256 used to produce the same result with iTunes 10.4.1, but not with 10.5.0;
I tried to downgrade iTunes to re-confirm it, but unfortunately my iTunes library is already upgraded to 10.5.0, so iTunes refused to start up.

Anyway, this is what I have encoded with the both version;
https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/sample.zip?attredirects=0&d=1)
Could someone confirm this?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Larson on 23 October, 2011, 04:09:43 AM
I found a bug with QAAC when converting to tvbr with -q value 1 (since there's a bug with latest quicktime version and -q 2 as far as I've read). For instance with TVBR 113 (around 256 kbps) the resulting bitrate is much lower than it should be. There's no problem with CVBR instead.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2011, 04:44:51 AM
I found a bug with QAAC when converting to tvbr with -q value 1 (since there's a bug with latest quicktime version and -q 2 as far as I've read). For instance with TVBR 113 (around 256 kbps) the resulting bitrate is much lower than it should be. There's no problem with CVBR instead.


Thanks for reporting this. I could confirm it;
Running directly from command-line, it's visible that displayed TVBR quality value is already broken when you specify -q1 (q0 and q2 seems OK).
This is very strange, since qaac just passes -q value (0, 1, 2) to QuickTime, and it's transparent to qaac (Displayed value is re-fetched from QuickTime after configuration of the encoder finished).
However, it seems that 0.90 doesn't suffer from this. So,  please use 0.90 for now.

I'm currently investigating another strange problem on 0.91.
I will release new version (0.92) when it is settled and fixed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: xekon on 23 October, 2011, 07:11:02 PM
Hi,
As far as I know, 5.1ch encoding with qtaacenc is not properly working, due to QuickTime side  mixer problem. qaac has built in workaround for it.
Listen to the result, and confirm the channel layout.


I believe you are correct. I encoded a 2 channel file with the same cmd as I did for the 6 channel file and both qaac and qtaacenc output the same bitrate, thank you so much for clearing that up.

edit: testing the file you sent me now.

for whatever reason quicktime is reporting as the correct version now. I cannot even seem to reproduce the problem where it reported as 0.9.13
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 October, 2011, 09:50:22 PM
Hi, forget about this post.
It seems that iTunes 10.5 installs new CoreAudioToolBox.dll. It's version is 7.9.7.3, and the same  as QT 7.7.0; However, it's a bit bigger in size, and seems AAC encoder is updated.
I confirmed qaac -v256 produces identical bitstream as iTunesPlus of iTunes 10.5.

It seems that new iTunes 10.5.0 (which doesn't require QT) produces different result for iTunesPlus
compared to iTunes 10.4.1...

When I tested before, qaac -v256 used to produce the same result with iTunes 10.4.1, but not with 10.5.0;
I tried to downgrade iTunes to re-confirm it, but unfortunately my iTunes library is already upgraded to 10.5.0, so iTunes refused to start up.

Anyway, this is what I have encoded with the both version;
https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/sample.zip?attredirects=0&d=1)
Could someone confirm this?

Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 26 October, 2011, 03:02:56 AM
Hi, forget about this post.
It seems that iTunes 10.5 installs new CoreAudioToolBox.dll. It's version is 7.9.7.3, and the same  as QT 7.7.0; However, it's a bit bigger in size, and seems AAC encoder is updated.

I just downloaded the 32-bit installer of iTunes 10.5 and got CoreAudioToolBox.dll version 7.9.7.8, according to the file properties it was modified on Sept 27. It would be really nice to know what has changed between the many versions to help decide whether to upgrade or not.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2011, 05:01:30 AM
Hi,

Oh, really? From explorer property view, in my environment it has the same time stamp as yours (Sept 27 2011, 7:22:30), file size is 4,880,232 bytes, and product version is displayed as 7.9.7.3. FYI, md5sum is caae337ba3baa5590a595dc57e6c5d16.
This is apparently updated, so probably yours is right.
I wonder why explorer says 7.9.7.3 in my environment...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 26 October, 2011, 05:32:08 AM
Seems that my version also has the same md5 sum so we have the same file.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 26 October, 2011, 10:35:44 AM
Quote
I wonder why explorer says 7.9.7.3 in my environment...

It depends on the system locale. The file contains the following strings (in unicode encoding): "7.9.7.7", "7.9.7.3", "7.9.7.8"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2011, 11:34:39 AM
Quote
I wonder why explorer says 7.9.7.3 in my environment...

It depends on the system locale. The file contains the following strings (in unicode encoding): "7.9.7.7", "7.9.7.3", "7.9.7.8"


Hi, thanks.
I opened up CoreAudioToolbox.dll with Visual Studio, and confirmed FILEVERSION (and PRODUCTVERSION) for most locale are 7,9,7,3 (7,9,7,7 for ar-SA, and 7,9,7,8 for en-US).
Really confusing...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Larson on 31 October, 2011, 04:52:03 AM
nu744 could you please tell me how refalac works? What is the command line setting to use to convert to Alac with dbpoweramp for example? -A -o [outfile] - doesn't work
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 October, 2011, 05:12:16 AM
nu744 could you please tell me how refalac works? What is the command line setting to use to convert to Alac with dbpoweramp for example? -A -o [outfile] - doesn't work

Code: [Select]
-o [outfile] -

will work.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Larson on 31 October, 2011, 05:20:42 AM
still not working for me but thanks for answering!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 October, 2011, 05:34:24 AM
still not working for me but thanks for answering!

Can you run refalac directly from command prompt?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Pusherman on 31 October, 2011, 08:27:39 AM
still not working for me but thanks for answering!


Code: [Select]
' -A -o "[outfile]" - --no-optimize '


Try with spaces in begin and end (--no-optimize last).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Larson on 31 October, 2011, 08:52:51 AM
EDIT: it works now, thank you!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: overfloater on 05 November, 2011, 05:43:23 PM
I confirmed qaac -v256 produces identical bitstream as iTunesPlus of iTunes 10.5.

Interesting. I'm not getting identical files with qaac -v256 and iTunes Plus via iTunes 10.5.0.142. CoreAudioToolbox.dll is version 7.9.7.8.

Disclaimer: I'm no expert. (I only just registered to post this!) Source material was a standard CD quality WAV ripped by EAC, than manually pushed through iTunes and qaac separately. I assumed I'd see identical output files from each, hence I stumbled across this thread. But perhaps I'm making a newbie mistake, overlooking something obvious, or simply don't know what I'm talking about.


Edit: Ignore me. I keyed in on the "bitstream" part and realized that the files can be non-identical while the bitstream is the same. (Though I'm not 100% sure I understand where the file differences actually are.) Downloaded and used the foobar Bit Compare component to confirm the qaac/iTunes bitsreams are, in fact, identical. My bad! Told you I was a newbie...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 06 November, 2011, 08:38:58 AM
Has anyone managed to get the --artwork option to work when using refalac with foobar as I'm struggling atm, any advice would be great  I'm using
Code: [Select]
-o %d -
just to do the normal conversion, but whenever I add in --artwork folder.jpg to add my artwork it just doesnt want to know
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 06 November, 2011, 09:05:27 AM
Copy folder.jpg to the destination folder and see if it works.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 November, 2011, 09:07:38 AM
Hi,
It will work only if you have folder.jpg in encoding destination folder.
Since foobar spawns CLI encoder in destination folder as it's current directly, if you have folder.jpg in somewhere else, it won't work.

I should have mention it more clearly in the usage page; updated it now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 06 November, 2011, 09:24:18 AM
Still can't get it to work, I'm encoding from the directory that has both the FLAC files and the folder.jpg but it won't work.  This is what I'm using, maybe I've got it wrong

Code: [Select]
-o --artwork folder.jpg %d -


These are the error's I'm getting within foobar:

Code: [Select]
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\02. LEVEL5 -judgelight-.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\03. everlasting.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\04. late in autumn.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\05. future gazer.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\06. kanashii seiza.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\07. crossing over.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\08. closest love.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\09. meditations.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\10. trusty snow.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\11. lost answer.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\12. eternal pain.m4a"
Could not load info (Object not found) from:
"D:\Music\Lossless\fripSide\infinite synthesis (2010)\13. stay with you.m4a"


Code: [Select]
13 out of 13 tracks converted with major problems.

Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "01. only my railgun.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\02. LEVEL5 -judgelight-.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\02. LEVEL5 -judgelight-.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "02. LEVEL5 -judgelight-.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\03. everlasting.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\03. everlasting.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "03. everlasting.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\04. late in autumn.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\04. late in autumn.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "04. late in autumn.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\05. future gazer.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "01. only my railgun.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\06. kanashii seiza.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\02. LEVEL5 -judgelight-.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "02. LEVEL5 -judgelight-.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\07. crossing over.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\03. everlasting.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "03. everlasting.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\08. closest love.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\04. late in autumn.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "04. late in autumn.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\09. meditations.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "01. only my railgun.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\10. trusty snow.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\02. LEVEL5 -judgelight-.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "02. LEVEL5 -judgelight-.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\11. lost answer.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\03. everlasting.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "03. everlasting.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\12. eternal pain.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\04. late in autumn.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "04. late in autumn.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Source: "D:\Music\Lossless\fripSide\infinite synthesis (2010)\13. stay with you.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "D:\Music\Lossless\fripSide\infinite synthesis (2010)\01. only my railgun.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "K:\Stuff\Foobar Components\qaac\refalac.exe" -o --artwork folder.jpg "01. only my railgun.m4a" -
  Working folder: D:\Music\Lossless\fripSide\infinite synthesis (2010)\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 November, 2011, 09:44:59 AM
Still can't get it to work, I'm encoding from the directory that has both the FLAC files and the folder.jpg but it won't work.  This is what I'm using, maybe I've got it wrong
Code: [Select]
-o --artwork folder.jpg %d -


Please try again with
Code: [Select]
-o %d --artwork folder.jpg -

-o is a option to specify output file name. Therefore, %d (placeholder for output filename used by foobar) must come just after -o.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 06 November, 2011, 10:06:36 AM
Please try again with
Code: [Select]
-o %d --artwork folder.jpg -

-o is a option to specify output file name. Therefore, %d (placeholder for output filename used by foobar) must come just after -o.


Perfect, thank you very much for the help, very much appreciated
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ainou on 07 November, 2011, 07:01:49 PM
Hello all,

Can someone explain me why this comands

Code: [Select]
C:\conv\qaac_0.96>qaac.exe --cbr 96 01.WAV  -o 01_AAC.mp4
initializing QTML...done

qaac 0.96, QuickTime 7.7.0

01.WAV
Estéreo (E D) -> Estéreo (E D)
Codificador MPEG-4 AAC 1.7.1, Taxa de bits constante 96kbps, Óptima
[25.0%] 3:33.840/14:15.360 (32.2x), ETA 0:19.919
9430344/37721376 samples processed in 0:06.660
Overall bitrate: 96.019kbps
210/210 chunks written (optimizing)

are producing mp4 files with this information (as returned by mediainfo)?

Audio
ID                                      : 1
Format                                  : AAC
Format/Info                              : Advanced Audio Codec
Format profile                          : LC
Codec ID                                : 40
Duration                                : 3mn 33s
Bit rate mode                            : Variable
Bit rate                                : 96.0 Kbps

Whatever option I use with -c I seem not to be able to get any Constant Bit Rate file. Any clues

Thanks

AM
Title: QAAC: discussion, questions, feature requests, etc.
Post by: YumeYao on 07 November, 2011, 10:01:32 PM
I've encountered some problem:

I'm running Linux (Ubuntu 10.04 64-bit) and using foobar2k and qaac in a VM (VMWare Player 4.0.0) with Windows XP SP3 installed.

On Windows,
D:\ is mounted as a network drive, and all musics are stored in D:\.

So when I'm using foobar2k to convert a music, if the destination directory is in d:\, the file results to be corrupted no matter --no-optimize is tagged or not. But if destination directory is in c:\ (not a network drive), the converted file is ok.

QT version is latest, 7.7.1.



Then I just have done several tests by command line (to bypass foobar2k's touching mp4 container)
used the commands below
type xxx.wav | qaac.exe -i -o "d:\xxx.m4a" -
type xxx.wav | qaac.exe -i --no-optimize -o "d:\xxx.m4a" -
qaac.exe -i -o "d:\xxx.m4a" xxx.wav
qaac.exe -i --no-optimize -o "d:\xxx.m4a" xxx.wav


So there seems to be something wrong when qaac is used with foobar2k, because when I use faac or neroaacenc, I never encountered such problems.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 November, 2011, 01:07:21 AM
Whatever option I use with -c I seem not to be able to get any Constant Bit Rate file. Any clues

It's because they are not constant bit rate file.
"CBR" mode of QuickTime AAC encoder is actually just a more constraind ABR mode. Therefore each AAC audio frame can differ in size.

It's technically possible to pretend to be CBR for mediainfo (it's just looking at stsd decConfig descriptor), but qaac rather sets them actual values.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 November, 2011, 01:24:09 AM
Code: [Select]
So when I'm using foobar2k to convert a music, if the destination directory is in d:\, the file results to be corrupted no matter --no-optimize is tagged or not. But if destination directory is in c:\ (not a network drive), the converted file is ok.

Could you try the following?
Code: [Select]
-V64 -o %d.m4a --log %d.txt -

If you set like this, output filename is different from what foobar2000 expects (extra ".m4a" is appended on the end). Therefore foobar2000 will show error, but the result will be actually in the destination folder, untouched by foobar side.
With --log option, log file will be written by qaac.

Also, console message of foobar2000 will be useful (view->console).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: YumeYao on 09 November, 2011, 12:42:37 AM
Sorry,
in my last post I was to say all 4 tests by CLI are fine, just missed them.

I have followed your instruction to get the logs and foobar console, finding that is should be some problem with foobar.


The log seems fine (I'm chinese so the parameters are in chinese):
Quote
initializing QTML...done

qaac 0.96, QuickTime 7.7.1

<stdin>
立体声 (L R) -> 立体声 (L R)
MPEG-4 AAC 编码器 1.7.1, 可变位速率 q91, 最佳
8313144/-1 samples processed in 0:14.281
Overall bitrate: 187.008kbps


there are problematic messages in foobar console:
Quote
CLI encoder: qaac.exe
Destination file: D:\02 Rolling star.m4a
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "D:\WinTools\foobar2k\qaac.exe" -V 90 -q 2 --no-optimize -i -o "02 Rolling star.m4a" -
Working folder: D:\
Encoder process still running, waiting...
Encoder process terminated cleanly.
Track converted successfully.
AAC decode error when analyzing first frame
could not enumerate tracks (Unsupported format or corrupted file) on:
D:\02 Rolling star.m4a
Total encoding time: 0:12.828, 14.69x realtime


So it seems foobar is to blame. So I tried faac....
Quote
CLI encoder: faac.exe
Destination file: D:\02 Rolling star.m4a
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "D:\WinTools\foobar2k\faac.exe" -q 700 - -o "02 Rolling star.m4a"
Working folder: D:\
Encoder process still running, waiting...
Encoder process terminated cleanly.
Track converted successfully.
AAC decode error when analyzing first frame
could not enumerate tracks (Unsupported format or corrupted file) on:
D:\02 Rolling star.m4a
Total encoding time: 0:12.265, 15.36x realtime


So definitely the bug belongs to this version of foobar (1.1.1). Sorry for mis-reporting.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: subinbar on 10 November, 2011, 05:59:19 PM
nu774, would it be possible to use only qaac.exe along with the Apple Application Support .dll's in the same folder in a portable manner, without the need for registry keys and a separate installation?  (now that it bypasses quicktime)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 November, 2011, 07:53:31 PM
nu774, would it be possible to use only qaac.exe along with the Apple Application Support .dll's in the same folder in a portable manner, without the need for registry keys and a separate installation?  (now that it bypasses quicktime)

Yes. They are searched in the following order. No registory setting is required.
1) The directory where qaac.exe is placed
2) Windows system directory
3) "QTfiles" sub directory
4) The directory in a registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support" (This can be overriden with qaac.reg)
5) Directories in the PATH environment variable
Title: QAAC: discussion, questions, feature requests, etc.
Post by: subinbar on 10 November, 2011, 10:01:54 PM
nu774, would it be possible to use only qaac.exe along with the Apple Application Support .dll's in the same folder in a portable manner, without the need for registry keys and a separate installation?  (now that it bypasses quicktime)

Yes. They are searched in the following order. No registory setting is required.
1) The directory where qaac.exe is placed
2) Windows system directory
3) "QTfiles" sub directory
4) The directory in a registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support" (This can be overriden with qaac.reg)
5) Directories in the PATH environment variable


awesome, thanks!  Do you mind listing the exact DLL's that are needed?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 November, 2011, 11:44:16 PM
awesome, thanks!  Do you mind listing the exact DLL's that are needed?

Direct dependency:
CoreAudioToolbox.dll, CoreFoundation.dll.
Indirect dependency:
ASL.dll, icudt46.dll, libdispatch.dll, libicuin.dll, libicuuc.dll, objc.dll, pthreadVC2.dll.

Of course, these might change in future (Especially ICU version).
You can check dependency rather easily with tools like Dependency Walker (http://www.dependencywalker.com/).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Xenion on 11 November, 2011, 03:27:32 AM
I'm very impressed by the continuity qaac is developed and want to thank nu774 once again.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: DARcode on 11 November, 2011, 08:53:23 AM
I'm pretty impressed too, just switched to qaac for my lossy encodes, do you accept donations nu774?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 November, 2011, 09:08:40 AM
I'm pretty impressed too, just switched to qaac for my lossy encodes, do you accept donations nu774?

Thank you, but currently I'm not accepting donations.
(It seems that paypal private donation is somewhat restricted in my country, for legal reason).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: DARcode on 11 November, 2011, 09:33:42 AM
I'm pretty impressed too, just switched to qaac for my lossy encodes, do you accept donations nu774?

Thank you, but currently I'm not accepting donations.
(It seems that paypal private donation is somewhat restricted in my country, for legal reason).
A wish list on Amazon.co.jp maybe?
Alternatively, anything I can send you from Italy?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 11 November, 2011, 09:38:32 AM
Direct dependency:
CoreAudioToolbox.dll, CoreFoundation.dll.
Indirect dependency:
ASL.dll, icudt46.dll, libdispatch.dll, libicuin.dll, libicuuc.dll, objc.dll, pthreadVC2.dll.

And also msvcr80.dll / msvcp80.dll (ver. 8.0.50727.6195).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 November, 2011, 10:04:35 PM
And also msvcr80.dll / msvcp80.dll (ver. 8.0.50727.6195).

Yes, thanks. They are the latest security update version of MSVC 2005 SP1 runtime.
If you have Visual C++ 2005 SP1 redistributable package installed and running MS update, probably it's already installed in your system.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Larson on 12 November, 2011, 04:36:20 AM
nu774, first of all thank you for the impressing work you're doing!

I wanted to ask you one thing, when converting with -q 2 in the tag it is reported as "Quality 96" which is "Better" according to these scheme on Apple developer site

Better
kAudioCodecQuality_High
96 (0x60)
Best
kAudioCodecQuality_Max
127 (0x7F)

is it the same as Max or there's another setting for that?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 November, 2011, 05:39:10 AM
Yes, it is same as kAudioCodecQuailityMax, as for AAC codec.
If you set larger value than this, it's just rounded to 96.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: awx on 04 December, 2011, 10:50:02 AM
Hi,
It will work only if you have folder.jpg in encoding destination folder.
Since foobar spawns CLI encoder in destination folder as it's current directly, if you have folder.jpg in somewhere else, it won't work.

I should have mention it more clearly in the usage page; updated it now.


Quote
However, if you have folder.jpg (or somehing) in your source folder and it's different from destination folder, you have to pass fullpath of folder.jpg to qaac. Therefore, your setting option will gets more complex


Hi,
and what the command line must be if I have folder.jpg in my source folder?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 04 December, 2011, 10:58:34 AM
AFAIK it's not possible to pass the name of the source folder from foobar2000 to an encoder.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 13 December, 2011, 03:51:18 AM
ExactAudioCopy 1.0 b2 supports qaac well, the options set was improved since EAC 0.9x and almost completely supports qaac's options set  (except "--compilation"):
Code: [Select]
-V 80 -o %dest% --title "%title%" --artist "%artist%" --band "%albumartist%" --album "%albumtitle%" --track "%tracknr%/%numtracks%" --disk "%cdnumber%/%totalcds%" --genre "%genre%" --date "%year%" --comment "%comment%"%hascover% --artwork %coverfile%%hascover%%haslyrics% --lyrics %lyricsfile%%haslyrics% %source%
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2011, 08:23:38 AM
ExactAudioCopy 1.0 b2 supports qaac well, the options set was improved since EAC 0.9x and almost completely supports qaac's options set  (except "--compilation"):

I'm thinking that current --compilation option design is not friendly to GUI front-end usage.
Since it takes no argument and just controlled by the presense of --compilation option, it might be difficult or sometimes impossible to use it from GUI front-end (it will require some conditional control).
It would be much simpler if you could just use --compilation=%compilation% or something.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 13 December, 2011, 08:38:30 AM
Regarding the philosophy of the EAC 1.0 option set, its support would probably become (a guess into the blue):

%ifvarious%--compilation%ifvarious%

I'm more curious if any player is interested in that flag at all ... possibly Apple iTunes only.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2011, 08:44:41 AM
I'm more curious if any player is interested in that flag at all ... possibly Apple iTunes only.

Yes, I don't know other than that 
Since iTunes already supports sorting/grouping by album artists like other players, probably it won't be so important for iTunes users, too.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soren on 19 December, 2011, 01:04:26 AM
I don't what i'm doind wrong, but i can't produce a non-corrupted alac file using Foobar. I always get this error in the console :

Quote
An error occurred while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Users\Philippe\Desktop\El Camino\11. The Black Keys - Mind Eraser.m4a"
Conversion failed: Unsupported format or corrupted file
could not enumerate tracks (Unsupported format or corrupted file) on:
C:\Users\Philippe\Desktop\El Camino\11. The Black Keys - Mind Eraser.m4a


I use the default commande line (-A -o %d -)

Someone have a clue about what's going on ??
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 December, 2011, 03:15:43 AM
Please post foobar2000 console message (view->console).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: marc2003 on 19 December, 2011, 05:57:34 AM
the previous post says that message is from the console...

perhaps it's an outdated version of foobar without foo_input_alac? old versions need that to tag files. the current version can play and tag apple lossless without the need for extra components as it uses the recently released source code.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 December, 2011, 06:40:50 AM
the previous post says that message is from the console...
Oh, sorry... I missed the sentence.
I just wanted to see more detailed information such as the exact command line or something, which should have been printed to the console.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soren on 19 December, 2011, 09:01:32 AM
Thanks for replying guys, but the problem is solved ! The problem must be on the Foobas side since i update from 1.0.9 to 1.1.10 and everything work now

Thanks for the nice piece of software (QAAC), i'm now converting my flac collection to ALAC with much more ease !!

Soren
Title: QAAC: discussion, questions, feature requests, etc.
Post by: holyrevenger on 23 December, 2011, 09:15:00 PM
@nu774

On my system (i5-2410m/win7x64/fb2k1.1.10/qtlite4.10/qaac1.13), qaac.exe will "stop working" when converting with "thread detect" set to 0 in fb2k.
But qaac0.99 works fine.

Any suggestion?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 December, 2011, 11:28:55 PM
On my system (i5-2410m/win7x64/fb2k1.1.10/qtlite4.10/qaac1.13), qaac.exe will "stop working" when converting with "thread detect" set to 0 in fb2k.
But qaac0.99 works fine.

Any suggestion?

Have no idea, though I haven't tried qaac with QT Lite.
Could you add --log option like the following, and let me see the log file as well as foobar2000's console log?
Code: [Select]
-o %d - --log %d.txt
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 24 December, 2011, 04:41:23 AM
I installed QT Lite 4.10 (into vritual machine  ).  It contain CoreAudioToolbox 7.9.5.0 btw.

For qaac 1.14: the error window pops up in the middle of encoding but qaac continues to encode an input file; its log file is fine.

The pop-up window contains the following:
Quote
Error signature:

AppName: qaac.exe    AppVer: 0.0.0.0    ModName: msvcr80.dll
ModVer: 8.0.50727.4053    Offset: 000029e1
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 24 December, 2011, 05:21:05 AM
HI is it possible encode 2.1 audio without losing any channel information? I get unsupported format error..
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 24 December, 2011, 06:11:24 AM
HI is it possible encode 2.1 audio without losing any channel information? I get unsupported format error..

If you don't want to lose LFE, you have to upmix to 5.1.
Try matrix like the following:
Code: [Select]
1 0 0
0 1 0
0 0 0
0 0 1
0 0 0
0 0 0

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 24 December, 2011, 06:24:59 AM
I installed QT Lite 4.10 (into vritual machine  ).  It contain CoreAudioToolbox 7.9.5.0 btw.

Thanks for testing.
Quote
For qaac 1.14: the error window pops up in the middle of encoding but qaac continues to encode an input file; its log file is fine.

Sounds like the background thread created by CoreAudio is crashing.

As for regular installation of CoreAudioToolbox 7.9.7.3 -- though you might see it as 7.9.7.8 or something ;-), it creates new background thread when the DLL is attached to the process (from qaac point of view, this  thread is spawned via a call to LoadLibararyW(L"CoreAudioToolbox.dll").

I don't know what the background thread is for, but it looks like just sitting and waiting for something.
In fact, I just tried killing it. qaac main thread just continued as if nothing happened, and terminated properly, as you say.

Very interesting, but there's nothing I can do here.

@holyrevenger
I have to say that you'd better use regular Apple Application Support.
Not to mention of license issue, 7.9.5.0 is just too old and HE encoder is not available  (It was available via QuickTime, but cannot be used directly from CoreAudioToolbox).
If you don't want to install them, just search and read this thread.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 24 December, 2011, 09:12:06 AM
I quickly investigated on this further. Seems like this thread is owned by libdispatch, which is used by Apple Application Support.

Documented at here: http://developer.apple.com/library/mac/#do.../reference.html (http://developer.apple.com/library/mac/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html)
Open sourced implementation here: http://libdispatch.macosforge.org/ (http://libdispatch.macosforge.org/)

The fact that qaac runs fine without this dispatcher thread bound to main queue of libdispatch probably means that it's simply not used at least by AAC encoder... But I don't know.

If you have this kind of trouble with regular installation, please let me know. However, if the problem happens here, probably there's nothing I can do. It's completely internal of CoreAudio job.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: holyrevenger on 25 December, 2011, 03:59:24 AM
@nu774

Thanks for your advice.
Think of the version of QTLite is too old, I install AppleApplicationSupport and it works fine now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Bostedclog on 29 December, 2011, 02:51:05 PM
Hello hydrogenaudio Im a newbee on here and this is my first post so please be gentle. 
I have a couple of simple questions regarding Qaac which Im sure you experts can help me out with please.Firstly Im running windows 7 32 bit.I have downloaded the latest Qaac from the link on the first post but in the x64 folder which I think is for me all I see is refalac64 and a few Dlls. Where is the qaacq.exe file ?Thank you.
Also for it to work in Foobar would these settings be ok  --tvbr 60 --highest - %d  I just want to use it for my Iriver H340 and what does highest on the command line mean.Many thanks in advance.Ans keep up the good work.
P.S All I have downloaded is Quick time and foobar is this correct or is there anything better or anything else I need..x
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 29 December, 2011, 03:07:05 PM
Are you trying to execute a 64-bit application on a 32-bit Windows? That wouldn't work anyway.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 29 December, 2011, 08:24:58 PM
Firstly Im running windows 7 32 bit.I have downloaded the latest Qaac from the link on the first post but in the x64 folder which I think is for me all I see is refalac64 and a few Dlls. Where is the qaacq.exe file ?Thank you.
qaac is 32bit only. Anything inside x64 folder won't run in your environment anyway. Just ignore them, and copy contents of x86 folder to somewhere you like.
Quote
Also for it to work in Foobar would these settings be ok  --tvbr 60 --highest - %d
Doesn't work. The following is identical to that qtaacenc command line:
Code: [Select]
-V60 -q2 - -o%d
However, you had better read usage page for more details.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Bostedclog on 30 December, 2011, 03:07:22 AM
So the x86 is the 32 bit exe file? God Im dumb.  Thanks you very much for your advice.What did highest mean do you know.If not it doesn't matter and thanks again.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 30 December, 2011, 04:00:26 AM
"x86" once had the meaning of "intel 80x86 family compatible", to be separated from Motorola and RISC processors with a different machine code. That abbreviation existed already in 8-bit and 16-bit times, even long before AMD made the first Athlon 64 with 64-bit architecture mode. Therefore, "x86" still means "compatible with 32-bit addressing" too.

Option "--highest" of qtaacenc (using the highest amount of efforts to encode efficiently, taking the longest time) is equal to "-2" of qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Bostedclog on 30 December, 2011, 05:43:11 AM
"x86" once had the meaning of "intel 80x86 family compatible", to be separated from Motorola and RISC processors with a different machine code. That abbreviation existed already in 8-bit and 16-bit times, even long before AMD made the first Athlon 64 with 64-bit architecture mode. Therefore, "x86" still means "compatible with 32-bit addressing" too.

Option "--highest" of qtaacenc (using the highest amount of efforts to encode efficiently, taking the longest time) is equal to "-2" of qaac.

Superb.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 30 December, 2011, 03:26:50 PM
Was the message that showed channel remapping lost at some version? I updated to the latest QAAC but I don't see the message anymore.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 30 December, 2011, 03:36:41 PM
Good to see that qaac is supported quite well; my question about qtaacenc (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072&view=findpost&p=778777) is still unreplied...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 December, 2011, 09:16:19 PM
Was the message that showed channel remapping lost at some version? I updated to the latest QAAC but I don't see the message anymore.

Yes, it's not displayed since 1.00 due to the drastic underlying API change. On 1.00 branch, I dropped QuickTime7 and moved to CoreAudio.
--remix option was also dropped, and now is superceded by --matrix-preset and --matrix-file.


Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 January, 2012, 06:05:53 AM
Released 1.18 now. Enabled channel layout printing with --verbose on.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 01 January, 2012, 06:38:53 AM
Released 1.18 now. Enabled channel layout printing with --verbose on.

Thanks for adding the option without me even asking for it
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Bostedclog on 02 January, 2012, 05:01:36 PM
Before I decide to encode all of my music to qaac .Does anyone know if there will be any significant improvements in the near future regarding sound quality.Many thanks..
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Kohlrabi on 02 January, 2012, 05:09:59 PM
Before I decide to encode all of my music to qaac .Does anyone know if there will be any significant improvements in the near future regarding sound quality.Many thanks..

Sound quality is of course the same as files generated with Quicktime/iTunes directly, since qaac interfaces Apple's encoders. So you should bug Apple about their encoders if you deem them too bad. At relatively low bitrates, Quicktime was recently found to produce the highest quality AAC encodes, though (http://listening-tests.hydrogenaudio.org/igorc/aac-96-a/results.html).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Bostedclog on 03 January, 2012, 05:09:16 AM
Before I decide to encode all of my music to qaac .Does anyone know if there will be any significant improvements in the near future regarding sound quality.Many thanks..

Sound quality is of course the same as files generated with Quicktime/iTunes directly, since qaac interfaces Apple's encoders. So you should bug Apple about their encoders if you deem them too bad. At relatively low bitrates, Quicktime was recently found to produce the highest quality AAC encodes, though (http://listening-tests.hydrogenaudio.org/igorc/aac-96-a/results.html).

I dont know whether my question came across wrong but I think the qtaac/qaac encoders are brilliant .I as just wondering if any big changes are expected if not Ill start encoding 11,000 tracks.   
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 03 January, 2012, 05:45:13 AM
Sounds a bit like sending a letter praising the powerful engine and easily shifting gearbox to the manufacturers of the car chassis.

The author of qaac is not responsible for the quality of the AAC encoder developed for Apple QuickTime. He "only" gave you the ability to use it without the QuickTime Player application.

But I'd like to thank him a lot for this essential job, because it is a prerequisite to use it with different user interfaces. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 06 February, 2012, 05:54:23 AM
Bug report:
It seems that the "iTunSMPB" tag is written incorrectly for HE output. Instead of writing the correct delay value, it will always write the standard LC value (840).
Haven't checked padding value yet.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 February, 2012, 06:23:30 AM
Bug report:
It seems that the "iTunSMPB" tag is written incorrectly for HE output. Instead of writing the correct delay value, it will always write the standard LC value (840).
Haven't checked padding value yet.

As far as I know, iTunes is using exactly the same value including padding.
How did you think it is incorrect?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 06 February, 2012, 06:49:41 AM
Bug report:
It seems that the "iTunSMPB" tag is written incorrectly for HE output. Instead of writing the correct delay value, it will always write the standard LC value (840).
Haven't checked padding value yet.

As far as I know, iTunes is using exactly the same value including padding.
How did you think it is incorrect?


I compared the value to the actual delay that I can see in Audacity after decoding to wav.
For LC the value stored in the tag as delay is 840 which equals 2112 samples in decimal notation. The source file was 44.1 KHz.
2112/44100Hz ~= 48ms
Comparing the original source wav and the decoded wav I can see that this is correct.
Now for HE qaac also writes 840, which would mean:
2112/22050Hz ~= 96ms
But comparing the files in Audacity I can see that the actual delay is 117ms

When I encode with NeroAacEnc it will correctly adapt the value to the output profile.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 February, 2012, 07:10:04 AM
If you think it's problem of Apple encoder, you should report this to Apple.
qaac is just using the value which obtained via CoreAudioToolbox API. Probably same for iTunes
(leading/trailing frames of AudioConverterPrimeInfo).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 06 February, 2012, 07:37:58 AM
Sorry, I don't know what part of the work is Apple's and what is yours.

Can anyone with iTunes confirm that it has the same problem?

Another suggestion:
As the iTunes value is wrong, just write your own value. It is always fixed, isn't it? 117ms would equal "A14", roughly.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Alex B on 06 February, 2012, 12:08:43 PM
This iTunes/QT HE issue is interesting.

In last July I helped the JRiver developers in adding support for iTunSMPB to their recently introduced new decoder: http://yabb.jriver.com/interact/index.php?topic=65076 (http://yabb.jriver.com/interact/index.php?topic=65076). Gapless HE and HE+PS decoding didn't initially work correctly because the doubled output sample rate was not taken into account. But this was a decoder issue, not an iTunSMPB tag issue. AFAIK, it is correct to write the tag values that work with the LC part. If a decoder creates the reconstructed higher sample rate output, it should adjust the values accordingly.

Though, I had earlier created a set of useful sample files: http://yabb.jriver.com/interact/index.php?...22862#msg422862 (http://yabb.jriver.com/interact/index.php?topic=63215.msg422862#msg422862) . In that package my iTunes encoded HE-AAC files indeed had incorrect iTunSMPB tags. I discovered that an early version of iTunes 10 didn't do this right:

From: http://yabb.jriver.com/interact/index.php?...23115#msg423115 (http://yabb.jriver.com/interact/index.php?topic=63215.msg423115#msg423115)
Quote
FYI, I just noticed that the ITUNSMPB tag values in my "iTunes HE-AAC (SBR)" sample files are slightly off. This was caused by a buggy iTunes version (an early v.10 build).

I just installed the latest iTunes version (10.2.1.1) and the bug seems to be fixed. It produces values that are identical to the Nero and QuickTime values.

For encoding the "QuickTime LC-AAC" set I used the qaac (http://sites.google.com/site/qaacpage/) frontend and it created correct ITUNSMPB tags.

So, if you are considering adding gapless support, don't use the "iTunes HE-AAC (SBR)" file set for testing the behavior.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Alex B on 06 February, 2012, 12:52:30 PM
sneaker,

What decoder did you use?

Could it be possible that the decoder uses the older Nero/FAAC gapless method (and does it correctly) if that data is present, but does not interpret iTunSMPB correctly if the format is HE-AAC?

Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 06 February, 2012, 03:58:31 PM
sneaker,

What decoder did you use?

Could it be possible that the decoder uses the older Nero/FAAC gapless method (and does it correctly) if that data is present, but does not interpret iTunSMPB correctly if the format is HE-AAC?


I'm using the AviSynth plug-in ffmpegsource. It does not seem to read the iTunSMPB tag nor the old Nero info at all, thus is ideal for finding out the encoder delay. If it would just be an issue of not taking the halved sample rate into consideration, the delay should be off by a factor of two, which is not the case. (117ms / 2 != 96ms)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 February, 2012, 07:58:21 AM
I confirmed your findings with avconv.
Also found:
When iTunSMPB says:
[blockquote]2112 + A + T (A: length of input, T: length of trailing zero)[/blockquote]Actually it looks like:
[blockquote]L + A' + T (L: actual leading delay, A': length of encoded samples, T: length of trailing zero) [/blockquote]where:
[blockquote]L ≒ 2580, A' = A - (L - 2112)[/blockquote]Note:
[blockquote]2580/22050 ≒ 0.117
(2580-2112)/22050 ≒ 0.02[/blockquote]I sent PM to squo asking about this.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Alex B on 07 February, 2012, 09:35:36 AM
Something is definitely not right.

For a practical test, I created a short 44.1 kHz wav file. It contains 102400 samples of 8820 Hz sine wave.

I converted the sample to HE-AAC and LC-AAC with qaac. Then I decoded the resulting m4a files with foobar2000 and iTunes.

Foobar2000 produced accurate file durations for both decoded files (102400 samples), but the decoded HE sample is delayed by a bit over 20 ms.

iTunes didn't even get the durations right. The decoded LC file is 102312 samples and the decoded HE file is 103358. The latter contains a bit over 20 ms of some quieter stuff in the end (quieter by about -20 dB).

I'll upload the samples and add a link here.

EDIT

The sample package is available here:  http://www.hydrogenaudio.org/forums/index....st&p=785135 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=93310&view=findpost&p=785135)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 07 February, 2012, 04:33:43 PM
[/list]When iTunSMPB says:
[blockquote]2112 + A + T (A: length of input, T: length of trailing zero)[/blockquote]Actually it looks like:
[blockquote]L + A' + T (L: actual leading delay, A': length of encoded samples, T: length of trailing zero) [/blockquote]where:
[blockquote]L ? 2580, A' = A - (L - 2112)[/blockquote]Note:


Did you swap A and T, i.e. shouldn't iTunSMPB be L + T + A(')? At least that seems to be correct in the case of LC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 February, 2012, 08:33:51 PM
Did you swap A and T, i.e. shouldn't iTunSMPB be L + T + A(')? At least that seems to be correct in the case of LC.

Yes, as for iTunSMPB your order is correct. I described here in the order which appear in the actual audio stream.
Might have been misleading.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Xenion on 08 February, 2012, 07:40:19 AM
with --concat-cuesheet foobar2000 reads the chapters perfectly but itunes does not. does itunes not support chapters?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 February, 2012, 09:03:13 AM
with --concat-cuesheet foobar2000 reads the chapters perfectly but itunes does not. does itunes not support chapters?

If I remember correctly, iTunes was ignoring ALAC chapter before.
However, it looks like iTunes is now supporting chapter of ALAC in m4a.
In my environment (iTunes 10.5.3.3), "chapter" menu appears  when a file including chapter is being played.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Xenion on 08 February, 2012, 02:58:30 PM
If I remember correctly, iTunes was ignoring ALAC chapter before.
However, it looks like iTunes is now supporting chapter of ALAC in m4a.
In my environment (iTunes 10.5.3.3), "chapter" menu appears  when a file including chapter is being played.


hm with aacs it works but not with alacs here (iTunes 10.5.3.3)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: yuker on 11 February, 2012, 01:07:16 PM
I've created tool for using "qaac" without installing QuickTime.
http://www.mediafire.com/?kk96ytd933bf119 (http://www.mediafire.com/?kk96ytd933bf119)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 February, 2012, 08:32:52 PM
Is this stripped version of lvqcl's package (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=769999)?
Eh, I see, that was on megaupload (and is already lost).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 22 February, 2012, 07:23:06 PM
Would it be possible to disable normalization when downmixing? If not, could the option be added?

Thank you, nu, for this great tool.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 February, 2012, 10:57:43 PM
Would it be possible to disable normalization when downmixing? If not, could the option be added?

Thank you, nu, for this great tool.

When you want different gain for each channel, you might surely want to disable automatic normalization of matrix coefficients.
Since automatic normalization of coefficients will be usually convenient, I will leave it as default and add another option.
Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 23 February, 2012, 02:32:28 AM
Is this stripped version of lvqcl's package (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=769999)?

My version uses 7z.exe (and 7z.dll) for unpacking and yuker's uses 7za.exe and system32\msiexec.exe (interesting idea).


Also, it seems that the biggest dll file (icudt46.dll) contains only some data for ICU library. it is possible to compile 'dummy' icudt46.dll that doesn't contain any data. This version is sufficient for qaac encoding:
[attachment=6942:icudt46_dummy.zip]
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 26 February, 2012, 09:05:13 AM
I'm getting this error with qaac v1.31:

ERROR: libmp4v2: mp4v2::impl::MP4File::WriteBytes: write failed: errno: 28 (..\..\mp4v2\src\mp4file_io.cpp,163)

What does it mean? I was trying to encode a 5.1-channel DTS-HD MA track to 5.1-channel AAC using this command line:

eac3to.exe d:redline.dts stdout.wav | qaac.exe -i -N -V 82 --verbose --tmpdir d:\ - -o f:redline_audio.m4a

The error occurs always at the exact same spot.

By the way, qaac says that it's version 1.30.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 February, 2012, 11:45:20 AM
ERROR: libmp4v2: mp4v2::impl::MP4File::WriteBytes: write failed: errno: 28 (..\..\mp4v2\src\mp4file_io.cpp,163)

What does it mean?

errno 28 means ENOSPC (No space left on device).
Quote
By the way, qaac says that it's version 1.30.

Thanks, updated files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 26 February, 2012, 12:34:34 PM
Weird, there is enough space on drive F..or does it actually run out of space on drive D (tmpdir)?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 February, 2012, 07:49:44 PM
Weird, there is enough space on drive F..or does it actually run out of space on drive D (tmpdir)?

Tempfile for -N can be quite big (it is in the form of 32bit float raw PCM). If your input format is 48000Hz/6ch, it will consume 1MB/s or so.
You also need room for intermediate m4a file, which is about the same as the resulting m4a in size.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 11 March, 2012, 04:36:47 PM
Wonder if anyone knows how to fix this problem I'm having with QAAC and dbpoweramp.  For some reason when converting stuff from either CD or Lossless to AAC, dbpoweramp will not add the ITUNSMPB tag.  This means that any mix CD's that I rip won't play gaplessly in Foobar which is my main music program.  However, if I untick db Write Tags it does add the tag, but unfortunately none of my music gets tagged with anything else.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 March, 2012, 05:09:36 AM
Quote
dbpoweramp will not add the ITUNSMPB tag

It's not dbpoweramp but the encoder who can (and does) write it.
Therefore, the problem seems not dbpoweramp doesn't write ITUNSMPB, but it actually removes the existing ITUNSPMB when it edits the resulting file to append tags.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 17 March, 2012, 08:59:38 PM
What should the two bit depth settings be set to using fb2k? I ask this because I notice when converting WAV to AAC with qaac using different combinations of those settings, the sizes of the outputted AAC files are the same and identical to what QuickTime (demuxing MOV) gives, yet if done with AC-3, they're aren't. What am I missing here?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 18 March, 2012, 03:59:23 AM
What should the two bit depth settings be set to using fb2k? I ask this because I notice when converting WAV to AAC with qaac using different combinations of those settings, the sizes of the outputted AAC files are the same and identical to what QuickTime (demuxing MOV) gives, yet if done with AC-3, they're aren't. What am I missing here?

As is written in the help message, it is meant only for ALAC or WAV output, and has no effect on AAC encoding.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 20 March, 2012, 02:14:20 AM
Never mind. Lossy and 16 are the correct settings.

Is matrix mixing enabled for ALAC conversions? I get a code 2 error using:

Code: [Select]
-A --no-matrix-normalize --matrix-preset=62 - %d


Thanks again. And also for mp4fpsmod; such a great tool.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 March, 2012, 05:56:32 AM
Is matrix mixing enabled for ALAC conversions? I get a code 2 error using:

Code: [Select]
-A --no-matrix-normalize --matrix-preset=62 - %d

You can use matrix mixer for ALAC.
What error message is displayed when you run it directly from command prompt?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 20 March, 2012, 04:24:56 PM
You can use matrix mixer for ALAC.
What error message is displayed when you run it directly from command prompt?


"Not supported sample format for ALAC: F32LE".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 March, 2012, 08:45:17 PM
You can use matrix mixer for ALAC.
What error message is displayed when you run it directly from command prompt?


"Not supported sample format for ALAC: F32LE".

Oh, I see.
qaac/reflac converts internal sample format to 32bit float when DSP options such as --matrix-preset are specified. However, ALAC doesn't support float. This is the cause of that error.
In short, you have to specify -b option to convert it to 16 or 24 bit integer format before encoding.

In the past, qaac/refalac converted automatically to 16 or 24 bit for ALAC depending on the source bit depth. However I dropped the feature when -b option was introduced, so that user can control resulting output bit depth.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 21 March, 2012, 08:55:53 AM
Updated to 1.32;
Now it will automatically convert to 16 bit integer format by default in this case, instead of just showing some error message.
You can still use -b option, but when you don't specify -b, this new default conversion is applied.
https://sites.google.com/site/qaacpage/news...se132refalac043 (https://sites.google.com/site/qaacpage/news/qaacrelease132refalac043)

Anyway, thanks for reporting. I think this was the matter of usability (or bad documentation).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 21 March, 2012, 10:45:36 AM
Thank you for explaining, however, the error still persists with fb2k.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 21 March, 2012, 11:36:49 AM
Thank you for explaining, however, the error still persists with fb2k.

Try
Code: [Select]
--log %d.txt
or something and let's see what is shown in the log.
Generally speaking, --log is useful when you are running from GUI frontend and you cannot see the error message.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 21 March, 2012, 12:28:40 PM
Thank you for explaining, however, the error still persists with fb2k.

Try
Code: [Select]
--log %d.txt
or something and let's see what is shown in the log.
Generally speaking, --log is useful when you are running from GUI frontend and you cannot see the error message.

Code: [Select]
qaac 1.32, CoreAudioToolbox 7.9.7.8

22.m4a
ERROR: C:\Users\Soulvomit\Desktop\22.m4a: No such file or directory


I don't have this problem using the matrix mixer with AAC conversions or converting stereo files to ALAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: edwrap on 21 March, 2012, 08:26:27 PM
hey nu774, first off - thanks for creating this great tool

two minor issues with the "writing application" metadata value created by qaac:
1) the TVBR value doesn't correspond to the encoder settings. ie. -V 90 (or default) registers as q91, -V 75 as q73, etc.
2) -q2 (or default) translates to Quality 96, though in the  technical note (http://developer.apple.com/library/mac/#technotes/tn2237/_index.html) you reference, that setting actually goes to 127
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 21 March, 2012, 10:37:03 PM
Code: [Select]
22.m4a
ERROR: C:\Users\Soulvomit\Desktop\22.m4a: No such file or directory

[/code]

A "-" (hyphen, meaning stdin input) might be missing from your CLI encoder setting.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 21 March, 2012, 10:53:07 PM
1) the TVBR value doesn't correspond to the encoder settings. ie. -V 90 (or default) registers as q91, -V 75 as q73, etc.

At the interface level, TVBR quality parameter accepts values from 0 to 127.
However, the QuickTime AAC encoder actually has only 15 quality steps. Therefore, parameter is get rounded to the nearest functional value, which is saved into the "tool" tag.

2) -q2 (or default) translates to Quality 96, though in the
technical note (http://developer.apple.com/library/mac/#technotes/tn2237/_index.html) you reference, that setting actually goes to 127

Same story as TVBR quality. only 32, 64, 96 are actually functional values.
I could choose 0-127 option style, but is using 0-2 by historical reason (0-2 was more natural when qaac was using QuickTime API).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 March, 2012, 06:19:45 AM
Code: [Select]
-A --no-matrix-normalize --matrix-preset=62 - %d

Sorry, I should have looked at your command line closer.
You just need "-o" before %d.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: edwrap on 23 March, 2012, 12:50:30 AM
1) the TVBR value doesn't correspond to the encoder settings. ie. -V 90 (or default) registers as q91, -V 75 as q73, etc.

At the interface level, TVBR quality parameter accepts values from 0 to 127.
However, the QuickTime AAC encoder actually has only 15 quality steps. Therefore, parameter is get rounded to the nearest functional value, which is saved into the "tool" tag.

2) -q2 (or default) translates to Quality 96, though in the
technical note (http://developer.apple.com/library/mac/#technotes/tn2237/_index.html) you reference, that setting actually goes to 127

Same story as TVBR quality. only 32, 64, 96 are actually functional values.
I could choose 0-127 option style, but is using 0-2 by historical reason (0-2 was more natural when qaac was using QuickTime API).

Ah, I see. Thanks for the explanation and apologies for the needless concerns!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 23 March, 2012, 11:57:13 PM
Sorry, I should have looked at your command line closer.
You just need "-o" before %d.

Thanks. I got it working with "- -o".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Soulvomit on 24 March, 2012, 05:59:42 AM
Do you think you can add an m4a muxer to qaac for ADTS AAC and raw ALAC (demuxed M4A with MP4Box)?

Thanks again.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 24 March, 2012, 08:25:28 AM
Do you think you can add an m4a muxer to qaac for ADTS AAC and raw ALAC (demuxed M4A with MP4Box)?

No, I don't think it is the encoder's task, and have no plan for it.

As for "raw ALAC"... why do you want that?
As far as I know, there's no defined elementary stream format for ALAC as in MPEG family.
mp4box seems to able to just extract the mdat content without headers or something. Since it lacks ALACDecoderConfig (which holds information mandatory for decoding, such as rice parameters), I don't think this "raw" ALAC bitstream is quite useful for something.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: silverbear on 20 April, 2012, 05:56:47 PM
'Hope I'm posting this in the correct place.

Re qaac and ipod chapters:
I'm using qaac to join several flac files with embedded cue sheets (an audiobook) into a single m4b file with chapters.
If I run qaac from the command line, the chapters appear in foobar, iTunes and my iPod.
However, if I try to do this processing from within foobar, only foobar will  recognise the chapters. In ITunes and my ipod, the file appears as one huge chapter.

I know it's been mentioned that when mp4 files are processed in foobar, foobar will 'touch' the headers as part of the final process. Do you think that this is wiping out the ITunes version of the chapters and leaving only the nero type chapter headings in tact?

By the way, many many thanks to the developer of qaac - most impressive and gratefully received.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 April, 2012, 09:30:37 PM
If I run qaac from the command line, the chapters appear in foobar, iTunes and my iPod.
However, if I try to do this processing from within foobar, only foobar will  recognise the chapters. In ITunes and my ipod, the file appears as one huge chapter.

That's because fb2k writes Nero style chapters and QuickTime/iTunes/iPod doesn't read them (When you encode from fb2k, metadata and chapters are basically written by fb2k, except for a few encoder specific tags).

mp4chaps.exe will be your friend... You can inspect/import/export/convert MP4 chapters with it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Mix3dmessagez on 21 April, 2012, 04:00:43 AM
Hey, does tvbr support 16 bitor 24 bit depth?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: silverbear on 21 April, 2012, 05:00:20 AM
If I run qaac from the command line, the chapters appear in foobar, iTunes and my iPod.
However, if I try to do this processing from within foobar, only foobar will  recognise the chapters. In ITunes and my ipod, the file appears as one huge chapter.

That's because fb2k writes Nero style chapters and QuickTime/iTunes/iPod doesn't read them (When you encode from fb2k, metadata and chapters are basically written by fb2k, except for a few encoder specific tags).

mp4chaps.exe will be your friend... You can inspect/import/export/convert MP4 chapters with it.


Ahh, I was hoping to get around this by calling qaac as a post process in foobar. Never mind, mp4chaps it is. Many thanks for replying so quickly.



Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 21 April, 2012, 05:31:13 AM
Hey, does tvbr support 16 bitor 24 bit depth?

The concept of bit depths is not defined for AAC, at least in the same sense as of PCM.
--bits-per-sample of qaac is for WAV/ALAC output only; It will be simply ignored for AAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: pururin on 22 April, 2012, 11:23:08 AM
Does anyone knows whether Apple's aac (coreaudiotoolbox.dll) get any update recently?
As I read the changelog and found nothing for long time. Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 April, 2012, 12:31:31 PM
Does anyone knows whether Apple's aac (coreaudiotoolbox.dll) get any update recently?
As I read the changelog and found nothing for long time. Thanks.

On 7.9.7.8 (QuickTime 7.7.1 / iTunes10.5), there were updates on AAC encoder, and also a function named ACMP4AACHighEfficiencyEncoderFactory was added to the DLL, which enables iTunes10.5 to run HE-AAC codec without QuickTime installation.
AFAIK that was the last update on AAC encoder so far.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: pururin on 22 April, 2012, 02:22:28 PM
Thanks a lot for the fast reply, nu774. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 22 April, 2012, 06:53:07 PM
Hmm, I've got a CoreAudioToolBox.dll version 7.9.7.9 dated 20.02.12, not sure what was updated in this one though.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 April, 2012, 09:14:01 PM
Hmm, I've got a CoreAudioToolBox.dll version 7.9.7.9 dated 20.02.12, not sure what was updated in this one though.

Yes, it is the latest. Actually, there are at least two different binaries under the same version number "7.9.7.9". Same for 7.9.7.8.
As far as I can see, AAC encoder is not updated, though.

By the way, I sent PM to squo (a developper of QuickTime AAC) about HE-AAC iTuneSMPB problem in the past, but I haven't received a reply.
At the time of 7.9.7.8 update he was still there, but he might have been transferred/retired or something.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: pururin on 23 April, 2012, 12:35:07 AM
skuo retired? That's sad.

Thought about the pre-echo on sharp transients issue, have it been fixed in the latter version?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 April, 2012, 04:34:01 AM
Thought about the pre-echo on sharp transients issue, have it been fixed in the latter version?

I only know that output of Avisynth ColorBars() function was a killer sample to QT AAC in the past, and was fixed on 7.9.7.8 update.
ColorBars() mainly outputs SMPTE color bars (video test pattern), but also outputs audio test tone, which is repeatedly turned on/off once every seconds. QT AAC was producing quite obvious artifacts at the boundaries even at the highest settings.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: pururin on 23 April, 2012, 08:58:49 AM
I only know that output of Avisynth ColorBars() function was a killer sample to QT AAC in the past, and was fixed on 7.9.7.8 update.
It seems some issues that was reported got fixed on 7.9.7.8.
I'm appreciate that the developers are quite active.(qaac too, Many thanks to nu774  ) A little wonder when the next update will come.
About pre-echo, may have to ask someone like /mnt. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: 2304p on 23 April, 2012, 11:25:38 AM
I only know that output of Avisynth ColorBars() function was a killer sample to QT AAC in the past, and was fixed on 7.9.7.8 update.
It seems some issues that was reported got fixed on 7.9.7.8.
I'm appreciate that the developers are quite active.(qaac too, Many thanks to nu774  ) A little wonder when the next update will come.
About pre-echo, may have to ask someone like /mnt.



I have iTunes 10.6.1.7 and still coreaudiotoolbox 7.9.7.3

question:
How to get a current coreaudiotollbox version?
How to updated it?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 April, 2012, 11:48:05 AM
I have iTunes 10.6.1.7 and still coreaudiotoolbox 7.9.7.3

question:
How to get a current coreaudiotollbox version?
How to updated it?

Try
Code: [Select]
qaac --check
from command prompt, instead of explorer property window.

CoreAudioToolbox.dll is internationalized, and contains multiple resources for different locales.
The problem is, for many locales Apple has not been properly updating version resources, and for such locales Windows explorer will show file version as 7.9.7.3;
On the other hand, qaac --check will always pick version number from en-US locale resource.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 April, 2012, 11:52:55 AM
Basically speaking, if you are using qaac 1.x branch and you can use HE-AAC encoder, your CoreAudioToolbox.dll is 7.9.7.8 or newer.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: 2304p on 23 April, 2012, 11:53:26 AM
I have iTunes 10.6.1.7 and still coreaudiotoolbox 7.9.7.3

question:
How to get a current coreaudiotollbox version?
How to updated it?

Try
Code: [Select]
qaac --check
from command prompt, instead of explorer property window.

CoreAudioToolbox.dll is internationalized, and contains multiple resources for different locales.
The problem is, for many locales Apple has not been properly updating version resources, and for such locales Windows explorer will show file version as 7.9.7.3;
On the other hand, qaac --check will always pick version number from en-US locale resource.


thanks
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Dario on 26 April, 2012, 08:30:19 AM
Is there a place where I can download the CoreAudioToolbox library independently? I am unable to download iTunes at the moment, as my connection is very slow.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kareha on 26 April, 2012, 08:46:24 AM
Is there a place where I can download the CoreAudioToolbox library independently? I am unable to download iTunes at the moment, as my connection is very slow.


Uploaded 7.9.7.9 to my Dropbox:

http://dl.dropbox.com/u/26532689/CoreAudioToolbox.dll (http://dl.dropbox.com/u/26532689/CoreAudioToolbox.dll)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Dario on 26 April, 2012, 09:19:27 AM
Thank you very much!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 15 May, 2012, 06:30:24 AM
Hiyas, any seem of approximate quality relation table between QuickTime TVBR values and LAME V x values, eventually Vorbis Q values?
Something that look like
Lame V4 ≈ TVBR 40
Lame V2 ≈ TVBR 60
Lame V0 ≈ TVBR 80
etc..

Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 15 May, 2012, 06:55:50 AM
Not really. The three algorithms differ in specific cases, it may be hard to rate them generally, and the only "reliable" way would be a mass ABX test in quality ranges most people would call "transparent".

As listed in this post about Vorbis accelleration (http://www.hydrogenaudio.org/forums/index.php?act=findpost&pid=793859), my own humble opinion is that qaac -V 80 might be comparable to oggenc2 -q 5, based on the assumption that they both are close in some bitrate/quality quotient. The MP3 technology is less efficient compared to both of them, may need about 20-30% more bitrate for a similar quality, and I found that lame -V 2 matches this range quite well.

The opinion above is personal and weak. Other members here may have more founded facts.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 31 May, 2012, 04:30:36 AM
I exchanged the CoreAudioToolbox.dll from a freshly installed QuickTime 7.7.2 (DLL file date: Feb. 20 2012) with the one kareha uploaded. "qaac --check" still reports version 7.9.7.3 (on a german Windows XP SP3).

When I realized they have the same size, I did a byte comparison, and guess what ... I found they were identical.

I opened it in ResHacker and checked the "Version Info" tables. There are several for different language codes: 1033 = "7.9.7.9"; 1025 = "7.9.7.7"; 1028,1030,1031,... = "7.9.7.3" (and on top, they mix up InternalName and OriginalFileName vice versa).

So ... don't care about numbers if you don't use an english Windows.
__

P.S.:

Oh, I did the check with an older qaac version; qaac 1.37 reports CoreAudioToolbox version 7.9.7.9 correctly.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 June, 2012, 02:21:06 PM
1.38 released. I finally completely switched from every other encoding software to just foobar2000 + qaac (TVBR 91/100), thank you dev/s!

Changelog:
Updated libsoxrate to 0.21 (merged upstream update on SoX rate effect).
Fixed not to write WAVE_FORMAT_EXTENSIBLE header unnecessarily on WAV output.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 09 June, 2012, 02:29:59 PM
I finally completely switched from every other encoding software to just foobar2000 + qaac (TVBR 91/100), thank you dev/s!


Is there noticeable difference between TVBR 91 and 100, and can you ABX tvbr 91 from original?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 June, 2012, 02:36:10 PM
I finally completely switched from every other encoding software to just foobar2000 + qaac (TVBR 91/100), thank you dev/s!


Is there noticeable difference between TVBR 91 and 100, and can you ABX tvbr 91 from original?

You'll be amazed how low you can go with AAC. I keep ~192/224 just to be safe
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 09 June, 2012, 02:43:01 PM
IMHO, TVBR 82 is similar to Vorbis q5, that seems to be enough for "easy listening"; see the Vorbis CPU optimization thread for an explanation...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 June, 2012, 02:51:55 PM
IMHO, TVBR 82 is similar to Vorbis q5, that seems to be enough for "easy listening"; see the Vorbis CPU optimization thread for an explanation...

I don't go lower than 160Kbps. TVBR 91 is the lowest I go. I keep ~1000 songs on my iPhone, no space problem.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 09 June, 2012, 03:02:02 PM
Don't care about bitrates. 160 kbps silence is not "better" than 32 kbps silence. There is easily compressible sound which you can't directly compare with harder "noise". If the quality mode ensures a threshold of maximum loss, trust in it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 June, 2012, 03:11:51 PM
Don't care about bitrates. 160 kbps silence is not "better" than 32 kbps silence. There is easily compressible sound which you can't directly compare with harder "noise". If the quality mode ensures a threshold of maximum loss, trust in it.

Where is the "Like" button?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IgorC on 09 June, 2012, 03:39:45 PM
Constrained VBR (CVBR) might be a good solution.  It doesn't go as low as TVBR does occasionally and causes some artifacts as here http://www.hydrogenaudio.org/forums/index....st&p=768156 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=90403&view=findpost&p=768156) 

LigH,
It's strange.  Don't You  watch the football righ now? 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 09 June, 2012, 03:46:18 PM
I do. And I am not really satisfied... But that's quite usual.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 15 July, 2012, 06:48:31 PM
[qaac] release 1.39 (refalac 0.50)
posted 6 hours ago by nu 774

- Support "REM DISCNUMBER" "REM TOTALDISCS" in cuesheet.
- Flush stdio buffer when stdout is connected to a pipe.
- Update mp4v2 to svn rev 496.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Meeko on 24 July, 2012, 10:47:31 AM
Took me a while to get this to work, but once I got it working in foobar, its great.  The new change to no longer need Quicktime helped because I could never get quicktime to work properly on my machine.  Thanks for all your hard work nu774.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 29 July, 2012, 04:05:15 PM
So, I was trying to transcode with qaac on an older laptop and it didn't work and I don't know why precisely.

The laptop has Windows 7 32bit, both iTunes and QuickTime latest version are installed, I've tried to copy CoreAudioToolbox.dll and CoreFoundation.dll on the same folder where qaac.exe is but nothing. The software I am using to convert with qaac is foobar2000 1.1.14 beta 1 and the error message I receive is: "Conversion failed: The encoder has terminated prematurely with code -1073741515 (0xC0000135); please re-check parameters". I have .NET 4.0 installed, do I need an older version as well? I've not yet tested qtaacenc.

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 29 July, 2012, 04:15:09 PM
Quote
I've tried to copy CoreAudioToolbox.dll and CoreFoundation.dll on the same folder where qaac.exe is but nothing.

Remove them, and copy msvcp100.dll and msvcr100.dll to the qaac folder.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 29 July, 2012, 04:36:57 PM
Quote
I've tried to copy CoreAudioToolbox.dll and CoreFoundation.dll on the same folder where qaac.exe is but nothing.

Remove them, and copy msvcp100.dll and msvcr100.dll to the qaac folder.

It worked thanks. Shouldn't Visual C++ be added to the list of requirement on the qaac homepage?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 29 July, 2012, 04:40:33 PM
It may have been part of earlier packages...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 29 July, 2012, 04:57:08 PM
qaac 1.39 package contains:  qaac.exe, refalac.exe, libsoxrate.dll, msvcp100.dll, msvcr100.dll.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 31 July, 2012, 03:32:58 PM
Hello, why qaac can't use HE with TVBR, and is therefore less suitable for VBR mode at ~64kbps than NeroAAC?
Probably --cvbr 64 --he will produce something..but is the quality at least as good as Nero's -q 0.25 ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2012, 11:53:27 PM
Hello, why qaac can't use HE with TVBR

Because HE-AAC encoder of Apple CoreAudio/QuickTime doesn't have TVBR mode.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IgorC on 01 August, 2012, 06:34:00 AM
Hello, why qaac can't use HE with TVBR, and is therefore less suitable for VBR mode at ~64kbps than NeroAAC?
Probably --cvbr 64 --he will produce something..but is the quality at least as good as Nero's -q 0.25 ?

What makes You think that Nero's VBR is any better than Apple CVBR? And why do You think CVBR is necessary worse than TVBR?

Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 01 August, 2012, 06:43:32 AM
Hello, why qaac can't use HE with TVBR, and is therefore less suitable for VBR mode at ~64kbps than NeroAAC?
Probably --cvbr 64 --he will produce something..but is the quality at least as good as Nero's -q 0.25 ?

What makes You think that Nero's VBR is any better than Apple CVBR? And why do You think CVBR is necessary worse than TVBR?


Thanks. Is CVBR HE at 64kb better than Nero VBR HE at ~64kb? I've been using Nero q 0.25 long time but it might increase the bitrate when necessary while CVBR always keep the given bitrate which may lead to worse quality on complex music?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IgorC on 01 August, 2012, 06:56:01 AM
I've been using Nero q 0.25 long time but it might increase the bitrate when necessary while CVBR always keep the given bitrate which may lead to worse quality on complex music?

CVBR isn't CBR, and it does increase bitrate where it's necesarry. 

For You the variation of bitrate is the most  important and only indicator of quality?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 01 August, 2012, 07:01:18 AM
I'm not sure  Does it mean that QuickTime's CVBR at 64k is always better than Nero at q 0.25?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 01 August, 2012, 07:11:13 AM
This is entirely a subjective questions. Listen to hundreds of samples and decide yourself...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IgorC on 01 August, 2012, 08:47:56 AM
This is entirely a subjective questions. Listen to hundreds of samples and decide yourself...

Or google for the latest public test (2011) of Apple and Nero AAC encoders at 64 kbps.

It could be understandable to mention Nero if it was  at least  an average AAC encoder. But Nero was the last and worse than Coding Technologies, FhG/Winamp and Apple encoders in last AAC public test.
Furthermore Nero is outdated. The last fixes were made in 2009. The last quality improvements are dated by 2007.
It's gone. Understand it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 13 August, 2012, 07:28:12 PM
1) the TVBR value doesn't correspond to the encoder settings. ie. -V 90 (or default) registers as q91, -V 75 as q73, etc.

At the interface level, TVBR quality parameter accepts values from 0 to 127.
However, the QuickTime AAC encoder actually has only 15 quality steps. Therefore, parameter is get rounded to the nearest functional value, which is saved into the "tool" tag.


Can you share what those 15 functional values are?  I could test myself (since I obviously won't be using all 15 ever) but if you have the information handy it would save me some time
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 14 August, 2012, 02:31:37 AM
Here is a graph by 'kamedo2':

(https://hydrogenaud.io/imgcache.php?id=f6efbf87e32988c784be6ac34ea217f2" rel="cached" data-warn="External image, click to view at original size" data-url="http://cdn-ak.f.st-hatena.com/images/fotolife/k/kamedo2/20120225/20120225015649_120.jpg)
qaac tvbr number-bitrate relations (http://cdn-ak.f.st-hatena.com/images/fotolife/k/kamedo2/20120225/20120225015649.png) (Hatena Fotolife gallery (http://f.hatena.ne.jp/kamedo2/20120225015649))

I know I saw even a better one, but don't remember where. Probably on the qaac site or even here; someone explained the change in the quality steps between specific generations of the QuickTime AAC codec.
__

IgorC posted it in a thread about qtaacenc (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072&view=findpost&p=682393).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 August, 2012, 03:27:17 AM
I havenot tried all presets but they seem to be step 9:
1, 10, 19, 28, 37, 46, 55, 64, 73, 82, 91, 100, 109, 118, 127

Btw. is that true that tvbr 82 corresponds to Vorbis's q 5.0,
tvbr 91 corresponds to  Vorbis's q 6.0, tvbr 100 corresponds to Vorbis's 7.0 etc?
About bitrate they're approx comparative:

tvbr  91 ~192kbps
tvbr 100 ~224kbps
tvbr 109 ~272kbps
tvbr 118 ~ 320kbps
tvbr 127 ~352kbps
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 14 August, 2012, 03:40:06 AM
Btw. is that true that tvbr 82 corresponds to Vorbis's q 5.0,
tvbr 91 corresponds to  Vorbis's q 6.0, tvbr 100 corresponds to Vorbis's 7.0 etc?

In general ... rather "no", because Vorbis is a quite different algorithm, it does not work in the same way as AAC, and I doubt that Apple made efforts to synchronize their quality levels to any other software.

But subjectively you will probably be close in quality and bitrate. And remember, you can fine-tune Vorbis with fractional quality values.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 14 August, 2012, 06:59:03 AM
I've encoded about a thousand tracks and haven't batted an eye at TVBR (got lots of stuff from 170 to 200 with V91), but I just encoded PSY's 6th album (Korean electronic/dance pop) and WOW.
Just looking at the title track, Gangnam Style,
tvbr 91 ~171 kbps
iTunes Plus ~260 kbps
tvbr 109 ~233 kbps

I realize that -91 doesn't guarantee anything near 192, nor -109 around 270+, but then I compared the bitrate distribution:
CVBR 256 starts at ~140 kbps and bilds to ~200 kbps, and at 6 seconds in, hits ~450 kbps.  (6 seconds in it changes from low/bass beat to add a vocal)
tvbr 91 starts at ~100 and is constant until it hits ~130-160 at 6 seconds in.
tvbr 109 starts ~130 and is constant until it hits ~170 at 6 seconds in.
(studied in foobar2000 with 3 VBR-updates per second)

My first thought was tvbr had a lower frequency cutoff than iTunes Plus, but turns out that isn't correct.  (tvbr 91 does have a soft wall at ~19.4 khz, whereas the other two go up to 22 khz, but the first 6 seconds in question don't have any (visible) frequencies going high enough to have been cut off anyway)

CVBR has a higher floor than TVBR, but anyone have any idea what accounts for the nearly 300 kbps difference in the ceiling, which I hadn't believed would differ significantly between CVBR and TVBR?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 August, 2012, 02:37:08 PM

For curiosity I've made spectral graphs of TVBR versus Vorbis encode both at almost same bitrate 192k and from these the Vorbis looks like much better as maintaining higher cutoff range. Anybody can confirm that the Vorbis encode keeps more of the original?


TVBR 91 (full / zoomed / frequency):
(https://hydrogenaud.io/imgcache.php?id=3b8e50411031961005bd2438df36f6b9" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/9dd27fba-d6a4-406d-b9f1-a0d1632113f7/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/9dd27fba-d6a4-406d-b9f1-a0d1632113f7/everlong.png) (https://hydrogenaud.io/imgcache.php?id=c86cf6df27644fbf63e2a7185fca408c" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/002ea456-0ed6-4391-83e4-6be3c4807f03/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/002ea456-0ed6-4391-83e4-6be3c4807f03/everlong.png) (https://hydrogenaud.io/imgcache.php?id=d35a006d3b2212d707dae9ff05301d56" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/04c74df2-823e-4fef-b215-711580756634/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/04c74df2-823e-4fef-b215-711580756634/everlong.png)

Vorbis q6 (full / zoomed / frequency):
(https://hydrogenaud.io/imgcache.php?id=97cf0b426946ba629dddb2e41aa32c30" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/5c86686d-c9be-429f-8c52-f7c7c3ac3fd7/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/5c86686d-c9be-429f-8c52-f7c7c3ac3fd7/everlong.png) (https://hydrogenaud.io/imgcache.php?id=aab4c7a194485c856d813ae645d6998f" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/bba13ed9-db56-4f5b-87c3-9b7012acc86e/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/bba13ed9-db56-4f5b-87c3-9b7012acc86e/everlong.png) (https://hydrogenaud.io/imgcache.php?id=c69f563336fa1a6d109e4b7751c773e4" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/082579f2-c442-460b-84a9-9d37a983b99d/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/082579f2-c442-460b-84a9-9d37a983b99d/everlong.png)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jetpower on 14 August, 2012, 04:15:58 PM
For curiosity I've made spectral graphs of TVBR versus Vorbis encode both at almost same bitrate 192k and from these the Vorbis looks like much better as maintaining higher cutoff range. Anybody can confirm that the Vorbis encode keeps more of the original?


TVBR 91 (full / zoomed / frequency):
(https://hydrogenaud.io/imgcache.php?id=3b8e50411031961005bd2438df36f6b9" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/9dd27fba-d6a4-406d-b9f1-a0d1632113f7/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/9dd27fba-d6a4-406d-b9f1-a0d1632113f7/everlong.png) (https://hydrogenaud.io/imgcache.php?id=c86cf6df27644fbf63e2a7185fca408c" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/002ea456-0ed6-4391-83e4-6be3c4807f03/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/002ea456-0ed6-4391-83e4-6be3c4807f03/everlong.png) (https://hydrogenaud.io/imgcache.php?id=d35a006d3b2212d707dae9ff05301d56" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/04c74df2-823e-4fef-b215-711580756634/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/04c74df2-823e-4fef-b215-711580756634/everlong.png)

Vorbis q6 (full / zoomed / frequency):
(https://hydrogenaud.io/imgcache.php?id=97cf0b426946ba629dddb2e41aa32c30" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/5c86686d-c9be-429f-8c52-f7c7c3ac3fd7/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/5c86686d-c9be-429f-8c52-f7c7c3ac3fd7/everlong.png) (https://hydrogenaud.io/imgcache.php?id=aab4c7a194485c856d813ae645d6998f" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/bba13ed9-db56-4f5b-87c3-9b7012acc86e/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/bba13ed9-db56-4f5b-87c3-9b7012acc86e/everlong.png) (https://hydrogenaud.io/imgcache.php?id=c69f563336fa1a6d109e4b7751c773e4" rel="cached" data-warn="External image, click to view at original size" data-url="http://thumb.screencast.com/2/082579f2-c442-460b-84a9-9d37a983b99d/thumb.gif) (http://content.screencast.com/users/nobody5/folders/Snagit/media/082579f2-c442-460b-84a9-9d37a983b99d/everlong.png)



AAC has less "holes" in high freq, also are you a bat?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 August, 2012, 04:24:11 PM
AAC has less holes in high freq, also are you a bat?


No not a bat  does "less holes in high freq" mean a worse encode quality? I think the hard cutoff at ~19.5kHz by AAC is no good but not sure about that.
I'm curious if iTunes does their encodes using the same QuickTime library or something else. Looked at iTunes original track which otherwise was a noticeably higher bitrate but there wasnot such a hard cutoff. Finally I'm not too impressed by the spectral of this TVBR.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jetpower on 14 August, 2012, 04:36:32 PM
AAC has less holes in high freq, also are you a bat?


No not a bat  does "less holes in high freq" mean a worse encode quality? I think the hard cutoff at ~19.5kHz by AAC is no good but not sure about that.
I'm curious if iTunes does their encodes using the same QuickTime library or something else. Looked at iTunes original track which otherwise was a noticeably higher bitrate but there wasnot such a hard cutoff. Finally I'm not too impressed by the spectral of this TVBR.


I can hear up to 17khz, so this 19.5khz is more than enough for me. Holes/darker parts means less energy.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 15 August, 2012, 02:49:33 AM
"A higher cutoff frequency" is not the only criterion for "subjectively better quality"; that would rather be a general "less annoying loss". What if the high frequency range prevents the codec from preserving quality in lower, more audible ranges?

A more variable frequency spectrum may be a sign for a more "optimistic" psycho-acoustic model; this is neither a guarantee for better or worse quality on its own. Just a proof for a different algorithm. It may sound more or less lossy, depending on many factors.

If subjective impression could be measured and quantized more directly than in a "mass ABX test", we could have an objective quality metric.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 15 August, 2012, 03:01:58 AM
Vorbis achieves higher frequencies but probably at cost of worse reproduction in higher range.
So I guess it's not possible to say if QAAC model is better or worse.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: pururin on 22 August, 2012, 04:56:36 AM
Is it normal that encoding 5.1 audio in Multi-threading mode is slower than single threading?
Total time used by Multi-thread encoding (either 2 or 4 instances at the same time) is slower than consecutive single-thread encoding everytime I've tried. And total CPU usage is quite a bit low during multi-thread encoding with enough ram and hdd power left. This doesn't happen with stereo audio, with 2.0 tracks CPU usage skyrockets to full 50 or 100% and the work's blazing fast.

Simply put, one by one work is faster for 5.1 audio. Kinda weird? (My system is i5-2540m Sandybridge, Win7 32bit)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 August, 2012, 08:46:35 PM
QuickTime/CoreAudio encoder itself always works on a single thread.
When --threading option of qaac is set, encoder and decoder/DSP run on two different threads (one thread for each).
Therefore, --threading will give you faster speed only when you do some heavy work on decoder/DSP side.



Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 27 August, 2012, 01:34:08 PM
[qaac] release 1.40 (refalac 0.51)
posted 5 hours ago by nu 774  [ updated 4 hours ago ]
Update libsoxrate to 0.30 (merged update on rate effect of SoX: Speed up on down sampling).

Due to ABI change on libsoxrate.dll, new qaac/refalac is incompatible with older libsoxrate.dll versions.

https://sites.google.com/site/qaacpage/home (https://sites.google.com/site/qaacpage/home)

Thanks for the update.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 31 August, 2012, 09:50:13 PM
I'm using qaac 1.39 and am having random problems with encoding FLAC to AAC.  I see 26x+ speed (I saw sustained 40x for a bit before it slowed down) most of the time, but on some files the encoder will progress at a sluggish ~1.2 to ~1.7x speed, but the real kicker is the resulting file is silence.  This is completely random and an unknown number of retries / accessing data from a different part of the disk after X minutes (that's a really long time) will "fix" the problem and let qaac actually encode something that's not silence.  Foobar2000 can play the FLAC file fine, of course, and the FLAC file is not corrupted.

Anyone know what's going on?  Non-ASCII/long filenames/locations, FLAC tags, and inside/outside archives don't seem to be the problem after some testing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 01 September, 2012, 03:24:44 PM
I'm using qaac 1.39 and am having random problems with encoding FLAC to AAC.  I see 26x+ speed (I saw sustained 40x for a bit before it slowed down) most of the time, but on some files the encoder will progress at a sluggish ~1.2 to ~1.7x speed, but the real kicker is the resulting file is silence.  This is completely random and an unknown number of retries / accessing data from a different part of the disk after X minutes (that's a really long time) will "fix" the problem and let qaac actually encode something that's not silence.  Foobar2000 can play the FLAC file fine, of course, and the FLAC file is not corrupted.

Anyone know what's going on?  Non-ASCII/long filenames/locations, FLAC tags, and inside/outside archives don't seem to be the problem after some testing.

Apparently, this slow speed silence bug has something to do with using --lowpass 19700?  (I'm only using this for TVBR 100+... from a glance at the spectrographs it doesn't seem to change the distribution of bits at all, just imposes a hard wall which saves a couple hundred KB per song.)

Is this a known bug of qaac and/or Core Audio?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 01 September, 2012, 03:29:50 PM
Is this a known bug of qaac and/or Core Audio?


Can you share the original file converting from?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 September, 2012, 11:05:09 PM
It's impossible to fix a bug (if any) if I cannot reproduce it.
If you can reproduce it, please share the problematic file and write precise step to reproduce it (command line, etc).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 02 September, 2012, 02:14:24 AM
It's impossible to fix a bug (if any) if I cannot reproduce it.
If you can reproduce it, please share the problematic file and write precise step to reproduce it (command line, etc).


It's not a file - it's every file, FLAC or WAV, any location.  When the bug kicks in and I let the process finish encoding at ~2x instead of 40-50x, the resulting file is ~22 kbps of the correct length, but complete silence.  (instead of ~200 kbps)  As I said, after an unknown number of playback / disk reading changes, the said files can be encoded properly again.  It's completely random but affects every single file.  I've now even had it encode the first 2 tracks of an album as slow silence (with proper length), but successfully encode the other 10 tracks of the album.

my foobar2000 arguments are
Code: [Select]
-V 109 --lowpass 19700 - -o %d


I don't think this bug happens when I use -V 91 and don't set a lowpass (the default lowpass for -91 is lower than 19.7).  So my thoughts are it's the lowpass.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 02 September, 2012, 03:30:31 AM
I don't think this bug happens when I use -V 91 and don't set a lowpass (the default lowpass for -91 is lower than 19.7).  So my thoughts are it's the lowpass.


Your command line isnot producing any faulty output. Check if qaac using proper libsoxrate dll. Also try append --ignorelength to command line if encoding through PIPE.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: neothe0ne on 05 September, 2012, 12:58:41 AM
I don't think this bug happens when I use -V 91 and don't set a lowpass (the default lowpass for -91 is lower than 19.7).  So my thoughts are it's the lowpass.


Your command line isnot producing any faulty output. Check if qaac using proper libsoxrate dll. Also try append --ignorelength to command line if encoding through PIPE.

If I try a wrong libsoxrate.dll, qaac crashes after 1 second and won't encode anything at all.

What does "encoding through PIPE" mean?  A filepath containing the "|" aka flacs inside zip/rar packages?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 05 September, 2012, 04:15:40 AM
Using the command line interpreter and the "pipe symbol" (|) is one way to make a pipe, a connected redirection of the output of one application (>) into the input of another application (<). It can also be built with OS functions.

"Pipe aware" CLI applications usually support a single dash (-) as placeholder for standard input and output file handles instead of file names for disk files. In this case, they "print the output file content to the standard output" instead of using disk file operations; this requires specific options under Windows to support correct binary output.

STDIN = file handle 0 (usually assigned to the console, keyboard)
STDOUT = file handle 1 (usually assigned to the console, monitor)
STDERR = file handle 2 (usually assigned to the console, monitor)

The standard error handle can be redirected too, using its number 2 preceding the redirector (e.g. '2>'), which can be useful to store error messages into a log file.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2012, 05:50:34 AM
@nu774
Is there a technical reason why e.g. MP3 files are not supported as input for QAAC?
I thought that libsndfile does support MP3...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 05 September, 2012, 06:07:06 AM
Why recoding a worse format which already suffers from psychoacoustic loss?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 05 September, 2012, 06:10:20 AM
Is there a technical reason why e.g. MP3 files are not supported as input for QAAC?

Transcoding from lossy formats is forbidden.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2012, 06:12:17 AM
Why recoding a worse format which already suffers from psychoacoustic loss?


E.g. to recode an MP3 audiobook @ 192 kbps / multiple files to an iPod compatible M4B file with chapters @ 48 kbps...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2012, 06:17:58 AM
Is there a technical reason why e.g. MP3 files are not supported as input for QAAC?

Transcoding from lossy formats is forbidden.

Forbidden? By law? LOL!
I asked for technical, not ideological/political/religious reasons...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 05 September, 2012, 06:24:45 AM
HydrogenAudio has higher ideological standards.

A workaround could be piping {lame --decode *.mp3 - | qaac -i ... -o *.m4a -}.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2012, 06:39:40 AM
A workaround could be piping {lame --decode *.mp3 - | qaac -i ... -o *.m4a -}.

I've already considered that, but I couldn't find a way to use piping in combination with QAAC's --concat switch.
So I ended up with first converting all the MP3 stuff to WAV and then running "QAAC --concat *.wav -o audiobook.m4b" which uses more time and temp disc space than neccessary...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 September, 2012, 07:22:22 AM
@nu774
Is there a technical reason why e.g. MP3 files are not supported as input for QAAC?
I thought that libsndfile does support MP3...

AFAIK libsndfile doesn't support MP3, but CoreAudio does. As far as using CoreAudio built-in decoder, license/patent would not matter.
I don't want to support MP3 input mainly because it's not important at all for a command line AAC encoder, while implementing it is a pain for me (handling of encoder delays, etc..) .
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2012, 08:08:27 AM
I don't want to support MP3 input (...) implementing it is a pain for me (handling of encoder delays, etc..) .

I can perfectly understand your point of view.
And (unless another work-around for my "single audiobook conversion problem" surfaces, I'll stick to my intermediate WAV solution...

Or, does anyone have a solution (command line tool for Windows) to concat multiple m4a files to a single m4b file with chapter marks at file boundaries?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: thespacepope72 on 10 September, 2012, 04:03:36 AM
SITUATION: I ripped all of my CDs to FLAC about 4 years ago using EAC.  I felt like FLAC was the best option at the time and still may be however I have recently moved to iPhones (wife's decision) with iOS 5.1.1 so syncing FLAC files to the iPhone using foobar2000 is not possible.

PROPOSED SOLUTION: I am thinking about converting my FLAC to ALAC using foobar2000 and qaac so I can use iTunes to sync the files to the iPhone.

CONCERN: It is my understanding that prior to November 2011, ALAC was a closed format and ALAC encoders were reverse engineered.

QUESTIONS: Is qaac based on the reverse engineered ALAC encoder or is it based on the "official" specification?  I would be disappointed if I converted my FLAC collection to an "unofficial" ALAC implementation only to have something incompatible about the files at some point in the future.  I am not technical enough to understand some of the specifications but I know I want my files archived in some lossless format.

OTHER CONSIDERATIONS: I realize that I could use MediaMonkey to sync the files but that may only last until Apple changes something in their software to break syncing with MediaMonkey.  Additionally, I don't think that the free version of MediaMonkey does transcoding on the fly.  I know I could also just convert my FLAC to mp3 and keep both copies of the files but maintaining two versions of the same file sounds like torture to me.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 10 September, 2012, 04:26:06 AM
QAAC is only a user interface for the original Apple QuickTime AAC and ALAC encoders.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 13 September, 2012, 07:00:03 AM
Anu info about what;s new in CoreAudioCodec 7.9.8.1????
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 13 September, 2012, 08:06:07 AM
Anu info about what;s new in CoreAudioCodec 7.9.8.1????


Id like to know also. I just checked to see if there was a quicktime update only to find the apple site says the latest is 7.7.1 where i have been using 7.7.2 for a while now??
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 September, 2012, 11:53:24 AM
http://www.hydrogenaudio.org/forums/index....showtopic=96970 (http://www.hydrogenaudio.org/forums/index.php?showtopic=96970)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 13 September, 2012, 12:09:52 PM
http://www.hydrogenaudio.org/forums/index....showtopic=96970 (http://www.hydrogenaudio.org/forums/index.php?showtopic=96970)


Thanks eahm, im still wondering why on the apple site the latest quicktime says 7.7.1 where 7.7.2 has been out for a while?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 September, 2012, 12:24:19 PM
im still wondering why on the apple site the latest quicktime says 7.7.1 where 7.7.2 has been out for a while?

I was thinking the same yesterday, I guess 7.7.1 was the latest included with iTunes? Now you have to install it separately, no idea btw.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 13 September, 2012, 09:31:24 PM
I cannot encode mono files to aac using qaac now .
The output is always stereo no matter what parameters I tried.
It even output an HE-AAC v2 file if i specify -he.

I've installed iTunes 10.7.0.21.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 14 September, 2012, 04:00:24 AM
I cannot encode mono files to aac using qaac now .
The output is always stereo no matter what parameters I tried.
It even output an HE-AAC v2 file if i specify -he.

Open with QuickTime Player->window menu->movie inspector.
Or, check with Mediainfo (http://mediainfo.sourceforge.net/) (install the latest version).
ffmpeg/libav seems to judge mono HE-AAC file generated by Apple encoder to be stereo.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 14 September, 2012, 07:25:10 AM
Itunes says so

http://postimage.org/image/n3e3k99yl/ (http://postimage.org/image/n3e3k99yl/)

So does foobar

http://postimage.org/image/t7as83wgn/ (http://postimage.org/image/t7as83wgn/)

Anyway, seems that the result is the same when I do "Create AAC Version" within Itunes 10.7: it is encoded as he-aac v2 in stereo
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 14 September, 2012, 07:40:25 AM
Seems that Itunes can keep it to mono if i encode as LE.
Encode as HE will make it HEv2 which is of course in stereo.

Encode as HE / LE in qaac both results in stereo.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 14 September, 2012, 08:30:18 AM
Encode as HE / LE in qaac both results in stereo.

Not reproducing here. The result of qaac is the same as iTunes.

It's funny that iTunes says mono HE-AAC files created by itself as stereo HE-AAC v2.
It actually is not HE-AAC v2 and not using any SBR extensions including PS. I confirmed this looking into bitstream (using debugger).
In this case, QuickTime player and Mediainfo are correct.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 14 September, 2012, 08:46:52 AM
Encode as HE / LE in qaac both results in stereo.

Not reproducing here. The result of qaac is the same as iTunes.

It's funny that iTunes says mono HE-AAC files created by itself as stereo HE-AAC v2.
It actually is not HE-AAC v2 and not using any SBR extensions including PS. I confirmed this looking into bitstream (using debugger).
In this case, QuickTime player and Mediainfo are correct.


Oh yeah, for the LC file, foobar says stereo and itunes / quicktime says mono. So the behaviour for qaac is consistent with itunes and any "issue" is that caused by itunes only.

I think quicktime actually always says he v2 files are mono: i tested one encoded with nero aac.

BTW, i notice that for the nero he v2 files: foobar says SBR+PS stereo
For the itunes he file (mono source), foobar says SBR stereo
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 14 September, 2012, 10:01:43 AM
Your HE AAC file IS mono, the decoder just outputs upmixed stereo. This is because of parametric stereo, which is always signalled implicitly. Because of that, the decoder upmixes ALL mono files to stereo, even if there is no PS in the file.

Menno

Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 14 September, 2012, 10:59:45 AM
Your HE AAC file IS mono, the decoder just outputs upmixed stereo. This is because of parametric stereo, which is always signalled implicitly. Because of that, the decoder upmixes ALL mono files to stereo, even if there is no PS in the file.

Menno



What "decoder" is that quote referring to?

If Mediainfo is correct, all the below behaviors is wrong:
Itunes encoded LC file with mono source is reported as LC stereo in foobar.
Itunes encoded HE file with mono source is reported as HE stereo in foobar.
Itunes encoded HE file with mono source is reported as HEv2 stereo in Itunes.

In all 3 cases: the software actually decodes to 2 channels, as verified by their "convert to wav" output.

I think it is problem with foobar and itunes then.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kevinsham on 14 September, 2012, 11:07:38 AM
Your HE AAC file IS mono, the decoder just outputs upmixed stereo. This is because of parametric stereo, which is always signalled implicitly. Because of that, the decoder upmixes ALL mono files to stereo, even if there is no PS in the file.

Menno



What "decoder" is that quote referring to?

If Mediainfo is correct, all the below behaviors is wrong:
Itunes encoded LC file with mono source is reported as LC stereo in foobar.
Itunes encoded HE file with mono source is reported as HE stereo in foobar.
Itunes encoded HE file with mono source is reported as HEv2 stereo in Itunes.

In all 3 cases: the software actually decodes to 2 channels, as verified by their "convert to wav" output.

I think it is problem with foobar and itunes then.


The last test I am doing: Nero encoded HE(v1) with mono source:
Itunes reported as HEv2 stereo.

So seems that Itunes is just reporting any HE files as "v2" and try decoding as stereo.

Issues should be reported to iTunes and foobar than.

Thanks for all the prompt replies.
QAAC is a great tool.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2012, 05:18:22 PM
nu774, sorry I have to ask this, is there an option to remove the "Tool" tag while converting? I have few iOS projects and I would like to use Apple/TVBR for music files but I don't want to show how I converted them.

If not, could you create a new version with a "-notool" or similar option?

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2012, 09:38:17 PM
If not, could you create a new version with a "-notool" or similar option?

It's technically possible, but looks too special to be implemented as a generic option.
Can't you just remove tool tag after encoding?

In case you don't know how to do it, try mp4tags(CLI app) of mp4v2 project: mp4v2 download page (http://code.google.com/p/mp4v2/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount)
The following command line will remove tool tag from foo.m4a.
Code: [Select]
mp4tags -rE foo.m4a

Currently only a deprecated pre-built binary for Windows is out there and probably it has issues on non-ascii text handling, but it will be enough for this rather simple usage.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2012, 09:53:14 PM
mp4tags works perfectly.

An option on your CLI would be amazing for mass encoding without it but it's perfect for now.

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 08 October, 2012, 01:44:16 PM
Code: [Select]
[qaac] release 1.42 (refalac 0.53)
posted 3 hours ago by nu 774

MP4 container minor fix: added "isom" to compatible brands.
Also I started a new project [url="https://github.com/nu774/cafmux"]cafmux[/url] at github, which is a simple command line audio remuxer using CoreAudioToolbox.


https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

Thanks for the update.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 17 October, 2012, 03:43:13 AM
There's new version: https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_1.43.zip?attredirects=0&d=1)

Quote
Fixed passband of --rate (sample rate converter of libsoxrate). Regression on 1.40. Default passband was not properly set, and resulted in audibly muffled sound when you do --rate=32000 or something.
    Modified transition band width of --lowpass (was unnecessarily small).
    Support CAF tag reading (qaac only).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 October, 2012, 04:03:45 AM
There's new version: https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_1.43.zip?attredirects=0&d=1)

Quote
Fixed passband of --rate (sample rate converter of libsoxrate). Regression on 1.40. Default passband was not properly set, and resulted in audibly muffled sound when you do --rate=32000 or something.
    Modified transition band width of --lowpass (was unnecessarily small).
    Support CAF tag reading (qaac only).


Yes but please link to the cabinet's url (https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)), people know what to download by their selves.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 19 October, 2012, 11:33:05 AM
Thanks for the 1.44 update and fixiTunSMPB. One question, why qtaacenc never needs updates?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 October, 2012, 11:57:01 AM
Thanks for the 1.44 update and fixiTunSMPB. One question, why qtaacenc never needs updates?

Well, is that kind of a question I can answer? I don't know.
I'm sorry for long standing iTunSMPB problem, I didn't notice it until now since I'm a fb2k user, and nobody reported of it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 19 October, 2012, 11:58:04 AM
Don't qaac and qtaacenc use the same "engine"? Sorry I'm not a programmer.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 October, 2012, 12:07:32 PM
Don't qaac and qtaacenc use the same "engine"? Sorry I'm not a programmer.

Yes, eventually same AAC encoder of Apple is used, but that's all.
These two are completely different programs written by different authors. For example, qaac doesn't use QuickTime at all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 25 October, 2012, 09:51:18 PM
nu774, did you test qaac with Windows 8? I am having problems converting.

Code: [Select]
Conversion failed: The encoder has terminated prematurely with code -1073741701 (0xC000007B); please re-check parameters

update1:
Is this Visual C++ again?

update2:
It works with the 32bit files inside the qaac ZIP, NOT with the 64bit.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2012, 03:03:50 AM
nu774, did you test qaac with Windows 8? I am having problems converting.

No, I haven't.

It works with the 32bit files inside the qaac ZIP, NOT with the 64bit.

Do you mean refalac64 still having problem?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 26 October, 2012, 03:12:17 AM
Yes, eventually same AAC encoder of Apple is used, but that's all.
These two are completely different programs written by different authors. For example, qaac doesn't use QuickTime at all.


qtaacenc is updated also but not so frequently. Disregarding the factor which engine is which of them using does qtaacenc offer some advantage over qaac?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2012, 03:39:36 AM
qtaacenc is updated also but not so frequently. Disregarding the factor which engine is which of them using does qtaacenc offer some advantage over qaac?

Well, it's much simpler and executable size is much smaller than qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 31 October, 2012, 11:01:03 AM
[qaac] release 1.46 (refalac 0.57)

posted 3 hours ago by nu 774
Fixed a regression on 1.45: due to a subttle bug in option parsing code, --concat-cuesheet and --native-resampler were misinterpreted and not working.
Automatic RF64 output on -D (wav output), when file size is unknown or larger than 4G, and output is not connected to a pipe.
In these cases, at first "JUNK" chunk is written to where ds64 chunk goes, and if the file is actually beyond 4G limit at the end of writing, it is rewritten to ds64 chunk. Therefore, if it was actually smaller than 4G, JUNK chunk remains before "fmt " chunk. This is completely valid and legal in RIFF/WAV spec, but some software might get confused when seeing this.
Slight improvement on channel mapping code.
Additional search to mingw DLLs (libFLAC-8.dll and libwavpack-1.dll) When official win32 binaries are not found, these names are also searched.


https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 31 October, 2012, 12:12:45 PM
Quote
It works with the 32bit files inside the qaac ZIP, NOT with the 64bit.

Do you mean refalac64 still having problem?

I only use qaac. I used to copy qaac.exe from the x86 and all the other files from x64 but it doesn't work with Windows 8. It works now when I copy every file from x86.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 October, 2012, 10:50:35 PM
I only use qaac. I used to copy qaac.exe from the x86 and all the other files from x64 but it doesn't work with Windows 8. It works now when I copy every file from x86.

OK.
Actually it has nothing to do with Windows 8. Generally speaking, 32bit process can only load 32bit DLLs, and 64bit process can only load 64bit DLLs.
Therefore, qaac (32bit application) requires 32bit version of DLLs (in x86 folder).

In your case, probably you had MSVC runtime installed in your previous environment/OS. Therefore, qaac did work without installing MSVC runtime in the qaac zip archive.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 01 November, 2012, 12:52:54 AM
Perfect thank you, for some stupid reason I thought qaac was x86 and x64.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 08 November, 2012, 03:26:18 AM
QuickTime 7.7.3 was updated today releasing CoreAudio toolbox 7.9.8.2. I'm curious what was updated in this version?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 November, 2012, 06:04:07 AM
QuickTime 7.7.3 was updated today releasing CoreAudio toolbox 7.9.8.2. I'm curious what was updated in this version?

As far as I can see, output of AAC encoder is identical with 7.9.8.1.

I also tested if ExtAudioFileRead() still crashes on HEv2 files, and now it doesn't.
However, even if I replaced CoreAudioToolbox.dll with 7.9.8.1, it doesn't crash. So I cannot reproduce the behavior on the previous version.
Maybe it might depend on other components... I don't know.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 08 November, 2012, 10:37:32 AM
QuickTime 7.7.3 was updated today releasing CoreAudio toolbox 7.9.8.2. I'm curious what was updated in this version?

Sorry I just saw this post after I opened a new one for the 7.9.8.2 (http://www.hydrogenaudio.org/forums/index.php?showtopic=97782).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 15 November, 2012, 04:51:30 AM
[qaac] release 2.00 (refalac 1.00)
posted 41 minutes ago by nu 774
This is an experimental (might be unstable) release with many updates, so version was bumped up to 2.00.

Enabled MP3 decoding.
--concat + --adts now accepts multiple inputs with different sample format. Explained later.
Removed --concat-cuesheet, since it's mostly similar to --concat.
Added --no-dither, which turns off automatic dither on quantization.
-b now accepts arbitrary value in 2-32 range. -b32 for WAV output means float format. All other cases are integer.
-N(--normalize) now doesn't use temporary file if the input is seekable.
FLAC file with ID3v2 tag is now accepted (ID3 tag is just skipped and ignored).
Fix crash on reading TAK file with binary tag.
Improve ID3v2 tag handling.
Many refactoring of source code has been done.
Multiple format stream generated by --concat and --adts
Since this requires complete reset of the encoder, zero padding is added at the stream change point.

As far as I know, almost no software player on PC can continue to play such file after the stream format change. In my environment, Windows Media Player 12 is the only exception I know of.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 17 November, 2012, 12:26:01 PM
[qaac] release 2.01 (refalac 1.01)
posted Nov 16, 2012 4:31 AM by nu 774
Fixed a regression on 2.00: --threading was broken.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Mix3dmessagez on 18 November, 2012, 11:09:59 AM
Hello all

Since the new update on quicktime albums encoded from cd would skip at a certain point in each song to the next song in the album for every song on the album.

This didn't happen to needledropped files or mp3 files, just new qt files encoded.

I used qaac to encode the flac files to alac does this fix that issue?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: deluge on 18 November, 2012, 01:55:48 PM
Hi, I have found possible bug in QAAC or in AppleApplicationSupport. I have encoded this sample: eig.flac --> http://www.hydrogenaudio.org/forums/index....st&p=622980 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=70598&view=findpost&p=622980) with QAAC 2.01 ( qaac.exe *.flac -c112 ) and CoreAudioToolbox 7.9.8.2 and result sample has realy bad distortion at the first 2 seconds.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 18 November, 2012, 02:44:50 PM
Try CoreAudioToolbox 7.9.7.9 from iTunes 10.6.3.

But why do you want to use CBR?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: deluge on 18 November, 2012, 03:02:38 PM
I have used it for testing purposes only.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 November, 2012, 12:17:46 AM
I quickly tested on the following set, and looks like only the combination of 7.9.8.2(or 7.9.8.1) and CBR 112k having that problem.
Anyway, it's interesting and thanks for sharing it -- although it's not an issue of qaac and there's nothing I can do for it.

7.9.8.2, -c112
7.9.8.2, -c96
7.9.8.2, -c128
7.9.8.2, -a112
7.9.8.2, -v112
7.9.7.9, -c112
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 27 November, 2012, 08:17:05 AM
[qaac] release 2.03 (refalac 1.03)
posted 2 hours ago by nu 774
Fixed box layout of iTunes custom metadata (long tag). It was written as name-> mean -> data (should be mean -> name -> data).

This was a long standing bug, and I am somewhat surprised that no one has ever reported me of this. This should fix the interoperability problem with TagLib.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 27 November, 2012, 08:22:59 AM
Should I worry the tags with previous qaac versions was somehow broken?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 27 November, 2012, 09:02:29 AM
This was a long standing bug, and I am somewhat surprised that no one has ever reported me of this.

Because people know less than they actually think they do. I consider myself expert in many things but this is all new to me. I come here every day and get screamed for something I am sure I am doing right or for something I say that means absolutely nothing. It's a release of stress to see that you actually don't know everything and of course I know I don't but sometimes when you do and manage a lot of things like I do you think you know everything. Thanks to the people of the forum for waking me up every single day.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 November, 2012, 09:18:33 AM
Should I worry the tags with previous qaac versions was somehow broken?

If you are having no trouble concerning m4a tags so far, you don't have to worry about it.
Especially if you are running qaac from some front end such as fb2k and let it write the tags.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 November, 2012, 09:37:04 AM
Because people know less than they actually think they do. I consider myself expert in many things but this is all new to me. I come here every day and get screamed for something I am sure I am doing right or for something I say that means absolutely nothing. It's a release of stress to see that you actually don't know everything and of course I know I don't but sometimes when you do and manage a lot of things like I do you think you know everything. Thanks to the people of the forum for waking me up every single day.

Touching tags afterwards by fb2k (for replaygain or something) is enough to fix the tag related issue. Therefore, I think it's just because most people are using fb2k with qaac.

I don't assume people take the trouble to look inside of MP4 container.
Since taglib shows some warnings when opening generated m4a file, it could be noticeable if someone tried it once.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 27 November, 2012, 12:35:44 PM
[qaac] release 2.04 (refalac 1.04)
posted an hour ago by nu 774
Fixed broken pipe input (regression on 2.00).

When feeding from pipe, there was always a chance that output from some arbitrary point become white noise like.

This was due to switch to lower level I/O routine on 2.00, which can result in "partial read" in case of pipe input. When it is still aligned to sample size boundary, it does no harm. However, when it is not aligned, the succeeding samples get completely out of sync, and result in white noise or something.

The possibility of this problem depends on how sender pushes audio to pipe, and sample size (16bit, 24bit, etc). I didn't notice it until today, but I could reproduce this using cat command as feeder.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 27 November, 2012, 02:25:27 PM
Long awaited qaac 2.5 is out! 

https://sites.google.com/site/qaacpage/news...se205refalac105 (https://sites.google.com/site/qaacpage/news/qaacrelease205refalac105)

Quote
Sorry, 2.04 fix was flawed. Re-fixed it.

BTW, The problem on 2.00 was usually quite audible. If you are anxious about it, the apparent evidence of the bug is less number of samples compared to the original.


If you were using simply 16/32bit 2ch input, you might not have met any troubles so far (like me). In this case, sample size (in bytes) is multiple of 2, and probably there's less possibility of partial read breaking in the middle of sample boundary.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 November, 2012, 07:53:10 PM
If you were using simply 16/32bit 2ch input, you might not have met any troubles so far (like me). In this case, sample size (in bytes) is multiple of 2, and probably there's less possibility of partial read breaking in the middle of sample boundary.

Sorry, I wanted to say power of two.
If the sample size is power of two, there's a high possibility that I/O buffer size (usually power of two) is divisible by the sample size, thus problematic partial read doesn't happen.

One user noticed this when encoding from 24bit source yesterday.
In fact, another user has already reported me of this, but at that time I couldn't reproduce it, and thought it to be an environment specific problem (he was using Linux and wine).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 27 November, 2012, 08:32:22 PM
Long awaited qaac 2.5 is out! 

2.05
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 06 December, 2012, 06:53:56 PM
[qaac] release 2.06 (refalac 1.06)
posted 13 hours ago by nu 774
Fixed a bug: when opening non-supported input file, there was a chance that ridiculously too much memory gets allocated and OS hangs (refalac only). This is regression on 2.00, but is basically coming from a weakness of libmp4v2 which can allocate HUGE memory when mp4 box structure is corrupt.

Rewritten 24bit PCM bit packing/unpacking code.

qaac -D 24bit.wav -o - >NUL
is about 3 times faster than before.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 07 December, 2012, 11:53:31 AM
[qaac] release 2.07 (refalac 1.07)
posted 3 hours ago by nu 774
Fixes for 2.00 regression again.

WAV parser was ignoring data chunk length even if --ignorelength was not specified.
Bogus total length was printed on libsndfile input due to int64_t -> int8_t typo.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 10 December, 2012, 10:40:02 AM
I thought the old qtaacenc portable script may have been too bloated, so I created a new one for qaac.

http://www.mediafire.com/?1ysj4ph04vt3b8g (http://www.mediafire.com/?1ysj4ph04vt3b8g)

You need to put either the QuickTime or iTunes installer into the same directory as the script and it should extract only the files necessary for qaac without the need to install anything.

Files it extracts:
Code: [Select]
CoreAudioToolbox.dll
CoreFoundation.dll
ASL.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
objc.dll
pthreadVC2.dll


Did I miss aynthing?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 December, 2012, 10:56:19 AM
Thanks,
Alternatively, you can try makeportable.zip at the cabinet page (bat file only, 7z.exe is not included).

I haven't mentioned/recommended it in public since it's hackish, and might be against Apple's policy.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 10 December, 2012, 11:07:41 AM
Ah, damn, I totally missed your portable script.

Also, yours has "7z e -y -oQTfiles\Microsoft.VC80.CRT -i!msvcp80.dll.* -i!msvcr80.dll.* -i!manifest.* AppleApplicationSupport.msi" and much more error handling.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 December, 2012, 02:56:11 AM
Code: [Select]
[qaac] release 2.08 (refalac 1.08)
posted 1 minute ago by nu 774

Now copy chapters from ALAC/m4a input (when available).
Delay Nero style chapter point as much as the encoder delay (2112 samples). It seems that Nero AAC encoder was previously using Nero style chapter to signal encoder delay this way, and fb2k is in honor of it.

Note that Nero style chapter is a list of <title, start time> pairs, therefore first chapter can start at arbitrary point, while last chapter goes until the end of the track.

On the other hand, QuickTime style chapter is a list of <title, duration> pairs, therefore first chapter always starts from the beginning of the track, while last chapter can end at arbitrary point.

qaac will write both style chapters (for the sake of compatibility), but these two have subtle difference and incompatibility.

Now writes actual duration into edts. This is done mainly for QuickTime which doesn't look iTunSMPB thingy. Now QuickTime can trim zero-padding and decode sample accurately (whole song / each sub-chapters).

Technically, there's no way to tell the value of encoder delay to QuickTime player. It just silently assumes implicit AAC delay of 2112 samples, and automatically crops that amount from the beginning --- it just works with qaac because qaac is using their encoder. edts is used here in order to just let them trim the trailing zero paddings.


https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 13 December, 2012, 09:38:31 AM
If qaac were to also use edts for trimming the encoder delay, would that break the gapless playback in QuickTime, since it always skips 2112 samples?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2012, 09:58:12 AM
If qaac were to also use edts for trimming the encoder delay, would that break the gapless playback in QuickTime, since it always skips 2112 samples?

Exactly. For that very reason I cannot do it.
QuickTime File Format Specification Appendix G. (http://developer.apple.com/library/mac/#documentation/QuickTime/qtff/QTFFAppenG/QTFFAppenG.html) defines a way to signal encoder delay using edts and (new) sgpd atom, but it's a spec of QT/MOV so cannot be applied to MP4, and QT7 for win doesn't seem to implement or support it anyway.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 13 December, 2012, 10:02:17 AM
I see.
Would be nice if Apple were to stick to a single proprietary implementation of this stuff while being at it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2012, 10:26:08 AM
BTW Quick Time pro was useful when handling chapters for testing. When I want to extract second chapter, the following did that job.
- Move to second chapter head by selecting second chapter
- Press I (selection start)
- Move to third chapter head by selecting third chapter
- Press O (selection end)
- Trim to selection
- Export, done.
This way I could losslessly export chapter to MP4, or decode/re-encode to another format. Too bad that it's almost abandoned (Mac OS X already moved to QuickTime X, different software with same branding) and quite easily crashes.
I also wanted to test sample accuracy with iTunes, but I couldn't figure out if it's even possible for iTunes to extract specific sub chapter.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 18 December, 2012, 04:50:07 AM
[qaac] release 2.09 (refalac 1.09)
posted 7 hours ago by nu 774
Fixed a regression on 2.06, which resulted in failure when non-canonical path was passed by -o option (reported by this post at HA).
Added --fname-from-tag option to generate output file names based on the tags of input files. You can configure output file name more precisely by additionally using --fname-format (which has been an option for cuesheet input only).

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 25 December, 2012, 06:53:14 AM
I did a pitty small abx today between wav and qaac tvbr 127. Got 5 out of 5. I thought i could hear some difference. Hard to describe what, but kind of the richness of the audio was different. And when i got 5/5 i think there was no coincidence. It was a hardstyle tune by headhunterz. In other genres though I can't seem to hear any difference at all.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.1.18
2012/12/25 12:36:05

File A: C:\Users\Olav\Desktop\3929430_Lessons_In_Love_feat__Neon_Trees_Headhunterz_Remix.wav
File B: C:\Users\Olav\Desktop\QAAC TVBR 127\3929430_Lessons_In_Love_feat__Neon_Trees_Headhunterz_Remix.m4a

12:36:05 : Test started.
12:37:08 : 01/01  50.0%
12:38:06 : 02/02  25.0%
12:38:57 : 03/03  12.5%
12:39:42 : 04/04  6.3%
12:42:34 : 05/05  3.1%
12:43:14 : Test finished.

----------
Total: 5/5 (3.1%)


Pretty interesting i think
Setup was: foo_abx 1.3.4 -> Belkin USB cable -> HRT Music Streamer II -> Steelseries 5HV2.
QAAC v 2.09



BTW, new qaac uploaded, 2.10
https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
No changelog yet
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 December, 2012, 07:12:08 AM
BTW, new qaac uploaded, 2.10
https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
No changelog yet

I was just writing and finished it now 
Quote
Changed --delay option spec. --delay now accepts either duration in time or number of samples. If you are used to timespec of sox, you should be already familiar with it. The format is as following:

--delay=[hh:[mm:]]ss[.sss]...
--delay=<integer>s
In the first case, parts surrounded by brackets can be omitted. So, --delay=100 means 100 seconds, --delay=-10.72 means -10.72 seconds, --delay=02:53.1 means 2 minutes and 53.1 seconds, and so on.

Second case is for number of samples. You just put an integer followed by "s" (means "samples"). --delay=-2112s or something.

HTOA support. Now index 00 of first track in cue sheet is encoded into track 0.

Fixed a bug of cue sheet parser. Last line of cue was ignored if the last line is ending with a white space character other than LF.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 25 December, 2012, 04:40:54 PM
nu774,

I am new to qaac, just downloaded its command line module and read the documentation page.

I was wondering why you have no example for the mp3 conversion syntax to preserve the quality of the input as much as possible.

My objective is to be able to import the resulting m4a as a sound track into an m4v video (using mp4box and handbrake).

I tried conversion with one of the ffmpeg's aac encoders but did not quite like the quality of the output. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 December, 2012, 09:07:22 AM
I was wondering why you have no example for the mp3 conversion syntax to preserve the quality of the input as much as possible.

Well, if you want higher quality, just raise bitrate or something. Period.

However, if you encode 64kbps MP3 into 320kbps AAC, the result gets 5 times larger than input in file size, but is still worse than input in quality. Lossy to lossy conversion works like that. Sounds ridiculous?

So you have to make a compromise somewhere on quality/size trade off. People use lossy codec that way. I cannot tell you "the best setting" for you. Only you can decide it using your own ears.

And I think you will be able to understand why I cannot write every possible example for every single task you might think of.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 26 December, 2012, 11:10:56 AM
Well, if you want higher quality, just raise bitrate or something. Period.

However, if you encode 64kbps MP3 into 320kbps AAC, the result gets 5 times larger than input in file size, but is still worse than input in quality. Lossy to lossy conversion works like that. Sounds ridiculous?..


Agreed.

I tried for an HE -ACC file out of the 320 Kbps mp3, the result was almost four times as less in size, but practically of the same sound quality.  Then, I ran qaac -v256, and got the same quality and almost the same size file. (Though, must admit the perception of 'quality' of the sound file largely depends on the decoder in the system. As I use ffdshow, all of my m4a files appear to sound better in windows media rather than in QT  )

What's great about qaac is that, unlike ffmpeg which sometimes defaults to ADTS, it produces real QT/Itunes compatible m4a on the spot!

I wonder how QAAC encoder compares to libvo_aacenc?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 December, 2012, 11:26:22 AM
What's great about qaac is that, unlike ffmpeg which sometimes defaults to ADTS, it produces real QT/Itunes compatible m4a on the spot!

As far as I know, ffmpeg/avconv will decide container format from file extension you give, and can mux into MP4 if properly directed.

Quote
I wonder how QAAC encoder compares to libvo_aacenc?

Quality of libvo_aacenc is not comparable to state-of-the-art commercial encoders of Apple or FhG. If you can, use libfdk_aac instead on ffmpeg (although you have to make it yourself).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Stop the Noise on 26 December, 2012, 11:49:36 AM
Hi nu774,


I'm using QAAC through the latest TAudioConverter(0.6.2.459) and there's a problem with the metadata from the flac files not completely being transferred to the m4a file.

The 'date' is missing! The rest of the metadate data transfers correctly(album, artist, title etc.), when I read the log, the 'date' does show in the metadata. Is there anything that can be done?

Thanks for all your work in QAAC.

!UPDATE! I just received word from the developer of TAudioConverter that's it's an issue there, which will be fixed in the next release.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 30 December, 2012, 05:56:56 PM
Thank you,  nu774 for your suggestion. Although I never compiled an executive file under windows, I may give it a try...

Now, I am trying to convert to m4a file format a movie's track, which is an ac3 6 channel audio.
When I ran
Code: [Select]
qaac -v256 --verbose audio.ac3 -o audio.m4a
I got an error that there is no such input format. Is there something that I need to do with ac3 file first?

Also, I understand that I need to mixdown from 6 channels to 2. How do I do that? Is 2 channels - a default setting?

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 December, 2012, 08:01:12 PM
qaac does not support AC3 input. So, you have to decode it before passing it to qaac (by ffmpeg, avconv or something).
As for 5.1ch -> stereo mixdown by qaac, read the following:
https://github.com/nu774/qaac/wiki/Matrix-mixer (https://github.com/nu774/qaac/wiki/Matrix-mixer)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 30 December, 2012, 08:17:13 PM
MeGUI supports transcoding from AC3 to AAC using QAAC if you enable its support in the latest development update (and restart it). It also supports downmix with e.g. Dolby ProLogic II matrix.

Please note that MeGUI won't ensure the presence of the Apple CoreAudioToolbox DLLs; the user will be responsible to fulfill this prerequisite.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 31 December, 2012, 01:55:58 AM
qaac does not support AC3 input. So, you have to decode it before passing it to qaac (by ffmpeg, avconv or something).
As for 5.1ch -> stereo mixdown by qaac, read the following:
https://github.com/nu774/qaac/wiki/Matrix-mixer (https://github.com/nu774/qaac/wiki/Matrix-mixer)


MeGUI supports transcoding from AC3 to AAC using QAAC if you enable its support in the latest development update (and restart it). It also supports downmix with e.g. Dolby ProLogic II matrix.

Please note that MeGUI won't ensure the presence of the Apple CoreAudioToolbox DLLs; the user will be responsible to fulfill this prerequisite.


Thank you for suggestions. If I understood correctly I will try to to decode first ac3 to raw pcm, and then run the encoder.

Happy New YEAR to all of you! 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kode54 on 31 December, 2012, 08:49:09 PM
Quality of libvo_aacenc is not comparable to state-of-the-art commercial encoders of Apple or FhG. If you can, use libfdk_aac instead on ffmpeg (although you have to make it yourself).


Speaking of libfdk_aac, it would be really cool if someone could make a portable version of qaac that uses libfdk_aac as the encoder, as neither ffmpeg nor avconv appear to support gapless encoding. I'm only guessing that the only non-portable binary blob code that qaac uses is the CoreAudioToolbox library, and only for AAC encoding. Well, and then I did look into some of the headers when I considered an attempt, and noticed a lot of Win32 header and function usage, so maybe it won't be so easy after all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 December, 2012, 10:13:33 PM
Yeah, *some* part of qaac has been written more or less portability in mind, but others are not.
When qaac moved from QuickTime to CoreAudioToolbox, I dropped gcc(MingW) because I wanted to use DLL delay loading for CoreAudioToolbox.dll. Since then, I stopped to care about portability at all. So, now qaac even lacks cross compiler support on Win32, and I don't think it's a good base for making something useful.
If I find time, I *might* think of writing much simpler implementation for libfdk_aac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 01 January, 2013, 04:27:51 PM
nu774

Sorry to bother with this, I am a bit confused about multichannel handling by QAAC. I have now an LPCM file (wav or au format) that has the channels, according to MediaInfo, in the following order

Front: LCR
Side: LsRsLFE

Now, when QAAC does its first (Microsoft) reordering, does it re-order channels incorrectly, as the specified above channel mask is not mentioned in the channel input layout table? How does one let QAAC know the input channel layout?

Also, just in case, am I right to assume, when writing a matrix file, the Microsoft layout?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 01 January, 2013, 04:39:54 PM
@ usikpa:

MeGUI uses AviSynth, usually a scriptable video frameserver, but it is also able to serve audio in RAM to the encoder. This technique was first used by BeHappy, specifically an audio converter, alternative to the abandoned BeSweet.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 01 January, 2013, 05:01:53 PM
nu774
Front: LCR
Side: LsRsLFE

Now, when QAAC does its first (Microsoft) reordering, does it re-order channels incorrectly, as the specified above channel mask is not mentioned in the channel input layout table? How does one let QAAC know the input channel layout?


The channel order for WAV format is fixed.

Your layout is equal to "FL FR FC LFE SL SR"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 January, 2013, 12:08:29 AM
Use --verbose if you are uncertain of channel layout recognition by qaac. It will show something like the following:
Code: [Select]
Input layout: 5.1 (L R C LFE Lsd Rsd)
Output layout: 5.1 (C L R Ls Rs LFE)

Also, just in case, am I right to assume, when writing a matrix file, the Microsoft layout?

Correct.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: usikpa on 02 January, 2013, 04:36:23 PM
Use --verbose if you are uncertain of channel layout recognition by qaac. It will show something like the following:
Code: [Select]
Input layout: 5.1 (L R C LFE Lsd Rsd)
Output layout: 5.1 (C L R Ls Rs LFE)


Well, I did, and this is what I got:

Code: [Select]
...
audio.m4a
Using default channel layout.
Output layout: 5.1 (C L R Ls Rs LFE)
...


As advised above, will resort to the .wav file format instead of .au

Thank you for your replies
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 January, 2013, 11:28:48 AM
Speaking of libfdk_aac, it would be really cool if someone could make a portable version of qaac that uses libfdk_aac as the encoder, as neither ffmpeg nor avconv appear to support gapless encoding. I'm only guessing that the only non-portable binary blob code that qaac uses is the CoreAudioToolbox library, and only for AAC encoding. Well, and then I did look into some of the headers when I considered an attempt, and noticed a lot of Win32 header and function usage, so maybe it won't be so easy after all.

Finally written frontend from scratch:
https://github.com/nu774/fdkaac (https://github.com/nu774/fdkaac)
Very simple program (compared to qaac), only WAV input is available.
Gapless playback is supported at least for LC.
I hope it to be portable (tested on mingw-w64 and Linux).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 04 January, 2013, 11:40:14 AM
Excellent, will you be building a version to work with fb2k??
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 January, 2013, 11:45:46 AM
Excellent, will you be building a version to work with fb2k??

I could distribute binary of my frontend, but will not be able to distribute libfdk-aac anyway.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 04 January, 2013, 11:59:28 AM
Finally written frontend from scratch:
https://github.com/nu774/fdkaac (https://github.com/nu774/fdkaac)
Very simple program (compared to qaac), only WAV input is available.
Gapless playback is supported at least for LC.
I hope it to be portable (tested on mingw-w64 and Linux).



I have no idea how to build this or how to get it to work with fb2k?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 04 January, 2013, 02:59:17 PM
nu774, two quick questions:

1) Why should people use 1.x instead of 2.x? Older OSes?

2) Why is 2.09 still available in "Cabinet" and not in "old", is 2.10 a testing build?


Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 January, 2013, 08:08:37 PM
1) Why should people use 1.x instead of 2.x? Older OSes?

I don't recommend which to use. Although 2.x made improvements in functionality, you can continue to use 1.x if you think 2.x is not stable enough.

2) Why is 2.09 still available in "Cabinet" and not in "old", is 2.10 a testing build?

Just forgot to move it, thanks for pointing out.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bat_guano on 10 January, 2013, 10:00:57 AM
I could distribute binary of my frontend, but will not be able to distribute libfdk-aac anyway.

Hi
What is the position with fdkaac.exe?
When it's compiled, is it OK to share it on this forum or some file-hosting site?
(Just asking)
 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 January, 2013, 10:20:22 PM
What is the position with fdkaac.exe?
When it's compiled, is it OK to share it on this forum or some file-hosting site?
(Just asking)

As for Fraunhofer's FDK AAC library, read here:
https://raw.github.com/mstorsjo/fdk-aac/master/NOTICE (https://raw.github.com/mstorsjo/fdk-aac/master/NOTICE)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Sparktank on 12 January, 2013, 04:44:21 PM
Hi!
Thank you for this wonderful program!

I'm very new to AAC formats (AAC/M4A).
So far I've been using just Foobar with NeroAACenc.

But with this getting frequent updates, I've decided to look into this and see how it fairs for my typical usage.
Right now it's just PC playback and a Coby portable media player.
Windows 7 (64bit)/Windows XP SP3 (32bit).
My Coby media player is MP828-8GB.

I've delayed trying this out due to the CoreAudioToolbox conundrum.
Thankfully sneaker created a wonderful batch script to extract all the necessary files and make things easier. :)

It took me several tests to figure out the quality values for TVBR [127=highest] and for the -q [0-2] quality modes [0=highest], as their values are not listed in the help and I'm completely new to the AAC field. ^__^"

Thank you all for your contribution and I look forward to using this more frequently and checking out more updates in the future.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 January, 2013, 08:14:50 PM
Document is at https://github.com/nu774/qaac/wiki (https://github.com/nu774/qaac/wiki)
-q controls quality/speed trade off, and 2 is highest in quality, slowest in speed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Sparktank on 12 January, 2013, 10:37:45 PM
Document is at https://github.com/nu774/qaac/wiki (https://github.com/nu774/qaac/wiki)
-q controls quality/speed trade off, and 2 is highest in quality, slowest in speed.


  Bookmarked, thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 13 January, 2013, 06:38:53 AM
it's 2.11 now 

Quote
[qaac] release 2.11 (refalac 1.11)
posted 47 minutes ago by nu 774

    Changed --tag option behavior to be strict. Formerly, when fourcc passed by --tag is unknown, qaac accepted it and wrote it as UTF8 string tag. Now --tag accepts only known tags. This is considered to be more foolproof, since iTunes is known to refuse editing tags when a file contains unknown tag atoms.
    Read vorbis comment "WAVEFORMATEXTENSIBLE_CHANNEL_MASK" of FLAC and treat as channel layout.
    Fixed a bug: mono AIFF/CAF file with kAudioChannelLabel_Mono in chan chunk could not be read.


https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 15 January, 2013, 07:53:02 AM
Why does qaac seem to be slightly changing the duration of my audio file?

This is the command I am running:
Quote
qaac.exe --tvbr 90 --quality 2 --rate keep --ignorelength S01E01.wav -o S01E01.aac


I am using "--ignorelength" because usually I run this command with piped WAV input from eac3to.

The result I get with MediaInfo (showing milliseconds with Debug>Advanced Mode):
S01E01.wav - Duration: 1h 26mn 25s 664ms
S01E01.aac - Duration: 1h 26mn 25s 728ms

The audio file duration grew by 64 milliseconds - now I understand that this isn't very much --- but it is very slightly noticable out-of-sync when people are talking in my remuxed video file. Why should qaac be changing the duration of a source wav file? How can I get qaac to give me an AAC file with the exact same number of milliseconds as my source WAV file?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 January, 2013, 08:12:33 AM
Read this:
http://lame.sourceforge.net/tech-FAQ.txt (http://lame.sourceforge.net/tech-FAQ.txt)
This is the FAQ of LAME, but mostly the same for ALL MDCT based lossy codec.
For allowing gapless playback, iTunes introduced a special tag (metadata) named "iTunSMPB" to declare amount of encoder delay, valid number of samples, and padding.
Some players supporting it (such as fb2k or Rockbox) can playback resulting m4a files gaplessly (without any amount of delay or padding).

In short, that is a not problem of qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 15 January, 2013, 09:11:55 AM
Read this:
http://lame.sourceforge.net/tech-FAQ.txt (http://lame.sourceforge.net/tech-FAQ.txt)

Okay, thank you for the info and the great app. Since the documentation indicated that these encoders usually add the delay at the beginning of the file, I added delay of "-64" to mkvmerge to compensate and the resultant video seems to be in perfect sync again.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 January, 2013, 09:18:28 AM
FYI, the amount of delay of Apple LC-AAC encoder is 2112 samples (= 44ms for 48000Hz).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 15 January, 2013, 12:02:30 PM
Read this:
http://lame.sourceforge.net/tech-FAQ.txt (http://lame.sourceforge.net/tech-FAQ.txt)

Okay, thank you for the info and the great app. Since the documentation indicated that these encoders usually add the delay at the beginning of the file, I added delay of "-64" to mkvmerge to compensate and the resultant video seems to be in perfect sync again.


Just as a note: mkvmerge should be able to automatically read and apply the delay from aforementioned iTunSMPB tag. You have output to m4a insteads of adts aac, though. (There have been some changes to mkvmerge's mp4 handling recently, so I suggest you test the result once to see if it still works reliably. Get the newest pre from here (http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/).)

@nu774

Maybe you could add a "--nodelay" parameter to qaac. Since you already have implemented a delay switch, I guess it's trivial for you to implement and it could be useful for video encoding where gap-less playback does not matter.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 15 January, 2013, 02:18:03 PM
Just as a note: mkvmerge should be able to automatically read and apply the delay from aforementioned iTunSMPB tag. You have output to m4a insteads of adts aac, though. (There have been some changes to mkvmerge's mp4 handling recently, so I suggest you test the result once to see if it still works reliably. Get the newest pre from here (http://www.bunkus.org/videotools/mkvtoolnix/win32/pre/).)


Okay, great. I found the file created by qaac did have a iTunSMPB tag which is explained how to decipher here (http://yabb.jriver.com/interact/index.php?topic=63215).
tool   qaac 2.11, CoreAudioToolbox 7.9.7.9, AAC-LC Encoder, TVBR q91, Quality 96
iTunSMPB    00000000 00000840 000003C0 000000000ED61800 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Encoder Delay = 0x00000840 = 2112 samples = 44ms
Padding = 0x000003C0 = 960 samples = 20 ms
Original Sample Count = 0x000000000ED61800 = 248911872 samples = 5185664 ms

So the m4a file produced by qaac does contain all the perfectly encoded information. And the original sample count matches the original wav file. The 64 ms extra is accounted for by the "Encoder Delay" and "Padding".

I tried latest mkvtoolnix-unicode-5.9.0-build20130108-490. When adding the m4a file with this iTunSMPB tag into mmg.exe (mkvmerge GUI) - it does not auto populate the "Delay (in ms)" field in the "Format specific options" tab. The "Delay (in ms)" field remains blank even when loading a m4a file with the above iTunSMPB tag. I have to manually type in "-64" to have it compensate for the 44ms+20ms delays introduced.

It would be nice if mkvmerge would automatically add a negative delay corresponding to "Encoder Delay" + "Padding".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 15 January, 2013, 02:31:15 PM
1. Neither mkvmerge nor mkvmerge GUI display any information about applying the delay, but they still do it in the background. Also note that mkvmerge applies negative delays by dropping all packets that would start before 0 and delays the first packet that does not get dropped if necessary, so tools like MediaInfo might show a small ( smaller than the length of a packet) positive delay.
2. You must not add the padding to the delay value. Padding is at the end of the file.
3. the iTunSMPB tag info is only correct for LC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 15 January, 2013, 03:20:02 PM
Thank you sneaker, very helpful.

I just found that qaac was always outputting to m4a container but that I can force it to output ADTS AAC with "--adts" option.
If I output to ADTS AAC with qaac "--adts" option - then does the encoder delay also get added in that scenario?. I cant find a tool that can give me millisecond precise length information about an ADTS AAC file to see if my ADTS AAC created file is longer than my WAV or not.
I would prefer to create ADTS AAC and just use that directly inside of mkvmerge if it means that I do not have to muck around with any delays or paddings and am assured I am retaining perfect millisecond alignment in my resulting video file. For some reason i feel that mkvmerge was not auto-applying the 44ms delay (negatively) from the iTunSMPB m4a file field. Also when I didn't manually specify a negative delay for it - mkvmerge created a mkv file for me that had a slightly different video and audio duration as shown in MediaInfo and the audio seemed a tiny bit off. Best scenario would be if I could give mkvmerge an audio and video file with the exact same millisecond duration.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 15 January, 2013, 04:03:47 PM
ADTS files also suffer from delay and padding, but since there is no container to write the delay and padding information into, you have to take care of it yourself, by doing one of the following things:
1.) enter the delay manually into mkvmerge
2.) already cut a bit from the input file, e.g. cut the first 44 ms (*) with a wave editor or use the new --delay function of qaac.
(Don't do either of these with m4a output, though!)

(*) it is 2112 samples for LC, so you have to calculate the delay for different sample rates:
2112 / 48 (kHz) = 44 (ms)
2112 / 44,1 (kHz) = 48 (ms)
etc.

I would ignore the information about the mkv durations for now, as they are more irritating than helping.

Quote
For some reason i feel that mkvmerge was not auto-applying the 44ms delay (negatively) from the iTunSMPB m4a file field.


Feeling does not help, you have to make proper tests.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 January, 2013, 08:14:01 PM
Maybe you could add a "--nodelay" parameter to qaac. Since you already have implemented a delay switch, I guess it's trivial for you to implement and it could be useful for video encoding where gap-less playback does not matter.

Well, by --nodelay what kind of implementation do you have in mind? Is that same as "--delay=-2112" ?
(--delay just chops the beginning / prepend silence before feeding input to encoder).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 15 January, 2013, 08:22:25 PM
Yes, basically. Of course also use the correct value for non-LC and write 0 ms delay into the iTunSMPB tag (or none at all).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 January, 2013, 08:26:31 PM
Yes, basically. Of course also use the correct value for non-LC and write 0 ms delay into the iTunSMPB tag (or none at all).

OK. However, "correct value for non-LC" is not that simple.
Please read: http://www.hydrogenaudio.org/forums/index....showtopic=98450 (http://www.hydrogenaudio.org/forums/index.php?showtopic=98450)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 15 January, 2013, 08:30:26 PM
Thanks for the link. I remember bringing up the issue some time ago when we still regarded this as a simple error on Apple's and Fraunhofer's part and only Nero seemed to make any sense.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 January, 2013, 10:18:06 PM
For --no-delay, I'm thinking of implementing as follows:
1. Prepend 960 samples of silence to the beginning (before sending to encoder). Then total amount of delay becomes 960 + 2112 = 3072 = 3 * 1024. For SBR, these numbers are doubled.
2. Drop first 3 AAC frames after encoding.

This method has a danger of introducing some pops/clicks, but can reduce zeroes at beginning when decoded, and also beginning of the input can be (hopefully) more or less restored (instead of just discarding them).
Any comments?

You can try this by the attached experimental implementation:
[attachment=7286:qaac.zip]
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 16 January, 2013, 01:54:53 AM
For --no-delay, I'm thinking of implementing as follows:
1. Prepend 960 samples of silence to the beginning (before sending to encoder). Then total amount of delay becomes 960 + 2112 = 3072 = 3 * 1024. For SBR, these numbers are doubled.
2. Drop first 3 AAC frames after encoding.

This method has a danger of introducing some pops/clicks, but can reduce zeroes at beginning when decoded, and also beginning of the input can be (hopefully) more or less restored (instead of just discarding them).
Any comments?

You can try this by the attached experimental implementation:
(Attachment)

@nu774 - Just tested qaac 2.11_NO_DELAY_TESTING - and it is working great. The m4a file produced with "--no-delay" flag is the exact same number of milliseconds as the source WAV.  Remuxing then gives me a perfectly synced and working video.

Also seems that the resultant file is not having end padding anymore since the beginning silence you are introducing + encoder delay results in a size aligned to a byte(?) boundary thus quicktime not adding end padding anymore correct?

Perhaps a bit more detail in the flag description would help referencing that this about the delay that iTunSMPB talks about. Such as follows:
Quote
--no-delay        Quicktime normally adds an encoder delay that is recorded
         in iTunSMPB tag. This flag compensates encoder delay by
         trimming a few frames from the beginning and then does
         not write iTunSMPB. This option is mainly intended for
         video, and don't use this if you don't understand what you
         are doing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2013, 03:18:29 AM
Well, you might be misunderstanding.
There's no way to remove trailing padding from AAC bitstream itself. Resultant length will be  always multiple of 1024 (1024 = frame length of AAC).
If you get exact length, it is because the decoder/demultiplexer you use takes care of iTunSMPB and removes trailing padding.

Having said that, --no-delay surely produces zero delay AAC bitstream, and would be enough for video even with trailing padding.
To be on the safer side, use LC-AAC only.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2013, 03:27:58 AM
If you get exact length, it is because the decoder/demultiplexer you use takes care of iTunSMPB and removes trailing padding.

Well, or it might be because of edts...
qaac doesn't put enough information into edts to achieve gapless playback, but valid length (in samples) is written there.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 16 January, 2013, 04:37:30 AM
My source comes from ac3 5.1 files which are downmixed to 2.0 through eac3to. In the case of source ac3 files - it seems that the sample counts are already divisible by 1024 probably because ac3 has a similar frame size requirement. So now I can input.ac3 > eac3to -downDpl > qaac --no-delay > output.m4a with exact same length as original ac3.

Before, if input sample count was already divisible by 1024 (as it already is for many files which may be used as input) - it was adding 2112 samples to beginning and 960 samples to end.

Now, with --no-delay if the input sample count is already divisible by 1024 - then the output file is exact same length as input. Otherwise if input file sample count is not divisible by 1024, the output file will have a few extra samples of silence padded onto the end until sample count is divisible by 1024. Either way - the beginning sync with the video stays intact.

If a person wants to produce an output file with exact same length as input file - they know that now it is possible by making the source have a sample count divisible by 1024 and running qaac with "-no-delay".

Thanks for helping me get perfectly aligned audio! Cheers.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 16 January, 2013, 05:30:35 AM
Just a suggestion, it would be helpful to add the following text to this page (https://github.com/nu774/qaac/wiki/Installation). For a long time I was having to run QuickTimeInstaller.exe or AppleApplicationSupport.msi on my computers to use qaac - only recently I found the fully portable solution via this forum. It would be helpful if text such as follows would be included in the documentation Installation page.

Quote
In lieu of installing Application Application Support, you may use qaac in a completely portable manner by including the following required files in a directory named "QTfiles" in the same location as qaac.exe:
QTfiles\ASL.dll
QTfiles\CoreAudioToolbox.dll
QTfiles\CoreFoundation.dll
QTfiles\icudt46.dll
QTfiles\icuin40.dll
QTfiles\icuuc40.dll
QTfiles\libdispatch.dll
QTfiles\libicuin.dll
QTfiles\libicuuc.dll
QTfiles\objc.dll
QTfiles\pthreadVC2.dll
QTfiles\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest
QTfiles\Microsoft.VC80.CRT\msvcp80.dll
QTfiles\Microsoft.VC80.CRT\msvcr80.dll

There is a script available on the download page named makeportable.cmd that will extract these necessary files for you from installer package QuickTimeInstaller.exe available from Apple. To use - place both makeportable.cmd and QuickTimeInstaller.exe in a common directory - run makeportable.cmd - and it will extract the required files into a QTfiles subdirectory.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2013, 06:38:56 AM
Please read from #280 in this thread.
I know many feel comfortable with portable version, and you are feel free to use it... but I'm hesitating to recommend using it officially.
It's Apple's encoder, they created it, and qaac is merely utilizing it (although I'm not an Apple fan-boy or something).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 16 January, 2013, 08:24:47 AM
[qaac] release 2.12 (refalac 1.12)
posted 16 minutes ago by nu 774
Add --no-delay option. (Read the discussion at HA thread from here).

--no-delay will compensate encoder delay (2112 samples) by prepending silence of 960 samples before sending input to encoder, then trimming 3 AAC frames at beginning (2112 + 960 = 3072 = 1024 * 3, where 1024 is the frame length of AAC. So total amount of delay will be exactly equals to length of 3 AAC frames). Note that these numbers are doubled in case of SBR.

This option is meant for video as a mean to resolve A/V sync issue. The resultant AAC will have exactly zero-delay, but might have pops/clicks at the beginning. Use with care.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 16 January, 2013, 05:47:50 PM
Actually I'd rather have it implemented as cutting off the delay from the input as to not have any clicks/pops since we can't have a gap-less playback with this anyways. But this is also ok - I guess I just didn't answer fast enough.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: gottogo99 on 16 January, 2013, 10:00:28 PM
I tried the --no-delay option on a video encode using Virtualdub 1.10.3 with x264 and qaac as external encoders and MP4Box as the muxer, all 32 bit, on a Windows 7 64 bit system.

Per MediaInfo 0.7.61, the original video length was 23.790 secs.  Without the --no-delay option, the encoded video is 23.872 sec.  With the --no-delay option it is 23.807 sec.  I was expecting it to exactly match the original.  Thoughts?

(Great tool, btw.)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2013, 11:29:03 PM
Per MediaInfo 0.7.61, the original video length was 23.790 secs.  Without the --no-delay option, the encoded video is 23.872 sec.  With the --no-delay option it is 23.807 sec.  I was expecting it to exactly match the original.  Thoughts?

Your expectation is simply wrong.
Read post #335.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 17 January, 2013, 03:32:06 AM
I tried the --no-delay option on a video encode using Virtualdub 1.10.3 with x264 and qaac as external encoders and MP4Box as the muxer, all 32 bit, on a Windows 7 64 bit system.
Per MediaInfo 0.7.61, the original video length was 23.790 secs.  Without the --no-delay option, the encoded video is 23.872 sec.  With the --no-delay option it is 23.807 sec.  I was expecting it to exactly match the original.  Thoughts?

Since AAC LC frame size is 1024 samples - the "qaac --no-delay" encoded audio file will have silence padding added onto the end of it until the last AAC frame is full (so that sample count becomes divisable by 1024).
If you give "qaac --no-delay" an input file with sample count already divisable by 1024 - then the duration exactly matches the original.

You can get "Samples count" in MediaInfo in "Debug > Advanced Mode".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 17 January, 2013, 04:19:48 AM
@nu774 - I am getting a discrepancy which I think may be a bug in qaac 2.12 when you use "--no-delay" with an input that doesn't have sample count already divisable by 1024. The numbers are correct if my input file has sample count divisable by 1024 - but the numbers don't add up when "qaac --no-delay" is given a file with sample count not divisable by 1024. See below the test case:

Input: S01E12.wav
Samples count                        : 127772160
Duration(ms)                          : 2661920

Console Command
>qaac.exe --tvbr 127 --quality 2 --rate keep --no-delay "S01E12.wav" -o "S01E12.m4a"
qaac 2.12, CoreAudioToolbox 7.9.8.2
S01E12.m4a
AAC-LC Encoder, TVBR q127, Quality 96
[100.0%] 44:21.940/44:21.940 (28.8x), ETA 0:00.000
127773120/127773120 samples processed in 1:32.468
Overall bitrate: 250.912kbps

Outut: S01E12.m4a
Samples count                            : 127772688
Duration(ms)                              : 2661931
iTunSMPB(hex)    00000000 00000000 00000200 00000000079DA600
iTunSMPB(dec)    00000000 00000000 512          127772160

PROBLEM: Number of samples in S01E12.m4a should be 127772160 + 512 = 127772672 which is divisable by 1024.
Instead S01E12.m4a has sample count which is 127772688 which is wrong and also not divisable by 1024.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 January, 2013, 04:54:44 AM
Thanks for reporting, I will look into it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 January, 2013, 05:40:13 AM
Ah, it seems that I missed your point.
I don't know why MediaInfo shows something like that as "Sample Count", but I think it's not problem of qaac.

You can dump mp4 file structure by tools like mp4box or boxdumper (of L-SMASH), which is FAR more reliable than MediaInfo when you want to inspect MP4.
You can see AAC frame count by the following command in case of mp4box:
Code: [Select]
mp4box -std -diso foo.m4a | grep SampleCount

(In case of Windows use "findstr" instead of grep. "Sample" is a bit confusing, but this "Sample" means AAC frame).

For duration, you can do similarly the following:
Code: [Select]
mp4box -std -diso foo.m4a | grep Duration

This will give you several lines.
Duration of MovieHeaderBox(mvhd), MediaHeaderBox(mdhd), TrackHeaderBox(tkhd) will be all same, and will be equal to 1024 * SampleCount.
You will also get EditListEntry, duration in which give you the actual valid length, and which is equal to the value inside of iTunSMPB.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 17 January, 2013, 05:45:11 AM
Should I understand this like qaac is breaking gapless playback?
I didnot encounter any length mismatches so far (using qaac via pipe from foobar)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 January, 2013, 05:54:50 AM
Should I understand this like qaac is breaking gapless playback?
I didnot encounter any length mismatches so far (using qaac via pipe from foobar)


Don't use --no-delay;
Without --no-delay everything is same as before.
--no-delay is just a HACK, which tries to resolve A/V sync issue of video, which should properly be solved by container/demultiplxer of video in the first place, and has nothing to do with AAC encoder like qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 17 January, 2013, 06:02:12 AM
Should I understand this like qaac is breaking gapless playback?
I didnot encounter any length mismatches so far (using qaac via pipe from foobar)


Don't use --no-delay;
Without --no-delay everything is same as before.
--no-delay is just a HACK, which tries to resolve A/V sync issue of video, which should properly be solved by container/demultiplxer of video in the first place, and has nothing to do with AAC encoder like qaac.


I have always used a custom positive or negative delay for AAC conversions from AC3 or DTS as the audio was always badly out of sync with default delay (50-200ms in most cases)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 January, 2013, 06:29:08 AM
I have always used a custom positive or negative delay for AAC conversions from AC3 or DTS as the audio was always badly out of sync with default delay (50-200ms in most cases)

If your input has some amount of DTS/PTS offset, of course you have to take it into account.
However, what --no-delay does has nothing to do with the offset already in the source. --no-delay kills additional (fixed amount of) delay introduced by AAC encoder, and that's all.
You shouldn't use this for ordinary music encoding, or when you can solve A/V sync issue at video container level (by specifying amount of audio delay or something), and your player(demultiplexer) properly supports it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 17 January, 2013, 06:46:54 AM
I don't know why MediaInfo shows something like that as "Sample Count", but I think it's not problem of qaac.
You can dump mp4 file structure by tools like mp4box or boxdumper (of L-SMASH), which is FAR more reliable than MediaInfo when you want to inspect MP4.

Thanks so much for the explanation. "mp4box -diso" does shows the correct value of 127772672 whereas MediaInfo shows 127772688 for the same file.
Seems that MediaInfo is reporting the wrong values and I have reported this bug on the MediaInfo forum (https://sourceforge.net/p/mediainfo/discussion/297609/thread/8bbad9a2/).

"mp4box.exe -diso" shows millisecond duration under "SampleCount" and Sample Count under "Duration" in its XML output. The XML tag names are switched in mp4box but the values are right.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 25 January, 2013, 07:09:45 AM
[qaac] release 2.13 (refalac 2.13)
posted 4 hours ago by nu 774
Gracefully shutdown on console interrupt event (such as Ctrl+C, Ctrl+Break or closing console window).

Gracefully means that it stops encoding immediately as if it were the end of input, and properly finalize the container, therefore resulting file will be playable (until that point).

Of course, it is not that qaac can terminate gracefully in every possible situations. You can always forcefully kill qaac using task manager or something.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: qupfer on 28 January, 2013, 10:24:23 AM
Can somebody give me a quick help?

I want to convert 5.1 AC3 to 5.1 AAC. But i don't know how to "convert" the ac3-file to a supportet inputfile for qaac.
Can somebody tell me a working commandline? (like ffmpeg ----many options---- | qaac ---some more options---)?

thanks
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 28 January, 2013, 10:40:20 AM
More graphical with MeGUI:
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 28 January, 2013, 10:44:36 AM
Either that or:

ffmpeg -i input.ac3 -f wav - | qaac -i --adts --no-delay - -o output.aac

The "--adts --no-delay" part is kinda optional, but works good for movies.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 28 January, 2013, 10:49:48 AM
You can also have QAAC output *.m4a by omitting "--adts"; I would prefer it in an MP4 container if it will be multiplexed later.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 January, 2013, 11:30:31 AM
@sneaker
You might want to specify -acodec pcm_f32le to avoid unnecessary quantization to pcm_s16le by ffmpeg. qaac can read float WAV just fine.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: qupfer on 28 January, 2013, 11:32:51 AM
More graphical with MeGUI:
[...]


Thanks, but this create a corrupt audio file (MediaInfo Bitrate 2kbit/s) and i think the reason could be, that I have some 2.0 parts in the 5.1 audio source.

Can I "force" 5.1 in megui like  -ac 6 in ffmpeg? Or can I convert the ac3-source lossles to a compleate 5.1 ac3-file?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LastSilmaril on 28 January, 2013, 12:17:22 PM
More graphical with MeGUI:
[...]


Thanks, but this create a corrupt audio file (MediaInfo Bitrate 2kbit/s) and i think the reason could be, that I have some 2.0 parts in the 5.1 audio source.

Can I "force" 5.1 in megui like  -ac 6 in ffmpeg? Or can I convert the ac3-source lossles to a compleate 5.1 ac3-file?


You could also get eac3to (recently updated) (http://forum.doom9.org/showthread.php?t=125966) and do this:

Code: [Select]
eac3to input.ac3 stdout.wav | qaac - -o "output.mp4" -i --verbose --threading


The last two options on the qaac side are of course optional.  I would recommend --verbose at least as qaac then displays the amt of channels you're dealing with. "-i" tells it to ignore wav headers (which will give you the wrong length and muck things up).

On the eac3to side I didn't specify any flags, but you might want to use -down16 when using TrueHD input (let eac3to handle the dithering). If you're converting from 6.1 or 7.1 and want 5.1 output, you should also use -down6.

Quote
and i think the reason could be, that I have some 2.0 parts in the 5.1 audio source.


I'm not sure if that's technically possible or makes any sense? Having silence in every channel except for front L/R does not a 2.0 source make.

Note that eac3to uses ffmpeg to decode ac3 by default. I'm not sure if using it will help you at all.

Alternatively, I have also had success with this tool: http://forum.doom9.org/showthread.php?t=165577 (http://forum.doom9.org/showthread.php?t=165577)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 28 January, 2013, 11:52:56 PM
You can also have QAAC output *.m4a by omitting "--adts"; I would prefer it in an MP4 container if it will be multiplexed later.


Yeah, it really depends on the muxer. I sometimes use l-smash and it only supports adts, while mkvmerge supports both. And because of the "--no-delay" switch no gapless info is needed. I prefer that as it does not rely on the player using the proper delay, because some players just don't.

@sneaker
You might want to specify -acodec pcm_f32le to avoid unnecessary quantization to pcm_s16le by ffmpeg. qaac can read float WAV just fine.


Thanks for the tip, though it does not seem to make a difference for ffmpeg's ac3 decoder. Usually I use eac3to as suggested by LastSilmaril because the author does keep proper bit depth conversions in mind, though it "only" uses 24 bit by default for the output.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 29 January, 2013, 12:40:54 AM
Thanks for the tip, though it does not seem to make a difference for ffmpeg's ac3 decoder. Usually I use eac3to as suggested by LastSilmaril because the author does keep proper bit depth conversions in mind, though it "only" uses 24 bit by default for the output.

Hmm, I tried with ffmpeg just now, and seems you are correct.
Actually I was using avconv instead of ffmpeg, and it gives you different result.

Tested with the attached AC3 (encoded with intentionally high gain, and it clips when quantized to int, giving you audibly different result)
[attachment=7297:sin.zip]
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 02 February, 2013, 12:04:35 PM
[qaac] release 2.14 (refalac 1.14)
posted an hour ago by nu 774
Add --cue-track option to limit tracks to extract from cuesheet, and fixed several minor bugs.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 05 February, 2013, 05:30:02 AM
[qaac] release 2.15 (refalac 2.15)
posted 23 minutes ago by nu 774  [ updated a minute ago ]
Fixed an awful bug of refalac of 2.xx branch. It wasn't encoding in correct frame length (4096 samples) on some cases.
I noticed it when I encoded directly from lossyFLAC (not piped input), which resulted 512 samples-per-frame ALAC file. It seemed playable, but apparently is not a normal/sane ALAC file;
WAV input will be fine (including piped input). Direct input from FLAC or other formats might be affected, and Re-encoding is recommended. Only refalac of 2.xx branch is affected. qaac is fine.
Use more strict sharing mode when opening files. Now qaac/refalac doesn't allow other processes to open the output file when qaac/refalac is writing to it. Reading can be shared, but now qaac/refalac cannot open a file for reading when another process is writing to it.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 February, 2013, 06:12:24 AM
Thanks for the tip, though it does not seem to make a difference for ffmpeg's ac3 decoder. Usually I use eac3to as suggested by LastSilmaril because the author does keep proper bit depth conversions in mind, though it "only" uses 24 bit by default for the output.

Hmm, I tried with ffmpeg just now, and seems you are correct.
Actually I was using avconv instead of ffmpeg, and it gives you different result.

Tried this with latest ffmpeg binary from http://ffmpeg.zeranoe.com/builds/ (http://ffmpeg.zeranoe.com/builds/), and now ffmpeg can correctly output without integer clipping with -acodec pcm_f32le. The version I tried seems just too old (it was built on Nov 2012 or so, therefore it was not VERY old, but ffmpeg is really a moving target).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 February, 2013, 06:22:33 AM
The refalac bug I fixed on 2.15 was because I changed source or filter layer not to repeatedly pull or generate samples until it reaches requested amount, but at the same time I didn't modified ALAC encoder to compensate the source/filter layer modification.

As a result, nobody assured ALAC encoder to process each frame per 4096 samples. Silly me!
For usual cases (WAV input, with or without pipe, without DSP), source filter would read up until  requested samples (=4096) anyway, so did no harm.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 08 February, 2013, 08:14:24 AM
Tried this with latest ffmpeg binary from http://ffmpeg.zeranoe.com/builds/ (http://ffmpeg.zeranoe.com/builds/), and now ffmpeg can correctly output without integer clipping with -acodec pcm_f32le. The version I tried seems just too old (it was built on Nov 2012 or so, therefore it was not VERY old, but ffmpeg is really a moving target).


ffmpeg also supports pcm_f64le. Would it make any sense to use it with qaac?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 February, 2013, 08:55:57 AM
ffmpeg also supports pcm_f64le. Would it make any sense to use it with qaac?

qaac can read f64, but I don't think it will make any sense.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 08 February, 2013, 09:00:31 AM
ffmpeg also supports pcm_f64le. Would it make any sense to use it with qaac?

qaac can read f64, but I don't think it will make any sense.


But it won't break anything even if there's zero practical advantage?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 08 February, 2013, 09:06:23 AM
If the pipe output is stored as temporary file somewhere with low diskspace, it may break... Somehow I remember that pipes under Windows can be inefficient. But I won't swear it. It may have been in times of Windows 9x.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 08 February, 2013, 09:18:56 AM
But it won't break anything even if there's zero practical advantage?

It won't break anything or lose quality. However, native decoding format of ffmpeg (for MDCT codec) will be f32, and same for CoreAudio AAC codec. Therefore, it will simply waste time for unnecessary float<->double conversion + increased I/O size.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sneaker on 08 February, 2013, 09:19:55 AM
I see.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 11 February, 2013, 09:40:19 AM
Will I get proper channel order for my 5.1-channel AAC file if I first decode the DTS-HD MA track to a multichannel wav file with eac3to and then encode that one with qaac? I need to decode to wav as there's sometimes clipping in the decoded output and eac3to needs a second pass to handle it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 February, 2013, 07:50:38 PM
Will I get proper channel order for my 5.1-channel AAC file if I first decode the DTS-HD MA track to a multichannel wav file with eac3to and then encode that one with qaac? I need to decode to wav as there's sometimes clipping in the decoded output and eac3to needs a second pass to handle it.

Read https://github.com/nu774/qaac/wiki/Multichannel--handling (https://github.com/nu774/qaac/wiki/Multichannel--handling).
IIRC DTS-HD MA is a 24bit lossless format, and I don't understand why you worry about clipping. If , for some reason, eac3to detects DTS-HD MA input as clipped and lower the gain, the process is not lossless, by definition.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 11 February, 2013, 10:36:31 PM
Sorry, should have been a bit more clear. Clipping is sometimes detected when downmixing 7.1ch or 6.1ch to 5.1ch. I do that for movies that I put on my media player and put the movie with the original audio track in my archive.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 February, 2013, 11:23:01 PM
Sorry, should have been a bit more clear. Clipping is sometimes detected when downmixing 7.1ch or 6.1ch to 5.1ch.

Oh, I see. Makes sense.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lunkhead on 19 February, 2013, 12:00:34 AM
Duration:
qaac 1.47 q73: 3wk 0d 8:34:06.898 (81 375 388 218 samples)
FLAC and LAME: 3wk 0d 8:34:06.899 (81 375 388 229 samples)

I noticed foobar2000 incorrectly adds the total sample size of large number of items. It's always very slightly less. It's not noticeable when the list is small. Just an observation.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 19 February, 2013, 09:45:52 AM
Do you have HE-AAC files ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 28 February, 2013, 07:44:22 PM
[qaac] release 2.16 (refalac 1.16)
posted 14 hours ago by nu 774
Read and handle multichannel layout of TAK files.
Write fact chunk when decoding into WAVEFORMATEXTENSIBLE format. As far as I can see, even WMP is not in honor of the fact chunk, so this would be pretty much useless. However, since it looks like RIFF/WAV spec require it in WAVEFORMATEXTENSIBLE, this was implemented to be more spec compliant. fact chunk is not written on piped output or WAVEFORMATEX format.
Automatically kill progress message when stderr is connected to nothing.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: hellside on 03 March, 2013, 09:46:56 PM
I just run into QACC, and I am wondering which is better, TVBR127 or cvbr256?
some say that cvbr sometimes reach 400 br

just need a quick word, thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 March, 2013, 10:02:39 PM
TVBR 127 = ~320kbps

You should ABX, you'll be surprise how low you can go with AAC.

I use -V73 (~150kbps) just because I want to use "transparent for me" +1. I like AAC @~128kbps and since -V63 gives ~135kbps (almost all the time around ~100kbps with my music) I use -V63 + 1 (just in case) = -V73.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 04 March, 2013, 03:07:22 AM
I know what you mean ... everything was fine with "oggenc2 -q 4" until I heard echoes in the break beats of "Prodigy: Your Love (Remix) — Experience". There are always extraordinary exceptions.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 19 March, 2013, 09:02:05 AM
[qaac] release 2.17 (refalac 1.17)
posted 13 minutes ago by nu 774

Can't find the changelog yet

"
Fixed github issue 27 (regression on 1.26). --decode was writing invalid wav file.
Added --gapless-mode option (same as fdkaac).
Interestingly, iTunes seems to support both of iTunSMPB and ISO standard gapless mode. QuickTime supports only the latter. In the past, I thought QT silently assumes 2112 samples of delay. However, it turned out that QT actually looks elst media_time when sbgp and sgpd are present, so it can be used generally (as described in QTFF spec).

As far as I know, iTunes is the only music player that supports gapless playback in both way.
"

Download: https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.17.zip?attredirects=0&d=1)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ktf on 19 March, 2013, 10:02:35 AM
Fixed github issue 27 (regression on 1.26). --decode was writing invalid wav file.

I reported that issue a few hours ago and apparently it's already fixed? That's really, really fast!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 March, 2013, 10:19:43 AM
Fixed github issue 27 (regression on 1.26). --decode was writing invalid wav file.

I reported that issue a few hours ago and apparently it's already fixed? That's really, really fast!

Thanks for reporting. It was simply due to missing initialization of one new boolean flag variable introduced on 1.26, and was quite easy to fix.
Maybe it could have been caught earlier by the compiler warning if I had killed tons of stupid C4244 or something (casting to smaller type).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 19 March, 2013, 11:26:20 AM
1.26 or 2.16 ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 March, 2013, 12:22:42 PM
1.26 or 2.16 ?

Oh, sorry. I meant 2.16.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: me7 on 19 March, 2013, 02:42:03 PM
...so, if I want gapless playback to work across most players/devices, what --gapless-mode should I choose? The default is "iTunSMPB only".

EDIT: To be clearer: Why is "iTunSMPB only" preferred over "both"?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 March, 2013, 09:10:32 PM
...so, if I want gapless playback to work across most players/devices, what --gapless-mode should I choose? The default is "iTunSMPB only".

EDIT: To be clearer: Why is "iTunSMPB only" preferred over "both"?

It's default not because it's considered superior, but it's backward compatible and conservative.
Probably "both" will do no harm, but I cannot assure that. Other encoders (including iTunes) only write iTunSMPB.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: me7 on 20 March, 2013, 07:32:47 AM
You've got a point. Even if the ISO specification says something else, it might be better to do "what all other encoders do"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: db1989 on 21 March, 2013, 10:00:47 AM
I just removed blatant spam, and a full quote thereof by a regular member, from a user whose name began with “laptop” and whose post consisted of an 1.5 year–old paragraph by nu774 copied and pasted and with a link to an external website added. Please think about things such as usernames and links before replying!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 21 March, 2013, 10:19:39 AM
Some ad bots use this behaviour (quoting a previous posting) to cover their activity by pretending to refer to it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: robertcollier4 on 31 March, 2013, 04:59:45 PM
Is it possible to use qaac as an audio encoder in GraphEdit? I would like to connect the ffdshow audio decoder output to qaac encoder. I am currently having to do ffdshow audio decoder -->WAV Dest --> File writer. Then convert the WAV file on hard dive with qaac.

Given that qaac can already accept piped input - is there any way to set this up in graphedit to pass its output to a command-line program? If not, then please add it as a feature request to have a qaac output filter for GraphEdit. Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 March, 2013, 10:19:15 PM
Given that qaac can already accept piped input - is there any way to set this up in graphedit to pass its output to a command-line program?
It might be possible by creating special audio writer/renderer filter or something to stream audio to a pipe, but I've never heard of such things.

If not, then please add it as a feature request to have a qaac output filter for GraphEdit. Thanks.
Why don't you just pipe from ffmpeg instead of graphedit+ffdshow ?
I don't feel like writing dshow encoder filters.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 01 April, 2013, 10:21:09 PM
Code: [Select]
-V63 --adts --no-delay -o %d -
gives me "Conversion failed: Unsupported format or corrupted file".

What am I missing?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 April, 2013, 12:22:24 AM
Code: [Select]
-V63 --adts --no-delay -o %d -
gives me "Conversion failed: Unsupported format or corrupted file".

What am I missing?

Try with older version of fb2k.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 02 April, 2013, 01:32:53 AM
I went all back to 1.1.18 but nothing, same error.

(https://hydrogenaud.io/imgcache.php?id=e214b267b6a8deeaf06764e9faa495c4" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/oSiSUoW.png)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 April, 2013, 02:28:28 AM
I went all back to 1.1.18 but nothing, same error.

It seems fb2k tries to copy tags on the resulting ADTS file after encoding, and fails.
You can try converting first to an intermediate file, then convert it to ADTS.
Use AIFF (for example) as the intermediate file format, since fb2k doesn't support tags on AIFF.

Otherwise, you can cheat fb2k by passing qaac "-o %d.aac" or something as output filename (an extra ".aac" extension is appended to the output filename).
fb2k will show error, but resulting file will not be removed by fb2k, since it's named different from what fb2k thinks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sohm on 09 April, 2013, 11:13:55 AM
nu774, firstly many thanks for qaac!

i've encountered a rather strange glitch trying to encode in HE-AAC:
output file's length(in seconds) is exactly 50% of the input.
meanwhile, qaac.exe command line output displays correct processed length in seconds, also no complaints in --verbose mode except that it runs suspiciously fast.

Code: [Select]
..\qaac_2.17\qaac>qaac --verbose --he test1.wav
qaac 2.17, CoreAudioToolbox 7.9.8.2

test2.m4a
Using default channel layout.
Output layout: Stereo
AAC-HE Encoder, CVBR 80kbps, Quality 96
[100.0%] 7:11.506/7:11.506 (28.8x), ETA 0:00.000
19029444/19029444 samples processed in 0:15.000
Overall bitrate: 88.272kbps
423/423 chunks written (optimizing)

..\qaac_2.17\qaac>qaac --verbose test2.wav
qaac 2.17, CoreAudioToolbox 7.9.8.2

test2.m4a
Using default channel layout.
Output layout: Stereo
AAC-LC Encoder, TVBR q91, Quality 96
[100.0%] 7:11.506/7:11.506 (25.1x), ETA 0:00.000
19029444/19029444 samples processed in 0:17.234
Overall bitrate: 213.081kbps
423/423 chunks written (optimizing)

test1.m4a
4.57MB (4 802 231 bytes)
3:35.753 (9514722 samples)

test2.m4a
11.0MB (11 571 769 bytes)
7:11.507 (19029444 samples)

9514722*2=19029444 )))

apart from this issue with --he, AAC-LC performs flawlessly in both --tvbr or --cvbr modes.
any suggestions much appreciated))
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Big_Berny on 09 May, 2013, 12:12:06 PM
Hi
I try to use qaac for transcoding in subsonic (http://subsonic.org). I want to transcode my 256Kbit/s AAC to like 96 KBit/s AAC. I know that's evil , but I need iot for streaming if I have a bad mobile connection.

I tried this transcoding command:
Step 1: faad -w %s
Step 2: qaac -a %bk --adts - -

It seems to work but at the end of transcoding I always get a error message "Cannot seek back the input". Does someone has an idea why this happens?

Code: [Select]
...SHORTENED...
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\faad) 99% decoding D:\Users\Admin\Music\iTunes\iTunes Media\Music\Absolute Beginner\The Early Years 1992-1994\05 Planet 2000.m4a.
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\faad) Decoding D:\Users\Admin\Music\iTunes\iTunes Media\Music\Absolute Beginner\The Early Years 1992-1994\05 Planet 2000.m4a took: 6.40 sec. 45.19x real-time.
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) 4:46.511 (45.3x)
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) 4:49.297 (45.2x)
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) 12758016/-1 samples processed in 0:06.395
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) Overall bitrate: 110.335kbps
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac)
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) stdin.aac
[5/9/13 5:57:11 PM CEST]    DEBUG    InputStreamReaderThread    (c:\subsonic\transcode\qaac) ERROR: Cannot seek back the input
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 09 May, 2013, 12:31:28 PM
Try "qaac -a %bk --adts - -o -"
(if you want qaac to output to stdout)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Big_Berny on 09 May, 2013, 07:18:49 PM
Great, thanks a lot! 
The online problem I have now is that I can't seek. The stream Ing app dsub shows the correct length but the progressbar doesn't work.

Ok, this one is fixed too. Problem is solved when song is fully loaded/cached.

Last thing: afaik replaygain is lost when decoding aac, right? Is it possible to change the volume when decoding mp3 and aac by adding replaygain correction directly to the raw stream? As I read it's possible to change volume when decoding a flac to wave with flac-codec but is this also possible with a decoder for mp3 and aac?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Big_Berny on 10 May, 2013, 05:42:56 AM
Last thing: afaik replaygain is lost when decoding aac, right? Is it possible to change the volume when decoding mp3 and aac by adding replaygain correction directly to the raw stream? As I read it's possible to change volume when decoding a flac to wave with flac-codec but is this also possible with a decoder for mp3 and aac?

Made a new topic as it has nothing to do with qaac anymore. (Unfortunately I can't edit last post anymore)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Pulstar on 23 May, 2013, 08:29:38 PM
I've noticed that with Apple Application Support v2.3.4 the encoding is slower even with multithreading enabled. Not that big of an issue considering audio takes less cycles to encode than video but I'm curious as to why. Perhaps it's just my machine?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: deej_1977 on 15 June, 2013, 04:01:07 PM
--- Problems that solve themselves are great, carry on, as you were :-) ---
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 03 July, 2013, 10:52:38 AM
I'm having problems encoding the audio track of "Edward Scissorhands" with qaac. eac3to reports it as 3/1 which I believe means FL, C and FR channels for the front and BC for the back. qaac assumes "FL FR BL BR" which causes incorrect channel mapping. I couldn't find what chanmask parameter I should use, so can you help me with this?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 July, 2013, 11:10:48 AM
I'm having problems encoding the audio track of "Edward Scissorhands" with qaac. eac3to reports it as 3/1 which I believe means FL, C and FR channels for the front and BC for the back. qaac assumes "FL FR BL BR" which causes incorrect channel mapping. I couldn't find what chanmask parameter I should use, so can you help me with this?

If it is actually "FL FR FC BC" but just channel mask is missing in the wav header, use --chanmask=0x107.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 July, 2013, 11:21:38 AM
You can calculate channel mask by summing the following values.
In this case, FL + FR + FC + BC == 1 + 2 + 4 + 256 == 263 == 0x107.
You can give both hex value (with 0x prefix) and decimal value to --chanmask option.
Code: [Select]
FL == 1<<0 == 1 == 0x1
FR == 1<<1 == 2 == 0x2
FC == 1<<2 == 4 == 0x4
LF == 1<<3 == 8 == 0x8
BL == 1<<4 == 16 == 0x10
BR == 1<<5 == 32 == 0x20
FLC == 1<<6 == 64 == 0x40
FRC == 1<<7 == 128 == 0x80
BC == 1<<8 == 256 == 0x100
SL == 1<<9 == 512 == 0x200
SR == 1<<10 == 1024 == 0x400
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 03 July, 2013, 01:51:50 PM
Thanks, that table is really useful. Got it working now
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 July, 2013, 12:32:59 AM
[qaac] release 2.19 (refalac 1.19)
posted 2 hours ago by nu 774

Fixed: attempt to set one of stik, rtng, akID, sfID tags caused qaac hang.

Well, actually not hanging but waiting for console input in vain... due to a silly bug calling scanf() instead of sscanf().

Fixed: --tag akID:fra was writing USA country code (not France).

https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 24 July, 2013, 12:55:58 PM
qaac.exe --tvbr 87 --quality 2 --ignorelength - -o f:\temp\captures\test_qaac.m4a

Is the ignorelength switch ever really needed?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 July, 2013, 08:29:11 AM
qaac.exe --tvbr 87 --quality 2 --ignorelength - -o f:\temp\captures\test_qaac.m4a

Is the ignorelength switch ever really needed?

Well, it depends.
If you are encoding from fb2k, and if blockalign (length per one sample, in bytes) of the input is even (usually it will be even), qaac will work as if --ignorelength is specified, and surely you don't need to explicitly specify that switch.

More precisely, qaac will work in ignorelength mode in the following cases:

Title: QAAC: discussion, questions, feature requests, etc.
Post by: Carsi on 05 August, 2013, 07:38:50 AM
Hi.

I wanted to ask if I can convert from FLAC/ALAC to m4a without creating temporary wav first? It really slows down the process.

My parameters:

--tvbr 53 --no-optimize -o %d %s

I tried to remove %s but then it displays en error message?

And yes I went down til tvbr 53, I think it sounds great, want to store as much as possible on my 32gb iphone 5
Title: QAAC: discussion, questions, feature requests, etc.
Post by: detmek on 05 August, 2013, 10:16:25 AM
If you are using foobar try this:
--tvbr 53 --no-optimize --ignorelength - -o %d
You need to replace %s with -.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 05 August, 2013, 12:06:42 PM
And the number is 54 anyway to be even more precise.

Code: [Select]
AAC (Apple True VBR / qaac)

Q0 - Q4 (0) = ~40 kbps
Q5 - Q13 (9) = ~45 kbps
Q14 - Q22 (18) = ~75 kbps
Q23 - Q31 (27) = ~80 kbps
Q32 - Q40 (36) = ~95 kbps
Q41 - Q49 (45) = ~105 kbps
Q50 - Q58 (54) = ~115 kbps
Q59 - Q68 (63) = ~135 kbps
Q69 - Q77 (73) = ~150 kbps
Q78 - Q86 (82) = ~165 kbps
Q87 - Q95 (91) = ~195 kbps
Q96 - Q104 (100) = ~225 kbps
Q105 - Q113 (109) = ~255 kbps
Q114 - Q122 (118) = ~285 kbps
Q123 - Q127 (127) = ~320 kbps
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 16 August, 2013, 07:23:52 AM
Has anyone tested the compression efficiency of multichannel ALAC?

I was thinking of switching from FLAC to ALAC for my movie archives (because mkvtoolnix sometimes breaks FLAC files when segmented mkv files are created), but some multichannel ALAC files are huge.

For example, the audio track of Notting Hill is ~970MB with FLAC but 2,9GB with ALAC. Some multichannel (5.1ch) tracks are very close to the FLAC file in size.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: db1989 on 16 August, 2013, 08:08:35 AM
the audio track of Notting Hill is ~970MB with FLAC but 2,9GB with ALAC.
This seems peculiar, well beyond the usual expected variance between lossless codecs. Did you encode both of these yourself, yes? Which encoder was used to create the ALAC? Have you observed this trend on other files compressed with ALAC compared to other lossless codecs? I just find it hard to believe this can be normal. And I cannot recall reading of any such large bugs in ALAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 16 August, 2013, 08:12:20 AM
Yes, they are my encodes. I used refalac, which is in the QAAC package. There's nothing wrong with the file what comes to playback, there's no static or anything else that could explain the huge size.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 August, 2013, 10:25:43 AM
Yes, they are my encodes. I used refalac, which is in the QAAC package. There's nothing wrong with the file what comes to playback, there's no static or anything else that could explain the huge size.

Wow, I have to try a multichannel track. Two days ago I converted ~31000 audio files from FLAC to ALAC. If they come up with a 128GB iPhone I am done going lossy.

edit:
Downloading the first, Mozart (FLAC 470MB) from here: http://www.2l.no/hires/ (http://www.2l.no/hires/)

edit2:
ALAC is 494MB (TAK -p1 456MB, TAK -p2 454MB, TAK -p4m 447MB, WavPack normal 469MB, TTA 509MB, WMA lsl 494MB, WAV 929MB)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 16 August, 2013, 10:36:28 AM
Maybe the file is 24 bit but the real bit depth is less?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 16 August, 2013, 11:15:13 AM
That could be the case here. This is what eac3to reports when decoding the FLAC file: Original audio track: max 24 bits, average 17 bits, most common 16 bits. Apparently ALAC is not as efficient in such cases.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: testyou on 16 August, 2013, 02:06:24 PM
But 3 times as large?  I'm guessing there's something else going on there.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 August, 2013, 09:01:51 PM
Simply put, when valid bit depth is 16/24 and compression ratio is around 25% for both codec on the effective 16bits part, ALAC file will become 3 times larger than FLAC one.
24bit ALAC file always stores LSB-side 8bits uncompressed, while FLAC won't consume bits due to it's wasted bits feature in this case.
Code: [Select]
16×0.25 : 16×0.25+8 = 1 : 3

Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 06 September, 2013, 11:26:00 AM
[qaac] release 2.20 + refalac 1.20
posted 2 hours ago by nu 774
Add optional libsoxr support. It's basically the same as libsoxrate (both derives from SoX), but is more optimized (fast), and is maintained by a developer of SoX.

When libsoxr.dll is present, now qaac/refalac will use it for sample rate conversion. libsoxr binary is on the cabinet page. Note that you still need libsoxrate when you want --lowpass or mixing option.

libsoxr binary built with GCC doesn't usually work with qaac/refalac due to a few ABI compatibility issues. The binary at cabinet page is built with GCC _with care_.

I have reported this issue to author of libsoxr, so it might be fixed in the future.

Decreased refresh rate of progress on title bar of console window.

Explicitly check presence of BOM when reading text files, since MLang often does a wrong guess even when BOM is present.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: testyou on 06 September, 2013, 01:26:41 PM
When I have libsoxr.dll in the directory and run "--check", it fails and says libgcc_s_sjlj-1.dll is missing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 September, 2013, 03:42:14 AM
When I have libsoxr.dll in the directory and run "--check", it fails and says libgcc_s_sjlj-1.dll is missing.

Oh thanks for reporting it. Updated libsoxr archive on the cabinet page.
libsoxr is a pure C DLL and I can't understand why it needs to be dependent on that DLL, but this might be the case: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57120).

Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 07 September, 2013, 03:55:55 AM
Thanks for the update nu774. Simple question, is libsoxr conversion just faster? Does it give the very same result of libsoxrate?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 September, 2013, 04:56:43 AM
Thanks for the update nu774. Simple question, is libsoxr conversion just faster? Does it give the very same result of libsoxrate?

Well, it's not "very same".
rate module of original SoX (and libsoxrate) is always using double precision float numbers for internal calculation.
On the other hand, libsoxr offers both single and double precision implementations.
single precision version can be faster by using SIMD, but is not as precise as double version. single/double mode are automatically chosen by the quality parameter for libsoxr.

As for qaac, when incoming signal is double or 32bit integer,  "very high quality" mode is selected, that leads to double precision resampling in libsoxr.
For other cases, qaac will choose "high quality", that leads to single precision resampling.
I think "high quality" mode is usually enough, and it's the default of libsoxr.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bandpass on 07 September, 2013, 10:00:27 AM
For other cases, qaac will choose "high quality", that leads to single precision resampling.
I think "high quality" mode is usually enough, and it's the default of libsoxr.

libsoxr single-precision is clean to –120dB, and IIRC, here at HA, we've yet to find a recording with noise floor below –96dB (even somewhat above that, but I can't remember the figure). So I concur.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: mrgou on 10 September, 2013, 12:40:30 PM
I'd like to confirm my understanding of the dependencies with CoreAudioToolbox.dll

If I get it right, on a system with iTunes 10 (because I don't like iTunes 11), if I extract CoreAudioToolbox.dll from the latest iTunes installer (as of now, 11.0.5) and put it in the same folder as qaac.exe, QAAC will use the DLL from the latest release, and not from the iTunes release installed on my PC.

Is this correct?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 September, 2013, 12:58:50 PM
If I get it right, on a system with iTunes 10 (because I don't like iTunes 11), if I extract CoreAudioToolbox.dll from the latest iTunes installer (as of now, 11.0.5) and put it in the same folder as qaac.exe, QAAC will use the DLL from the latest release, and not from the iTunes release installed on my PC.

Is this correct?

Yes, but you need not only CoreAudioToolbox.dll but also other dependencies.
Alternatively you can place them under "QTfiles" sub folder under where qaac is installed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: mrgou on 10 September, 2013, 03:08:52 PM
Yes, but you need not only CoreAudioToolbox.dll but also other dependencies.
Alternatively you can place them under "QTfiles" sub folder under where qaac is installed.

OK, so I've run makeportable.cmd, and it's all set up. It really great that it takes these files over the iTunes install so you can update one but not the other!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 September, 2013, 09:43:04 PM
nu774, why the Windows system folder has priority over the QTFiles folder?

I think it should be:
1) Same folder
2) QTFiles
3) Windows system (look for something installed after the portable option)

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 September, 2013, 04:52:13 AM
I think it should be:
1) Same folder
2) QTFiles
3) Windows system (look for something installed after the portable option)

As is written in http://msdn.microsoft.com/en-us/library/wi...6(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx), it is by design of Microsoft.
qaac just pushes QTfiles and standard AppleAppicationSupport directory at the top of process internal PATH environment variable so that they are searched before any other directories in the PATH.
Also as is written in that document, Windows has a known security issue that DLL in the "current directory" (not same as application directory) gets loaded, but it's prevented via a call to SetDllDirectory().

This can be changed by manually searching DLLs for candidates then call LoadLibrary() with full path name, but I don't feel it's worth doing in case of qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 11 September, 2013, 11:27:36 PM
Not worth. Thanks for the explanation.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kurosu_ on 13 September, 2013, 08:40:28 AM
Hello, even with the recent 2.21 (although I'm not using --threading option), I'm still getting random crashes when feeding multichannel (eg 5.1) audio to qaac through fb2k, depending on the coreaudio version. For the record, the command-line I'm using:
Code: [Select]
-V 80 --no-optimize  --verbose --quality 2 -n --no-delay --log "%d.txt" -o %d -


If using coreaudio 7.5.5.0 (old, from qtlite 4.1 or something), crashes are very frequent. If using 7.9.8.3 (I have extracted the dlls around 2 months ago), it seems to be fine. My problem though is that there are posts from 2011 (for instance this one (https://sites.google.com/site/qaacpage/news/qaacdontuseformultichannelaudioencoding)) stating that the channel mapping is wrong.

I don't have a multichannel AAC setup to actually verify this, but my tv set can decode those multichannel aacs to stereo (not multichannel spdif output though  ), except the sounds are muffled (in particular people speaking with various amount of audio around etc). Whether this is DRC or matrixing gone wrong, I don't know, but I'd prefer to make sure whether this is an issue of the past. qaac wiki (https://github.com/nu774/qaac/wiki/Multichannel--handling/_history#) does not list this issue.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 September, 2013, 09:46:49 AM
If using coreaudio 7.5.5.0 (old, from qtlite 4.1 or something), crashes are very frequent. If using 7.9.8.3 (I have extracted the dlls around 2 months ago), it seems to be fine. My problem though is that there are posts from 2011 (for instance this one (https://sites.google.com/site/qaacpage/news/qaacdontuseformultichannelaudioencoding)) stating that the channel mapping is wrong.

Well, please don't use THAT old CoreAudioToolbox. That channel mapping issue was already solved in the past on qaac side, and should work fine.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 September, 2013, 11:55:41 AM
kurosu_, why would you use something that old? Lossy improves every time, you should update every time.

Thanks again for your hard work nu774, let's announce it:

[qaac] release 2.21 (refalac 1.21)
posted 9 hours ago by nu 774
Fixed an issue of --threading option. There was a possibility of non sample aligned read on the pipe, similar to the problem that was fixed on 2.04 and 2.05.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ScionicReaver on 20 September, 2013, 05:20:32 PM
Can someone give me help on how to get the QAAC encoder to work with Foobar.

I keep getting errors whenever I try to input a command
https://github.com/nu774/qaac/wiki/Command-Line-Options (https://github.com/nu774/qaac/wiki/Command-Line-Options)

I'm really lost and have no idea how to use it for Foobar.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2013, 05:41:02 PM
Can someone give me help on how to get the QAAC encoder to work with Foobar.

I keep getting errors whenever I try to input a command
https://github.com/nu774/qaac/wiki/Command-Line-Options (https://github.com/nu774/qaac/wiki/Command-Line-Options)

I'm really lost and have no idea how to use it for Foobar.

http://www.hydrogenaudio.org/forums/index....st&p=845439 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=102715&view=findpost&p=845439)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ScionicReaver on 20 September, 2013, 05:43:45 PM
Can someone give me help on how to get the QAAC encoder to work with Foobar.

I keep getting errors whenever I try to input a command
https://github.com/nu774/qaac/wiki/Command-Line-Options (https://github.com/nu774/qaac/wiki/Command-Line-Options)

I'm really lost and have no idea how to use it for Foobar.

http://www.hydrogenaudio.org/forums/index....st&p=845439 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=102715&view=findpost&p=845439)

Thanks! I forgot to include -o %d - commands at the end!
I got it to work now!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: otonvm on 22 September, 2013, 12:39:49 PM
Hello nu774, great job with this frontend, very easy to use.

But I cannot wrap my head around mixer matrices, I never could...

I'm currently using a ffmpeg->sox->qaac pipe to downmix 5.1 to DPL2 2.0 audio. By using flac as an input format I could remove all the other utilities.
In sox I'm using this for remix:
Code: [Select]
1v0.2646,3v0.1870,4v0.1870,5v0.2991,6v0.1323 2v0.2646,3v0.1870,4v0.1870,5v-0.1323,6v-0.2291


Is this the correct translation to be used with matrix-file?
Code: [Select]
0.2646 0 0.1870 0.1870 0.2991 0.1323
0 0.2646 0.1870 0.1870 -0.1323 -0.2291
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2013, 02:05:45 PM
In sox I'm using this for remix:
Code: [Select]
1v0.2646,3v0.1870,4v0.1870,5v0.2991,6v0.1323 2v0.2646,3v0.1870,4v0.1870,5v-0.1323,6v-0.2291


Is this the correct translation to be used with matrix-file?
Code: [Select]
0.2646 0 0.1870 0.1870 0.2991 0.1323
0 0.2646 0.1870 0.1870 -0.1323 -0.2291

Looks ok in that it's equivalent to the sox remix option you are using.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: otonvm on 22 September, 2013, 02:20:00 PM
Looks ok in that it's equivalent to the sox remix option you are using.


Ok thanks!
What about this:
I took the values from this page: Wikipedia: Dolby Pro Logic (http://en.wikipedia.org/wiki/Dolby_Pro_Logic#Dolby_encoding_matrices) and converted them to this:
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j


EDIT:
Aaaand of course those are the values you use in your wiki. 

Thanks again for the prompt answer any your work.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2013, 02:58:08 PM
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j

That will work, but it's actually taken from http://en.wikipedia.org/wiki/Dolby_Pro_Logic (http://en.wikipedia.org/wiki/Dolby_Pro_Logic).
As is written in Sox document, 90 deg phase shift (hilbert transform) has a bandpass characteristic, and it's far more complex than simple 180 degree phase shift you are using.
Although I cited from the wiki, I don't know if it's actually worth doing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: otonvm on 22 September, 2013, 03:45:11 PM
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j

That will work, but it's actually taken from http://en.wikipedia.org/wiki/Dolby_Pro_Logic (http://en.wikipedia.org/wiki/Dolby_Pro_Logic).
As is written in Sox document, 90 deg phase shift (hilbert transform) has a bandpass characteristic, and it's far more complex than simple 180 degree phase shift you are using.
Although I cited from the wiki, I don't know if it's actually worth doing.


Right... I really don't understand this but it sounds ok, L and R seem to be in balance overall. Why not "worth doing"? Computationally? More complex?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2013, 09:09:48 PM
Computationally? More complex?

Yes, computationally more complex, and it's not exact / lossless transform like 180 degree phase shift. Highs/lows will be attenuated to a certain degree, because it acts like a bandpass filter.
Channel separation may be better when heard using DPL2 system, but I don't know. I'm not very familiar with surround audio.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: otonvm on 23 September, 2013, 04:30:19 PM
OK I did some research and it seems that the later matrix has been accepted as the closest to what the spec probably looks like and I think it's what has been implemented in most tools today.

The only point of contention remains the phase shift. It looks like if it's used then a proper DPL2 decoder can rebuild the original channels back but it's also relative to how the recording has been done in the first place.

I have tried a manual encode from single channels with a "reference" encoder and I think this matrix sounds almost identical to that.

Again thanks for your work!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 September, 2013, 09:16:59 PM
OK I did some research and it seems that the later matrix has been accepted as the closest to what the spec probably looks like and I think it's what has been implemented in most tools today.

"the latter matrix" = 90 degree phase shift version on the wiki  ?

Quote
I have tried a manual encode from single channels with a "reference" encoder and I think this matrix sounds almost identical to that.

Nice to hear that 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: otonvm on 24 September, 2013, 02:13:40 AM
"the latter matrix" = 90 degree phase shift version on the wiki?

Yes, that one.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 28 September, 2013, 05:34:30 PM
nu774, why don't you pack libsoxr in the same zip as qaac? Not that it so hard to unpack two zip files but it would be just one more reason that people don't forget to use it instead of libsoxrate. I guess you can use for other applications, better to stay apart.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 01 October, 2013, 03:14:18 AM
Is libsoxrate.dll anywhere else in the system? qaac just converted a 24/96 test file to a 16/48 with only qaac.exe in the encoder folder.

I've tried with the dlls as well and the result is bit-bit equal to the one without.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 October, 2013, 04:34:17 AM
Is libsoxrate.dll anywhere else in the system? qaac just converted a 24/96 test file to a 16/48 with only qaac.exe in the encoder folder.

I've tried with the dlls as well and the result is bit-bit equal to the one without.

Try qaac --check, then add --verbose when encoding, and see what you get.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 01 October, 2013, 01:02:33 PM
Code: [Select]
D:\foobar2000\Encoders>qaac --check
qaac 2.21, CoreAudioToolbox 7.9.8.3


Code: [Select]
D:\foobar2000\Encoders>qaac.exe "Simple Symphony  op. 4 - Boisterous Bourree.wav
" --verbose
qaac 2.21, CoreAudioToolbox 7.9.8.3

Simple Symphony  op. 4 - Boisterous Bourree.m4a
Using default channel layout.
Output layout: Stereo
96000Hz -> 48000Hz
AAC-LC Encoder, TVBR q91, Quality 96
[100.0%] 3:01.746/3:01.746 (32.4x), ETA 0:00.000
17447680/17447680 samples processed in 0:05.609
Overall bitrate: 196.915kbps
182/182 chunks written (optimizing)


Only qaac.exe is in the folder. I have iTunes (latest) installed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 October, 2013, 01:24:04 PM
So, it's just that CoreAudio resampler is (naturally) being used.

Quote
I've tried with the dlls as well and the result is bit-bit equal to the one without.

Are you sure? Try again with --check, --verbose, with libsoxrate installed. Make sure not to use libsoxrate64.dll with qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 October, 2013, 01:33:20 PM
Or, if you are trying to use libsoxr (instead of libsoxrate), make sure to download libsoxr_0.1.1_20130907.zip, and copy libgcc_s_sjlj-1.dll with libsoxr.dll (both are under x86 directory in the archive).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 01 October, 2013, 01:41:23 PM
Code: [Select]
D:\foobar2000\Encoders>qaac --check
qaac 2.21, CoreAudioToolbox 7.9.8.3
libsoxrate 0.4.1
libsoxr-0.1.1


Code: [Select]
D:\foobar2000\Encoders>qaac "Simple Symphony  op. 4 - Boisterous Bourree.wav" --
verbose
qaac 2.21, CoreAudioToolbox 7.9.8.3

Simple Symphony  op. 4 - Boisterous Bourree.m4a
Using default channel layout.
Output layout: Stereo
96000Hz -> 48000Hz
Using libsoxr SRC: single-precision-SIMD
AAC-LC Encoder, TVBR q91, Quality 96
[100.0%] 3:01.746/3:01.746 (47.3x), ETA 0:00.000
8723840/8723840 samples processed in 0:03.843
Overall bitrate: 197.332kbps
182/182 chunks written (optimizing)


Code: [Select]
Comparing:
"D:\foobar2000\Encoders\Simple Symphony  op. 4 - Boisterous Bourree.m4a"
"D:\foobar2000\Encoders\Simple Symphony  op. 4 - Boisterous Bourree dlls.m4a"
Differences found: 13364978 sample(s), starting at 0.0840000 second(s), peak: 0.0176514 at 124.5878958 second(s), 2ch


I must have been tired last night, I swear they were bit-bit identical :/
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 October, 2013, 01:47:26 PM
I must have been tired last night, I swear they were bit-bit identical :/

It happens 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 04 October, 2013, 11:47:30 AM
[qaac] release 2.22 (refalac 1.22)
posted 56 minutes ago by nu 774

- Fixed not to write tag when value of tag is empty.
- Support loading of libFLAC_dynamic.dll (this name is used by v1.3.0 DLL distributed at www.rarewares.org). Currently, qaac searches libFLAC dll in the following order.
libFLAC_dynamic.dll -> libFLAC.dll -> libFLAC-8.dll
Since 1.3.0 and 1.2.1 DLL are binary compatible within range of use by qaac, you can use any of them.
- Tags given by command line option now take precedence over default tool tag written by qaac. As a result, you can override tool tag if you want to (with --tag too:value).
- Updated TagLib to github current HEAD.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

Thank you very much nu774, you truly rock!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 14 October, 2013, 12:31:14 PM
[qaac] release 2.23 (refalac 1.23)
posted 39 minutes ago by nu 774
Switched from libsoxrate to libsoxr and new libsoxconvolver. Like libsoxr, libsoxconvolver uses SIMD optimized DFT/convolution routine when SSE is available. This library is used for --lowpass, --matrix-preset and --matrix-file. Unlike libsoxrate, libsoxconvolver is 32bit float based.
Add --peak and --play option.
Both doesn't produce output to a file, and cannot be used with other encoding option such as -V, -v, -a, -c, -A, and -D. However, DSP options such as --rate or --lowpass can be used.
--peak just scans input and print peak. Might be useful when you apply some DSP (especially mixing), and want to know resulting peak value before encoding.
--play does what it's name implies (play files using Wave Mapper device). Since qaac is an encoder and not a music player, don't expect much from it. It's just intended for cases when you want to test new custom matrix coefficients or something. --play doesn't automatically convert sample format, nor does remix.
Changed random number generator (used for TPDF dither) to LCG, which is known to be poor in randomness but quite fast, and is enough for just generating white noise for dither.
Don't flush immediately after writing WAV header when writing WAV file to a pipe. This makes pipe rewinding hack of SoX happier, but it seems not perfect. Basically speaking, SoX's pipe rewinding on win32 is nothing but a hack, so don't expect automatic format detecting of SoX to always work. Just use -t wav - or something to avoid unnecessary pipe rewinding.
Some code cleanup.
Fix help messages.
Updated taglib (again).

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: paperskyline on 21 October, 2013, 09:38:52 AM
Can somebody please explain these things:

1. --adts  -  ADTS output (AAC only)
  meaning of "adts output"?

2. -s, --silent  -  Suppress console messages.
--verbose  -  More verbose console messages.
what does "verbose" mean here? should i use any of these options? is it ok to use both these options simultaneously?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LifeWOutMilk on 21 October, 2013, 04:46:13 PM
Can somebody please explain these things:

1. --adts  -  ADTS output (AAC only)
  meaning of "adts output"?


http://wiki.multimedia.cx/index.php?title=ADTS (http://wiki.multimedia.cx/index.php?title=ADTS)

http://en.wikipedia.org/wiki/Advanced_Audi...ntainer_formats (http://en.wikipedia.org/wiki/Advanced_Audio_Coding#Container_formats)

Quote
2. -s, --silent  -  Suppress console messages.
--verbose  -  More verbose console messages.
what does "verbose" mean here? should i use any of these options? is it ok to use both these options simultaneously?


Silent and verbose don't make sense when used together. Either you want console messages, or not. Verbose will add additional information to what's printed in the console.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: paperskyline on 22 October, 2013, 11:13:26 AM
Can somebody please explain these things:

1. --adts  -  ADTS output (AAC only)
  meaning of "adts output"?


http://wiki.multimedia.cx/index.php?title=ADTS (http://wiki.multimedia.cx/index.php?title=ADTS)

http://en.wikipedia.org/wiki/Advanced_Audi...ntainer_formats (http://en.wikipedia.org/wiki/Advanced_Audio_Coding#Container_formats)

Quote
2. -s, --silent  -  Suppress console messages.
--verbose  -  More verbose console messages.
what does "verbose" mean here? should i use any of these options? is it ok to use both these options simultaneously?


Silent and verbose don't make sense when used together. Either you want console messages, or not. Verbose will add additional information to what's printed in the console.

thanks for the info
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 October, 2013, 11:59:26 AM
[qaac] release 2.24 (refalac 1.24)
posted 4 hours ago by nu 774

- Fix crash on reading unsigned 8bit PCM through libsndfile (for example, Wave64 format).
- Fix bogus (non-compliant) sgpd box written on gaplessmode 1 or 2. However, I don't still recommend using it. As far as I know, only iTunes is known to support it well. VLC also supports edts, but it seems VLC decodes first few frames of HE-AAC without SBR when edts is being used.
- Support float16 and float24 WAV and Wavpack file. float16 is assumed to be normalize in range [-65536, 65536], which is different from normal [-1,1] for floating point PCM. For details, read this thread on HA: http://www.hydrogenaudio.org/forums/index....90770&st=50 (http://www.hydrogenaudio.org/forums/index.php?showtopic=90770&st=50)
- Show PCM sample format (int8 or something) when --verbose is specified. Both input format and resulting format are shown, the latter might be different due to DSP chain.
- Disabled automatic quantization to integer when sample format is converted to float by DSP chain and encoding to ALAC.
- Repackaged 64bit libsoxr.dll as libsoxr64.dll. Now refalac64 supports both names (of course it cannot use 32bit version of DLL, so be careful).
- Show more meaningful message on write error (MSVCRT assigns EINVAL for broken pipe error, resulting in "invalid parameter" message, which is not quite helpful).
- Some code clean up.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

Thanks again nu774 for your dedication.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 October, 2013, 12:32:48 PM
As for new wavpack float16/24bit file created with --store-floats-as-int:
It can be decoded by 4.60.1 DLL. Of course you can upgrade it to new 4.70 DLL. Both are binary compatible.
And it seems that --store-floats-as-int is possible for normal float32 WAV file. Although I don't think of it's practical use, qaac can decode such a file, too.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 24 October, 2013, 01:29:59 PM
nu774, does libsoxr64.dll need libgcc_s_sjlj-1.dll? Just asking because the x64 folder doesn't have the file in it, I only use the x86 binary.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 24 October, 2013, 01:39:48 PM
nu774, does libsoxr64.dll need libgcc_s_sjlj-1.dll? Just asking because the x64 folder doesn't have the file in it, I only use the x86 binary.

No.
Basically speaking, if refalac64 --check shows libsoxr then it's OK.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 24 October, 2013, 05:12:21 PM
Thank you and thank you for fdkaac changelog.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 26 October, 2013, 04:48:13 PM
[qaac] release 2.25 (refalac 1.25)
posted 10 hours ago by nu 774

Fixed HE-AAC gapless playback issue

It seems that CoreAudio HE-AAC encoder finishes too early on HE-AAC encoding, and can result in too small amount of enc_padding. When enc_padding is smaller than 481 (which is the additional decoder delay for SBR), there's no way for decoder to reproduce complete samples, so decoded result will be get shorter.

This is actually a bug of CoreAudio encoder. I can see the very same behavior using iTunes, and when decoding resulting HE-AAC file by iTunes, decoded result is shorter than original.

You can see this by arbitrary 44.1khz 11 sec sample (number of samples=485100), which result in number of padding samples=74, and about 10ms at ending is dropped.

Since I'm using somewhat older iTunes (10.5.3.3) and I'm reluctant to upgrading it, I don't know if it's still true for new iTunes, but I believe so since I'm using recent CoreAudioToolbox.

As a workaround, qaac now feeds additional 2048 samples of silence to HE-AAC encoder and edit iTunSMPB so that it reflects original length. As a result, HE-AAC file encoded by qaac will now play gaplessly by iTunes, but it's no more bit-identical with the result of iTunes in case of HE-AAC.

Note that you cannot still play HE-AAC files outside Apple softwares because of this: http://www.hydrogenaudio.org/forums/index....&pid=817997 (http://www.hydrogenaudio.org/forums/index.php?showtopic=98450&mode=threaded&pid=817997). I'm sorry I should have noticed earlier of this.


https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 October, 2013, 04:28:12 AM
nu774, probably stupid question: how do I create a multiple words tag? Ex: --tag too:word1 word2

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 October, 2013, 05:57:38 AM
nu774, probably stupid question: how do I create a multiple words tag? Ex: --tag too:word1 word2

All of the following examples will work.
--tag too:word1" "word2
--tag too:word"1 wor"d2
--tag too:"word1 word2"
--tag "too:word1 word2"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 October, 2013, 10:21:29 AM
As I said, stupid question, it didn't even cross my mind to use "", I should go to sleep earlier

The third option is good enough, thank you.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 06 November, 2013, 11:59:32 AM
[qaac] release 2.26 (refalac 1.26)
posted an hour ago by nu 774
Disabled --no-delay on SBR. --no-delay removes several frames at beginning to compensate encoder delay, but it turns out to be problematic for SBR since sbr_header is not present on every frame, and decoder cannot decode SBR until seeing it. Anyway, you should be using LC when delay is important.
I guess VLC cannot decode SBR at the beginning of HE-AAC file having edts because of similar reason. It really needs to read sbr_header -- but probably it just skips to the position described in edts.
Added --drc for dynamic range compression.
About new dynamic range compressor

This is implemented based on "Digital Dynamic Range Compressor Design -- A Tutorial and Analysis", JAES2012.

Takes 5 parameters (threshold, ratio, knee width, attack, release), all of them are common among compressors, so you should be familiar with them.

Note that in this implementation, actual release time will be approximately equals to attack + release. This is by nature of "smooth, decoupling peak detector" in the paper, used by this compressor.

If you want what is called "makeup gain" to compensate attenuation by this compressor, just use --gain.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: obazavil on 07 November, 2013, 01:06:15 PM
Hi,

I have been reading the parameters, and the more I read, the more confused I get

I want something similar to LAME -V2.

What is the parameters I should put to qaac? What do you guys have for parameters? Is there a doc or site that explain what they mean?

Currently I'm using LAME 320kbps, but want to save some space with a very good quality

Thanks a lot!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: testyou on 07 November, 2013, 01:13:19 PM
What is the parameters I should put to qaac?

Try
Code: [Select]
qaac inputname.wav
first.

Is there a doc or site that explain what they mean?

Yes: qaac documentation. (https://github.com/nu774/qaac/wiki)

I want something similar to LAME -V2.
[...]
Currently I'm using LAME 320kbps, but want to save some space with a very good quality

Have you tried using LAME -V2 ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 07 November, 2013, 04:26:11 PM
Hi,

I have been reading the parameters, and the more I read, the more confused I get

I want something similar to LAME -V2.

What is the parameters I should put to qaac? What do you guys have for parameters? Is there a doc or site that explain what they mean?

Currently I'm using LAME 320kbps, but want to save some space with a very good quality

Thanks a lot!


Convert with many different tvbr settings. ABX it against MP3 CBR320 (Which you are currently using and are happy with), or lossless source (preferable).
Find the lowest setting/bitrate that seems transparent to you, and use it for your music.

Remember:
- What seem transparent to you, is not necessarily transparent to others. (Which is why one can't tell another what bitrate is transparent)
- I find that some genres of music, require higher bitrate for being transparent in my ears, than others. Test using a variety of music.

Tips:
- Easy to use tool/GUI for converting with QAAC (and other codecs): TAudioConverter (http://sourceforge.net/projects/taudioconverter/)
- Abx can be done by using Foobar (http://www.foobar2000.org/) and one of its external plugins named ABX Comparator (http://www.foobar2000.org/components/view/foo_abx)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 10 November, 2013, 02:08:06 AM
@ nu774

Regarding the new DRC switch in qaac 2.26, do you have plans to add any presets that might mimic the effects of the "light", "normal", and "heavy" DRC options present in Dolby Digital? I expect the layman won't know how to use the five parameters effectively, so having a few demonstration modes might be beneficial. Thanks for continuing to work on the frontend!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 November, 2013, 04:17:42 AM
Regarding the new DRC switch in qaac 2.26, do you have plans to add any presets that might mimic the effects of the "light", "normal", and "heavy" DRC options present in Dolby Digital? I expect the layman won't know how to use the five parameters effectively, so having a few demonstration modes might be beneficial.

While your request is reasonable, I don't think it's possible to mimic Dolby ATSC DRC profiles.
As far as I know Dolby has 5 thresholds and does both upward/downward compression, while qaac only provides very simple one threshold + downward compression.
Chaining multiple qaac instances with different --drc, --gain options might make it possible to achieve somewhat similar effects, but I'm not sure.

To tell the truth, I'm not confident of usefulness of this new option. If somebody have any thought on this, I'd like to hear feedback.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 11 November, 2013, 08:16:02 PM
I was actually looking through qaac's documentation a few weeks ago to see if it had such functionality, so it is interesting that you decided to add the feature now.

Does the -N switch use the ReplayGain algorithm, or does it use peak normalisation? My guess is that it uses the latter, since the file I tried normalising ended up clipping. You might be able to implement both normalisation and DRC using a methodology similar to MP3Gain/AACGain (http://mp3gain.sourceforge.net/), i.e. rather than scaling the audio prior to encoding, you could adjust the global gain values of each frame. Not only would this allow you to implement lossless gain adjustment (since MP3Gain writes APEv2 tags to provide the information necessary to undo the volume adjustment), but it would also potentially allow qaac to normalise or apply DRC to existing AAC files without transcoding them. The 1.5 dB steps might not allow for the same level of precise volume adjustment as Dolby's DRC implementation, but I suspect it would be more than capable of achieving the desired effect.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 November, 2013, 09:36:48 PM
Does the -N switch use the ReplayGain algorithm, or does it use peak normalisation? My guess is that it uses the latter

Correct.

You might be able to implement both normalisation and DRC using a methodology similar to MP3Gain/AACGain (http://mp3gain.sourceforge.net/), i.e. rather than scaling the audio prior to encoding, you could adjust the global gain values of each frame.

Your idea is reasonable, and actually I've heard similar request for "replaygain in qaac" several times.
HOWEVER, like you say what it does is not encoding, but modifying the already encoded AAC bitstream, and can very well implemented as an independent tool.
Actually, it shares almost zero functionality with encoder. To implement it, qaac actually has to start from decoding the AAC bitstream that has just been encoded. No better than other tools like aacgain. So, I'd rather want to see it implemented in different tool. Not in qaac.
I WON'T implement MP4 tag editor in qaac for the very same reason.

And don't forget qaac not only is an AAC LC encoder but also supports SBR, ALAC, PCM output.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 November, 2013, 10:08:07 PM
As for dynamic range compression, At least 3 choices come to mind.
1. Directly compress PCM signals before encoding (what qaac --drc does)
2. Modify global gain value (aacgain way, works for LC only)
3. Set DRC metadata (present in AAC spec)

Third option is similar to what is used by AC3 or something, and looks best IF it is supported by wide range of decoders... but as far as I know it seems not.
Since 2 and 3 work on per frame basis, it's impossible for them to achieve as fine grained control as 1, and probably they are not suitable for subtle compression what is done on mastering or something. However, since we are not mastering but just encoding here, it shouldn't be a big problem.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 12 November, 2013, 02:12:40 AM
I'd rather want to see it implemented in different tool.

My current solution is to run files through WaveGain prior to encoding if I need RG adjustment, which works well enough.

Since 2 and 3 work on per frame basis, it's impossible for them to achieve as fine grained control as 1, and probably they are not suitable for subtle compression what is done on mastering or something. However, since we are not mastering but just encoding here, it shouldn't be a big problem.

I would tend to agree. If users desired a mastering-calibre compression algorithm, they probably wouldn't be targetting a lossy format.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 12 November, 2013, 09:38:22 AM
[qaac] release 2.27 (refalac 1.27)
posted 48 minutes ago by nu 774
Now you can set --drc option twice or more, with different parameters. This can be used to obtain more complex effect.

For example, you can use --drc for normal compression, then as a limiter (--drc with high thresh + high ratio + zero attack/release will work something like a limiter, that effectively kills remaining peaks).

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: zerowalker on 15 November, 2013, 07:01:09 AM
Those it have the feature that i know many would like.

A Transparent option.

Or more like, you sert to a quality where the encoder will try to achieve transparency.

Cause currently, let´s say a certain music file can be transparent easily at 164kbps.

But if you set, "Variable at 320kbps", it will probably become 300-340kbps, even though that is unnecessary.

Though of course, transparency it not something that´s achieved at a precise point, but i think there has been discussion about it.
I know people asked for it in OPUS, me included.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LithosZA on 15 November, 2013, 09:13:23 AM
I don't think it is possible. How will the encoder know if it is reaching transparency for your ears?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: zerowalker on 15 November, 2013, 09:21:11 AM
I don't think it is possible. How will the encoder know if it is reaching transparency for your ears?



Yeah as you say, that is the fundamental problem.
But i think some sort of "sensor" to try to achieve allow only a certain magnitude of distortion.

A clever search implementation, something that knows "If it is this much distorted, than it will surely be noticeable".

If you think about Lossless vs Lossy a bit.

For example, let´s say FLAC can make a file 200kbps.

But if you encode that with anything, like QAAC, and set, Variable at 320kbps, it will surely use more than 200kbps.

It doesn´t know that it can be Lossless at 200kbps, which means that it should be able to achieve total transparency at 200kbps or less.

But i know you also can´t compare them, as Lossy completely obliterate Lossless, so it can´t achieve it no matter what, as Jpeg vs Png.
I just wanted to point out that "problem", but i also think it´s easier said than done.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: AndersHu on 15 November, 2013, 11:20:01 AM
If you don't want Constrained VBR, use the True VBR mode.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: zerowalker on 15 November, 2013, 12:26:16 PM
If you don't want Constrained VBR, use the True VBR mode.


That works similar to CRF in x264 if i am not to far off?

Haven´t really tried it, but it goes to 127 in quality i think.
And i don´t quite get it. 127, is that suppose to mean, Guaranteed top quality possible with that encoder, or something like that?
For x264 that would possible be, CRF 1, as 0 means lossless.

x264 = h264 encoder, anything with h264 is the same though, but usually write "x" as i am used to it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 15 November, 2013, 12:38:46 PM
And i don´t quite get it. 127, is that suppose to mean, Guaranteed top quality possible with that encoder, or something like that?

Q0 - Q4 (0) = ~40 kbps
Q5 - Q13 (9) = ~45 kbps
Q14 - Q22 (18) = ~75 kbps
Q23 - Q31 (27) = ~80 kbps
Q32 - Q40 (36) = ~95 kbps
Q41 - Q49 (45) = ~105 kbps
Q50 - Q58 (54) = ~115 kbps
Q59 - Q68 (63) = ~135 kbps
Q69 - Q77 (73) = ~150 kbps
Q78 - Q86 (82) = ~165 kbps
Q87 - Q95 (91) = ~195 kbps
Q96 - Q104 (100) = ~225 kbps
Q105 - Q113 (109) = ~255 kbps
Q114 - Q122 (118) = ~285 kbps
Q123 - Q127 (127) = ~320 kbps
Title: QAAC: discussion, questions, feature requests, etc.
Post by: zerowalker on 15 November, 2013, 01:16:42 PM
So in other words, it´s Constrained Variable Bitrate, but with another Currency or what to call it?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 15 November, 2013, 05:22:42 PM
No, those are merely general bitrate ranges that the encoder often produces on the tracks that people have tested. Other tracks can go above or below those averages, and the bitrate fluctuates during the tracks as necessary to achieve the desired quality.

You are correct that the VBR scale in Apple's encoder is similar to the CRF scale in x264. What you seem to be missing is that both the VBR scale and the ratefactor scale are in arbitrary units that have no numerical quality equivalent. That is to say the 8-bit CRF scale of 0 - 51 is arbitrary, as is the VBR scale of 0 - 127. The way you use both scales is the same: you start at a "bad" quality that you can easily ABX and start increasing the quality setting until you can't ABX the results anymore. Once you reach transparency, you know that you should use that setting for most, if not all, of your encodes. The only difference between testing x264 CRF values and AAC VBR values is that it's harder to perform ABX tests on video than it is on audio, as I am not aware of any video ABX comparators.

The fact that all listeners must perform these tests to determine their individual transparency thresholds is the reason why qaac does not have a "transparency" VBR setting: transparency is achieved at different bitrates for different people, and thus it cannot be standardised into a qaac preset.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 November, 2013, 08:12:59 PM
@zerowalker
If you think VBR is not as variable in bitrate as you think, try some extra ordinary case like the following:
Code: [Select]
sox -n -t wav - synth 5 sin 1000 | qaac -V127 - -o foo.m4a

This pipeline encodes a simple sine wave, and results in 18kbps or so in true VBR quality 127. On CVBR it goes a bit higher, but you might notice that it is not as constrained as you think.

And if you think VBR is not as constant quality as you think (yeah, some difficult samples can be easier to ABX than other), just accept it. Although VBR encoder tries it's best to achieve constant quality, world is no that ideal.

And at last, do you know qaac is merely a frontend to Apple's encoder?
qaac cannot do anything better than just setting parameters for quality control already provided as command line options.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 16 November, 2013, 05:09:40 AM
Regarding CVBR and TVBR, has there been any wide-range comparison between the two methods? I've always used TVBR @ q82 for my movie audio track re-encodes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: zerowalker on 16 November, 2013, 08:08:00 AM
Ah, well then i understand them quite correctly.
And as you say Video is on a different level.

The different in content changes alot, while Audio content doesn´t really matter that much when you set a quality level.

Learned something about doing the tests to know your "transparent setting", even though i am crappy at noticing distortions as long as it´s above 128kbps or something.
So i often just take the highest possible settings to know that it will be transparent, if not for some extremely rare cases of course.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Kamedo2 on 16 November, 2013, 08:29:50 AM
Regarding CVBR and TVBR, has there been any wide-range comparison between the two methods? I've always used TVBR @ q82 for my movie audio track re-encodes.

The overall quality difference of CVBR and TVBR is very small.
http://listening-tests.hydrogenaudio.org/i...-96-a/index.htm (http://listening-tests.hydrogenaudio.org/igorc/aac-96-a/index.htm)
http://www.hydrogenaudio.org/forums/index....showtopic=97913 (http://www.hydrogenaudio.org/forums/index.php?showtopic=97913)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 08 December, 2013, 11:51:37 AM
What is it with AAC and my ears, I wonder.
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.2.9
2013/12/08 17:40:37

File A: R:\03 蒼空にくちづけたら_-v256.m4a
File B: R:\03. ゆうまお - 蒼空にくちづけたら.flac

17:40:37 : Test started.
17:42:03 : 01/01  50.0%
17:42:49 : 02/02  25.0%
17:43:29 : 02/03  50.0%
17:43:55 : 03/04  31.3%
17:44:17 : 04/05  18.8%
17:44:58 : 05/06  10.9%
17:45:34 : 05/07  22.7%
17:45:57 : 06/08  14.5%
17:46:18 : 07/09  9.0%
17:47:04 : 08/10  5.5%
17:47:07 : Test finished.

----------
Total: 8/10 (5.5%)

If I had to describe it, aac sounds kind of "electronic" or "metallic" to my ears. I struggle ABXing mp3 at this bitrate, but AAC is so obvious. Though I'd say nero's aac encoder did an even poorer job. Or maybe this song is just a problem sample.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Kamedo2 on 08 December, 2013, 11:58:52 AM
If I had to describe it, aac sounds kind of "electronic" or "metallic" to my ears. I struggle ABXing mp3 at this bitrate, but AAC is so obvious. Though I'd say nero's aac encoder did an even poorer job. Or maybe this song is just a problem sample.

It's a very interesting sample, as Apple AAC is the mighty encoder, and the likelihood of defects are very small. Could you upload the problematic section of the song in FLAC, so that we can reproduce the result?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 08 December, 2013, 12:44:00 PM
uploaded the sample here (http://www.hydrogenaudio.org/forums/index.php?showtopic=103770). First time doing this, is this how I was supposed to do it?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 08 December, 2013, 12:58:56 PM
ChronoSphere my compliments, I can't even ABX @~96kbps with Vorbis, AAC and Opus. I guess it also depends how hard you try. I realized long time ago if I have to try for more than 10 mins it means the codec is good enough.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Kamedo2 on 08 December, 2013, 01:02:39 PM
uploaded the sample here (http://www.hydrogenaudio.org/forums/index.php?showtopic=103770). First time doing this, is this how I was supposed to do it?
Exactly. And I reproduced the result, although at cvbr 192kbps. This is a good critical sample, because of the sharp transient attack, crystal vocal, and background silence.
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.2.9
2013/12/09 02:52:06

File A: 蒼空にくちづけたら.wav
File B: 蒼空にくちづけたら.mp4

02:52:06 : Test started.
02:52:47 : 01/01  50.0%
02:53:52 : 02/02  25.0%
02:54:10 : 03/03  12.5%
02:54:40 : 03/04  31.3%
02:54:59 : 04/05  18.8%
02:55:23 : 05/06  10.9%
02:55:56 : 06/07  6.3%
02:56:24 : 06/08  14.5%
02:56:51 : 07/09  9.0%
02:57:21 : 08/10  5.5%
02:57:24 : Test finished.

 ----------
Total: 8/10 (5.5%)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 08 December, 2013, 01:56:09 PM
ChronoSphere my compliments, I can't even ABX @~96kbps with Vorbis, AAC and Opus. I guess it also depends how hard you try. I realized long time ago if I have to try for more than 10 mins it means the codec is good enough.
Thank you, though I didn't think my hearing to be that good. Incidentally, I tested opus and vorbis for this track, too in the past, and I stopped trying at 192kbps average for both of them. 160kbps was already near my limit, actually, as you can see below. Which is why I'm so surprised about AAC behaving so badly in comparison. Each test takes me about 3-4 minutes I guess.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.2.9
2013/12/08 17:54:25

File A: R:\03. ???? - ?????????.flac
File B: R:\03 ?????????_160.opus

17:54:25 : Test started.
17:55:27 : 01/01  50.0%
17:55:54 : 01/02  75.0%
17:56:20 : 01/03  87.5%
17:56:47 : 02/04  68.8%
17:57:04 : 03/05  50.0%
17:57:52 : 04/06  34.4%
17:58:40 : 04/07  50.0%
17:59:08 : 05/08  36.3%
17:59:25 : 06/09  25.4%
17:59:40 : 07/10  17.2%
18:00:24 : Test finished.

----------
Total: 7/10 (17.2%)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 08 December, 2013, 02:15:38 PM
ChronoSphere my compliments, I can't even ABX @~96kbps with Vorbis, AAC and Opus. I guess it also depends how hard you try. I realized long time ago if I have to try for more than 10 mins it means the codec is good enough.
Thank you, though I didn't think my hearing to be that good. Incidentally, I tested opus and vorbis for this track, too in the past, and I stopped trying at 192kbps average for both of them. 160kbps was already near my limit, actually, as you can see below. Which is why I'm so surprised about AAC behaving so badly in comparison. Each test takes me about 3-4 minutes I guess.

Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.2.9
2013/12/08 17:54:25

File A: R:\03. ゆうまお - 蒼空にくちづけたら.flac
File B: R:\03 蒼空にくちづけたら_160.opus

17:54:25 : Test started.
17:55:27 : 01/01  50.0%
17:55:54 : 01/02  75.0%
17:56:20 : 01/03  87.5%
17:56:47 : 02/04  68.8%
17:57:04 : 03/05  50.0%
17:57:52 : 04/06  34.4%
17:58:40 : 04/07  50.0%
17:59:08 : 05/08  36.3%
17:59:25 : 06/09  25.4%
17:59:40 : 07/10  17.2%
18:00:24 : Test finished.

 ----------
Total: 7/10 (17.2%)

Well, from earlier posts, I easily managed to ABX V 127 QAAC

Quote
Code: [Select]
foo_abx 1.3.4 report
foobar2000 v1.1.18
2012/12/25 12:36:05

File A: C:\Users\Olav\Desktop\3929430_Lessons_In_Love_feat__Neon_Trees_Headhunterz_Remix.wav
File B: C:\Users\Olav\Desktop\QAAC TVBR 127\3929430_Lessons_In_Love_feat__Neon_Trees_Headhunterz_Remix.m4a

12:36:05 : Test started.
12:37:08 : 01/01  50.0%
12:38:06 : 02/02  25.0%
12:38:57 : 03/03  12.5%
12:39:42 : 04/04  6.3%
12:42:34 : 05/05  3.1%
12:43:14 : Test finished.

 ----------
Total: 5/5 (3.1%)

Setup was: foo_abx 1.3.4 -> Belkin USB cable -> HRT Music Streamer II -> Steelseries 5HV2.
QAAC v 2.09

So, not surprised you guys managed to abx at lower bitrate. My sample was a completely different genre though. Hardstyle. Could upload a sample if folks are interested
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 09 December, 2013, 04:23:42 AM
Though I'd say nero's aac encoder did an even poorer job. Or maybe this song is just a problem sample.

Did you try with other AAC encoders like Winamp FhG and FDK ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 09 December, 2013, 09:09:05 AM
No, I have not. Considering qaac is seen as the "best" among aac encoders, I just assumed it would be the same with the other ones.

BTW, eahm, with qaac I get a runtime of 11:44:08 on my clip+, which gives me the following runtimes:
Code: [Select]
mpc -192:        16:13:47
Flac -8:         16:09:49
vorbis q5:        12:17:56
mp3 v0:            11:48:20
qaac -v256:        11:44:08
Wv -hh -b384Mx:    11:17:12
opus 160:        10:38:05


The settings for lossless formats is what I would choose for archival, for lossy, my transparency settings (except for qaac). Someone said my runtimes are shorter than usual, that is probably because I have crossfeed activated.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 December, 2013, 11:14:16 AM
Thanks for testing, -v256 is kinda a lot, I use -V63 but I'm sure it won't change much. MPC is insane!

Now, just to waste you another day, you should test ALAC and TAK as well
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 09 December, 2013, 06:29:51 PM
Well considering AAC is still not transparent on that song for me, I'd even have to go higher (as I did with mp3 )
Rockbox can't play TAK, unless that changed recently, btw. Why ALAC? I don't really know of an advantage except if you're already using the apple ecosystem and want to stay native.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 December, 2013, 03:14:31 AM
btw. Why ALAC? I don't really know of an advantage except if you're already using the apple ecosystem and want to stay native.

Codec-wise, I don't see any advantage in ALAC either.
MP4/M4A container might be attractive for some (iTunes style tag being natively supported by Mac and Microsoft Windows, ability to multiplex video tracks, text tracks for subtitle / karaoke / chapters or something). Who knows?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: halb27 on 10 December, 2013, 09:07:16 AM
I'm not sure what you're actually considering to do, but in case you want to change codec, and in case that Rockbox plays your new choice is of major concern: Musepack is a good candidate for your new choice IMO. Or lossyWAV | FLAC in case you can allow for higher bitrates.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 10 December, 2013, 09:21:52 AM
[qaac] release 2.28 (refalac 1.28)
posted 5 hours ago by nu 774
Add new option: --caf. As the name implies, --caf tells qaac to output to CAF container. (HE-)AAC, ALAC, PCM (-D) are supported. Pipe streaming is supported in case of PCM, that can be used to pass audio as well as tags to fdkaac through pipeline.
(Hopefully) better handling of metadata. Non-standard tags such as performer or ISRC are now copied from input (However, some tags such as replaygain related metadata, ripping log, and cuesheet are blacklisted and not copied).
Support ALAC in CAF input from libsndfile. This will only be used by refalac + very recent libsndfile. qaac has already been supporting input of ALAC in CAF through CoreAudio API.
Fix: take care of zero byte text file input, which resulted in MLang text encoding detection failure.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 December, 2013, 11:21:46 AM
Thanks for the update nu774.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 10 December, 2013, 12:57:22 PM
I'm not sure what you're actually considering to do, but in case you want to change codec, and in case that Rockbox plays your new choice is of major concern: Musepack is a good candidate for your new choice IMO. Or lossyWAV | FLAC in case you can allow for higher bitrates.
I posted my runtimes with different codecs in the opus thread and eahm asked me to test qaac. I posted the result here to not clog the opus with off-topic.

It was just an "FYI" post, I'm personally using FLAC for convenience reasons of only having to copy the files over and not having to re-scan with replay gain etc. Battery-wise, MPC is only slightly better than FLAC, but currently, I'd go for it if I had space restrictions.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: vozer on 11 December, 2013, 05:01:03 AM
Could anyone here help me to solve this problem. I used to use this command line option for previous versions of qaac (2.23 & 2.25) and it worked well but recently when i update to new version 2.27 or 2.28 , it doesn't work. The error message like this is displayed :

Quote
Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters


and here is my command line option :

Quote
-s --cbr 256 --ignorelength --rate keep -q 2 - -o %d


Quote
-s --tvbr 100 --ignorelength --rate keep -q 2 - -o %d


and here is my conversion window :

Title: QAAC: discussion, questions, feature requests, etc.
Post by: ChronoSphere on 11 December, 2013, 06:03:45 AM
I've been having the same issues until I ran it from the command line and saw it complaining about not being able to find CoreAudioTools.dll (or similar). Are you sure you have iTunes installed/made portable and in the same folder as qaac?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: vozer on 11 December, 2013, 10:28:02 AM
I've been having the same issues until I ran it from the command line and saw it complaining about not being able to find CoreAudioTools.dll (or similar). Are you sure you have iTunes installed/made portable and in the same folder as qaac?


  Oops , i have removed iTunes for 2 weeks. I thought that CoreAudioTool doesn't require Itunes to be installed. It seems everything is ok if I re-install iTunes. Thanks .
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 December, 2013, 10:42:27 AM
Oops , i have removed iTunes for 2 weeks. I thought that CoreAudioTool doesn't require Itunes to be installed. It seems everything is ok if I re-install iTunes. Thanks .

Strictly speaking you don't need iTunes, but it should be the most simple way if you don't mind installing it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 11 December, 2013, 11:03:06 AM
I've been having the same issues until I ran it from the command line and saw it complaining about not being able to find CoreAudioTools.dll (or similar). Are you sure you have iTunes installed/made portable and in the same folder as qaac?


  Oops , i have removed iTunes for 2 weeks. I thought that CoreAudioTool doesn't require Itunes to be installed. It seems everything is ok if I re-install iTunes. Thanks .

It's ok even without iTunes. You missed something when you setup the portable version.

edit:
Don't copy the folder QTFiles where qaac.exe is but all the files inside QTFiles http://www.hydrogenaudio.org/forums/index....st&p=844462 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=85135&view=findpost&p=844462)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: vozer on 12 December, 2013, 07:38:50 AM
I've been having the same issues until I ran it from the command line and saw it complaining about not being able to find CoreAudioTools.dll (or similar). Are you sure you have iTunes installed/made portable and in the same folder as qaac?


  Oops , i have removed iTunes for 2 weeks. I thought that CoreAudioTool doesn't require Itunes to be installed. It seems everything is ok if I re-install iTunes. Thanks .

It's ok even without iTunes. You missed something when you setup the portable version.

edit:
Don't copy the folder QTFiles where qaac.exe is but all the files inside QTFiles http://www.hydrogenaudio.org/forums/index....st&p=844462 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=85135&view=findpost&p=844462)


I cannot explain why but after i try to re-install iTunes everything is ok , qaac is working again. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lock67ca on 12 December, 2013, 09:26:57 PM
I just used Winrar to extract the Apple Application Support .msi from the iTunes installer. It's a separate installer and you don't need to fully install iTunes at all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 12 December, 2013, 10:02:41 PM
You don't need to install AppleApplicationSupport.msi, either. You can extract the contents of it with msiexec:

Code: [Select]
msiexec /a foo.msi /qn TARGETDIR=C:\bar


This would extract the contents of foo.msi to the directory C:\bar without showing you any GUI elements. Wait ten seconds for the extraction to complete, then enter the directory, select the DLL files that qaac needs, copy them to the QTfiles folder, then delete everything else you extracted from AppleApplicationSupport.msi.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 December, 2013, 11:28:01 PM
I just used Winrar to extract the Apple Application Support .msi from the iTunes installer. It's a separate installer and you don't need to fully install iTunes at all.

You can't install it, the only way is if you use something like CopyTrans Drivers Installer (http://download.cnet.com/CopyTrans-Drivers-Installer/3000-18546_4-75300288.html). Or install iTunes then uninstall everything but that one. Did you even try before suggesting? The portable way (using makeportable) is actually easier anyway.

You don't need to install AppleApplicationSupport.msi, either. You can extract the contents of it with msiexec:

Code: [Select]
msiexec /a foo.msi /qn TARGETDIR=C:\bar


This would extract the contents of foo.msi to the directory C:\bar without showing you any GUI elements. Wait ten seconds for the extraction to complete, then enter the directory, select the DLL files that qaac needs, copy them to the QTfiles folder, then delete everything else you extracted from AppleApplicationSupport.msi.

Download makeportable.zip from here https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 13 December, 2013, 12:53:17 AM
That script seems to run a few unnecessary commands. You need only to extract the relevant DLLs and put them in one of the locations qaac looks for them.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2013, 01:24:06 AM
That script seems to run a few unnecessary commands.

Care to elaborate on what exactly you think unnecessary?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 December, 2013, 01:25:55 AM
.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: testyou on 13 December, 2013, 02:09:18 AM
That script seems to run a few unnecessary commands. You need only to extract the relevant DLLs and put them in one of the locations qaac looks for them.
What do you think it does?
Code: [Select]
@echo off
setlocal

if not "%~1" == "" (
set installer=%~1
) else if exist iTunes64Setup.exe (
set installer=iTunes64Setup.exe
) else if exist iTunesSetup.exe (
set installer=iTunesSetup.exe
) else if exist QuickTimeInstaller.exe (
set installer=QuickTimeInstaller.exe
) else (
echo installer executable not found
goto end
)

7z e -y %installer% AppleApplicationSupport.msi
if not %errorlevel% == 0 (
echo cannot extract AppleApplicationSupport.msi from installer
goto end
)

mkdir QTfiles\Microsoft.VC80.CRT

7z e -y -oQTfiles -i!ASL.dll -i!CoreAudioToolbox.dll -i!CoreFoundation.dll -i!*icu*.dll -i!libdispatch.dll -i!objc.dll -i!pthreadVC2.dll AppleApplicationSupport.msi
if not %errorlevel% == 0 (
echo error on extracting AppleApplicationSupport.msi
goto end
)

7z e -y -oQTfiles\Microsoft.VC80.CRT -i!msvcp80.dll.* -i!msvcr80.dll.* -i!manifest.* AppleApplicationSupport.msi
if not %errorlevel% == 0 (
echo error on extracting AppleApplicationSupport.msi
goto end
)

del AppleApplicationSupport.msi

pushd QTfiles\Microsoft.VC80.CRT

rem strip assembly version number from filenames of msvc runtime dlls
for %%f in (msvcr80.dll.*) do move /Y %%f msvcr80.dll
for %%f in (msvcp80.dll.*) do move /Y %%f msvcp80.dll

rem find needless one out of the two manifests and remove it
for /F "delims=:" %%t in ('findstr win32-policy manifest.*') do del %%t

rem rename manifest
for %%f in (manifest.*) do move /Y %%f Microsoft.VC80.CRT.manifest

popd
:end
endlocal
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 13 December, 2013, 03:23:56 AM
Since it would appear that I am in the wrong, perhaps somebody could enlighten me as to what the purpose is of extracting the msvcr80.dll and msvcp80.dll files? It it just in case the user doesn't have VC++ 2008 runtimes installed already?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 December, 2013, 03:39:47 AM
It it just in case the user doesn't have VC++ 2008 runtimes installed already?

Exactly.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: the_weirdo on 13 December, 2013, 04:55:00 AM
Since it would appear that I am in the wrong, perhaps somebody could enlighten me as to what the purpose is of extracting the msvcr80.dll and msvcp80.dll files? It it just in case the user doesn't have VC++ 2008 runtimes installed already?

Actually, those are VC++ 2005 runtimes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lock67ca on 13 December, 2013, 10:57:37 AM
I just used Winrar to extract the Apple Application Support .msi from the iTunes installer. It's a separate installer and you don't need to fully install iTunes at all.

You can't install it, the only way is if you use something like CopyTrans Drivers Installer (http://download.cnet.com/CopyTrans-Drivers-Installer/3000-18546_4-75300288.html). Or install iTunes then uninstall everything but that one. Did you even try before suggesting? The portable way (using makeportable) is actually easier anyway.



But that's exactly what I did do. It worked and I'm still using it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 13 December, 2013, 11:21:00 AM
Quote
[qaac] release 2.29 (refalac 1.29)

* Fixed regression on 2.28: Tags were not properly copied when --concat was specified on cuesheet input.
* Fixed not to exit with failure requesting output filename when --concat was specified with --peak or --play (in which case "output filename" is nonsense).
* Some minor improvement and code refactoring.

Thanks nu774 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 22 December, 2013, 12:45:51 PM
@nu774,
thanks for the latest version of QAAC:
Quote
[qaac] release 2.31 (refalac 1.31)
posted 2 hours ago by nu 774

Just 1note: qaac.exe (32bit) still claims to be v2.30... (couldn't test 64bit)

.sundance.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 December, 2013, 01:22:01 PM
Just 1note: qaac.exe (32bit) still claims to be v2.30... (couldn't test 64bit)

64-bit version of qaac doesn't exist and yes, confirm that 2.31 shows 2.30.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 December, 2013, 07:55:04 PM
Sorry, uploaded now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 January, 2014, 03:32:47 AM
No one posted but:

Code: [Select]
[qaac] release 2.32 (refalac 1.32)
posted Dec 22, 2013, 5:28 PM by nu 774

- Fixed: --tag apID and --tag akID were written in the long tag format.


nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)? Does it need any of the other files (libgcc_s_sjlj-1.dll, libsoxconvolver.dll, libsoxr.dll)?

Thanks
Title: QAAC: discussion, questions, feature requests, etc.
Post by: aztec_mystic on 10 January, 2014, 03:37:24 AM
nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)?

You can use dependency walker to figure this out on your own.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 January, 2014, 03:46:35 AM
Thanks for the software, tested and didn't see any of the last three DLLs. I didn't ask because of the dependency thing though, I asked for features that refalac may need from these DLLs. Don't know if I explained well enough.

In a simpler way:

Open refalac? Yes, it need the first two DLLs (dependencies)

Downsample, upsample? Maybe it needs these other three DLLs but they are not dependencies (or they are called dependencies even in this case?)

Really tired right now sorry.

edit:
I think I just answered myself, of course it does, that's how it downsamples and upsamples. Also that's why there are 64-bit versions of these files, qaac doesn't have a 64-bit version. Now that I figured out I am a genius I'm gonna go to sleep a little bit, goodnight.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 January, 2014, 05:52:54 AM
nu774, does refalac use ONLY msvcr120.dll and msvcp120.dll (used with foobar2000)? Does it need any of the other files (libgcc_s_sjlj-1.dll, libsoxconvolver.dll, libsoxr.dll)?

1. You need msvc*120.dll to run refalac.
2. You don't need others in order just to run refalac, but some options (--rate, --lowpass, --matrix-*) don't work without them.
3. You can see if these DLLs are loaded with refalac --check.

Technically, msvc*120.dll is implicitly linked to refalac. When you invoke refalac, OS's loader/linker will do the job of loading and linking of dependent DLLs. When implicit dependency is not satisfied (due to missing DLL or something), the attempt will fail and OS will show up an error dialog. In other words, the executable doesn't even start up. You can easily track down these implicit dependency by Dependency Walker.

On the other hand, libsox*.dll is explicitly linked. In this case, OS does nothing automatically for them. Instead, they are loaded by refalac on runtime. This kind of linkage is usually used by plugin system (for example, fb2k will load every plugin DLL this way, so it can run without them).
You cannot see this kind of dependency by Dependency Walker by default (you have to "profile" the process).
Finally, 32bit libsoxr.dll is implicitly dependent on libgcc_s_sjlj-1.dll. So attempt to load libsoxr.dll should fail without it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 January, 2014, 06:12:59 AM
BTW main reason for using SoX related things through DLL is due to license of SoX. SoX is LGPL, but qaac cannot be. Although it's not clear if a static linking to a LGPLed library forces the same license on the derivative work, module separation seemed simpler and safer to me.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 January, 2014, 10:53:45 AM
Thanks nu774, your replies are always thorough.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 10 January, 2014, 11:53:31 AM
... SoX is LGPL, but qaac cannot be...

Why can QAAC not be LGPL?
Aren't you the author of QAAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 January, 2014, 12:34:13 PM
... SoX is LGPL, but qaac cannot be...

Why can QAAC not be LGPL?
Aren't you the author of QAAC?

Well, I'm not a lawyer so maybe I'm wrong, but qaac depends on Apple's proprietary software and libmp4v2(MPL 1.1). Both of them don't seem to be compatible with LGPL.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 10 January, 2014, 12:46:57 PM
... Well, I'm not a lawyer ...

I am not a lawyer too.
I thought, you, being the author, can choose the license.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 10 January, 2014, 05:09:16 PM
I thought, you, being the author, can choose the license.


You can, but you need to choose a license whose terms you can abide by. I think that qaac could be LGPL, because the main purpose of the LGPL is to allow free software and freeware to coexist by keeping the open and closed parts of the software separate, such as by using DLLs. Since qaac loads all of Apple's proprietary software through external DLLs, qaac should be compatible with the LGPL.

Using the GPL would be impossible, because all aspects of a program must be open source to use the GPL, and Apple's proprietary code isn't. The only way nu774 would get in trouble with the LGPL is if qaac incorporated Apple's code directly, but nu774 already avoids doing that in order to keep Apple from taking legal action against him.

The normal LGPL model allows developers of proprietary software to include LGPL software by keeping the open components as separate DLLs, so that users can clearly tell which elements of the program are open and which are closed. The qaac model is the reverse of this (the open components are the program, while the closed components are loaded from separate DLLs), but I don't see why that would make any difference, since the line between the open and closed components remains.

I could be wrong, though, as I'm not a lawyer, either. As such, nu774's cautious approach is the safest one to take, at least until someone with legal expertise can advise him.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 10 January, 2014, 08:37:34 PM
Well, my choice was not based on well studied thought, and probably some of them have been actually unnecessary.
As for dependency on Apple library, seeing that ffmpeg (LGPL) requires "non-free" configuration to enable some of encoders such as libfaac, I just thought it's better to avoid LGPL. That's all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 11 January, 2014, 03:48:01 AM
nu774, I wanted to test these two libraries with refalac but I get an error.

The command I'm trying is "refalac (or refalac64) -r 32000 (or -r 96000) file.wav" and I get "ERROR: ALAC: Not supported format".

Why?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 11 January, 2014, 04:13:16 AM
The command I'm trying is "refalac (or refalac64) -r 32000 (or -r 96000) file.wav" and I get "ERROR: ALAC: Not supported format".

The error message is indeed odd and is not quite helpful, but you can see what's going on if you turn on --verbose.
Due to sample rate conversion, sample format is converted to 32bit float which is not supported by ALAC. You have to add "-b16" or something.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 January, 2014, 02:07:01 PM
Hi
I'm interested what's the factual difference of .m4b format from .m4a and if I can use QAAC to tonvert to this format (if there's need for special software, what software is that). I'm sure that m4b stands for audiobooks so probably there's need for something extra like internal chaptering (tho m4a does contain by default chapter for song too).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 14 January, 2014, 04:57:01 PM
Hi
I'm interested what's the factual difference of .m4b format from .m4a and if I can use QAAC to tonvert to this format (if there's need for special software, what software is that). I'm sure that m4b stands for audiobooks so probably there's need for something extra like internal chaptering (tho m4a does contain by default chapter for song too).


AAC is the actual audio format, mp4 is an container. Changing it to m4a, m4b or m4r does not change the fact that it is a mp4.
http://en.wikipedia.org/wiki/MPEG-4_Part_14#.MP4_versus_.M4A (http://en.wikipedia.org/wiki/MPEG-4_Part_14#.MP4_versus_.M4A)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 January, 2014, 05:01:42 PM
AAC is the actual audio format, mp4 is an container. Changing it to m4a, m4b or m4r does not change the fact that it is a mp4.

Good, both AAC is what I know.  But I'd rather like to know what's the difference between m4b and m4a formats and if QAAC is able to generate full-featured m4b format too (or whether I need different software for this). As for chaptering I think this is possible by merging more files into one multitrack with more internal chpters.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 14 January, 2014, 05:06:14 PM
The M4B format is just MP4 with chapters, such as for audio books. There is a --chapter switch in qaac to load chapters from a file, but I have never used it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 14 January, 2014, 05:09:41 PM
The M4B format is just MP4 with chapters, such as for audio books. There is a --chapter switch in qaac to load chapters from a file, but I have never used it.

So everything I need is to use external chapters file and change the output extension to .m4b?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Zarggg on 14 January, 2014, 09:32:34 PM
You need the .m4b extension for iTunes (and maybe other software) to recognize it as an MPEG-4 Part 14 container with chapters. The container format is the same regardless of the extension; they're just conventions.

I.e., you can have a .m4a file with chapters or a .m4b file without, but the software you're using might not recognize them as such.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 January, 2014, 09:26:36 AM
[qaac] release 2.33 (refalac 1.33)
posted 2 hours ago by nu 774

- Implemented smart padding (same as fdkaac) that minimizes the possibility of gapless playback issue.
You can disable this feature by new option --no-smart-padding. However, --no-smart-padding also disables additional padding at the end of HE-AAC stream that has been implemented as a workaround for CoreAudio encoder bug.
Although I don't recommend using --no-smart-padding, it is mandatory when you want bit-identical bitstream output as iTunes (including it's bugs).
- Fixed fallback sample rate conversion when libsoxr is not present (was not working exactly as intended).
- Improved error messages for the attempt to encode non supported PCM format to ALAC.
- Minor fixes and rewriting.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 January, 2014, 06:43:35 PM
refalac64.exe (1.33) crashes when converting multiple files from foobar2000, it open multiple error windows. refalac.exe (1.33 32-bit) works fine.

Error:
Code: [Select]
Problem signature:
  Problem Event Name:    BEX64
  Application Name:    refalac64.exe
  Application Version:    0.0.0.0
  Application Timestamp:    52d7c1a3
  Fault Module Name:    refalac64.exe
  Fault Module Version:    0.0.0.0
  Fault Module Timestamp:    52d7c1a3
  Exception Offset:    000000000008e62c
  Exception Code:    c0000409
  Exception Data:    0000000000000002
  OS Version:    6.3.9600.2.0.0.256.48
  Locale ID:    1033
  Additional Information 1:    0195
  Additional Information 2:    01957bf7c2d1c23bb30701b39e430e81
  Additional Information 3:    6171
  Additional Information 4:    6171d6e585b1eae8c9cbbac37e14d099

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=280262

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt


edit:
BTW, even a single file from the CLI crashes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2014, 08:08:27 PM
Thx for reporting. Seems like incremental build for refalac64 was broken.
Uploaded re-built binary just now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 January, 2014, 09:02:14 PM
Thanks nu774. Also another thing I didn't notice before:

When the conversion is done refalac gives a weird bitrate value: for example with this file it gave me "Overall bitrate: 2.70187e-009kbps"
Code: [Select]
01. Atom Heart Mother.m4a
[100.0%] 23:45.160/23:45.160 (130.7x), ETA 0:00.000
62849556/62849556 samples processed in 0:10.907
Overall bitrate: 2.70187e-009kbps


With refalac64 I get "Overall bitrate: 636.169kbps".
Code: [Select]
01. Atom Heart Mother.m4a
[100.0%] 23:45.160/23:45.160 (151.8x), ETA 0:00.000
62849556/62849556 samples processed in 0:09.390
Overall bitrate: 636.169kbps


I am sure the real bitrate is fine, this is just a test from the command line encoder.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 January, 2014, 09:38:33 PM
Thanks, it's build seems to be broken in the same way, and probably it doesn't crash by pure luck.
Updated to v3.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 January, 2014, 11:47:23 PM
Perfect, thank you very much!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: akin0780 on 17 January, 2014, 11:08:27 PM
Thanks, it's build seems to be broken in the same way, and probably it doesn't crash by pure luck.
Updated to v3.


Hi nu774,

I'm getting the following crash report when trying to convert some FLAC files to AAC. I'm using version QAAC 2.33:

An error occurred while writing to file (The encoder has terminated prematurely with code -1073741515 (0xC0000135); please re-check parameters)

Can you look into this for me.

Alex
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 January, 2014, 11:28:02 PM
akin0780, are you 100% sure you're using v3? First of all I think the problem was just on refalac/refalac64. Everything seems fine here, can you please download qaac right now and try again?

Does an older version of qaac (2.31, 2.32) work fine? I think it's actually a library issue.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: akin0780 on 17 January, 2014, 11:51:36 PM
akin0780, are you 100% sure you're using v3? Everything seems fine here, can you please download qaac right now and try again?

Does an older version of qaac (2.31, 2.32) work ok? I think it's actually a library issue.


I am 100% sure that I'm using 2.33. I've also tried 2.32: same problem, same error code. Interestingly, 2.31 works perfectly. By the way, foobar2000 serves as my frontend.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 18 January, 2014, 12:12:05 AM
I am 100% sure that I'm using 2.33. I've also tried 2.32: same problem, same error code. Interestingly, 2.31 works perfectly. By the way, foobar2000 serves as my frontend.

2.32 or later requires MSVCR120.dll and MSVCP120.dll.
You can extract them together with qaac from qaac_2.33.zip, or download & install from http://www.microsoft.com/en-us/download/de...s.aspx?id=40784 (http://www.microsoft.com/en-us/download/details.aspx?id=40784).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: akin0780 on 18 January, 2014, 12:20:44 AM
I am 100% sure that I'm using 2.33. I've also tried 2.32: same problem, same error code. Interestingly, 2.31 works perfectly. By the way, foobar2000 serves as my frontend.

2.32 or later requires MSVCR120.dll and MSVCP120.dll.
You can extract them together with qaac from qaac_2.33.zip, or download & install from http://www.microsoft.com/en-us/download/de...s.aspx?id=40784 (http://www.microsoft.com/en-us/download/details.aspx?id=40784).


That did the trick! Thanks nu774 and eahm.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 January, 2014, 05:47:45 PM
nu774, makeportable no longer works with the new iTunes 11.1.4.62.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: moob2014 on 22 January, 2014, 07:46:19 PM
nu774, you need update qaac, because not work properly with new CoreAudioToolbox.dll 7.9.8.4

with new CoreAudioToolbox, qaac add lot of silence into to the end of the song converted.

mayby padding problem with new CoreAudioToolbox????


and makeportable no longer work.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 January, 2014, 08:57:06 PM
nu774, you need update qaac, because not work properly with new CoreAudioToolbox.dll 7.9.8.4

New one is 7.9.8.5. File and Product version.

Quote
and makeportable no longer work.

Read the post right before yours?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: moob2014 on 22 January, 2014, 09:16:56 PM
nu774, you need update qaac, because not work properly with new CoreAudioToolbox.dll 7.9.8.4

New one is 7.9.8.5. File and Product version.

Quote
and makeportable no longer work.

Read the post right before yours?

update:
As someone else already stated, the DLLs are inside AppleApplicationSupport.msi now renamed as AppleApplicationSupport_NAME.DLL and the Microsoft runtime folder is still inside AppleMobileDeviceSupport(64).msi



I know that, qaac work fine I made a mistake in the test sorry for that.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 January, 2014, 09:28:58 PM
makeportable works if you change the string to:

Code: [Select]
7z e -y -oQTfiles -i!*ASL*.dll -i!*CoreAudioToolbox*.dll -i!*CoreFoundation*.dll -i!*icu*.dll -i!*libdispatch*.dll -i!*objc*.dll -i!*pthreadVC2*.dll AppleApplicationSupport.msi

Now nu774 needs to modify qaac to read these new renamed files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 January, 2014, 09:35:54 PM
Updated makeportable (should work for both old / new packaging style).
CoreAudioToolbox.dll and others seem to be now linked with Microsoft Visual Studio 2010 C/C++ runtime which is not included in AppleApplicationSupport.msi.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 January, 2014, 09:41:09 PM
Thanks, where do we get the MS runtime to make it fully portable? Does the old one from qaac work? Also, what should be the new name of the folder "Microsoft.VC80.CRT"?

edit:
nu774, typo in makeportable.cmd line 25: iTunes version number is wrong 1.11.4 instead of 11.1.4.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 January, 2014, 10:12:16 PM
Updated makeportable (should work for both old / new packaging style).
CoreAudioToolbox.dll and others seem to be now linked with Microsoft Visual Studio 2010 C/C++ runtime which is not included in AppleApplicationSupport.msi.

Thanks, where do we get the MS runtime to make it fully portable? Does the old one from qaac work? Also, what should be the new name of the folder "Microsoft.VC80.CRT"?

It's likely that you already have them in the system, but you can download them from http://support.microsoft.com/kb/2019667 (http://support.microsoft.com/kb/2019667) ("Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update" is the latest one you need now).
Files in qaac_2.30.zip should be fine. For local (portable) install, just copy MSVC*.dll under QTportable directory (at the same level as CoreAudioToolbox.dll and others).
Unlike VC80(VS2005), VC10(MSVS2010) C/C++ runtime does not require special directory and manifests.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 January, 2014, 10:27:12 PM
Perfect done, thanks.

Remember the typo on makeportable
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 23 January, 2014, 11:13:34 AM
CoreAudioToolbox.dll and others seem to be now linked with Microsoft Visual Studio 2010 C/C++ runtime which is not included in AppleApplicationSupport.msi.

AppleApplicationSupport.msi contains F_CENTRAL_msvcr100_x86.someGUID (=msvcr100.dll)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 23 January, 2014, 11:18:56 AM
lvqcl, can we use the 3kB version without any issue? Don't really care anyway, too much work, just run makeportable and done.

edit:
Thanks for the new makeportable nu774.

Nothing crazy but the type is still there: "rem iTunes 1.11.4 and onwards appends "AppleApplicationSupport_" prefix."
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 January, 2014, 11:36:09 AM
AppleApplicationSupport.msi contains F_CENTRAL_msvcr100_x86.someGUID (=msvcr100.dll)

Thanks for pointing it out. Updated makeportable.cmd to extract them.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 January, 2014, 11:59:55 AM
[qaac] release 2.34 (refalac 1.34)
posted an hour ago by nu 774

- Added experimental option --num-priming to specify arbitrary number of priming samples between 0 and 2112. This option can only be applicable to AAC LC.

- 2112 is the default number of priming samples (delay) of Apple encoder. By specifying smaller value, you get shorter delay. --num-priming=0 is equivalent to --no-delay, and in fact, --no-delay is now re-implemented by --num-priming.

- 1024 or greater should be safe. In many cases, it seems that you can go as low as 576 (=448 + 128, where 448 is the number of borrowed samples from the previous frame for short block case, and 128 is the size of short block) and still be able to achieve perfect gapless playback. However, considering long block case and also the fact that faad (CLI frontend) discards first 1024 samples, setting smaller value than 1024 cannot be said to be always safe.

- When number of priming samples is X where X < 576, decoder should not be able to reconstruct first 576 - X samples at least. Therefore, you should avoid it unless that portion of input is known to be silent.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

nu774, are you going to remove "--no-delay"?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: tvholic on 07 February, 2014, 11:34:00 AM
qaac.exe 2.34 x86 doesn't run on Windows XP.  It's flagged to require OS version 6.0 (Vista) or higher.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 07 February, 2014, 03:47:01 PM
qaac.exe 2.34 x86 doesn't run on Windows XP.  It's flagged to require OS version 6.0 (Vista) or higher.


I am also unable to run qaac 2.34 x86 on Windows Xp pro.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 07 February, 2014, 04:32:26 PM
Probably because of the new Visual Studio 2013 runtime implemented since 2.31?

You still have XP guys? Sorry but it's time to upgrade.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 07 February, 2014, 05:32:28 PM
Microsoft claims that the VS 2013 runtime is compatible with XP:

http://www.microsoft.com/en-ca/download/de...s.aspx?id=40784 (http://www.microsoft.com/en-ca/download/details.aspx?id=40784)

so you may be able to get the latest qaac to run. If the x86 runtime works, please let us know.

If you're going to continue using XP, though, you should get used to the idea of never upgrading any software unless it's absolutely necessary; otherwise, you're just going to break things as new programs become less and less compatible with the OS. As for qaac, unless you have need of the specific features introduced in the latest versions, you can just use an older one if the runtime doesn't work. There have been no changes to my knowledge that would affect the AAC output beyond using the new switches, so unless you know what the new versions offer and need one of their features, don't upgrade. Problem solved.

That being said, if there is some irreversible change in current and future qaac versions that will break XP compatibility, it would be good to note that somewhere on the qaac site so XP users will know which version to get.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: tvholic on 07 February, 2014, 07:39:50 PM
It's not the MS runtime, it's the linker setting for qaac.  Editing the qaac.exe PE header and changing MajorSubsystemVersion from 6 to 5 makes it work in XP.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 07 February, 2014, 08:00:12 PM
In that case, nu774 should be able to fix it in the next version.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 February, 2014, 08:24:30 PM
Thanks for reporting. In fact, I was informed by a HA user for not being able to run qaac 2.34, but I didn't hit on this.
2.34 was built using toolset v120 by accident, and uploaded fixed build as 2.34.1 just now.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 07 February, 2014, 09:41:43 PM
nu774, 2.34.1 reports as 2.34, is it the new one anyway?

Thanks.

ps:
Are you going to completely remove --no-delay in one of the future versions?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 February, 2014, 11:32:55 PM
nu774, 2.34.1 reports as 2.34, is it the new one anyway?

It's just a rebuild under different build configuration, without any source code change.

Quote
Are you going to completely remove --no-delay in one of the future versions?

Maybe, but not in the near future.
It's redundant, still there just for backward compatibility, but also there's no strong reason to remove it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 08 February, 2014, 06:04:02 AM
It's just a rebuild under different build configuration, without any source code change.


The rebuild is running fine on my old windows xp. I will upgrade asap just to keep on using qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 11 February, 2014, 08:18:05 PM
Regarding system requirements, would you only need the x86 VC++ 2013 runtime to run qaac on Windows 7 x64, since qaac is a 32-bit application, or do you need the x64 runtime for a 64-bit OS? (I assume it's only needed to run 64-bit applications.)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: the_weirdo on 12 February, 2014, 02:41:57 AM
Regarding system requirements, would you only need the x86 VC++ 2013 runtime to run qaac on Windows 7 x64, since qaac is a 32-bit application

Yes. 32-bit applications only need 32-bit runtime libs to run.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: EagleScout1998 on 09 March, 2014, 07:42:41 PM
I have decided to experiment a little with QAAC. I am trying to figure out how to configure foobar2000 to work with QAAC. Perhaps, it’s something I might use for my iPod in place of MP3 @ -V 2.

I'll confess that I didn't read through every single post in this topic. I am confused about all the different command line options, what they do, and whether they're actually needed. I am basically trying to find a parameter than I can plug into foobar2000 and not have to worry about the technical details. Below is a command I copied and pasted from some other topic.

--tvbr 82 --no-optimize --ignorelength - -o %d

I do know that 82 refers to the quality setting. In this case, it's about 165 kbps. The rest of the string is Greek.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 10 March, 2014, 03:01:28 AM
...
--tvbr 82 --no-optimize --ignorelength - -o %d

I do know that 82 refers to the quality setting. In this case, it's about 165 kbps. The rest of the string is Greek.

https://github.com/nu774/qaac/wiki/Command-Line-Options (https://github.com/nu774/qaac/wiki/Command-Line-Options)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: EagleScout1998 on 10 March, 2014, 06:58:45 AM
I have seen this. My problem is that I don’t understand it. Most of these command line options are too technical for me to wrap my head around. When converting to MP3 in foobar2000, I never had to worry about encoder settings; I just slid the quality bar to the level I wanted (usually –V 2 or –Q 0.50 if using Nero) and accepted whatever other parameters foobar2000 gave to it. With QAAC, it’s different.

I would like to know if there are any “recommended” set of parameters to include when configuring foobar2000 to use QAAC. This is what I currently have, which I copied from here (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=91422&view=findpost&p=817602). Would you recommend any changes be made?

Encoder file: qaac.exe
Extension: m4a
Parameters: --tvbr 82 --no-optimize --ignorelength - -o %d

Format is: lossy
Highest BPS mode supported: 32
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Frankie on 16 March, 2014, 06:05:45 PM
Folks, I could also need some help with setting up foobar to use qaac.

First I used this commandline:

Code: [Select]
%s -V 72 --ignorelength - -o %d


Then I tried the commandline EagleScout1998 posted here:

Code: [Select]
%s --tvbr 72 --no-optimize --ignorelength - -o %d


Unfortunatly none of those works for me, I always get the same error:



(https://hydrogenaud.io/imgcache.php?id=8291e2466f503e0402dc5fb21b935939" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/XGgzz9d.png)



What am I doing wrong?

Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 16 March, 2014, 06:50:07 PM
Remove %s from your commandline
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Frankie on 17 March, 2014, 03:25:48 PM
Remove %s from your commandline

When I remove %s it doesn't work at all and gives me an error before conversion even starts:



(https://hydrogenaud.io/imgcache.php?id=512f83c68f2a3386493cbf7c80137d08" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/2fkqrb8.png)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 March, 2014, 03:42:44 PM
Frankie, do you have iTunes installed or did you create the portable package? Both are ok, just want to make sure you have all the libraries.

Follow the commands here: https://github.com/nu774/qaac/wiki/Examples#foobar2000 (https://github.com/nu774/qaac/wiki/Examples#foobar2000)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Frankie on 17 March, 2014, 03:54:12 PM
Frankie, do you have iTunes installed or did you create the portable package? Both are ok, just want to make sure you have all the libraries.

Follow the commands here: https://github.com/nu774/qaac/wiki/Examples#foobar2000 (https://github.com/nu774/qaac/wiki/Examples#foobar2000)

No, I don't have iTunes installed (and I don't want to install it). I just downloaded qaac from this link:
https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.35.zip?attredirects=0&d=1)

Then I unzipped it and put all the files in my foobar directory.

When I follow the instructions on the site you linked and use the commandlines that are posted there I get the exact same error that I already posted (the 2nd one).

So without "%s" conversion doesn't even start and I get an error immediatly. With "%s" conversion is running but I get an error after the conversion. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 March, 2014, 03:59:03 PM
Frankie, qaac requires Apple libraries from iTunes or QuickTime. You don't need to install iTunes or Quicktime but you have to download one of the two together with makeportable.zip (https://sites.google.com/site/qaacpage/cabinet) to create a portable version of all the necessary libraries to copy where qaac.exe is.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Frankie on 17 March, 2014, 04:15:20 PM
Frankie, qaac requires Apple libraries from iTunes or QuickTime. You don't need to install iTunes or Quicktime but you have to download one of the two together with makeportable.zip (https://sites.google.com/site/qaacpage/cabinet) to create a portable version of all the necessary libraries to copy where qaac.exe is.

Hm, at https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/) it says "You only have to download qaac-x.xx.zip" But OK, I dl'd the makeportable.zip, can you pls explain what exactly I have to do with this file now?

*edit* OK, maybe I should have read everything on the page I linked. I now downloaded the QT installer, used the file from makeportable.zip on it and copied all resulting files to my f2k folder. And now it works! 

Thx for your help folks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: the_weirdo on 18 March, 2014, 04:12:30 AM
Hm, at https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/) it says "You only have to download qaac-x.xx.zip" But OK, I dl'd the makeportable.zip, can you pls explain what exactly I have to do with this file now?

If you read more carefully, you would see at least this sentence: "However, Apple Application Support is required."
"You only have to download qaac-x.xx.zip" means you only need to download the file qaac-x.xx.zip at cabinet page, not all of them, if qaac is what you want. Because of legal reason, qaac developer cannot include Apple Application Support files in the package.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: polemon on 30 March, 2014, 11:18:28 AM
You still have XP guys? Sorry but it's time to upgrade.


Sometimes this is not an option. Depending on other circumstances, such like drivers or other software, you're stuck with WinXP for the time being.
To put this into perspective: The military uses software that requires DOS 3.0 or even CP/M in some places. Using this for audio coding is a very big stretch, of course, but eh, you get the idea, I suppose...

However, since qaac is a modern, experimental program, yeah, I see no reason why supporting an outdated OS makes sense...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 30 March, 2014, 11:35:34 AM
Fortunately, QAAC is more or less a stand-alone encoder.

In contrast, x265 is also a library linkable in e.g. ffmpeg; when the developers decided to use a Windows 6.x native feature for thread-safe classes, which was not supported by the XP kernel (no, not simply a linker flag), many "users" (should rather mean "testers", to be honest) switched to a kind of "muslim rage" mode. Already before they realized that linking a Vista+ libx265 also made ffmpeg crash when trying to encode HEVC with it... So the developers had to adapt a solution which already worked in x264. 32 bit builds will soon be XP compatible again. Which doesn't mean they will get far with it. HEVC is so complex that the 2 GB for a 32-bit process will barely be sufficient for 1080 HD video, not to mention 4K UHD video even. And the encoding speed on a PC so old that only XP would run on it is another matter.

Enough off-topic...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sven_Bent on 30 March, 2014, 03:35:41 PM
Sorry for not reading all the thread.

but 2 pass true vbr option would be wonderful sometimes the TVBR just makes to big steps

V 73 = 108kbits
V 82 = 118kbits
V 91 = 141kbits ...

Im targeting 128kbits

im not sure how much of a quality "loss" there is going from tvbr to abr mode
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 30 March, 2014, 03:42:59 PM
QAAC can only provide the features the Apple AAC Encoder supports. If you want a different core feature, try to ask Apple to implement it...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 30 March, 2014, 04:54:08 PM
Im targeting 128kbits


If you want some specific bitrate then you should use CBR or ABR modes
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 31 March, 2014, 02:25:32 AM
But you should not want specific bitrates anymore. VBR has the advantage that the codec uses as much as it needs to maintain a stable quality. Modern container formats like MP4 or MKV are able to handle VBR audio.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sven_Bent on 31 March, 2014, 06:51:46 PM
Im targeting 128kbits


If you want some specific bitrate then you should use CBR or ABR modes


Which i already said above... but om unsure how much a Quality "loss" there will be with the bit distribution being less flexible
2pass vbr (like in nero digital) if it had been possible would give me the benefit of both worlds.
CBR seems to be hitting pretty close to my target bitrate though

So in reality it boils down to Quality on QAAC CVBR vs Nero digital 2pass VBR, which if off topic for this thread

@light
Totally agree but having a size limit i need to adjust for size in encoding
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 March, 2014, 11:07:12 PM
On some extreme cases, even ABR can give you resulting bitrate that is far from the one you have requested. For instance:
qaac -a 128 fatboy.wv --> 187.877kbps
By concatenating fatboy.wv (which is very short) multiple times, bitrate decreases but you will still get 152kbps or so and no less.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sven_Bent on 06 April, 2014, 06:08:11 PM
possibility to implant a /low cpu priority switch ? which will start qaac/coretools in lower than normal cpu priority ?

i know ican do it by command line  Start /below normal qaac.exe but that pop up a new windows that steals focus which is annoying when multitasking.
adding /b to not open a new windows just screws it all up

this is a part of my batch files

start /belownormal /wait Qaac.exe -V 73  "%~n1_track2.wav"
ren "%~n1_track2.m4a" "%~n1_track2.V73.m4a"

start /belownormal /wait Qaac.exe -V 82  "%~n1_track2.wav"
ren "%~n1_track2.m4a" "%~n1_track2.V82.m4a"

if i add /b to make it not start in a new windows, it ignores the /wait tag for some reason. which results and over seeking/disk trashing and reduces performance
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 April, 2014, 08:51:05 PM
$ qaac | grep nice
-n, --nice            Give lower process priority.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sven_Bent on 08 April, 2014, 12:44:50 PM
$ qaac | grep nice
-n, --nice            Give lower process priority.



Thank you i had completely missed that option
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 01 May, 2014, 05:48:56 AM
[qaac] release 2.36 (refalac 1.36)
posted 6 minutes ago by nu 774
2.36 includes some minor fixes:

Improved accuracy of seeking on MP3 files by increased amount of preroll. Still doesn't count how many frames required due to bit-reservoir, but prerolling of 9 frames should be enough...
Fixed bitrate formatting on --format. Has been printing in decimals for 3ch only.
Fixed --stat. Incorrect values were written at the beginning (regression introduced by --num-priming or something).
Updated taglib.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 May, 2014, 06:48:43 AM
I was somehow thinking that bit reservoir is mainly for making CBR more like ABR-ish, so I was surprised to see that lame -V5 (VBR) regularly generates files having dependency of 9 preceding frames at most due to bit reservoir, that made me fix preroll distance for MP3.
I din't think it was being abused for VBR THAT much. Could anybody tell me why?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: halb27 on 01 May, 2014, 03:50:59 PM
If VBR would only change frame bitrate a maximum local bitrate of just 320 kbps were possible. By active inclusion of the bit reservoir local bitrate can be significantly higher. In order to do so and because there is no look ahead mechanism, bit reservoir must be kept on a high level no matter whether it's actually used or not.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 01 May, 2014, 04:47:34 PM
Reservoir usage for VBR -V5 in two versions of LAME:

3.98.4
(https://hydrogenaud.io/imgcache.php?id=fc1ab8c87b47df3863f75772e1d3b87b" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/q7OEJoQ.png)

3.99.5
(https://hydrogenaud.io/imgcache.php?id=a16450f57aa0e0c8276c978fb03c2cc6" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/rvTRxz8.png)

(3.96, 3.97 are similar to 3.98.4)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 May, 2014, 09:08:51 PM
harb27:
Thanks, that makes sense. What confused me was that VBR looked more aggressively using reservoir than CBR.

lvqcl:
Wow. I wasn't aware of that. Astonishing difference.
What is the software in the picture?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IgorC on 01 May, 2014, 09:53:37 PM
It's encspot
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 May, 2014, 01:07:51 AM
It's encspot

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 02 May, 2014, 08:39:25 AM
EncSpot

Which version of EncSpot is it ? Mine doesn't show this tab
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 02 May, 2014, 10:27:25 AM
Which version of EncSpot is it ? Mine doesn't show this tab

Encspot 2.1 Pro (http://www.hydrogenaudio.org/forums/index.php?showtopic=49769) build 494, and license file (http://wayback.archive.org/web/20070306173418/http://guerillasoft.co.uk/encspot/encspotprolicense.txt)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 02 May, 2014, 12:53:39 PM
Indeed ... I remember that GuerillaSoft officially released this license code because it abandoned EncSpot.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 03 May, 2014, 07:25:14 AM
Encspot 2.1 Pro (http://www.hydrogenaudio.org/forums/index.php?showtopic=49769) build 494, and license file (http://wayback.archive.org/web/20070306173418/http://guerillasoft.co.uk/encspot/encspotprolicense.txt)

I have v2.2 Pro beta 2 with the free license, I guess that's the one you're talking about because v2.2 is build 494 while latest v2.1 beta 1 is build 489.

Anyway, I miss three tabs: Bit Graph, Reservoir Usage and Big values, tested with files encoded with LAME 3.98.4 and 3.99.5 both coming from Rarewares, VBR and CBR.
Any idea what I'm doing wrong ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 03 May, 2014, 08:15:47 AM
True, EncSpot 2.2 beta 2 does not contain these tabs anymore. But you still can get at least max. and avg. values as directory table columns.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 03 May, 2014, 09:07:54 AM
google for "http://www.hydrogenaudio.org/forums/index.php?showtopic=45738" (with quotes)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 03 May, 2014, 09:34:48 AM
So there is a v2.1 Pro build 494. And it's showing all of the tabs
Thanks for the tip
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 10 May, 2014, 12:58:27 PM
[qaac] release 2.37 (refalac 1.37)
posted 3 hours ago by nu 774
Fixed a bug: AAC in CAF generated by qaac --caf was not playable due to bogus kuki chunk (Descriptors inside of esds box are expected, but qaac was writing bare AudioSpecificConfig).

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

Thanks nu774 as always for your great work.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: tahaa7 on 15 May, 2014, 11:57:10 AM
I don't have much experience with AAC and lossy encoders in general, since I don't usually use them, but I am now inclined to do so because I do want to have a few more tracks on my poor 16GB iPhone than I would be able to with lossless codecs.

Having said that, I ask what is the best AAC encoding option with qaac, quality-wise? I don't care about efficiency, etc., I just want the closest thing to lossless without actually using lossless. From what I've read so far on QuickTime AAC encoder, it seems like the best option quality-wise would be CVBR @ 320kbps with quality 96, is that correct?

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: o-l-a-v on 15 May, 2014, 12:45:12 PM
I'd go tvbr -127. AFAIK cvbr is made if you want to achieve a given bitrate = quality is not 1st priority. TVBR on the other hand has quality as its' primary goal.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 16 May, 2014, 01:47:05 AM
The C in CVBR is a little confusing, compared to the C in Constant Bitrate.

Comparing constant and variable bitrate modes, your result will have either a rather constant bitrate or a rather constant quality. The former is only interesting for narrow bandwidth transmissions or where an obsolete container format requires it. Well, it would possibly not even support AAC at all. So whereever possible, one should prefer variable bitrate, and if it doesn't need to be Constrained, go for True Variable Bitrate.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: tahaa7 on 16 May, 2014, 03:31:55 AM
I'd go tvbr -127. AFAIK cvbr is made if you want to achieve a given bitrate = quality is not 1st priority. TVBR on the other hand has quality as its' primary goal.


Comparing constant and variable bitrate modes, your result will have either a rather constant bitrate or a rather constant quality. The former is only interesting for narrow bandwidth transmissions or where an obsolete container format requires it. Well, it would possibly not even support AAC at all. So whereever possible, one should prefer variable bitrate, and if it doesn't need to be Constrained, go for True Variable Bitrate.


But from my experiments so far, CVBR produces the largest files of all modes at 320 kbps, and overall bitrate of CVBR-encoded files is routinely above 320 (and never below 320), on some tracks I've encoded so far it goes up to 380 kbps. So shouldn't that mean best quality? Isn't True VBR all about having the best efficiency? From what I've read so far, Constrained VBR actually sets a minimum bitrate, and is allowed to go up if necessary, whereas True VBR has no minimum bitrate, isn't that correct?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 16 May, 2014, 04:01:01 AM
"The highest average bitrate" does not certainly mean "the highest possible quality", but possibly rather "the same quality may have been achieved with less waste". This explanation regarding a minimum bitrate may be true; there is a chance that it is achieved by stuffing the file with useless junk.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 May, 2014, 05:21:00 AM
From what I've read so far, Constrained VBR actually sets a minimum bitrate, and is allowed to go up if necessary, whereas True VBR has no minimum bitrate, isn't that correct?

Not exactly. For example, try encoding sine wave with CVBR 320kbps. If it doesn't really need bits like in this case, bitrate will go much lower.
However, also try encoding with --gain -50 or something like that (this makes input _VERY_ quiet). TVBR will aggressively cut bitrate for this ("Hey, this is too quiet and barely audible. Let's give bits for other parts!"), but CVBR does not so much.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 May, 2014, 05:06:42 AM
[qaac] release 2.38 (refalac 1.38)
posted an hour ago by nu 774

Allow nesting of ${} in --fname-format.
Now you can write something like ${albumartist|${artist}} for example, which means:

When album artist tag is present and non-empty, it evaluates to album artist tag's value.
Otherwise, it evaluates to artist tag's value.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 May, 2014, 11:31:31 AM
[qaac] release 2.39 (refalac 1.39)
posted 26 minutes ago by nu 774

Added dedicated MP4 reader, which supports:

Deconding AAC-LC, MP1/2/3, ALAC (qaac), ALAC (refalac).
Perfectly support files with iTunSMPB and multiple edits. In files with multiple edits, there exist multiple valid spans to be played back. In other words, there are multiple gaps to be skipped. As far as I know, there is NO such software that supports it properly. If you are interested, try https://sites.google.com/site/qaacpage/cabi...tiple-edits.zip (https://sites.google.com/site/qaacpage/cabinet/Multiple-edits.zip).

This file contains 3 edits in it. When properly decoded/played, it contains exactly 30 seconds music. However, in this file there are very short 2 gaps to be skipped in the middle as well as first delay and end padding. Therefore, no software other than qaac should play it correctly without pops/clicks exactly in 30 seconds.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 May, 2014, 09:41:43 PM
[qaac] release 2.40 (refalac 1.40)
posted an hour ago by nu 774

Fixed new MP4 decoder introduced at 2.39 (found seek related bug, and ALAC has been trimmed too much).

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jml90 on 22 May, 2014, 04:01:08 PM
I don't know if I can ask a question, here. The QAAC site sends me to this post, and I don't want to start a new topic for this question. I'm new in the digital audio world, so don't kill me. Also English is not my native language so excuse me for my grammarians errors.

Well I start, I'm tired of ripping my CDs everytime I decide to change from format or codec. I've been using QAAC for a year. When the source is Lossless I use TVBR 109 for Audio-CD (44,1 KHz) and TVBR 127 for DVD-Video with LPCM tracks (48 KHz). And when the source is Lossy I try differents TVBR qualities comparing with Spek from the original to the new one.

Now I want to keep in a Lossless format my CDs. So I don't have to keep ripping everytime I change my mind. I choose ALAC. I know that FLAC have a better compression ratio but I'm used to the iTunes world. Since my first iPod in 2007, iTunes became my favorite music player. So ALAC is the smartest desicion.

This is the situation. I usually use normalize in QAAC to keep the max volume per track of the same album. To do this with ALAC I put the WAVs of the uncompressed audio from the Audio-CD, in the same folder that QAAC. I run something like this:

qaac.exe --alac --concat --normalize -b 16 --verbose -o "1.m4a" *.wav

I delete the WAVs. I open 1.m4a with Foobar2000, it detects the tracks as chapters. I convert to WAV 16 bits with no dither to the same folder, one file per track. And I run:

qaac.exe --alac --verbose *.wav

I delete 1.m4a and I move the m4a files to my iTunes folder and start to fill with tags and that stuffs.

Now my question is this. Normalize convert the audio to float 32 bits. That's why i put -b 16. But I don't really know what this means. If:

a) The normalize filter is applied with an input of int 16 bit and the output is also int 16 bits
b) int 16 bits transform to float 32, the filter is applied, and then the bit depth is reduced to 16 bits using dither TPDF.

If the answer is a, it's perfect. But if it's b, I think I shouldn't use normalize since it applies dither and cause noise.

What do you think? Thank you.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 May, 2014, 08:46:54 PM
--normalize will multiply each sample by some floating point number. For example, when the original peak was -3dBFS and you want to make the new peak to be at around 0dBFS, you have to multiply each sample by 1.4 or something. Multiplying by 1.4 yields also float.. not integer.
-b16 will apply TPDF dither when it scales down bit depth. If you don't want that behavior, use --no-dither.

Having said that, I don't recommend --normalize for lossless archiving unless you have a special reason to do so. Once you have normalized, it means the result is NOT lossless (=identical) copy of the original CD even if you are using lossless codec, which means that you cannot check validity of the results using AccurateRip DB or something.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 23 May, 2014, 02:12:43 AM
If you want to play different songs with similar "loudness", but keep a lossless archive, I believe that techniques like ReplayGain may be more suitable. But they possibly can't help to equalize rather linear (e.g. classic) with dynamic-compressed (usually pop) sources either.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jml90 on 23 May, 2014, 01:00:36 PM
--normalize will multiply each sample by some floating point number. For example, when the original peak was -3dBFS and you want to make the new peak to be at around 0dBFS, you have to multiply each sample by 1.4 or something. Multiplying by 1.4 yields also float.. not integer.
-b16 will apply TPDF dither when it scales down bit depth. If you don't want that behavior, use --no-dither.

Having said that, I don't recommend --normalize for lossless archiving unless you have a special reason to do so. Once you have normalized, it means the result is NOT lossless (=identical) copy of the original CD even if you are using lossless codec, which means that you cannot check validity of the results using AccurateRip DB or something.


Thank you. I didn't understand why "--normalize" have to transform the bith depth to float. I won't be using that filter again since it applies dither and I don't want that. Except in special cases. For example I have a DVD of Madonna's concert S&S Tour released around 2010. I demuxed the PCM track, encoded to ALAC with QAAC with the "--raw" options and applied "--normalize" and in the analysis shows a peak around 0.4. In that case I think is useful to use --normalize. Not? If the answer is yes, should I let the dithering happens or should I use --no-dither.

Thank you
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jml90 on 23 May, 2014, 01:18:09 PM
If you want to play different songs with similar "loudness", but keep a lossless archive, I believe that techniques like ReplayGain may be more suitable. But they possibly can't help to equalize rather linear (e.g. classic) with dynamic-compressed (usually pop) sources either.


Thank you. I use ReplayGain. iTunes have it's own way, instead of writing the appropiate ReplayGain tag it writes iTunNORM tag. But I use beaTunes who writes both tags. Other players like Foobar2000 use the ReplayGain tag. ReplayGain make every song sound at the same volume. It's useful to a party, reunion o whatever when you play a list of songs and don't want to keep rising or decreasing the volume. But what it makes it's to decrease volume in almost all songs, except when the song is not very loud.

The reason why I used --normalize it's not for listening in my computer but in my iPod and my cellphone when the volume insufficient.

I think I won't be using --normalize for ALAC. When I want to transfer this song to iPod or cellphone I will encode to AAC with the normalize filter. I believe in lossy formats the bit depth it's not important.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Sixth Street on 03 June, 2014, 02:59:45 PM
I'm trying to configure HE-AAC transcoding via QAAC for Subsonic, but I can't seem to figure out the HE-AAC.

I've got LC working via:

Step 1 - ffmpeg -i %s -f wav -
Step 2 - qaac -a %bk --adts - -o -

Can someone help on how to configure for HE-AAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 June, 2014, 05:55:14 PM
Sixth Street, is something like "qaac -v128 --he %bk --adts - -o -" working?

Please change after "--he" as you like, I don't even know if you can do --adts with --he. Also, as quoted from the CLI "HE AAC mode (TVBR is not available)" so, no -V, only -v, -c and -a.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 04 June, 2014, 02:38:03 AM
Checking a 5.1 M4A file created by QAAC using MediaInfo, you may notice a certain difference between two distinct values related to the "channel count". I would assume that MediaInfo just reports header values as they are found (is there another AAC / M4A analysis tool to compare?).

Is this a "bug" of QAAC (putting a wrong value in a header field), or based on a peculiarity of the AAC format (e.g. multichannel encoding being an extension to stereo since MPEG-2 BC audio)? ... Well, I may be wrong here, AAC is also known as MPEG-2 NBC (non backward compatible), so I hope there was no similar mistake.

Code: [Select]
General
Complete name                            : ToS_QAAC.m4a
Format                                   : MPEG-4
Format profile                           : Apple audio with iTunes info
Codec ID                                 : M4A
File size                                : 37.4 MiB
Duration                                 : 12mn 14s
Overall bit rate mode                    : Variable
Overall bit rate                         : 427 Kbps
Encoded date                             : UTC 2014-06-04 06:30:09
Tagged date                              : UTC 2014-06-04 06:31:16
Writing application                      : qaac 2.38, CoreAudioToolbox 7.9.8.3, AAC-LC Encoder, TVBR q91, Quality 96

Audio
ID                                       : 1
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 12mn 14s
Bit rate mode                            : Variable
Bit rate                                 : 426 Kbps
Maximum bit rate                         : 578 Kbps
Channel count                            : 2 channels
Original Channel count                   : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 37.3 MiB (100%)
Encoded date                             : UTC 2014-06-04 06:30:09
Tagged date                              : UTC 2014-06-04 06:31:16
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 June, 2014, 10:08:36 AM
mp4a.channelcount is intentionally set to either 1 or 2, since in the former spec (ISO 14496-12) only 1 or 2 was allowed. However, it seems that no such restriction present in the new spec (4th ed @2012-7-15). Therefore, maybe I should fix qaac to write actual number of channels.

On the other hand, I can say for sure that nothing in AudioSampleEntry (mp4a) matters and cannot be taken seriously.
For example, samplesize field (typically it is 16) is non-sense for AAC.
samplerate field is 16.16 fixed-point, so not enough to represent high samplerate such as 96kHz.
I don't understand why MediaInfo looks at it at all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 07 June, 2014, 05:04:04 PM
[qaac] release 2.41 (refalac 1.41)
posted 6 hours ago by nu 774

Add --limiter. --limiter applies smart limiter that softly clips portions where peak exceeds (near) 0dBFS. Softly means that it applies non-linear filter to surrounding half cycles (nearest zero crossing point to zero crossing point) so that the result fits in under 0dBFS but still is smoothly connected to other parts, resulting in much smaller audible distortion than dumb hard clips.
For CVBR/ABR/CBR mode, bitrate value less than 8 is now treated as "bits per sample". Bitrate is computed as the following:
  Bitrate = bits_per_sample * number_of_channels * sample_rate
For example, --cvbr 2 is now equivalent for --cvbr 192 (=2*2*48000) for 2ch, 48kHz case. This can be useful when you want to use CVBR/ABR/CBR and want constant quality setting for varying number of channels or sample rate.
Other minor changes.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 June, 2014, 01:17:06 AM
nu774, why was foo_input_caf moved to "Old"?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 June, 2014, 08:19:49 AM
nu774, why was foo_input_caf moved to "Old"?

Now it's here:
https://github.com/nu774/foo_input_caf/releases (https://github.com/nu774/foo_input_caf/releases)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Carsi on 12 June, 2014, 11:12:09 AM
Anyone tried the new limiter option? Am I correct in thinking that it act's like a declip feature....kind of?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 June, 2014, 06:39:08 PM
Anyone tried the new limiter option? Am I correct in thinking that it act's like a declip feature....kind of?

No. --limiter doesn't magically repair already hard clipped input (that is, peaks beyond 0dBFS are already cut off / thrown away).
Instead, --limiter works on floating point input that can hold peaks beyond 0dBFS and softly controls the amplitude so that output amplitude doesn't exceed the threshold.
Compare the following:
Code: [Select]
qaac --play --gain=6 -b16 foo.wav           # hard clip
qaac --play --gain=6 -b16 --limiter foo.wav  # soft clip

In this example, input is boosted by 6dB in floating point domain then converted into 16bit int. This will cause clipping if peak of foo.wav is higher than -6dBFS, but with --limiter you will have much less audible defect.
Note that non-linearity of --limiter is only capable of up to +9dBFS or so. Beyond that is simply hard clipped.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: AiZ on 23 June, 2014, 02:34:00 PM
Hello everybody,

With C.R.Helmrich and IgorC advices, I'm posting about a problematic intro for Apple/iTunes HE-AAC encoder.
Upload is here (http://www.hydrogenaud.io/forums/index.php?showtopic=106106), anything under 80kbps is easily caught.
Just for info, sample is less than 5 seconds of well-known (?) Mr Probz's Waves remix by Robin Schulz.

Have a nice day,

        AiZ
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 02:01:50 PM
nu774, is there a particular reason the TVBR settings numbers are what they are? Can we use a "standard" set like I suggested on the other thread? For example: 0, 10, 20, 30, 40, 45, 50, 60, 70, 80, 90, 100, 110, 115, 125?

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 03 July, 2014, 02:24:46 PM
I think these numbers are from Apple encoder.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 02:26:42 PM
I think these numbers are from Apple encoder.

The range I know but even the precise one that the CLI selects?

For example:

Q5 - Q13 = 9

Q5 - Q13 I understand this is Apple but 9 is always picked because nu774 decided? Can he just change it to 10?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 03 July, 2014, 02:35:10 PM
https://github.com/nu774/qaac/wiki/Encoder-configuration (https://github.com/nu774/qaac/wiki/Encoder-configuration)

Quote
TVBR quality steps

Although TVBR option allows arbitrary value in 0-127 range, internally AAC codec has only 15 actually functional quality steps, therefore the value is get rounded to one of the following:
0    9    18    27    36    45    54    63    73    82    91    100    109    118    127
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 02:39:49 PM
Brazil2, useless and time wasting comment, please read here: http://www.hydrogenaud.io/forums/index.php...st&p=868861 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=106199&view=findpost&p=868861)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 03 July, 2014, 02:53:31 PM
Not useless because it's the reason why it must be Q63, Q73, Q82 and so on, and not Q60, Q70, Q80 because the encoder always falls back to the default values.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 02:55:12 PM
Not useless because it's the reason why it must be Q63, Q73, Q82 and so on, and not Q60, Q70, Q80 because the encoder always falls back to the default values.

No shit? That's the reason I'm asking if nu774 can change them.

Sorry for the misunderstanding if someone didn't get that 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 03 July, 2014, 03:15:59 PM
As I understand it it's an encoder (CoreAudioToolbox.dll) limitation, not a QAAC.exe one.
But I might be wrong
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 03:26:11 PM
As I understand it it's an encoder (CoreAudioToolbox.dll) limitation, not a QAAC.exe one.
But I might be wrong

Yes I think so, but I am trying to understand if it's only the range or the exact fallback number as well.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: The Seeker on 03 July, 2014, 03:32:18 PM
Some nice news on the foobar2000 site:

Quote
Latest news

2014-07-03
New release: foobar2000 v1.3.3 beta 1.
Download...
Read change log...
Free Encoder Pack now includes QAAC allowing the new foobar2000 version to use iTunes AAC encoder.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 03:36:16 PM
Some nice news on the foobar2000 site:

Quote
Latest news

2014-07-03
New release: foobar2000 v1.3.3 beta 1.
Download...
Read change log...
Free Encoder Pack now includes QAAC allowing the new foobar2000 version to use iTunes AAC encoder.


At this point he could even add ALAC with refalac, no Apple software needed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: The Seeker on 03 July, 2014, 03:37:45 PM
At this point he could even add ALAC with refalac, no Apple software needed.


Apart from Apple Application Support, of course.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 July, 2014, 03:38:58 PM
At this point he could even add ALAC with refalac, no Apple software needed.


Apart from Apple Application Support, of course.

Nope, refalac is standalone.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: The Seeker on 03 July, 2014, 03:43:21 PM
Nope, refalac is standalone.


I took your post to mean with QAAC and refalac, no Apple software needed. You're quite right, of course.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 09 July, 2014, 12:25:39 PM
Hi all,
Searching for a way to convert my FLAC library to AAC, I stumbled across qaac / foobar. This is exactly what I was looking for. Great converter, thanks a lot to the developer.
I have tried out different conversions and noticed the following behaviour when converting flac files to m4a and then playing the m4a in foobar.
Source FLAC file = 44.1 kHz -> converted m4a expands to 44.1kHz upon playback in foobar
Source FLAC file = 88.2 kHz -> converted m4a expands to 48kHz upon playback in foobar
Source FLAC file = 176.4 kHz -> converted m4a expands to 48kHz upon playback in foobar
Source FLACs of 48, 96 and 192kHz -> converted m4a expands to 48kHz upon playback in foobar
It seems to me it would be optimal to have 88.2 -> 44.1 and 176.4 -> 44.1kHz, as these are integer transformations. Is there a way to configure qaac to do the encoding in this way?
Thanks and regards
Rudi
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 July, 2014, 12:36:37 PM
rudolffischer, I'm sure you can play around with the switch -r / --rate but really, leave the encoder do what it does best. They are meaningless, temporary lossy files anyway that you will probably delete/change in few months, who cares if they don't end up being perfectly how you think they should be.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 09 July, 2014, 03:29:11 PM
thanks, eahm
I will use the m4a files on my laptop and ipod, where I cannot put a 3TB lossless library. So I would like the m4a's to sound as good as possible as they will stay on those devices for quite a while. From the sound of it the "-r keep" switch should do the job. I will give it a try.
How can I modify the qaac command line parameters in foobar 1.3.3 beta 2?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 09 July, 2014, 03:32:07 PM
How can I modify the qaac command line parameters in foobar 1.3.3 beta 2?

On Convert > ... > Output Format > Add New: select the one you'd like to modify then select Custom, you will see the full command right there.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: AiZ on 09 July, 2014, 03:41:19 PM
Hello,

If you look at 'qaac --formats' output, you'll see that it can only handle up to 48KHz for LC-AAC format. On the other hand, HE-AAC can go up to 96KHz.
fdkaac can encode up to 96KHz in LC-AAC format.

    AiZ
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 09 July, 2014, 03:54:31 PM
found it, thanks eahm
AiZ, you're right, I will need to convert all the 88.2kHz files in one go and set -r to 44.1
I'll do some experimenting.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: audiophool on 09 July, 2014, 04:09:54 PM
It seems to me it would be optimal to have 88.2 -> 44.1 and 176.4 -> 44.1kHz, as these are integer transformations.

You might want to read one of the threads on HA about resampling. From your statement, I think you might learn something..
Title: QAAC: discussion, questions, feature requests, etc.
Post by: AiZ on 10 July, 2014, 03:08:34 AM
rudolffischer,

If I can suggest something not too complicated, as you want to use foobar2000, you could :
- download foo_resampler_mod2 (http://www.hydrogenaud.io/forums/index.php?showtopic=67373) (mod2 version, I insist), and install it in foobar2000,
- configure foobar2000 Converter Processing,
(https://hydrogenaud.io/imgcache.php?id=409b996976d5f7a2a5c2950c073b16e8" rel="cached" data-warn="External image, click to view at original size" data-url="http://aiz.free.fr/images/rudolffischer_01.png)
- add Resampler (SoX) mod2 in Active DSPs,
(https://hydrogenaud.io/imgcache.php?id=a1645028af1c8a3d768b83a95619ee5b" rel="cached" data-warn="External image, click to view at original size" data-url="http://aiz.free.fr/images/rudolffischer_02.png)
- configure resampler like this :
(https://hydrogenaud.io/imgcache.php?id=37b182dfb65ce63b6cf98b1ae1f7ad20" rel="cached" data-warn="External image, click to view at original size" data-url="http://aiz.free.fr/images/rudolffischer_03.png)
- and eventually save your preset.

As audiophool gently said, don't bother with "integer transformations". Any sampling rate above 48KHz can effectively and safely be downsampled to 44.1KHz, period.

Have a nice day,

    AiZ
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 10 July, 2014, 03:31:41 AM
@audiophool - always happy to learn. I found a few threads on re-sampling that suggest that artifacts are below -100db, so given the lossy conversion that follows, that should not cause an issue. Could you indicate the specific thread you were referring to?

@AiZ - very elegant solution, works like a breeze, thanks a lot. qaac seems to use SOX, so putting a conditional SOX resampling step before the qaac step should basically achieve the same thing with the flexibility of configuring the processing step. I have set SOX mod2 to only resample 176400 and 88200 to 44100. Everything else is then converted to 48000 by qaac and 44100 is left at 41000. Brilliant.

Pls don't get me wrong, I am not trying to be difficult here. I always try to avoid complex processing if I there is a less complex way. More a question of principle than of actually audible differences. Thanks a lot for the help.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: taketoo on 24 July, 2014, 05:37:07 PM
Hi I am having problems ripping to ALAC in the latest version of foobar, I get the following error text, after trying to rip a CD:



Code: [Select]
10 out of 10 tracks converted with major problems. 
Source: "cdda://00AD051F" / index: 1
  An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters) : "C:\Users\IOIOI\Music\George Duke\From Me To You\From me to you.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "C:\Program Files (x86)\foobar2000\components\qaac.exe" --ignorelength -s --no-optimize --alac -o "From me to you.m4a" -
  Working folder: C:\Users\IOIOI\Music\George Duke\From Me To You\
  
  Conversion failed: The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters



Title: QAAC: discussion, questions, feature requests, etc.
Post by: TomasPin on 24 July, 2014, 08:52:45 PM
I thought you ought to use refalac.exe instead? It's in the same zip file (https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxxYWFjcGFnZXxneDo0YzUwZTNhZjhmOTFmZTgw).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Case on 25 July, 2014, 03:24:15 AM
taketoo, qaac requires components from iTunes for its operation. Easiest way to make it work is to install iTunes on your machine.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 25 July, 2014, 03:47:25 AM
Installing "Bloatware" can be avoided, but then you may have to manually extract libraries, which was certainly not intended by Apple...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: taketoo on 25 July, 2014, 04:06:44 PM
Installing "Bloatware" can be avoided, but then you may have to manually extract libraries, which was certainly not intended by Apple...

Any tips on that anywhere ? If its a PITA I may as well just use FLAC or WMA lossless (easiest to use with WMC).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 25 July, 2014, 04:15:46 PM
[Search Topic] for "makeportable" (see left bottom of this page).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: TomasPin on 25 July, 2014, 06:00:56 PM
Any tips on that anywhere ?

Just download the normal iTunes or Quicktime installer from the website, change the extension to .zip and extract the AppleApplicationSupport.msi. Install that, ???, PROFIT.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: taketoo on 25 July, 2014, 06:33:59 PM
Any tips on that anywhere ?

Just download the normal iTunes or Quicktime installer from the website, change the extension to .zip and extract the AppleApplicationSupport.msi. Install that, ???, PROFIT.

LOL somekind of conspiracy I try & download quicktime, nothin' happens  . Is there anyway to get WMC to play FLAC & ALAC? I would use foobar as a MC but I dunno how to get remotes to work with it  .
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 25 July, 2014, 07:05:01 PM
Just download the normal iTunes or Quicktime installer from the website, change the extension to .zip and extract the AppleApplicationSupport.msi. Install that, ???, PROFIT.

With makeportable from nu774 you don't need to install anything.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/makeportable.zip?attredirects=0&d=1)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: taketoo on 25 July, 2014, 07:10:20 PM
Just download the normal iTunes or Quicktime installer from the website, change the extension to .zip and extract the AppleApplicationSupport.msi. Install that, ???, PROFIT.

With makeportable from nu774 you don't need to install anything.

Sorry for being really f*in stupid, but where do you download it, I looked but can't find  ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 26 July, 2014, 02:09:19 AM
Thanks,
Alternatively, you can try makeportable.zip at the cabinet page (bat file only, 7z.exe is not included).


QAAC cabinet page (https://sites.google.com/site/qaacpage/cabinet)

If you don't find a "makeportable.zip" there, I don't know what your meaning of "searching" is.

Unpack "makeportable.cmd" to a separate directory, copy the QuickTimeInstaller.exe (http://support.apple.com/downloads/#quicktime) next to it, have 7-zip installed, run the CMD. The result will be unpacked to a folder "QTFiles". Its content should be copied to the QAAC x86 installation folder, I believe....
Title: QAAC: discussion, questions, feature requests, etc.
Post by: taketoo on 26 July, 2014, 07:10:59 PM
Thanks,
Alternatively, you can try makeportable.zip at the cabinet page (bat file only, 7z.exe is not included).


QAAC cabinet page (https://sites.google.com/site/qaacpage/cabinet)

If you don't find a "makeportable.zip" there, I don't know what your meaning of "searching" is.

Unpack "makeportable.cmd" to a separate directory, copy the QuickTimeInstaller.exe (http://support.apple.com/downloads/#quicktime) next to it, have 7-zip installed, run the CMD. The result will be unpacked to a folder "QTFiles". Its content should be copied to the QAAC x86 installation folder, I believe....

Thanks, I didn't 'click' the cabinet, all working perfectly according to your instructions, thanks very much  !!!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: TomasPin on 27 July, 2014, 01:45:14 PM
With makeportable from nu774 you don't need to install anything.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/makeportable.zip?attredirects=0&d=1)

Wasn't aware of that, thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 31 July, 2014, 03:59:16 AM
Hi,
I would like to keep my lossless (FLAC) and my lossy (m4a) library in sync, the lossless one obviously being the master.
Using qaac with foobar allows me to select that files marked for conversion which already exist in the target directory are skipped. I could not find any way to delete files in the target directory that do not have a corresponding file in the source directory (in case I renamed a directory in the lossless library for example).
Is there a way to do this with qaac / foobar?
Thanks and regards
Rudi
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 31 July, 2014, 04:08:15 AM
This will certainly not be the responsibility of QAAC, which is an encoder, not a file manager... But you may be able to handle that in a batch file. Briefly (not complete, without warranty):

Code: [Select]
FOR %%a IN (*.aac) DO IF NOT EXIST "%%~na.flac" DEL "%%a"


But I would be afraid of automatically deleting files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 03 August, 2014, 02:45:50 PM
Hello,

I have a new PC :-)
But when I want to make AAC files from FLAC files by e.g.
Quote
"PATH\qaac.exe" -V91 -q2 -r keep --verbose "PATH\FILENAME.flac"
I get the following error message:
Code: [Select]
qaac 2.41, CoreAudioToolbox 7.9.8.6
ERROR: Not available input file format

What is wrong?
AFAIK the only thing which is new is 64 bit vs 32 bit Windows 7 on the old PC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: azaqiel on 03 August, 2014, 03:13:16 PM
sounds like you're missing libFLAC.

if I remember correctly, just put the DLLs from a libFLAC compile into the same folder as QAAC and try again.  rarewares has the libFLAC DLLs for download under lossless.

or, decode your FLAC files to WAV files first.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 03 August, 2014, 03:42:03 PM
sounds like you're missing libFLAC.

if I remember correctly, just put the DLLs from a libFLAC compile into the same folder as QAAC and try again.  rarewares has the libFLAC DLLs for download under lossless.

Of course I downloaded x64DLLs_20120131.zip and extracted into the same folder as QAAC before I tryed it, so libFLAC.dll was already in the same folder as QAAC!
I can't compile myself as I don't have a compiler.
I downloaded flac_dll-1.3.0-x64-icl.zip from rarewares, extracted, but get "libFLAC_dynamic.dll" and "libFLAC_dynamic.lib"?

Quote
... or, decode your FLAC files to WAV files first.

I know, but I want to avoid this  additional step and it worked without it on the old PC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 03 August, 2014, 03:50:40 PM
qaac is 32-bit, so it can't use 64-bit dlls.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 03 August, 2014, 03:56:02 PM
qaac is 32-bit, so it can't use 64-bit dlls.

Oh, I thought on a 64-bit OS you need 64-bit dlls...
I'll try the 32-bit versions and report later.

Edit:
It works!
Although the files have names like "libFLAC_dynamic.dll" and "libFLAC_dynamic.lib".
Thank you!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 03 August, 2014, 04:59:08 PM
This will certainly not be the responsibility of QAAC, which is an encoder, not a file manager... But you may be able to handle that in a batch file. Briefly (not complete, without warranty):

Code: [Select]
FOR %%a IN (*.aac) DO IF NOT EXIST "%%~na.flac" DEL "%%a"


But I would be afraid of automatically deleting files.


Thanks, LigH,
I'll try that on one or two subdirectories. I can always encode the files again, if something goes wrong.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 August, 2014, 01:20:25 PM
If I use qaac.exe from the Free Encoder Pack will I need to copy the three non-MS DLLs from the official qaac zip or will they be integrated as well?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 12 August, 2014, 03:56:38 PM
If I use qaac.exe from the Free Encoder Pack will I need to copy the three non-MS DLLs from the official qaac zip or will they be integrated as well?


I noticed the qaac.exe from the encoder pack is larger in size than the one from nu774
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 12 August, 2014, 04:05:03 PM
... I noticed the qaac.exe from the encoder pack is larger in size than the one from nu774

Maybe statically linked?
BTW: Which encoder pack are you talking about?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 12 August, 2014, 04:41:26 PM
... I noticed the qaac.exe from the encoder pack is larger in size than the one from nu774

Maybe statically linked?
BTW: Which encoder pack are you talking about?


The fb2k encoder pack,it includes qaac and fhgaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 August, 2014, 04:43:00 PM
I noticed the qaac.exe from the encoder pack is larger in size than the one from nu774

Maybe statically linked?

http://www.hydrogenaud.io/forums/index.php...st&p=868999 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=106199&view=findpost&p=868999)

I am NOT talking about the MS runtimes but about the other three DLLs.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 12 August, 2014, 05:00:59 PM
... I am NOT talking about the MS runtimes but about the other three DLLs.

Why don't you simply give it a try without them?
If it works, you know you don't need these other three DLLs.
If it doesn't work, install them and you are done.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 August, 2014, 05:04:43 PM
Why don't you simply give it a try without them?
If it works, you know you don't need these other three DLLs.
If it doesn't work, install them and you are done.

The other three are only for resampling, qaac will resample anyway not using SoX if the three are not used but I'm not sure how to test pushing them. That's why I need nu774 or Case to reply
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 12 August, 2014, 05:08:52 PM
... I'm not sure how to test pushing them. ...

What do you mean with "test pushing them"?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 August, 2014, 05:13:54 PM
What do you mean with "test pushing them"?

Sorry I meant forcing them (the three SoX DLLs) and not the integrated resample (I guess Apple's?).

I don't resample anyway, I'd just like to know how Case's qaac.exe is made. My guess is that is not even possible to integrate the SoX DLLs and he modified qaac to work with older, integrated MS runtimes compatible with XP.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 12 August, 2014, 05:21:31 PM
... I meant forcing them (the three SoX DLLs) and not the integrated resample ...

I got it now :-)

BTW: libgcc_s_sjlj-1.dll is also a SoX DLL?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 August, 2014, 05:31:15 PM
I got it now :-)

BTW: libgcc_s_sjlj-1.dll is also a SoX DLL?

Here http://www.hydrogenaud.io/forums/index.php...st&p=855028 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=855028) asking about refalac.

The last line is about that DLL: "Finally, 32bit libsoxr.dll is implicitly dependent on libgcc_s_sjlj-1.dll. So attempt to load libsoxr.dll should fail without it.".

This is about the three DLLs: "2. You don't need others in order just to run refalac, but some options (--rate, --lowpass, --matrix-*) don't work without them.". Is there a way to see if Case's qaac.exe has them inside?

I should learn some basics of programming.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 12 August, 2014, 06:29:57 PM
... Here http://www.hydrogenaud.io/forums/index.php...st&p=855028 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=855028) asking about refalac.

The last line is about that DLL: "Finally, 32bit libsoxr.dll is implicitly dependent on libgcc_s_sjlj-1.dll. So attempt to load libsoxr.dll should fail without it.". ...

Thank you.
I looked with Dependency Walker on libsoxr.dll and I could see libgcc_s_sjlj-1.dll.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: kode54 on 13 August, 2014, 02:13:16 AM
... Here http://www.hydrogenaud.io/forums/index.php...st&p=855028 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=855028) asking about refalac.

The last line is about that DLL: "Finally, 32bit libsoxr.dll is implicitly dependent on libgcc_s_sjlj-1.dll. So attempt to load libsoxr.dll should fail without it.". ...

Thank you.
I looked with Dependency Walker on libsoxr.dll and I could see libgcc_s_sjlj-1.dll.

Congratulations on repeating exactly what he just said that nu774 said a year ago.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Case on 13 August, 2014, 02:42:16 AM
The qaac binary bundled in the Free Encoder Pack doesn't include SoX. I didn't verify but I'm pretty sure including it would have required code changes, and it's not needed by most users. Also the built-in AAC encoder profiles do not deal with resampling settings. If users want high-quality resampling I recommend using lvqcl's SoX component.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 August, 2014, 03:38:33 AM
I don't think explicit --rate option is regularly needed or used by users, but be careful of source sample rate.
When given sample rate isn't supported by the encoder, then sample rate conversion should implicitly take place inside of qaac.
When libsoxr is not present, rate converter of the CoreAudio codec component is picked up, which does the job done but not as good as libsoxr.

OTOH, fdkaac doesn't support this automatic sample rate conversion. When the encoder does't support given sample rate, it simply fails.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 13 August, 2014, 04:03:58 AM
... Congratulations on repeating exactly what he just said that nu774 said a year ago. ...

Sorry, but my using of Dependency Walker and eahms answer was done in parallel, but eahm was faster...

BTW: Using Dependency Walker, I couldn't find why icuin40.dll, icuuc40.dll and pthreadvc2.dll in the QTfiles subdirectory are needed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 13 August, 2014, 04:25:15 AM
Thanks Case.

drSeehas, my bad, I misread the question, nu774 already replied.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 August, 2014, 04:38:21 AM
BTW: Using Dependency Walker, I couldn't find why icuin40.dll, icuuc40.dll and pthreadvc2.dll in the QTfiles subdirectory are needed.

IIRC they were required in the past (one of CoreAudio related DLLs were dependent on them), but yes, it seems they are not required anymore.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 13 August, 2014, 04:48:53 AM
I couldn't find why icuin40.dll, icuuc40.dll and pthreadvc2.dll in the QTfiles subdirectory are needed.

You need Apple's libraries for qaac to run, from qaac's homepage: "Since 1.00, qaac directly uses CoreAudioToolbox.dll. Therefore, QuickTime installation is no more required. However, Apple Application Support is required.".

You can automatically extract all the necessary files from iTunes or QuickTime with makeportable: https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

Please read carefully the instructions on the homepage, we are repeating everything every few months

???
These three are not Apple's libraries.
I have installed neither QuickTime nor iTunes.
I have extracted the files with (a modified) makeportable.
Where can I find an answer to my question: why are these three libraries needed?

BTW: Using Dependency Walker, I couldn't find why icuin40.dll, icuuc40.dll and pthreadvc2.dll in the QTfiles subdirectory are needed.

IIRC they were required in the past (one of CoreAudio related DLLs were dependent on them), but yes, it seems they are not required anymore.

So we can safely delete them and can modify makeportable?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 August, 2014, 05:22:53 AM
So we can safely delete them and can modify makeportable?

I think so, although they do no harm.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 13 August, 2014, 06:07:48 AM
So we can safely delete them and can modify makeportable?

I think so, although they do no harm.

I always want a clean system, so I deleted them.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 15 August, 2014, 10:36:34 AM
After deleting those DLLs I get an error (missing pthreadvc2.dll) when I try to run "qaac --check" (x86).
Maybe my CoreAudioToolbox DLLs are outdated...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 15 August, 2014, 10:43:05 AM
After deleting those DLLs I get an error (missing pthreadvc2.dll) when I try to run "qaac --check" (x86).
Maybe my CoreAudioToolbox DLLs are outdated...

When I do a "qaac --check" (without pthreadvc2.dll), I get the following:
Code: [Select]
qaac 2.41, CoreAudioToolbox 7.9.8.6
libsoxconvolver 0.1.0
libsoxr-0.1.1
libFLAC 1.3.0
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 15 August, 2014, 02:06:48 PM
[qaac] release 2.42 (refalac 1.42)
posted 16 hours ago by nu 774  [ updated 15 hours ago ]
Add --start and --end option to specify start, end point of the input for partial encode. --start, --end (and --delay) supports 3 ways to describe the point.
[[hh:]mm:]ss[.sss..] : Timestamp described in hours, minutes, and seconds. Parts enclosed by brackets can be omitted. Seconds are parsed as double precision number (64bit float), and you can place arbitrary numbers of digits under the decimal point. You will need enough digits to achieve sample accuracy, depending on the sample rate.
ns : Number of samples, followed by 's'.
mm:ss:fff : Cuepoint in minutes, seconds, and frames(1/75 second), followed by 'f'.
Re-linked 32bit libsoxr.dll not to depend on libgcc_s_sjlj-1.dll. Now it is not included in the archive and you don't need it anymore.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: drSeehas on 15 August, 2014, 02:37:36 PM
There is also a new makeportable.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: mrgou on 16 August, 2014, 05:13:09 AM
Hi,

Could someone please help me understand what the "-q" setting does? The documentation only describes it as "aac encoding quality", with no additional details. What does a value of 2 do compared to 0? How does it differ from a high or low value of the "-V" setting?

Thanks!

R.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 16 August, 2014, 06:50:09 AM
@drSeehas:
Updated to latest CoreAudioToolbox; thanks a lot, everything looks good now:
Code: [Select]
qaac 2.42, CoreAudioToolbox 7.9.8.6
libsoxconvolver 0.1.0
libsoxr-0.1.1
libsndfile-1.0.25
libFLAC 1.3.0
tak_deco_lib 2.3.0 compatible
Title: QAAC: discussion, questions, feature requests, etc.
Post by: wottha on 15 September, 2014, 06:06:08 AM
QAAC feature request:

Clip and intersample peak readout like AFCLIP on Mac that prints totals of all the Clip levels and intersample peaks at or above 0dbfs for a given file to the command window.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 September, 2014, 10:29:08 AM
Clip and intersample peak readout like AFCLIP on Mac that prints totals of all the Clip levels and intersample peaks at or above 0dbfs for a given file to the command window.

I don't know much about afclip since I don't have a Mac box, but is it something like EBUR128 true peak scanner?
As far as I know, recent ffmpeg has EBUR128 filter (GPL-enabled build is required) with true peak support: https://www.ffmpeg.org/ffmpeg-filters.html#toc-ebur128 (https://www.ffmpeg.org/ffmpeg-filters.html#toc-ebur128)
Like this:
Code: [Select]
ffmpeg -nostats -i foo.wav -filter_complex ebur128=peak=true -f null -
Title: QAAC: discussion, questions, feature requests, etc.
Post by: wottha on 18 September, 2014, 04:44:55 PM
Clip and intersample peak readout like AFCLIP on Mac that prints totals of all the Clip levels and intersample peaks at or above 0dbfs for a given file to the command window.

I don't know much about afclip since I don't have a Mac box, but is it something like EBUR128 true peak scanner?
As far as I know, recent ffmpeg has EBUR128 filter (GPL-enabled build is required) with true peak support: https://www.ffmpeg.org/ffmpeg-filters.html#toc-ebur128 (https://www.ffmpeg.org/ffmpeg-filters.html#toc-ebur128)
Like this:
Code: [Select]
ffmpeg -nostats -i foo.wav -filter_complex ebur128=peak=true -f null -


Thank you nu774.  I'll have to try that.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 03 October, 2014, 07:54:33 AM
nu774: Would you possibly consider supporting AviSynth skripts as input directly (either via AVIFile VfW function or via AviSynth interface) so that it is not necessary to use a WAV piping auxiliary tool (like: avs2pipemod -wav)? Not "important", just "nice to have".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 October, 2014, 10:01:14 AM
LigH:
I might implement avs importing in the future, but don't hold your breath.
At present, I'm not very willing to do so because:
- (I think) main advantage of native input support by qaac is the ability to copying tags from input, which is not easily achieved by chaining pipes. As for AVS scripts, they don't have tags so you can just use piping. It's just that you need more typing.
- It doesn't seem very difficult, but at the same time, I don't know much about avisynth. I don't know details about ABI compatibility between versions (2.5, 2.6, MT, Avisynth+...), whether "Distributor()" should be automatically inserted or not, unicode capability on path name handling, or something like that (Maybe I could use VFW instead of native avisynth library functions, but it should bring some limitations).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 05 October, 2014, 08:45:17 AM
AVS input was implemented:

Quote
Support avisynth script (avs) input. Like x264 or avs2pipemod, AVS is directly supported through avisynth C interface, not via VfW.


Download here https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.44.zip?attredirects=0&d=1)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: gottogo99 on 05 October, 2014, 05:49:56 PM
AVS input was implemented:

Quote
Support avisynth script (avs) input. Like x264 or avs2pipemod, AVS is directly supported through avisynth C interface, not via VfW.


Will simplify my batch files.  Looking forward to trying out it.  Thanks nu774.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 06 October, 2014, 02:18:04 AM
@nu774:
I'd like to suggest a new feature for qaac, which (I think...) would be quite easy to implement:

  >> Allow playlist files (.m3u) as input for qaac.

This could come in very handy if you encode a complete album or your favourite playlist.
Or, in my case, encoding an audiobook and concat it to a single m4b file. In that scenario, my NAS sometimes lists files in random order when running "dir *.flac". Which would result in an audiobook with random chapters when i use "*.flac" as input arg for qaac...

Or could I use (in that particular case) this option:
Code: [Select]
--sort-args            Sort filenames given by command line arguments.

How could that be used to force qaac to sort all files matching a wildcard input file argument by e.g. filename in ascending order?

.sundance.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 06 October, 2014, 03:06:28 AM
Or could I use (in that particular case) this option:
Code: [Select]
--sort-args            Sort filenames given by command line arguments.

How could that be used to force qaac to sort all files matching a wildcard input file argument by e.g. filename in ascending order?

As is written in the message, --sort-args will sort the filenames given by the command line.
The result will be ordered in ascending order, and the process (encoding) is done in this order.
So, if you name files like "01 foo.flac", "02 bar.flac"... , it will work as you intended.

This option was introduced by a request which was exactly the same as yours.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 06 October, 2014, 04:28:58 AM
Thanks for explanation.
I did search this thread before posting but didn't find anything for "sorting" and "filenames".

I was thinking that I needed additional parameters for the "--sort-args" option to specify the sort options...

.sundance.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 07 October, 2014, 04:33:20 PM
So, well, thank you very much for the surprisingly quick implementation of AviSynth support. It will help those who create movie backups with e.g. AVC+AAC in MP4 containers. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 15 October, 2014, 04:45:57 AM
I just noticed a problem with QAAC's limiter option. I decoded the 5.1ch AC3 track of David Bowie's Glass Spider concert (DVD) to a 32-bit float wav with eac3to and ran qaac.exe -V 91 --verbose --no-delay --limiter -o "xxx.m4a" "xxx.wav". eac3to had already noticed that there was clipping and thus had adjusted the volume accordingly. I checked the peak with qaac and it showed 0.99.

I started wondering why the encoding took so long (estimated to take almost 30 minutes) and looked at the Task Manager. The qaac.exe process was consuming one CPU at maximum but the i/o throughput was very small. When I dropped the limiter parameter, the encoding processed normally.

Hope this helps in finding something out, I can also provide a small sample file if needed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 15 October, 2014, 08:21:13 AM
Hope this helps in finding something out, I can also provide a small sample file if needed.

Usually --limiter is not that slow.
Please provide a sample that reproduces the issue.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: freddy687 on 19 October, 2014, 11:26:38 PM
Wondering if anyone could help me.  I use a program called LPRipper to cut up and label recorded vinyl tracks.  It has a built in encoder option that allows the use of command line encoders.  I have been using the Nero encoder but would like to try the QAAC encoder.  But struggling to understand the command lines for this program.  I want to be able to bulk encode files using the same file name in the same folder but encode from WAV to M4A with high quality, 192-256 VBR.  Can't seem to get the infile and outfile commands right.  Can anyone recommend a sample command line that I might try?

Also, is there a requirement that certain of the files need to be in the same folder as the qaac.exe?  Does QAAC automatically find the Apple files or do they need to be there?

Using Windows7 and Windows8 64bit.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: marc2003 on 20 October, 2014, 12:04:39 AM
@nu774, you probably aren't interested in a 13 year old obsolete OS but i'm stuck running windows xp. qaac itself works fine but i notice your makeportable batch file checks for 7-zip by looking under the HKCU registry key. on my system, it's actually located under HKLM. obviously i've got it running by myself but i just thought i'd mention it.... 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 20 October, 2014, 12:36:50 AM
Can anyone recommend a sample command line that I might try?

If you really want an average bitrate of ~224 kbps (which is probably overkill), try:

Code: [Select]
for %1 in (*.wav) do qaac.exe -v 224 %1 %1.m4a



Also, is there a requirement that certain of the files need to be in the same folder as the qaac.exe?  Does QAAC automatically find the Apple files or do they need to be there?

The "QTfiles" folder should be in the same folder as qaac.exe. Unless qaac.exe is in a folder included in the system's PATH variable, you need to cd into that folder before you can run the qaac command.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 20 October, 2014, 12:54:16 AM
@ freddy687:

Regarding the last point: If QuickTime or even iTunes is installed, then the required Apple CoreAudioToolBox DLLs will be in a directory which is added to the PATH so they can be found whereever they are installed.

If you don't like Apple software to be installed, and you prefer to extract the DLLs out of QuickTime or iTunes installers using makeportable.cmd, then they have to be put together with qaac.exe to ensure that they are available specifically for QAAC, no other application will need them anywhere else in this case.

You may use a bitrate for QAAC, but it is not recommended, best quality will be achieved in "True VBR" mode. I would suggest to use parameters like:

--tvbr 81 --threading -o outfile.m4a infile.wav (for M4A output with True VBR quality mode, quality level 81 – there are some common values for discrete steps, like: 72, 81, 90)
--abr % --adts --threading -o outfile.aac infile.wav (for ADTS AAC output with ABR mode, using the maximum bitrate from the slider in LP Ripper options)

^ untested. Try and report either version in different combinations.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 October, 2014, 01:38:27 AM
@nu774, you probably aren't interested in a 13 year old obsolete OS but i'm stuck running windows xp. qaac itself works fine but i notice your makeportable batch file checks for 7-zip by looking under the HKCU registry key. on my system, it's actually located under HKLM. obviously i've got it running by myself but i just thought i'd mention it.... 

Thanks, updated to HKLM.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Hex144 on 24 October, 2014, 12:31:30 PM
qaac can't use libsoxconvolver64.dll for lowpass, only the 32 bit version. Why is this?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 24 October, 2014, 12:40:30 PM
qaac can't use libsoxconvolver64.dll for lowpass, only the 32 bit version. Why is this?

When you donwload qaac you can see two folders inside the archive, x86 and x64. There is not qaac.exe inside the x64, is it too hard to understand qaac.exe is only 32-bit?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 25 October, 2014, 03:23:26 AM
Question on the "-r keep" switch.
I have tried the "-r keep" switch and seen that it works in the following way:
Input        Output
44.1        44.1
48            48
88.2        48
96            48
176.4      48
192          48

I know that from a sound quality point of view it probably does not make any difference, but would it be possible to change the behavior so that the division of sample rate is an integer?
Input        Output
44.1        44.1
48            48
88.2        44.1
96            48
176.4      44.1
192          48
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 October, 2014, 05:33:32 AM
I know that from a sound quality point of view it probably does not make any difference, but would it be possible to change the behavior so that the division of sample rate is an integer?

When the input rate is 64kHz (which is not supported), what do you want? 32kHz?
If you stick to integer division for some magical reason, yes you have to pick 32kHz in this case, instead of 48kHz. However, I don't think it's a good choice. Do you?

Current behavior of qaac is quite simple. It just picks the nearest value that is supported by the encoder. And I want keep it simple.
If you want to resample to specific rate for your needs, you can simply use --rate=44100 or something.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 25 October, 2014, 05:50:15 AM
Hi nu774. Not meaning to be a pain, apologies if I have. qaac is simply the best and easiest way to convert to aac, that's why I use it.
My question only concerns the bitrates which are multiples of 44.1 or 48. For everything else the behavior is fine as it is (using 48 for anything >48 I guess).
In my view integer transformation is simpler than non integer, less processor intensive. I simply like the "efficiency" of the integer division vs. the non integer one.
If this adaptation is not easily possible, I am sure I can find a way to detect the input sample rate before the conversion and set the -r parameter (which is what I have done manually in the past, but I would like to automate the process).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 October, 2014, 06:12:50 AM
My question only concerns the bitrates which are multiples of 44.1 or 48. For everything else the behavior is fine as it is (using 48 for anything >48 I guess).

Strictly speaking, your concern looks like only on multiples of 44.1.
I suppose you are ok when multiples of 32/48 result in 48.
Quote
If this adaptation is not easily possible, I am sure I can find a way to detect the input sample rate before the conversion and set the -r parameter

It's possible, in psuedo-code it should look like this:
Code: [Select]
output_rate = UNDEF
for n in 2..MAX:
    if 44100 * n == input_rate:
        output_rate = 44100
        break
if output_rate == UNDEF:
    output_rate = nearest_supported_value(input_rate)

As you can see, you have to treat multiples of 44100 as a "special case".
I just don't think it deserves the special treatment like this.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: [JAZ] on 25 October, 2014, 08:19:39 AM
My question only concerns the bitrates which are multiples of 44.1 or 48. For everything else the behavior is fine as it is (using 48 for anything >48 I guess).
In my view integer transformation is simpler than non integer, less processor intensive. I simply like the "efficiency" of the integer division vs. the non integer one.


Which is your knowledge of resampling algorithms? More so, which is your knowledge of the specific resampler that qaac (in fact Apple's codec) has?

Either your knowledge is limited and think in terms of "rounding" and "cutting" (as if resampling 88.2 to 44.1 consisted only on dropping one of each two samples), or you think in terms of an upsample/filter/decimator combination, and thinking that a 2:1 ratio generates less computations than a 160:147 ratio (but that ignores that such an algorithm, to be efficient, does not generate the samples that it doesn't need, and it might, or might not be the type or resampler used in this case).

So given these facts... can you explain again why do you think it is better to have integer divisions for resampling?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 25 October, 2014, 01:07:49 PM
Hi jaz,
I admit to knowing next to nothing about resampling algorithms, except that one cannot cheat maths. More complex algorithms take more processing power, no matter how you slice and dice them. A conversion between two sampling rates that are non integer or closely spaced will need to calculate more complex filters than an integer one (if the same conversion quality is to be achieved).
I have done two conversions and looked at the time needed for the process. Same 88.2kHz FLAC file, once to 48 and once to 44.1 sample rate. The conversion times were 6.9 and 5.9 seconds. Processor load in both cases was around 30% during the conversion.
(https://hydrogenaud.io/imgcache.php?id=c12279a333c774fc12f8e735e614fdf1" rel="cached" data-warn="External image, click to view at original size" data-url="http://s25.postimg.org/s0161yzmj/Conversion_88_2_44.1.jpg)
(https://hydrogenaud.io/imgcache.php?id=9e64c06f67bbac1b595bf198c0ba291f" rel="cached" data-warn="External image, click to view at original size" data-url="http://s25.postimg.org/s0161yzmj/Conversion_88_2_48.jpg)
So it seems to me that there may indeed be a difference in processor load between integer and non integer sample rate conversion of close to 20%. No scientific test, I admit.
Regards
Rudi
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Octocontrabass on 25 October, 2014, 04:07:50 PM
More complex algorithms take more processing power, no matter how you slice and dice them.

If you slice and dice any sample rate conversion to only work on a single input:output ratio, it will be faster than the general case. It will also be much less useful. When the algorithm is complex enough, the benefit of a single-ratio optimized case outweigh the cost of maintaining separate versions for each ratio. The algorithm in SoX, for example, is complex enough that I doubt it has separate versions for specific ratios.

A conversion between two sampling rates that are non integer or closely spaced will need to calculate more complex filters than an integer one (if the same conversion quality is to be achieved).

The filters may be more difficult for you to calculate with paper and a pencil, but the computer doesn't know how to take shortcuts unless it's been programmed to do so. (See above.)

I have done two conversions and looked at the time needed for the process. Same 88.2kHz FLAC file, once to 48 and once to 44.1 sample rate. The conversion times were 6.9 and 5.9 seconds. Processor load in both cases was around 30% during the conversion.

Assuming the same input rate and shortcut-free algorithm, the required processing power will be linearly correlated with the output sample rate. A lower output rate means fewer samples need to be calculated, and thus take less CPU time. (Additionally, you may be bound by disk I/O - in which case, a lower output sample rate means less time needs to be spent waiting for the disk.)

No scientific test, I admit.

At least you're willing to admit it.

To make it more scientific, you'd need to run the same test many times and average the results (with a bit of statistical analysis thrown in) to see what kind of differences are typical. You might also try longer/shorter files, to get a good idea of the per-run overhead, or different output sample rates to get a better idea of how speed correlates with output sample rate.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: [JAZ] on 25 October, 2014, 04:55:49 PM
I didn't expect such an important difference, so i did some tests. qaac 2.41, toolbox: 7.9.8.6

88 -> 48 : 11.9x ( 6:12 minutes )
88 -> 44 : 14.5x ( 5:04 minutes )
48 -> 48 : 15.0x ( 4:55 minutes )
44 -> 44 : 15.8x ( 4:40 minutes )

So, there is a difference between resampling and not resampling, there is a difference in the codec working at 44 or 48, and there is a difference in resampling from 88 to 44 compared to 88 to 48.
In the end, it all adds up, but it is true that in this case, the biggest difference comes from the 88 -> 48 resampling.

I did one more test.  Now, using the foobar resampler  (PPHS)

88->48->48 : 14.0x ( 5:17 minutes )
88->44->44 : 15:1x ( 4:57 minutes )

Which is more in line to what I expected.


Soo.......


You are right that when using qaac/apple codec's resampler, it is better to use integer resampling, because the penalty of using non-integer is big.

I am right in saying that resampling to non-integer factors should not have a big penalty.

And in any case, I've demonstrated another thing... It is always faster to use foobar's resampler
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 25 October, 2014, 06:16:19 PM
I did one more test the other way around. 96kHz file conversion to 48 and 44.1
96 -> 48: 9.64 seconds
96 -> 44.1: 9.59 seconds
This would also support the hypothesis that integer is faster than non integer (if one takes into account that around 8% less samples need to be calculated in the 96 -> 44.1 conversion). This case is much less clear than the other one though.


Given nu774's inputs a few posts back, I think I'll rest my case. I feel my request is too niche and may have unintended side effects that I am not aware of at this time.
Be it as it may, thanks a lot for for your inputs and discussion.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 October, 2014, 09:48:55 PM
First, qaac can use 3 types of resampler for AAC encoding: soxr, CoreAudio, CoreAudio(codec builtin). When libsoxr (included in qaac distribution) is present, it's chosen by default.

Second, when you do speed comparison of resampler alone, you'd better use -D switch and output to NUL like this:
qaac -D --rate=44100 input.88200.wav -o NUL

Third, as for soxr, it looks like integer ratio down sampling is indeed faster (probably requires smaller numbers of filter stages). Here is the results in my environment:
88200 -> 48000: 117x
88200 -> 44100: 380x
88200 -> 36000: 195x

Finally, If you care about the speed, you can benefit from --threading.
When --threading is on, resampling  runs on the input thread, encoding runs on another thread. Since encoding is a lot slower than input + resampling, encoding speed dominates the whole process, and the total speed shouldn't be affected by the resampling efficiency.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 26 October, 2014, 05:16:14 AM
Is there any comparison regarding quality between the different options in qaac?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 26 October, 2014, 07:40:52 AM
HI !!

Does qaac support downmixing channels to mono dependless on the input channels configuration?

I mean:
convert 5.1 to mono
convert 2.0 to mono
leave mono intact

--matrix-preset mono crashesh for mono files ;(
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2014, 08:02:30 AM
Is there any comparison regarding quality between the different options in qaac?

What quality? qaac offers only a few options regarding AAC encoding quality.
You choose encoding strategy (TVBR or something), choose TVBR quality or bitrate.
You have another option -q that controls quality/speed trade off but usually you don't have to touch it, and that's all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 October, 2014, 08:17:35 AM
HI !!

Does qaac support downmixing channels to mono dependless on the input channels configuration?

I mean:
convert 5.1 to mono
convert 2.0 to mono
leave mono intact

--matrix-preset mono crashesh for mono files ;(

No.
You have to create a file that contains mixing matrix spec and let qaac know your spec.
--matrix-preset expects that you have stored those spec files in a certain pre-defined directories, and qaac just searches for it.
Since shape of matrix is different when number of input channels is different, you cannot share the same "catch-all" matrix for  2.0 input and 5.1 input.
For mono output, stereo->mono matrix will be like this:
Code: [Select]
1 1

5.1 surround->mono matrix will be like this (this one discards LFE channel):
Code: [Select]
1 1 1 0 1 1

Read here:
https://github.com/nu774/qaac/wiki/Matrix-mixer (https://github.com/nu774/qaac/wiki/Matrix-mixer)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: [JAZ] on 26 October, 2014, 08:56:41 AM
I did one more test the other way around. 96kHz file conversion to 48 and 44.1
96 -> 48: 9.64 seconds
96 -> 44.1: 9.59 seconds

That result shows a draw, more likely. In fact, in this case, you have a slower resampling ( 96 -> 44.1 vs 96 -> 48) compensated by a faster encoding (44.1 vs 48).



Third, as for soxr, it looks like integer ratio down sampling is indeed faster (probably requires smaller numbers of filter stages). Here is the results in my environment:
88200 -> 48000: 117x
88200 -> 44100: 380x
88200 -> 36000: 195x

Finally, If you care about the speed, you can benefit from --threading.
When --threading is on, resampling  runs on the input thread, encoding runs on another thread. Since encoding is a lot slower than input + resampling, encoding speed dominates the whole process, and the total speed shouldn't be affected by the resampling efficiency.


Now I've realized that by foobar test was biased in this sense. The resampling was happening in foobar's thread whereas the encoding happened in another, and even though it is a serial operation (samples need to be resampled previous to be feed to the encoder), it is able to resample in chunks, and use the pipe as a synchronization method.


So, given the existing implementations, I guess i was more wrong than right
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 26 October, 2014, 02:03:31 PM
For mono output, stereo->mono matrix will be like this:
Code: [Select]
1 1


Good, I have this file but it only processes on stereo input while I sometimes need to convert bunch of sources of different formats.
Do U plan to implement an generic downmix to mono switch?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 October, 2014, 12:54:37 AM
Good, I have this file but it only processes on stereo input while I sometimes need to convert bunch of sources of different formats.
Do U plan to implement an generic downmix to mono switch?

No.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Boulder on 27 October, 2014, 04:41:31 AM
Is there any comparison regarding quality between the different options in qaac?

What quality? qaac offers only a few options regarding AAC encoding quality.
You choose encoding strategy (TVBR or something), choose TVBR quality or bitrate.
You have another option -q that controls quality/speed trade off but usually you don't have to touch it, and that's all.
I meant the resampling quality as that was being discussed (forgot to quote, hence the confusion). I've been wondering whether it's better to resample outside qaac or use some internal method for resampling 96 kHz material to 48 kHz.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 October, 2014, 08:24:30 AM
I meant the resampling quality as that was being discussed (forgot to quote, hence the confusion). I've been wondering whether it's better to resample outside qaac or use some internal method for resampling 96 kHz material to 48 kHz.

soxr: flawless
CoreAudio --native-resampler=norm: has aliasing
CoreAudio --native-resampler=bats: no aliasing, VERY SLOW
AAC default: worse than soxr, but I guess difference is usually inaudible
ALAC default: looks equivalent with --native-resampler=norm

I recommend soxr, which is enabled by default when libsoxr is present.
However, AAC default will also be enough.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 27 October, 2014, 11:08:40 AM
First, qaac can use 3 types of resampler for AAC encoding: soxr, CoreAudio, CoreAudio(codec builtin). When libsoxr (included in qaac distribution) is present, it's chosen by default.

Second, when you do speed comparison of resampler alone, you'd better use -D switch and output to NUL like this:
qaac -D --rate=44100 input.88200.wav -o NUL

Third, as for soxr, it looks like integer ratio down sampling is indeed faster (probably requires smaller numbers of filter stages). Here is the results in my environment:
88200 -> 48000: 117x
88200 -> 44100: 380x
88200 -> 36000: 195x

Finally, If you care about the speed, you can benefit from --threading.
When --threading is on, resampling  runs on the input thread, encoding runs on another thread. Since encoding is a lot slower than input + resampling, encoding speed dominates the whole process, and the total speed shouldn't be affected by the resampling efficiency.


It is probably more of a (objectively unfounded, I know) wish to keep files within the same multiple of 44.1 /48 after compression and re-expansion, than the worry about speed. It would be nice if -r=auto or -r=keep would stay in the same "base" samplerate family for samplerates > 48. Probably comes from a hardware perspective, where DACs use separate oscillators for multiples of 44.1 and 48. I know my concern has absolutely no scientific basis.
;-)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: freddy687 on 28 October, 2014, 11:12:04 PM
Would appreciate help again with command lines for bulk encoding WAV files with QAAC.  Trying to use it with a program LPRipper that I have successfully used with NeroAAC. 

I created a separate folder for QAAC and extracted the AppleApplicationSupport.msi to the folder with qaac.exe.  Then set the Program File to direct to C:\Windows\System32\cmd.exe.
Tried two suggested commands.  C:\QAAC\qaac_2.44\x86 qaac.exe --tvbr 81 --threading -o outfile.m4a infile.wav .  And C:\QAAC\qaac_2.44\x86 qaac.exe -v 224 %1 %1.m4a .

Start the command to encode, the CMD box opens and another box that says "Encoding"  and "Elapsed Time".  After several minutes of time has elapsed with no apparent results I finally terminate the process and find that there is no converted file in the directory.

Are there additional files I need?  Or am I just not understanding the command syntax?  Would appreciate any help.

Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 October, 2014, 11:39:51 PM
And C:\QAAC\qaac_2.44\x86 qaac.exe -v 224 %1 %1.m4a .

You need -o before output filename.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 28 October, 2014, 11:43:19 PM
freddy687:

1) Download makeportable.zip (https://sites.google.com/site/qaacpage/cabinet/makeportable.zip?attredirects=0&d=1)
2) Download iTunes (http://www.apple.com/itunes/download/)
3) Download 7-Zip Portable (http://portableapps.com/apps/utilities/7-zip_portable) and extract it.
4) Download qaac_x.xx.zip (https://sites.google.com/site/qaacpage/cabinet/qaac_2.44.zip?attredirects=0&d=1)

5) Extract makeportable.zip
6) Copy iTunes where makeportable.cmd is, same folder
7) Copy 7z.exe where makeportable.cmd is, same folder
8) Run makeportable.cmd

9) Extract qaac_x.xx.zip
10) Copy the folder QTFiles where qaac.exe is

11) Launch qaac.exe and convert whatever you want.

Ok, or just do what nu774 said... I guess
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 29 October, 2014, 02:49:46 AM
Using % placeholders will probably work better if you do it like so:

Code: [Select]
for %1 in (*.wav) do qaac.exe --tvbr 81 -o %1.m4a %1


If you need to use the full path to qaac, be sure to enclose it in quotes if the path contains spaces.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: audiophool on 29 October, 2014, 06:23:24 AM
1) Download makeportable.zip (https://sites.google.com/site/qaacpage/cabinet/makeportable.zip?attredirects=0&d=1)
2) Download iTunes (http://www.apple.com/itunes/download/)
3) Download 7-Zip Portable (http://portableapps.com/apps/utilities/7-zip_portable) and extract it.
4) Download qaac_x.xx.zip (https://sites.google.com/site/qaacpage/cabinet/qaac_2.44.zip?attredirects=0&d=1)

5) Extract makeportable.zip
6) Copy iTunes where makeportable.cmd is, same folder
7) Copy 7z.exe where makeportable.cmd is, same folder
8) Run makeportable.cmd

I have a thought. It may be stupid, I don't know much about Windows shell scripting.

I suppose a substantial fraction of people who dislike the idea of having a full-blown QuickTime or iTunes on their Windows box may have 7-zip already installed on their system. (Because they may prefer it over the bloatier and closed-source competition such as Winzip and Winrar.)

Wouldn't it be relatively easy for the makeportable script to check whether 7z x86 or x64 is present in its default location? And if so, you just do a "set path=%PATH%;C:\Program Files\7-Zip" or so.

In my opinion, it would make usage of makeportable more convenient.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 29 October, 2014, 06:32:11 AM
Wouldn't it be relatively easy for the makeportable script to check whether 7z x86 or x64 is present in its default location? And if so, you just do a "set path=%PATH%;C:\Program Files\7-Zip" or so.

This is already done in makeportable.cmd (It searches registry for 7-zip location under HKLM and adds it to the PATH environment variable).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: audiophool on 29 October, 2014, 07:09:46 AM
This is already done in makeportable.cmd (It searches registry for 7-zip location under HKLM and adds it to the PATH environment variable).

Interesting, it doesn't work for me. I have 7-Zip (64 bit) installed in its standard location on a Win 7 Pro x64 box. I am work right now and cannot double-check right away, but I'm fairly sure the script aborts saying it cannot execute 7z.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 29 October, 2014, 12:12:29 PM
I suppose a substantial fraction of people who dislike the idea of having a full-blown QuickTime or iTunes on their Windows box may have 7-zip already installed on their system. (Because they may prefer it over the bloatier and closed-source competition such as Winzip and Winrar.)
They are not that "full blown" like many people still think, they are pretty light and fast actually, many use WinRAR or the default Zip extractor of Windows, some don't even know or need 7-Zip. There isn't an official list of apps that everyone installs only because they are open and small

This is already done in makeportable.cmd (It searches registry for 7-zip location under HKLM and adds it to the PATH environment variable).
It never worked for me either. I have no idea why I thought it never worked but now it works, thanks for this.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 29 October, 2014, 01:47:03 PM
RE: Command Line Options Reference (https://github.com/nu774/qaac/wiki/Command-Line-Options)
I noticed that on the qaac command line options page on github, the line breaks are not quite right, which leads some single characters hanging over to the next line. This looks a bit confusing.
@nu774, could you possibly correct this, thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: freddy687 on 29 October, 2014, 06:50:36 PM
Still not having any success.  And when I follow the extraction instructions per EAHM,  and run makeportable I get an error that says system can not find the registry key or value.  Installer executable not found.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 29 October, 2014, 08:15:48 PM
You can always try the process manually. Now that you have AppleApplicationSupport.msi, open a command prompt, cd to the directory with the MSI file (e.g. if the MSI is in C:\, type "cd C:\" without the quotes to change to that directory), and run this command:

Code: [Select]
msiexec /a AppleApplicationSupport.msi /qb TARGETDIR=C:\Appletmp


After the extraction is complete, go into the C:\Appletmp directory and copy the following DLLs:

Code: [Select]
ASL.dll
CoreAudioToolbox.dll
CoreFoundation.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
objc.dll
pthreadVC2.dll


Paste these DLLs into the QTfiles folder that is next to qaac.exe (or create the folder if it's missing). You should now be able to use qaac, and you can delete AppleApplicationSupport.msi and the Appletmp directory. Note that qaac also requires Microsoft Visual C 2010 runtime library, which you probably already have installed. If you don't, you can get the runtime from Microsoft's website. Makeportable would place the DLLs into your QTfiles directory, but you should probably save yourself some trouble and install the runtime normally, so that other programs can use it, too.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 29 October, 2014, 08:17:18 PM
Still not having any success.  And when I follow the extraction instructions per EAHM,  and run makeportable I get an error that says system can not find the registry key or value.  Installer executable not found.

> system can not find the registry key or value
When 7-zip is not installed on your system, this is normal and can be ignored if 7z.exe exists.
> Installer executable not found.
You need either iTunesSetup.exe or iTunesSetup64.exe or QuickTimeInstaller.exe placed under current folder, or run makeportable like this:
C:\foo\bar> makeportable path\to\iTunesSetup.exe
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 29 October, 2014, 08:29:06 PM
RE: Command Line Options Reference (https://github.com/nu774/qaac/wiki/Command-Line-Options)
I noticed that on the qaac command line options page on github, the line breaks are not quite right, which leads some single characters hanging over to the next line. This looks a bit confusing.
@nu774, could you possibly correct this, thanks.

Yes, it seems so.
However, that is because current CSS of github that provides not enough space for 80 chars per line.
To fix it, I have to completely build up the markup from the start, instead of just copy/pasting from qaac help message and using pre tag. I don't want to do it.
Maybe I should remove the page... you can view it anyway by invoking qaac from command prompt.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: freddy687 on 29 October, 2014, 10:32:29 PM
Yea, got it working and great results!!

Thanks so much to all for your help!!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 30 October, 2014, 03:31:42 AM
RE: Command Line Options Reference (https://github.com/nu774/qaac/wiki/Command-Line-Options)
I noticed that on the qaac command line options page on github, the line breaks are not quite right, which leads some single characters hanging over to the next line. This looks a bit confusing.
@nu774, could you possibly correct this, thanks.

Yes, it seems so.
However, that is because current CSS of github that provides not enough space for 80 chars per line.
To fix it, I have to completely build up the markup from the start, instead of just copy/pasting from qaac help message and using pre tag. I don't want to do it.
Maybe I should remove the page... you can view it anyway by invoking qaac from command prompt.


Could you make the text available as a download?
I have solved the problem for myself by copying / pasting the text to a local text file. Not really a big deal, but I need to check manually whether there have been changes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 October, 2014, 04:49:16 AM
Could you make the text available as a download?
I have solved the problem for myself by copying / pasting the text to a local text file. Not really a big deal, but I need to check manually whether there have been changes.

It should be possible, but I cannot assure of keeping the online command line options document up to date.
What is shown by qaac.exe will always be the original and correct.
Is it so difficult just to run "qaac | more" or "qaac >help.txt" or something in the command prompt?

I think there are two types of qaac users.
One just uses qaac from some GUI app and rarely runs it from command prompt.
The other often uses qaac from command prompt.

Help message shown by qaac.exe itself should be enough for the latter.
Indivisual document might be useful for the former, but I guess most of them just set up for GUI app once, reading and copy/pasting the command line that is provided somewhere on the net.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Carsi on 01 November, 2014, 07:57:06 PM
Why is there no x64 version available for qaac? I can see the refalac is in x64. Btw thanks for your work, I use it quite often!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 01 November, 2014, 11:18:17 PM
There would be no performance benefit from a 64-bit qaac, and nu774 probably doesn't want to spend time maintaining redundant versions of the same program. It doesn't need more RAM or hardware registers, and 32-bit programs have equal performance to 64-bit programs under Windows, so leaving qaac as 32 bit makes it more compatible, since x86 Windows can't run 64-bit programs, but x64 Windows can run 32-bit programs.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 November, 2014, 12:13:04 AM
Why is there no x64 version available for qaac? I can see the refalac is in x64. Btw thanks for your work, I use it quite often!

Because CoreAudioToolbox is 32 bit only, and it's impossible to load 32 bit DLL from 64 bit executable.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 02 November, 2014, 02:24:49 AM
That's also a good reason.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 17 November, 2014, 05:27:15 PM
Hi
I have been using qaac on audio files (flac) that have long path names (>256 chars). I used dbpoweramp batch converter and Xiklone as conversion front ends. With both programs qaac reported conversion errors and did not convert the files correctly.
Using both dbpoweramp batch converter or Xiklone with mp3 or other converters on files with long paths worked without any problems.
Is anyone aware that qaac would have issues handling files with long path names?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 November, 2014, 07:22:21 PM
Hi
I have been using qaac on audio files (flac) that have long path names (>256 chars). I used dbpoweramp batch converter and Xiklone as conversion front ends. With both programs qaac reported conversion errors and did not convert the files correctly.
Using both dbpoweramp batch converter or Xiklone with mp3 or other converters on files with long paths worked without any problems.
Is anyone aware that qaac would have issues handling files with long path names?

Aren't they configured to use piping? When piping is used, path name of the source file shouldn't matter in any way, since they are not passed to the encoder.

That being said... Windows requires a special prefix "\\.\" for very a long path name (longer than 256 chars) to be opened. Therefore, qaac will internally insert the prefix when input path name given by the command line is longer than 256 chars, but it doesn't see if the prefix is already included.
Therefore, if the front ends are not configured to use piping, and if they feed the encoder with the already prefixed path name of the source file, qaac will fail to open it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 November, 2014, 07:28:09 PM
Or maybe issue is on the output side. If the already prefixed output path name is given, qaac will fail to open it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: redsandvb on 21 January, 2015, 10:03:44 PM
I had a working foobar converter setup for QAAC, though I haven't used it for a very long time, and just recently tried to convert a flac track to m4a and got these errors:



Could not load info (Object not found) from:
"F:\New\Converted\Kalapana - The Very Best Of Kalapana\18 - When The Morning Comes.m4a"



1 out of 5 tracks converted with major problems.

Source: "F:\New\Kalapana - The Very Best Of Kalapana (FLAC)\Kalapana - The Very Best Of - 18 - When The Morning Comes.flac"
  An error occurred while writing to file (The encoder has terminated prematurely with code -1073741515 (0xC0000135); please re-check parameters) : "F:\New\Converted\Kalapana - The Very Best Of Kalapana\18 - When The Morning Comes.m4a"
  Additional information:
  Encoder stream format: 44100Hz / 2ch / 16bps
  Command line: "C:\Program Files (x86)\foobar2000\qaac.exe" -V 100 -o "18 - When The Morning Comes.m4a" - --no-optimize
  Working folder: F:\New\Converted\Kalapana - The Very Best Of Kalapana\
 
  Conversion failed: The encoder has terminated prematurely with code -1073741515 (0xC0000135); please re-check parameters



the command line I've used was:
-V 100 -o %d - --no-optimize


What am I missing?

Thanks!




Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 January, 2015, 12:37:32 AM
You need 32bit version of msvcr120.dll and msvcp120.dll. They are included in x86 folder in the qaac zip archive.
You can copy them to the same directory as qaac.exe.
Alternatively, you can download vcredist_x86.exe from http://www.microsoft.com/en-us/download/de...s.aspx?id=40784 (http://www.microsoft.com/en-us/download/details.aspx?id=40784) and install it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: redsandvb on 22 January, 2015, 02:10:59 AM
You need 32bit version of msvcr120.dll and msvcp120.dll. They are included in x86 folder in the qaac zip archive.
You can copy them to the same directory as qaac.exe.
Alternatively, you can download vcredist_x86.exe from http://www.microsoft.com/en-us/download/de...s.aspx?id=40784 (http://www.microsoft.com/en-us/download/details.aspx?id=40784) and install it.


Thank you so much, that did the trick!

Strange, I don't remember deleting those files, is this a new requirement?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Case on 22 January, 2015, 02:46:21 AM
You were probably using qaac.exe bundled with foobar2000's Free Encoder Pack (http://www.foobar2000.org/encoderpack) previously. It doesn't require these files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: redsandvb on 22 January, 2015, 03:07:11 AM
You were probably using qaac.exe bundled with foobar2000's Free Encoder Pack (http://www.foobar2000.org/encoderpack) previously. It doesn't require these files.

I don't think I had that installed, at least I don't remember installing it.  But anyway, things are ok now. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 30 January, 2015, 08:55:14 AM
What's new in QAAC 2.45:

* Added qaac64.exe that works with iTunes 64bit (ver 12.1).
* Switched to static C runtime linking. Now you don't need msvcr120.dll and msvcp120.dll anymore.
* Minor bug fixes.

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.45.zip?attredirects=0&d=1)

Thx nu774!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 30 January, 2015, 09:08:45 AM
qaac64 can't find CoreAudioToolbox.dll. I have installed iTunes64?

CoreAudioToolbox 7.9.9.4 gives different output!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 January, 2015, 10:53:12 AM
What's new in QAAC 2.45:

* Added qaac64.exe that works with iTunes 64bit (ver 12.1).
* Switched to static C runtime linking. Now you don't need msvcr120.dll and msvcp120.dll anymore.
* Minor bug fixes.

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.45.zip?attredirects=0&d=1)

Thx nu774!

Thanks for the update, almost as fast as FhG now! In fact, I think I'll go back to QAAC.

FhG VBR 4 (~128) gave me ~133 kbps avg. on one album and Q63 much higher, ~144 kbps. Did Apple change anything with the latest version?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 January, 2015, 01:16:57 PM
It was the file, optimization etc. Other files are more normal, around ~95-115 for that TVBR setting.

Also, they changed one setting, Q63 now gives Q64. Everything else is the same:

Q: 0, 9, 18, 27, 36, 45, 54, 64, 73, 82, 91, 100, 109, 118, 127

So, please update foobar2000 as well with the new Q64 (-V 64 or -V64) and (qaac.exe;qaac64.exe) in the AAC (Apple) settings. Also please again on foobar2000, add Apple Lossless (refalac) (refalac.exe;refalac64.exe), no need for libraries. Thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 30 January, 2015, 04:11:00 PM
nu774, can you add -A on refalac (hidden feature?) so foobar2000 can use only "Apple Lossless" in its settings with (qaac.exe;qaac64.exe;refalac.exe;refalac64.exe) instead of "Apple Lossless (qaac)" and "Apple Lossless (refalac)".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sPeziFisH on 31 January, 2015, 12:16:25 PM
What's new in QAAC 2.45:
* Added qaac64.exe that works with iTunes 64bit (ver 12.1).
...

..not to forget to mention that makeportable (https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)) has also been updated to handle the 64bit-packages.
Thx nu774 !
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 31 January, 2015, 01:18:04 PM
And if someone doesn't like to have 19MB icudt49.dll in their portable install:

Title: QAAC: discussion, questions, feature requests, etc.
Post by: Sixth Street on 02 February, 2015, 02:29:02 AM
Does anyone use QAAC with Ampache?  Trying to get transcoding to work but having no luck.  Thanks in advance!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 02 February, 2015, 10:04:59 AM
Today I got very strange message when using qaac with piped input

QAAC64 can't find DevIL.dll.

WTH, this dll never has beenn bundled with QAAC
What it truly does and why qaac demands it?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 February, 2015, 02:06:05 AM
Today I got very strange message when using qaac with piped input

QAAC64 can't find DevIL.dll.

WTH, this dll never has beenn bundled with QAAC
What it truly does and why qaac demands it?

Can't investigate now, but only thing I can think of is avisynth related.
I guess you have 64bit avisynth that is not correctly working due to missing dependencies, but please post console error message as well as result of qaac --check. Does it always happen?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 February, 2015, 07:11:28 AM
OK, I confirmed that when you have avisynth.dll without devil.dll (which avisynth depends on), OS shows that dialog.
Since qaac works without avisynth.dll (it's merely optional), this interference by OS is really unnecessary and annoying.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 February, 2015, 07:25:31 AM
The issue is fixed on 2.46.
However, you had better re-install 64bit avisynth or remove it anyway.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 February, 2015, 10:08:22 AM
Thanks for the -A switch too nu774.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 03 February, 2015, 11:56:01 AM
Sorry if this sounds like a silly question but i don't understand what difference the new -A option does? Anyone care to explain?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 03 February, 2015, 12:01:18 PM
Sorry if this sounds like a silly question but i don't understand what difference the new -A option does? Anyone care to explain?

It was just a request so apps like foobar2000 wouldn't have to add different encoder parameters for both qaac and refalac, now the parameter is always -A and what changes is only the .exe.

See here another request, for Peter now: http://www.hydrogenaud.io/forums/index.php...=108274 (http://www.hydrogenaud.io/forums/index.php?showtopic=108274)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 03 February, 2015, 12:09:15 PM
Sorry if this sounds like a silly question but i don't understand what difference the new -A option does? Anyone care to explain?

It was just a request so apps like foobar2000 wouldn't have to add different encoder parameters for both qaac and refalac, now the parameter is always -A and what changes is only the .exe.

See here another request, for Peter now: http://www.hydrogenaud.io/forums/index.php...=108274 (http://www.hydrogenaud.io/forums/index.php?showtopic=108274)


Ah so you can access the lossless encoder using qaac.exe with -A? I didnt realise that. I always just use refalac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: M on 03 February, 2015, 08:52:56 PM
My apologies if this has already been covered somewhere in the thread (yes, I searched; no, I didn't find it), but does the following parameter directly map to the "good," "better," and "best" options in QuickTime?

Quote
-q, --quality <n>      AAC encoding Quality [0-2]


I ask because the Quicktime 7 User's Guide (http://www.apple.com/quicktime/pdf/QuickTime7_User_Guide.pdf) includes the following note in the MPEG-4 Audio Export Options, at the top of page 51:

Quote
Encoding Quality: Available only with AAC audio. The Good setting is optimized for the highest-speed encoding, for higher-quality, choose Best for 16-bit audio, or Better if your audio source is 24-bit.


As a quick experiment, I encoded a 24-bit audio source via qaac/CoreAudioToolbox 7.9.9.4 to produce two separate files, one of which used --quality 2 (assuming that to be "Best"), and the other of which used --quality 1 (assuming that to be "Better"). I then converted each of those files back to WAV via foobar2000. Next I loaded the original into Audacity, and inverted the signal, prior to loading one of the decoded WAV files into Audacity, so that I could mix and render a residual signal.

From there, I loaded both residual signals in Audacity, and mapped both channels of the --quality 1 ("Better") output Left, with both channels of the --quality 2 ("Best") output mapped Right. Playing the synchronized pair of residual signals resulted in an experience that was significantly—as in, no subtlety about it, it was that easy to discern—noisier on the "Best" side, and that counter-intuitively seems to imply the "Better" setting preserved an audio signal closer to the original, 24-bit source than the "Best" setting managed... which, if correct, matches the advice in the Quicktime 7 User's Guide.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 February, 2015, 02:26:52 AM
does the following parameter directly map to the "good," "better," and "best" options in QuickTime?
Quote
-q, --quality <n>      AAC encoding Quality [0-2]


Yes, I think so.

Quote
Encoding Quality: Available only with AAC audio. The Good setting is optimized for the highest-speed encoding, for higher-quality, choose Best for 16-bit audio, or Better if your audio source is 24-bit.

I dunno. Only Apple dev should be able to explain it, but codec itself works on 32bit float. Then why the input bit depth matters? I'm somewhat skeptical.

Quote
As a quick experiment, I encoded a 24-bit audio source via qaac/CoreAudioToolbox 7.9.9.4 to produce two separate files, one of which used --quality 2 (assuming that to be "Best"), and the other of which used --quality 1 (assuming that to be "Better"). I then converted each of those files back to WAV via foobar2000. Next I loaded the original into Audacity, and inverted the signal, prior to loading one of the decoded WAV files into Audacity, so that I could mix and render a residual signal.

I don't think your test procedure is valid for comparing perceptual encoding.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: M on 04 February, 2015, 06:37:00 AM
I don't think your test procedure is valid for comparing perceptual encoding.


Nor did I suggest that it was. What I did suggest was that, based on Apple's own advice, the possibility merited technical examination... hence the reason I began with the "quick experiment" I described, rather than jumping straight to a double-blind test of perceptual output.

At any rate, the information seemed interesting enough to mention, so that any other HA members who might also be inclined to experiment with alternative methods of encoding 24-bit source material could do so. (And should any then do so, surely multiple individuals contributing results of their own double-blind tests would be more indicative than anecdotal information from a single individual?)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Mix3dmessagez on 08 February, 2015, 01:32:18 PM
My apologies if this has already been covered somewhere in the thread (yes, I searched; no, I didn't find it), but does the following parameter directly map to the "good," "better," and "best" options in QuickTime?

Quote
-q, --quality <n>      AAC encoding Quality [0-2]


I ask because the Quicktime 7 User's Guide (http://www.apple.com/quicktime/pdf/QuickTime7_User_Guide.pdf) includes the following note in the MPEG-4 Audio Export Options, at the top of page 51:

Quote
Encoding Quality: Available only with AAC audio. The Good setting is optimized for the highest-speed encoding, for higher-quality, choose Best for 16-bit audio, or Better if your audio source is 24-bit.


As a quick experiment, I encoded a 24-bit audio source via qaac/CoreAudioToolbox 7.9.9.4 to produce two separate files, one of which used --quality 2 (assuming that to be "Best"), and the other of which used --quality 1 (assuming that to be "Better"). I then converted each of those files back to WAV via foobar2000. Next I loaded the original into Audacity, and inverted the signal, prior to loading one of the decoded WAV files into Audacity, so that I could mix and render a residual signal.

From there, I loaded both residual signals in Audacity, and mapped both channels of the --quality 1 ("Better") output Left, with both channels of the --quality 2 ("Best") output mapped Right. Playing the synchronized pair of residual signals resulted in an experience that was significantly—as in, no subtlety about it, it was that easy to discern—noisier on the "Best" side, and that counter-intuitively seems to imply the "Better" setting preserved an audio signal closer to the original, 24-bit source than the "Best" setting managed... which, if correct, matches the advice in the Quicktime 7 User's Guide.


Interesting, over here https://developer.apple.com/library/mac/tec...237/_index.html (https://developer.apple.com/library/mac/technotes/tn2237/_index.html)

It says:
Encoding Quality:
Good, Better or Best. The Good  setting is optimized for the highest-speed encoding, for higher-quality  choose Better or Best (optimal for 24-bit source). The tradeoff is  between encoding speed and audio quality

This seems to me that better and best could both apply to 16 and 24 bit files, with best resulting in the highest quality setting *which would make sense*. And it also has the distinction of mentioning 24 bit but not proclaiming it to be the highest source it accepts, simply optimal.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Munchulax on 08 February, 2015, 05:27:22 PM
Does anyone know what the default lowpass settings for QAAC's CVBR and TVBR modes in the higher bitrate range are (256 kbps and up for CVBR and Q 100 and up for TVBR)?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Steve Forte Rio on 12 February, 2015, 08:30:05 AM
Hello, nu774. Thank you so much for 64-bit support, for me it runs about 20% faster than x86.

But can you tell us why does qaac64 gives considerably different stream? I encoded the same file with x64 and x86 (both qaac 2.46/7.9.9.4) and have got their differential file with peaks up to -48 dBFS. Don't think it's normal (I wouldn't care if they was less than -96 dBFS, but actually they're much higher).

How could you explain it? Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 February, 2015, 09:15:16 AM
have got their differential file with peaks up to -48 dBFS. Don't think it's normal (I wouldn't care if they was less than -96 dBFS, but actually they're much higher).

Well, not being the developer of the codec, I have nothing to explain. However, to me it doesn't look as abnormal as you say.
Have you tried the same with other lossy encoders (LAME, Vorbis, Opus,...) ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Steve Forte Rio on 12 February, 2015, 01:31:03 PM
Have you tried the same with other lossy encoders (LAME, Vorbis, Opus,...) ?


For other codecs the differential signal generally has peaks much lower so it's even almost inaudible.

Then, you are right, it's rather a question for Apple developers 
And, anyway, I'm almost sure that even such differences, as for QAAC, will be non-abxable.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 12 February, 2015, 01:50:14 PM
The difference between SSE vs. non-SSE builds of "Oggenc2.87 using libVorbis v1.3.4 (http://www.rarewares.org/ogg-oggenc.php#oggenc-libvorbis)" is comparable or even bigger than the difference between qaac vs. qaac64.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 15 February, 2015, 02:01:00 AM
remove please sorry.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 15 February, 2015, 06:27:22 AM
It's new QAAC 2.47:

- Large file (>= 4GB) output is now supported. Very long duration (beyond 32bit limit) is also supported, but the latter is not compatible with QuickTime 7.
- On very large files, container optimization can take several minutes. You can disable it by --no-optimize.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 15 February, 2015, 02:49:12 PM
Thanks for the -A switch too nu774.

Just noticed that Peter used --alac for foobar2000 and not -A, I don't know if he cares enough to change it and if he doesn't -A won't resolve anything for the normal user.

Here what he uses: "--ignorelength -s --no-optimize --alac -o %d -"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lonelyroads on 15 February, 2015, 06:16:14 PM
while i was finding out what setting to encode my collection at i discovered a nasty artifact that i only seem to get on Apple AAC but not on other formats?. i can make sample if anyone whats hear or not.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 15 February, 2015, 06:48:02 PM
while i was finding out what setting to encode my collection at i discovered a nasty artifact that i only seem to get on Apple AAC but not on other formats?. i can make sample if anyone whats hear or not.

Of course do please and thank you  Many say they prefer MP3 to AAC because of the different artifact habit I guess they have.

Open a new thread, this is about QAAC not AAC, the sample must be less than 30 secs.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lonelyroads on 16 February, 2015, 05:49:40 AM
while i was finding out what setting to encode my collection at i discovered a nasty artifact that i only seem to get on Apple AAC but not on other formats?. i can make sample if anyone whats hear or not.

Of course do please and thank you  Many say they prefer MP3 to AAC because of the different artifact habit I guess they have.

Open a new thread, this is about QAAC not AAC, the sample must be less than 30 secs.
will do and thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 16 February, 2015, 10:15:41 PM
Thanks for the -A switch too nu774.

Just noticed that Peter used --alac for foobar2000 and not -A, I don't know if he cares enough to change it and if he doesn't -A won't resolve anything for the normal user.

Here what he uses: "--ignorelength -s --no-optimize --alac -o %d -"

nu774, sorry for always requesting, can you add --alac too to refalac, I guess? I don't even know if refalac is compatible with the other commands, let's see what Peter is going to do with the new foobar2000. Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 17 February, 2015, 01:41:27 AM
nu774, sorry for always requesting, can you add --alac too to refalac, I guess? I don't even know if refalac is compatible with the other commands, let's see what Peter is going to do with the new foobar2000. Thanks.

I think --alac is already allowed.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 February, 2015, 03:37:21 AM
I think --alac is already allowed.

Perfect, sorry didn't have the file to check. Just checked.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: iListener on 02 March, 2015, 07:59:57 AM
nu774, could you please add support for Sound Check?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 02 March, 2015, 08:26:42 AM
Not using iTunes, I did not even know what Sound Check (https://support.apple.com/en-us/HT201724) means; apparently it is similar to ReplayGain.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: iListener on 02 March, 2015, 09:13:44 AM
Not using iTunes, I did not even know what Sound Check (https://support.apple.com/en-us/HT201724) means; apparently it is similar to ReplayGain.


Yes, it is similar to RG. I don't use iTunes either, but my iPod doesn't support RG, only SC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 March, 2015, 02:31:38 AM
I will not implement replaygain scanner in qaac since:

1) A replaygain scanner shares no functionality with an encoder and it can be implemented as a separated, independent program (Scanner will use AAC decoder, not encoder).

2) Multiple choices of algorithm (R128 or something), multiple way of implementing it (aacgain way/metadata only).

3) qaac can be executed in many ways. What "Album" means is not always clear to qaac.

The same applies true for sound check, but it is even worse than replaygain.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Neroldy on 05 March, 2015, 11:07:12 AM
Hi,
I have a question about --ignorelength.
I use eac3to and get 3.85G wav file from video. Then I use qaac to convert it to the aac.
first I use --ignorelength and get a m4a file, then I try not use --ignorelength and I also get a m4a file.
And I listen these 2 files and didn't find any problem. But these 2 files are different(MD5). So, do I need to use --ignorelength ?
Thank~
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 05 March, 2015, 11:18:14 AM
This option is required if you want the encoder to read from a pipe (decoder infile - | encoder - outfile), because the length of the data chunk is often only known when the decoder finished decoding an audio stream to a virtual WAV file in the RAM, but should have updated the WAV header when it started to write the virtual WAV file into the pipe already. But a pipe can only be written once and sequentially, the output cannot rewind in the end and change something in the beginning. Therefore an encoder reading out of a pipe must ignore the length field in a WAV header because the connected decoder cannot have written the correct value in it yet.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Neroldy on 05 March, 2015, 11:26:47 AM
This option is required if you want the encoder to read from a pipe (decoder infile - | encoder - outfile), because the length of the data chunk is often only known when the decoder finished decoding an audio stream to a virtual WAV file in the RAM, but should have updated the WAV header when it started to write the virtual WAV file into the pipe already. But a pipe can only be written once and sequentially, the output cannot rewind in the end and change something in the beginning. Therefore an encoder reading out of a pipe must ignore the length field in a WAV header because the connected decoder cannot have written the correct value in it yet.

Thank you!
You mean that even if the wav file is > 4GB, I needn't to use the --ignorelength, am I right?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 March, 2015, 10:30:52 PM
Hi,
I have a question about --ignorelength.
I use eac3to and get 3.85G wav file from video. Then I use qaac to convert it to the aac.
first I use --ignorelength and get a m4a file, then I try not use --ignorelength and I also get a m4a file.
And I listen these 2 files and didn't find any problem. But these 2 files are different(MD5). So, do I need to use --ignorelength ?
Thank~

How did you created MD5sum?
The resulting file should always be different, even if you specify identical options, since MP4 container stores creation time or something.
You have to compare AAC bitsteam only. Binary comparator of fb2k should be enough. However, in your  case, what you really have to compare is duration of the resulting file. If it is the same as the input, then it is fine. Period.

Quote
You mean that even if the wav file is > 4GB, I needn't to use the --ignorelength, am I right?

You really don't have to worry about that option as long as duration of the output is fine.
--ignorelength forces qaac to ignore the length declared in the WAV header. If the WAV file doesn't fits in 32bit limit, it's not a valid WAV file, and it's length field has to be ignored. In some cases, qaac can detect incorrectness of the header and automatically turns into ignorelength mode.
In others, you need --ignorelength.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Neroldy on 05 March, 2015, 11:51:31 PM
Hi,
I have a question about --ignorelength.
I use eac3to and get 3.85G wav file from video. Then I use qaac to convert it to the aac.
first I use --ignorelength and get a m4a file, then I try not use --ignorelength and I also get a m4a file.
And I listen these 2 files and didn't find any problem. But these 2 files are different(MD5). So, do I need to use --ignorelength ?
Thank~

How did you created MD5sum?
The resulting file should always be different, even if you specify identical options, since MP4 container stores creation time or something.
You have to compare AAC bitsteam only. Binary comparator of fb2k should be enough. However, in your  case, what you really have to compare is duration of the resulting file. If it is the same as the input, then it is fine. Period.

Quote
You mean that even if the wav file is > 4GB, I needn't to use the --ignorelength, am I right?

You really don't have to worry about that option as long as duration of the output is fine.
--ignorelength forces qaac to ignore the length declared in the WAV header. If the WAV file doesn't fits in 32bit limit, it's not a valid WAV file, and it's length field has to be ignored. In some cases, qaac can detect incorrectness of the header and automatically turns into ignorelength mode.
In others, you need --ignorelength.


Oh, I see. Thank you very much !
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 06 March, 2015, 02:06:37 AM
If the WAV file expectably could exceed 4 GB (or better, 2 GB already, there may be tools interpreting the size fields incorrectly as signed), one should possibly prefer the WAV64 format.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: stax on 12 March, 2015, 05:56:34 PM
Hi,

I got two reports of StaxRip users qaac not accepting FLAC. What could be the reason?

Here is the log:

Code: [Select]
------------------------------------------------------------
              Convert to WAV/FLAC using ffmpeg
------------------------------------------------------------

"C:\Program Files (x86)\StaxRip_1.2.0.5\Applications\ffmpeg\ffmpeg.exe" -i "D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.ac3" -y -ac 2 "D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.flac"

ffmpeg version N-70599-gc8372f8 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil      54. 20.100 / 54. 20.100
libavcodec     56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 12.100 /  5. 12.100
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100
[ac3 @ 0036b920] Estimating duration from bitrate, this may be inaccurate
Input #0, ac3, from 'D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.ac3':
Duration: 00:42:22.18, start: 0.000000, bitrate: 192 kb/s
Stream #0:0: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
[flac @ 042a9560] encoding as 24 bits-per-sample
Output #0, flac, to 'D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.flac':
Metadata:
encoder         : Lavf56.25.101
Stream #0:0: Audio: flac, 48000 Hz, stereo, s32 (24 bit), 128 kb/s
Metadata:
encoder         : Lavc56.26.100 flac
Stream mapping:
Stream #0:0 -> #0:0 (ac3 (native) -> flac (native))
Press [q] to stop, [?] for help
video:0kB audio:372972kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002170%
Start:    10:18:38
End:      10:18:49
Duration: 00:00:10

General
Complete name                            : D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.flac
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
File size                                : 364 MiB
Duration                                 : 42mn 22s
Overall bit rate mode                    : Variable
Overall bit rate                         : 1 202 Kbps
Writing application                      : Lavf56.25.101

Audio
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 42mn 22s
Bit rate mode                            : Variable
Bit rate                                 : 1 202 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Bit depth                                : 24 bits
Stream size                              : 364 MiB (100%)
Writing library                          : Lavf56.25.101


------------------------------------------------------------
                 Audio encoding using qaac
------------------------------------------------------------

"C:\Program Files (x86)\StaxRip_1.2.0.5\Applications\qaac\qaac.exe" -o "D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German_out.m4a" --tvbr 75 --normalize "D:\Down.Temp\foobar\foobar temp files\foobar - ID2 - German.flac"


------------------------------------------------------------
              Error Audio encoding using qaac
------------------------------------------------------------

Audio encoding using qaac failed with exit code 2

qaac 2.47, CoreAudioToolbox 7.9.8.3
ERROR: Not available input file format
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 March, 2015, 11:22:53 PM
I got two reports of StaxRip users qaac not accepting FLAC. What could be the reason?

qaac needs external libFLAC DLL to decode FLAC files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: stax on 13 March, 2015, 08:33:08 AM
Thanks but I don't understand then why for me and most other users it worked without libFLAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 March, 2015, 11:08:46 AM
Thanks but I don't understand then why for me and most other users it worked without libFLAC?

Because libFLAC is installed somewhere in your system.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 March, 2015, 11:14:25 AM
Another possibility is existence of libsndfile (which is statically or dynamically linked to libFLAC).
Anyway, qaac cannot read FLAC without them.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: stax on 13 March, 2015, 01:39:25 PM
Indeed it was in System32, maybe I've put it there and forgot about it or some setup or application copied it there (on the creation day no programs were installed though), thanks for everything.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 27 April, 2015, 02:15:34 PM
And if someone doesn't like to have 19MB icudt49.dll in their portable install:

Why is this file still necessary if a dummy is fine as well?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 April, 2015, 12:03:24 AM
And if someone doesn't like to have 19MB icudt49.dll in their portable install:

Why is this file still necessary if a dummy is fine as well?

If you are saying that makeportable.zip should install the stab as the replacement of the real icudt... No, I will not do that. Required version of ICU is not constant, and it costs me some efforts for almost no real gain.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 28 April, 2015, 12:15:54 AM
And if someone doesn't like to have 19MB icudt49.dll in their portable install:

Why is this file still necessary if a dummy is fine as well?

If you are saying that makeportable.zip should install the stab as the replacement of the real icudt... No, I will not do that. Required version of ICU is not constant, and it costs me some efforts for almost no real gain.

No of course not, I don't understand why Apple keeps that huge file even if lvqcl's dummy works as well. What's the purpose of that DLL?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 April, 2015, 01:56:02 AM
No of course not, I don't understand why Apple keeps that huge file even if lvqcl's dummy works as well. What's the purpose of that DLL?

ICU is an open source library that provides Unicode / internationalization support, and libicudt contains many kind of data about Unicode characters, languages, calendars or something.
Apparently it has nothing to do with audio signal processing provided by CoreAudioToolbox, but CoreFoundation has many features based on ICU.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: OxygenSupply on 30 April, 2015, 08:38:49 PM
Hello. I am using 64-bit Windows 7. The “makeportable.zip” method (https://forum.doom9.org/showthread.php?p=1718529#post1718529) created two folders: QTfiles and QTfiles64. Do I:


nu774, would it be possible to use only qaac.exe along with the Apple Application Support .dll's in the same folder in a portable manner, without the need for registry keys and a separate installation?  (now that it bypasses quicktime)

Yes. They are searched in the following order. No registory setting is required.
1) The directory where qaac.exe is placed
2) Windows system directory
3) "QTfiles" sub directory
4) The directory in a registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support" (This can be overriden with qaac.reg)
5) Directories in the PATH environment variable

Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 April, 2015, 09:33:47 PM
Don't rename them.
They are named like this so that they can be installed under the same directory without collision.

QTfiles contains 32bit libraries and is for qaac.exe.
QTfiles64 contains 64bit libraries and is for qaac64.exe.
qaac64 searches QTfiles64 instead of QTfiles.

Since you are using 64-bit Windows 7, you need only 64bit version unless you need TAK decoding support (it's 32bit only).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: stax on 02 May, 2015, 04:34:13 AM
Hello,
I ported my GUI to 64-Bit, all 64-Bit applications I redirect work and behave exactly like the previously used 32-Bit applications except qaac where redirection fails and a command shell window pops up instead. I use exact identical code for all applications always redirecting both stdout and stderr, my application is rather old and large so it uses quite a few different command line tools, qaac is really the only causing a problem and it's only happening with qaac64.exe, 32-Bit was fine.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 May, 2015, 09:20:58 PM
qaac is really the only causing a problem and it's only happening with qaac64.exe, 32-Bit was fine.

All I can say is that qaac64 should run once it is correctly set up.

Can you run qaac64 directly (from command prompt) ?
Have you set up 64bit CoreAudio libs or other dependent (see below) 64bit libs?
Have you tried the same invocation way (arguments/redirection/pipes) from command prompt ?

IIRC, you were using FLAC decoding feature using libFLAC without even knowing it. If so, you need 64bit libFLAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: stax on 03 May, 2015, 05:34:17 AM
It was a stupid bug on my side, I hope it wasn't too much of a headache, I'm so sorry.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 08 May, 2015, 06:20:55 AM
QAAC 2.48 fixes an issue on MP4Source: trailing samples were discarded under certain conditions.

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.48.zip?attredirects=0&d=1)

thanks nu774
Title: QAAC: discussion, questions, feature requests, etc.
Post by: decollated on 12 May, 2015, 04:00:40 PM
QAAC 2.48 fixes an issue on MP4Source: trailing samples were discarded under certain conditions.

https://sites.google.com/site/qaacpage/cabi...rects=0&d=1 (https://sites.google.com/site/qaacpage/cabinet/qaac_2.48.zip?attredirects=0&d=1)

thanks nu774

Can I ask what the certain conditions were?

I encoded a lot of files with 2.47, and am wondering if this would justify re-encoding.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 May, 2015, 08:53:55 PM
Can I ask what the certain conditions were?

I encoded a lot of files with 2.47, and am wondering if this would justify re-encoding.

Well, if you don't encode from MP4/m4a files, you don't need re-encoding. The bug was inside of MP4 reader, which was first implemented at 2.39:
https://sites.google.com/site/qaacpage/news...se239refalac139 (https://sites.google.com/site/qaacpage/news/qaacrelease239refalac139)

If you DO encode from MP4/m4a files, then you may have encountered loss of certain amount of trailing samples (shorter than one frame length), but it did not always happen.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: decollated on 12 May, 2015, 09:15:12 PM
Well, if you don't encode from MP4/m4a files, you don't need re-encoding. The bug was inside of MP4 reader, which was first implemented at 2.39:
https://sites.google.com/site/qaacpage/news...se239refalac139 (https://sites.google.com/site/qaacpage/news/qaacrelease239refalac139)

If you DO encode from MP4/m4a files, then you may have encountered loss of certain amount of trailing samples (shorter than one frame length), but it did not always happen.

Ah, thank you. Some of my encodes were indeed from M4A source files (ALAC). So I may re-encode, just to be safe.

BTW, much appreciation for this excellent tool.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 May, 2015, 09:22:52 PM
Ah, thank you. Some of my encodes were indeed from M4A source files (ALAC). So I may re-encode, just to be safe.

Needless to say, you don't need re-encoding if you are using qaac from fb2k or other GUI frontends, since they decode ALAC into WAV and pass WAV to qaac.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: decollated on 12 May, 2015, 09:25:36 PM
Needless to say, you don't need re-encoding if you are using qaac from fb2k or other GUI frontends, since they decode ALAC into WAV and pass WAV to qaac.

Yes, that occurred to me soon after posting. I did use fb2k, so all is well!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Zarggg on 14 May, 2015, 12:02:18 PM
I have a question regarding QAAC's ability to create chaptered files. I've recently been converting some audiobooks I have on CD to iPod format.

The files for the previous audiobook I converted had chapter stops in them when I played them back on my iPod. However, I must have forgotten the process I used (even though it was only two months ago), since the current one I'm working on doesn't seem to have them. When I check the files with MediaInfo, the relevant "Menu" section seems to be set up properly, but the iPod does not recognize the chapter stops.

I've tried ripping the CDs with both foobar2000 and CUERipper, but the end result is always the same. Here is the MediaInfo output for two files in question:

Code: [Select]
General
Complete name              : L:\Audiobooks\Wheel of Time\01 - Eye of the World\Robert Jordan - The Eye of the World, Part 02.m4a
Format                      : MPEG-4
Format profile              : Apple audio with iTunes info
Codec ID                    : M4A
File size                  : 47.4 MiB
Duration                    : 1h 12mn
Overall bit rate mode      : Variable
Overall bit rate            : 90.9 Kbps
Album                      : The Wheel of Time
Track name                  : The Eye of the World, Part 02
Track name/Position        : 2
Track name/Total            : 25
Performer                  : Robert Jordan
Genre                      : Audiobook
Recorded date              : 1990
Encoded date                : UTC 2015-03-13 18:25:57
Tagged date                : UTC 2015-03-13 18:28:05
Writing application        : qaac 2.46, CoreAudioToolbox 7.9.9.6, AAC-LC Encoder, TVBR q73, Quality 96
Cover                      : Yes
replaygain_track_gain      : +4.13 dB
replaygain_track_peak      : 0.965155

Audio
ID                          : 1
Format                      : AAC
Format/Info                : Advanced Audio Codec
Format profile              : LC
Codec ID                    : 40
Duration                    : 1h 12mn
Bit rate mode              : Variable
Bit rate                    : 89.3 Kbps
Maximum bit rate            : 114 Kbps
Channel(s)                  : 2 channels
Channel positions          : Front: L R
Sampling rate              : 44.1 KHz
Compression mode            : Lossy
Stream size                : 46.6 MiB (98%)
Encoded date                : UTC 2015-03-13 18:25:57
Tagged date                : UTC 2015-03-13 18:28:05

Menu #1
ID                          : 2
Codec ID                    : text
Duration                    : 1h 12mn
Encoded date                : UTC 2015-03-13 18:28:05
Tagged date                : UTC 2015-03-13 18:28:05
00:00:00.000                : Chapter - 2 - Strangers E
00:03:42.266                : Chapter - 2 - Strangers F
00:06:29.120                : Chapter - 2 - Strangers G
00:10:06.813                : Chapter - 2 - Strangers H
00:12:59.173                : Chapter - 2 - Strangers I
00:14:46.280                : Chapter - 3 - The Peddler A
00:17:25.653                : Chapter - 3 - The Peddler B
00:21:17.866                : Chapter - 3 - The Peddler C
00:24:17.906                : Chapter - 3 - The Peddler D
00:27:37.653                : Chapter - 3 - The Peddler E
00:31:40.386                : Chapter - 3 - The Peddler F
00:34:33.746                : Chapter - 3 - The Peddler G
00:37:48.866                : Chapter - 3 - The Peddler H
00:41:36.813                : Chapter - 3 - The Peddler I
00:45:15.173                : Chapter - 4 - The Gleeman A
00:49:45.493                : Chapter - 4 - The Gleeman B
00:54:23.760                : Chapter - 4 - The Gleeman C
00:58:37.653                : Chapter - 4 - The Gleeman D
01:03:13.093                : Chapter - 4 - The Gleeman E
01:07:33.400                : Chapter - 4 - The Gleeman F
01:11:51.786                : Chapter - 4 - The Gleeman G
Bit rate mode              : VBR

Menu #2
00:00:00.047                : The Eye of the World, Part 02

Code: [Select]
General
Complete name              : L:\Audiobooks\Wheel of Time\02 - The Great Hunt\The Great Hunt, Part 01.m4b
Format                      : MPEG-4
Format profile              : Apple audio with iTunes info
Codec ID                    : M4A
File size                  : 61.9 MiB
Duration                    : 1h 14mn
Overall bit rate mode      : Variable
Overall bit rate            : 117 Kbps
Album                      : The Great Hunt, Part 01
Performer                  : Robert Jordan
Genre                      : Audiobook
Recorded date              : 1991
Encoded date                : UTC 2015-05-14 15:31:27
Tagged date                : UTC 2015-05-14 15:33:10
Writing application        : qaac 2.46, CoreAudioToolbox 7.9.9.6, AAC-LC Encoder, TVBR q91, Quality 96
Cover                      : Yes

Audio
ID                          : 1
Format                      : AAC
Format/Info                : Advanced Audio Codec
Format profile              : LC
Codec ID                    : 40
Duration                    : 1h 14mn
Bit rate mode              : Variable
Bit rate                    : 115 Kbps
Maximum bit rate            : 148 Kbps
Channel(s)                  : 2 channels
Channel positions          : Front: L R
Sampling rate              : 44.1 KHz
Compression mode            : Lossy
Stream size                : 60.8 MiB (98%)
Encoded date                : UTC 2015-05-14 15:31:27
Tagged date                : UTC 2015-05-14 15:33:10

Menu
00:01:31.834                : Prologue A
00:04:22.274                : Prologue B
00:07:36.954                : Prologue C
00:10:27.727                : Prologue D
00:14:50.461                : Prologue E
00:17:45.194                : Prologue F
00:21:20.287                : Prologue G
00:23:52.154                : Prologue H
00:27:19.874                : Prologue I
00:30:37.514                : Prologue J
00:35:07.141                : Chapter 01 - The Flame of Tar Valon A
00:38:45.061                : Chapter 01 - The Flame of Tar Valon B
00:41:33.034                : Chapter 01 - The Flame of Tar Valon C
00:45:15.367                : Chapter 01 - The Flame of Tar Valon D
00:48:45.807                : Chapter 01 - The Flame of Tar Valon E
00:52:06.394                : Chapter 01 - The Flame of Tar Valon F
00:55:39.594                : Chapter 01 - The Flame of Tar Valon G
00:59:02.887                : Chapter 01 - The Flame of Tar Valon H
01:00:44.021                : Chapter 02 - The Welcome A
01:03:32.834                : Chapter 02 - The Welcome B
01:07:06.981                : Chapter 02 - The Welcome C
01:10:39.701                : Chapter 02 - The Welcome D

It looks like the "Menu" section of the second group of files is getting truncated (note the lack of the "ID", "Codec ID", "Duration", and "Bit rate mode" subsections and the "Menu #2" section). Does anyone have a clue what I'm doing wrong, or if there is a step of the process I am forgetting? These results are the same regardless of whether I use foobar2000's "Edit MP4 chapters" or let QAAC handle it automatically.

If it is relevant, here is the CUE file generated by CUERipper:
Code: [Select]
REM DISCID 4E116317
PERFORMER "Robert Jordan"
TITLE "The Great Hunt, Part 01"
REM DATE 1991
REM GENRE "Audiobook"
REM COMMENT "CUERipper v2.1.6 Copyright © 2008-13 Grigory Chudov"
FILE "Robert Jordan - The Great Hunt, Part 01.flac" WAVE
  TRACK 01 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Introduction"
   INDEX 01 00:00:00
  TRACK 02 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue A"
   INDEX 01 01:31:59
  TRACK 03 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue B"
   INDEX 01 04:22:17
  TRACK 04 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue C"
   INDEX 01 07:36:68
  TRACK 05 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue D"
   INDEX 01 10:27:51
  TRACK 06 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue E"
   INDEX 01 14:50:31
  TRACK 07 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue F"
   INDEX 01 17:45:11
  TRACK 08 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue G"
   INDEX 01 21:20:18
  TRACK 09 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue H"
   INDEX 01 23:52:08
  TRACK 10 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue I"
   INDEX 01 27:19:62
  TRACK 11 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Prologue J"
   INDEX 01 30:37:35
  TRACK 12 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon A"
   INDEX 01 35:07:07
  TRACK 13 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon B"
   INDEX 01 38:45:01
  TRACK 14 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon C"
   INDEX 01 41:32:74
  TRACK 15 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon D"
   INDEX 01 45:15:24
  TRACK 16 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon E"
   INDEX 01 48:45:57
  TRACK 17 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon F"
   INDEX 01 52:06:26
  TRACK 18 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon G"
   INDEX 01 55:39:41
  TRACK 19 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 01 - The Flame of Tar Valon H"
   INDEX 01 59:02:63
  TRACK 20 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 02 - The Welcome A"
   INDEX 01 60:43:73
  TRACK 21 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 02 - The Welcome B"
   INDEX 01 63:32:59
  TRACK 22 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 02 - The Welcome C"
   INDEX 01 67:06:70
  TRACK 23 AUDIO
   PERFORMER "Robert Jordan"
   TITLE "Chapter 02 - The Welcome D"
   INDEX 01 70:39:49
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 14 May, 2015, 08:50:33 PM
First, there are two incompatible styles of chapters.
1. Apple style: written as a MP4 text track, shown in your first sample (track ID, codec or something are shown, meaning that it is a track)
2. Nero style: written in 'chpl' box under udta, shown in your second sample.

For iPods you need Apple style chapters, and qaac can create both of them.
However, qaac creates chapters only when you feed:
1. multiple input files with --concat option
2. cuesheet with --concat option
In other words, if you are running qaac from fb2k, qaac will never create chapters.

Finally, IIRC fb2k supports only Nero style chapters.
You can try mp4chaps.exe (of mp4v2 project) for importing/exporting chapters, converting chapters from/to Apple/Nero style chapters.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Zarggg on 14 May, 2015, 11:21:12 PM
I'll give that a go. I'm completely baffled how I did the first batch, though. I'm pretty sure the only tools I had at my disposal were CueTools/Ripper and fb2k. I was kind of surprised the chapters were added at all, since I wasn't expecting it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 18 May, 2015, 12:36:56 PM
[qaac] release 2.49
posted 3 hours ago by nu 774
Fixed issues on MP4Source:

Fixed handling of Nero style chapters starting from non-zero timestamp (typically inserted by fb2k and old neroaacenc).
Fixed handling of reading MP4 files with multiple elst entries.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Steve Forte Rio on 26 May, 2015, 03:30:57 AM
Why does QAAC can't decode audio encoded by it's own?


Quote
qaac --decode out24.m4a -o out.wav
qaac 2.49, CoreAudioToolbox 7.9.9.6
ERROR: Not available input file format
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 May, 2015, 04:08:43 AM
Why does QAAC can't decode audio encoded by it's own?

In the past, qaac didn't support lossy input at all.
Now it supports MP1/2/3 and AAC-LC, but not HE-AAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Steve Forte Rio on 26 May, 2015, 07:34:24 AM
Well... so what would you recommend for sample-accurate decoding of HE-AAC? FFmpeg can't do it accurately.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 26 May, 2015, 08:42:05 AM
Well... so what would you recommend for sample-accurate decoding of HE-AAC? FFmpeg can't do it accurately.

Well, you mean gapless? It's very difficult because there are two incompatible usage of iTunSMPB for HE-AAC.
http://www.hydrogenaud.io/forums/index.php?showtopic=98450 (http://www.hydrogenaud.io/forums/index.php?showtopic=98450)

As far as I can see, current fb2k seems trying to support both way by treating Apple-HE-AAC files specially. I don't know how well it's working.

If you want sample accuracy at all, just don't use HE-AAC. Seriously.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: HonestAbe on 15 June, 2015, 05:55:25 PM
Hi I'm kind of a noob to this but I've been using the tvbr for awhile and I can't figure out why it is changing the DR and Peak of the source material. Here's an example:

here's the original FLAC:
--------------------------------------------------------------------------------
Analyzed: Otis Redding / The Dock Of The Bay
--------------------------------------------------------------------------------

DR        Peak        RMS    Duration Track
--------------------------------------------------------------------------------
DR9      -0.80 dB  -11.50 dB      2:44 01-(Sittin' On) The Dock Of The Bay
DR10      -0.80 dB  -12.67 dB      2:53 02-I Love You More Than Words Can Say
DR10      -0.80 dB  -12.81 dB      2:56 03-Let Me Come On Home
DR10      -0.80 dB  -13.84 dB      2:26 04-Open The Door
DR10      -0.80 dB  -12.01 dB      2:31 05-Don't Mess With Cupid
DR9      -0.80 dB  -14.29 dB      2:38 06-The Glory Of Love
DR11      -0.80 dB  -12.96 dB      3:01 07-I'm Coming Home To See About You
DR11      -0.80 dB  -13.45 dB      3:00 08-Tramp
DR10      -0.80 dB  -11.94 dB      3:02 09-The Huckle-Buck
DR10      -0.80 dB  -13.44 dB      3:08 10-Nobody Knows You (When You're Down And Out)
DR12      -0.80 dB  -14.85 dB      2:36 11-Ole Man Trouble
--------------------------------------------------------------------------------

Number of tracks:  11
Official DR value: DR10

Samplerate:        192000 Hz

and here's the QAAC tvbr transcode
Parameters used: --ignorelength -s --no-optimize --tvbr 91 --quality 2 -o %d -

--------------------------------------------------------------------------------
Analyzed: Otis Redding / The Dock Of The Bay
--------------------------------------------------------------------------------

DR        Peak        RMS    Duration Track
--------------------------------------------------------------------------------
DR9      -0.31 dB  -11.52 dB      2:44 01-(Sittin' On) The Dock Of The Bay
DR10      -0.55 dB  -12.68 dB      2:53 02-I Love You More Than Words Can Say
DR11      -0.11 dB  -12.84 dB      2:56 03-Let Me Come On Home
DR11      -0.35 dB  -13.86 dB      2:26 04-Open The Door
DR11      -0.03 dB  -12.04 dB      2:31 05-Don't Mess With Cupid
DR10      -0.16 dB  -14.31 dB      2:38 06-The Glory Of Love
DR11      -0.43 dB  -12.98 dB      3:01 07-I'm Coming Home To See About You
DR11      -0.33 dB  -13.48 dB      3:00 08-Tramp
DR11      0.00 dB  -11.97 dB      3:02 09-The Huckle-Buck
DR10      -0.15 dB  -13.46 dB      3:08 10-Nobody Knows You (When You're Down And Out)
DR13      -0.02 dB  -14.88 dB      2:36 11-Ole Man Trouble
--------------------------------------------------------------------------------

Number of tracks:  11
Official DR value: DR11

Samplerate:        48000 Hz
Channels:          2
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Zarggg on 15 June, 2015, 09:49:23 PM
I don't know enough to go into the details of exactly what is happening under the hood, but AAC is a lossy codec. Similar to MP3, it uses a psychoacoustic model to determine what data can be effectively "thrown away" without impacting what you actually hear. These changes can and often do affect the apparent dynamic range.

If you examine the results closely, you'll see that mostly the peak values are different. The RMS of the AAC-encoded tracks is still very close to that of the original FLAC encodes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: HonestAbe on 16 June, 2015, 03:52:29 AM
I don't know enough to go into the details of exactly what is happening under the hood, but AAC is a lossy codec. Similar to MP3, it uses a psychoacoustic model to determine what data can be effectively "thrown away" without impacting what you actually hear. These changes can and often do affect the apparent dynamic range.

If you examine the results closely, you'll see that mostly the peak values are different. The RMS of the AAC-encoded tracks is still very close to that of the original FLAC encodes.

I noticed it doesn't happen as much with MP3 and the thing that confuses me the most is how it adds DR value.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 16 June, 2015, 04:24:58 AM
and the thing that confuses me the most is how it adds DR value.

http://www.hydrogenaud.io/forums/index.php?showtopic=102895 (http://www.hydrogenaud.io/forums/index.php?showtopic=102895)
DR values aren't very reliable.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 26 June, 2015, 06:11:41 AM
[qaac] release 2.50
posted 21 hours ago by nu 774
Better support for embedded cuesheet.

When cuesheet is embedded in an input file, qaac was encoding it into an single output file with chapters.

From this version, qaac now splits into multiple tracks by default (same as the case of external cuesheet). If you still want single output, use --concat

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 28 June, 2015, 11:29:34 PM
[qaac] release 2.51
posted 13 hours ago by nu774

1. Always write zero into avgBitrate field in esds decConfigDescriptor to be spec compliant. Was writing actual average bitrate before (this was automatically done by libmp4v2). The spec says that in case of VBR, is should be zero.
2. Write iTunes compatible "Encoding Params" tag.

Details on Encoding Params tag.

In this (binary) tag, encoding mode(CBR/ABR/CVBR/TVBR), bitrate, and the codec version is written. As far as I know, this tag is only used by iTunes to show bitrate and show if it is VBR or not.

For the sake of compatibility with iTunes, qaac writes nominal (target) bitrate into this tag, and iTunes will show this value when "Encoding Params" tag is present. Therefore, now the result of -v 256 encoding will always look like "256kbps (VBR)" in iTunes.

On the other hands, other (spec compliant) tools will show actual bitrate.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Makm on 01 July, 2015, 03:47:27 PM
[qaac] release 2.51
posted 13 hours ago by nu774

1. Always write zero into avgBitrate field in esds decConfigDescriptor to be spec compliant. Was writing actual average bitrate before (this was automatically done by libmp4v2). The spec says that in case of VBR, is should be zero.
2. Write iTunes compatible "Encoding Params" tag.

Details on Encoding Params tag.

In this (binary) tag, encoding mode(CBR/ABR/CVBR/TVBR), bitrate, and the codec version is written. As far as I know, this tag is only used by iTunes to show bitrate and show if it is VBR or not.

For the sake of compatibility with iTunes, qaac writes nominal (target) bitrate into this tag, and iTunes will show this value when "Encoding Params" tag is present. Therefore, now the result of -v 256 encoding will always look like "256kbps (VBR)" in iTunes.

On the other hands, other (spec compliant) tools will show actual bitrate.

https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)


So I'm facing some weird problems.
After encoding a flac (using v2.51 at -v 256) dbpoweramp doesn't show any bit rate info! The bit rate field is just blank in the audio properties page  .
Also, I've noticed that if the original file has some tags in it the encoding parameter doesn't appear in the info after encoding, itunes doesn't recognise the file as 256 vbr, it shows the original bit rate instead, but if the original file has no tags in it, the encoded file has the encoding parameter written and itunes shows it as 256 vbr 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 01 July, 2015, 08:44:06 PM
So I'm facing some weird problems.
After encoding a flac (using v2.51 at -v 256) dbpoweramp doesn't show any bit rate info! The bit rate field is just blank in the audio properties page  .

Most likely it is because avgBitrate field is now set to zero. ISO 14496-1 says:
Quote
avgBitrate – is the average bitrate in bits per second of this elementary stream. For streams with variable bitrate this value shall be set to zero.

See the strong word shall. Therefore, we have to set to zero (although everybody seems to break the spec here).
Quote
Also, I've noticed that if the original file has some tags in it the encoding parameter doesn't appear in the info after encoding, itunes doesn't recognise the file as 256 vbr, it shows the original bit rate instead, but if the original file has no tags in it, the encoded file has the encoding parameter written and itunes shows it as 256 vbr 

Currently, dBpa and fb2k are known to break "Encoding Params" when writing tags. Maybe others.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Makm on 02 July, 2015, 04:39:50 AM
So I'm facing some weird problems.
After encoding a flac (using v2.51 at -v 256) dbpoweramp doesn't show any bit rate info! The bit rate field is just blank in the audio properties page  .

Most likely it is because avgBitrate field is now set to zero. ISO 14496-1 says:
Quote
avgBitrate – is the average bitrate in bits per second of this elementary stream. For streams with variable bitrate this value shall be set to zero.

See the strong word shall. Therefore, we have to set to zero (although everybody seems to break the spec here).
Quote
Also, I've noticed that if the original file has some tags in it the encoding parameter doesn't appear in the info after encoding, itunes doesn't recognise the file as 256 vbr, it shows the original bit rate instead, but if the original file has no tags in it, the encoded file has the encoding parameter written and itunes shows it as 256 vbr 

Currently, dBpa and fb2k are known to break "Encoding Params" when writing tags. Maybe others.


I also noticed that MediaInfo no longer shows the 'Maximum bit rate' field after encoding with 2.51, it only shows the 'Bit rate' field, whereas I could see both of the fields (Bit rate and Maximum bit rate)  after encoding with the previous versions of qaac.

For me, iTunes is not recognizing my files as '256 vbr' unless I encode a file with no tags in it, and also the bit rate field in dbpa audio properties is blank (I encoded my files using both dbpoweramp and foobar2000). So until this issue is fixed I'm gonna stick with v2.50.

Apart from the mentioned change log, there are no encoding quality difference between 2.50 and 2.51 right?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 July, 2015, 04:51:28 AM
So until this issue is fixed I'm gonna stick with v2.50.

Since those "issues" are not qaac's fault, it won't fix on qaac side.

Apart from the mentioned change log, there are no encoding quality difference between 2.50 and 2.51 right?

No.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 05 July, 2015, 10:07:10 AM
I can't seem to get QAAC to work with dBPowerAMP 15.3? I have tried using;

--ALAC -o "[outfile]"
-v256 -q2 -o "[outfile]"
--tvbr 63 -o "[outfile]"
--abr 128 -o "[outfile]"
--cvbr 128 -o"[outfile]"


But I'm getting "CLI Encoder: Error writing audio data to StdIn Pipe [dEncoder::EncodeBlock]".
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 July, 2015, 10:54:02 AM
I can't seem to get QAAC to work with dBPowerAMP 15.3? I have tried using;

--ALAC -o "[outfile]"
-v256 -q2 -o "[outfile]"
--tvbr 63 -o "[outfile]"
--abr 128 -o "[outfile]"
--cvbr 128 -o"[outfile]"


But I'm getting "CLI Encoder: Error writing audio data to StdIn Pipe [dEncoder::EncodeBlock]".

Have you read https://forum.dbpoweramp.com/showthread.php...;highlight=qaac (https://forum.dbpoweramp.com/showthread.php?28626-QAAC-CLI-Encoder-errors&highlight=qaac) ?
It seems a "-" (for stdin input) missing in your command line.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 05 July, 2015, 11:06:37 AM
I don't quite follow? Do you mean the [clistring] should be - -o "[outfile]" instead of -o "[outfile]? Because I've tried both and they give the same results.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 July, 2015, 11:36:28 AM
I don't quite follow? Do you mean the [clistring] should be - -o "[outfile]" instead of -o "[outfile]? Because I've tried both and they give the same results.

Yes, an command line argument for input file is mandatory. It's strange that you fail when "-" appended.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 05 July, 2015, 12:20:44 PM
Seems to be a dBPowerAMP 15.3 bug, tried to revert back to 15.1 and it's working again.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 09 July, 2015, 01:56:17 PM
Is it so that the bitrate you set using cVBR (constrained vbr) is the maximum or the minimum that will be used? I thought constrained vbr worked so if I for example choose 128 kbps that would be the minimum to be used, but as it is variable it's allowed to go beyond 128 kbps if need be. Or is it the other way around, so the bitrate I choose for cVBR is the maximum allowed so the VBR algorithm will not go above the specified bitrate?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 09 July, 2015, 02:47:47 PM
CVBR is just a slightly improved ABR (allowing more bitrate fluctuations than ABR, but fewer fluctuations than VBR). The bitrate of your files will still vary, but they'll always come out at approximately the bitrate you specify. From moment to moment, the bitrate can go above or below the value you set.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: rudolf.gelpke on 09 July, 2015, 02:54:23 PM
Difference between CVBR and ABR in AAC (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=104234&view=findpost&p=855350)

If you for example encode a song like Lalena from Donovan where there is not much bitrate needed.
I used qaac and used ~256 Kbps for every mode.

Results:
ABR: 5 301 KB (240 Kbps)
CVBR: 5 628 KB (255 Kbps)
VBR: 2 729 KB (123 Kbps)

You see that encoder in VBR mode realizes that it doesn't need very much bitrate for the song and has the lowest size.
Where ABR and CVBR try to stay close to my requested bitrate of ~256 Kbps. So no the bitrate you give to CVBR is not the mininum or maximum bitrate.
From the perpective of quality VBR > CVBR > ABR is better. So if you don't trust VBR or want your files have the same bitrate go for CVBR.
In the lower bitrates VBR should beat CVBR or ABR, but in the higher like 256 Kbps i don't think there would be that much difference to CVBR. (VBR has a bigger bit-reservoir for problematic places in songs.)

And of course you can set a managed bitrate and use minimum and maximum settings if you really need to. Atleast this works in LAME and Vorbis.
Just my experience. Hope didn't get too much wrong. 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 09 July, 2015, 04:05:29 PM
I was going for tVBR, but as I'm ripping audiobooks and tVBR does not support HE it's a no-go. So I've been using cVBR 80 kbps thus far and it seems to do fine.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: decollated on 09 July, 2015, 05:27:56 PM
From the perpective of quality VBR > CVBR > ABR is better.

There was a listening test that ranked CVBR slightly higher than TVBR at ~96kbps:

http://wiki.hydrogenaud.io/index.php?title...Tests#AAC_Tests (http://wiki.hydrogenaud.io/index.php?title=Hydrogenaudio_Listening_Tests#AAC_Tests)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: halb27 on 10 July, 2015, 12:08:28 AM
And recently there was a thread here giving pre-echo samples where borh CVBR and ABR provided the better quality than TVBR did.
I think there is a bias here on HA towards TVBR which is not based on listening tests.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: rudolf.gelpke on 10 July, 2015, 12:22:35 AM
ABR was better too? I remember some problem samples were CVBR was better, but thougt it was not relevant.
I thought VBR should be better theoretically, but yeah i guess i was wrong. I even remember that listening test now. 

Would be interesting too know if this is the same for Opus.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Case on 10 July, 2015, 02:47:54 AM
There was a listening test that ranked CVBR slightly higher than TVBR at ~96kbps:

http://wiki.hydrogenaud.io/index.php?title...Tests#AAC_Tests (http://wiki.hydrogenaud.io/index.php?title=Hydrogenaudio_Listening_Tests#AAC_Tests)


Simple reason. TVBR has the lowest bitrate of all tested codecs there. In one sample it uses almost 30% lower bitrate than CVBR. When you use TVBR with settings that don't result in such low bitrate it won't dip behind anything and can use extra bits for difficult parts.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 10 July, 2015, 06:03:04 AM
How about Apple's "optimise for voice" / "voice filtering" option within iTunes? Is there some way to push this using QAAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: rudolf.gelpke on 10 July, 2015, 05:27:50 PM
I guess it just uses HE-AAC. Just encode one file in iTunes and check it with MediaInfo.

Edit: Tested it myself. It still uses AAC LC but reduces the file to 22.05 KHz and uses a lower bitrate.
So you will need to use a resampler like : qaac ... -r 22050 ...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 10 July, 2015, 06:00:42 PM
Are you sure? I tried using Qaac64.exe with --cvbr 48 -q2 --he --rate 32000 --native-resampler=bats,127 and compared it to iTunes - AAC Custom - 48 kbps - 32.000 kHz -- Stereo -- VBR -- HE -- Optimise for Voice and they don't seem to be identical?

Another thing I've noticed, when using HE I'm not able to --r 22050, I can't go lower than 32000?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: rudolf.gelpke on 10 July, 2015, 11:26:09 PM
iTunes seems to choose the sample rate depending on the bitrate.
With 24 Kbps my test file is resampled to 8000 kHz.
With other bitrates it was 32000 kHz like you said.

So "optimise for voice" is just resampling and HE can be choosen seperatly.

Preferred Sample Rates (http://www.sonnoxplugins.com/pub/plugins/products/Pro-Codec-Spec.htm)

I would encode some files with iTunes in your preferred bitrate and look which sample rate iTunes uses.
And then use this sample rate in qaac.

Result:
Code: [Select]
File 1 (using qaac):
Bit rate mode                            : Variable
Bit rate                                : 32.9 Kbps
Channel(s)                              : 2 channels
Sampling rate                            : 32.0 KHz / 16.0 KHz
Stream size                              : 959 KiB (98%)

File 2 (using iTunes):
Bit rate mode                            : Variable
Bit rate                                : 32.0 Kbps
Maximum bit rate                        : 42.9 Kbps
Channel(s)                              : 2 channels
Sampling rate                            : 32.0 KHz / 16.0 KHz
Stream size                              : 958 KiB (98%)

It comes close, but still not complettly identical.
And yes, if i choose 8000 kHz and 80 Kbps, qaac will use more kHz automatically, so you would need to choose a lower bitrate for 8000 kHz to work.

PS: Depending on the bitrate, resampling is maybe not really necessary, since HE AAC uses Spectral band replication for higher frequencies.
But i guess the guys from Apple now what they are doing.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: rudolf.gelpke on 11 July, 2015, 01:31:20 AM
Your command line looks fine btw.. Strange that it worked for me.
Are your files that much different?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 11 July, 2015, 05:27:53 AM
Ignore all that... Seems like iTunes reports HEv2 mono as stereo.. Same goes for dBPowerAMP. How do I downmix stereo to mono using QAAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 11 July, 2015, 06:51:01 AM
Nevermind, I figured it out. Now it's time to compare CVBR 24-64kbps HE Stereo to Mono and figure out whatever settings I find the best for my audiobook library.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Apollo89 on 13 July, 2015, 06:49:28 AM
Hello,

I've been using QAAC for quite some time and I am very happy with it, but in the latest version (2.51) something really annoys me.
Files encoded with TVBR q91 all show up as 192 kbps (VBR) in iTunes. Since TVBR has no target bitrate (only a target quality level), the 192 kbps is meaningless and it should show the average bitrate instead (like it used to do).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 13 July, 2015, 09:56:37 AM
I've been using QAAC for quite some time and I am very happy with it, but in the latest version (2.51) something really annoys me.
Files encoded with TVBR q91 all show up as 192 kbps (VBR) in iTunes. Since TVBR has no target bitrate (only a target quality level), the 192 kbps is meaningless and it should show the average bitrate instead (like it used to do).

The following option will remove Encoding Params tag, and iTunes will show actual average bitrate:
Code: [Select]
--long-tag="Encoding Params:"
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Seren on 14 July, 2015, 09:15:49 AM
I've been using QAAC for quite some time and I am very happy with it, but in the latest version (2.51) something really annoys me.
Files encoded with TVBR q91 all show up as 192 kbps (VBR) in iTunes. Since TVBR has no target bitrate (only a target quality level), the 192 kbps is meaningless and it should show the average bitrate instead (like it used to do).

The following option will remove Encoding Params tag, and iTunes will show actual average bitrate:
Code: [Select]
--long-tag="Encoding Params:"


I'm sorry, I must have missed it but what's the advantage of showing the Encoding Params by default? I just deleted the whole tag...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 14 July, 2015, 10:04:41 AM
I'm sorry, I must have missed it but what's the advantage of showing the Encoding Params by default? I just deleted the whole tag...

Read this thread: http://www.hydrogenaud.io/forums/index.php?showtopic=103033 (http://www.hydrogenaud.io/forums/index.php?showtopic=103033)
"Encoding Params" tag only concerns with how bitrate is shown in iTunes, and that's all.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 14 July, 2015, 02:47:32 PM
Since the tag is a proprietary form of metadata for iTunes, and qaac is for people who want access to Apple's encoder without having to use iTunes, it seems to me that the tag should be disabled by default, so the burden of using an extra switch is on the few people who care what iTunes says about their AAC files.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: marc2003 on 14 July, 2015, 03:20:02 PM
and qaac is for people who want access to Apple's encoder without having to use iTunes


that's a very narrow minded view. i despise itunes myself but i'm sure plenty of itunes users use qaac for the many other features it provides like being able to pipe in any input you want, spawning multiple instances with other front ends, usage with bit perfect CD rippers and so on....
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 14 July, 2015, 09:55:57 PM
Since the tag is a proprietary form of metadata for iTunes, and qaac is for people who want access to Apple's encoder without having to use iTunes, it seems to me that the tag should be disabled by default, so the burden of using an extra switch is on the few people who care what iTunes says about their AAC files.

Strictly speaking, it's just that we all use proprietary "iTunes Metadata Format" for tagging m4a, but most of us (including developers) don't know / care about "Encoding Params" tag.
For non iTunes users, presence of "Encoding Params" doesn't make any practical difference other than having one obscure 32 bytes binary tag.
It sounds like you're saying that large majority of non iTunes users hate so much having this tag that they must kill this tag using an extra switch, but why?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 15 July, 2015, 07:13:42 PM
Are you saying that checking tVBR encoded files in iTunes is meaningless? I was testing various bitrates for my audiobooks and was testing out tVBR with various quality levels and always checked the bitrate reported for iTunes and they always seemed to be the same for every single track from a specific audiobook, but when I compared across audiobooks the reported bitrate in iTunes was very different?

I don't have the files at hand right now, but if I remember correctly Harry Potter og De Vises Stein (Harry Potter Book 1 in Norwegian) ended up with a reported bitrate of around 100-120 kbps using --tvbr 127, while on Harry Potter og Fangen fra Azkaban (Harry Potter Book 3 in Norwegian) each track ended up with a reported bitrate of about 190-200 kbps. If iTunes is not reading tVBR bitrates correctly, how come it didn't not reported the same for both audiobooks? Is it because iTunes is reporting the maximum bitrate used while encoding or something instead of the actual average bitrate?



It doesn't really matter too much for me, I've ended up with going for --cVBR 32 -q2 --he --rate 32000 --native-resampler=bats,127 --matrix-preset mono for my audiobooks and I guess tVBR is of no use when going that low on the bitrate as it cannot be used with HE/HEv2 encoding. After comparing the first 15 minutes of Harry Potte og Fangen fra Azkaban (I selected this one, as it was the only ending with the highest reported bitrate from iTunes when using tVBR 127 so I figured it would be the one that seemed to demand the most bandwidth of all the audiobooks) using --cVBR 24, 32, 48, 64 and 80 in both stereo and mono (HEv2 with Parametric Stereo) it was very hard to really tell them apart when I tested on iPhone 6 Plus using Westone 4R IEM's. If I was listening very closely I could notice a few differences but it was very hard. The only expectation was --cVBR 24, it sounded horrible with lots of echo on the voice even with mono and HEv2.

I guess I could save even more space by going from 32,000 kHz down to 22,050 kHz from what I'm reading online. But it doesn't seem like the Apple Encoder and QAAC allows for anything lower than 32,000 kHz when utilising HE/HEv2 for some reason? If I run the same settings without applying --he it allows for downsampling to 22,050 kHZ sampling rate.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 12:09:59 AM
Are you saying that checking tVBR encoded files in iTunes is meaningless?

If you want to see actual bitrate, then yes.
Bitrate can be easily computed from size and duration of the stream, but iTunes prefers values in metadata which might be wrong.
Quote
It doesn't really matter too much for me, I've ended up with going for --cVBR 32 -q2 --he --rate 32000 --native-resampler=bats,127 --matrix-preset mono

--native-resampler is terribly inefficient compared to default libsoxr with no practical gain.
Also, HE encoder of Apple might not be so great as their LC encoder, and HEv2 is not supported.
Have you compared to FhG, CT(Dolby) or Nero?

Quote
I guess I could save even more space by going from 32,000 kHz down to 22,050 kHz from what I'm reading online. But it doesn't seem like the Apple Encoder and QAAC allows for anything lower than 32,000 kHz when utilising HE/HEv2 for some reason?

qaac --formats will show you all available combinations of profile/samplerate/channels/bitrate.
22050Hz means freq components above 5.5kHz is encoded by SBR, which might be too low for SBR I guess.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 12:45:43 AM
Oh, I forgot about this:
http://listening-tests.hydrogenaud.io/igorc/results.html (http://listening-tests.hydrogenaud.io/igorc/results.html)
So, Apple HE-AAC was at least better than Nero at 64kbps test.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 03:02:32 AM
I'm pretty sure that Apple Encoder / QAAC supports HEv2? As everything I have encoded using below 64kbps @ mono with HE (in both QAAC and with iTunes itself) has been reported as "Profile: High-Efficiency v2" and is still reported as "Stereo" which might be because iTunes still counts Parametric Stereo as Stereo? dBPowerAMP is reporting it as AAC (LC) + SBS + PS.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 03:47:13 AM
I'm pretty sure that Apple Encoder / QAAC supports HEv2? As everything I have encoded using below 64kbps @ mono with HE (in both QAAC and with iTunes itself) has been reported as "Profile: High-Efficiency v2" and is still reported as "Stereo" which might be because iTunes still counts Parametric Stereo as Stereo? dBPowerAMP is reporting it as AAC (LC) + SBS + PS.

It's quite normal for an AAC decoder to treat mono HE-AAC as HE-AACv2 and even decoding as stereo, since detecting PS (which is implicitly signaled) requires full parsing of AAC bitstream beforehand.
IIRC, mediainfo does full parsing of AAC frame to show profile/num channels/sample rate or something. Go get mediainfo and see what it says.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 04:09:47 AM
This is getting rather confusing. I tried to do a test encode of Harry Potter og Fangen fra Azkaban using FDK AAC with VBR Q1 settings and HEv2 to compare, but iTunes does not seem to recognize this one at all. It's being reported as "Profile: Low Complexity" and "Mono" instead of Stereo. And reported as 22,050 kHz even though dBPowerAMP is reporting it as AAC (LC) + SBR + PS with 44,100 kHz. So it seems like it's using HEv2 and iTunes is simply not able to play it back as HEv2 so it resolves to playing only the Low Complexity portion of the file, hence why it's being reported as Profile: Low Complexity, Mono and only 22,050 kHz sampling rate?

I thought Apple was supporting decoding of HEv2 in both iTunes and iOS these days? How come Apple is tagging their own SBR + PS encodes as High-Efficiency v2 and yet iTunes seems to not be able to figure out HEv2 from FDK AAC encoder at all?


What's even more funny is that from this small test, where iTunes is playing back the audiobook as mono instead of stereo or parametric stereo I find it to actually sound better. I actually like the sound of this 40 kbps AAC LC Mono file from FDK AAC more than the Apple Lossless source file I'm converting it from. My only problem is that Apple Encoder / QAAC seems to automatically enforce parametric stereo when I do the matrix-preset mono in combination with --he? How do I end up with HE/HEv2 with actual mono instead of parametric stereo? Do I need to downmix the Apple Lossless beforehand and then try to convert with --cvbr 32 -q2 --he?



EDIT: I will try and grab mediainfo
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 04:22:24 AM
According to MediaInfo this is what I can gather;



Spoiler (click to show/hide)


Compared to my test with FDK AAC:

Spoiler (click to show/hide)



What I can gather from all this is that you are absolutely correct. It does not seem like Apple Encoder / QAAC is using HEv2, but HE with Parametric Stereo (I thought PS was a part of HEv2? But I might be mistaken). Why is Apple reporting their own encoded HE with Parametric Stereo as "High Efficiency v2" is they are not HEv2 at all? Seems like a rather confusing and stupid thing to do. And shouldn't iTunes and iOS devices be able to decode HEv2 at all? Considering the FDK AAC with HEv2 is clearly being played back without the HEv2 portion, and without parametric stereo.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 05:19:07 AM
Hmm.. Seems like it's not possible to go from ALAC Stereo to ALAC Mono using QAAC? So I used dBPowerAMP to go from ALAC Stereo to AIFF Mono and then I used the *.aif files to make Apple Lossless and then I finally had my audiobooks playing in mono, which I actually prefer compared to stereo.

But sadly, when I'm taking Apple Lossless Mono and convert using --cvbr 32 -q2 --he I'm still ending up with parametric stereo....
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 06:03:59 AM
It does not seem like Apple Encoder / QAAC is using HEv2, but HE with Parametric Stereo (I thought PS was a part of HEv2? But I might be mistaken).

No. Apple encoder doesn't support PS. HE + PS = HEv2.
Quote
Why is Apple reporting their own encoded HE with Parametric Stereo as "High Efficiency v2" is they are not HEv2 at all?

I explained the reason. To reliably detect implicitly signaled PS, you need full parsing. And they just don't.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 06:08:57 AM
Is there any way for me to make QAAC and iTunes / iOS to not upsample my AAC HE mono files to stereo using parametric stereo? It sounds much worse compared to just playing it mono for audiobooks..
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 06:09:30 AM
Hmm.. Seems like it's not possible to go from ALAC Stereo to ALAC Mono using QAAC? So I used

It's possible, but you need to explicitly add "-b 16" or something if you want ALAC, since floating point format is not supported by ALAC.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 06:39:31 AM
Is there any way for me to make QAAC and iTunes / iOS to not upsample my AAC HE mono files to stereo using parametric stereo?

To make it clear, it's the decoder that converts mono HE-AAC to stereo even when PS not present in the stream. Therefore, there's nothing qaac can do for it. And it seems that all of libavcodec (ffmpeg), faad, and Apple CoreAudio decodes mono HE-AAC to stereo.
Quote
It sounds much worse compared to just playing it mono for audiobooks..

What are you comparing to? Do you have a decoder that decodes mono HE-AAC to mono and comparing against it? Or what?
There's no reason for sound quality degrading when mono HE-AAC is decoded as stereo instead of mono.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 06:53:23 AM
I'm only comparing to having AAC at about the same bitrate outputted in mono, I did just try to compare AAC LC @ 32 kbps @ Mono to AAC HC @ 32 kbps @ PS Stereo and the first sound way better for spoken word in my opinion. I seem to notice a tad bit more artefacts with the AAC LC @ 32 kbps compared to AAC HE @ 32 kbps but the added halo / echo effect of the parametric stereo is far more noticeable compared to having a few hiccups and pops when the audiobook reader is starting to crank up his voice levels.

With that said, I don't blame it all on the parametric stereo itself, as I said earlier I find downmixing from stereo to mono on the source (lossless) files also to be a improvement. The spoken words from the audiobook become more focused and easier to hear when being outputted in mono instead of stereo. I gave my girlfriend (not tech-heavy at all) a small portion of the audiobook to compare;

#1: cVBR 32 kbps HE (PS Stereo playback)
#2: cVBR 32 kbps LC Mono (Mono playback)
#3: cVBR 32 kbps LC Stereo (Stereo playback)


And she couldn't really tell #1 and #3 apart, but preferred the second one without question.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 16 July, 2015, 07:34:02 AM
Your wording of "PS stereo" is a lot confused.
Mono HE-AAC file created by qaac has nothing to do with PS. Although it is decoded into a stereo file containing two channels, PS tool is not used on decoding since PS is not present in the stream.
It's just that mono output is copied into 2 channels, and it should exactly sound like mono.
In other words, if you are listening to the encoded result of qaac, what you are hearing is not artifact of PS but artifact of SBR.

Having said that, if you prefer LC result, then just stick to it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 16 July, 2015, 07:39:25 AM
I'm not that good with the technical portions of audio and encoders, so it might be that I'm confusing things. With SBR / PS out of the question I'm testing out with tVBR instead (had rolled out tVBR as I thought HE was preferred below 64 kbps) and it seems like --tVBR 9 -q2 --matrix-preset mono is providing very good performance for audiobooks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 27 July, 2015, 02:36:20 AM
Just a small heads-up. QAAC and QAAC64.exe does not seem to be working win Windows 10 RTM. I tried using it with dBPowerAMP was well as utilising the .exe directly through an elevated command prompt and it claims that I'm lacking coreaudiotoolbox, but I have the latest iTunes 64-bit and QuickTime installed. I tried to manually copy the coreaudiotoolbox.dll into the QAAC64.exe folder but then it start to give me various coreaudiotoolbox errors instead.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Aleron Ives on 27 July, 2015, 03:58:40 AM
You need to put the required DLLs in the QTfiles folder, not the same folder as qaac.exe. Does doing that fix the error?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 July, 2015, 07:12:32 AM
I tried to manually copy the coreaudiotoolbox.dll into the QAAC64.exe folder but then it start to give me various coreaudiotoolbox errors instead.

CoreAudioToolbox.dll is not enough. You need 10 DLLs from Apple Application Support package. It should be easier to use makeportable.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 27 July, 2015, 07:13:07 AM
You need to put the required DLLs in the QTfiles folder, not the same folder as qaac.exe. Does doing that fix the error?

Well actually, both should work.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 27 July, 2015, 02:57:46 PM
I tried to manually copy the coreaudiotoolbox.dll into the QAAC64.exe folder but then it start to give me various coreaudiotoolbox errors instead.

CoreAudioToolbox.dll is not enough. You need 10 DLLs from Apple Application Support package. It should be easier to use makeportable.


What am I supposed to do with the makeportable cmd? Simply running it as administrator didn't seem to do much.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: juza on 27 July, 2015, 04:41:40 PM
I tried to manually copy the coreaudiotoolbox.dll into the QAAC64.exe folder but then it start to give me various coreaudiotoolbox errors instead.

CoreAudioToolbox.dll is not enough. You need 10 DLLs from Apple Application Support package. It should be easier to use makeportable.


What am I supposed to do with the makeportable cmd? Simply running it as administrator didn't seem to do much.


Hi,

Download iTunesSetup.exe or QuickTimeInstaller.exe put it into a folder, copy makeportable.cmd into that folder, right click makeportable.cmd and select "Open" after a few seconds you will have a new folder called "QTfiles", if you used the 64bit version of iTunes executable you'll also have the folder "QTfiles64". Inside the qaac folder there are 2 folders called "x64" and "x86" copy the folder "QTfiles" into "x86" and "QTfiles64" into "x64". Now you can use your favourite software to encode your tracks to aac :-)

qaac works with Windows10. I'm using it without problems.

Hope this info could help you.

Excuse me about my english.

Cheers.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sPeziFisH on 27 July, 2015, 04:49:26 PM
What am I supposed to do with the makeportable cmd? Simply running it as administrator didn't seem to do much.

You also have to copy the itunes6464setup.exe/QuickTimeInstaller.exe in the extracted folder, directly next to the makeportable.cmd.
7-zip needs to be installed or the '7z.exe' has to be copied there too.
Then fire the makeportable.cmd.
The 10 dlls get extracted to newly created subdirectories.

Code: [Select]
folder_xyz/
          makeportable.cmd
          itunes6464setup.exe
          7z.exe

Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 28 July, 2015, 02:53:55 AM
Thanks! Will try that when I get home. Hopefully I will get QAAC-working again to convert my ALAC ripped audiobooks without me needing to transfer everything to my HTPC running Windows 8.1.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 28 July, 2015, 04:41:36 AM
I was able to run the makeportable and got the QTFiles folder, but it's still not working?

http://bildr.no/view/Rm5HVXY0 (http://bildr.no/view/Rm5HVXY0)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 July, 2015, 08:30:32 AM
I was able to run the makeportable and got the QTFiles folder, but it's still not working?

http://bildr.no/view/Rm5HVXY0 (http://bildr.no/view/Rm5HVXY0)

You need QTfiles64 (created from iTunes6464Setup.exe) for qaac64, and place it like this:
Code: [Select]
C:\Path\To\qaac64.exe
C:\Path\To\QTfiles64\ASL.dll
C:\Path\To\QTfiles64\CoreAudioToolbox.dll
           :
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 28 July, 2015, 09:32:27 AM
Makeportable does not give me QTFiles64, only QTFiles? Renaming the folder to QTFiles64 I only get this ERROR: 193 CoreAudioToolbox.dll
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 28 July, 2015, 12:00:50 PM
Makeportable does not give me QTFiles64, only QTFiles? Renaming the folder to QTFiles64 I only get this ERROR: 193 CoreAudioToolbox.dll

Are you trying with iTunes 64bit?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 28 July, 2015, 12:42:26 PM
I'm using the itunes64setup.exe


EDIT:

Extracting the installer using 7zip shows that it actually lacks the AppleApplicationSupport64.exe that makeportabale is looking for. Seems like Apple removed it from the latest iTunes64setup.exe?


EDIT2:

It seems like one should never relay on Filehippo.com for installers.. The download directly from Apple contains the AppleApplicationSupport64.exe.. I have no clue why Filehippo would fiddle with the installer for whatever reason.


EDIT3:

It was the installer from Filehippo that was causing the issues. It installs iTunes 64-bit, but did not contain the AppleApplicationSupport64.exe for whatever reason.. When installing using iTunes64setup.exe that actually contains the AppleApplicationSupport64.exe everything is working as it should. No need for makeportable or anything.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sPeziFisH on 28 July, 2015, 02:25:16 PM
When installing using iTunes64setup.exe that actually contains the AppleApplicationSupport64.exe everything is working as it should. No need for makeportable or anything.

yeah, guess what, 'makeportable' is for low-footprint-installationfree-setups 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 28 July, 2015, 08:05:30 PM
I'm using the itunes64setup.exe

You need iTunes6464Setup.exe.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 31 July, 2015, 02:45:26 AM
I'm here yet again facing some new issues... I've ripped all my audiobooks using dBPowerAMP and Apple Lossless and now I'm trying to encode them using tvbr 18 and combine them all into a single *.m4b. This is working for some of the them, but not all of them. I keep receiving this error for a number of the audiobooks;

http://bildr.no/view/RmdqVE0y (http://bildr.no/view/RmdqVE0y)


"ERROR: D:\Music\Apple Lossless\J.K. Rowling\Harry Poter and the Deathly Hallows\CD17-Spor17.m4a: The operation completed successfully."

Using this command; qaac64.exe "D:\Music\Apple Lossless\J.K. Rowling\Harry Poter and the Deathly Hallows\*.m4a" --tvbr 18 --quality=2 --rate 32000 --native-resampler=bats,127 --matrix-preset mono --concat -o "D:\Music\Apple Lossless\Harry Poter and the Deathly Hallows.m4b"


It shouldn't be anything wrong with the command as the exact same command works with other audiobooks? Is there a limit of how many *.m4a files it can combine or some kind of size restrictions or anything?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 04:43:46 AM
It seems that opening that input file (CD17-Spor17.m4a) failed for unknown reason (_wfsopen() failed but OS errno is not set).
Maybe a bug of Windows 10, I dunno. I haven't seen such a case, and there's nothing qaac can do for it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 31 July, 2015, 07:20:46 AM
I will try to do the same with Windows 8.1 and see what happens.

EDIT:

Keep getting the same error under Windows 8.1 and Windows Server 2012 R2. I guess I need to find some other way to join all the M4A files and then use Qaac for the TVBR encoding.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 08:24:25 AM
Keep getting the same error under Windows 8.1 and Windows Server 2012 R2. I guess I need to find some other way to join all the M4A files and then use Qaac for the TVBR encoding.

Can you upload the file?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 31 July, 2015, 08:57:58 AM
https://sprend.com/download.htm?C=905f5f817...f8467794e866878 (https://sprend.com/download.htm?C=905f5f8175c44bc09f8467794e866878)


It plays back just fine with iTunes and Windows Media Player (or Music.app or whatever it's called in Windows 10) and I was also able to convert everything to WAV using dBPowerAMP and tried to use QAAC64.exe to --concat the wave files but then it reports the same error just on CD17-Spor17.wav instead.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 09:20:25 AM
Can't reproduce your issue. qaac64 can read CD17-Spor17.m4a just fine here.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 31 July, 2015, 10:36:18 AM
It works with me as well, it's when I point to the entire folder containing *.m4a and using --concat it fails like that. If I take the file by itself it works.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 11:03:01 AM
It works with me as well, it's when I point to the entire folder containing *.m4a and using --concat it fails like that. If I take the file by itself it works.

I tried both of wildcard and --concat for that file, and it works. If the issue happens only when multiple files exist in the folder, please provide all of them.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 31 July, 2015, 02:36:42 PM
Well, it's an entire audiobook in Apple Lossless so it's quite large. I've created a torrent of the all the files within a 7-zip archive, you can grab the torrent here;
https://sprend.com/download.htm?C=362df54b6...ba8156f1dd1364b (https://sprend.com/download.htm?C=362df54b6fae4d829ba8156f1dd1364b)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 07:24:22 PM
Well, it's an entire audiobook in Apple Lossless so it's quite large. I've created a torrent of the all the files within a 7-zip archive, you can grab the torrent here;
https://sprend.com/download.htm?C=362df54b6...ba8156f1dd1364b (https://sprend.com/download.htm?C=362df54b6fae4d829ba8156f1dd1364b)

Coudn't download it, but I could reproduce your issue on the folder containing more than 512 files or so.
Before encoding, qaac opens all the inputs. And you hit the maximum number of open files available on MSVC runtime.
I don't want to change this behavior to catch errors on input files before encoding, and also to avoid implementing pre-fetching on the transition required for --play.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 31 July, 2015, 09:13:00 PM
Released 2.52. Now qaac can handle up to 2048 files.
(Haven't thought default limit of 512 is not enough for qaac)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 01 August, 2015, 04:38:01 AM
Perfect, it's all working with 2.52! 
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 01 August, 2015, 06:05:55 AM
"It's all fun and games until someone ..." — passes an unexpected threshold.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: darkbyte on 02 September, 2015, 01:27:23 PM
Hope you don't mind if i ask my question here, i don't want to open a new thread for a possibly 2-3 post long conversation.

Do you know if recent QuickTime distribution comes with the mp3 encoder of iTunes as well? If yes, is it possible to access it somehow on the CLI level like it's being done with the AAC encoder using QAAC? I like to experiment with the encoder.
There is iTunes Encode (http://www.hydrogenaud.io/forums/index.php?showtopic=29821) which seems to be capable to use this encoder, but it's really outdated and not working with my QT installation.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 September, 2015, 08:32:05 PM
Do you know if recent QuickTime distribution comes with the mp3 encoder of iTunes as well? If yes, is it possible to access it somehow on the CLI level like it's being done with the AAC encoder using QAAC?

IIRC, MP3 encoder is not provided by CoreAudio/QuickTime (even on Mac) and is implemented in iTunes.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 19 September, 2015, 09:07:22 PM
The current makeportable.cmd (Feb 6, 2015, 2:17 AM) doesn't seem to extract the current iTunes6464Setup.exe (12.3.0.44) properly- I get an empty QTFiles folder, an AppleApplicationSupport.msi installer, and an AppleApplicationSupport64.msi installer.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 19 September, 2015, 10:25:17 PM
The current makeportable.cmd (Feb 6, 2015, 2:17 AM) doesn't seem to extract the current iTunes6464Setup.exe (12.3.0.44) properly- I get an empty QTFiles folder, an AppleApplicationSupport.msi installer, and an AppleApplicationSupport64.msi installer.

Not reproducing here. As far as I can see, structure of 12.3.0.44 installer is unchanged.
Maybe your download is just broken?
Can you install iTunes normally? Also, you can manually extract iTunes6464Setup.exe using 7-zip, then also extract AppleApplicationSupport.msi and AppleApplicationSupport64.msi. See what you get.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2015, 12:01:22 AM
makeportable works fine here too.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 20 September, 2015, 12:09:07 AM
I re-downloaded makeportable and iTunes and rebooted, it still didn't work. Then I re- downloaded Quicktime 7.7.6.80.95 and used my old makeportable, same result (but no 64 bit Apple Application Support, of course.)

I can manually extract the files from iTunes then Apple Application Support, but Foobar won't convert a .flac to an .m4a. When I restore the old QTFiles folder, Foobar works.  Also, the old QTFiles folder had a folder named Microsoft.VC80.CRT, this folder doesn't extract manually from Apple Application Support.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 20 September, 2015, 12:41:41 AM
I installed iTunes and removed the QTFiles folder from foobar and it converted to .m4a.

For what it's worth, here's what's in the old QTFiles folder:

ASL.dll, CoreAudioToolbox.dll, CoreFoundation.dll, icudt46.dll, icuil40.dll, icuuc40.dll, libdispatch.dll, libicuin.dll, libicuuc.dll, objc.dll, pthreadVC2.dll, and the subfolder Microsoft.VC80.CRT, which contains:

Microsoft.VC80.CRT.manifest, msvcp80.dll, msvcr80.dll. I can manually extract new versions of everything except those in the subfolder, and Foobar will convert with these (and the old contents from the subfolder).

I'm using Windows 7 (64-bit) OEM.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 20 September, 2015, 12:54:25 AM
The manually extracted Apple Application Support also has these files:

msvcp80.dll.8.0.50727.6195.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E and msvcr80.dll.8.0.50727.6195.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E

When I rename them to msvcp80.dll and msvcr80.dll and place them in the subfolder (after uninstalling iTunes and everything installed along with it), Foobar will convert the files. Removing the old Microsoft.VC80.CRT.manifest file does NOT work. So that is the only unupgraded file in my QTFiles folder now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 20 September, 2015, 01:26:48 AM
AppleApplicationSupport64.msi doesn't seem to have enough of the .dlls.  Trying to get qaac64 to work hasn't worked. Activating it through the command line rather than Foobar has failed so far.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2015, 01:34:41 AM
Just tested, redownloaded everything and everything works, 32 bit and 64 bit. I don't have anything Apple installed in my system, everything is being tested in portable mode and straight with the CLI/exe.

You don't need the 80 dlls, 100 are the new ones, 120 sometimes but not here.

Please describe all you do, step by step even where you download the files and what you have installed in the system. Make a video, do whatever makes it easier to explain.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 20 September, 2015, 02:45:05 AM
Name: itunes6464setup.exe
Size: 167601944 Bytes (159 MB)

CRC32: 992F204B

CRC64: 645A86B91C1EBD8C

SHA256: AEE2BE960C962BDFF6911D17C3C8209A02C69EC29201F572C0DA2F3A33721229

SHA1: 50B0412E29BCC876B48DF87BE687E5557E11A692

BLAKE2sp: 72EDE257292A2BBC8707B0806496E241019C35BBA30EB24F335D072B27104653


(calculated using the Explorer context menu of 7-zip 15.07 for Win64 when "CRC SHA" is enabled in the settings)

Extraction worked correctly, using the installed version 15.07 beta of 7-zip.

Maybe exb has an outdated version of 7-zip? For several cases, 9.20 is the recommended minimum version; I don't know which version is required to handle this installer correctly, but I would strongly recommend at least beta versions 9.3x (if you are afraid of the new beta versios 15.0x).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: exb on 20 September, 2015, 02:53:29 AM
Okay, I just ran makeportable again and it worked. What the hell. Not complaining.

Got the 64 bit version running under Foobar too. What is up with you, Windows.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 20 September, 2015, 03:59:42 AM
This new version uses ICU 5.5 (icudt55.dll). A minimal version:
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 20 September, 2015, 05:34:33 AM
^  Much appreciated! Thanks!
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 06:47:57 AM
I have a problem with Qaac > 2.51.

I use the following command line to encode my files:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.flac

Using 2.51 it works as expected. But with version 2.52 and 2.53 I get the following error although qaac64 --check shows the libFLAC.dll
Code: [Select]
qaac 2.53, CoreAudioToolbox 7.9.9.6
ERROR: Not available input file format

Do you need any additional info?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2015, 08:34:39 AM
I have a problem with Qaac > 2.51.

I use the following command line to encode my files:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.flac

Using 2.51 it works as expected. But with version 2.52 and 2.53 I get the following error although qaac64 --check shows the libFLAC.dll
Code: [Select]
qaac 2.53, CoreAudioToolbox 7.9.9.6
ERROR: Not available input file format

Do you need any additional info?

Unfortunately, not reproducing here. Also, no relevant change comes to my mind...
Difference between 2.51 and 2.52 is tiny. Only 3 commits:
https://github.com/nu774/qaac/commit/458d21...9187a690bc5e064 (https://github.com/nu774/qaac/commit/458d21540c86e18131f761fc69187a690bc5e064)
https://github.com/nu774/qaac/commit/699e07...6732d12b0d71b96 (https://github.com/nu774/qaac/commit/699e07904884a150e7911dde56732d12b0d71b96)
https://github.com/nu774/qaac/commit/68ef0c...a77fbe65aeb4746 (https://github.com/nu774/qaac/commit/68ef0cf79093e46d7915aebb6a77fbe65aeb4746)

Can you isolate the condition of  the failure?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 09:08:47 AM
I have a problem with Qaac > 2.51.

I use the following command line to encode my files:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.flac

Using 2.51 it works as expected. But with version 2.52 and 2.53 I get the following error although qaac64 --check shows the libFLAC.dll
Code: [Select]
qaac 2.53, CoreAudioToolbox 7.9.9.6
ERROR: Not available input file format

Do you need any additional info?

Unfortunately, not reproducing here. Also, no relevant change comes to my mind...
Difference between 2.51 and 2.52 is tiny. Only 3 commits:
https://github.com/nu774/qaac/commit/458d21...9187a690bc5e064 (https://github.com/nu774/qaac/commit/458d21540c86e18131f761fc69187a690bc5e064)
https://github.com/nu774/qaac/commit/699e07...6732d12b0d71b96 (https://github.com/nu774/qaac/commit/699e07904884a150e7911dde56732d12b0d71b96)
https://github.com/nu774/qaac/commit/68ef0c...a77fbe65aeb4746 (https://github.com/nu774/qaac/commit/68ef0cf79093e46d7915aebb6a77fbe65aeb4746)

Can you isolate the condition of  the failure?

Sorry, I'm not very good at C++ but I see that the changes have to do with the path.

I guess it's that QAAC cannot load/find the flac dll file in the newer versions although they are located in the qaac64 exe folder. Using only wav files works without problems with the same command line:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.wav


EDIT: Or are there possibly errors because of a new build chain as I see that errors for MSVC14 are fixed? I'm using the 64 bit flac ICC dll from rarewares.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2015, 09:17:32 AM
I guess it's that QAAC cannot load/find the flac dll file in the newer versions although they are located in the qaac64 exe folder. Using only wav files works without problems with the same command line:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.wav

How do you place qaac64.exe and libFLAC.dll? If you replace qaac64.exe (not working now) with an older one in the same path, and the older version works? Then it's unlikely that only new version cannot locate / load libFLAC.dll.
Quote
EDIT: Or are there possibly errors because of a new build chain as I see that errors for MSVC14 are fixed? I'm using the 64 bit flac ICC dll from rarewares.

2.52 is built with the same compiler as 2.51 (MSVC12), so it's not relevant (2.53 is built with MSVC14 though).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 20 September, 2015, 10:06:11 AM
Everything works here with qaac 2.51 and 2.53 with 64-bit libFLAC from rarewares.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 10:38:11 AM
After some trying reproducing it I noticed that v2.52 fails only for files bigger than 2 GB. If you want I can give you my sample and environment that can reproduce it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2015, 10:58:04 AM
After some trying reproducing it I noticed that v2.52 fails only for files bigger than 2 GB. If you want I can give you my sample and environment that can reproduce it.

Well, does 2.51 succeed on the same file?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 11:18:24 AM
Well, does 2.51 succeed on the same file?

Yes, it does succeed and 2.52 does not.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2015, 11:26:50 AM
I checked 2.52 binary, and found that it was actually compiled with MSVC14. So, my memory was wrong.
It might have something to do with it.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 11:30:12 AM
I checked 2.52 binary, and found that it was actually compiled with MSVC14. So, my memory was wrong.
It might have something to do with it.

I sent you my environment to reproduce the error as a PM.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 20 September, 2015, 11:37:20 AM
I built qaac64 2.52 myself (with VS2013 u5, and also with VS2010) and it works with 2.3 GB FLAC file.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 September, 2015, 12:28:00 PM
It seems that fstat() of new Universal CRT introduced on VC14 now fails when the file in question is larger than 2GB, so we have to always use _fstat64() instead.

Actually, qaac was using fstat() only to test if it's a seekable regular file, so file size returned by fstat() was insignificant. However, new fstat() implementation hates to silently return incorrect value when the size doesn't fit in 32bit integer.

Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 03:23:06 PM
Ok, then I'll use 2.51 till there is a fixed version, thank you for your help.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 20 September, 2015, 03:27:24 PM
I thought that 2.54 is the fixed version.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 20 September, 2015, 04:17:26 PM
This new version uses ICU 5.5 (icudt55.dll). A minimal version:

Sorry if I asked before, how can a 3KB empty/dummy DLL replace a 24MB DLL? Does it still work? The encoder doesn't need it? Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 20 September, 2015, 04:31:40 PM
how can a 3KB empty/dummy DLL replace a 24MB DLL? Does it still work? The encoder doesn't need it? Thanks.

icudt55.dll contains no code, only data for ICU ("International Components for Unicode").
"The default ICU data consists of the data needed for the converters, collators, locales, etc. that are provided with ICU." -- http://userguide.icu-project.org/icudata (http://userguide.icu-project.org/icudata)
Apparently qaac/refalac doesn't use any function of CoreAudioToolbox that require these data to be present.

Sorry if I asked before

Indeed (https://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=897016)...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Rumbah on 20 September, 2015, 04:49:33 PM
Ah, I didn't notice that there is a newer version already. Thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 22 September, 2015, 11:50:08 AM
I use the following command line to encode my files:
Code: [Select]
Tools\qaac\qaac64.exe -V 45 -q 2 -N -d Temp Temp\*.flac

Using 2.51 it works as expected. But with version 2.52 and 2.53 I get the following error
Code: [Select]
qaac 2.53, CoreAudioToolbox 7.9.9.6
ERROR: Not available input file format

I have the exact same problem with FLAC files and the x86 build: v2.51 works but versions 2.52 and above all fail, using the same QTfiles portable folder and just changing Qaac.exe.
I'm on XP and the FLAC files I've used for testing are about 4 and 16 MB.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 22 September, 2015, 12:23:58 PM
Are we talking only about Windows XP? Because here on Win 8.1 qaac 2.54 works perfectly with flac files, testes right now.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 22 September, 2015, 12:40:40 PM
I have the exact same problem with FLAC files and the x86 build

With the same error message?

I'm on XP and the FLAC files I've used for testing are about 4 and 16 MB.

Do you use XP SP3?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 22 September, 2015, 03:08:19 PM
With the same error message?

Yes:
Code: [Select]
ERROR: Not available input file format

BTW same behaviour with Wavpack DLL.


Do you use XP SP3?

No I'm on SP2. Because I had troubles with some -not so recent but I like it- musical hardware and some of their drivers I had to revert back to SP2 years ago.
MSVC14 requires SP3 ? Well, encoding from WAV works fine so I can live with it
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 22 September, 2015, 03:58:58 PM
MSVC14 requires SP3 ?

Apparently no, if qaac works (at least partially).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 22 September, 2015, 04:38:53 PM
I tested qaac on XP SP3. 2.51 works with flac files, 2.54 doesn't work. But --check shows that qaac 2.54 is able to find and load libflac.dll.
Another problem with _fstat64() or fileno()?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2015, 08:06:08 PM
It turned out that stat() family of UniversalCRT calls GetFileInformationByHandleEx() API that wasn't present in XP.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 23 September, 2015, 01:15:47 AM
The issue has been fixed with v2.55, it's now working as expected. Thanks for the update
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 22 October, 2015, 12:29:41 PM
I use Qaac to encode my music for use on my portable device. I do not install Itunes but I use makeportable to extract the QTfiles. When testing the new Itunes QTfiles I discovered that one particular music track is not always encoded correctly.
When I encode this pcm wav 44.100 16bit stereo track multiple times then the resulting m4a's are not bit identical to each other.

I have encoded the test.wav as follow:

qaac 2.55 (x86)
CoreAudioToolbox 7.10.5.0 (iTunes6464Setup.exe 12.3.1.23)
qaac test.wav --cvbr 96 -o test 1.m4a
qaac test.wav --cvbr 96 -o test 2.m4a
qaac test.wav --cvbr 96 -o test 3.m4a
qaac test.wav --cvbr 96 -o test 4.m4a
qaac test.wav --cvbr 96 -o test 5.m4a
qaac test.wav --cvbr 96 -o test 6.m4a

I used foobar 1.3.8 to Bit compare the m4a's

result bit compare:
test 1.m4a = test 2.m4a = test 3.m4a = test 5.m4a
test 1.m4a and test 4.m4a => Differences found: 4096 values, starting at 0:34.410522, peak: 0.0037362 at 0:34.430862, 2ch
test 1.m4a and test 6.m4a => Differences found: 4096 values, starting at 0:34.410522, peak: 0.0037362 at 0:34.430862, 2ch

I also encoded this wav multiple time with Qaac64. The m4a's encoded with Qaac64 do not have this difference, all m4a's are identical to each other.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 22 October, 2015, 01:57:40 PM
I have encoded the test.wav as follow:

qaac 2.55 (x86)
CoreAudioToolbox 7.10.5.0 (iTunes6464Setup.exe 12.3.1.23)
qaac test.wav --cvbr 96 -o test 1.m4a
qaac test.wav --cvbr 96 -o test 2.m4a
qaac test.wav --cvbr 96 -o test 3.m4a
qaac test.wav --cvbr 96 -o test 4.m4a
qaac test.wav --cvbr 96 -o test 5.m4a
qaac test.wav --cvbr 96 -o test 6.m4a

Download the test.wav (encoded as flac) and the m4a's at https://sprend.com/download.htm?C=afc9ea276...250300233d90154 (https://sprend.com/download.htm?C=afc9ea27675445d79250300233d90154)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2015, 05:41:03 AM
Unable to download the file:
Quote
File was downloaded 2015-10-23 3:26 and has been permanently removed from Sprend.

Our terms for Sprend Free state that the file is removed 2 hours after a successful download.

If you need the file you have to contact the person who sent you the file via Sprend.
Sprend does not have any more information about the file or the sender.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 23 October, 2015, 10:55:56 AM
Unable to download the file:
File was downloaded 2015-10-23 3:26 and has been permanently removed from Sprend.


Hello nu774,

I have send you a PM with a new link to download the test.wav
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 23 October, 2015, 11:32:02 AM
Hello nu774,

I have send you a PM with a new link to download the test.wav

Thanks. Tried with the same setting 50 times, and I got all identical files. However, they were different than yours.
Total size of AAC bitstream of mine: 537889 bytes
Yours (1-3,5): 537887 bytes
Yours (4, 6): 537895 bytes

Difference between yours and mine might come from difference of CPU in use.
I don't know why it is non-deterministic in your case since I don't know what Apple does in their encoder.
Anyway, difference looks so tiny that I don't think the result is incorrect.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: bbrabant on 23 October, 2015, 11:58:24 AM
Difference between yours and mine might come from difference of CPU in use.
I don't know why it is non-deterministic in your case since I don't know what Apple does in their encoder.
Anyway, difference looks so tiny that I don't think the result is incorrect.


Thank you for answering my question.
I think I will use Qaac 64bit for the meantime. So far I found no difference after encoding with Qaac64.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IotaQouta on 03 November, 2015, 02:35:00 PM
Hello, first off, I apologize if this has been asked before. If it's been answered, I ask if anybody could point me to it.

I am trying to convert/encode my audio files to iTunes Plus quality and format, so I did a test comparison between an .m4a file converted using the latest version of iTunes (12.3.1.23) and qaac 2.55, and I couldn't get them to match up. (I'm pretty much just re-encoding .m4a to .m4a, since iTunes won't be able to convert .FLAC files.)

My goal is to convert .FLAC files into iTunes Plus .m4a using Apple's encoder, so I'm using qaac. So my question is, what is causing this discrepancy between the one converted using iTunes and one using qaac and how can it be resolved?

Here are some screenshots of their properties: (File properties were viewed with dBpoweramp)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]iTunes12.3.1.23:[/size]
It gives out a file with a slightly lower bitrate but dBpoweramp says the "audio quality" is very high. (Whatever iTunes output is the one I prefer)
Encode settings:
(https://hydrogenaud.io/imgcache.php?id=eeb511f7c6c5cfe9df40c071461b1348" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/i4y2IzN.jpg)
Output:
(https://hydrogenaud.io/imgcache.php?id=39eabcf0e6b7a02eac2e50e198f4ba4e" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/ZlMHheg.jpg)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]qaac 2.55:[/size]
It gives out a file with a slightly higher bitrate but dBpoweramp says the "audio quality" is low.
Encode settings:
Code: [Select]
qaac64 --no-smart-padding -v256 -q2 *.m4a
Output:
(https://hydrogenaud.io/imgcache.php?id=79de9957d9cbc3b738e1334e1fd9c6a9" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/8Kz7fnI.jpg)

Additional info:
Qaac outputs a similar file when I convert .FLAC to .m4a.
I've also tried using dBpoweramp with qaac(through it's command-line encoder option) but the results are the same.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: sluggy on 03 November, 2015, 05:26:54 PM
Hello, first off, I apologize if this has been asked before. If it's been answered, I ask if anybody could point me to it.

I am trying to convert/encode my audio files to iTunes Plus quality and format, so I did a test comparison between an .m4a file converted using the latest version of iTunes (12.3.1.23) and qaac 2.55, and I couldn't get them to match up. (I'm pretty much just re-encoding .m4a to .m4a, since iTunes won't be able to convert .FLAC files.)

My goal is to convert .FLAC files into iTunes Plus .m4a using Apple's encoder, so I'm using qaac. So my question is, what is causing this discrepancy between the one converted using iTunes and one using qaac and how can it be resolved?

Here are some screenshots of their properties: (File properties were viewed with dBpoweramp)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]iTunes12.3.1.23:[/size]
It gives out a file with a slightly lower bitrate but dBpoweramp says the "audio quality" is very high. (Whatever iTunes output is the one I prefer)
Encode settings:
(https://hydrogenaud.io/imgcache.php?id=eeb511f7c6c5cfe9df40c071461b1348" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/i4y2IzN.jpg)
Output:
(https://hydrogenaud.io/imgcache.php?id=39eabcf0e6b7a02eac2e50e198f4ba4e" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/ZlMHheg.jpg)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]qaac 2.55:[/size]
It gives out a file with a slightly higher bitrate but dBpoweramp says the "audio quality" is low.
Encode settings:
Code: [Select]
qaac64 --no-smart-padding -v256 -q2 *.m4a
Output:
(https://hydrogenaud.io/imgcache.php?id=79de9957d9cbc3b738e1334e1fd9c6a9" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/8Kz7fnI.jpg)

Additional info:
Qaac outputs a similar file when I convert .FLAC to .m4a.
I've also tried using dBpoweramp with qaac(through it's command-line encoder option) but the results are the same.

I would say the audio quality is highlighted as low because dbpoweramp loses iTunes id tag info when encoding using qaac as you can see nothing is showing up under bit rate on audio properties. As for file size differences im not sure.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 03 November, 2015, 07:40:42 PM
So my question is, what is causing this discrepancy between the one converted using iTunes and one using qaac and how can it be resolved?

Difference in file size is insignificant, since that can come from difference of container. Use Binary Comparator of fb2k or something for comparing audio signal.

As for blank bit rate property, see posts from https://www.hydrogenaud.io/forums/index.php...st&p=902359 (https://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=902359) .
I guess "Audio Quality" portion is judged from bit rate, so is derived from the same issue.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: IotaQouta on 03 November, 2015, 10:29:03 PM
As for blank bit rate property, see posts from https://www.hydrogenaud.io/forums/index.php...st&p=902359 (https://www.hydrogenaud.io/forums/index.php?s=&showtopic=85135&view=findpost&p=902359) .
I guess "Audio Quality" portion is judged from bit rate, so is derived from the same issue.


Thanks for pointing me to the right direction, at least I've got an answer now. It seems that it won't be resolved because it's not broken, and it's not an issue with qaac. Anyway, since that "0 average bitrate" will bother me when looking at audio properties, I'll settle with encoding .FLAC into ALAC instead with dBpoweramp, and if necessary further re-encode it into lossy .m4a (with iTunes).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Dive on 20 November, 2015, 07:14:06 AM
I'm trying to encode 24/48 FLAC with it's cue file as input file with plain QAAC command line. But always end with this error: "ERROR: cuesheet: Invalid INDEX time format at line 33". Foobar2000 with QAAC doesnt' have this problem.

Here's the track content at line 33:

Code: [Select]
  TRACK 07 AUDIO
    TITLE "Loving Sea"
    PERFORMER "Steve Hackett"
    INDEX 01 36:18:80
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 November, 2015, 08:16:52 AM
INDEX 01 36:18:80

The format of cuesheet index position is mm:ss:ff(minutes-seconds-frames), where frame is 1/75 second. Apparently, 80 is out of valid range (00-74).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Dive on 20 November, 2015, 08:40:36 AM
INDEX 01 36:18:80

The format of cuesheet index position is mm:ss:ff(minutes-seconds-frames), where frame is 1/75 second. Apparently, 80 is out of valid range (00-74).

Is that mean, when using QAAC, Foobar2000 can tolerate that invalid range of frames?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 20 November, 2015, 08:57:08 AM
Is that mean, when using QAAC, Foobar2000 can tolerate that invalid range of frames?

Maybe fb2k treats 36:18:80 as 36:19:05. It has nothing to do with qaac or whatever encoder you run from fb2k.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: duchski on 25 December, 2015, 03:17:36 PM
anybody knows the switches for qaac to produce output in the following folder/name structure:

artist/album/track - title.m4a ?

I tried everything but i am probably missing something....


Thanks in advance
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 December, 2015, 10:25:30 PM
No, qaac doesn't automatically create folders for you.
If you try --fname-format="${artist}/${album}/${track} - ${title}", this expression will be evaluated to something like "Coralie Clément_Bye Bye Beauté_03 - L'Enfer". So, All invalid characters for a file name (including slashes/back slashes) are replaced into underscores.
Slashes in a title is quite common, and you usually don't want them treated as path separators.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: duchski on 26 December, 2015, 12:40:49 AM
No, qaac doesn't automatically create folders for you.
If you try --fname-format="${artist}/${album}/${track} - ${title}", this expression will be evaluated to something like "Coralie Clément_Bye Bye Beauté_03 - L'Enfer". So, All invalid characters for a file name (including slashes/back slashes) are replaced into underscores.
Slashes in a title is quite common, and you usually don't want them treated as path separators.




So that's why it didint work


Thanks...
Title: QAAC: discussion, questions, feature requests, etc.
Post by: KinG-KanG on 30 December, 2015, 12:06:50 AM
Code: [Select]
qaac64.exe --tag "gen:J-Pop" --tag "geID:27" -o output.m4a input.wav

From the above code qaac just want to save "gen" tag,  but do not want to save "geID" tag.
Why?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 December, 2015, 05:12:08 AM
Code: [Select]
qaac64.exe --tag "gen:J-Pop" --tag "geID:27" -o output.m4a input.wav

From the above code qaac just want to save "gen" tag,  but do not want to save "geID" tag.
Why?

Thanks for the report. Was ignored due to a typo, and fixed in 2.56.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: KinG-KanG on 30 December, 2015, 04:54:00 PM
Glad, could help and fast too.

Other thing, can you make qaac get "comment" tag read from a file (UTF8 Without BOM), so I can insert non english comment.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: decollated on 30 December, 2015, 09:21:37 PM
Is it possible for "--gapless-mode 2" (qaac 2.55) to actually cause small gaps during playback on an iPod Classic?

I was listening to a live album today that I encoded using that option, and noticed some tiny gaps that are not in the source.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 December, 2015, 10:04:55 PM
Is it possible for "--gapless-mode 2" (qaac 2.55) to actually cause small gaps during playback on an iPod Classic?

I was listening to a live album today that I encoded using that option, and noticed some tiny gaps that are not in the source.

Well.. Only thing an encoder can do is to write some metadata describing amount of gaps.
Basically, gapless playback is a player side task. It's impossble for an encoder to make a player play gaplessly when the player doesn't properly support gapless playback.

Having said that, why do you use --gapless-mode 2 ? Have you tried the default ?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 30 December, 2015, 10:08:36 PM
Other thing, can you make qaac get "comment" tag read from a file (UTF8 Without BOM), so I can insert non english comment.

It is possible, but why don't you just use some tag editor?
Preparing a comment file for each encoding seems no easier.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: KinG-KanG on 31 December, 2015, 09:22:40 PM
Other thing, can you make qaac get "comment" tag read from a file (UTF8 Without BOM), so I can insert non english comment.

It is possible, but why don't you just use some tag editor?
Preparing a comment file for each encoding seems no easier.


I used kid3 and it mess up with some tag entry (cmid, i think).
I used mp3tag and this program never tell whether it was an id3tag or itune tag.
both program mess up with tag sorting in the file.

QAac sort tag from copyright sign (it looks neat to me), kid3 sort tag from com.itunes (i hate their Qt GUi) and mp3tag sort based on tag description (artist, album,...,year).
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Makm on 03 January, 2016, 12:16:09 PM
@nu774
Is it possible to use "--native-resampler=bats,127" in qaac to convert a 24/96 file to a 16/44.1 ALAC?
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Makm on 03 January, 2016, 12:30:01 PM
@nu774
Is it possible to use "--native-resampler=bats,127" in qaac to convert a 24/96 file to a 16/44.1 ALAC?

It's ok I figured it out
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Sohl on 04 January, 2016, 03:04:38 PM
Hello, I am having a problem converting my songs using qaac 2.57 with foobar2000. I keep getting a code 2 error only when the songs I'm converting are mono.

I have included a Process Monitor Logfile with foobar2000 and its subtree. https://drive.google.com/open?id=0B3xjPcNPu...V2dLZUc0djN6M28 (https://drive.google.com/open?id=0B3xjPcNPu0-4V2dLZUc0djN6M28)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 04 January, 2016, 05:15:42 PM
Hello, I am having a problem converting my songs using qaac 2.57 with foobar2000. I keep getting a code 2 error only when the songs I'm converting are mono.

Same here and without encoding through foobar:
Code: [Select]
mono.m4a
ERROR: Not supported channel layout


But it's working fine with version 2.55:
Code: [Select]
mono.m4a
AAC-LC Encoder, TVBR q82, Quality 96
[100.0%] 0:24.681/0:24.681 (68.6x), ETA 0:00.000
1088433/1088433 samples processed in 0:00.360
Overall bitrate: 79.8316kbps
Optimizing...done
Title: QAAC: discussion, questions, feature requests, etc.
Post by: KinG-KanG on 04 January, 2016, 06:03:35 PM
Other thing, can you make qaac get "comment" tag read from a file (UTF8 Without BOM), so I can insert non english comment.

It is possible, but why don't you just use some tag editor?
Preparing a comment file for each encoding seems no easier.


I used kid3 and it mess up with some tag entry (cmid, i think).
I used mp3tag and this program never tell whether it was an id3tag or itune tag.
both program mess up with tag sorting in the file.

QAac sort tag from copyright sign (it looks neat to me), kid3 sort tag from com.itunes (i hate their Qt GUi) and mp3tag sort based on tag description (artist, album,...,year).



Version 2.57... WOW... Thank you... and thank you. Great update, Tag and libsnd pre 6.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 04 January, 2016, 10:23:56 PM
Hello, I am having a problem converting my songs using qaac 2.57 with foobar2000. I keep getting a code 2 error only when the songs I'm converting are mono.

I have included a Process Monitor Logfile with foobar2000 and its subtree. https://drive.google.com/open?id=0B3xjPcNPu...V2dLZUc0djN6M28 (https://drive.google.com/open?id=0B3xjPcNPu0-4V2dLZUc0djN6M28)

Fixed on 2.58, thanks.
Title: QAAC: discussion, questions, feature requests, etc.
Post by: francesco on 05 January, 2016, 03:26:20 AM
Hello, I am having a problem converting my songs using qaac 2.57 with foobar2000. I keep getting a code 2 error only when the songs I'm converting are mono.

I have included a Process Monitor Logfile with foobar2000 and its subtree. https://drive.google.com/open?id=0B3xjPcNPu...V2dLZUc0djN6M28 (https://drive.google.com/open?id=0B3xjPcNPu0-4V2dLZUc0djN6M28)

Fixed on 2.58, thanks.

hi Nu774
thanks for the update
may i know which is the most update site to download quaac ?
cheers
Title: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 05 January, 2016, 03:33:37 AM
QAAC homepage: https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/)
QAAC downloads: https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Title: QAAC: discussion, questions, feature requests, etc.
Post by: francesco on 05 January, 2016, 03:37:57 AM
QAAC homepage: https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/)
QAAC downloads: https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)

thanks
so i'm sure i get the new one!
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: jacobacci on 23 January, 2016, 04:58:38 AM
I saw on the qaac version history that qaac uses libsoxrate (modified version of libsox; dynamically linked).
Does this mean that qaac uses SOX to resample? In some threads I saw reference being made to qaac using speex.
Which is correct?
Thanks
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 23 January, 2016, 05:43:48 AM
SoX (Sound Exchange) is a "swiss army knife" software for audio filtering, libsoxrate will probably contain (more or less) only its resampler.

Speex is a low bandwidth voice-optimized audio codec, not primarily a resampler. I would be surprised if QAAC used any features from the Speex codec (which is rather a competitor to an AAC codec). But go on, surprise me. ;)
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Moni on 26 January, 2016, 12:48:48 PM
I saw on the qaac version history that qaac uses libsoxrate (modified version of libsox; dynamically linked).
Does this mean that qaac uses SOX to resample? In some threads I saw reference being made to qaac using speex.
Which is correct?
Thanks

If it does use SOX to resample, you can get an idea of performance by picking SOX 14.4 VHQ and cycling through the charts. It's basically perfect.
http://src.infinitewave.ca
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ZakiSayed on 29 January, 2016, 12:00:39 AM
Hey, can anyone help me out?... https://hydrogenaud.io/index.php/topic,111102.0.html
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: LigH on 01 February, 2016, 08:11:17 AM
^ link didn't work; but you got a reply already (https://hydrogenaud.io/index.php/topic,111102.msg915344.html#msg915344).
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ZakiSayed on 08 February, 2016, 02:53:11 AM
^ link didn't work; but you got a reply already (https://hydrogenaud.io/index.php/topic,111102.msg915344.html#msg915344).
The link is working fine for me, though as you've already noticed, I've got a lot of helpful answers already. Thanks anyway.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 22 February, 2016, 07:45:43 AM
Hi ! Does have sense as for better quality converting hi-res sources to any samplerate above 44.1kHz? I.e. 48k.
I thied to use several sources but the frequency cut-off is still put too low even for presets at bitrates near 320kbps. For better trade-off I'd welcome possibility to set the threshold higher, possibly up to 24kHz. Otherwise I don't see any advantage of using 48kHz. It seems to me that all predefined lowpass filters are hard set to targets with 44.1kHz.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 22 February, 2016, 08:00:12 AM
I thied to use several sources but the frequency cut-off is still put too low even for presets at bitrates near 320kbps.
Not confirmed: I cannot see any lowpass for 48kHz stereo file @320 kbps. CoreAudioToolbox 7.10.5.0.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 23 February, 2016, 02:59:09 AM
lvqcl - I confirm. This is used for 2nd highest preset (at 282kbps)

(https://hydrogenaud.io/imgcache.php?id=aee12d55e310cc9afedb0c00ab125009" rel="cached" data-warn="External image, click to view at original size" data-url="http://i.imgur.com/5QsTCaJ.png)

At highest preset the frequencies go up to 24kHz but at the cost of too high bitrate (352kbps))
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 23 February, 2016, 04:32:14 AM
You wrote "for presets at bitrates near 320kbps", so I tested CBR 320 and TVBR 127 (its average bitrate is close to 330 kbps for me). TVBR 118 has lowpass at 23 kHz.

Anyway: if you think that current encoding settings aren't optimal, you should ask Apple to change them.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 23 February, 2016, 05:05:42 AM
That sounds like the thresholds can't be changed (neither by hacking CoreAudioToolbox?)
If that's the situation, which is the lowest quality preset with which keeping 48kHz for output gives advantage over 44.1kHz ?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 23 February, 2016, 05:31:01 AM
If you cannot hear above 20 kHz then there's no advantage anyway.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: John Silver on 08 March, 2016, 07:02:59 AM
Hello nu774. What are the exact encoding parameters do you recommend for better sound:
1. CD 16 bit 44 kHz to M4A - 128, 160, 192, 224, 256 kbps
2. Vinyl 24-bit 96 kHz to M4A - 128, 160, 192, 224, 256 kbps?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: RamGuy on 10 April, 2016, 02:49:31 PM
Is there any way to make QAAC split a M4A/M4B/AAC in two? I'm tagging some audiobooks using Audiobook Builder for Mac OS X and there is a issue with QuickTime in Mac OS X not allowing files longer than 18-hours to be tagged and most of my audiobooks are 20-40 hours so I would want to split them in half, do the tagging and then re-join them afterwards.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Ludo13B on 07 May, 2016, 11:23:23 AM
Hi!

I discover the Apple AAC encoder yesterday (use Nero's a few years ago), and am really interested in using it for movies audio.

I read a lot of this thread, but am lost for a few things, I would be glad if you could help me. :)

Two categories, qaac options (to use with eac3to to convert my .dts or .ac3 to .wav) and foobar2000. I tried foobar2000, but I want to use eac3to if possible.

QAAC options:
- are these options required for movies audio? --rate keep, --adts, --no-delay, --no-optimize (I even saw a --limiter?)
- when is --ignorelength - used? Whith piped .WAV input?
- does the use of .m4a or .aac output change anything ? It is to remux with MKVToolNix (mkvmerge), video in .mkv container.
- options are they different to encode stereo, 5.1, downmix stereo, etc channels? Or from different types of DTS (ES, HDMA, etc)?

I am not sure how to handle the "iTunSMPB" tag in my case. With the --no-delay option? Or nothing?


foobar2000:
- I suppose I will have the same result with the same version of QAAC? Or the different DTS or AC3 decoder may result of slightly different output files?
I use foo_input_dts and foo_ac3 here: http://kode54.foobar2000.org/ (http://kode54.foobar2000.org/)
- I locate the qaac.exe in C:\Program Files (x86)\foobar2000\encoders, but not libsoxr.dll and libsoxconvolver.dll. Are they required? Can I only replace qaac.exe to update it?
- are options used differents when using only eac3to, or exactly the same in foobar?

Thanks a lot!

Ludo

[Edit] Option --adts.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 07 May, 2016, 01:37:40 PM
Quote
- are these options required for movies audio? --rate keep, --adts, --no-delay, --no-optimize (I even saw a --limiter?)
Well, nothing is required. However, you might find --no-delay to be useful for the purpose.

Every MDCT codec including AAC has encoder delay by design.
qaac, when encoding to .m4a, writes delay information in the container metadata called iTunSMPB.
As long as you don't remux the resulting file and you are using players such as fb2k that is capable of gapless playback, delay is not an issue (player can trim them using the information from iTunSMPB).

OTOH, in case of movie you remux the resulting .m4a to another container file. So, the delay information can be lost in the remuxing process. Even when it is not lost, player might not take care of the audio delay very well. Therefore, --no-delay comes as the easiest way to avoid tiny A/V sync issue due to the delay (it is 40ms or so). --no-delay option simply compensates the delay.
However, using --no-delay means that necessary priming samples are not encoded in the result, so first 20ms or so cannot be correctly reconstructed. If you know that the very beginning of the sound track is silence (usually yes), it should do no harm.
As for mkvmerge, it seems to be able to handle iTunSMPB in .m4a. So, you might not need --no-delay. Try yourself.

Using --adts means no metadata (including iTunSMPB). Therefore, there's no chance of avoiding A/V sync issue unless you specify --no-delay. Other than that, as long as the remuxer is capable of reading both of .m4a and .aac, choice of intermediate format is not important.

Finally, if you are remuxing to another format, optimizing .m4a is nonsense. Therefore you can safely skip the optimizing process with --no-optimize.
Quote
- when is --ignorelength - used? Whith piped .WAV input?
Yes, but it's not always needed. If you are piping from ffmpeg, it is totally unnecessary.
qaac can detect "invalid" length in the WAV header in some ways, in which case qaac automatically switches to ignorelength mode anyway. You can easily tell if qaac is running in ignorelength mode (in which case qaac doesn't print total time and ETA in the progress, since it is unknown). And if something goes wrong, it should be obvious from resulting duration. Therefore, it's not something you should worried about too much.
Quote
options are they different to encode stereo, 5.1, downmix stereo, etc channels? Or from different types of DTS (ES, HDMA, etc)?
No.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Ludo13B on 07 May, 2016, 02:23:03 PM
nu774, thanks a lot for your clear explanations. :)

I will make some tests with these information in mind.

Thanks again, and for your great work too. :)
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 10 May, 2016, 02:51:50 PM
New version 2.59:
https://sites.google.com/site/qaacpage/news/qaacrelease259

Quote
    Fix: Was failing encoding mono AAC to AAC.
    Support Wavpack v5 interface (with large file support)

Wavpack version 5 is still in alpha state, and DLL is not officially provided. If you want to try it, you have to build it yourself from the source code.

This version of qaac supports both of old and new Wavpack DLL (they are binary compatible). When new functions provided in version 5 library are detected, qaac will use them.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 17 May, 2016, 12:18:27 PM
makeportable gives a console error with the latest version of iTunes 64-bit (12.4.0.119). All good with the 32-bit version. Using 7-Zip 16.00 64-bit (installed and copied same error).

7-Zip issue, 15.14 can extract just fine. 7-Zip developer notified.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 19 May, 2016, 11:13:38 PM
...aaand 7-Zip 16.01 fixes the issue.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 25 August, 2016, 08:10:56 AM
Just out of curiosity:
Why is qaac's output directed to stderr when you supply --check as parameter?
(other messages like help screen goes to stdout...)
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 25 August, 2016, 09:23:02 AM
Just out of curiosity:
Why is qaac's output directed to stderr when you supply --check as parameter?
(other messages like help screen goes to stdout...)
Well actually, only the help (usage) messages goes to stdout, since it's so long that you most likely want to pipe to a pager or redirect to a file or something to view it, in which case you'd need more typing if it were going to stderr, such as :
Code: [Select]
qaac 2>&1 | more

Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: asbjbo on 03 September, 2016, 05:26:08 AM
Hi,

I use qaac embedded in a Python script to create and maintain AAC copies of a well-tagged FLAC library of some ~30000 songs. It works very well - thanks!

However, some portable AAC players are not very smart in their handling of tags. The player in my car generates an "artist" list containing everyone and everything mentioned as artist, album artist, ensemble, composer or conductor in the file. That becomes rather unwieldy. Even worse, the "album" list splits by artist, generating multiple entries for albums with multiple artists. An album like "100 Country Hits" generates 100 entries in the album list, each with a different artist and one track. Setting a common album artist or the compilation flag does not help.

So I would like to generate AAC files with only the most basic tags, deleting all the others. By default, qaac copies the tags from source to target. I can partially override this by using the command line option --artist to set the track artist to the value of album artist (even when this is factually incorrect!).

This still leaves tags like composer or conductor to clutter up the player artist list. I have not found an easy way to strip extended tags like these from the conversion. First converting the FLAC file to a tag-less WAV, and then again to an AAC file with tags given on the command line works, but is a slower, two-stage process. I imagine it would be easy to add an option to ignore any tags in the source file and only use those provided on the command line.

Is there an easy way to do this in qaac?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Rollin on 03 September, 2016, 05:40:20 AM
asbjbo, you can do mass removal of unneded tags after conversion, using foobar2000 or mp3tag.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: asbjbo on 03 September, 2016, 06:01:18 AM
Yes, that is possible, but since this runs as an automated script I would prefer not to need any manual post-processing. Also, opening 30000 server files in mp3tag over the network is extremely slow and crash-prone. An automated two-stage process via WAV is preferrable, but still slow and not very elegant. Is there an even better way?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: sundance on 05 September, 2016, 04:31:30 AM
@nu774:
According to QAAC's wiki it is save to use --normalize with aac/mp4, although that may result in samples above 0dbFS.
Did I understand that correctly? Or is an additional --limiter recommended? And how much is "near 0dbFS", where the limiter is activated?

edit: Just did a quick test (with 4 mp3 files being concatenated to one mp4 file) with --normalize alone and together with --limiter.
Both mp4 files had peaks above 0dbFS (1.044) when checked with foobar's replaygain scanner...
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 September, 2016, 06:22:57 AM
First converting the FLAC file to a tag-less WAV, and then again to an AAC file with tags given on the command line works, but is a slower, two-stage process. I imagine it would be easy to add an option to ignore any tags in the source file and only use those provided on the command line.

Is there an easy way to do this in qaac?
If you are scripting in python, I think you can fetch tags in FLAC files first (with metaflac command or Python's mutagen library), filter them as you like (in the script), then apply them.
And you don't have to use an intermediate, temporary WAV file for that purpose. Just use pipe instead.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 05 September, 2016, 06:30:22 AM
@nu774:
According to QAAC's wiki it is save to use --normalize with aac/mp4, although that may result in samples above 0dbFS.
Did I understand that correctly? Or is an additional --limiter recommended? And how much is "near 0dbFS", where the limiter is activated?

edit: Just did a quick test (with 4 mp3 files being concatenated to one mp4 file) with --normalize alone and together with --limiter.
Both mp4 files had peaks above 0dbFS (1.044) when checked with foobar's replaygain scanner...
Both of --normalize and --limiter works on PCM before encoding.
Peaks of the resulting AAC can easily go above 0dBFS (when decoded) but there's nothing I can do for it.
(It is quite normal for lossy codecs to have peaks above 0dBFS when decoded, and you won't hear those "clipping" anyway),
 
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: audiophool on 22 September, 2016, 06:53:33 AM
When trying to extract the necessary QTfiles from itunes6464setup.exe (latest iTunes 12.5.1) using makeportable, I get a bunch of errors. makeportable doesn't create QTfiles64, either.

It says it cannot find the commands "findstr" and "reg". I tried with the latest makeportable.cmd on Win 10 x64 and 7-zip 16.02.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 22 September, 2016, 07:51:21 AM
Quote
Changed 7.1ch rear channel layout in favor of Apple QuickTime.
qaac was using 3 front + 2 side + 2 back for 7.1ch rear output. However, it turned out that Apple QuickTime cannot handle this, and only recognizes 3 front + 4 back.

I have encoded 8_Channel_ID.wav (http://www-mmsp.ece.mcgill.ca/documents/audioformats/wave/Samples/Microsoft/8_Channel_ID.wav) with QAAC v2.58 and v2.60 and it looks like MediaInfo 0.7.88 doesn't make any difference between the two encodings and always reports:
Code: [Select]
Channel(s)                               : 8 channels
Channel positions                        : Front: L C R, Side: L R, Back: L R, LFE

Am I missing anything ? MediaInfo or QAAC problem ?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2016, 08:40:43 AM
In my PC, MediaInfo reports like this for 2.60:
Code: [Select]
Channel(s)                              : 8 channels
Channel positions                        : Front: L C R, Side: 4, LFE

Actually, your result is better than this, and it should be.
7.1ch file encoded by 2.60 should be decoded in exactly the same way as before into L+R+C+LF+BL+BR+SL+SR.
Recent ffmpeg just treats both of them as "7.1ch".

What is diffrent (in 2.60) is how channel layout is described in the AAC program config element, where channels are described in a completely different manner compared to WAV's channel mask.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Brazil2 on 22 September, 2016, 10:54:41 AM
In my PC, MediaInfo reports like this for 2.60:
Code: [Select]
Channel(s)                              : 8 channels
Channel positions                        : Front: L C R, Side: 4, LFE
I can get this result with the 24-bit version of the file but not with the attached 16-bit version.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 22 September, 2016, 11:41:21 AM
Well, channel mask of the attached WAV file is 0xFF, which is  7.1ch front layout ( L + R + C + LF +  BL + BR + FLC + FRC).
This is the default AAC 7.1ch layout, and is completely diffrent from 7.1ch rear layout (L + R + C + LF + BL + BR + SL + SR).

It seems that channel layout printed by MediaInfo is questionable on these files.

As is written at the wiki ( https://github.com/nu774/qaac/wiki/Multichannel--handling ), qaac treats these two channel layouts differently, and resulting file have actually different AAC channel layouts.
Also, note that ffmpeg needs "-strict 1" switch to decode 7.1ch AAC with default (front) layout correctly. It is written here: https://sites.google.com/site/qaacpage/news/qaacrelease235refalac135
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: tebasuna51 on 02 October, 2016, 06:08:31 AM
What is diffrent (in 2.60) is how channel layout is described in the AAC program config element, where channels are described in a completely different manner compared to WAV's channel mask.

Encoding a wav FL,FR,FC,LF,BL,BR,SL,SR to .aac with qaac 2.60 and decoded by itself we obtain a wav FC,FL,FR,FC,SL,SR,BL,BR,LF
Others decoders have also problems with qaac 2.60: http://forum.doom9.org/showthread.php?p=1782018#post1782018
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 02 October, 2016, 10:31:23 AM
Quote
[qaac] release 2.61
posted 16 minutes ago by nu 774

Fix 7.1ch PCE: was incorrectly writing object_type(2) instead of profile(1). AFAIK, this doesn't seem to actually affect decoders because decoders are only interested in channel layouts in PCE, but still it was incorrect, and should be fixed.

Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 02 October, 2016, 11:02:17 AM
Encoding a wav FL,FR,FC,LF,BL,BR,SL,SR to .aac with qaac 2.60 and decoded by itself we obtain a wav FC,FL,FR,FC,SL,SR,BL,BR,LF
Others decoders have also problems with qaac 2.60: http://forum.doom9.org/showthread.php?p=1782018#post1782018

Thanks, I noticed one issue in 7.1ch PCE and released 2.61 just now. However,  this release wouldn't fix your problem.

It may sound strange that qaac cannot correctly decode 7.1ch AAC created by itself.
Actually, Apple encoder only supports 7.1ch front layout, but not 7.1ch rear layout. (qaac supports encoding 7.1ch rear layout by manually inserting PCE that describes 7.1ch rear channel configuration).
Therefore, it is not too strange that Apple's AAC decoder doesn't correctly handle 7.1ch rear layout.
(Although it seems that QuickTime player (not CoreAudio) recognizes the correct channel layout)

Because of complexity and too much of flexibility in the PCE based channel configuration, poor handling in the decoder side is to be expected, and there's nothing I can do for it.
These days, at least libavcodec has good support on the PCE based AAC channel configuration, but it was far worse before.

Instead of PCE, I could use new standard ISO/IEC 14496-3:2009/Amd 4:2013 where ChannelConfiguration for 7.1ch rear layout is defined, but I suppose it's even worse in compatibility, since it's rather new standard that is used by no encoder AFAIK.

As a matter of fact, qaac 2.61 now writes exactly the same PCE as FDK-AAC encoder.
Therefore, those results should also apply to FDK-AAC encoder.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: tebasuna51 on 03 October, 2016, 07:41:43 AM
Thanks, I noticed one issue in 7.1ch PCE and released 2.61 just now. However,  this release wouldn't fix your problem.
Yep, 2.61 is the same.

Quote
Because of complexity and too much of flexibility in the PCE based channel configuration, poor handling in the decoder side is to be expected, and there's nothing I can do for it.
Ok, thanks for your interest.

Well we can survive with this.
I don't like very much 7.1 and 5.1 work fine always.
And we have libavcodec decoders (like Foobar2000) than work with 7.1.

Thanks.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ghostman6842 on 11 October, 2016, 07:22:18 AM
Used QAAC (via fb2K) to make some AAC files for my iPod, and they all had the same problem: After a track had finished playing, the next file would not only stop playing, it would cause the iPod to shut down. Specifically, the beginning of the next file would shut down after a second (maybe a little less), and the the Apple symbol pops up on the iPod's screen.

Now here's the werid part: I ended using the lossless source files to create ALAC files, imported them into iTunes, then used them to create AAC files...that worked on my iPod! WTF?!?! Both times (the last time I checked) Apple Application Support was used to create both sets of AAC files. Yet the iTunes version worked and the fb2/QAAC files didn't.

I thought the defaults for QAAC prevented this type of problem. Here's the unaltered default fb2k command line that QAAC uses to create AAC files:

--ignorelength -s --no-optimize -V 127 -o %d -

Any ideas about why this is happening?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ghostman6842 on 11 October, 2016, 05:58:19 PM
Ended up creating another batch of AAC files with QAAC via command line (used -V 127), and they still wouldn't work correctly on my iPod at all. Both iTunes and QAAC are using Apple Application Support to make the AAC files, but iTunes has the edge??? At this point, I'm starting to wonder if there's a bug in QAAC that's causing this, because when I can't even create AAC files via command line with QAAC without having this problem, something is clearly going on. At this point, I guess I have to use stupid iTunes to get what I want, because, at this point, QAAC is failing at getting the job done.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: lvqcl on 11 October, 2016, 07:22:58 PM
Try earlier versions? Or try CBR mode, maybe this will change the result.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ghostman6842 on 11 October, 2016, 09:29:05 PM
Try earlier versions? Or try CBR mode, maybe this will change the result.

I've tried TVBR, CVBR & CBR, and gotten to the same place: Nowhere! But, again, anything that I created through the latest iTunes is just totally fine. At this point, I have to wonder if QAAC, again, has a bug in it, or Apple has purposefully modified iTunes to make it so that you can't do anything with AAC, or ALAC, if it's not created in their program (Wouldn't put it past them). Who knows? In any case, I'm so pissed off right now that I want to throw my iPod 20gb in the garbage can. It's nothing more than a useless piece of crap at this point. I don't like not having control of my music.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: nu774 on 12 October, 2016, 12:50:51 AM
Maybe related, or maybe not: https://hydrogenaud.io/index.php/topic,17773.0.html

m4a container written by qaac is different from the ones created by iTunes. fb2k also writes some metadata which is never written by iTunes. Therefore, there *can* be a compatibility issue regarding container. MP4 is an unnecessarily versatile, complex format for storing a single audio track. Some kind of compatibility issues are quite common in poor parser implementations, especially seen in hardware players.

However, since your ipod is able to play at least one track, I guess it's not simply because there's something in the container which iPod cannot handle properly.
There might be an issue in the sync process when files came from outside of iTunes... but I really have no idea.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: ghostman6842 on 16 October, 2016, 02:59:06 AM
Maybe related, or maybe not: https://hydrogenaud.io/index.php/topic,17773.0.html

m4a container written by qaac is different from the ones created by iTunes. fb2k also writes some metadata which is never written by iTunes. Therefore, there *can* be a compatibility issue regarding container. MP4 is an unnecessarily versatile, complex format for storing a single audio track. Some kind of compatibility issues are quite common in poor parser implementations, especially seen in hardware players.

However, since your ipod is able to play at least one track, I guess it's not simply because there's something in the container which iPod cannot handle properly.
There might be an issue in the sync process when files came from outside of iTunes... but I really have no idea.


For the hell of it, I installed Rockbox on my iPod, and I ended up having no problems at all with the QAAC-based AAC files. That tells me the Apple software didn't like them. By design or on purpose? Some might say it's the former. I still think it's the latter. But at least the damn thing works now.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: tvks on 04 December, 2016, 11:45:30 AM
I get the same problem with my iPods (both 5G & 5.5G) just like ghostman6842's.
I encoded the QAAC files using command line "-v 256" setting, and they can be played if I select certain one of them. But when iPod starts the next track (both starting when the previous is ended and I press the NEXT button), iPod get restarting.
I tried the problem files played on different iPod models. iPod 5G & 5.5G get this problem while iPod nano 1G & iPod nano 5G do not.
BUT I have found that the files I encoded years before using QAAC 2.33 with the same setting, are played fine on all my iPods.
AND I also tried encoding some files using command line "-v 128" setting, and they are played fine.
So, I guess there may be something with the latest QAAC with “-v 256” setting?
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Rigby on 30 January, 2017, 11:30:34 PM
Question: Is it possible to somehow alter the chapter names QAAC generates when using the --concat option? I'm trying to make audiobooks from MP3 files; unfortunately the track names in their metadata have ridiculously long prefixes, so I can't see the track numbers in the chapter list on my phone. Ideally I'd like to have simple sequentially numbered names like "Chapter 1", "Chapter 2" and so on.

BTW, thanks to the dev! This is a really useful tool that has already saved me a ton of work. :)
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 12 May, 2017, 08:20:21 AM
Good news, new qaac brings alot of new features

Quote
    Support decoding FLAC in MP4.
    AAC decoder: now recognizes 6.1ch/7.1ch AAC channel config constants (11 and 12) defined in 14496-3:2009/Amd 4:2013
    Concatenating files with no title tag with --concat now creates empty chapter name (formerly file name was used).
    --start now accept negative value. using --start and --delay at the same time is not allowed now. These two options are the same in functionality-wise, except for the reversed sign (For trimming, you use positive value for ---start, and negative value for --delay).
    --adts and --concat doesn't allow concatenating files with varying sample format anymore.
    External dlls are now loaded in lazy way, which means that they are not loaded until needed.
    Increased buffering size for --play to avoid glitches on multi channel files.
    --native-resampler now always use dedicated AudioConverter.
    CAF: enabled 7.1ch rear AAC output.
    AAC in CAF: when chan chunk is not present, get channel layout from kuki chunk.
    Named pipe output is removed. I guess it has been rarely used anyway, but if you happen to want it, use https://github.com/nu774/namedpipe .

Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: eahm on 12 May, 2017, 09:43:08 PM
Thanks for the news and for the update.

Link here: https://sites.google.com/site/qaacpage/cabinet
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: raymondjpg on 19 May, 2017, 05:47:27 AM
I am getting audio breakup when multiplexing HE-AAC encoded with QAAC.exe v2.63, and HEVC, in MeGUI. I downloaded v2.63 from two sources with the same result. I have gone back to the QAAC backup in MeGUI, which is I think v2.62, and no problems.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: Anakunda on 19 May, 2017, 08:40:04 AM
QAAC 2.64 is out.


Fixed regression of 2.63: HE-AAC frames were incorrectly multiplexed.
Title: Re: QAAC: discussion, questions, feature requests, etc.
Post by: dev on 29 June, 2017, 04:57:54 PM
Hi

Is this normal for the encoder to put lowpass on LFE channel, or is this an error?
Or is putting higher than 120Hz frequencies on the LFE channel a mistake?

ChannelPlacement.wav
http://www6.zippyshare.com/v/KVIBROyc/file.html
ChannelPlacement.m4a
http