Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: QAAC: discussion, questions, feature requests, etc. (Read 676476 times) previous topic - next topic
0 Members and 5 Guests are viewing this topic.

QAAC: discussion, questions, feature requests, etc.

Reply #275
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).


QAAC: discussion, questions, feature requests, etc.

Reply #277
[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

QAAC: discussion, questions, feature requests, etc.

Reply #278
[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

QAAC: discussion, questions, feature requests, etc.

Reply #279
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

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?

QAAC: discussion, questions, feature requests, etc.

Reply #280
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.

QAAC: discussion, questions, feature requests, etc.

Reply #281
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.

QAAC: discussion, questions, feature requests, etc.

Reply #282
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

QAAC: discussion, questions, feature requests, etc.

Reply #283
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?

QAAC: discussion, questions, feature requests, etc.

Reply #284
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. 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.

QAAC: discussion, questions, feature requests, etc.

Reply #285
I see.
Would be nice if Apple were to stick to a single proprietary implementation of this stuff while being at it.

QAAC: discussion, questions, feature requests, etc.

Reply #286
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.

QAAC: discussion, questions, feature requests, etc.

Reply #287
[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

QAAC: discussion, questions, feature requests, etc.

Reply #288
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
No changelog yet

QAAC: discussion, questions, feature requests, etc.

Reply #289
BTW, new qaac uploaded, 2.10
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.

QAAC: discussion, questions, feature requests, etc.

Reply #290
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. 

QAAC: discussion, questions, feature requests, etc.

Reply #291
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.


QAAC: discussion, questions, feature requests, etc.

Reply #292
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?

QAAC: discussion, questions, feature requests, etc.

Reply #293
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).

QAAC: discussion, questions, feature requests, etc.

Reply #294
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.

QAAC: discussion, questions, feature requests, etc.

Reply #295
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?


QAAC: discussion, questions, feature requests, etc.

Reply #296
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

QAAC: discussion, questions, feature requests, etc.

Reply #297
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.

QAAC: discussion, questions, feature requests, etc.

Reply #298
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


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! 

QAAC: discussion, questions, feature requests, etc.

Reply #299
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.