Skip to main content

Notice

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

QAAC: discussion, questions, feature requests, etc.

Reply #450
Is libsoxrate.dll anywhere else in the system? qaac just converted a 24/96 test file to a 16/48 with only qaac.exe in the encoder folder.

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

QAAC: discussion, questions, feature requests, etc.

Reply #451
Is libsoxrate.dll anywhere else in the system? qaac just converted a 24/96 test file to a 16/48 with only qaac.exe in the encoder folder.

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

Try qaac --check, then add --verbose when encoding, and see what you get.

QAAC: discussion, questions, feature requests, etc.

Reply #452
Code: [Select]
D:\foobar2000\Encoders>qaac --check
qaac 2.21, CoreAudioToolbox 7.9.8.3


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

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


Only qaac.exe is in the folder. I have iTunes (latest) installed.

QAAC: discussion, questions, feature requests, etc.

Reply #453
So, it's just that CoreAudio resampler is (naturally) being used.

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

Are you sure? Try again with --check, --verbose, with libsoxrate installed. Make sure not to use libsoxrate64.dll with qaac.

QAAC: discussion, questions, feature requests, etc.

Reply #454
Or, if you are trying to use libsoxr (instead of libsoxrate), make sure to download libsoxr_0.1.1_20130907.zip, and copy libgcc_s_sjlj-1.dll with libsoxr.dll (both are under x86 directory in the archive).

QAAC: discussion, questions, feature requests, etc.

Reply #455
Code: [Select]
D:\foobar2000\Encoders>qaac --check
qaac 2.21, CoreAudioToolbox 7.9.8.3
libsoxrate 0.4.1
libsoxr-0.1.1


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

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


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


I must have been tired last night, I swear they were bit-bit identical :/


QAAC: discussion, questions, feature requests, etc.

Reply #457
[qaac] release 2.22 (refalac 1.22)
posted 56 minutes ago by nu 774

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

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

Thank you very much nu774, you truly rock!

QAAC: discussion, questions, feature requests, etc.

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

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

QAAC: discussion, questions, feature requests, etc.

Reply #459
Can somebody please explain these things:

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

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

QAAC: discussion, questions, feature requests, etc.

Reply #460
Can somebody please explain these things:

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


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

http://en.wikipedia.org/wiki/Advanced_Audi...ntainer_formats

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


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

QAAC: discussion, questions, feature requests, etc.

Reply #461
Can somebody please explain these things:

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


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

http://en.wikipedia.org/wiki/Advanced_Audi...ntainer_formats

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


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

thanks for the info

QAAC: discussion, questions, feature requests, etc.

Reply #462
[qaac] release 2.24 (refalac 1.24)
posted 4 hours ago by nu 774

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

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

Thanks again nu774 for your dedication.

QAAC: discussion, questions, feature requests, etc.

Reply #463
As for new wavpack float16/24bit file created with --store-floats-as-int:
It can be decoded by 4.60.1 DLL. Of course you can upgrade it to new 4.70 DLL. Both are binary compatible.
And it seems that --store-floats-as-int is possible for normal float32 WAV file. Although I don't think of it's practical use, qaac can decode such a file, too.

 

QAAC: discussion, questions, feature requests, etc.

Reply #464
nu774, does libsoxr64.dll need libgcc_s_sjlj-1.dll? Just asking because the x64 folder doesn't have the file in it, I only use the x86 binary.

QAAC: discussion, questions, feature requests, etc.

Reply #465
nu774, does libsoxr64.dll need libgcc_s_sjlj-1.dll? Just asking because the x64 folder doesn't have the file in it, I only use the x86 binary.

No.
Basically speaking, if refalac64 --check shows libsoxr then it's OK.

QAAC: discussion, questions, feature requests, etc.

Reply #466
Thank you and thank you for fdkaac changelog.

QAAC: discussion, questions, feature requests, etc.

Reply #467
[qaac] release 2.25 (refalac 1.25)
posted 10 hours ago by nu 774

Fixed HE-AAC gapless playback issue

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

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

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

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

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

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


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

QAAC: discussion, questions, feature requests, etc.

Reply #468
nu774, probably stupid question: how do I create a multiple words tag? Ex: --tag too:word1 word2

Thanks.

QAAC: discussion, questions, feature requests, etc.

Reply #469
nu774, probably stupid question: how do I create a multiple words tag? Ex: --tag too:word1 word2

All of the following examples will work.
--tag too:word1" "word2
--tag too:word"1 wor"d2
--tag too:"word1 word2"
--tag "too:word1 word2"

QAAC: discussion, questions, feature requests, etc.

Reply #470
As I said, stupid question, it didn't even cross my mind to use "", I should go to sleep earlier

The third option is good enough, thank you.

QAAC: discussion, questions, feature requests, etc.

Reply #471
[qaac] release 2.26 (refalac 1.26)
posted an hour ago by nu 774
Disabled --no-delay on SBR. --no-delay removes several frames at beginning to compensate encoder delay, but it turns out to be problematic for SBR since sbr_header is not present on every frame, and decoder cannot decode SBR until seeing it. Anyway, you should be using LC when delay is important.
I guess VLC cannot decode SBR at the beginning of HE-AAC file having edts because of similar reason. It really needs to read sbr_header -- but probably it just skips to the position described in edts.
Added --drc for dynamic range compression.
About new dynamic range compressor

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

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

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

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

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

QAAC: discussion, questions, feature requests, etc.

Reply #472
Hi,

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

I want something similar to LAME -V2.

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

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

Thanks a lot!
\"I never said I would stay to the end...\"

QAAC: discussion, questions, feature requests, etc.

Reply #473
What is the parameters I should put to qaac?

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

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

Yes: qaac documentation.

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

Have you tried using LAME -V2 ?

QAAC: discussion, questions, feature requests, etc.

Reply #474
Hi,

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

I want something similar to LAME -V2.

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

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

Thanks a lot!


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

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

Tips:
- Easy to use tool/GUI for converting with QAAC (and other codecs): TAudioConverter
- Abx can be done by using Foobar and one of its external plugins named ABX Comparator