> Quoting Ron (2014-10-04 02:52:24)
> > On Fri, Oct 03, 2014 at 10:06:02PM +0200, Jonas Smedegaard wrote:
> 
> If I do, I will refer to this bugreport - awesome explanations!
> 
> ...please consider pass that explanation upstream!

We are forever tweaking this there based on feedback we get, indeed :)

> > One other thing to be aware of, depending on how you're doing your 
> > comparisons, is that opusdec will dither by default, which improves 
> > the audible quality of low level signals, but does raise the measured 
> > noise floor.  You can turn that off if you need to.
> 
> Thanks, but sounds more detailed than the level I will be comparing at.
> 
> Would be great in any case if such details was available somewhere - a 
> perhaps related one is that I have wondered if perhaps there was a 
> quality difference in downmix stereo to mono in melt or postpone it to 
> opusenc.

They're definitely available *somewhere*, though you could indeed spend
an entire lifetime collecting the pieces of the puzzle from where they
are scattered!  The --no-dither option of opusdec is at least not hidden,
but knowing that dithering exists and why it is done is a little more
occult.  It does occasionally catch some people out when doing certain
types of comparisons.

If you haven't already seen them, I'd highly recommend watching the
presentations here: http://xiph.org/video/  Episode 2 will show you
(among other things) how dither will let you record a signal with
less than 1 bit of dynamic range.

Downmixing without losing quality is Tricky.  In principle it's simple,
in practice the best way to "preserve quality" is hugely dependent on
your input signal.  Since all downmixing is essentially summing some
proportion of the channels, there's a very real problem that if the
channels you are summing contain a signal that is 180 degrees out of
phase, it will be completely cancelled out in the summation and all
you'll get in the downmix for it is silence.  This is true for both
analogue and digital signals and is what noise cancelling headphones
and the like deliberately exploit.  It happens in the air when you
have more than one speaker or microphone too, but if you have more
than one ear that becomes a location cue for your brain rather than
complete cancellation.  For some input signals, what you lose is
almost unnoticeable, but for others, entire pieces of the audio can
go quite obviously mia, and the only way to 'fix' that is to process
the signal to introduce a phase shift - which can then in turn make
other parts of the signal (which are hopefully less noticeable) go
missing instead ...

Which really means the only sure thing is to try it, listen to it,
and if the result sucks, break out a signal processor and mixing
desk to try to manipulate it in ways that make it suck less.

For Opus, you might actually find the best option is to just record
it in stereo.  The stereo encoding will happily exploit that sort of
correlation as redundancy it can compress, so for the "same quality"
a stereo file won't be twice the size of a downmixed mono version of
it, and the decoder can extract a stereo file in mono without
reapplying the stereo separation it encoded (though that also still
has the possibility of phase cancellation occurring in some cases).

In the end, it really all boils down to why you want it downmixed
to mono in the first place, and what particular "quality" is the
most important to preserve.  You're inevitably going to lose
something in the conversion, so the trick is to control what it
will be.  This is why we can't replace good sound engineers with
very small shell scripts :)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to