Kodi Community Forum
Testing audio engine ActiveAE - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+--- Thread: Testing audio engine ActiveAE (/showthread.php?tid=170338)



RE: Testing audio engine ActiveAE - fritsch - 2014-05-26

Explain that to me, please.


RE: Testing audio engine ActiveAE - Muffinman - 2014-05-26

Well, correct me if I'm wrong, but in the digital sphere, if you reduce the volume with 50% you would shift the bits one step to the right and apply dither on the last bit to create a decent soundfloor. So the first bit will be unused and thus you lose 1 bit of resolution. Whether that is important is a different question, but still, hardly lossless


RE: Testing audio engine ActiveAE - fritsch - 2014-05-26

we calculate in float, so everything is between 0 and 1.0f now, when you apply a volume you do that with a multiplication factor f. so every sample is multiplied with that factor f in 32 bit accuracy. Not sure what you want to dither? Dithering is used in the next stage when you don't have enough quantisation steps. So when the D/A conversion to your unbelievable expensive DAC is shitty by default - you start to loose at that position.


RE: Testing audio engine ActiveAE - fritsch - 2014-05-26

Unzip and tell me which one sounds best, please: https://dl.dropboxusercontent.com/u/55728161/joe.zip

Edit: Only use your external volume - we don't want to loose 1 bit at the end :-)


RE: Testing audio engine ActiveAE - Muffinman - 2014-05-26

Ok, will try out the soundfiles later, though, even if I hear a difference between the files, it might be hard to tell which is which. Nonetheless, taking a 24 bit input file and using 24 bit dac (which most usb dac's are as far as I know), you can add 8 bits and do the internal calculations in 32 bits, still, you will have to go back to 24 bits and have basically the same end result as described earlier.


RE: Testing audio engine ActiveAE - fritsch - 2014-05-26

the conversion will always be done with every digital signal. You decode the format into float, process it and at the end you output it.
Btw. most linux devices don't have SNE24 at all. The have SNE32 where you can easily tunnel the 24 bit audio.


[FLAC / MP3 / OGG] -> decode to FLOAT-> (VOLUME (FLOAT)) -> convert to sink format(16bit, 24 bit, 32 bit, LE, BE)

Concerning 24/192: here is a link tipp: http://people.xiph.org/~xiphmont/demo/neil-young.html


You see, no matter if you apply volume or not, the last step needs to be done.


RE: Testing audio engine ActiveAE - Muffinman - 2014-05-26

Well, I don't have any proper arguments against that, assuming the resolution of the output is higher than the input. As for 24/192, well, that's a senseless discussion you would win guaranteed. Seen that discussion too many times, luckily never participated.

But.... let me take another spin on the quality argument: what would you rather have, one or two volume controls? In an old fashioned setup you would have a cd-player and an amplifier. The cd-player would have a line level output, and the amplifier a volume control. The amplifier would have a noise-floor relative to it's output level. However, these days we have user friendly platforms/systems, such as XBMC, with their own volume control. To have the highest user friendliness, you would use XBMC's volume control and set your amplifier (with internal dac and hardware volume control) at a sufficient high volume level. In this modern setup you most likely have more distortion (since your amp is at a higher volume level than it otherwise would have been) and you most definitely have a higher noise floor.

So wouldn't it be better quality with lower distortion, noisefloor, and just one volume control?


RE: Testing audio engine ActiveAE - fritsch - 2014-05-26

nothing to say against that.


RE: Testing audio engine ActiveAE - MGA1500 - 2014-05-26

(2014-05-25, 09:09)FernetMenta Wrote:
(2014-05-24, 16:21)MGA1500 Wrote: In my opinion there are conflicting interests; an add-on would be the easiest and non-main-branch-intruding way of implementing the control channel but doing it in an add-on (you cannot come 'higher' in the architecture...) is what you are opposing

I am not opposed to doing this in an addon, I just don't want the addon to be hooked into the sink. In case such an addon becomes activated, set volume of AE to max and direct volume control to the addon. That would also work for passthrough audio.

Hi FernetMenta,

I see muffinman joined in to clarify his proposed solution, which is good! What is getting a bit off-topic is the discussion about what is heard or not (resolution wise, Fs wise), let's just say that there is a group of people that would like to keep the signal fullscale for as much as possible to prevent quantization noise, total signal-noise ration etc to end up with the best audio they can achieve. It is therefor that I would like to end up with a solution that is not unnecessarily complicated (from maintenance, comprehension, mistake PoV) but that allows to achieve the same.

When you say "In case such an addon becomes activated, set volume of AE to max and direct volume control to the addon" does this mean that this can be done without modifications by existing XBMC architecture? Can volume control be 'prevented' from reaching AE? Can AE volume be maxed from an addon while for the user the system behaviour remains intact (ie volume control buttons still working, OSD indicating (system) volume keeps working?)

If so, the desired behaviour can be achieved while source code remains intact.

Looking forward to your reply,

regards,

MGA


RE: Testing audio engine ActiveAE - ursli - 2014-05-26

I thought this would fit best here, I'm on helix but I've noticed this happening for a while now, mostly on certain files directly after a commercial has been cut out for example. On these files every time there is a cut I get crackling audio until I pause and then press play again. I'm not sure if that is a problem on my end or something to do with ActiveAE. Any help on resolving this would be appreciated.


Debug log with clean xbmc on a file where I get the crackling: http://pastebin.com/zE3V5MJf (right at the end of the log)

I've tried setting the audio options in system to optimized or best match, no change, anything more I can provide to make it easier to track down the problem?

System:
Ubuntu quantal (12.10), 3.5.0-45-generic i686
XBMC (14.0-ALPHA1 Git:069f033)
Celeron SU2300 with 1st Gen ION GPU
HDMI -> AV Receiver -> TV


RE: Testing audio engine ActiveAE - FernetMenta - 2014-05-26

(2014-05-26, 20:00)ursli Wrote: I thought this would fit best here, I'm on helix but I've noticed this happening for a while now, mostly on certain files directly after a commercial has been cut out for example. On these files every time there is a cut I get crackling audio until I pause and then press play again. I'm not sure if that is a problem on my end or something to do with ActiveAE. Any help on resolving this would be appreciated.


Debug log with clean xbmc on a file where I get the crackling: http://pastebin.com/zE3V5MJf (right at the end of the log)

I've tried setting the audio options in system to optimized or best match, no change, anything more I can provide to make it easier to track down the problem?

System:
Ubuntu quantal (12.10), 3.5.0-45-generic i686
XBMC (14.0-ALPHA1 Git:069f033)
Celeron SU2300 with 1st Gen ION GPU
HDMI -> AV Receiver -> TV

this is a completely different topic:
14:47:05 T:2693778240 INFO: CDVDPlayerVideo - Stillframe left, switching to normal playback
14:47:05 T:2693778240 NOTICE: CDVDVideoCodecFFmpeg::GetFormat - Creating VDPAU(1280x720)

looks like encoder error caused by handbrake. ffmpeg calls GetFormat after a change of codec parameters.


RE: Testing audio engine ActiveAE - FernetMenta - 2014-05-26

(2014-05-26, 19:35)MGA1500 Wrote: When you say "In case such an addon becomes activated, set volume of AE to max and direct volume control to the addon" does this mean that this can be done without modifications by existing XBMC architecture? Can volume control be 'prevented' from reaching AE? Can AE volume be maxed from an addon while for the user the system behaviour remains intact (ie volume control buttons still working, OSD indicating (system) volume keeps working?)

If so, the desired behaviour can be achieved while source code remains intact.

Looking forward to your reply,

regards,

MGA

you would have to change the code and implement this api. have you ever tried to change volume when passthrough is active. you don't want to have this when volume is directed to the amp.


RE: Testing audio engine ActiveAE - ursli - 2014-05-26

(2014-05-26, 20:37)FernetMenta Wrote: this is a completely different topic:
14:47:05 T:2693778240 INFO: CDVDPlayerVideo - Stillframe left, switching to normal playback
14:47:05 T:2693778240 NOTICE: CDVDVideoCodecFFmpeg::GetFormat - Creating VDPAU(1280x720)

looks like encoder error caused by handbrake. ffmpeg calls GetFormat after a change of codec parameters.

Thanks for the reply, should I be creating a new thread or is this something I have to live with since the file is at fault and not xbmc/ffmpeg?


RE: Testing audio engine ActiveAE - FernetMenta - 2014-05-27

Crate a new thread. And would be good to know if this happens with 12.x too.


RE: Testing audio engine ActiveAE - cert_ - 2014-08-25

what is the difference between ActiveAE upmixing and a simple upmix in alsa?