Skip to main content

Topic: QAAC: discussion, questions, feature requests, etc. (Read 362219 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #425
Thanks for the update nu774. Simple question, is libsoxr conversion just faster? Does it give the very same result of libsoxrate?

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #426
Thanks for the update nu774. Simple question, is libsoxr conversion just faster? Does it give the very same result of libsoxrate?

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

As for qaac, when incoming signal is double or 32bit integer,  "very high quality" mode is selected, that leads to double precision resampling in libsoxr.
For other cases, qaac will choose "high quality", that leads to single precision resampling.
I think "high quality" mode is usually enough, and it's the default of libsoxr.

  • bandpass
  • [*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #427
For other cases, qaac will choose "high quality", that leads to single precision resampling.
I think "high quality" mode is usually enough, and it's the default of libsoxr.

libsoxr single-precision is clean to –120dB, and IIRC, here at HA, we've yet to find a recording with noise floor below –96dB (even somewhat above that, but I can't remember the figure). So I concur.

  • mrgou
  • [*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #428
I'd like to confirm my understanding of the dependencies with CoreAudioToolbox.dll

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

Is this correct?

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #429
If I get it right, on a system with iTunes 10 (because I don't like iTunes 11), if I extract CoreAudioToolbox.dll from the latest iTunes installer (as of now, 11.0.5) and put it in the same folder as qaac.exe, QAAC will use the DLL from the latest release, and not from the iTunes release installed on my PC.

Is this correct?

Yes, but you need not only CoreAudioToolbox.dll but also other dependencies.
Alternatively you can place them under "QTfiles" sub folder under where qaac is installed.

  • mrgou
  • [*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #430
Yes, but you need not only CoreAudioToolbox.dll but also other dependencies.
Alternatively you can place them under "QTfiles" sub folder under where qaac is installed.

OK, so I've run makeportable.cmd, and it's all set up. It really great that it takes these files over the iTunes install so you can update one but not the other!

  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #431
nu774, why the Windows system folder has priority over the QTFiles folder?

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

Thanks.
  • Last Edit: 10 September, 2013, 10:04:55 PM by eahm

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #432
I think it should be:
1) Same folder
2) QTFiles
3) Windows system (look for something installed after the portable option)

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

This can be changed by manually searching DLLs for candidates then call LoadLibrary() with full path name, but I don't feel it's worth doing in case of qaac.

  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #433
Not worth. Thanks for the explanation.

  • kurosu_
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #434
Hello, even with the recent 2.21 (although I'm not using --threading option), I'm still getting random crashes when feeding multichannel (eg 5.1) audio to qaac through fb2k, depending on the coreaudio version. For the record, the command-line I'm using:
Code: [Select]
-V 80 --no-optimize  --verbose --quality 2 -n --no-delay --log "%d.txt" -o %d -


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

I don't have a multichannel AAC setup to actually verify this, but my tv set can decode those multichannel aacs to stereo (not multichannel spdif output though  ), except the sounds are muffled (in particular people speaking with various amount of audio around etc). Whether this is DRC or matrixing gone wrong, I don't know, but I'd prefer to make sure whether this is an issue of the past. qaac wiki does not list this issue.

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #435
If using coreaudio 7.5.5.0 (old, from qtlite 4.1 or something), crashes are very frequent. If using 7.9.8.3 (I have extracted the dlls around 2 months ago), it seems to be fine. My problem though is that there are posts from 2011 (for instance this one) stating that the channel mapping is wrong.

Well, please don't use THAT old CoreAudioToolbox. That channel mapping issue was already solved in the past on qaac side, and should work fine.

  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #436
kurosu_, why would you use something that old? Lossy improves every time, you should update every time.

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

[qaac] release 2.21 (refalac 1.21)
posted 9 hours ago by nu 774
Fixed an issue of --threading option. There was a possibility of non sample aligned read on the pipe, similar to the problem that was fixed on 2.04 and 2.05.
  • Last Edit: 13 September, 2013, 11:57:22 AM by eahm

QAAC: discussion, questions, feature requests, etc.
Reply #437
Can someone give me help on how to get the QAAC encoder to work with Foobar.

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

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

  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #438
Can someone give me help on how to get the QAAC encoder to work with Foobar.

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

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

http://www.hydrogenaudio.org/forums/index....st&p=845439

QAAC: discussion, questions, feature requests, etc.
Reply #439
Can someone give me help on how to get the QAAC encoder to work with Foobar.

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

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

http://www.hydrogenaudio.org/forums/index....st&p=845439

Thanks! I forgot to include -o %d - commands at the end!
I got it to work now!

  • otonvm
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #440
Hello nu774, great job with this frontend, very easy to use.

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

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


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

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #441
In sox I'm using this for remix:
Code: [Select]
1v0.2646,3v0.1870,4v0.1870,5v0.2991,6v0.1323 2v0.2646,3v0.1870,4v0.1870,5v-0.1323,6v-0.2291


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

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


  • otonvm
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #442
Looks ok in that it's equivalent to the sox remix option you are using.


Ok thanks!
What about this:
I took the values from this page: Wikipedia: Dolby Pro Logic and converted them to this:
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j


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

Thanks again for the prompt answer any your work.
  • Last Edit: 22 September, 2013, 02:27:40 PM by otonvm

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #443
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j

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

  • otonvm
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #444
Code: [Select]
1 0 0.7071 0 -0.8718j -0.4899j
0 1 0.7071 0 0.4899j 0.8718j

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


Right... I really don't understand this but it sounds ok, L and R seem to be in balance overall. Why not "worth doing"? Computationally? More complex?

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #445
Computationally? More complex?

Yes, computationally more complex, and it's not exact / lossless transform like 180 degree phase shift. Highs/lows will be attenuated to a certain degree, because it acts like a bandpass filter.
Channel separation may be better when heard using DPL2 system, but I don't know. I'm not very familiar with surround audio.

  • otonvm
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #446
OK I did some research and it seems that the later matrix has been accepted as the closest to what the spec probably looks like and I think it's what has been implemented in most tools today.

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

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

Again thanks for your work!

  • nu774
  • [*][*][*][*][*]
  • Developer
QAAC: discussion, questions, feature requests, etc.
Reply #447
OK I did some research and it seems that the later matrix has been accepted as the closest to what the spec probably looks like and I think it's what has been implemented in most tools today.

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

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

Nice to hear that 

  • otonvm
  • [*]
QAAC: discussion, questions, feature requests, etc.
Reply #448
"the latter matrix" = 90 degree phase shift version on the wiki?

Yes, that one.

  • eahm
  • [*][*][*][*][*]
QAAC: discussion, questions, feature requests, etc.
Reply #449
nu774, why don't you pack libsoxr in the same zip as qaac? Not that it so hard to unpack two zip files but it would be just one more reason that people don't forget to use it instead of libsoxrate. I guess you can use for other applications, better to stay apart.
  • Last Edit: 28 September, 2013, 05:45:10 PM by eahm