INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Proposal: Additional Output Format DSP tab  (Read 6876 times)

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Proposal: Additional Output Format DSP tab
« on: July 04, 2015, 09:02:35 am »

Greetings once again!

Recently, I got interested in the creation of a binaural headphone mix for multichannel content. I found some threads about the topic, where the conclusion always seemed to be that it is impossible because the output format cannot be modified after decoding (or applying the Output Format tab), or that it can be done, but only when looping the Zone's audio output back into another Zone's input (which appears to be unreliable).
Today, however, I somehow got the idea that this problem can be solved simply by adding an additional Output Format tab to the DSP studio, similar to how the Parametric Equalizer was duplicated to Parametric Equalizer 2.
If it can (and will) be done, I see the following advantages:

  • Mixing VSTs can be applied without setting up loopback if Stream Properties may be changed before processing the "Output Format 2" tab. Even if Stream Properties must remain constant, however, this can be done by setting the "Output Format 2" tab to discard any additional channels.
  • VST Effects can be applied on the input signal without the need for a special setup that supports the configuration. For example, even when decoding multichannel content to plain Stereo (not for headphones), it is currently impossible (without loopback) to adjust the source's individual channels prior to downmixing (e.g. boosting/delaying/... only the surround speakers in a 5.1 source), or limiting the LFE's frequency range (I read some scary stuff about how some movies' LFE contains all kinds of high-frequency data that doesn't belong there).
    I'm not certain if this is actually a valid use-case, but it would also be possible to always mix the input to e.g. 5.1 channels, do some processing on that, and then downmix the Stream to Stereo. As long as only one DSP effect requires this, the Effect itself can mix, process, and mix back to input configuration, but if several Effects require the intermediate mix' channels, those channels must somehow be passed to those Effects. That way, it can be done, but, again, I'm uncertain about how realistic the scenario is.
  • Changing the track's Playback Rate (e.g. when using VideoClock) can be done at the same time as changing the track's Sample Rate (if the "Output Format 2" tab is located after the Tempo & Pitch tab) by actually changing the sample rate of the result (e.g. from 48000 Hz to 48048 Hz in the Tempo & Pitch tab, which the Output Format tab the resamples to whatever format is specified, e.g. 96 kHz). Obviously, this point is only valid if DSPs are permitted to change stream Properties before the "Output Format 2" tab.

Throughout the text, I have used "Output Format" and "Output Format 2". I think it makes sense to call one tab "Input Format" and another one "Output Format", but I wanted to keep the possible confusion low.

I have seen it mentioned somewhere (I think it was the thread about XP support) that Media Center 21 is going to be released sometime, and I believe that if my idea is going to be considered, it belongs there rather than to Media Center 20. However, I found no subforum about upcoming versions, so I am posting here instead. If someone knows a better subforum for this, please move.

Have a nice day, and thanks for reading.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #1 on: July 04, 2015, 09:33:50 am »

I don't know that having two "output format" sections in the DSP is necessarily the best solution, but I agree that there are a number of issues which could be solved by doing this, or something similar.
 
Having upsampling and channel mixing in the same section, fixed at the top of the DSP list, can be very restrictive.
The same thing applies to having Volume Leveling fixed at the top as well.
 
There are a number of VST Plug-ins which I would like to use with Media Center, but cannot, due to these limitations.
And even without using VST Plug-ins, it really limits what can be done with Media Center's own DSP processing.
 
The LFE problems when playing HD audio tracks would be trivial to fix if we could place a Parametric EQ DSP ahead of the mixing stage for example.
Or people could easily turn up the center channel if they have difficulty hearing the dialog when downmixing to stereo.
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #2 on: July 04, 2015, 11:16:04 am »

I'll agree that it's probably not the most elegant solution, but the "Input/Output Format" tabs seemed reasonably simple to me based on what already exists. For what it's worth, I originally intended to propose that the "Output Format" tab be located at the end, but then I thought that a movable tab is the more flexible solution.
Indeed, it was thinking about the LFE problems that made me realize that fixing the tab at the end is a bad idea in certain cases...

Unrelated: Nice, it seems like I had a good idea for once! :P
Logged

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1854
Re: Proposal: Additional Output Format DSP tab
« Reply #3 on: July 05, 2015, 02:09:37 am »

Having upsampling and channel mixing in the same section, fixed at the top of the DSP list, can be very restrictive.
The same thing applies to having Volume Leveling fixed at the top as well.
 
There are a number of VST Plug-ins which I would like to use with Media Center, but cannot, due to these limitations.
And even without using VST Plug-ins, it really limits what can be done with Media Center's own DSP processing.

+1
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #4 on: July 05, 2015, 07:40:00 am »

I was thinking about this some more, and I wonder if the solution might be to add separate Resampling and Channel Mixing sections to DSP Studio.
 
Have them disabled by default, but allow those to be positioned anywhere.
That way you could disable Output Format and use those instead, and it doesn't have the confusion of multiple "Output Format" sections.
 
I would also remove the restriction on Volume Leveling so that it is not fixed to the top of DSP Studio.
That way you could use DSP which operates on say the top 6dB in a file (e.g. de-clipping VSTs) and hopefully it would also shift things around so that Internal Volume is processed before Volume Leveling.
 
 
The ideal processing chain would probably be something along the lines of:
  • Internal Volume
  • Volume Leveling
  • Parametric EQ
  • VideoClock (Tempo/Rate)
  • Resampling
  • Mixing
  • Dither

Currently that is:
  • Volume Leveling
  • Internal Volume
  • Resampling
  • Mixing
  • VideoClock (Tempo/Rate)
  • Parametric EQ
  • Dither
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #5 on: July 05, 2015, 08:58:23 am »

I fully agree that placing resampling after changes to the playback rate (e.g. VideoClock) is good to have (I mentioned it in the first post, too).
However, I'm not too certain about some other things:
  • Internal Volume before Volume Leveling: I see only one way to understand this desire, and that is basically to change the Reference Volume that Volume Leveling will try to achieve. I don't know whether that is good, bad, or something else, but it seems somewhat understandable to me, at least. Another possibility to achieve that desire, though, would be to permit Volume levels above 100% on the Volume slider. You also mentioned something about declipping VSTs, but I see none of that between Internal Volume and Volume Leveling in your list.
  • Parametric EQ before VideoClock: Isn't that possible already, since both the "Tempo & Pitch" (VideoClock) and the "Parametric Equalizer (2)" tabs are movable?
  • Mixing: I'm not entirely convinced that it should have to occur at the end rather than at the beginning and/or somewhere in the middle of processing, but you said your proposal would allow moving that stuff, so I guess it's okay. I guess it might depend on your setup, and your playback intentions...


In any case, I think it may be beneficial to have two places in which mixing can occur, because from what I've read (not yet tried, nor am I likely to try soon), some (all?) mixing VSTs work only with specific channel configurations.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: Proposal: Additional Output Format DSP tab
« Reply #6 on: July 05, 2015, 10:58:01 am »

I actually requested this change myself a few years back when I was new to the program (ability to put output format later or do it twice), and I can tell you that one of the reasons that it hasn't been implemented is that most (but not all) of the problems described above can be fixed with the tools currently available in the program and some elbow grease.

For example, one can eschew JRSS mixing and do the downmix in PEQ oneself, which allows you to put the downmixing whereever you like.  You can fix the LFE and center channel issues right now if you want to put in the time.  OP you can do your first two goals right now if you do the downmix yourself in PEQ. It's a bit of work to do the mixing yourself instead of using JRSS, but it's a "do once and forget it" type thing.

Similarly, tempo and pitch can be moved around, to put videoclock whereever you like, (except before resampling).

The things that can't be done right now are the things relating to moving resampling later in the chain, or things related to adjusting the target for volume leveling.

I would advise (to the extent you want to see something like this implemented), that you focus on the functionality that can't currently be achieved in the program, and why its desirable.  For example, the volume leveling issue is that files with positive volume leveling adjustments rarely get the correct adjustment because JRiver performs a clip check when volume leveling is applied, but because its applied before internal volume it doesn't take advantage of all available headroom.  It's an issue that doesn't affect a majority of music, but it does disproportionately affect classical music.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #7 on: July 05, 2015, 12:29:34 pm »

Internal Volume before Volume Leveling: I see only one way to understand this desire, and that is basically to change the Reference Volume that Volume Leveling will try to achieve. I don't know whether that is good, bad, or something else, but it seems somewhat understandable to me, at least.
Currently, if a file has a lot of dynamic range, it will exceed the 23dB headroom which Volume Leveling allows for.
This is very common with video, because the target for that is supposed to be -31 LUFS rather than -23 LUFS for music.
 
So if you have a file which requires 30dB of headroom there is no way to do it. If you reduce the volume by 8dB the track will effectively play 15dB quieter than it should.
If Internal Volume was placed above Volume Leveling, reducing Internal Volume by 8dB would mean that the track should play at the correct level.

You also mentioned something about declipping VSTs, but I see none of that between Internal Volume and Volume Leveling in your list.
Well I only outlined a rough order for the internal DSP.
To use a declipping VST plug-in, it must be placed above any volume adjustments, since it has to look at the top ~6dB.
If Volume Leveling reduced the track below that level, the de-clipping VST will assume that there is no clipping present.

Parametric EQ before VideoClock: Isn't that possible already, since both the "Tempo & Pitch" (VideoClock) and the "Parametric Equalizer (2)" tabs are movable?
Oh you could be right, and it just happens that it's the order which tempo is currently placed for the Zone I was looking at.
The main thing would be getting Tempo adjustments to occur before resampling.

Mixing: I'm not entirely convinced that it should have to occur at the end rather than at the beginning and/or somewhere in the middle of processing, but you said your proposal would allow moving that stuff, so I guess it's okay. I guess it might depend on your setup, and your playback intentions...

In any case, I think it may be beneficial to have two places in which mixing can occur, because from what I've read (not yet tried, nor am I likely to try soon), some (all?) mixing VSTs work only with specific channel configurations.
Sure, you may not want to have mixing as the second-last stage. But I suspect that most people would certainly not want it at the first stage in processing.
There are many times where you would want to do processing on the signal prior to it being downmixed to stereo.

For example, one can eschew JRSS mixing and do the downmix in PEQ oneself, which allows you to put the downmixing whereever you like.
That is not currently possible.
If you disable JRSS mixing and set the output to 2 channels, it immediately discards everything but the left and right channel.
So you cannot implement your own downmix.
 
Similarly, tempo and pitch can be moved around, to put videoclock whereever you like, (except before resampling).
Yes, but surely the main thing you would want to do is move it before resampling.
 
It's an issue that doesn't affect a majority of music, but it does disproportionately affect classical music.
And something which affects nearly all movies, since their target is intended to be -31 LUFS, which aligns with the Dolby Digital spec as well.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: Proposal: Additional Output Format DSP tab
« Reply #8 on: July 05, 2015, 01:24:43 pm »

That is not currently possible.
If you disable JRSS mixing and set the output to 2 channels, it immediately discards everything but the left and right channel.
So you cannot implement your own downmix.

It depends on what your output device is.  Obviously if your output device presents 6 or 8 channels, you can do your own downmix just fine.  If you only have a stereo output device, you're right, you can't do your own downmix.  I had forgotten that because most of my configuration has been with either multi-channel DACs or helping friends with Receivers (which typically present multi-channel outputs). 

Interestingly you can even do headphone downmixing this way with some devices because they present all of their channels as a block ASIO device in JRiver, so attempting to output multi-channel to a headphone output won't error.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10942
Re: Proposal: Additional Output Format DSP tab
« Reply #9 on: July 05, 2015, 03:19:44 pm »

Yes, but surely the main thing you would want to do is move it before resampling.

If you are upsampling, its probably better to do it after.
Logged
~ nevcairiel
~ Author of LAV Filters

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #10 on: July 05, 2015, 03:29:58 pm »

If you are upsampling, its probably better to do it after.
Wouldn't that add another resampling step though?

Eg: 48 → 96 → 92.16 → 96
Vs: 48 → 46.08 → 96
 
I can see why you might want to go to 96 first for the sake of "precision" but it seemed like avoiding that additional resampling step would probably be more beneficial.
 
Of course I could be mistaken about how the timestretching works.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10942
Re: Proposal: Additional Output Format DSP tab
« Reply #11 on: July 05, 2015, 03:31:43 pm »

Thats not how it works, it immediately makes the audio longer/shorter in a black box using SoundTouch, doesn't output an "odd" sample rate.
Logged
~ nevcairiel
~ Author of LAV Filters

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #12 on: July 05, 2015, 03:36:35 pm »

Thats not how it works, it immediately makes the audio longer/shorter in a black box using SoundTouch, doesn't output an "odd" sample rate.
Good to know.
 
I can still see situations where you would want to move your resampling stage after a certain VST plug-in so that it can process the audio prior to being upsampled, but it doesn't seem like it would improve timestretching.
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #13 on: July 06, 2015, 08:31:01 am »

For example, the volume leveling issue is that files with positive volume leveling adjustments rarely get the correct adjustment because JRiver performs a clip check when volume leveling is applied, but because its applied before internal volume it doesn't take advantage of all available headroom.  It's an issue that doesn't affect a majority of music, but it does disproportionately affect classical music.
Well, that sounds just weird. When I activate Volume Leveling, then I expect, after reading its description, that I needn't adjust the Volume on my playback device any more, once I've properly configured it once. Also, isn't it for this very reason that MC uses floating point calculations (handling out-of-range values properly)? For what it's worth, I expect Clipping Protection to jump in if I need it, and I also expect to avoid Clipping Protection by reducing Internal Volume to something less than 100% (usually around 90%, but I may have to re-evaluate that).
Also, do I understand correctly that even when Volume Leveling does its job without handling possible clipping, it will still use different target volumes for Video and for Audio? I think that this, if it is true, should at least be mentioned in its description (though I'd definitely prefer it if Volume Leveling used only one target volume, because then I wouldn't have to adjust volume at all, at least in theory; preferably in a clipping-agnostic way).

For example, one can eschew JRSS mixing and do the downmix in PEQ oneself, which allows you to put the downmixing whereever you like.  You can fix the LFE and center channel issues right now if you want to put in the time.  OP you can do your first two goals right now if you do the downmix yourself in PEQ. It's a bit of work to do the mixing yourself instead of using JRSS, but it's a "do once and forget it" type thing.
Indeed, as you already remembered, you can mute unneeded channels, but they will still be there. So while the mixing itself can be done without problems (but with effore), adjusting the channel count for the output to be accepted is still impossible.

Wouldn't that add another resampling step though?

Eg: 48 → 96 → 92.16 → 96
Vs: 48 → 46.08 → 96
Thats not how it works, it immediately makes the audio longer/shorter in a black box using SoundTouch, doesn't output an "odd" sample rate.
I also thought it would work as 6233638 described, which is why I wanted to place resampling after playback rate adjustments. And while it still seems like a cleaner solution to me, I now see that in the current system, my original reason is invalid. (Now, though, I suspect that I might want to try upsampling, rate adjustment, downsampling. Damn! :P)

I can still see situations where you would want to move your resampling stage after a certain VST plug-in so that it can process the audio prior to being upsampled, but it doesn't seem like it would improve timestretching.
Similarly, I can see situations that benefit from at least 2 mixing/resampling stages (wanting to use a plugin that works only with certain input formats, but not wanting to use those as the output format - e.g. the TB_Isone_Surround VST mentioned in this thread seems to work only with 2.0 and 5.1 input, and if I had a choice between a semi-accurate [because pre-mixed e.g. from 7.1 to 5.1] binaural mix and a crossfed stereo downmix, I suspect that I'd still prefer the semi-accurate binaural mix).
For what it's worth, only my HDMI out permits me to output more than 2 channels (I suspect that this is because stereo in HDMI is packed as 5.1).
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: Proposal: Additional Output Format DSP tab
« Reply #14 on: July 06, 2015, 08:47:50 am »

Well, that sounds just weird. When I activate Volume Leveling, then I expect, after reading its description, that I needn't adjust the Volume on my playback device any more, once I've properly configured it once. Also, isn't it for this very reason that MC uses floating point calculations (handling out-of-range values properly)? For what it's worth, I expect Clipping Protection to jump in if I need it, and I also expect to avoid Clipping Protection by reducing Internal Volume to something less than 100% (usually around 90%, but I may have to re-evaluate that).

You're right it should work like that, especially given that no clip can occur until the final downmix when exiting the 64 bit audio path, but the current Volume Leveling logic is flawed in this respect because it attempts to calculate whether it will cause a clip before internal volume is applied, resulting in a perverse outcome.  It is odd, it's a quirk of the implementation that hasn't been fixed.

Quote
Also, do I understand correctly that even when Volume Leveling does its job without handling possible clipping, it will still use different target volumes for Video and for Audio? I think that this, if it is true, should at least be mentioned in its description (though I'd definitely prefer it if Volume Leveling used only one target volume, because then I wouldn't have to adjust volume at all, at least in theory; preferably in a clipping-agnostic way).

No, it uses the same target for video and audio.  The issue 62 was addressing is that downmixed audio from video needs greater total attenuation to preserve the 10 dB differential between the LFE channel and the rest of the audio.  The differential is ignored when there is no downmix (because it's expected that the user will solve the issue with the volume controls of his or her amplifiers).  

So while the volume leveling target is the same, JRiver's downmixing adds the necessary additional attenuation to produce a correct downmix which can result in un-level volume when downmixing multichannel audio of any kind.  There's no way to get level volume for downmixed audio and regular audio without being able to revise the volume leveling target (i.e. playing everything quieter), which is not currently possible.

At least that's how I understand the issue, 62 can chime in with a more in depth explanation.  I can certainly empirically confirm that downmixed multi-channel audio is much quieter for me than native 2 channel content with volume leveling enabled.
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #15 on: July 06, 2015, 09:57:51 am »

Well then, thanks for the explanation. It sounds like the Volume Leveling weirdness (about clipping) is known and somewhere on the To-Do list, is that right? Same about the downmixing issue when Leveling, is it on the To-Do list?
Does it perhaps make sense to place a checkbox somewhere that makes Volume Leveling aware of a (future?) downmix without separate LFE channel (seeing as downmixing to stereo can also be done simply by omitting extra channels)?

P.S. It seems to me that the topic of this thread has somewhat shifted, should it perhaps be renamed to something more fitting? If so, can I do this myself or do I need to ask a Mod?
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: Proposal: Additional Output Format DSP tab
« Reply #16 on: July 06, 2015, 10:12:37 am »

Well then, thanks for the explanation. It sounds like the Volume Leveling weirdness (about clipping) is known and somewhere on the To-Do list, is that right? Same about the downmixing issue when Leveling, is it on the To-Do list?

To be clear, I don't work for JRiver, I'm just a user, so I don't know if it's on the to do list or not.  I can confirm that it's a known issue that's been hashed out on the forum a few times, but the devs haven't weighed in on it recently.   

Quote
Does it perhaps make sense to place a checkbox somewhere that makes Volume Leveling aware of a (future?) downmix without separate LFE channel (seeing as downmixing to stereo can also be done simply by omitting extra channels)?

I'm not sure I understand what you mean; I wouldn't call omitting extra channels downmixing, and it isn't particularly viable as you'll be missing virtually all dialog in most films (90% of dialog is in the center channel). You can do that right now if you want to by setting your output format to stereo and selecting the "no mixing" option in output format. 
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #17 on: July 06, 2015, 10:46:49 am »

To be clear, I don't work for JRiver, I'm just a user, so I don't know if it's on the to do list or not.  I can confirm that it's a known issue that's been hashed out on the forum a few times, but the devs haven't weighed in on it recently.
Okay, thanks. I interpreted your 'MC Beta Team' description to mean that you're in closer contact with the developers than most regular users are, so I thought you might know something. Since you say that it has been brought up several times already, I'll not bring it up again unless I come up with a possible approach to solving it.

I'm not sure I understand what you mean; I wouldn't call omitting extra channels downmixing, and it isn't particularly viable as you'll be missing virtually all dialog in most films (90% of dialog is in the center channel). You can do that right now if you want to by setting your output format to stereo and selecting the "no mixing" option in output format.
I agree that omitting channels is just that, and not a downmix. However, if I used an external VST to downmix, and simply told MC to omit channels (that now have become empty), then from MC's perspective, no downmix has occurred at all, when it actually has. I'm not entirely certain myself why I worded it like this, but what I meant was a checkbox that tells MC to assume a mixing operation when the channel count changes. Now, I'm confused myself about the wisdom of such a checkbox, though, so I'll go back to considering...
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Proposal: Additional Output Format DSP tab
« Reply #18 on: July 06, 2015, 12:32:44 pm »

Well, that sounds just weird. When I activate Volume Leveling, then I expect, after reading its description, that I needn't adjust the Volume on my playback device any more, once I've properly configured it once. Also, isn't it for this very reason that MC uses floating point calculations (handling out-of-range values properly)? For what it's worth, I expect Clipping Protection to jump in if I need it, and I also expect to avoid Clipping Protection by reducing Internal Volume to something less than 100% (usually around 90%, but I may have to re-evaluate that).
The issue is that Volume Leveling is processed before Internal Volume, so reducing the volume level does not provide additional headroom.
Volume Leveling is designed so that it will never clip, but it must reduce the volume for any file where 23dB is not enough headroom to prevent clipping, resulting in uneven leveling for those files.
 
If the order was flipped around, reducing the volume by 10dB would give you an additional 10dB headroom for Volume Leveling for example.
This is not an issue for the majority of music files, it is primarily an issue for video playback.

I also thought it would work as 6233638 described, which is why I wanted to place resampling after playback rate adjustments. And while it still seems like a cleaner solution to me, I now see that in the current system, my original reason is invalid. (Now, though, I suspect that I might want to try upsampling, rate adjustment, downsampling. Damn! :P)
I don't think there would be much reason to upsample, timestretch, and then downsample.
If it's doing timestretching/rate adjustments, surely it must be resampling in that "black box" though.
 
So what is likely happening is:
[48 → 96][96 → 92.16 → 96]
 
Ideally that would be:
48 → [48 → 92.16 → 96]

Where green is Output Format, and red is the "Tempo & Pitch" module.
But if the SoundTouch library is a "black box" perhaps it's not possible to set the output rate to be something different from the input rate.
 
At least that's how I understand the issue, 62 can chime in with a more in depth explanation.  I can certainly empirically confirm that downmixed multi-channel audio is much quieter for me than native 2 channel content with volume leveling enabled.
I'm not sure that it's entirely due to the LFE channel - though that is certainly going to be a factor.
I'd need to have a proper look over all the documentation again, but I think the "THX style AV receiver" is one which applies the +10dB for LFE automatically, and a "regular AV receiver" is one which does not.
 


Figure A-3
The set-top box or iDTV aligns the loudness level correctly for the particular playback device to which the
consumer is listening. Consequently, all codec systems of all services appear at the same loudness level
within that box. By the way: the loudness levels in the graph are relative and indicate the jump caused by
incorrect processing. Ultimately, the loudness playback level is defined by the consumer, who makes use
of the volume control of the equipment chosen to reproduce the sound.

-23 LUFS would be appropriate for a broadcast stereo downmix, but broadcast recommendations for stereo downmixes discard LFE, while Media Center does not.
And it includes the LFE channel for a good reason: because many MC customers are sending the audio to high-end stereo or headphone setups, rather than using TV speakers.
 
So -31 LUFS would be a better target for leveling across all video playback in MC, especially since it would be decoding the HD formats internally anyway, instead of passing them through to the AVR.
Logged

DarkSpace

  • Junior Woodchuck
  • **
  • Posts: 60
Re: Proposal: Additional Output Format DSP tab
« Reply #19 on: July 06, 2015, 02:25:02 pm »

Volume Leveling is designed so that it will never clip, but it must reduce the volume for any file where 23dB is not enough headroom to prevent clipping, resulting in uneven leveling for those files.
As I said, I'd like to have that 'never clipping' behavior mentioned somewhere, at least. I'd prefer to (optionally?) not have it at all, so as to really have a consistent volume.

So what is likely happening is:
[48 → 96][96 → 92.16 → 96]
 
Ideally that would be:
48 → [48 → 92.16 → 96]
I agree, though I would have understood it to resolve into the ideal of
48 → [(48 kHz = 46.08 kHz) → 96]
(i.e. show the adjusted rate relative to the input sample rate, rather than relative to the target sample rate). That's only because I misinterpreted your ideal at the first glance and thought it would resample twice. I used '=' to denote that a reinterpretation of the current format occurs, rather than a resampling. And yes, once I started thinking, I understood that your ideal black box simply reinterprets the 92.16 kHz as 96 kHz also... I was momentarily confused, that's all.

But if the SoundTouch library is a "black box" perhaps it's not possible to set the output rate to be something different from the input rate.
For what it's worth, my 'ideal' DSP Studio (for now) would work rather different in that it would have the Audio Renderer simply ask for what it needs (e.g. 2.0 96 kHz), and each filter (with each step getting closer to the source) having the option to modify the input accordingly. This would mean that the Renderer requests 2.0 96 kHz, and if SoundTouch was the last occurrence of a resampler (i.e. the first one that's asked to resample), it could know to resample whatever input format (be it 48 kHz, 44100 Hz, something rather exotic like, say, 13484 Hz, or whatever) and output 96 kHz from it (thereby also consuming the resampling request, of course).
Only when no VST has been capable of fulfilling a specific requirement (e.g. 2.0 channels), the Audio Renderer would perform the necessary actions.
Of course, if the Audio Renderer (basically what currently resides in the Output Format tab) is configured to pass through the input data, and there is an error somewhere because e.g. the playback device doesn't support 96 kHz, that would be passed as an error to the user, as it is right now.
And yes, I'm aware that at best, this would require a major rewriting effort for the DSP tab, which is why I just mention it as an 'ideal'. I don't actually expect it to be realized, much less soon. I don't even know if it's possible with VSTs at all!


-23 LUFS would be appropriate for a broadcast stereo downmix, but broadcast recommendations for stereo downmixes discard LFE, while Media Center does not.
And it includes the LFE channel for a good reason: because many MC customers are sending the audio to high-end stereo or headphone setups, rather than using TV speakers.
I agree.

So -31 LUFS would be a better target for leveling across all video playback in MC, especially since it would be decoding the HD formats internally anyway, instead of passing them through to the AVR.
I can also agree to adjusting the reference volume in order to adapt to circumstances.
Much more than about the Volume Leveling target itself, however, I care about having it consistent regardless of the input. Once, before I discovered MC (and from then on, only a short while until I discovered Volume Leveling), I had to constantly adjust my volume, depending on which file I played. I'm rather fond of knowing that I can set e.g. my TV's volume to 25 (on a scale from 1 to 100) and be done with it. I prefer having to readjust that value once (e.g. to 37) over having to adjust that value every time I play something that isn't also with (or without) Video. (Of course, I suppose that if the values are known, then I could also create two Zones, one for each content type, and adjust those accordingly. I prefer the consistent volume option, though).

Wow, I get the impression that I've been repeating myself over the course of this post. I'm rather certain that I would still do that if I now rewrote this entire post, though, so here you go...
Logged
Pages: [1]   Go Up