Hi,
As I already posted in the other thread, I released a tiny tool for Windows to access the QuickTime AAC encoder from the command line. Now some important features, gapless support and pipe encoding, have been added, so I've decided to create a dedicated thread for this software.
You can get the latest version here (http://tmkk.pv.land.to/qtaacenc/).
Any comments or questions are accepted in this thread.
Thanks
Many thanks for this
Now i can use True VBR within foobar2000.
Interesting tool Thank you for your contribution nao.
To clear up, one question: One needs to have installed QuickTime Pro, right? (I'm no user of Apple software)
Thank you, nao, for that nice encoding tool.
Can't wait to test pipe encoding.
To clear up, one question: One needs to have installed QuickTime Pro, right? (I'm no user of Apple software)
No, pro version is not required.
The Free version will do? According to Apple's website it's only a Player. Or is QuickTime + iTunes necessary?
The Free version will do? According to Apple's website it's only a Player. Or is QuickTime + iTunes necessary?
Well, qtaacenc directly calls QuickTime APIs to encode, so it doesn't depend on any external applications. You only have to install the latest version of QuickTime.
Thx. I've installed latest Apple QuickTime free version, downloaded your tool and configured foobar2000 v1.0 as you describe on you webspace. Converting from FLAC to m4a works like a charm on Windows 7 64-bits!
Is it easy to know which files of QuickTime installation are necessary? Maybe a full QuickTime installation can be avoided by just having a set of specific files (possibly against some Apple policy).
I've been waiting for this tool for many years. A million thanks for this, nao!
Nao,
Thank you very much. Finally TVBR for Windows users.
Can you implmenet access to HE-AAC encoder as well?
I wonder if it's possible HE-AAC + TVBR. But HE-AAC with --highest will be already great.
Sometimes ago you quality-vs-bitrate graph it might be helpfull for people to get an idea what bitrates will be with tvbr.
Quality vs Bitrate (http://i29.tinypic.com/4tq3on.jpg)
Can you implmenet access to HE-AAC encoder as well?
Unfortunately, HE-AAC encoder is not available in QT for Windows.
Itunes has the same speed as qtaacenc --normal.
--highest and --high give the identical output.
Thank you very much Nao.
Thanks for this tool. It works pretty well on foobar2000.
Any comments or questions are accepted in this thread.
Thanks
Thanks a lot for your work. Tried it in several ways and worked just fine. What is the type of license for this file?
Just tried, works fine.
Thank you, nao.
What is the type of license for this file?
I'll apply BSD-style license.
I am not sure what you have done but encoding speeds are fixed on my end. I was getting an average speed of 7x which was being reported by foobar2000 v1. Before, I was getting 1x encoding speeds so this is a vast improvement. I also tested gapless playback in iTunes and on my 120GB iPod classic. It all works just fine.
Now I have to start ABXing to determine if Lame 3.98.2, Nero 1.5.3.0, or QuickTime 7.6.5 is right for me.
Edit: I should say that the encoding speeds are from my 1.66GHz Atom powered netbook with 2GB of RAM. 7x is about average for me when it comes to Lame 3.98.2, Nero 1.5.3.0, and other encoders. The only one I have seen that really encodes fast (on this netbook) is the Xing mp3 encoder with speeds of about 15x. I would test on my desktop (four dual-core AMD Opteron 2214 processors at 2.2GHz with 8GB of RAM) but I don't have access to it yet. Encoding speeds on my netbook didn't increase when I sat it to two thread encoding (the Atom processor is hyper-threaded).
Thanks for the program, nao.
About encoding speed... Core2Duo 2.4 GHz; qtaacenc 20100122; "--tvbr 100 --highest - %d" (encoding via fb2k):
1 thread: ~20x realtime.
2 threads: ~39x realtime.
I just found an issue when using True VBR at quality level 50.
The m4a files don't contain the last part of the original track.
Doesn't happen at quality level 100.
The exact limit seems to be quality level 58. For this level or below there is this issue.
I just found an issue when using True VBR at quality level 50.
The m4a files don't contain the last part of the original track.
Probably that is due to resampling. With the default setting, the output file is automatically resampled when the target bitrate or quality is low. To prevent this, use --samplerate keep option.
You're right, everything's fine when using --samplerate keep.
Thanks a lot.
Many thanks nao!
Is it easy to know which files of QuickTime installation are necessary? Maybe a full QuickTime installation can be avoided by just having a set of specific files (possibly against some Apple policy).
There is Quicktime Alternative (http://www.codecguide.com/qt_lite.htm), but i am not sure if that contains the encoders, or just the decoders. You may want to try out.
Tried it with QT alternative 3.1 and the application gives an error message, "this application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."
Can you implmenet access to HE-AAC encoder as well?
Unfortunately, HE-AAC encoder is not available in QT for Windows.
So if I do get [font= "Courier New"]AAC SBR[/font] as Codec Profile for a file encoded with [font= "Courier New"]--tvbr 12 --highest - %d[/font] with foobar I have to assume that Quicktime Pro enables HE?
So if I do get AAC SBR as Codec Profile for a file encoded with --tvbr 12 --highest - %d with foobar I have to assume that Quicktime Pro enables HE?
No, maybe the player misrecognizes it or QT intentionally appends the SBR flag at low samplerates for some reason. Actually SBR isn't used at all. The same thing happens to AAC files created by iTunes with low samplerates.
Thank you so much for this contribution nao!!!
Works fine, QuickTime True VBR AAC rules!
Are these bitrates values correct for qtaacenc?:
Target Quality - True VBR AAC (Powered by QuickTime & CoreAudio):
Q0 - Q4 = ~40 kbps
Q5 - Q13 = ~45 kbps
Q14 - Q22 = ~75 kbps
Q23 - Q31 = ~80 kbps
Q32 - Q40 = ~95 kbps
Q41 - Q49 = ~105 kbps
Q50 - Q58 = ~115 kbps
Q59 - Q68 = ~135 kbps
Q69 - Q77 = ~150 kbps
Q78 - Q86 = ~165 kbps
Q87 - Q95 = ~195 kbps
Q96 - Q104 = ~225 kbps
Q105 - Q113 = ~255 kbps
Q114 - Q122 = ~285 kbps
Q123 - Q127 = ~320 kbps
Thanks again!
One question: XLD Q&CA True VBR AAC bitrates are the same in qtaacenc?:
Yes if XLD runs on OSX 10.5/10.6 with QT 7.6.4/7.6.3.
One question: XLD Q&CA True VBR AAC bitrates are the same in qtaacenc?:
Yes if XLD runs on OSX 10.5/10.6 with QT 7.6.4/7.6.3.
Thank you nao
tested it out, got a file with 10.1MB with it, knew something was wrong...
proceeeded to encode file manually with quicktime vbr, got 5.76MB file..
I have it at it's highest setting...
Why iTunes (v9.0.2.25) and qtaacenc produce files with different bitrates while thay use the same (QuickTime) Encoder and configured equally?
iTunes AAC 320 VBR mode - 341 kbps
QTAACEnc 20100124 --cvbr 320 - 342 kbps
Try qtaacenc --cvbr 320 --normal.
Duration : 6:35.613 (17446548 samples)
Sample Rate : 44100 Hz
Channels : 2
Bitrate : 336 kbps
Codec : AAC
Codec Profile : AAC LC
Encoding : lossy
Tool : iTunes 9.0.2.25, QuickTime 7.6.5
Track Peak : 0.964269
Duration : 6:35.613 (17446548 samples)
Sample Rate : 44100 Hz
Channels : 2
Bitrate : 336 kbps
Codec : AAC
Codec Profile : AAC LC
Encoding : lossy
Tool : qtaacenc 20100124, QuickTime 7.6.5
Track Peak : 0.964269
Differences found: 29983105 sample(s), starting at 0.0000000 second(s), peak: 0.0234758 at 306.0978005 second(s), 2ch
added:
huh, the differences was due to some metadata. After removing tags:
No differences in decoded data found.
Thanks.
So for extra clarification: Does that mean that iTunes uses "normal quality" (which cannot be changed), while QuickTime uses "high quality" by default?
Chris
So for extra clarification: Does that mean that iTunes uses "normal quality" (which cannot be changed), while QuickTime uses "high quality" by default?
I set the default quality to "high" in qtaacenc, but the default in QT is normal.
You are my audio transcoding hero! I HATE having to go out of foobar to do any FLAC > AAC conversions, and wanted badly to use true VBR of Quicktime and here's the thread on how to do it!
A big thank you!
I've been encoding a song from Abbey Road. At q68, I get 150kps. At every q value from 69-76, I get 168kps. I would have expected each additional q value to add a small amount to bit rate, rather than a jump between two values and then no change over a number of values.
Is this typical behavior?
I've been encoding a song from Abbey Road. At q68, I get 150kps. At every q value from 69-76, I get 168kps. I would have expected each additional q value to add a small amount to bit rate, rather than a jump between two values and then no change over a number of values.
Is this typical behavior?
Check out post 28, and it does seem to be normal...in my limited testing.
Check out post 28, and it does seem to be normal...in my limited testing.
Aha!
I had thought #28 was just lumping things together for ease of presentation
It is odd behavior.
Check out post 28, and it does seem to be normal...in my limited testing.
Aha!
I had thought #28 was just lumping things together for ease of presentation
It is odd behavior.
This is the approx. target quality for QuickTime True VBR AAC, confirmed by nao. Works on QuickTime 7.6.5 (Windows OS -
qtaacenc), QuickTime 7.6.4 (Mac OS X 10.5 Leopard -
XLD) and QuickTime 7.6.3 (Mac OS X 10.6 Snow Leopard -
XLD):
Target Quality - True VBR AAC (Powered by QuickTime & CoreAudio)Q0 - Q4 = ~40 kbps
Q5 - Q13 = ~45 kbps
Q14 - Q22 = ~75 kbps
Q23 - Q31 = ~80 kbps
Q32 - Q40 = ~95 kbps
Q41 - Q49 = ~105 kbps
Q50 - Q58 = ~115 kbps
Q59 - Q68 = ~135 kbps
Q69 - Q77 = ~150 kbps
Q78 - Q86 = ~165 kbps
Q87 - Q95 = ~195 kbps
Q96 - Q104 = ~225 kbps
Q105 - Q113 = ~255 kbps
Q114 - Q122 = ~285 kbps
Q123 - Q127 = ~320 kbps
Regards
Any idea why Apple would do levels in this stepwise fashion, rather than a smoother increase? In other words, why doesn't adding one to the Q value add a bit to bitrate, rather than having bands of Q values leading to the same bitrate?
These posts found Q60-65 to lead to 127-129 kbps, which is close to what you're reporting: http://www.hydrogenaudio.org/forums/index....mp;#entry682937 (http://www.hydrogenaudio.org/forums/index.php?showtopic=77932&st=0&p=682937&#entry682937)
tested it out, got a file with 10.1MB with it, knew something was wrong...
proceeeded to encode file manually with quicktime vbr, got 5.76MB file..
I have it at it's highest setting...
It sounds like QuickTime Pro is encoding at 128kbps TVBR. I have yet to find a way to change the encoding setting (other than enabling true VBR and setting quality to high) in the latest version of QuickTime Pro under Windows, it always results in files that are at 128kbps TVBR. So the setting you used with qtaacenc was why you had a 10.1MB file. There was nothing wrong. Using Q values of 105 and above can result in large files. It sounds like you were using Q105 or somewhere around there to produce a file with an overall average bitrate of 256kbps.
I just noticed that for Q values <59, output is resampled to 32 kHz. For me, Q 59 results in 139 kbps on average. Isn't resampling done at much lower bitrates with mp3?.
Thanks nao for this program.
Quick test:
lame -V 6.248: 126 kbps
lame -V 6.249: 115 kbps
qtaacenc --tvbr 59: 135 kbps
qtaacenc --tvbr 58: 105 kbps
(and qtaacenc --tvbr 58 --samplerate keep: 114 kbps)
I cannot say that 126 is 'much lower' than 135 kbps.
Thanks nao for your program.
Could you possibly give an illustration of how to use qtaacenc with dBpoweramp's CLI encoder, as you already have with foobar? That would be great.
Thank you nao
I notice that the output files sometimes are almost 1 dB quieter that the file it encodes. How does this happen? I calculated it with Foobar 1.0 ReplayGain Scanner and the AAC quality is 127.
ok...i have done some tests...here are the results...
the qtaacenc encoder accepts wav's up to 32float (mono or stereo ONLY)...
if found that is limited (an old apple flaw!!!) to maximum 186 minutes for a 32float@48000hz wav or 279 minutes for a 24bit@48000hz wav and 327 minutes for a 16bit@48000hz wav!!!
the 4gb limit is on apple side of the encoder...i test it using the STDIN input by feeding a +8hrs .ac3 file with 16, 24, 32, 32float bits...
_
OT: @nao considering your expertise in windows iTunes libraries do you think a CLI raw (or full) mp4 muxer can be done? (.h264 + .acc + softsubs [apple style] + chapters [apple style])
something like subler for mac...
http://code.google.com/p/subler/ (http://code.google.com/p/subler/)
_
I notice that the output files sometimes are almost 1 dB quieter that the file it encodes. How does this happen? I calculated it with Foobar 1.0 ReplayGain Scanner and the AAC quality is 127.
Maybe it is special technology to reduce/prevent clipping?
the qtaacenc encoder accepts wav's up to 32float (mono or stereo ONLY)...
It accepts, but in fact we have conversion to 16 bit fixed point which results in clipping in some cases
@punkrockdude
I noticed this too. Also when i encode files in iTunes or with iTunesEncode.
It seems that QuickTime auto-scales the volume down to avoid clipping.
ok...i have done some tests...here are the results...
the qtaacenc encoder accepts wav's up to 32float (mono or stereo ONLY)...
if found that is limited (an old apple flaw!!!) to maximum 186 minutes for a 32float@48000hz wav or 279 minutes for a 24bit@48000hz wav and 327 minutes for a 16bit@48000hz wav!!!
the 4gb limit is on apple side of the encoder...i test it using the STDIN input by feeding a +8hrs .ac3 file with 16, 24, 32, 32float bits...
_
OT: @nao considering your expertise in windows iTunes libraries do you think a CLI raw (or full) mp4 muxer can be done? (.h264 + .acc + softsubs [apple style] + chapters [apple style])
something like subler for mac...
http://code.google.com/p/subler/ (http://code.google.com/p/subler/)
_
using iTunes windows libraries instalation...
_
@punkrockdude
I noticed this too. Also when i encode files in iTunes or with iTunesEncode.
It seems that QuickTime auto-scales the volume down to avoid clipping.
If you are right about QuickTime/iTunes behavior, what about ALAC encoding? (for instance, using iTunes Encode for EAC + iTunes full integration)
ALAC never clips.
ALAC never clips.
Thank you lvqcl, I can sleep peacefully with my ALAC encodings
It seems that QuickTime auto-scales the volume down to avoid clipping.
This is quite trivial to test, so why not test it instead of speculating with words like "seems"???
What's wrong with the word "seems"?
None of my QuickTime encoded files has a peak above 1.0 and i don't know if QuickTime auto-scales the volume or if its an issue in the encoder...
But since very low volume files aren't effected by this behaviour, i can only guess that its an autoscaling "feature".
It seems that QuickTime auto-scales the volume down to avoid clipping.
It looks like limiter really. Something like 'advanced limiter' in foobar2000...
It doesn't change input signal if it is less than -0.5 dBFS (approximately!).
I implicitly trust lvqcl, so I won't continue to make an issue out of this except to say one can easily take a loud and likely "clippressed" track that routinely peaks at full-scale, encode and then decode to see if it has a reduction in level.
Maybe it's unrealistic, but I have an expectation that HA members will invest the very short amount of time it takes to test these kinds of things before making statements about what they only think is going on. If this is a matter of having done this in the past and not being certain of the results then I extend my apologies.
I implicitly trust lvqcl, so I won't continue to make an issue out of this except to say one can easily take a loud and likely "clippressed" track that routinely peaks at full-scale, encode and then decode to see if it has a reduction in level.
How do you think did i noticed it?
And why don't trust "seems" but "looks like"?
Am I stamped as a liar somehow?
You're over-reacting. I already said I apologize if you had tested this previously.
The thing is that lvqcl gave the impression that he actually conducted a test whereas you did not.
Quick test:
lame -V 6.248: 126 kbps
lame -V 6.249: 115 kbps
qtaacenc --tvbr 59: 135 kbps
qtaacenc --tvbr 58: 105 kbps
(and qtaacenc --tvbr 58 --samplerate keep: 114 kbps)
I cannot say that 126 is 'much lower' than 135 kbps.
When talking of "much lower" I was thinking of NeroAAC but said mp3 by mistake. The last encoder I used was Nero 1.1.1.3 (I think that's the version before 1.3.3) at ~104 kbps (Q0.25 -LC) and that encoder/setting does not resample to 32 kHz.
Anyway I found a strange behavior with qtaacenc output and iTunes/iPod. Both iTunes and iPod will stop playback at 71.6% through a file. I tested this on three files and they all skipped at different absolute times, but they were each 71.6% of the way through the total time of the file. This behavior does not happen with foobar, but it does both on iTunes 9.0.1.8 and iPod 160 GB version 2.0.2. My command line is --tvbr 59 --highest %s %d.
EDIT: I'm using qtaacenc 20100107. I'll try it with the latest version tomorrow.
It looks like limiter really. Something like 'advanced limiter' in foobar2000...
It doesn't change input signal if it is less than -0.5 dBFS (approximately!).
I did more test and found the following:
1) Target level is 0.95 (i.e. -0.446 dBFS);
2) Lookahed time is ~5 ms;
3) Attack time is ~ 3 ms;
4) Release time is 11.5 sec (and, gain value raises linearly from 0.95 to 1).
Added: the above values are valid for --normal and --high settings. For --fast: target level = 0.925, release time ~ 17.5 sec.
Both iTunes and iPod will stop playback at 71.6% through a file.
Update on this: I really don't know what happened with that particular set of three albums I encoded to produce that strange behavior reported earlier. I deleted those QT AAC files and re-encoded from flac, using the exact same method, encoder, and settings, and the files play normally in both iTunes/iPod without skipping to the next song at 71.6% of the current song.
Hi,
Any comments or questions are accepted in this thread.
Thanks
Maybe a bit off-topic, but would it be possible to add alac 24bit encoding to this tool?
Maybe a bit off-topic, but would it be possible to add alac 24bit encoding to this tool?
Possible but I have no plan to implement the feature in this tool.
I just realized that nao is 'tmkk', the author of XLD! Creator of one of my most used tools.
If you want to support his work, the XLD page (http://tmkk.hp.infoseek.co.jp/xld/index_e.html) has a donation button.
XLD is a nice tool. I have thought about purchasing a Mac Mini just to use Mac OS X, a couple of other programs, and XLD for QuickTime true VBR AAC encoding. Interesting that someone on the Mac OS X side would finally develop a Windows solution.
Is there anymore insight into the issue with QuickTime/foobar2000 scaling the audio? Is it a setting in foobar2000 or was it an issue with QuickTime (can it be disabled)?
The scaling has nothing to do with foobar2000, must be on QuickTime's side.
I tried it with converting a near full-scaled file using CVBR in iTunes and TVBR with qtaacenc (directly from command prompt).
Original WAV file (peak and gain taken from an WavPack encoded from it)
Peak: 0.999908
Gain: -6.61 dB
qtaacenc file (directly encoded from WAV via command prompt, --tvbr 127 --highest)
Peak: 0.968920
Gain: -6.18 dB
iTunes (directly encoded from WAV in iTunes, 320kbps, CVBR)
Peak: 0.969976
Gain: -6.18 dB
Checked with Nero AAC (in foobar2000, Q1.0)
Peak: 1.020406
Gain: -6.60 dB
As you can see, both QT encodings are slightly scaled down.
I would also like to know if this scaling could be disabled...
Lossy compression adds energy due to filtering artifacts. So scaling down is the right thing to do for ridiculously high peaking tracks as 0.999908 db, else there would be clipping. And 0.969976 db shows that Quicktime is scaling down in incredibly sensible fashion. It does nothing at all for tracks that wouldn't clip. I don't understand why it is called an "issue" and why anyone would want to disable it (and get guaranteed clipping at these levels). It's not a bug, it's a feature!
Are these bitrates values correct for qtaacenc?:
Target Quality - True VBR AAC (Powered by QuickTime & CoreAudio):
Q50 - Q58 = ~115 kbps
In the listening test thread, two testers got ~128 kbps for Q58
http://www.hydrogenaudio.org/forums/index....st&p=685645 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=77272&view=findpost&p=685645)
In the listening test thread, two testers got ~128 kbps for Q58
Nope, it was Q59.
Nope, it was Q59.
Oops. I used to be able to read.
In that case, your result of 129kbps is close to wkmax's
Q59 - Q68 = ~135 kbps
I don't understand why it is called an "issue" and why anyone would want to disable it (and get guaranteed clipping at these levels).
Because, I assume, they use Replaygain which, unlike QuickTime's limiter, will prevent clipping without affecting dynamics (though, whether it makes an audible difference...).
Besides, it's not always strong enough to prevent clipping anyway:
(http://img24.imageshack.us/img24/6430/perfumeqtaac.png)
(--tvbr 100 --highest, encoded from FLAC wich has an album gain of -11.36dB)
Because, I assume, they use Replaygain which, unlike QuickTime's limiter, will prevent clipping without affecting dynamics (though, whether it makes an audible difference...).
ReplayGain cannot prevent clipping that has already happened. Or is AAC unclippable if you output to float?
Because, I assume, they use Replaygain which, unlike QuickTime's limiter, will prevent clipping without affecting dynamics (though, whether it makes an audible difference...).
ReplayGain cannot prevent clipping in this case. It can only work with what it's fed. If that is clipped, the data is gone.
We're talking about decoder clipping, right? Replaygain will prevent it (unless it's applied after converting the decoder's output to integer of course).
I didn't think about that. If the energy added by an encoders own filtering doesn't cause overflow, clipping should indeed not happen when decoding to float and then Quicktime's scaling would be unneeded. Does it also scale down if you convert the input to float before feeding it to Quicktime?
Or is AAC unclippable if you output to float?
Yes.
In addition, usually the clipped peaks have an inaudibly short duration. I have not yet seen a successful ABX report or been able to personally ABX such clipping. For a valid test you would need to decode one sample to float and let another sample to clip and after that reduce the volume level of both files an equal amount so that the "float" file will not clip when it is converted to an integer bit depth.
Edit
I was incorrectly speaking about lossless vs lossy instead of two differently decoded versions of a lossy file. Fixed that.
It is possible to multiply input by 0.95 to prevent QT limiter from altering the signal.
Another method: decrease input by 1.505 dB, encode to AAC, then use aacgain to restore volume.
... Besides, it's not always strong enough to prevent clipping anyway...
I too have noticed that.
For instance here are three samples from my archive.
The encoding settings
FLAC: -8
M4A: QT --tvbr 62 --highest
MP4: Nero -q 0.41
MP3: Lame -V5
(http://i224.photobucket.com/albums/dd212/AB2K/tvbrpeaks.png)
It is possible to multiply input by 0.95 to prevent QT limiter from altering the signal.
Yes, though I think QT does not apply limiting, at worst attenuation. And I cannot even reproduce that. afconvert doesn't alter the -0.000001db sinus wave I feed it. The aac is just 0.05 db louder than the input WAV at the end.
I also doubt, that even if there was as much as 1db attenuation involved, that anyone of us could ABX it after ReplayGain had been applied.
BTW, all resulting bitrates in my screenshot are dubiously low for the encoded material - especially for the Merzbow sample, which is from the possibly loudest recorded track ever. It is almost like white noise at 0 dBFS as you may guess by checking the FLAC bitrate.
I would have expected the bitrates to be very high, but perhaps the encoders have some kind of built-in sanity checks and they fall back to using a nominal bitrate when the signal doesn't look like a sound that has normal variation.
Does it also scale down if you convert the input to float before feeding it to Quicktime?
Yes.
I converted the FLACs to 32bit float wav files, then fed those directly to qtaacenc.
Foo_bitcompare couldn't find any difference between the resulting files and the ones converted with foobar.
Could you please upload 30 sec of a file, that gets attenuated, to the upload section? I'm unable to reproduce it.
I also doubt, that even if there was as much as 1db attenuation involved, that anyone of us could ABX it after ReplayGain had been applied.
I am afraid that in the typical Apple style the "feature" is undocumented. For instance, for the public listening test we would need to know exactly in which circumstances the volume level reduction kicks in and also if its amount is constant. If it varies we would need to know how it varies.
A 0.6 dB volume level reduction is too big for a listening test and it must be corrected in a way or another. ABC/HR Java has a built-in normalizer, but because it it only levels the files according to the highest peak level it is useless.
Test file for QT limiter:all (but one) samples are 0.25, one sample equal to -1.0.
[attachment=5711:test.wv]
Encode it to AAC, decode to WAV, multiply by 4 (so that 0.25 became 1.0)
Result:
(http://img97.imageshack.us/img97/8953/qtlimiter01.png)
(http://img97.imageshack.us/img97/8008/qtlimiter02.png)
Could you please upload 30 sec of a file, that gets attenuated, to the upload section? I'm unable to reproduce it.
Any loud sample that peaks @ odBFs should do, but I uploaded the three samples I pictured in the above screenshot:
http://www.hydrogenaudio.org/forums/index....showtopic=78476 (http://www.hydrogenaudio.org/forums/index.php?showtopic=78476)
Alex, I get 0.999969 track peak for the original Merzbow, but 1.946267 for Quicktime. Isn't that supposed to be lower if it attenuation was happening?
But lvcql's file really shows shows lower peaks against both Nero and the original. And it seems to be applied as limiter with a very long release time. I would want to switch that off, at least for comparisons, but there is just no way to do that in afconvert. And since the effect is applied dynamically, it also cannot be removed by post processing. The only workaround would be lvcql's proposal.
Update: Corrected premature conclusions.
Nao could you also give us instruction for a CLI dbpoweramp version of this? thank you so much for all of this and keep up the good work!
Nao could you also give us instruction for a CLI dbpoweramp version of this?
Are there any difficulties? For example:
(http://i46.tinypic.com/8wmh6e.jpg)
Nao could you also give us instruction for a CLI dbpoweramp version of this?
Are there any difficulties? For example:
Just a couple of related questions:
1) Converting mono tracks - is it better to use the "channels" drop-down -> 1 or the channel count DSP? Or something in the command line itself? Or does it not matter?
BTW Using either the drop down or DSP, foobar properties still shows "channels - 2" with mono files, whereas with mono Nero files it shows "channels - 1". Don't know if this is caused by qtaacenc or the QuickTime encoder itself. [dBp properties info is worse - shows channels - 2 with both types of mono AAC files!]
2) For changing sample rates is it better to use the drop-down in the dB CLI encoder or "--samplerate xxx" in the command line? Or doesn't it matter?
Thanks nao.
1) Converting mono tracks - is it better to use the "channels" drop-down -> 1 or the channel count DSP? Or something in the command line itself? Or does it not matter?
Nope.
BTW Using either the drop down or DSP, foobar properties still shows "channels - 2" with mono files, whereas with mono Nero files it shows "channels - 1". Don't know if this is caused by qtaacenc or the QuickTime encoder itself. [dBp properties info is worse - shows channels - 2 with both types of mono AAC files!]
The same thing happens to the files created by iTunes, so it should be caused by QuickTime.
2) For changing sample rates is it better to use the drop-down in the dB CLI encoder or "--samplerate xxx" in the command line? Or doesn't it matter?
If you don't want to use the samplerate converter in QT, use the drop-down. Otherwise use the --samplerate option. I can't say which is better.
thank you nao!it works amazing! Should "highest quality decoded source" be checked? i have tested a bit anyway and i noticed that some songs converted with XLD Q127 MAX have 1 kbps less than Q127 --highest (which is Max),isn't it weird?
thank you nao!it works amazing! Should "highest quality decoded source" be checked? i have tested a bit anyway and i noticed that some songs converted with XLD Q127 MAX have 1 kbps less than Q127 --highest (which is Max),isn't it weird?
Because
maybe qtaacenc uses QuickTime 7.6.5 on Windows OS, instead
XLD uses QuickTime 7.6.3 (QuickTime X) on Mac OS X Snow Leopard and QuickTime 7.6.4 on Mac OS X Leopard.
Regards
sometimes it's 2-3 kbps of difference,anway more or less it's there. Probably you're right wkmax,weird that Apple hasn't updated quicktime also on Snow Leopard and Leopard,i mean if there are any improvements with encoding they should have updated on macintosh as well.
I can confirm that the differences are not due to different container encapsulation. The raw AAC tracks also have different sizes.
Should "highest quality decoded source" be checked?
I don't know what the option is.
isn't it weird?
Well, it is not a good way to check equivalence by bitrate. You should compare the decoded PCM samples. As far as I've tested the decoded samples are not identical, but almost the same. The difference is much smaller than the difference of --highest vs --normal.
Because maybe qtaacenc uses QuickTime 7.6.5 on Windows OS, instead XLD uses QuickTime 7.6.3 (QuickTime X) on Mac OS X Snow Leopard and QuickTime 7.6.4 on Mac OS X Leopard.
I don't think the difference of QT version (7.6.3 vs .4 vs .5) matters. I think the difference mainly comes from some environment dependent stuff (compiler, depending floating-point arithmetic routine, etc.). You know different LAME binaries result in subtle difference, even if they are built from the same source.
I don't think the difference of QT version (7.6.3 vs .4 vs .5) matters. I think the difference mainly comes from some environment dependent stuff (compiler, depending floating-point arithmetic routine, etc.). You know different LAME binaries result in subtle difference, even if they are built from the same source.
Thanks again nao, makes sense
Hello.
I have one question about VBR encoding in QuickTime. I was searching with Google but have not found detailed explanation of Constrained VBR mode.
Is it better or worse than True VBR? . Maybe it gives higher quality than tvbr only at maximum quality settings (--cvbr 320 VS --tvbr 127) but at lower bitrates I can get better quality with true vbr?
There is no technical reason to expect CVBR to be better than TVBR (especially not at high bitrates*). Conceptually TVBR is superior and CVBR is just TVBR with braces. If the TVBR implementation was somehow flawed, it would rather show at lower bitrates (as in the 2010 listening test). The constraint could limit the encoder from dropping too low (but be limited at the same time to scale up where needed).
You'll find explanations of CVBR from Apple's developer documentation, if you use the forum's search function.
In my opinion the sole purpose of the CVBR mode in iTunes is prevention of consumer confusion. They don't want people calling in why their remastered 1940 album comes out at ~90kbit/s when they had chosen 256 kbit/s average. When there's just not that much information to preserve, the TVBR encoder won't hesitate to do it. The CVBR encoder would instead output a higher bitrate and please consumer prejudice (without audible benefit). Consumers are happy, Apple is happy (less support calls): win/win.
* TVBR 127 doesn't drop that low anymore and results in >330kbit/s rates.
Hello.
I have one question about VBR encoding in QuickTime. I was searching with Google but have not found detailed explanation of Constrained VBR mode.
Is it better or worse than True VBR? . Maybe it gives higher quality than tvbr only at maximum quality settings (--cvbr 320 VS --tvbr 127) but at lower bitrates I can get better quality with true vbr?
This link might be useful for you:
developer.apple.com/mac/library/technotes/tn2008/tn2237.html(particularly
"encoding properties in detail" section)
Regards
rpp3po, wkmax, thank you!
Another question: why QT AAC Encoder does not allow to encode at high bitrates (>320 kbps) in CBR mode while in VBR mode it supports frames up to 500 kbps o.0
It's impolite to answer with a counter question, but why should it? It makes sense for VBR in case it encounters super complex passages, but why would one want to force an encoder to such high rates? I even question the sanity of forcing a modern implementation as QT or Nero to not drop below 320 kbit/s.
I understand what are you talking about, but I know some people who do not trust the algorithms of choosing bitrates for each frame (complexity detecting algorithms maybe), especially in True VBR mode... And they are not sure of VBR mode safety. And I think that CBR mode with high bitrates will be the safest for the quality despite the fact that it is waste of file size
(sorry for my very bad English)
IMHO it is a developer's responsibility to expose reasonable settings for his product, and that does not extend to satisfying feelings as unfounded paranoia. Exposing insane bitrate settings may raise the impression that there might actually be a need for them. If you can present a sample, that would prove otherwise, feel free to share it. People who cannot get over their distrust against lossy compression should go for lossless, anyway, because even extreme bitrates cannot guarantee transparency for 100% of music.
PS BTW, the complexity of the TVBR encoder is actually lower than that of CVBR, ABR, and CBR. What you call "complexity detection" is required for all stages, but the latter must calculate a trade-off against additional constraints.
Thanks for your answers, it's all as I expected
best regards
Important update
Though I said HE-AAC encoder was not available in the Windows version of QT, I've found a way to access the HE-AAC encoder. So, now the latest version has an ability to create HE-AAC files.
--he option enables the HE-AAC encoder. Note that the true vbr mode is not available in this encoder.
Enjoy!
Cool! Thank you.
And does QuickTime have Parametric Stereo technology support ?
No. HE-AAC v1 only.
Thank you very much .
Is there any "hardcoded" bitrate limit the HE-profile can be used with?
The limit cahnges according to the samplerate and the number of channel. For example, 80kbps for 44.1kHz, stereo input.
Thanks, i tried it now.
Setting the bitrate higher than 80kbps encodes at 80kbps.
Important update
Though I said HE-AAC encoder was not available in the Windows version of QT, I've found a way to access the HE-AAC encoder. So, now the latest version has an ability to create HE-AAC files.
--he option enables the HE-AAC encoder. Note that the true vbr mode is not available in this encoder.
Enjoy!
Excellent!!!, works fine.
Thanks again nao
Another questions:
What about 32-bit floating-point input support?
And is it possible to realize two-pass encoding in QuickTime?
32-bit fp input is already supported. 2-pass encoding is not possible for AAC.
It is, Nero supports it. But its kind of senseless. During the good old divx times it made sense to use 2-pass to exactly squeeze a video onto 2 x 700 MB CDRs. 2-pass was the perfect tool, to use up all available storage space up to the last MB. But for AAC it's basically completely senseless.
It is, Nero supports it.
I should have said "not possible
in QuickTime" to be correct.
32-bit fp input is already supported.
This is great! Big thank you!
@nao how do you explain this?
using qtaacenc-20100212 on a 121 minutes 6ch wav i get 538,097,995 bytes and using qtaacenc-20100218 with the same settings a get 558,822,574 bytes!
encoding line:
bepipe --script "import(^rawav.avs^)" | qtaacenc-20100212 --ignorelength --samplerate keep --highest --tvbr 127 - audio.6ch.q127.qtaacenc-20100212.m4a
result:
538,097,995 bytes
General
Complete name : audio.6ch.q127.qtaacenc-20100212.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 513 MiB
Duration : 2h 1mn
Overall bit rate : 589 Kbps
Encoded date : UTC 2010-02-18 19:10:27
Tagged date : UTC 2010-02-18 19:11:02
Writing application : qtaacenc 20100212, QuickTime 7.6.5
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 2h 1mn
Bit rate mode : Variable
Bit rate : 576 Kbps
Maximum bit rate : 847 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 511 MiB (100%)
Language : English
Encoded date : UTC 2010-02-18 19:10:19
Tagged date : UTC 2010-02-18 19:11:02
encoding line:
bepipe --script "import(^rawav.avs^)" | qtaacenc-20100218 --ignorelength --samplerate keep --highest --tvbr 127 - audio.6ch.q127.qtaacenc-20100218.m4a
result:
558,822,574 bytes
General
Complete name : audio.6ch.q127.qtaacenc-20100218.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 533 MiB
Duration : 2h 1mn
Overall bit rate : 612 Kbps
Encoded date : UTC 2010-02-18 18:35:26
Tagged date : UTC 2010-02-18 18:36:02
Writing application : qtaacenc 20100218, QuickTime 7.6.5
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 2h 1mn
Bit rate mode : Variable
Bit rate : 609 Kbps
Maximum bit rate : 962 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 531 MiB (100%)
Language : English
Encoded date : UTC 2010-02-18 18:35:18
Tagged date : UTC 2010-02-18 18:36:02
best regards
_
@nao how do you explain this?
Probably the input file has no channel order info (dwChannelMask in WAVEFORMATEXTENSIBLE). The default order was C L R LFE Ls Rs in the version 20100212, but I changed it to L R C LFE Ls Rs in the version 20100217.
wrong channel order...you should add to the log file that you fix this!...what is the max rate for multichannel audio?...it has real mutichannel support (2.1, 4.0 etc) or 5.1 ONLY?
_
If your source file doesn't include any channel mapping information, there is no such thing as a wrong channel order after conversion. For cases where this information is missing, there is a default ordering proposed (http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/multichaudP.pdf) by Microsoft, 20100217 uses exactly that.
what is the max rate for multichannel audio?...it has real mutichannel support (2.1, 4.0 etc) or 5.1 ONLY?
Maximum supported samplerate is 48kHz. Supported multichannel formats are:
- LC-AAC
- Quadraphonic (L R Ls Rs)
- 4.0ch (L R C Cs)
- 5.0ch (L R C Ls Rs)
- 5.1ch (L R C LFE Ls Rs)
- 6.0ch (L R C Ls Rs Cs)
- 6.1ch (L R C LFE Ls Rs Cs)
- 7.0ch (L R C Ls Rs Rls Rrs)
- 7.1ch (L R C LFE Ls Rs Lc Rc)
- HE-AAC
- Quadraphonic (L R Ls Rs)
- 5.1ch (L R C LFE Ls Rs)
- 7.1ch (L R C LFE Ls Rs Lc Rc)
The result in case the channel order info is missing may be inconsistent.
what about max bitrate for multichannel audio?
_
I forgot to mention, but 8.0ch is also supported. The bitrate limits (@48kHz) are:
- LC-AAC
- Quadraphonic : 640 kbps
- 4.0ch : 640 kbps
- 5.0ch : 768 kbps
- 5.1ch : 768 kbps
- 6.0ch : 960 kbps
- 6.1ch : 960 kbps
- 7.0ch : 960 kbps
- 7.1ch : 960 kbps
- 8.0ch (L R C Ls Rs Cs Rls Rrs) : 1280 kbps
- HE-AAC
- Quadraphonic : 160 kbps
- 5.1ch : 192 kbps
- 7.1ch : 256 kbps
The actual limit changes according to the input samplerate.
QT AAC Enc 20100220:
Encoding of 22050 Hz sources with parameters: --tvbr 50 --highest --quiet - %d
results in 44100 file
Using of --samplerate keep or --samplerate 22050 switches gives no effect
Not a bug. See this post (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=682842).
Many players including foobar misrecognize low samplelate LC-AAC files as HE-AAC. This seems to happen with AAC files without explicit SBR signaling information (written in decoder specific descriptor in esds atom).
Thanks
I've just found this tag in m4a track properties (foobar2000):
<ENCODING PARAMS> : vers
What does it mean? Why does there is no full info about encoder/parameters in this field?
Encoder/bitrate info tag for iTunes. Probably foobar cannot read it.
... Besides, it's not always strong enough to prevent clipping anyway...
I too have noticed that.
For instance here are three samples from my archive.
The encoding settings
FLAC: -8
M4A: QT --tvbr 62 --highest
MP4: Nero -q 0.41
MP3: Lame -V5
(http://i224.photobucket.com/albums/dd212/AB2K/tvbrpeaks.png)
Not knocking Merzbow or anything but isn't saying "Merzbow clips" like saying "the sun is warm"?
Is there a way to have the foobar command line encoder embed the full size album art (if it exists in the file being converted) just like XLD does?
Whenever I attempt to use qtaacenc in foobar2000 on tracks which have non-english filenames, I seem to be getting an error. Tracks appear to convert fine with all other tracks though. Does anyone have any ideas as to what the cause could be?
(http://bayimg.com/image/iakjoaaco.jpg)
My settings in foobar are as follows:
--tvbr 68 --normal - %d
Could someone give me an example of proper usage of --track number[/total] and --disc number[/total]?
I'm having a problem with qtaacenc that I haven't discovered the cause of. With long title tags (>130 chars or so), or perhaps long pathnames, it drops ALL tags although it encodes the filename correctly. Has anyone encountered a problem of tags not being written by qtaacenc? (The max length for a non-lyrics tag in itunes should be 255 chars).
The outfilename is being passed as unicode. the infile is -
Some more information on the bug mentioned in the last post:
There are two error messages I can recreate using almost the same parameters.
1. First error:
"QTNewDataReferenceFromFullPathCFString error: output file path is invalid"
This occurs using the most common path syntax in windows for the outfile
(Note: line wraps here but should be all one line for the command prompt):
qtaacenc --highest --tvbr 100 --title "Le nozze di Figaro, K. 492: Act IV, Scene X. No. 28 Aria 'Giunse al
fin il momento' (Cherubino, La Contessa, Il Conte, Susanna, Figaro)" --album "Fa
mous Arias, Volume 2: Der Schauspieldirektor - The Marriage of Figaro - The Magi
c Flute" --artist "Mozart" --albumartist "Mozart" --genre "Classical" --compos
er "Mozart" --comment "cdyr:1992;" test.wav "C:\Users\usr\MusicToFile\Mozart\Fa
mous Arias, Volume 2; Der Schauspieldirektor - The Marriage of Figaro - The Magi
c Flute~050F2D12\LongTestX09~Le nozze di Figaro, K. 492; Act III, Scene VIII. No
. 20 Recitativo 'E Susanna non vien!' (La Contessa) - No. 20 Aria 'Dov.m4a"
2. Second error:
"ConvertMovieToDataRef error: cannot convert the input file"
This occurs using the special windows syntax to create super long pathnames.
(The pathname gets prefixed by \\?\ )
qtaacenc --highest --tvbr 100 --title "Le nozze di Figaro, K. 492: Act IV, Scene X. No. 28 Aria 'Giunse al
fin il momento' (Cherubino, La Contessa, Il Conte, Susanna, Figaro)" --album "Fa
mous Arias, Volume 2: Der Schauspieldirektor - The Marriage of Figaro - The Magi
c Flute" --artist "Mozart" --albumartist "Mozart" --genre "Classical" --compos
er "Mozart" --comment "cdyr:1992;" test.wav "\\?\C:\Users\usr\MusicToFile\Mozar (http://file://?C:UsersusrMusicToFileMozar)
t\Famous Arias, Volume 2; Der Schauspieldirektor - The Marriage of Figaro - The
Magic Flute~050F2D12\LongTestX09~Le nozze di Figaro, K. 492; Act III, Scene VIII
. No. 20 Recitativo 'E Susanna non vien!' (La Contessa) - No. 20 Aria 'Dov.m4a"
3. Using the dbpoweramp command line encoder to drive qtaacenc, and using "-" as the input and the long (unicode) filename option for the output, the m4a file does get created, but without any tags as stated in my preceding post. I can't see what commandline dbpoweramp is creating, so not much help, but I do know all the appropriate switches are passed.
None of these issues occur with very short pathnames. This is on windows 7 x64.
I'm having a problem with qtaacenc that I haven't discovered the cause of. With long title tags (>130 chars or so), or perhaps long pathnames, it drops ALL tags although it encodes the filename correctly. Has anyone encountered a problem of tags not being written by qtaacenc? (The max length for a non-lyrics tag in itunes should be 255 chars).
The outfilename is being passed as unicode. the infile is -
Is there a way to have the foobar command line encoder embed the full size album art (if it exists in the file being converted) just like XLD does?
If you export to an external jpg, you can add a call to neroaactag.exe to add it to the m4a file.
1) The length of the input/output path should be less than MAX_PATH (260 characters).
2) I don't know well about the special syntax, but at least it cannot be used with qtaacenc.
3) No clue. qtaacenc always handles command-line arguments as unicode.
the length bug is due to Quicktime apparently,the same happens to me if I rip a song in iTunes and has a long title,it gets cut. I sent a few emails about it to Apple iTunes Feedback but with no luck and it looks like it's by design. Anyway if you use Dbpoweramp through CLI encoder and let dbpoweramp write the tags,the problem doesn't seem to happen.
@Larson,
Thank you. btw, it's not that the title gets cut, which is true whenever you use a longish quicktime aac tag (255 char length is the max in the spec, except for lyrics tag) but that NONE of the tags get applied with qtAacEnc, short or long, whenever the path to the file gets "too long" (unlike neroAacEnc). That's when it can encode the file at all.
But I'll use dbpoweramp to apply the tags, and neroaactag.exe for any special custom/dynamic tagging at encode time. that should give me enough space on the commandline to avoid the qtAacEnc/quicktime issue, so your suggestion is a good workaround. (and qtaacenc also seems to work better from stdin, without the infile.) I'll post again if I run into problems with that.
(I did just discover that neroaactag.exe does not like semicolons in the comment tag field.)
@nao,
it's not special syntax--just the windows spec for going beyond dos limits in pathnames (I believe doesn't require special support using the standard apis). windows nt & later is not limited to MAX_PATH, only dos is (maybe win95 i haven't checked). However, could it be a bug in quicktime? neroaacenc does not have this bug, as far as I can see.
Also, note that the command line limit in windows xp and later is NOT MAX_PATH but actually 8191 characters.
the length bug is due to Quicktime apparently,the same happens to me if I rip a song in iTunes and has a long title,it gets cut. I sent a few emails about it to Apple iTunes Feedback but with no luck and it looks like it's by design. Anyway if you use Dbpoweramp through CLI encoder and let dbpoweramp write the tags,the problem doesn't seem to happen.
1) The length of the input/output path should be less than MAX_PATH (260 characters).
2) I don't know well about the special syntax, but at least it cannot be used with qtaacenc.
3) No clue. qtaacenc always handles command-line arguments as unicode.
Can I in EAC use the following command line:
--tvbr 75 --highest %s %d --artist "%a" --title "%t" --album "%g" --date "%y" --genre "%m" --track "%n"?
I'm interested because of the --track — should I used the "%n" or something else?
Same question for disc number.
Thank you!
Hello! QuickTime 7.6.6 is now released. I wonder what changes it contains, and how they can affect the using of qtaacenc?
As far as I've tested, it works fine with QT 7.6.6.
Does this update contain some improvements?
Does this update contain some improvements?
I saw none from 7.6.5 at the setting I was using (q127), but others report some from 7.6.5 at q100, and I guess later reports will clarify this as upgrades continue.
The end of this thread has some discussion of that:
http://www.hydrogenaudio.org/forums/index....65&start=65 (http://www.hydrogenaudio.org/forums/index.php?showtopic=74381&st=65&start=65)
It's worth noting that itunes has some significant improvements:
http://www.pcmag.com/article2/0,2817,2362136,00.asp (http://www.pcmag.com/article2/0,2817,2362136,00.asp)
including:
The update also offers a setting that enables automatic conversion to 128 kbit/s AAC when songs are transferred to iPods or iPhones.
It looks like I've found something interesting.
With QuickTime 7.6.6 I see that --samplerate keep (force original 44.1 kHz samplerate) switch completely disables lowpass filter for --tvbr 50, 40, 30 . Otherwise, without this key, audio data will be downsampled to 32 kHz.
I also can say that disabling lowpass filter on low bitrates really hurts the sound quality
and something else: as I hear (ABX log needed?) that bult-in resampler introduces some artifacts (or noise), it might be useful to re-enable lowpass filter for tvbr 30-50 + samplerate keep. Nao, is it possible from qtaacenc's side? Otherwise we can use 3rd-party resampler (e.g. SoX resampler foobar2000 DSP) to resample (output sample rate - 32000 Hz) stream before it will be encoded by qtaacenc
and something else: as I hear (ABX log needed?) that bult-in resampler introduces some artifacts (or noise)
Can you upload a sample file where this effect is noticeable?
Nao, is it possible from qtaacenc's side?
Unfortunately no.
Can you upload a sample file where this effect is noticeable?
Yes, of course.
tyDi-Meet_Me_in_Kyoto_sample.flac (http://audiophilesoft.ucoz.ua/misc/tyDi-Meet_Me_in_Kyoto_sample.flac)
Compare:
(foobar2000)
qtaacenc --tvbr 30 --highest --quiet - %d
and
qtaacenc --tvbr 30 --highest --quiet - %d + SoX DSP (32000 Hz, Q: Very High, passband 99, allow aliasing - no, linear)
In first case I clearly hear noise at about 12 kHz. It can also be seen on the spectrogram.
Another finding:
Seems like QuickTime doesn't apply compressing (maybe some limiter, see previous posts in this topic) now for tracks with high peaks (at about 1.000000, and higher, with floating-point PCM).
I tried it with one track that has peak at 1.000000 with +10 dB gain, and I've got no audible compression (which occurred with QuickTime 7.6.5)
Could someone test it??
Ok, I tried it again on test sample:
1. Generating (bit depth - 32 bit IEEE float, samplerate - 44.1 kHz) set of 1 kHz tones - -12 dBFS, -6 dBFS, 0 dbFS - in Sony SoundForge
2. Encoding with qtaacenc --tvbr 127 --high +6dB Gain in foobar2000
3. Decoding to 32-bit float (using foobar2000)
4. Analyzing peaks in SoundForge
Results:
What I've got for three tones is (+/- 0.1 dB):
-6 dBFS (-12+6, ok), 0 dBFS (-6+6, ok), 0 dB (?)
So, as we can see, the volume of third tone was reduced, and limiter in QuickTime is still enabled.
I must assure you that no clipping occurred, all encoding/decoding was performed using floating-point samples only And output audio file sounds like normal 1 kHz tones
Hello! QuickTime 7.6.6 is now released. I wonder what changes it contains, and how they can affect the using of qtaacenc?
I just tried qtaacenc with the new Quicktime and the files are substantially bigger/higher bitrate
Using this command line: --tvbr 50 --highest --samplerate keep - %d (which I use for mobile) in Foobar
7.6.5/7.6.6 Bitrate comparison (7 tracks from Gary Numan Telekon from flac source)
1. 121/131
2. 106/115
3. 120/128
4. 119/131
5. 110/114
6. 107/113
7. 120/130
etc (the remaining 9 tracks follow the same trend)
The bitrate difference is random, but there is quite a difference in bitrate. I wonder if the 'tvbr' ranges have changed in this version.
Maybe this bitrate variation is due to bug of lowpass.
You guys are confusing me. What exactly do you mean by lowpass? That the encoder downsamples to 32 kHz?
Chris
TWIMC: foo_dsp_lowpass (http://www.hydrogenaudio.org/forums/index.php?showtopic=80139)
You guys are confusing me. What exactly do you mean by lowpass? That the encoder downsamples to 32 kHz?
Chris
Not downsampling but this http://www.hydrogenaudio.org/forums/index....st&p=698610 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=74381&view=findpost&p=698610)
TWIMC: foo_dsp_lowpass (http://www.hydrogenaudio.org/forums/index.php?showtopic=80139)
Great! Thank you so much
I have this problem, no one can help me?
This is the result in foobar2000:
1 out of 1 tracks converted with major problems.
Source: "F:\Audio - Video\Foobar\Ghost.wav"
An error occurred while writing to file (The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters) : "F:\Audio - Video\Foobar\Ghost.m4a"
Additional information:
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "D:\Program Files (x86)\qtaacenc-20100307\qtaacenc.exe" --tvbr 100 --highest - "Ghost.m4a"
Working folder: F:\Audio - Video\Foobar\
Conversion failed: The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters
Edit: now work
I browsed whole thread and it seems strange that no one got this problem:
I installed latest QT and tried foobar converter, which produced an error
Then going on command line qtaacenc throws error about missing "qtcf.dll"
File is located QTSystem folder and needs to be copied in system32 (at least in my case)
Thanks for --he switch
I was really surprised when I found this:
http://sites.google.com/site/qaacpage/home (http://sites.google.com/site/qaacpage/home)
qaac is a command line AAC/ALAC encoder using QuickTime API, strongly influenced by http://tmkk.hp.infoseek.co.jp/qtaacenc/ (http://tmkk.hp.infoseek.co.jp/qtaacenc/)
nao, is it your project too?
Oh wonderful, i'm trying it now with FB2K for ALAC encodings and works perfectly, so i can avoid using ffmpeg.
What parameters are you using in foobar with qaac to output ALAC? I can't figure it out.
Parameters for ALAC encoding (for qaac.exe in foobar2000):
-A -s - -o %d
(http://audiophilesoft.ucoz.ua/commandline/qaac/qaac.png)
what about dbpoweramp setting? I tried this one but it didn't work,neither with - [outfile] at the end.
I was really surprised when I found this:
http://sites.google.com/site/qaacpage/home (http://sites.google.com/site/qaacpage/home)
qaac is a command line AAC/ALAC encoder using QuickTime API, strongly influenced by http://tmkk.hp.infoseek.co.jp/qtaacenc/ (http://tmkk.hp.infoseek.co.jp/qtaacenc/)
nao, is it your project too?
What's the difference between the 2 versions? Why should I use one over the other?
input file formats, output file formats, multiple input files... so if you use foobar and want AAC, this thread's encoder is for you
I was really surprised when I found this:
http://sites.google.com/site/qaacpage/home (http://sites.google.com/site/qaacpage/home)
qaac is a command line AAC/ALAC encoder using QuickTime API, strongly influenced by http://tmkk.hp.infoseek.co.jp/qtaacenc/ (http://tmkk.hp.infoseek.co.jp/qtaacenc/)
nao, is it your project too?
How does one use this one? Same as Nao's?
This is really a wonderful tool, nao. Thank you for doing this.
But can someone give me a command line to use this with EAC? I can't for the life of me seem to get it to work. If I use the same command line I use in Foobar, the QT encoder opens in a window, but nothing happens. If I try the command line that another poster in this thread asked about (--tvbr 256 --highest %s %d --artist "%a" --title "%t" --album "%g" --date "%y" --genre "%m" --track "%n"), it does create a file, but I can't play it. It's like the file is corrupt or something.
Make sure that "Add ID3 tag" option is unchecked.
I've tried many things with dbpoweramp but i can't get qaac to work,with any command like which works under foobar. I also made sure to check the command settings:
Usage: qaac [options] infiles....
"-" as infile means stdin.
Main options:
-d <dirname> Output directory, default is cwd
-a, --abr <bitrate> AAC ABR mode / bitrate
-V, --tvbr <n> AAC True VBR mode / quality [0-127]
-v, --cvbr <bitrate> AAC Constrained VBR mode / bitrate
-c, --cbr <bitrate> AAC CBR mode / bitrate
--he HE AAC mode (Can't use TVBR)
-A, --alac ALAC encoding mode
-q, --quality <n> AAC encoding Quality [0-2]
-r, --rate <option> Sample rate option (AAC only)
Specify one of the followings:
keep: Try to preserve the original rate
auto: Let QuickTime choose the optimal one
<number>: Literal rate in Hz
-s, --silent Don't be verbose
-R, --raw Raw PCM input
-S, --stat Save bitrate statistics into file
Options for single input mode only:
-o <filename> Output filename
Options for Raw PCM input only:
--raw-channels <n> Number of channels, default 2
--raw-rate <n> Sample rate, default 44100
--raw-format <str> Sample format, default S16L
Sample format spec:
1st char: S(igned) | U(nsigned) | F(loat)
2nd part: Bitwidth
Last part: L(ittle Endian) | B(ig Endian)
Cases are ignored. u8b is OK.
Tagging options(single input only):
--title <string>
--artist <string>
--band <string>
--album <string>
--grouping <string>
--composer <string>
--comment <string>
--genre <string>
--date <string>
--track <number[/total]>
--disk <number[/total]>
--compilation
also which is the setting for faster,fast normal high and highest? -q 0/2 what does actually do? sorry for all of these questions
Well, qaac is not my project. Please discuss it in the other thread...
Make sure that "Add ID3 tag" option is unchecked.
Ah! That works. Thanks.
@nau can you add aac (mpeg4 adts) output to stdout?
_
Well, qaac is not my project. Please discuss it in the other thread...
you're right sorry nao i didn't mean to put your project behind; i personally appreciate your job more as you gave us a lot of support.
(i know it's off topic but with lastest XLD version i encounter a bug or what? example "1-04 X.flac becomes when converted 04 X.m4a and so on,it skips the compilation from the title thus getting file names with multiple cds disorganized; before it kept the structure normally, maybe i'm getting wrong something. Sorry for going out of theme but I didn't know where to post this)
(i know it's off topic but with lastest XLD version i encounter a bug or what? example "1-04 X.flac becomes when converted 04 X.m4a and so on,it skips the compilation from the title thus getting file names with multiple cds disorganized; before it kept the structure normally, maybe i'm getting wrong something. Sorry for going out of theme but I didn't know where to post this)
Send me a PM (or directly email me). It seems your PM is disabled...
2010/7/25
* Added encoder configuration info to the tool metadata
new version...
_
Can qtaacenc encode to Apple Lossless using quicktime engine too?
No, but qaac can: http://sites.google.com/site/qaacpage/ (http://sites.google.com/site/qaacpage/)
EDIT
If you want to discuss about it, please respect nao's wish:
Well, qaac is not my project. Please discuss it in the other thread...
Yes i know about qaac but honestly i don't care about that, i have even some problems. I care about qtaacenc since nao is so kind to give us support ect =)
Nao I wanted to ask you if you plan to add alac encoding to qtaacenc in the future.
@nao
It seems that this cmd-line encoder can't support the path with the unicode U+FF62 included, which is a HALFWIDTH LEFT CORNER BRACKET.
Would you like to fix this issue?
No problem on my machine.
I tried to check if any updates are available, but the site didn't exist anymore.
From: http://tmkk.hp.infoseek.co.jp/qtaacenc/ (http://tmkk.hp.infoseek.co.jp/qtaacenc/)
インフォシークからのお知らせ
「iswebライト」は2010年10月31日をもってサービス提供を終了いたしました。
長年ご愛顧いただきありがとうございました。
Google Translate:
News from Infoseek
"Isweb Light" is the service ended on 31 October 2010.
Thank you for your patronage for many years.
If Google translated it correctly the hosting service has ended.
Web page was moved to http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/)
Thanks!
Could a moderator fix the link in the first post in this thread?
No problem on my machine.
Strange.
If I name a directory as "?? ", the converter will not finish encoding the music file in this directory, instead of reminding me the following msg in console.
...An error occurred while finalizing the encoding process (Object not found) ...
But the FULLWIDTH CORNER BRACKET "?? " works fine.
My os: Win7 32-bit 7600 Ultimate English
fb2k ver: 1.1.1
qtaacenc ver: 1.2.2.4
qt-lite ver: 7.6.6
Does it work if you encode the file directly in a cmd prompt without using foobar?
Does it work if you encode the file directly in a cmd prompt without using foobar?
It can't work.
Error: input file does not exist.
Then it seems to be a locale-specific issue. qtaacenc shows the error when the path in argv is not found with GetFileAttributes API, so maybe there is something wrong with the user codepage <-> Unicode routine in OS when handling the character.
Then it seems to be a locale-specific issue. qtaacenc shows the error when the path in argv is not found with GetFileAttributes API, so maybe there is something wrong with the user codepage <-> Unicode routine in OS when handling the character.
No way to get it resolved except to change the path name?
But LAME works fine with the chars in path.
If I could reproduce the problem on my machine I'd like to fix it. But at this moment, no clue.
LAME isn't a unicode-based app, so it is a different case.
Would it be possible to have qtaacenc work without having to use full paths to source and destination files? If I already have cd'd to a certain directory on a certain drive, it would be nice to use paths like f:source.wav f:source.m4a instead of writing the full path for both files.
qtaacenc accepts both absolute and relative paths.
qtaacenc accepts both absolute and relative paths.
Relative paths didn't work for me, qtaacenc complains about the file not being found. I cannot post the exact error message right now as I'm at work.
If I could reproduce the problem on my machine I'd like to fix it. But at this moment, no clue.
The problem is fixed in the latest update. It happened because of a locale-specific behavior of QuickTime.
nao qtaacenc has a problem with 24 bit material, even if you do for example cvbr 256, the encoding doesn't give the results it should give but it does have a lot lower bitrate than that. The same thing happens with true vbr; no problem with XLD on Mac, so it is qtaacenc related.
Please upload the problematic sample. As far as I've tested there is no problem with 24-bit files.
It happens with 88.1 and 96 khz 24 bit files; no problem at all with 44,1 and 48khz/ 24 bit ones.
EDIT: here it is a 96/24 sample, i've taken one peace of the whole song just to let you try the conversion and see the problem. I'm using --cvbr 256 --highest - [outfile] command on dbpoweramp with latest version of qtaacenc and I get a file with a bit rate around 130 kbps; if I do the conversion with XLD it is how it's supposed to.
http: //www.mediafire.com/?4wg45e8oawv4lu [when you copy and paste the link make sure you take off the space between : and /, please mods don't delete the link it's just a sample testing for nao]
2010/11/15
Fixed a problem that caused an error when a current directory path contained invalid characters for the default character set
Gah, in this case QT changes the current directory path without any notice.
@nao
Thanks for your GREAT WORK, it works fine now!
But could you explain how did you re-produce the issue & solve it?
It happens with 88.1 and 96 khz 24 bit files; no problem at all with 44,1 and 48khz/ 24 bit ones.
Fixed in the latest update. Actually the cause was a samplerate; not a bit depth.
But could you explain how did you re-produce the issue & solve it?
There was a guy who told me how to reproduce the problem on my Japanese environment.
Thank you very much nao it works fine now, as you have already mentioned!
qtaacenc accepts both absolute and relative paths.
Relative paths didn't work for me, qtaacenc complains about the file not being found. I cannot post the exact error message right now as I'm at work.
Still doesn't work with the latest version.
The exact error message is "QTNewDataReferenceFromFullPathCFString error: input file path is invalid".
Well, please explain how to reproduce the problem.
Well, please explain how to reproduce the problem.
I have the source file at "F:\Temp\Captures" and I wish to have the AAC file in the same directory.
In MS-DOS prompt, change to F:, then cd temp\captures.
Change to QTAACEnc directory (in my case it's C:\Utils\QTAACEnc), then enter the command line qtaacenc --tvbr 69 --highest --samplerate keep f:hammer_2x01_audio.wav f:hammer_2x01_audio.m4a.
Hope this helps.
Just changing
qtaacenc --tvbr 69 --highest --samplerate keep f:hammer_2x01_audio.wav f:hammer_2x01_audio.m4a
to
qtaacenc --tvbr 69 --highest --samplerate keep hammer_2x01_audio.wav hammer_2x01_audio.m4a
will work.
That will only work if I launch the command in the source (and destination) file directory and qtaacenc.exe is in PATH. It won't help if I have the source and destination on different drives.
It won't help if I have the source and destination on different drives.
What? Please show me the example. In that case of course either of them should be passed as an absolute path, I think.
It won't help if I have the source and destination on different drives.
What? Please show me the example. In that case of course either of them should be passed as an absolute path, I think.
For example qtaacenc --tvbr 69 --highest --samplerate keep e:source.wav f:destination.m4a , now I have to enter absolute paths for both files to make it work. I often have source files in one folder on one drive and put the encodes into a different folder on a different drive to mux later to MKV once the video encoding is done.
It's all quite basic MS-DOS prompt stuff that I do..I recall that eac3to also had this same issue way back when.
Hm, OK. Fixed in the latest update. Actually I didn't know such usage (drive letter stuff) of relative paths...
Hi nao,
looks like your hosting service cancelled its service and I can't download your program! Or, is there another place for me to download it?
thanks in advance!
http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/)
new site
thanks Larson!
So I got most of the stuff working... but I have a couple of questions to the more knowledgeable people out there:
--tvbr 100 --highest --samplerate auto --title %title% --artist %artist% --album %album% --genre %genre% --date %date% --composer
%composer% --track %tracknumber%/%totaltracks% --disc %discnumber%/%totaldiscs% - %d
This is what I'm trying to use as my parameters. As you can see I'm trying to include some less-encountered parameters in foobar2000 such as total tracks and total discs. Everytime I try to run the conversion via foobar2000 it returns with an error code 0 0x00000000 and tell me to re-check my parameters. So, it looks like i'm using the wrong formatting for the totaldiscs and totaltracks... can anybody point me towards the right direction here?
EDIT: I just realized that you don't have to do any parameters with foobar and pipelining. Big fail for me. Please disregard everything I said above.
Also, i'm trying to convert some 24/96 FLACs using qtaacenc, but is it better to set the max bit depth supported (under foobar custom encoder settings) to 16 bit instead of 24 bit because I heard that foobar does a better job with the dithering process (i'm not sure what exactly it does) compared to quicktime, and the resulting aac files will always be in 16 bits anyways. Any thoughts on that would be appreciated.
http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/)
new site
This was discussed in this thread a couple of weeks ago.
I guess none of the moderators/admins noticed my request:
Could a moderator fix the link in the first post of this thread?
... please.
EDIT
It's fixed now. Thanks!
Hm, OK. Fixed in the latest update. Actually I didn't know such usage (drive letter stuff) of relative paths...
Thank you, this one works now
I am getting output files WITHOUT music, just NOISE, like static noise. No errors, nothing, conversion went just fine
Using foobar with settings from homepage, XP, latest QT.
And it worked about a year ago, when this tool was just released and I tested it :\
nice tool,get it!!!!!
Does the Apple SDK allow you to output in any other formats? I'm interested in using this for streaming.
qtaacenc used to work fine for me. before today, the last time i used it was 10/9/2010.
i can't get it to work anymore more though (in dbpoweramp, foobar or via the command line).
i have
qtaacence.exe and the file
selfmachine.wav in the root of my
E:\ drive. When trying to convert via the commandline with the following syntax:
qtaacenc --tvbr 127 --highest selfmachine.wav
i receive the following error:
CONVERTMovieToDataRef error: cannot convert the input file
oddly, qtaacenc also creates a
0 byte file named
selfmachine.m4a in the root of my
D:\ drive.
Could latest updates to Win7 x64 have broken something?
This is on Windows 7 Ultimate x64 with all latest updates.
Have tried Quicktime v7.6.9, v7.6.8 and v7.6.5
Have tried qtaacenc v20101119 and v20100212
VC 2008 runtime installed
I browsed whole thread and it seems strange that no one got this problem:
I installed latest QT and tried foobar converter, which produced an error
Then going on command line qtaacenc throws error about missing "qtcf.dll"
File is located QTSystem folder and needs to be copied in system32 (at least in my case)
Thanks for --he switch
i just uninstalled/reinstalled itunes/qt. now using qt v7.6.9. i also just got the
qtcf.dll error (even though i've been using qtaacenc for about a year and never had it before) using the commandline.
on win7 x64, you need to place
qtcf.dll in
SysWOW64.
ok, so the problem 2 posts above seems to be with
qtaacenc.exe rather than quicktime.
the other program,
qaac.exe works correctly with dbpoweramp with the following settings:
--tvbr 127 -o [outfile] -
would be great if
qtaacenc.exe could be fixed though as i suppose i'm partial to it considering that it came first and the support is better...
Thank you so much for this programme.
I'm trying to transcode flac -> m4a for my Nano. I'm using this command line in Foobar:
(http://i384.photobucket.com/albums/oo290/sugargenius/screenshots/qtaacenc_fb2k_encoder.jpg)
I get this error when I run the conversion:
1 out of 1 tracks converted with major problems.
Source: "P:\Cream\Wheels Of Fire (Remastered)- In The Studio (Disc 1)\Cream - Wheels Of Fire (Remastered)- In The Studio (Disc 1) - 08 - Born Under A Bad Sign.flac"
An error occurred while writing to file (The encoder has terminated prematurely with code 0; please re-check parameters) : "E:\nano\Cream\Wheels Of Fire (Remastered)- In The Studio (Disc 1)\Cream - Wheels Of Fire (Remastered)- In The Studio (Disc 1) - 08 - Born Under A Bad Sign.m4a"
Additional information:
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "C:\WINDOWS\system32\qtaacenc.exe" --tvbr 60 --highest - "Cream - Wheels Of Fire (Remastered)- In The Studio (Disc 1) - 08 - Born Under A Bad Sign.m4a"
Working folder: E:\nano\Cream\Wheels Of Fire (Remastered)- In The Studio (Disc 1)\
Conversion failed: The encoder has terminated prematurely with code 0; please re-check parameters
Did you check if qtaacenc.exe works fine from the command prompt?
Worked fine with foobar 1.1.2. Not sure why it doesn't work with 0.9.6.9
Try to add --ignorelength option
Try to add --ignorelength option
That did it! Thx
Does anyone have a working link for qtaacenc?
Read post #1 for the link.
Read post #1 for the link.
tried it before my post. doesn't work for me. is it still a good link?
http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/) works fine over here.
nope, tried from a different computer and network. link still doesn't work for me...
There was a DNS update mistake on the hosting server. Wait for a few days until the update is reflected in your DNS server or try different DNS servers (at least google DNS should work).
Hi,
I wonder it can add encode settings into AAC Tag?
Like lame mp3:
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Duration : 1mn 9s
Bit rate mode : Variable
Bit rate : 234 Kbps
Minimum bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 1.94 MiB (100%)
Writing library : LAME3.98r
Encoding settings : -m j -V 4 -q 0 -lowpass 17.5 --vbr-new -b 32
I tried "--compilation" in qtaacenc, but it seems not work
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1mn 9s
Bit rate mode : Variable
Bit rate : 159 Kbps
Maximum bit rate : 177 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 1.32 MiB (98%)
Language : English
Encoded date : UTC 2011-04-18 05:01:44
Tagged date : UTC 2011-04-18 05:01:45
Is it the AAC's limitation?
I wonder it can add encode settings into AAC Tag?
Is it the AAC's limitation?
AAC has no tagging capability. The tags are in the MP4 container. So whatever you are using to read out that file must support that.
@Garf
Thank you.
I have to say that's a pity...
I was feeling a feeling a little paranoid recently that I was "missing something" by using qtaacenc with QT Lite, so I uninstalled QT Lite and installed the official QuickTime software. Then I upgraded to QuickTime Pro with an old serial I had around.
The output files for QT Lite [version 4.1.0], QuickTime, and QuickTime Pro [version 7.6.9] were exactly the same. Yes, I actually encoded from FLAC three times for several albums. This result was to be expected, but I had to make sure.
So if you want to use QT Lite instead, it does work. And the bonuses for using it are no start-up entries and it saves a little bit of hard drive space.
Channels have the wrong sequence.
http://rghost.ru/5662311 (http://rghost.ru/5662311)
There is another project, qaac:
I found that in the recent version of QuickTime (at least for 7.6.9), QuickTime's channel mapping behavior seems to be BROKEN or at least CHANGED
http://sites.google.com/site/qaacpage/news...elaudioencoding (http://sites.google.com/site/qaacpage/news/qaacdontuseformultichannelaudioencoding)
http://sites.google.com/site/qaacpage/news...ltichannelaudio (http://sites.google.com/site/qaacpage/news/qaacfollow-upreportaboutmultichannelaudio)
http://sites.google.com/site/qaacpage/news...channelmapping2 (http://sites.google.com/site/qaacpage/news/followupaboutaacchannelmapping2)
http://sites.google.com/site/qaacpage/news/aboutquicktime77 (http://sites.google.com/site/qaacpage/news/aboutquicktime77)
I was a bit slow in copying quotes from the qaac site. lvqcl already posted the essential content of my reply.
However, here is my reply as I intended to post it. I hope someone will report the problem to Apple (assuming it is reproducible by using QuickTime Pro directly).
______________________________________________________
Channels have the wrong sequence. ...
The qaac developer has found the problem to be caused by a bug or change in QuickTime (qaac is a similar program to qtaacenc).
From http://sites.google.com/site/qaacpage/news (http://sites.google.com/site/qaacpage/news)
[qaac] Don't use for multi channel audio encoding
posted Jan 26, 2011 5:04 PM by nu 774 [ updated Jan 27, 2011 6:03 AM ]
I found that in the recent version of QuickTime (at least for 7.6.9), QuickTime's channel mapping behavior seems to be BROKEN or at least CHANGED, therefore qaac produces wrongly mapped output.
I'm sorry, but I don't know the exact QuickTime version which causes this. At least it worked properly on 7.6.5 and 7.6.6, and broken on 7.6.9. If you know something about this, please let me know.
For now, please don't encode multichannel sources with qaac, until this will be fixed, and unless you are using working version of QuickTime. Ordinary 2ch stereo encoding is OK.
Technically, when you feed multichannel source with standard MPEG order (like L R C LFE Ls Rs), qaac just pass it to QT encoder as it is, and just tell QuickTime the order (like kAudioChannelLayoutTag_MPEG_5_1_A). Then, QT AAC encoder nicely re-mapped it into AAC order (in this case, C L R Ls Rs LFE).
But now, this remapping feature by QT AAC encoder seems to be broken, or at least behaves differently.
[qaac] follow-up report about multichannel audio
posted Jan 28, 2011 11:29 AM by nu 774
I downloaded older version of QuickTime from oldapps.com, and tested each of them.
The result was, version up to 7.6.8 is OK. Only the newest version 7.6.9 is broken with AAC channel mapping. I have reported this to Apple with Apple BugReporter.
For now, I recommend you to use versions before 7.6.8, if multichannel encoding matters to you.
follow up about AAC channel mapping: 2
posted Jan 31, 2011 5:17 AM by nu 774 [ updated Feb 5, 2011 12:27 PM ]
I found the channel mapping problem was brought by CoreAudioToolbox.dll, version 7.9.4.
Strictly speaking, this is not a QuickTime component, but is one of "Apple Application Support" components, which is installed under "C:/Program Files/Common Files/Apple/Apple Application Support".
Upon QuickTime 7.6.9 installation, by simply replacing this dll with older version, channel mapping problem was fixed and everything seemed to be working properly (QuickTime 7.6.8 package contains CoreAudioToolBox version 7.9.3).
Though I don't recommend you to do this, if you don't know what you are doing.
I don't know if Apple is aware of the problem. I also don't know if using the older CoreAudioToolbox.dll file can affect the encoding quality or other properties of the resulting files anyhow.
I just noticed the following in the above quote:
"I have reported this to Apple with Apple BugReporter."
I hope Apple will fix the problem soon.
lvqcl, Alex B
Thanks...
I pass mono 16b 44KHz WAV to encoder but it produces stereo file. I don't see any option in command line help or elsewhere how to keep channel as is. Is there such possibility?
Is it possible to make mono AAC file with iTunes or QuickTime player?
If you are asking me, I have no idea as I don't need iTunes to run this encoder, and free version of QT does not allow me to check your question, so I'll assume that's not possible
But I might be wrong that way, as I remember that QT can export mono AIFF, but can't tell about MP4
Thanks for the qtaacenc! I have a bunch of audio files that need to be encoded with QuickTime AAC encoder. You just made my work a little easier!
After upgrading Quicktime to 7.7 qtaacenc crashes at the end of the encoding when output folder contains non-ascii characters (at least cyrillic).
My debug compile of qtaacenc stops at "QTNewDataReferenceFromFullPathCFString(outFile, kQTNativeDefaultPathStyle, 0, &outDataRef, &outDataRefType)" line in convertToMP4PathThrough() function.
Thanks for the report. New version is available now.
I don't know why this happens, but as a workaround I've fixed it by using the temp directory.
after upgrading to quicktime 7.7, I can't encode wav to aac in foobar2000. cmd.exe works fine, but with the exact same options, fb2k fails. this is qtaacenc version 20110806 and 20110414...
options (command line):
qtaacenc.exe --highest --ignorelength --quiet --tvbr 127 track01.cdda.wav track01.m4a
this works.
options (foobar2000):
--highest --ignorelength --quiet --tvbr 127 - %d
Conversion failed: The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters
Thanks nao, it works.
I apparently just needed to restart foobar2000.
sorry for the erroneous report.
What is the difference between qtaacenc and qaac?
I notice that qaac supports ALAC, what is the difference between the aac files encoded by them?
Any help appreciated and thanks in advance.
What is the difference between qtaacenc and qaac?
I notice that qaac supports ALAC, what is the difference between the aac files encoded by them?
Any help appreciated and thanks in advance.
No difference, when you use same settings for quality
But, interest me, how to avoid artifacts in aac even if I used tvbr127 ?
It should also be noted that neither qaac nor qtaacenc are actually encoding the files, that is left of up QuickTime. Both of those options are command-line interfaces so that you can encode files using QuickTime in programs outside of the Apple universe. Ljubo44, you may want to post your ABX test results along with some 30 second samples if you can easily distinguish between the true VBR 127 setting and the source lossless files (unless you have already done that, you might want to link it in your post here).
Nao could you also give us instruction for a CLI dbpoweramp version of this?
Are there any difficulties? For example:
(http://i46.tinypic.com/8wmh6e.jpg)
Tried this exactly and output file is 0kb. Not sure where to go next with troubleshooting this. Posted on dbpoweramp forums as well.
http://forum.dbpoweramp.com/showthread.php?p=113969 (http://forum.dbpoweramp.com/showthread.php?p=113969)
I am converting from FLAC to AAC (mp4). I can see that dbpoweramp creates a .tmp.wav file. It also creates the mp4 file. However, the tmp wav file goes away and the mp4 file is 0kb. WinXP qtaacenc 20110806 and QT 7.7.
Thanks for the report. Fixed in the latest update.
Thanks for the report. Fixed in the latest update.
Thanks, thats working now. Now I need to figure out why dbpoweramp is not applying any tags...
dBpoweramp would always write the ID tags, it can only write to the long filename (the real file). The short filename should work as it is a representation of the long filename, but if the qtencode is doing something specific to filenames that might be causing it not to work.
hoping that whatever is going on could be discussed between spoon and nao
Thanks for the report. Fixed in the latest update.
Thanks, thats working now. Now I need to figure out why dbpoweramp is not applying any tags...
I'm having the same issue, the previous bug was solved but now it doesn't apply tags.
I'm trying to transcode from a 4.5gb 5.1 wav file that I encoded from DTS-MA in eac3to.
Unfortunately, only the first 11 minutes are processed. It finishes without error but obviously something is wrong.
Here is the file info:
Format : Wave
File size : 4.58 GiB
Duration : 1h 34mn
Overall bit rate : 6 912 Kbps
Audio
ID : 0
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Codec ID/Hint : Microsoft
Duration : 1h 34mn
Bit rate mode : Constant
Bit rate : 6 912 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Stream size : 4.58 GiB (100%)
and my command line:
qtaacenc.exe --highest --ignorelenth --noreplaygain --samplerate auto --tvbr 75
check your spelling!...
--ignorelength
_
...and --noreplaygain switch is useless.
Also, about multichannel files and QuickTime: see posts #237-239 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=755177)
check your spelling!...
--ignorelength
_
Ahh, that's what I get for trying to figure this out at 5am. lol..
...and --noreplaygain switch is useless.
Also, about multichannel files and QuickTime: see posts #237-239 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=755177)
Good to know, thanks. So I guess the best way to do multichannel would be to downgrade to v7.6.8? Or is the new 7.7 version fixed?
Looks like if you have other Apple products installed, a newer CoreAudioToolbox.dll might be installed, and if so, the 7.6.8 Quicktime installer will NOT overwrite it, instead it will leave the newer broken one.
Extract AppleApplicationSupport.msi from QuickTimeInstaller.exe, then extract CoreAudioToolbox.dll from .msi file. (You can do this with 7-zip).
But CoreAudioToolbox.dll also affects stereo encoding too...
With CoreAudioToolbox.dll ver. 7.9.3.0, qtaacenc.exe writes to the console: "Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)"
With newer CoreAudioToolbox (ver. 7.9.6.1 or 7.9.7.3): "Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)"
And it creates 3 different m4a files with 3 different CoreAudioToolbox.dll. I wonder what does it mean.
Yes I eventually found the right version of CoreAudioToolbox.dll, I've encoded a few files both stereo and multichannel and it seems to be working perfectly now. I wonder why they would revert back a version on the newest CoreAudioToolbox.dll... probably just a bug.
There seems to be a file permission issue when i use qtaacenc to encode files outside the C:\User\Anon\Music folder, for example C:\Music.
Authenticated Users group seems to be missing on each file.
@ lvqcl: could you please upload CoreAudioToolbox.dll version 7.9.3.0 somewhere? Thanks.
@ nao: due to the results of the Public AAC Listening Test @ ~96 kbps for DAP use I'm switching to QuickTime True VBR via qtaacenc, so here's my maybe a bit late thank you very much for such a nice tool, appreciated.
CoreAudioToolbox.dll
7.9.3.0
3.54 MB
http://www.multiupload.com/OR4RZ119XD (http://www.multiupload.com/OR4RZ119XD)
...or download QT 7.68 ( http://www.filehippo.com/download_quicktime_player/8357/ (http://www.filehippo.com/download_quicktime_player/8357/) ) and extract this DLL as described above.
Then copy it to "C:\Program Files\Common Files\Apple\Apple Application Support\" folder. (or to "C:\Program Files (x86)\Common Files\Apple\Apple Application Support\" for 64-bit Windows)
Then copy it to "C:\Program Files\Common Files\Apple\Apple Application Support\" folder. (or to "C:\Program Files (x86)\Common Files\Apple\Apple Application Support\" for 64-bit Windows)
...or just place it at qtaacenc folder.
@no404error thanks a lot for the tip...
actually what files are needed make QT installation not needed?
_
@ no404error: thanks a bunch.
@ lvqcl: I'd like to get the whole AppleApplicationSupport.msi package, but FileHippo.com redirects me to an Apple support page where I can only go for 7.6 or 7.7, the former hasn't got the DLL and the latter has got the newest one.
EDIT: If FileHorse.com is a legitimate/reputable/safe source they've got it here: http://www.filehorse.com/download-quicktime-player/6737/ (http://www.filehorse.com/download-quicktime-player/6737/)
@no404error thanks a lot for the tip...
actually what files are needed make QT installation not needed?
_
Very good question. I would like to make a QT/qtaacenc solution portable along foobar portable
Many thanks
Extract AppleApplicationSupport.msi from QuickTimeInstaller.exe, then extract CoreAudioToolbox.dll from .msi file. (You can do this with 7-zip).
But CoreAudioToolbox.dll also affects stereo encoding too...
With CoreAudioToolbox.dll ver. 7.9.3.0, qtaacenc.exe writes to the console: "Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)"
With newer CoreAudioToolbox (ver. 7.9.6.1 or 7.9.7.3): "Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)"
And it creates 3 different m4a files with 3 different CoreAudioToolbox.dll. I wonder what does it mean.
Where can I see the information about versions of LC and HE encoders? I've found only the version of CoreAudioTooolbox.dll
Also the previous version QuickTime 7.6.8 produces somewhat higher bitrates of TVBR (closer to CVBR). TVBR of 7.6.9 and 7.7.0 periodically goes too low in bitrate. It's not that good for my taste.
But 7.6.8 has (lowpass) bug for TVBR at 96 kbps.
Just the CoreAudioToolbox library in qtaacenc dir or the installation of the AppleApplicationSupport.msi package alone don't cut it, anyone in the know on how to make it really portable (in my case with EAC)? Thanx.
I had an older version of qtaacenc. That's why there wasn't information about version of encoders.
Now it says like
Using QuickTime 7.6.8 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)
CoreAudioToolbox.dll is 7.9.3.0
Then going for the latest encoders version via CoreAudioToolbox.dll v7.9.3.0 we get the higher bitrates for TVBR but are stuck with the lowpass bug for 96 Kbps encodes?
EDIT: Installing QT v7.
7 and placing CoreAudioToolbox.dll v7.9.
3.0 in qtaacenc's directory my system reports the latest QuickTime CoreFoundation library (QTCF.dll) v7.70.80.34 is being used and qtaacenc outputs "Using QuickTime 7.
7.0 (LC-AAC encoder 1.7.
2, HE-AAC encoder 1.2.
1)", is that the ideal setup or is it just the CoreAudioToolbox library the one that matters?
EDIT2:
D:\TEST\qtaacenc-20110816>qtaacenc.exe --tvbr 46 --highest --samplerate keep TEST.wav TEST96QT768.m4a
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)
Configurations: True VBR quality 46, Highest quality profile, keep Hz
Progress: 100%
D:\TEST\qtaacenc-20110816>mediainfo TEST96QT768.m4a
General
Complete name : TEST96QT768.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 2.11 MiB
Duration : 2mn 47s
Overall bit rate : 106 Kbps
Encoded date : UTC 2011-08-29 13:11:39
Tagged date : UTC 2011-08-29 13:11:39
Writing application : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 46
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 47s
Bit rate mode : Variable
Bit rate : 104 Kbps
Maximum bit rate : 130 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 2.07 MiB (98%)
Language : English
Encoded date : UTC 2011-08-29 13:11:29
Tagged date : UTC 2011-08-29 13:11:39
D:\TEST\qtaacenc-20110816>qtaacenc.exe --tvbr 46 --highest --samplerate keep TEST.wav TEST96QT770.m4a
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)
Configurations: True VBR quality 46, Highest quality profile, keep Hz
Progress: 100%
D:\TEST\qtaacenc-20110816>mediainfo TEST96QT770.m4a
General
Complete name : TEST96QT770.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.98 MiB
Duration : 2mn 47s
Overall bit rate : 99.0 Kbps
Encoded date : UTC 2011-08-29 13:12:23
Tagged date : UTC 2011-08-29 13:12:23
Writing application : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 46
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 47s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 125 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 1.93 MiB (98%)
Language : English
Encoded date : UTC 2011-08-29 13:12:14
Tagged date : UTC 2011-08-29 13:12:23
Bit rates differ but sampling rates don't, does it mean the lowpass was not performed?
EDIT3:
D:\TEST\qtaacenc-20110816>qtaacenc.exe --tvbr 40 --highest TEST.wav TEST_Q40_QT768_NoKeep.m4a
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)
Configurations: True VBR quality 40, Highest quality profile, auto Hz
Progress: 100%
D:\TEST\qtaacenc-20110816>mediainfo TEST_Q40_QT768_NoKeep.m4a
General
Complete name : TEST_Q40_QT768_NoKeep.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.70 MiB
Duration : 2mn 47s
Overall bit rate : 85.0 Kbps
Encoded date : UTC 2011-08-29 14:05:03
Tagged date : UTC 2011-08-29 14:05:03
Writing application : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 40
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 47s
Bit rate mode : Variable
Bit rate : 83.4 Kbps
Maximum bit rate : 121 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 32.0 KHz
Compression mode : Lossy
Stream size : 1.66 MiB (98%)
Language : English
Encoded date : UTC 2011-08-29 14:04:54
Tagged date : UTC 2011-08-29 14:05:03
D:\TEST\qtaacenc-20110816>qtaacenc.exe --tvbr 40 --highest TEST.wav TEST_Q40_QT770_NoKeep.m4a
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)
Configurations: True VBR quality 40, Highest quality profile, auto Hz
Progress: 100%
D:\TEST\qtaacenc-20110816>mediainfo TEST_Q40_QT770_NoKeep.m4a
General
Complete name : TEST_Q40_QT770_NoKeep.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.50 MiB
Duration : 2mn 47s
Overall bit rate : 75.1 Kbps
Encoded date : UTC 2011-08-29 14:00:42
Tagged date : UTC 2011-08-29 14:00:42
Writing application : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 40
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 47s
Bit rate mode : Variable
Bit rate : 73.5 Kbps
Maximum bit rate : 105 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 32.0 KHz
Compression mode : Lossy
Stream size : 1.47 MiB (98%)
Language : English
Encoded date : UTC 2011-08-29 14:00:32
Tagged date : UTC 2011-08-29 14:00:42
@ IgorC: both CoreAudioToolbox.dll v7.9.3.0 and CoreAudioToolbox.dll v7.9.7.3 behave identically towards Steve Forte Rio's founding of Steve Forte Rio's post #145, is that the lowpass bug you're referring to please?
Also, sorry if I'm maybe spamming a bit, just trying to understand what's the best/proper setup.
Only CoreAudioToolbox matters.
CVBR with QuickTime 7.7 is another option. Constrained VBR does its work well actually. It has slightly larger files but it doesn't go that low (nor high) as TVBR.
TVBR and CVBR are more like slightly different bitrates settings (for practical purpose). --tvbr 46 produces 95-96 kbps and --cvbr 96 does 100 kbps. That's all.
@ IgorC: I see, thanks, can you please check out my last two edits to the same post?
both CoreAudioToolbox.dll v7.9.3.0 and CoreAudioToolbox.dll v7.9.7.3 behave identically towards Steve Forte Rio's founding of Steve Forte Rio's post #145, is that the lowpass bug you're referring to please?
Yes, it's the same bug.
This bug was fixed in QuickTime 7.6.9.
CoreAudioToolbox.dll from older versions of QuickTime (7.6.8 and older) have this bug at 80-96-112 kbps.
You can check it for yourself. Open the file in any wav editor and appropriate lowpass should be there at 15.7 kHz (for 96 kbps settings).
You've lost me there: the CoreAudioToolbox.dll v7.9.7.3 encodes I've done with an untouched QuickTime 7.7 install so they shouldn't be affected by the lowpass bug for TVBR at low bit rates since it was fixed in QuickTime v7.6.9, no?
EDIT: Lowpass is there at around 15,7 KHz for the CoreAudioToolbox.dll v7.9.7.3 encodes and is absent for CoreAudioToolbox.dll v7.9.3.0 ones, checked with Nero Wave Editor (the only tool available at work):(http://i55.tinypic.com/id6edi.png)(http://i54.tinypic.com/1k744.png)
One more clarification please: the lowpass bug is not related to the downsampling from 44.1 KHz to 32.0 KHz not being performed in conjunction with the --samplerate keep switch, is it?
You've lost me there: the CoreAudioToolbox.dll v7.9.7.3 encodes I've done with an untouched QuickTime 7.7 install so they shouldn't be affected by the lowpass bug for TVBR at low bit rates since it was fixed in QuickTime v7.6.9, no?
Right.
EDIT: Lowpass is there at around 15,7 KHz for the CoreAudioToolbox.dll v7.9.7.3 encodes and is absent for CoreAudioToolbox.dll v7.9.3.0 ones, checked with Nero Wave Editor (the only tool available at work)
Right too.
One more clarification please: the lowpass bug is not related to the downsampling from 44.1 KHz to 32.0 KHz not being performed in conjunction with the --samplerate keep switch, is it?
Correct.
The lowpass at 15.7 kHz and downsampling from 44.1 to 32 kHz are two different things .
Both files ( QT 7.6.9 and 7.6.8) have the same samplerate 44.1 kHz if "--samplerate keep" is here. But only 7.6.9 applies the lowpass correctly.
with "--samplerate keep" for 80-96-112 kbps (both CVBR/TVBR):
QT 7.6.8 ( samplerate 44.1 kHz, lowpass is disabled because of bug)
QT 7.6.9 ( samplerate 44.1 kHz, lowpass is correct at 15.7 kHz).
IIRC "--samplerate keep" is not necessary for QT 7.6.9 and 7.7.
IIRC "--samplerate keep" is not necessary for QT 7.6.9 and 7.7.
ok.
BTW I've downloaded QuickTime 7.6.5 and it has no CoreAudioToolbox.dll . Probably there should be another .dll.
CoreAudioToolbox.dll has been updated to 7.9.7.7 with the release of iTunes 10.5 beta 7.
^^ does it fix the channels bug?
(http://i54.tinypic.com/ka08ic.png)
Encoders version same as QT 7.7 much like bit rates.
D:\TEST\qtaacenc-20110816>qtaacenc.exe --tvbr 40 --highest --samplerate keep TEST.wav TEST_Q40_IT105B7.m4a
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)
Configurations: True VBR quality 40, Highest quality profile, keep Hz
Progress: 100%
D:\TEST\qtaacenc-20110816>mediainfo TEST_Q40_IT105B7.m4a
General
Complete name : TEST_Q40_IT105B7.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.51 MiB
Duration : 2mn 47s
Overall bit rate : 75.7 Kbps
Encoded date : UTC 2011-09-01 08:37:37
Tagged date : UTC 2011-09-01 08:37:37
Writing application : qtaacenc 20110816, QuickTime 7.7.0, True VBR Quality 40
Encoding Params : (Binary)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 47s
Bit rate mode : Variable
Bit rate : 73.6 Kbps
Maximum bit rate : 105 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 1.47 MiB (97%)
Language : English
Encoded date : UTC 2011-09-01 08:37:27
Tagged date : UTC 2011-09-01 08:37:37
Lowpass is there.
(http://i51.tinypic.com/uq355.png)
EDIT: Bit rates part.
can anybody upload the new CoreAudioToolbox.dll v7.9.7.7? (use m u l t i u p l o a d . c o m )
_
Here you go
http://www.multiupload.com/YA3MFUQYE4 (http://www.multiupload.com/YA3MFUQYE4)
Can anyone verify that the channel mapping issue is fixed with this new version?
Sorry, but I am confused:
Which dll respectively which encoder versions do we want:
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1) == dll 7.9.3.0
or
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0) == dll 7.9.3.3
Sorry, but I am confused:
Which dll respectively which encoder versions do we want:
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1) == dll 7.9.3.0
or
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0) == dll 7.9.3.3
Depends on the quality level you want to use, if you go for a bit rate unaffected by the lowpass bug like I'm doing you may prefer the earlier version of the DLL with the higher version of the encoders which produce higher bit rates, see IgorC's clarifications.
Can anyone verify that the channel mapping issue is fixed with this new version?
It's not fixed.
Can anyone verify that the channel mapping issue is fixed with this new version?
It's not fixed.
i am willing to bet that there will be no fix for this in the future...if you don't want to mess with .dll's you could pipe a remuxed channel version of your .wav:
eac3to 012345_6channel.wav stdout.wav -2,0,1,4,5,3 | qtaacenc [options] --ignorelength - proper_6channel.m4a
or
sox ??no?dither ??ignore-length 012345_6channel.wav ??type wav - remix 3 1 2 5 6 4 | qtaacenc [options] --ignorelength - proper_6channel.m4a
_
I wonder is it possible to add --remix option (similar to 'remix' effect in SoX) to qtaacenc / qaac itself?
Can anyone verify that the channel mapping issue is fixed with this new version?
It's not fixed.
i am willing to bet that there will be no fix for this in the future...if you don't want to mess with .dll's you could pipe a remuxed channel version of your .wav:
eac3to 012345_6channel.wav stdout.wav -2,0,1,4,5,3 | qtaacenc [options] --ignorelength - proper_6channel.m4a
or
sox ??no?dither ??ignore-length 012345_6channel.wav ??type wav - remix 3 1 2 5 6 4 | qtaacenc [options] --ignorelength - proper_6channel.m4a
_
Very cool, I will give that a shot.
About portability: according to procmon.exe, qtaacenc loads the following DLLs:
C:\Program Files (x86)\QuickTime\QTSystem\QuickTime.qts
C:\Program Files (x86)\QuickTime\QTSystem\QTCF.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\CoreFoundation.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\pthreadVC2.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\objc.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\libdispatch.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\libicuin.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\libicuuc.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\icudt46.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\ASL.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\CFNetwork.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\SQLite3.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\zlib1.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\libxml2.dll
C:\Program Files (x86)\QuickTime\QTSystem\CoreVideo.qtx
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\CoreVideo.dll
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\CoreGraphics.dll
C:\Program Files (x86)\QuickTime\QTSystem\QuickTime3GPP.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTime3GPPAuthoring.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeAudioSupport.qtx
C:\Program Files (x86)\Common Files\Apple\Apple Application Support\CoreAudioToolbox.dll
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeAuthoring.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeCapture.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeEffects.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeEssentials.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeH264.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeImage.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeInternetExtras.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeMPEG.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeMPEG4.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeMPEG4Authoring.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeMusic.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeStreaming.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeStreamingAuthoring.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeStreamingExtras.qtx
C:\Program Files (x86)\QuickTime\QTSystem\QuickTimeVR.qtx
but only 4 of them (CoreAudioToolbox.dll, CoreGraphics.dll, CoreVideo.dll, QTCF.dll) can be loaded from qtaacenc.exe folder.
So which version of the coreaudiotoolbox.dll should I use to avoid any fatal problems? I'm usually encoding stereo material at TVBR Q60-80 (not that it matters much since there's only three steps in bitrate level, it seems).
So which version of the coreaudiotoolbox.dll should I use to avoid any fatal problems? I'm usually encoding stereo material at TVBR Q60-80 (not that it matters much since there's only three steps in bitrate level, it seems).
Probs can't be considered fatal, anyway with that target quality you are well above the bit rates (namely 80-96-112 Kbps) at which the QuickTime CoreAudioToolbox.dll library previous to version 7.6.9 have the lowpass bug, therefore if you prefer like IgorC and me higher bit rates at the same quality level you can safely use CoreAudioToolbox.dll v7.9.
3.0.
About portability: according to procmon.exe, qtaacenc loads the following DLLs:
[...]
but only 4 of them (CoreAudioToolbox.dll, CoreGraphics.dll, CoreVideo.dll, QTCF.dll) can be loaded from qtaacenc.exe folder.
Anything can be done qtaacenc side please?
QuickTime DLLs require MSVC 2005 redist installed. Adding msvcp80.dll and msvcr80.dll to qtaacenc folder doesn't work. Any way to override it?
About portability: according to procmon.exe, qtaacenc loads the following DLLs:
[...]
but only 4 of them (CoreAudioToolbox.dll, CoreGraphics.dll, CoreVideo.dll, QTCF.dll) can be loaded from qtaacenc.exe folder.
Anything can be done qtaacenc side please?
QuickTime DLLs require MSVC 2005 redist installed. Adding msvcp80.dll and msvcr80.dll to qtaacenc folder doesn't work. Any way to override it?
Nao pleeeeease...
I guess the DLL path is resolved from the registry values (InstallDir, QTSysDir, QTComponentsDir, etc) in
- HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support
- HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime
QuickTime DLLs require MSVC 2005 redist installed. Adding msvcp80.dll and msvcr80.dll to qtaacenc folder doesn't work. Any way to override it?
They are SxS (side-by-side) DLL. I'm not sure but maybe .manifest file will do.
It seems that portable QT AAC encoding is possible. All you need is:
* modified qtaacenc.exe
* msvcr100.dll (for qtaacenc.exe)
* msvcr80.dll, msvcp80.dll, Microsoft.VC80.CRT.manifest (for QT)
* 27 files from QuickTime (40 MB total size).
testing...
I wonder is it possible to add --remix option (similar to 'remix' effect in SoX) to qtaacenc / qaac itself?
qaac (http://sites.google.com/site/qaacpage/news)'s dev just did it...
_
So which version of the coreaudiotoolbox.dll should I use to avoid any fatal problems? I'm usually encoding stereo material at TVBR Q60-80 (not that it matters much since there's only three steps in bitrate level, it seems).
Probs can't be considered fatal, anyway with that target quality you are well above the bit rates (namely 80-96-112 Kbps) at which the QuickTime CoreAudioToolbox.dll library previous to version 7.6.9 have the lowpass bug, therefore if you prefer like IgorC and me higher bit rates at the same quality level you can safely use CoreAudioToolbox.dll v7.9.3.0.
Does this bug occur always at those bitrates? I do see them from time to time, especially when encoding a stereo file which is actually dual mono.
It seems that portable QT AAC encoding is possible. All you need is:
* modified qtaacenc.exe
[...]
testing...
You coming up with the modded qtaacenc yourself?
Does this bug occur always at those bitrates? I do see them from time to time, especially when encoding a stereo file which is actually dual mono.
Seems so, my 3 tests posted here confirm it, but you can test yourself of course.
Anyone want to test QT portable encoder?
1. Download and install QuickTime 7.7.
2. Download archive from http://www.multiupload.com/U2CTT7YOD0 (http://www.multiupload.com/U2CTT7YOD0). It contains modified versions of qtaacenc and qaac.
3. Unpack it to some folder.
4. Go to this folder and click on runme.cmd. It will copy all necessary files from QuickTime folders.
5. Delete runme.cmd (it's not necessary anymore), delete "(src)" folder (it contains source files).
6. Uninstall QuickTime.
7. Try to encode files with qtaacenc or qaac.
i had to add:
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icudt40.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icuin40.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icuuc40.dll" .\
to the runme.cmd to make it work for me...
_
I use QuickTime 7.7, and it doesn't have icudt40.dll, only icudt46.dll. Probably different versions of QuickTime require different set of files. Not a big surprise though.
And thanks for testing.
may be this will cover all the versions...
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icu*.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\lib*.dll" .\
_
I tried to use qtaacenc.exe operated by foobar2000, just like explained here (http://tmkk.pv.land.to/qtaacenc/), but it doesnt want to work properly. QT 7.7 is installed.
When encoding a 6channel .dts (fb2k-dts-plugin installed), it starts encoding, runs for a while, and then crashes (repeatedly at the same point, the produced file is playable) with the following error:
1 out of 1 tracks converted with major problems.
Source: "path\to\foo.dts"
An error occurred while writing to file (The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters) : "path\to\bar.m4a"
Additional information:
Encoder stream format: 48000Hz / 6ch / 24bps
Command line: "path\to\qtaacenc.exe" --tvbr 100 --highest - "bar.m4a"
Working folder: Path\to\folder
Conversion failed: The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters
@writing error: Theres plenty of HDD-Space on a sane disk.
When using NeroAACenc.exe, things work out fine, so the source is supposedly okay...
Anybody got a hint for me?
Greets,
dis
1. add --ignorelength option and try again.
2. About multichannel encoding:
http://www.hydrogenaudio.org/forums/index....st&p=768029 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=768029)
http://www.hydrogenaudio.org/forums/index....st&p=768093 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=768093)
It seems that I was wrong (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=767684) about samplerates:
Encoding to --cvbr 64 kbps: iTunes and qtaacenc create 32kHz .m4a file, while qaac preserve 44.1 kHz.
Encoding to --tvbr 46: the same difference between qaac and qtaacenc.
--ingnorelength resolves the crash! Thanks!
Still I`m a bit confused about this "channel mapping issue".
On MediaInfo both give me the same result: "Front: L C R, Side: L R, LFE" Is that internally screwed up?
I don't have the possibilities to test it right now, because my laptop is 2.0, and I don't know any software for that.
greets, Dis
I don't have the possibilities to test it right now, because my laptop is 2.0, and I don't know any software for that.
Spectrogram in foobar2000. Right-click - Channels - Unchanged.
well, that doesnt seem messed up... Its a speech only scene without music, so LFE is dead there...
dts orig left vs qtaac right
(http://img193.imageshack.us/img193/6370/dtsvsqtaaspectrogram.png) (http://imageshack.us/photo/my-images/193/dtsvsqtaaspectrogram.png/)
It seems that I was wrong (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=767684) about samplerates:
[...]
Just for my understanding: when going to low bitrates with a lowpass of 15.7kHz, why would you want to keep a sample rate of 44.1 kHz.? Is the downsampling buggy?
Sorry, but I am confused:
Which dll respectively which encoder versions do we want:
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1) == dll 7.9.3.0
or
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0) == dll 7.9.3.3
Depends on the quality level you want to use, if you go for a bit rate unaffected by the lowpass bug like I'm doing you may prefer the earlier version of the DLL with the higher version of the encoders which produce higher bit rates, see IgorC's clarifications.
If you could clarify - which versions produce the higher bitrate files, and which versions produces the lower bitrate files? And about how much bitrate difference is there between the two?
Currently I use 7.9.3 for Multichannel (because of channels bug on newer versions) and 7.9.7.7 for stereo (because of earlier versions's lowpass bug).
Just for my understanding: when going to low bitrates with a lowpass of 15.7kHz, why would you want to keep a sample rate of 44.1 kHz.? Is the downsampling buggy?
I'd be interested in knowing too, I simply wanted to know how to keep this encoder's behavior consistent with it's siblings.
Anyone want to test QT portable encoder?[...]
Worked perfectly copying the necessary from a QT 7.7 installation and then using your qtaacenc on a QT-less system, thank you!
nao would you be OK with integrating the necessary code by lvql into the official build?
If you could clarify - which versions produce the higher bitrate files, and which versions produces the lower bitrate files? And about how much bitrate difference is there between the two?
Didn't wanna take the time to take a look just two pages back eh?
As advised by IgorC (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=767608) and confirmed by my MediaInfo copy/paste's CoreAudioToolbox library v7.9.
3.0 produces higher bit rates (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072&st=275&p=767615&#entry767615).
Currently I use 7.9.3 for Multichannel (because of channels bug on newer versions) and 7.9.7.7 for stereo (because of earlier versions's lowpass bug).
Didn't wanna take the time to take a look just two pages back eh?
As advised by IgorC (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=767608) and confirmed by my MediaInfo copy/paste's CoreAudioToolbox library v7.9.3.0 produces higher bit rates (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072&st=275&p=767615&#entry767615).
thanks, I missed that. Looks like around 5-10% higher bitrate.
Anyone want to test QT portable encoder?
2. Download archive from http://www.multiupload.com/----- (http://www.multiupload.com/----).
Link is gone...
Yes, because it was edited out:
This post has been edited by lvqcl: Today, 15:51
Perhaps it is out of date, but you would have to wait for a reply from lvqcl.
I found serious bug in my code. New version is uploaded, link in post #307 updated.
I found serious bug in my code. New version is uploaded, link in post #307 updated.
many thanks
Any chance to add support for STDOUT to qtaacenc (i.e. specify '-' as the output file)?
This might be useful if you want to 'stream' ACC to a network...e.g. a SHOUTcast server...
Would that be possible with QT - or is it only possible to set QT to a physical outout file?
I found serious bug in my code. New version is uploaded, link in post #307 updated.
Thanks, batch file to gather the QT files unchanged?
Thanks, batch file to gather the QT files unchanged?
Yes. Works with Quicktime 7.7, but wasn't tested with earlier versions of Quicktime.
Thanks, batch file to gather the QT files unchanged?
Yes. Works with Quicktime 7.7, but wasn't tested with earlier versions of Quicktime.
Only thing I had to do was change %ProgramFiles% to %ProgramFiles(x86)%. You may want to include some sort of x64 system check which redirects the script to a separate section to copy to that folder instead. You could do a
"if exist "%WINDIR%\SysWOW64"
statement to check if it's an x64 system.
What about this version -
setlocal
if "%ProgramFiles(x86)%."=="." goto win32
set prf=%ProgramFiles(x86)%
goto nxt
:win32
set prf=%ProgramFiles%
:nxt
echo Copying files...
copy "%prf%\QuickTime\QTSystem\QTCF.dll" .\
md QTfiles
cd QTfiles
md QuickTime.Resources
md QuickTimeAudioSupport.Resources
md QuickTimeAuthoring.Resources
md QuickTimeMPEG4Authoring.Resources
md QuickTime.Resources\en.lproj
md QuickTimeAudioSupport.Resources\en.lproj
md QuickTimeAuthoring.Resources\en.lproj
md QuickTimeMPEG4Authoring.Resources\en.lproj
copy "%prf%\Common Files\Apple\Apple Application Support\ASL.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\CoreAudioToolbox.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\CoreFoundation.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\icudt46.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libdispatch.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libicuin.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libicuuc.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\objc.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\pthreadVC2.dll" .\
copy "%prf%\QuickTime\QTSystem\QuickTime.qts" .\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.dll" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.qtr" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.qtxs" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\en.lproj\QuickTimeLocalized.dll" .\QuickTime.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\en.lproj\QuickTimeLocalized.qtr" .\QuickTime.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\QuickTimeAudioSupport.qtr" .\QuickTimeAudioSupport.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.dll" .\QuickTimeAudioSupport.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.qtr" .\QuickTimeAudioSupport.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\QuickTimeAuthoring.qtr" .\QuickTimeAuthoring.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.dll" .\QuickTimeAuthoring.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.qtr" .\QuickTimeAuthoring.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.Resources\QuickTimeMPEG4Authoring.qtr" .\QuickTimeMPEG4Authoring.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.Resources\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr" .\QuickTimeMPEG4Authoring.Resources\en.lproj\
cd ..
endlocal
edit: replaced %ProgramW6432% with %ProgramFiles(x86)%
^^ Nice, I wasn't aware of the ProgramW6432 variable.
Guys, nao has already and politely asked to keep this thread qtaacenc related, there's a separate one for qaac.
@nao: would you be OK with integrating the necessary code by lvql into the official build to enabel portability please?
@IgorC, lvqcl or anyone in the know: what's the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass? Quality loss during resampling by design or bug?
For those, who don't want to run the QuickTimeInstaller.exe, here is a modified version of the batch file:
@set AAS=AppleApplicationSupport
@set QT=QuickTime
@set QTR=QuickTime.Resources
@set QTAS=QuickTimeAudioSupport.Resources
@set QTA=QuickTimeAuthoring.Resources
@set QTMA=QuickTimeMPEG4Authoring.Resources
echo Copying files...
copy %QT%\QTCF.dll .\
md QTfiles
cd QTfiles
md %QTR%\en.lproj
md %QTAS%\en.lproj
md %QTA%\en.lproj
md %QTMA%\en.lproj
copy ..\%AAS%\ASL.dll .\
copy ..\%AAS%\CoreAudioToolbox.dll .\
copy ..\%AAS%\CoreFoundation.dll .\
copy ..\%AAS%\icudt46.dll .\
copy ..\%AAS%\libdispatch.dll .\
copy ..\%AAS%\libicuin.dll .\
copy ..\%AAS%\libicuuc.dll .\
copy ..\%AAS%\objc.dll .\
copy ..\%AAS%\pthreadVC2.dll .\
copy ..\%QT%\QuickTime.qts .\
copy ..\%QT%\%QTR%_QuickTime.dll .\%QTR%\QuickTime.dll
copy ..\%QT%\%QTR%_QuickTime.qtr .\%QTR%\QuickTime.qtr
copy ..\%QT%\%QTR%_QuickTime.qtxs .\%QTR%\QuickTime.qtxs
copy ..\%QT%\%QTR%_en.lproj_QuickTimeLocalized.dll .\%QTR%\en.lproj\QuickTimeLocalized.dll
copy ..\%QT%\%QTR%_en.lproj_QuickTimeLocalized.qtr .\%QTR%\en.lproj\QuickTimeLocalized.qtr
copy ..\%QT%\QuickTimeAudioSupport.qtx .\
copy ..\%QT%\%QTAS%_QuickTimeAudioSupport.qtr .\%QTAS%\QuickTimeAudioSupport.qtr
copy ..\%QT%\%QTAS%_en.lproj_QuickTimeAudioSupportLocalized.dll .\%QTAS%\en.lproj\QuickTimeAudioSupportLocalized.dll
copy ..\%QT%\%QTAS%_en.lproj_QuickTimeAudioSupportLocalized.qtr .\%QTAS%\en.lproj\QuickTimeAudioSupportLocalized.qtr
copy ..\%QT%\QuickTimeAuthoring.qtx .\
copy ..\%QT%\%QTA%_QuickTimeAuthoring.qtr .\%QTA%\QuickTimeAuthoring.qtr
copy ..\%QT%\%QTA%_en.lproj_QuickTimeAuthoringLocalized.dll .\%QTA%\en.lproj\QuickTimeAuthoringLocalized.dll
copy ..\%QT%\%QTA%_en.lproj_QuickTimeAuthoringLocalized.qtr .\%QTA%\en.lproj\QuickTimeAuthoringLocalized.qtr
copy ..\%QT%\QuickTimeMPEG4Authoring.qtx .\
copy ..\%QT%\%QTMA%_QuickTimeMPEG4Authoring.qtr .\%QTMA%\QuickTimeMPEG4Authoring.qtr
copy ..\%QT%\%QTMA%_en.lproj_QuickTimeMPEG4AuthoringLocalized.qtr .\%QTMA%\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr
cd ..
pause
It copies the same files to the same folders as lvqcl's batch, but uses the unpacked installer (possible with 7Zip) as source. This batch file, the unpacked QuickTime.msi (as folder QuickTime) and AppleApplicationSupport.msi from QuickTimeInstaller.exe have to be in the same folder as qtaacenc.exe.
[...] It copies the same files to the same folders as lvqcl's batch, but uses the unpacked installer (possible with 7Zip) as source. This batch file, the unpacked QuickTime.msi (as folder QuickTime) and AppleApplicationSupport.msi from QuickTimeInstaller.exe have to be in the same folder as qtaacenc.exe.
Convenient, thank you.
So basically with QuickTime.msi unpacked to .\QuickTime and AppleApplicationSupport.msi unpacked to .\AppleApplicationSupport in the same dir as qtaacenc and the bacth file, right?
Guys, nao has already and politely asked to keep this thread qtaacenc related, there's a separate one for qaac.
Thanks for pointing this out. Not only will it be appreciated by nao, but it also inspired me to combine several threads about QAAC, including replies by its author
nu774; I ask that users keep discussion of QAAC there. Thread:
QAAC discussion, questions, feature requests, etc. (http://www.hydrogenaudio.org/forums/index.php?showtopic=85135)
So basically with QuickTime.msi unpacked to .\QuickTime and AppleApplicationSupport.msi unpacked to .\AppleApplicationSupport in the same dir as qtaacenc and the bacth file, right?
yes
Hi, can anyone tell me anything about the mysterious channelmapping-issue?
You sometimes hear a drop about that, but I never experienced it personally, so for me, its kind of a hoax.
When, and under which circumstances does the error occur?
I did ac3 and dts in various bitrates, and everything was fine. (spectrogram in fb2k)
confused...
Hi, can anyone tell me anything about the mysterious channelmapping-issue?
You sometimes hear a drop about that, but I never experienced it personally, so for me, its kind of a hoax.
When, and under which circumstances does the error occur?
I did ac3 and dts in various bitrates, and everything was fine. (spectrogram in fb2k)
confused...
Any version of CoreAudioToolbox.dll after 7.6.3.0 applies and incorrect channel map on multichannel files:
http://sites.google.com/site/qaacpage/news/aboutquicktime77 (http://sites.google.com/site/qaacpage/news/aboutquicktime77)
You have two options - get an older version of CoreAudioToolbox.dll that was mentioned earlier in this thread, or use qaac.exe instead of qtaacenc.exe because it automatically remaps the channels for the newer versions of quicktime.
Yes, thats what you hear about this issue every now and then...
buuuut.... i`ve used it for 5.1 dts and ac3 compressions for my personal archive, and I never really seen the error. A fb2k-spectrogram looks like this. Original left, after the break in the middle its the qtaac-output. It looks like everything is in place...
(http://img193.imageshack.us/img193/6370/dtsvsqtaaspectrogram.png) (http://imageshack.us/photo/my-images/193/dtsvsqtaaspectrogram.png/)
Any comments about this?
And what's the version of CoreAudioToolbox.dll in your system?
Its a quite new 7.9.7.3!
sorry, for not including this, but i thought it would be obvious that its a new one....
Its a quite new 7.9.7.3!
sorry, for not including this, but i thought it would be obvious that its a new one....
can you upload it? (use m u l t i u p l o a d . c o m )
_
here you are:
http://www.multiupload.com/DWIF3EEIGY (http://www.multiupload.com/DWIF3EEIGY)
thanks a lot...
_
Still no word from nao if he'd be OK with integrating the necessary code by lvql into the official build or if he's planning on implementing portability himself/differently...
Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?
Anything like unavoidable quality loss during the resampling or generated by buggy code?
Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?
You mean 44.1 instead of 32 kHz? The former allows for improved time resolution (at the cost of slightly reduced frequency resolution) because the frame durations are shorter.
Chris
Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?
Anything like unavoidable quality loss during the resampling or generated by buggy code?
There are a lot of variables.
Advantages (+) and disadvantages (-) of keeping 44.1 kHz sample rate:
(+)Time resolution is higher. But it aslo depends of bitrate and encoder.
(+) AFAIK Apple's resampler isn't the best around here.
(-) You will need more bits to keep the quality.
Apple encoder applies lowpass 15.7 kHz (96 kbps, 44.1 kHz) but it doesn't mean that there is absolutely nothing above that frequency limit.
Public test has shown that it's not bad at all to keep native samplerate. Now if it's better or worse on average it depends on a lot of things.
Some related topic http://www.hydrogenaudio.org/forums/index....mp;#entry397081 (http://www.hydrogenaudio.org/forums/index.php?showtopic=45099&start=0&p=397081&#entry397081)
P.S. Chris was faster
Could someone please test the Version of CoreAudioToolbox.dll which I supplied, and verify, that there is no channel mapping error?
Here is the link again: http://www.multiupload.com/DWIF3EEIGY (http://www.multiupload.com/DWIF3EEIGY)
Is fb2k spectrogram the right tool at all to find such an error? If no, which is a right tool for that, because I dont know any?
Id like to use the QuickTime AAC for my compressions, but not, if I screw up my collection with it.
for me it is not working...wrong channel order (with qtaacenc)...
_
is it relevant that i use fb2k as an encoder-interface?
Has anyone got an explanation for the spectrogram I posted above?
For those, who don't want to run the QuickTimeInstaller.exe, here is a modified version of the batch file
Excellent idea. Here is another version of "QT portable" package: http://www.multiupload.com/PW9C8MS719 (http://www.multiupload.com/PW9C8MS719)
1. Download it and unpack to some folder.
2. Download QuickTimeInstaller.exe. Copy it to that folder.
3. Run makeportable.cmd.
Note 1: the script will remove all unnecessary files, incuding QuickTimeInstaller.exe and itself.
Note 2: the script should also work with iTunesSetup.exe and iTunes64Setup.exe
Nice. Works here.
Thank you.
Is it possible to do fully portable package (without downloading QuickTimeInstaller.exe or iTunesSetup.exe ) or it will violate some licence? Or some workaround in such situation?
Thx for this progam, just used the portable version for the first time.
The channel mapping for 5.1 seems to be wrong, though:
original - qtaac
FL - C
FR - FL
C - FR
BL - BR
BR - LFE
LFE - BL
Is it possible to do fully portable package (without downloading QuickTimeInstaller.exe or iTunesSetup.exe ) or it will violate some licence? Or some workaround in such situation?
It is technically possible, but I don't know is it legal or not.
fyi, iTunes 10.5 is apparently out. The 64-bit Windows release notes (http://support.apple.com/kb/DL1427) have an interesting note:
Note: iTunes 10.5 no longer requires or includes QuickTime.
Chris
No Quictime? Interesting. Updated AAC encoder? TVBR? Guess I'll have to do some testing on the new iTunes.
I don't see any encoder updates to the iTunes AAC encoder settings under Mac OS X so no true VBR. Also, based on the release notes, I don't think they changed the AAC encoder. The only updates they seemed to apply (aside from what has already been mentioned which does not really affect Mac OS X users) revolved around the integration of iCloud in that iTunes can wirelessly sync devices running the latest version of iOS and it can also automatically download previously purchased apps, TV shows, eBooks, and music content (songs, iTunes LP files, and music videos) that are not located in your iTunes library. The last version of iTunes could not automatically do this, you had to download each and every file manually while it can do that automatically now. It didn't bring iTunes Match yet but that isn't supposed to come until the end of the month.
-blub sorry, my mistake-
So iTunes now uses CoreAudioToolbox/CoreFoundation/etc directly. Interesting.
Could we have HE-AAC+v2 encoding with qtaacenc.exe? Would be nice to have all kinds of encoding options in one tool.
Slightly off topic, but if iTunes no longer requires Quicktime and doesnt come with it, is it not possible to use WASAPI for iTunes anymore?
I'd like to ask a casual question: What settings should I use for listening on mobile devices (iPod)?
Right now, all I do is this:
qtaacenc.exe --highest input.wav
I leave the rest on defaults. Is that advisable? I'd like transparent results, so I reckon a higher quality setting would be in order, correct?
In case someone has experience with that, please respond.
Well, if you don't specify an encoding mode and parameters, it encodes at True VBR 65.
That gives bitrates roughly in the same range as LAME's V5 switch, so basically ~128 kb/s nominal target rate, with variations quite a bit above or below that depending on the music.
Apple's AAC encoder has proven to be very good in the last couple lower-bitrate (64 kb/s and 96 kb/s) listening tests, so it's reasonable to assume it's quite good at TVBR 65, but as to whether or not it's transparent to you...as usual, only doing your own ABX tests can answer that.
FYI, there's a bug in the QuickTime AAC encoder (at least as of v7.7.0) that can potentially introduce artifacts - in all encoding modes - if the quality switch is above "--normal" - see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=90678) for an example of a track that causes it.
Well, that's why I was asking. I did encode with default values (except --highest), and once again with --tvbr 96. I believe I heard artifacts, but I didn't know if it was just something I was imagining, or if it was artifacts at higher VBR settings. I was thinking I was using wrong parameters, but it seems I've ran into the bug.
I'll keep an eye on this. I've encoded a number of files with --tvbr 96 and have already tagged them. Seems I need to do this all over again, once I recreate them (I still have the FLACs that I used as source).
Anyway, thanks for bringing this to my attention.
I believe I heard artifacts, but I didn't know if it was just something I was imagining, or if it was artifacts at higher VBR settings.
ABX! That's exactly what it's for.
Before you can say whether or not you're hearing artifacts due to an encoder bug, you need to at least establish whether or not you're even hearing artifacts.
Any version of CoreAudioToolbox.dll after 7.6.3.0 applies and incorrect channel map on multichannel files:
http://sites.google.com/site/qaacpage/news/aboutquicktime77 (http://sites.google.com/site/qaacpage/news/aboutquicktime77)
You have two options - get an older version of CoreAudioToolbox.dll that was mentioned earlier in this thread, or use qaac.exe instead of qtaacenc.exe because it automatically remaps the channels for the newer versions of quicktime.
I have v7.7.0 and it seems to produce correct channelmapping, I just tried encoding a surround test clip and the result sounded fine on headphones (used eac3to to decode the 5.1 AC3 file and piped to qtaacenc to encode to 5.1 AAC). If I use the channel remapping in eac3to that was mentioned earlier in this thread, the mapping is incorrect in the result.
Any version of CoreAudioToolbox.dll after 7.6.3.0 applies and incorrect channel map on multichannel files:
http://sites.google.com/site/qaacpage/news/aboutquicktime77 (http://sites.google.com/site/qaacpage/news/aboutquicktime77)
You have two options - get an older version of CoreAudioToolbox.dll that was mentioned earlier in this thread, or use qaac.exe instead of qtaacenc.exe because it automatically remaps the channels for the newer versions of quicktime.
I have v7.7.0 and it seems to produce correct channelmapping, I just tried encoding a surround test clip and the result sounded fine on headphones (used eac3to to decode the 5.1 AC3 file and piped to qtaacenc to encode to 5.1 AAC). If I use the channel remapping in eac3to that was mentioned earlier in this thread, the mapping is incorrect in the result.
Heck, it seems that encoding a 5.1ch DTS-HD MA file produces incorrect mapping...need to investigate more
7.7.1's CoreAudioToolbox (version 7.9.7.8) is still broken.
I have this problem, no one can help me?
This is the result in foobar2000:
1 out of 1 tracks converted with major problems.
Source: "F:\Audio - Video\Foobar\Ghost.wav"
An error occurred while writing to file (The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters) : "F:\Audio - Video\Foobar\Ghost.m4a"
Additional information:
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "D:\Program Files (x86)\qtaacenc-20100307\qtaacenc.exe" --tvbr 100 --highest - "Ghost.m4a"
Working folder: F:\Audio - Video\Foobar\
Conversion failed: The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters
Edit: now work
I've just setup Foobar with qtaacenc and the latest version of Qucktime (7.7.1) and I'm getting the same error. I've dealt with this once before, but for the life of me I can't remember what I ended up doing to fix it.
Any help would be appreciated.
I got the same problem using Quicktime 7.7.1.
QuickTime 7.6.9 works without a problem.
please update to the latest version (qtaacenc-20110816)...
http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/)
_
please update to the latest version (qtaacenc-20110816)...
http://tmkk.pv.land.to/qtaacenc/ (http://tmkk.pv.land.to/qtaacenc/)
_
Weird, I downloaded that yesterday and it wasn't working. Downloaded again this morning and it's now working. Did the file change?
Regardless, thank you for the spurring to dl again!
@nao: do you have a similar OS X version of this utility? Or should one use badly documented afconvert? If so, do you happen to have any decent docs about afconvert? (especially considering HE-AAC v1 and v2 and multichannel with pipe as input)
afconvert doesn't accept pipe input, but besides that it should have all encoding features that qtaacenc has.
It will be easy to provide the same tool for OSX, because a large part of the feature is already implemented in my another project for OSX (XLD). But should I do that?
nao, would you be OK with integrating the necessary code by lvql into the official build to enabel portability please?
would one of the features be the piping input?
But should I do that?
If there is enough demand, certainly do not bother if my request is the only one
nao, would you be OK with integrating the necessary code by lvql into the official build to enabel portability please?
I'm hesitating to do it because it may be against Apple's intention (using QT encoder without installing QT).
Thx for the new version, working fine with the newest QuickTime.
- 5.1 (and probably other multi-channel configurations) channel mappings still wrong
- I saw that qtaacenc silently ignores unknown parameters. I think that is a very bad idea, a small typo can give you sleepless nights, trying to figure out what you are doing wrong.
I tried to make ExactAudioCopy 1.0 b2 support qtaacenc, but I possibly made a mistake in the command line.
The options changed since EAC 0.9x, they are more verbose now, but also more flexible.
I used the following:
--tvbr 80 %islow%--normal%islow%%ishigh%--highest%ishigh% --title "%title%" --artist "%artist%" --albumartist "%albumartist%" --album "%albumtitle%" --track "%tracknr%/%numtracks%" --disk "%cdnumber%/%totalcds%" --genre "%genre%" --date "%year%" --comment "%comment%" %source% %dest%
but the result of the encoder test (EAC creates a short file with a random name) was:
E:\Programme\qtaacenc\qtaacenc.exe --tvbr 80 --highest --title "Track Title" --artist "Track Artist" --albumartist "CD Artist" --album "CD Title" --track "05/1" --disk "1/1" --genre "Drum Solo" --date "1999" --comment "Comment" "etmp7!1!5.wav" "etmp7!1!5.m4a"
Using QuickTime 7.7.1 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0)
Configurations: True VBR quality 80, Highest quality profile, auto Hz
Error: input file does not exist.
The command line looks well to me. So I just hope that qtaacenc will accept forced-quoted filenames. Unfortunately, the error message is so brief that I don't know which input filename qtaacenc is looking for and failing.
Hey, I was just wondering, how the qtaacenc project is. I haven't seen updates for a couple of months.
Also, I'd like to know, how well qtaacenc deals with very large files, in the order of of 5GB for a 16bits/sample, 2 channel, 44.1kHz WAV PCM file. I tried using lame 3.98 and it seems it has some problems with that when creating MP3 files (I ended up using another encoder). Does qtaacenc have such a limitation?
The Microsoft RIFF WAV file itself has the limitation. It has a header field of only 32 bit storing the size of the "data" chunk, so any application relying on this header entry has to fail. Therefore some support an "--ignorelength" parameter (useful for piping too, where the header cannot contain valid data before the file was finished), or an extended fileformat "w64".
could someone please tell me something about this mysterious channel-mapping error? I cant see it, and dont want to mess up my collection.
fb2k-Spectrogramm is this:
Original .dts on the left - qtaacenc-output on the right.
(http://img193.imageshack.us/img193/6370/dtsvsqtaaspectrogram.png) (http://imageshack.us/photo/my-images/193/dtsvsqtaaspectrogram.png/)
Looks okay for me!
I've just installed iTunes for the first time. Never had QuickTime installed either. (Windows 7, 32 bit). The current iTunes 10.5.2 does not require QuickTime so I didn't install it. Qtaacenc does not work. Is it possible to make it work using CoreAudioToolbox and whatever else would be needed for encoding without QuickTime? Or does QuickTime have something better than CoreAudioToolbox so it's beneficial to install? I managed to rip and encode ~10 CDs in iTunes to aac/m4a without any issues, so I know Apple does not require QT for encoding any more. I got qaac working via fb2k; are there any advantages to qtaacenc? Thanks.
qtaacenc doesn't support including cover images and lyrics into the AAC file. And I couldn't find why ExactAudioCopy doesn't support it well.
Thanks but not exactly what I wanted to know. I should have been more clear. Is there currently any advantage to using QuickTime as an encoder instead of iTunes? Apparently that used to be the case, from what I've read here. Now that QuickTime is separate from iTunes, is there any reason to install it for encoding, or is iTunes functionally identical? (Maybe this question should be a new thread).
It's not possible to encode with TrueVBR mode using iTunes.
It is possible with both qaac and qtaacenc. But qtaacenc also requires QuickTime.
Thanks but not exactly what I wanted to know. I should have been more clear. Is there currently any advantage to using QuickTime as an encoder instead of iTunes?
In Windows, SDK for QuickTime is provided by Apple. However, Apple Application Support is currently just an porting layer used internally by Apple products, and there's no SDK for developers or something.
Therefore, using CoreAudioToolbox from external program is at least some kind of hack, and I don't know if it is the right thing to do (Though qaac is exactly doing it).
Looks like I'm still not making myself clear although we're getting closer.
Using fb2k as a front end for encoding, not iTunes, is there currently an advantage to using qtaacenc/QuickTime over qaac/CoreAudioToolbox? Or do they ultimately end up using the same Apple encoder somehow?
I would prefer not to install QT in addition to iTunes, which I only installed due to a new iPhone.
Thanks.
Or do they ultimately end up using the same Apple encoder somehow?
Yes. You can check it with Binary Comparator of foobar2000, as long as you are using equivalent encoder settings.
Is anyone able to upload the last "portable QT" package again? Multiupload's been down for the count for a while now and I'm not expecting it to come back in the future. =[
Hi.
I just discovered qtaacenc and, um, I need help writing the encoder.txt for dBPowerAmp so it can use the encoder.
I already installed the CLI Encoder and made all the ncessary files.
I've come with this encoder.exe myself but it gives me 0 bytes file :
[codec]
.m4a
qtaacenc.exe
[label]
2
24
Quality:
[combo]
35
21
55
1
40kbps
--tvbr 4
75kbps
--tvbr 22
95kbps
--tvbr 40
115kbps
--tvbr 58
135kbps
--tvbr 68
165kbps
--tvbr 86
195kbps
--tvbr 95
225kbps
--tvbr 104
255kbps
--tvbr 113
285kbps
--tvbr 122
320kbps
--tvbr 127
[label]
2
42
Encoder Quuality:
[combo]
60
38
96
1
Normal
-- normal
High
-- high
Highest
-- higest
[clistring]
-a "[artist]" -l "[album]" -t "[title]" -g "[genre]" -y [year] -n [track] -m [track_total] -j [disc] -k [disc_total] -c "Encoded with dBpoweramp using QTAACEnc.exe" -i "[infile]" -o "[outfile]"
[maxchannels]
48
Some notes : the clistering part was with the iTunesEncode.exe found here : http://forum.dbpoweramp.com/showthread.php...-AIFF-MP3-files (http://forum.dbpoweramp.com/showthread.php?14103-iTunesEncode-HowTo-Using-iTunes-with-dMC-to-make-AAC-ALAC-AIFF-MP3-files)
I was not sure if it was needed or not. So, I left it there. Same for maxchannels.
Can someone help me out with this? Thanks!
I made a AutoIt version of the Portable packager originally done by lvqcl.
http://www.mediafire.com/?28zjzmm0wjgc1qg (http://www.mediafire.com/?28zjzmm0wjgc1qg)
On Vista & Win7 systems will likely have to run it as Admin.
Now this has a few perks over the batch script:
Try's to run installed 7-zip if possible automatically, followed by in folder 7-zip...if all else fails it asks you to locate 7-zip.
Try's to run in folder Installer if possible, failing that it'll ask you to browse to your preferred installer.
Try's to run more or less silently if possible, with only an icon displayed in the SystemTray till the completed dialog pops up.
These are very minor improvements over the original batch script...so no need to replace it, unless your just curious.
Source:Dim $Installers[3] = [ 'iTunes64Setup.exe' , 'iTunesSetup.exe' , 'QuickTimeInstaller.exe' ]
; Handle 7-zip
If FileExists( @ScriptDir & '\7z.exe' ) Then
$Path_7zip = @ScriptDir
Else
$Path_7zip = RegRead( 'HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip', 'Path' )
If $Path_7zip = '' OR FileExists( $Path_7zip & '\7z.exe' ) = 0 Then
While 1
$7zip = FileOpenDialog( 'Select 7-zip Executable.' , '' , 'Executables (*.exe)' , 1 + 4 )
If @Error Then
MsgBox( 4096 , 'Error:' , 'No Executable Chosen.' )
Exit
Else
$Path_7zip = StringLeft( $7zip , StringInStr ( $7zip , '\' , 0 , -1 ) - 1 )
If FileExists( $Path_7zip & '\7z.exe' ) Then ExitLoop
MsgBox( 4096 , 'Error:' , '7z.exe Not Present.' )
EndIf
WEnd
EndIf
EndIf
; Handle Installers
$Installer = ''
For $Element In $Installers
If FileExists( @ScriptDir & '\' & $Element ) Then
$Installer = @ScriptDir & '\' & $Element
ExitLoop
EndIf
Next
If $Installer = '' Then
While 1
$Installer = FileOpenDialog( 'Select iTunes or QuickTime Installer.' , '' , 'Executables (*.exe)' , 1 + 4 )
If @Error Then
MsgBox( 4096 , 'Error:' , 'No Installer Chosen.' )
Exit
Else
If FileExists( $Installer ) Then ExitLoop
EndIf
WEnd
EndIf
; Start Extracting Files
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & $Installer & '" AppleApplicationSupport.msi' , $Path_7zip , @SW_HIDE )
If NOT FileExists( @ScriptDir & '\Temp\AppleApplicationSupport.msi' ) Then
MsgBox( 4096 , 'Error:' , 'Installer Does Not Contain' & @LF & 'AppleApplicationSupport.msi' & @LF & 'Exiting...' )
DirRemove( @ScriptDir & '\Temp\' , 1 )
Exit
EndIf
$Packaged = 'Qaac'
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & @ScriptDir & '\Temp\AppleApplicationSupport.msi"' , $Path_7zip , @SW_HIDE )
FileMove( @ScriptDir & '\Temp\ASL.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\CoreAudioToolbox.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\CoreFoundation.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icudt46.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libicuin.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libicuuc.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icudt40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icuin40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\icuuc40.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\libdispatch.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\objc.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\pthreadVC2.dll' , @ScriptDir & '\QTfiles\' , 9 )
FileMove( @ScriptDir & '\Temp\msvcp80.dll.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\msvcp80.dll' , 9 )
FileMove( @ScriptDir & '\Temp\msvcr80.dll.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\msvcr80.dll' , 9 )
FileMove( @ScriptDir & '\Temp\manifest.*' , @ScriptDir & '\QTfiles\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest' , 9 )
FileDelete( @ScriptDir & '\Temp\' )
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & $Installer & '" QuickTime.msi' , $Path_7zip , @SW_HIDE )
If FileExists( @ScriptDir & '\Temp\QuickTime.msi' ) Then
RunWait( @ComSpec & ' /c 7z.exe e -y -o"' & @ScriptDir & '\Temp\" "' & @ScriptDir & '\Temp\QuickTime.msi"' , $Path_7zip , @SW_HIDE )
FileMove( @ScriptDir & '\Temp\QuickTime.qts' , @ScriptDir & '\QTfiles\QuickTime.qts' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.dll' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.qtr' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_QuickTime.qtxs' , @ScriptDir & '\QTfiles\QuickTime.Resources\QuickTime.qtxs' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_en.lproj_QuickTimeLocalized.dll' , @ScriptDir & '\QTfiles\QuickTime.Resources\en.lproj\QuickTimeLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTime.Resources_en.lproj_QuickTimeLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTime.Resources\en.lproj\QuickTimeLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.qtx' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_QuickTimeAudioSupport.qtr' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\QuickTimeAudioSupport.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_en.lproj_QuickTimeAudioSupportLocalized.dll' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAudioSupport.Resources_en.lproj_QuickTimeAudioSupportLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.qtx' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_QuickTimeAuthoring.qtr' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\QuickTimeAuthoring.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_en.lproj_QuickTimeAuthoringLocalized.dll' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.dll' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeAuthoring.Resources_en.lproj_QuickTimeAuthoringLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.qtx' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.qtx' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.Resources_QuickTimeMPEG4Authoring.qtr' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.Resources\QuickTimeMPEG4Authoring.qtr' , 9 )
FileMove( @ScriptDir & '\Temp\QuickTimeMPEG4Authoring.Resources_en.lproj_QuickTimeMPEG4AuthoringLocalized.qtr' , @ScriptDir & '\QTfiles\QuickTimeMPEG4Authoring.Resources\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr' , 9 )
$Packaged = 'Qaac & QTaacEnc'
EndIf
DirRemove( @ScriptDir & '\Temp\' , 1 )
MsgBox( 0 , 'Finished' , 'All files Processed.' & @LF & @LF & 'Package Compatable with ' & $Packaged )
How to avoid resampling to 48k?
I have one album, mostly acoustic instruments, and using tvbr 67 profile to encode it - ending in unusually high bitrates (130-160 kbit) and album is resampled to 48 kHz.
Why? Input is FLAC image of the album.
I've searched the forum but couldn't find any info.
Additionally, if I force it to encode with --samplerate 44100, is the encoder doing resampling twice? When I turn on "keep" option, it resamples to 48k.
Nologic thanks for the package.
Can you please link the original one made by lvqcl?
Hi eahm,
Yeah I can...sadly I can't seem to edit my original post.
batch script by lvqcl (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=768493)
It's post #329 of this thread.
There seems to be a file permission issue when i use qtaacenc to encode files outside the C:\User\Anon\Music folder, for example C:\Music.
Authenticated Users group seems to be missing on each file.
Anyone figure this out?
Take ownership of folder, subfolders and files of that C:\Music folder.
I finally found a codec, which at 256 kbps on my system sounds like the original CD. Thanks nu774!
Take ownership of folder, subfolders and files of that C:\Music folder.
Tried that and the foobar icon still shows up with the little lock on it in the left corner. If I encode directly into my C:\users\* folder I get no issues and no stupid locks on the foobar icons. I'm stumped. Not sure what that lock on the icon even means, but it's annoying.
I believe it would work if you ran foobar2000 as Administrator?
I believe it would work if you ran foobar2000 as Administrator?
Still no luck. Icons show the lock.
Offtopic to understand file permissions under Windows NTFS filesystem.
NTFS filesystems allows to:
- Set ownership of a file or directory to one user or group.
- Set permission (access, write, read, create, control permissions,...) over a file/directory to users and groups (can be several).
Each file/folder has its owner and permissions, they are not heretated. Only at creation time, the permissions of the folder determine the permissions of the file, and the user that creates it becomes the owner.
The owner is always able to change permissions (and owner), but does not give permission over the file itself. For that, it is needed to set the concrete permissions of the desired user or group.
So it is important to get ownership only to get control permissions, and once you have control permissions, do change the permissions to those that you need. A "shortcut" permission is there that says "Total control". That means enabling all permissions.
It is also important to note that this only changes the file being modified, and that there is a second option that says "replace all permissions on secondary objects ....". This setting is important for a directory, so that it can fix the permissions of the files it contains.
The setting "include permissions that can be heretated..." helps to fix the permissions of a file/folder that has been moved to another place, and so the permisions should be different. That would be faster than using the setting mentioned above.
Addenum:
Understanding the default groups in Windows:
There are three groups that are worth mentioning (there are others, but they are for more specific roles).
- Administrators
- SYSTEM
- (Autenticated) Users
The group Administrators is self explanatory, and are users that have been given the Administrator role in the User control panel.
The group SYSTEM is the operating system itself (as in Windows Update or execution of system services)
The group Users is every user (not only real) defined. One user is, for example, the "Guest" user. Administrators are also Users. SYSTEM is not an user.
Conclusion: Generally speaking, you would like the C:\Music folder to be owned by your user, and set the permissions of Users in that folder and all that it contains to "Total Control". Alternatively, you might set only read permissions to Users group and set total control for your specific user.
Addennum bis:
Do not mix (network) shared permissions with filesystem permissions. Sharing permissions allow Networked access, and add upon file permissions (i.e. the most restrictive of both, shared and file, is applied).
@ [JAZ] - I appreciate your post, however I don't understand 99% of what you wrote. All I'm trying to do is use foobar and qtaacenc.exe to make M4A files in some other directory other than C:\Users\* without foobar showing a locked (but still fully functional) icon. I've been making FLAC, MP3 and just about every other type of file you can think of using a host of programs, but this is the first time I've experienced this. Since the icon lacks the lock when encoding directly to the C:\Users\* folder I assume it's the *.exe file that's creating this in the other folder(s). The question is why?
Edit: I'm using Windows 7 if that matters.
How to avoid resampling to 48k?
I have one album, mostly acoustic instruments, and using tvbr 67 profile to encode it - ending in unusually high bitrates (130-160 kbit) and album is resampled to 48 kHz.
Why? Input is FLAC image of the album.
I've searched the forum but couldn't find any info.
Additionally, if I force it to encode with --samplerate 44100, is the encoder doing resampling twice? When I turn on "keep" option, it resamples to 48k.
I'm not sure since I don't use AAC myself but I think you have to add "--samplerate keep" to the command line.
this is so far off topic, but I feel a need to chime in.
@Daffy:
the "C:\Users\<your user>\" folder is special. it allows you, that user, to create files in that folder for your use. if you go anywhere outside that folder, you suddenly require admin privileges to do much of anything. therefore, you can either encode audio into your user's folder (anywhere in there you like), OR encode all the audio you want outside your user's folder, then take control of that folder using a very uselessly complicated series of menus.
to correct you, though - it's not the program that creates the files, it's the fact that they're outside of your user's folder that makes them somewhat inaccessible.
at this point I think you'd have to look elsewhere (because it's not directly audio related), like here (http://technet.microsoft.com/en-us/library/cc753659.aspx).
@ [JAZ] - I appreciate your post, however I don't understand 99% of what you wrote.
I thought you already managed to go to setting file permissions. You can do all that I explained following these steps:
(If you have a friend that knows more about computers, you might ask him to verify that you do it right)
Open Windows explorer
Select the C:\Music folder
Right-click, properties
Select "Security" tab
At the bottom, press "Advanced" button.
Select "propietary" tab
Select your user (it should appear in the list below. If it doesn't, use the Edit button and search it). You can skip this if the "Current proprietary" is already your user.
Switch back to the "permissions" tab
Press "change permissions" button.
If the group "Users" (spoken in your language) is not there, press the Add button. Write "Users" there (again, spoken in your language), press check name to verify it is correct and accept.
Once the group "Users" is already on the list, select it and press the Edit button
On the top of the list, there's an option that says "Total control". Enable the check in the "allow" column and accept.
On the botton screen, enable the check "Replace all permissions on secondary objects ...." and accept.
It might take some time (from seconds to minutes, depending on the amount of files you have inside the C:\Music directory).
Accept, and accept to close all opened windows.
If you got that right, existing and new files stored in c:\Music folder and subfolders will work as you expect.
The fact that Windows treats some of its folders in such a special way, like a virtual directory, or a kind of "soft link", makes some security specialists call Windows a Rootkit on its own, due to its purpose: Hiding the "physical" structure of a harddisk (partition) from the user.
I even found an eternal recursion in the branches inside the Users directory, related to the "Application data", in Windows 7, using alternative file managers like the "Far manager 2".
Therefore, it is always recommendable to use directories which are not at all related to Windows' logical structure. Experienced users will probably have distinct partitions for the system on one hand and data on the other, possibly even distinct physical drives.
NTFS filesystem has supported soft links since Windows XP (Not sure if from the start, or after a SP), but it has had no way to use it until recently.
As for "hiding the physical structure", I am convinced that this is much better than using shortcut link files like what existed in Windows XP.
Also, I doubt power users should feel worried about this. Especially if such power users are familiar with linux/unix, of which several filesystems have had support for this for many years.
I do have three partitions, and user data is on one of them. This doesn't prevent me from having an access from the default folders, and even the "Download" folder is mapped to a folder on this separate partition.
Anyway, this has nothing to do with file permissions.
I don't mean "soft links" as a feature of the file system, but as a feature of the user interface "Explorer". Logical objects like "Control center" or "My documents" are presented like folders even though they don't exist in the file system's directory tree at all or in this position (in the case of "My documents", you can choose a physical folder as its target).
I forgot to mention, but 8.0ch is also supported. The bitrate limits (@48kHz) are:- LC-AAC
- Quadraphonic : 640 kbps
- 4.0ch : 640 kbps
- 5.0ch : 768 kbps
- 5.1ch : 768 kbps
- 6.0ch : 960 kbps
- 6.1ch : 960 kbps
- 7.0ch : 960 kbps
- 7.1ch : 960 kbps
- 8.0ch (L R C Ls Rs Cs Rls Rrs) : 1280 kbps
- HE-AAC
- Quadraphonic : 160 kbps
- 5.1ch : 192 kbps
- 7.1ch : 256 kbps
The actual limit changes according to the input samplerate.
@nao: How exactly did you calculate these limits? Does it depend on the particular encoder used or are they fixed by the sample rate and number of channels for each encoder?
Many thanks for your information :-)
Not calculated; obtained from QT's GUI (encoder option interface). Of course it depends on the encoder. LC-AAC and HE-AAC have different limits.
It would be really cool if this tool could be adapted into a portable stand-alone front-end for fdk-aac, since ffmpeg/avconv is lacking in the gapless encoding department. Writing both encoders and decoders based on fdk-aac is pretty simple, if all you care about is raw AAC. It calls for a complete package like this to wrap it up in an MP4 container and supply tags.
Portable would also be nice, so that it could be compiled and used outside of Windows. That sort of makes sense since it would be entirely open source. I think the only problem with that would be use of non-portable code in qaac itself, since it was originally designed to interface with QuickTime, which is a Win32 binary package.
EDIT: Arse, I thought this was a qaac topic.
Well I updated my AutoIt conversion of lvqcl batch script (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=78072&view=findpost&p=768493) that creates a portable package from any of the following Apple Installers: iTunes64Setup.exe (http://www.apple.com/itunes/download/) , iTunesSetup.exe (http://www.apple.com/itunes/download/) , QuickTimeInstaller.exe (http://www.apple.com/quicktime/download/)
For QtAACenc (http://tmkk.undo.jp/qtaacenc/) the script needs the QuickTime installer (http://www.apple.com/quicktime/download/).
For QAAC (https://sites.google.com/site/qaacpage/) any of the three will do.
QAAC (https://sites.google.com/site/qaacpage/) doesn't require any of the QuickTime files or directories.
I would have edited my original posting (http://www.hydrogenaudio.org/forums/index.php?showtopic=78072&view=findpost&p=803958)...but I seem unable to do that.
MediaFire Link (http://www.mediafire.com/?914xzth8648ymfl) to Script.
Main difference is that this build should be faster that the prior one.
Thank you!
hello, i have a question, i have a 24bit/44 hdtrack album i bought, and am wondering how to go about converting to tvbr.
how does quicktime handle 24 bit files?Not ones that need resampling but are just 24 bit?
i have izotope mbit, would that be better?
I believe: They will simply be used as high-precision audio source. IIRC, the AAC format uses the frequency domain, and converting 24-bit sample windows to frequency spectrums is just more precise than using 16-bit samples.
No guarantee.
I just attempted using qtaacenc for the first time in a couple of years. For some reason, using the exact same command lines I'd used in the past (which I saved in a document), I can't get it to work with either Foobar or dBpoweramp.
With Foobar, I'm getting the error message, "An error occurred while writing to file (The encoder has terminated prematurely with code -1 (0xFFFFFFFF); please re-check parameters)."
Does anyone know what might be causing this? I'm using the command line that is recommended at this link, and I did change the extension to .m4a:
http://tmkk.undo.jp/qtaacenc/ (http://tmkk.undo.jp/qtaacenc/)
I originally tried it with a slightly older (early 2010) version of qtaacenc, then I tried it with the latest version. Exact same result. Anyone have any ideas?
I don't know what's causing your qtaacenc problem, but maybe you should take a look at qaac. It's very similar to qtaacenc but is actually being actively developed.
https://sites.google.com/site/qaacpage/ (https://sites.google.com/site/qaacpage/)
http://www.hydrogenaudio.org/forums/index....showtopic=85135 (http://www.hydrogenaudio.org/forums/index.php?showtopic=85135)
The other project, qaac, has developed further in the meantime. Seems also more reliable, qtaacenc never worked for me in EAC.
Does anyone know what might be causing this?
It requires QuickTime 7.6.2 or later and MSVC 2008 runtime. Make sure that you have them installed.
Does anyone know what might be causing this?
It requires QuickTime 7.6.2 or later and MSVC 2008 runtime. Make sure that you have them installed.
I do -- I'm working from 7.7.3. But I'll give qaac a try.
The other project, qaac, has developed further in the meantime. Seems also more reliable, qtaacenc never worked for me in EAC.
Thanks. However, I have no idea how to figure out a command line for qaac for use in Foobar. I spent half an hour Googling command line options for qaac. I've seen them, but I don't understand all this. I just want to do True VBR quality 127. Can someone give me a command line? I can't even get it to work.
You should possibly have searched for "qaac foobar2000" in this board (foobar2000, not just foobar).
The output file name has to be a placeholder "%d" directly following the output option "-o" (so all other options must not part these two); the input has to be the hyphen "-" for STDIN support.
-V 127 -o %d -
You should possibly have searched for "qaac foobar2000" in this board (foobar2000, not just foobar).
The output file name has to be a placeholder "%d" directly following the output option "-o" (so all other options must not part these two); the input has to be the hyphen "-" for STDIN support.
-V 127 -o %d -
Thank you. That works.
This issue seems to have been already brought up in this thread but I thought I'd bring it back up. For some reason when using the CLI Encoder in dbPoweramp it seems that the program isn't applying the tag information. Anyone know why this is and how to fix it? Would really appreciate an answer seeing as I've searched almost everywhere and still can't find a solution
Why are people still using qtaacenc?
Question, can quicktime aac tvbr handle 32 bit float files?the new izotope puts all files in 32 float after resampling, thanks
Yes it can, I feed such samples to it constantly.