INTERACT FORUM

Please login or register.

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

Author Topic: Internal Volume question  (Read 20586 times)

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Internal Volume question
« on: January 30, 2012, 11:09:19 am »

I've got a volume riddle, started from this thread:
http://yabb.jriver.com/interact/index.php?topic=69319.0

The issue is related to subwoofer handling with a Linkwitz, but let's ignore that for now.

The riddle only applies when using 'Internal Volume', where the volume is artificially removing possible signal headroom.

If you play at 5% volume, and add +12 dB with an equalizer, which should happen:

1) Clip protection engages, pushing the level down to the point that the overall volume is about the same
2) The level gets +12 dB higher because there's no need for clip protection since we're at 5% volume

Currently we do #1.  This ensures that something really loud can't sneak through if you're at 5% volume.  In other words, the volume is the boss.

However, #2 has some advantages because it means if a filter like a Linkwitz on the subwoofer needs a big spike, it can happen.

Thoughts?
Logged
Matt Ashland, JRiver Media Center

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Volume question
« Reply #1 on: January 30, 2012, 12:11:41 pm »

I think #2 should happen since, like you mentioned, there is really no need for clip protection when the volume is at 5%. It is frustrating for the user to try to boost the volume for some reason with the equalizer and then have it arbitrarily pushed back down even when there is no clipping. The user should be the boss and not the volume. Clip protection should engage when the headroom has been all used up.

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #2 on: January 30, 2012, 12:55:41 pm »

I think #2 should happen since, like you mentioned, there is really no need for clip protection when the volume is at 5%. It is frustrating for the user to try to boost the volume for some reason with the equalizer and then have it arbitrarily pushed back down even when there is no clipping. The user should be the boss and not the volume. Clip protection should engage when the headroom has been all used up.

Just to argue the other side, the user also set the volume to 5%.  And if they do that, it would be quite unexpected (possibly even damaging) to let something that actually reaches 100% through.

We actually changed to #1 not that long ago so that we'd always honor the volume.
Logged
Matt Ashland, JRiver Media Center

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Volume question
« Reply #3 on: January 30, 2012, 02:37:25 pm »

According to my internal volume in JRiver, it is a 46.5 db increase to go from 5% to 100%. I just turned on my SPL meter and the SPL is 54 dB at my listening position. My speakers produce 82 dB at 1 watt. At 54 dB I am using about .000488 watts. To go to 100% is 100 dB and only requires 16 watts. This isn't going to hurt anything.

I have another pair of speakers that are rated at 92 dB/1watt. These have a different audio device and gain structure. At 5% the volume is probably at 75dB (I'm just guessing). To increase to 100% the output would be around 121 dB. This would take me 853 watts. I don't have that much power, but the amp or speakers won't be hurt by getting a 100% signal. I do have 340+ watts per channel which should give me levels of 117 dB. My speakers can handle this output level.

Your illustration is for a large spike in output. What type of spike do you feel is reasonable - 15 or 20 dB? I can see how an EQ boost on top of a L-R could eat up headroom, but the dynamic range even of movies doesn't seem great enough to cause a huge problem. If users are getting into advanced setup or configurations, then they probably would like less hand holding rather than more.

Does #1 happen only when clip protection is turned on or does it happen all the time? In other words, is it user defeatable?

I've been using JRiver directly to amplifiers since version 9 and have never damaged anything with JRiver. I actually have more trouble outside of JRiver because I have the internal volume on in JRiver and if the program isn't the focus, increasing the volume on the keyboard raises the Windows master volume. There have been several times when I go to play a youtube video or something else on the internet and the Windows volume is at 100%. Creating your own JRiver audio device virtual driver would provide more protection for me than clip protection.  ;)
Logged

jgreen

  • Citizen of the Universe
  • *****
  • Posts: 2419
Re: Volume question
« Reply #4 on: January 30, 2012, 04:29:28 pm »

#1 is correct, IMO.  Clip protection is clip protection (and has no business on your music).  Maybe a skull-and-crossbones label on the DSP setting?

Every time I think I've finally found an actually clipping track with the wildly overpowered recordings out there, when I turn around and improve my hardware I can hear that it's properly granulated.
Logged

jgreen

  • Citizen of the Universe
  • *****
  • Posts: 2419
Re: Volume question
« Reply #5 on: January 30, 2012, 04:32:31 pm »

I missed the "headroom reduction" part of the riddle, but I think I still think what I said. 
Logged

jgreen

  • Citizen of the Universe
  • *****
  • Posts: 2419
Re: Volume question
« Reply #6 on: January 30, 2012, 04:34:48 pm »

Okay, internal volume would be next-to-last in the post chain, right?  Is it really throwing enough bits away to do this?
Logged

TheLion

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 437
Re: Volume question
« Reply #7 on: February 01, 2012, 12:25:39 am »

Matt,

interesting topic. I don't quite understand the different volume options of MC. I use a Prism Orpheus ASIO interface which has its own volume control. I always used the Orpheus panel for volume control and set MC to "Disabled volume".

I guess "application volume" and "system volume" are wrong settings for me (I guess they do nothing with ASIO streams anyway). But what about "internal volume"? Should I set the Orpheus volume control to max. and use internal volume in MC instead?

Other factors are: I increase the level of the "subwoofer/LFE" channel by +3.9db using your Parametric EQ. Then I have convolution with individually normalized filters. The level balance between my channels is done in Room Correction (Center is base with +-0db, Right Back is highest level and needs -6.9db).

Which volume setting should I use in my case for best results and handling of headroom?

Thanks!
Logged

TheLion

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 437
Re: Volume question
« Reply #8 on: February 03, 2012, 12:10:08 am »

Matt,

when using convolution (with filters of varying gain) and Room Correction to set the correct levels for each speaker I would very much like to see 2). Clip protection only when headroom is used up. 
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #9 on: February 04, 2012, 11:43:10 pm »

I'm still working to get my head around this.

I'm thinking that using Internal Volume and #2 above would probably be the best for sound quality.

Currently I use System Volume and #1, so this is a bit of a change.

But by changing this, clip protection / video volume normalization would never turn the volume down when there was still headroom because you had the internal volume lower (and I normally do).  Currently, the first bass hit in an action movie often pushes my volume down.  It's not a big deal, but it is unnecessary.

I also want some kind of limit on my subwoofer channel so it can't get so loud it would cause clip protection to turn other stuff down too much (assuming I was playing at 100% internal volume).  This limit needs to work _after_ internal volume, which means the current ordering of Parametric Equalizer and Internal Volume would be a problem.
Logged
Matt Ashland, JRiver Media Center

TheLion

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 437
Re: Volume question
« Reply #10 on: February 05, 2012, 03:42:48 am »

Matt,

that truly isn't an easy topic. Basically I want MC to provide the following: assuming movie content (Blu-ray/DVD) the standard calibration is pink noise with a digital level of -20db dbfs = 85db output at listening position. With the 20db digital headroom the acoustic headroom is 105db for all main channels (subwoofer is calibrated at -30dbfs = 85db output and therefor has 115db max. level).

The gain structure/digital level of MC should "simply" provide this digital headroom. Without parametric EQ/convolution/level gains this is straight forward. A 0dbfs digital input signal (the highest possible signal level from a audio decoder) should be 0dbfs digital output level (the highest level the sound interface/preamp supports). If the output level is higher there will be clipping, if it is lower the dynamic bandwidth of the given format is not fully used.

It gets much more complicated if you have filters which alter level gains in the processing chain (parametric EQ, convolution...) - which I have in my case. I run +3.9db on the LFE channel, than I run convolution (normalized filters) and finally use Room Correction the set the correct relative levels for all channels. After all that when I run a -20dbfs test signal I want (at least - some channel will have more due to relative level matching) 20db headroom on all my channels preserved. That way I don't run into clipping when the input signal is maxed out.

If MC provides this gain structure there isn't the possibility of clipping and all level gains are at their optimal value. What do you think, Matt?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #11 on: February 06, 2012, 11:25:11 am »

Next build:
Changed: Internal volume is applied before DSP instead of last, so that limiting and clip protection are never applied unless actually required by the hardware.

I think when using processing (Convolution, Bass management, etc.), the best sound quality will be from using Internal Volume with your hardware volume set to the maximum (or to as loud as you would ever want anything to get).

I'll try to write up a wiki at a later date to explain the change and why I think it's important.

Thanks for the help here.
Logged
Matt Ashland, JRiver Media Center

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Volume question
« Reply #12 on: February 06, 2012, 12:18:49 pm »

that truly isn't an easy topic. Basically I want MC to provide the following: assuming movie content (Blu-ray/DVD) the standard calibration is pink noise with a digital level of -20db dbfs = 85db output at listening position. With the 20db digital headroom the acoustic headroom is 105db for all main channels (subwoofer is calibrated at -30dbfs = 85db output and therefor has 115db max. level).
Using a pro audio device (like you) and balanced amps, I've found that I have much more headroom than if I calibrated with a home theater calibration disk to 85 dB. I set all my channels to be the same level, but don't care if a calibration pink noise is actually 95 or 100 dB on my system.

It is helpful, though, when making comparisons to others' listening experiences with Blu-rays, etc. For example, some reviewer might say that at -10 dB, the bass still seemed overwhelming. Since 85 dB is the norm for 0 Reference Level on a receiver, it would be nice if we could measure our system and adjust the internal volume control until the pink noise is played back through the DSP chain at 85 dB. Then we could indicated that this is the correct setting for 0 dB Reference Level. Then when we lower or raise the internal volume control from this level it will show +/- x dB. Currently the internal volume only shows -x dB from when the volume control is at 100%. It is sort of assuming 100% is reference level when actually it could be much louder.

Quote
Next build:
Changed: Internal volume is applied before DSP instead of last, so that limiting and clip protection are never applied unless actually required by the hardware.
I think this is a great idea! Since I use internal volume on a couple of my systems I'm looking forward to trying this out.

Quote
I think when using processing (Convolution, Bass management, etc.), the best sound quality will be from using Internal Volume with your hardware volume set to the maximum (or to as loud as you would ever want anything to get).
For those that go to amps with no volume control, it might be nice to have a feature where one can limit volume to 75% (or other number) for when the kids are using the system. The current Volume Protection helps, but maybe Volume Protection could have the following:  Limit volume to x%.

A feature I've requested before and goes hand in hand with volume control is the ability to keep the system volume control set at a predefined level when pausing, stopping, or exiting JRiver. When using internal volume control, and when JRiver isn't in focus (like when using an internet browser), my kids will keep increasing the volume control to try to get the music to play louder. What is happening is that the system volume is being raised while internal volume stays the same. Finally they might realize they have to go back to JRiver to adjust the volume or use keyboard shortcuts. Now the system volume is at max and when they pause the music to play a YouTube video (even within JRiver) the video will play at max volume since it is using the system volume.

This system volume problem is an issue on both of my computers that I use with internal volume control. With my work computer, I have to have the system volume at 100% even when using ASIO drivers and internal volume because the soundcard drivers still don't bypass the system volume. When I go to do stuff outside of JRiver, I have to remember to lower the system volume back down to about 5%.

 
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #13 on: February 06, 2012, 05:53:37 pm »

I've been testing a little, and I like this change.

One sort-of-bug is that the little spectrum analyzers are really small when using internal volume now.  I think visualization data should probably be (un)scaled by the internal volume.
Logged
Matt Ashland, JRiver Media Center

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Volume question
« Reply #14 on: February 06, 2012, 06:12:15 pm »

I've been testing a little, and I like this change.

One sort-of-bug is that the little spectrum analyzers are really small when using internal volume now.  I think visualization data should probably be (un)scaled by the internal volume.

I just noticed that and was going to say something.

It has always been the case that when DSP Studio is open that the internal volume control can't be used until you make JRiver the active window. Is there any way you could make internal volume still work with keyboard, etc. while DSP Studio or other JRiver dialog boxes are open? While doing things in Room Correction or PEQ I find myself wanting to adjust the volume and having to alt tab back to the main JRiver window.

The Voxengo Elephant limiter has a neat feature that allows you to boost the signal on a channel for limiting and then the signal is reduced again after the limiter hits. This can be duplicated in the PEQ by adding an "adjust the volume" of 10 dB, for example, before the limiter, and another "adjust the volume" of -10 dB after the limiter on the channel you are limiting. This lets you dial in the limiter so that when the internal volume control gets to -10 dB the limiter starts to take effect (because you have eaten up the headroom by boosting the signal). If you added a parameter to the limiter for dB level it would make this easier.

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #15 on: February 06, 2012, 06:15:26 pm »

It has always been the case that when DSP Studio is open that the internal volume control can't be used until you make JRiver the active window. Is there any way you could make internal volume still work with keyboard, etc. while DSP Studio or other JRiver dialog boxes are open? While doing things in Room Correction or PEQ I find myself wanting to adjust the volume and having to alt tab back to the main JRiver window.

How about volume buttons on your keyboard?


Quote
The Voxengo Elephant limiter has a neat feature that allows you to boost the signal on a channel for limiting and then the signal is reduced again after the limiter hits. This can be duplicated in the PEQ by adding an "adjust the volume" of 10 dB, for example, before the limiter, and another "adjust the volume" of -10 dB after the limiter on the channel you are limiting. This lets you dial in the limiter so that when the internal volume control gets to -10 dB the limiter starts to take effect (because you have eaten up the headroom by boosting the signal). If you added a parameter to the limiter for dB level it would make this easier.

The brick-wall limiter does allow specifying the limit.  The adaptive limiter does not.

I'm still trying to figure out the best way to handle the limiting, which is the second part of this riddle.
Logged
Matt Ashland, JRiver Media Center

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: Internal Volume question
« Reply #16 on: February 07, 2012, 01:26:08 pm »

Just an FYI - Internal volume setting works for me on my Logitech keyboard when DSP Studio is open and the front-most window.  It also works when MC is minimized with or without DSP open.

Never installed / used the Logitech Setpoint software on this system.  Windows 7 x64.
Logged
The opinions I express represent my own folly.

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Volume question
« Reply #17 on: February 07, 2012, 08:28:49 pm »

I think visualization data should probably be (un)scaled by the internal volume.

Matt,
Did you do this with the new pre-DSP volume control? I use the G-Force visualizer and would like it to work properly.
Logged

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Volume question
« Reply #18 on: February 07, 2012, 08:51:51 pm »

I think when using processing (Convolution, Bass management, etc.), the best sound quality will be from using Internal Volume with your hardware volume set to the maximum (or to as loud as you would ever want anything to get).

I believe it is best to send as many significant digits as possible through DSP and DAC, therefore, it would be best to maintain unity gain (or slightly less) through DSP, set internal volume to 100%, and then adjust amplifier gain to reference SPL by playing a test signal.

Where in the chain is replay gain applied?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Volume question
« Reply #19 on: February 07, 2012, 09:13:34 pm »

I believe it is best to send as many significant digits as possible through DSP and DAC, therefore, it would be best to maintain unity gain (or slightly less) through DSP, set internal volume to 100%, and then adjust amplifier gain to reference SPL by playing a test signal.

Where in the chain is replay gain applied?

You can always check audio changes and their order in Media Center using the Audio Path feature.

However, the order or number of volume changes is not relevant in 64-bit with regards to sound quality.  Lots more here, including a C++ example proving 200 million consecutive huge volume changes is bit-perfect at 32-bit output:
http://wiki.jriver.com/index.php/Audio_Bitdepth#Bit-Perfect

The order _is_ relevant with regards to how limiting is handled (ie. what to do if the signal goes over 100%), which is what this discussion and change were about.

As for hardware vs software volume, the software volume is of higher quality than anything possible in hardware.  This discussion can get a little complicated depending on the hardware used, but in general Internal Volume is a good choice if you're looking for the best sound quality.
Logged
Matt Ashland, JRiver Media Center

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #20 on: February 07, 2012, 11:05:10 pm »

Another problem is that 'Level' in Room Correction doesn't know about the Internal Volume, so it outputs test tones that are really loud.  I just had to wear earplugs to make sure everything was still in calibration.
Logged
Matt Ashland, JRiver Media Center

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Internal Volume question
« Reply #21 on: February 07, 2012, 11:11:19 pm »

Another problem is that 'Level' in Room Correction doesn't know about the Internal Volume, so it outputs test tones that are really loud.  I just had to wear earplugs to make sure everything was still in calibration.

Glad I saw this before I blasted myself.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #22 on: February 08, 2012, 11:29:29 am »

Next build:
Fixed: Internal Volume was not being honored when doing level calibration with Room Correction.
Logged
Matt Ashland, JRiver Media Center

stealth82

  • Recent member
  • *
  • Posts: 42
Re: Internal Volume question
« Reply #23 on: February 17, 2012, 07:40:43 am »

Next build:
Fixed: Internal Volume was not being honored when doing level calibration with Room Correction.
I either have a problem here I think or I still don't understand how level and tone options work.

To level speakers we have now 3 choices: (1) to flag solo and tone, (2) to play pink noise test clips, (3) to flag level.

I wasn't able to figure out what was wrong while leveling my subwoofer, it was quieter than the rest of the speakers and I tried to increase its volume from inside Room Correction. I flagged solo and tone: it made no difference, even if pushing its slider to rightmost (+20db).
At that point, still with solo and tone flagged, I tried to increase the SW volume through the Parametric Equalizer DSP: same thing.
I played a little more but nothing made any difference whatsoever or to be exact, only decreasing the SW volume level actually produced a result: the SW played quieter.

Then I tried a different thing: I flagged the level checkbox, not really knowing what that served for (here some more contextual help would be really appreciated) and I noticed it was the same that flagging solo and tone with ONE BIG DIFFERENCE: this time I was able to increase the SW volume level.

I don't really know whom to trust now. Which solution is the only true reliable?

Also, although I do understand that raising the SW volume of 5db - such is the amount I have to apply when setting a 80Hz low-pass filter - lowers all of the other speakers' volume in order to prevent clipping, I don't really know if that is the right thing to do in my case.
I don't know much about it but, shouldn't pink noise have the same level pressure even though a low-pass filter is applied to the channel? If that is not the case, should I set a gain filter for the SW channel after the low-pass one in order to prevent lowering too much the overall volume?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #24 on: February 19, 2012, 07:16:36 pm »

I don't really know whom to trust now. Which solution is the only true reliable?

You should use the 'Level' checkboxes, and adjust the level sliders so that each speaker (subwoofer included) measure at the same decibel level.
Logged
Matt Ashland, JRiver Media Center

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Internal Volume question
« Reply #25 on: February 19, 2012, 11:30:28 pm »

For my installation, this new method is a big improvement.

4. Changed: Internal volume is applied before DSP instead of last, so that limiting and clip protection are never applied unless actually required by the hardware.

NOT GOOD! This blows away certain plug-ins that have nothing to do with playback volume, but are used to process and adjust other aspects of the audio. This especially eliminates using a multi-channel compressor/equalizer with MC, as I recommended in a major article, unless MC's internal volume control is absolutely locked down -- very difficult because it's within easy user access, and sometimes it is THE volume control for the entire playback system.

The manipulation of this type of audio-chain plug-in -- standard in the audio chain of TV/radio/broadcast and production facilities -- begins with a stable input level. This WAS accomplished by enablling MC's automatic replay gain track-level adjustment, followed by the plug-in module's combination of input compressor + main processing + output limiter, THEN MC's internal volume control. This order of processing is essential, because the compressor must have consistent input level or it has no baseline for dynamic adjustment of the audio stream. The goal is to massage the audio as desired on the source side, independent of playback.

In my experience, playback volume control is entirely separate from all other audio-chain stages. Consider a radio station processing its audio (in this case via MC's DSP chain), then transmitting. The radio listener then sets local playback volume as desired -- but the listener's choice of volume obviously does not somehow feed back to the radio station and affect its audio processing. MC should continue to behave the same way.

If I understand the explanation for this major change in MC, it implies a very simple DSP chain that feeds directly into an external amp. But that's just one possible setup. Bolting it in makes MC unsuitable for other common (in my experience) audio-chain setups. I have many instances where the external amp's volume is fixed (such as a basic power amp, or an array of amp-speakers on poles and walls) and the entire playback level is controlled via MC's software/internal volume control. These setups have been working with MC perfectly for years, but now they seem to be no-longer supported by MC.

This change in behavior absolutely breaks ALL of the MC installations I've set up for friends and associates (and makes my how-to article obsolete) because they all use a DSP third-party compressor plug-in that must have the constant input level and processing order of prior versions of MC. (Even an internal MC compressor would require a consistent input level to produce useful results.) Certain visualizations and other types of DSP processes also should not be affected by playback volume.

Many recordings are at 100% dBFS and subsequent DSP processes can easily lead to clipping if care is not taken. Then new volume first DSP order does provide more headroom to DSP processes whenever the volume is not set to 100%. It does not reduce the potential for signal clipping as the volume is turned up to 100%. If the system overall audio gain is high enough, 100% volume will never be used and some clipping protection (headroom) is achieved. A system like this is, however, vulnerable to an accidental application of full volume. :o

I prefer to use Replay gain, Room Correction, or Parametric EQ to reduce signal levels below 100% dBFS by applying a preset negative gain to audio files. Selected DSP processes then follow without issue if reasonable care is taken. My amplifier gains are preset to allow me to use 100% volume safely and not worry about someone "cranking it up to 11".

I'm OK at this time with the volume first or last, however, anyone may have issues as quoted above where desired DSP processes are setup expecting a reference signal level. I vote for volume last in the processing chain to provide the most options to the users of MC.
Logged

Skogkatt

  • Junior Woodchuck
  • **
  • Posts: 75
Re: Internal Volume question
« Reply #26 on: February 20, 2012, 08:01:37 am »

Matt,

please, correct me if I'm wrong but I'm under the impression that this discussion started in the first place because the limiter measured (prior the version change)  the digital level before the volume control instead of the output level that MC actually sends to the output.

If the limiter is needed to prevent to "digitally saturate" the DAC, then it should measure the final output level. For anything else, like DSP's absolute and relative gains, level adjustment in Room Correction should suffice (hope it works too with 64 bits precision) as it allows positive and negative gains up to 20dB.

In your example, at the beginning of this thread, your problem shouldn't have to appear in the first place if the limiter was measuring digital level directly at the output.

For users with no HW volume (i.e. active loudspeakers) it would be desirable to have a limiter placed directly to the output with a user selectable threshold to take into account also the gain of the analog chain.

To be honest, all I need is to have back the functions that were perfectly working before the volume position changed. As stated in another thread, "stop: fadeout" and "add a short silence after stop for ASIO" don't work anymore because the convolver latency masks their effect. The output is shut off as soon as fadeout is completed but this does not take into account the convolver latency (2 seconds in my case) and fadeout function is implemented with the internal volume.
Logged

MusicHawk

  • Citizen of the Universe
  • *****
  • Posts: 796
Re: Internal Volume question
« Reply #27 on: February 20, 2012, 10:38:46 am »

Posting here a portion of another post at Matt's suggestion...

This change seems to have major unintended consequences. Assuming it is helpful in one situation, it creates a huge problem in other situations.

Having volume controlled at the front of the audio chain blows away certain plug-ins that have nothing to do with playback volume, but are used to process and adjust other aspects of the audio. This especially eliminates using a multi-channel compressor/equalizer with MC, because it relies on a "standard" input level.

The manipulation of this type of DSP plug-in -- standard in the audio chain of TV/radio/broadcast and production facilities and PA systems -- begins with a stable input level. Until this new change, this was accomplished by enablling MC's automatic replay gain track-level adjustment, followed by the plug-in module's combination of input compressor + main processing + output limiter, THEN MC's internal volume control driving the external amplifiers. This order of processing is essential, because the compressor must have consistent input level or it has no baseline for dynamic adjustment of the audio stream to maintain overall consistency. The goal is to massage the audio as desired on the source side, independent of whatever playback might be used.

In my experience, playback volume control is entirely separate from all other audio-chain stages. Consider a radio station processing its audio (in this case via MC's DSP chain), then transmitting. The radio listener then sets local playback volume as desired -- but the listener's choice of volume obviously does not somehow feed back to the radio station and affect its audio processing.

MC audio output can be considered as three independent "modules" (picture separate hardware devices) that should not interact:
  • DECODE module converts a variety of audio files into a standard digital audio stream format. This MC module might alter sample rate, multi-channel mixing, etc, all to achieve a standard audio stream format.
  • PROCESS module sends the standard audio stream through a chain of internal and external DSP stages/plug-ins, as chosen and ordered by the user. ONLY the DSP stages should alter the audio, per their settings. Normally these stages are configured once for the environment, then untouched. Some of these stages might have their own in/out level controls so they interact and behave as desired, but this is NOT PLAY volume, it is all audio stream PROCESSING.
  • PLAY module sends the final, processed MC audio stream through the computer's hardware and into the listener's external audio system. This final module is where user adjustment of MC's internal PLAY volume control should act in most situations, controlling the volume of external amplifiers/speakers. Play environment volume adjustment should not affect MC's DECODE and PROCESS modules.

The "new" problem is that the reason for this major change in MC is just one possible external setup, but bolting it in makes MC unsuitable for other common (in my experience) situations. I have many instances where MC is THE volume control for the entire external audio system; the external amp's volume is fixed (such as a basic power amp, or an array of active amp-speakers on poles and walls).

Instead of forcing the new change, thereby breaking existing systems, I ask that it be OPTIONAL and/or CONFIGURABLE.

Perhaps internal volume can be a processing chain stage that is re-orderable as desired, at the front, back, or anywhere in the chain. (Ideally EVERY stage/plug-in could be positioned as desired anywhere in the chain.)

Or maybe there can be TWO volume control stages, at front and back of the DSP chain, so we can enable whichever control fits the installation situation.

PLEASE at a minimum allow an option to retain the long-standing behavior of internal volume acting only at the END of MC's audio chain. Otherwise my installations will be forced to remain with an older version of MC, because the dynamic compressor-equalizer processing we use is much too valuable to lose.
Logged
Managing my media with JRiver since Media Jukebox 8 (maybe earlier), currently use Media Center for Audio/Music and Photos/Videos.
My career in media spans Radio, TV, Print, Photography, Music, Film, Online, Live, Advertising, as producer, director, writer, performer, editor, engineer, executive, owner. An exhausting but amazing ride.

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #28 on: February 20, 2012, 10:44:33 am »

I understand the issue with limiters.

I can think of a few solutions (additional ideas welcome):
1) Don't use Internal Volume if you want to use the type of limiter MusicHawk is describing
2) Allow picking if Internal Volume is first or last as an option in the volume menu
3) Allow some way to say 'This DSP requires full volume input' and Media Center could undo / redo the internal volume when processing that effect
4) Make Internal Volume one of the effects in DSP Studio so that it could be manually reordered (I'm scared this could be too prone to user error)

Thoughts?
Logged
Matt Ashland, JRiver Media Center

MusicHawk

  • Citizen of the Universe
  • *****
  • Posts: 796
Re: Internal Volume question
« Reply #29 on: February 20, 2012, 10:58:08 am »

Re Matt's potential solutions...

2) Choosing to control Internal Volume first or last is the most straightforward solution -- "new mode" or "classic mode". My variation is to have TWO such controls, first and last, to be enabled as desired.

4) Allowing Internal Volume to be anywhere in the chain generalizes the stage and is most versatile, possibly useful in certain situations. A wonderful aspect of MC is how much it is configurable, so why not allow this in the DSP chain too? Of course the flexibility of MC gives users many ways to mess up, but is a user who chooses to dig into DSP likely to do this (and not be able to un-do the mistake)? An "oops" scenario might be best handled by providing an In Case of Emergency press this "Defaults" button.

1) Not using Internal Volume then requires that an external volume control exist, somehow, but this could make the external hardware messy, bulky and expensive (buy a hardware pre-amp). Also, it makes MC not behave like all the other audio sources that can exist in a computer -- not all audio originates in or routes through MC.

3) Seems complex, requiring that the user know which DSP stages are fully in the chain and which are a special case.
Logged
Managing my media with JRiver since Media Jukebox 8 (maybe earlier), currently use Media Center for Audio/Music and Photos/Videos.
My career in media spans Radio, TV, Print, Photography, Music, Film, Online, Live, Advertising, as producer, director, writer, performer, editor, engineer, executive, owner. An exhausting but amazing ride.

icstm

  • World Citizen
  • ***
  • Posts: 150
Re: Internal Volume question
« Reply #30 on: February 20, 2012, 11:00:07 am »

agreed #4 is not good!
Logged

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Internal Volume question
« Reply #31 on: February 20, 2012, 09:32:09 pm »

Choosing to control Internal Volume first or last is the most straightforward solution......My variation is to have TWO such controls, first and last, to be enabled as desired.

Only one active volume slider either first or last. There are already DSP options to set fixed gain where desired, in PEQ for example.
Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Internal Volume question
« Reply #32 on: February 21, 2012, 09:46:17 am »

I like internal volume first, but I need some DSP that I use just for visual info (Gliss EQ) to have full volume. Therefore I vote for #3. However, I also see how some would like #2. If number two was the only option I could make it work by switching between first and last depending on what task (setup, listening, etc.) I was doing.
Logged

Skogkatt

  • Junior Woodchuck
  • **
  • Posts: 75
Re: Internal Volume question
« Reply #33 on: February 21, 2012, 10:00:00 am »

At this point option #2 is more than reasonable!

Regarding #4: there is already Room Correction in the DSP section with a +/-20dB volume capability for each channel...
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #34 on: February 21, 2012, 10:17:48 am »

Regarding #4: there is already Room Correction in the DSP section with a +/-20dB volume capability for each channel...

Just to be clarify, those sliders only adjust the relative volume of channels to one another.  In other words, if you do +20 dB to all the channels, it's the same as doing nothing.  Room Correction always targets a 0 dB volume change so that it doesn't cause clipping or clip protection in cases where there is not headroom.

You can add +20 dB (or any other amount) with the parametric equalizer.
Logged
Matt Ashland, JRiver Media Center

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #35 on: February 21, 2012, 02:32:04 pm »

Discussion about convolution-based bass management with Internal Volume split here:
http://yabb.jriver.com/interact/index.php?topic=70269.0
Logged
Matt Ashland, JRiver Media Center

TheLion

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 437
Re: Internal Volume question
« Reply #36 on: February 21, 2012, 02:36:36 pm »

The pink noise should be at 85 dB for all channels including LFE. The pink noise for LFE in the AIX Blu-ray calibration disc is -10 dB per Mark Waldrep so that when 10 dB is added at the subwoofer it plays at 85 dB. Most other calibration discs (AVIA, 5.1 Audio Toolkit from Seaton Sound, AIX Calibration Disc) and methods I have seen also have the speakers and LFE all calibrated at the same level. The Digital Video Essentials disc is incorrect and has the LFE test tone at the wrong level.
The LFE channel actually plays at 75 dB. All other channels are supposed to be attenuated 10 dB when mixed and then the final LFE level is adjusted depending on how many channels were mixed in with the LFE channel. If you boost the LFE by 10 dB first, then the levels will be off because sometimes just two channels are mixed in and other times 7 channels are mixed in to the LFE channel.


You are right and we both mean the same ;-)

Generally pink noise for level calibration is mastered at -20dbFS for all speakers and -30dbFS for the subwoofer/LFE channel (eg. AIX, or Media Centers own test signal suite). All channels should measure 85db at listening position.

I said it the other way round - if you have a pink noise signal at fixed -20dbFS and route it to the speakers it should measure 85db, when routing it to the subwoofer it should measure 95db. Which is the same as above. As Matt mentioned my setup is unusually complicated because I use convolution for bass management (which doesn't attenuate the low-passed channel mix when routing it to the subwoofer output). Therefor I have to compensate for that. Adding +10db before bass management is one way to do it. Adapting the convolution configuration file to provide the necessary attenuation to the low-passed channel mix does the same but would be more elegant. As per above I am not sure how to edit my configuration file to provide this attenuation.   
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #37 on: February 22, 2012, 09:59:58 pm »

I'm leaning towards #3 above.  I'm imagining a box at the top-right of a DSP in the header area that allows toggling this.

Performing volume on 64bit data (using SSE) only takes a few milliseconds of CPU time per minute of audio, so there's not much overhead to this approach.

And it's effectively lossless (proof here):
http://wiki.jriver.com/index.php/Audio_Bitdepth#Bit-Perfect

Any objections?
Logged
Matt Ashland, JRiver Media Center

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Internal Volume question
« Reply #38 on: February 22, 2012, 10:14:21 pm »


Any objections?

Can you avoid multiple up/down volume if two or more DSP effects in a row are checked?

I'll just check them all and effectively move the volume to last.  8)

PS. Can you do this for VST plugins?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #39 on: February 22, 2012, 10:20:31 pm »

Can you avoid multiple up/down volume if two or more DSP effects in a row are checked?

Of course.

Quote
I'll just check them all and effectively move the volume to last.  8)

I can't think why this would be better except in the case of certain limiters or visualizers.
Logged
Matt Ashland, JRiver Media Center

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: Internal Volume question
« Reply #40 on: February 22, 2012, 10:25:45 pm »

I can't think why this would be better except in the case of certain limiters or visualizers.

I guess I'm just thinking of complex digital processes without your 64 bit resolution. In that case it was good to use all the available resolution by keeping the signal level high.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #41 on: February 22, 2012, 10:37:54 pm »

I guess I'm just thinking of complex digital processes without your 64 bit resolution. In that case it was good to use all the available resolution by keeping the signal level high.

Huge volume changes don't really change the precision stored in a 64bit value like you might expect.  This is because decimals are stored as a number and exponent, and big volume changes mostly move the exponent.

So you can push 64bit numbers around by thousands of decibels millions of times (probably an infinite number, but I've only run smaller tests) and it's lossless at 32bit (and probably higher, but 32bit is the highest hardware output format).

For audio usage, I consider 64bit decimal mathematically perfect.  It's so far beyond precision usable by hardware that you can ignore precision.

There's a little more here:
http://wiki.jriver.com/index.php/Audio_Bitdepth
Logged
Matt Ashland, JRiver Media Center

Skogkatt

  • Junior Woodchuck
  • **
  • Posts: 75
Re: Internal Volume question
« Reply #42 on: February 23, 2012, 01:53:30 am »

I'm leaning towards #3 above.  I'm imagining a box at the top-right of a DSP in the header area that allows toggling this.

Performing volume on 64bit data (using SSE) only takes a few milliseconds of CPU time per minute of audio, so there's not much overhead to this approach.

And it's effectively lossless (proof here):
http://wiki.jriver.com/index.php/Audio_Bitdepth#Bit-Perfect

Any objections?

Wouldn't it be simpler using that box at the top-right of a DSP to toggle between: "Process normally" and "This DSP requires full volume input, process this DSP effect before internal volume"?

Frankly the undoing/redoing volume seems unnecessary even if mathematically perfect. I imagine you want to prevent user errors but MC is already a highly configurable piece of software
and there are probably more dangerous actions the user could do than placing volume in the wrong place.

Volume is just one effect like all the internal and external DSPs you can add as a plugin: letting the user (properly warned about possible consequences) the freedom to choose where to place volume
would make everybody happy and will let MC to remain highly configurable.

P.S. I have a suggestion: why not to implement a green/orange/red indicator to the left of each effect in DSP studio to indicate in real time which effect is operating normally/near saturation (3dB)/fully saturating
so that the user knows immediately which DSP operates to its limit?
Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Internal Volume question
« Reply #43 on: February 23, 2012, 08:44:51 am »

I'm leaning towards #3 above.  I'm imagining a box at the top-right of a DSP in the header area that allows toggling this.
+1

Quote from: Skogkatt
Wouldn't it be simpler using that box at the top-right of a DSP to toggle between: "Process normally" and "This DSP requires full volume input, process this DSP effect before internal volume"?

What happens when I want a full volume input DSP that needs to be processed after an internal volume DSP? My full volume DSP plugins usually need to be at the end of the DSP chain and sometimes in the middle when testing certain things.
Logged

Skogkatt

  • Junior Woodchuck
  • **
  • Posts: 75
Re: Internal Volume question
« Reply #44 on: February 23, 2012, 02:54:03 pm »

What happens when I want a full volume input DSP that needs to be processed after an internal volume DSP? My full volume DSP plugins usually need to be at the end of the DSP chain and sometimes in the middle when testing certain things.

If you have that toggling box next to each DSP effect then you can have any possible configuration: it is another way of saying I have internal volume configured as any other DSP and I can move it anywhere in the chain.
DSPs can be reordered also now...

My suggestion was based on Matt's concern that having the internal volume configured as a DSP might expose users to errors.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42387
  • Shoes gone again!
Re: Internal Volume question
« Reply #45 on: February 23, 2012, 04:12:31 pm »

I think this will all be tied up in a coming build using #3.

I like how it turned out.  Feedback welcome once the build is out.
Logged
Matt Ashland, JRiver Media Center

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: Internal Volume question
« Reply #46 on: February 23, 2012, 04:22:00 pm »

And just for fun you are going to "push 64bit numbers around by thousands of decibels millions of times" just to see if anyone notices.  ;D
Logged
Pages: [1]   Go Up