Vienna Symphonic Library Forum
Forum Statistics

191,944 users have contributed to 42,820 threads and 257,502 posts.

In the past 24 hours, we have 10 new thread(s), 59 new post(s) and 239 new user(s).

  • Thank you Andi. Yes, this interconnection between Volume (absolute value) and Expression (relative to volume) is what troubles me. VSL presets volume is modeled (if I'm not wrong) on 'natural volume' tables, so until they are in the same relation the one the other, they should be fine. By increasing the Volume value, maybe I'm just giving Expression a shorter run toward the lower values, and some space over the nominal level.

    Paolo


  • I prefer to have CC7 vol always set to max 127 in order to have full dynamic range of each instrument.  Then use CC11 and Velocity X-Fade for dynamics.  

    The problem is how to level-balance the whole orchestra, and VSL has done a nice thing by setting CC7 to approximate a level-balanced orchestra.  This can be done alternatively with the audio fader instead of CC7, which I prefer....  or when I use MirPro, it could be done there too....  But if I don't use MirPro's natural volume, then obviously I have to level-balance it myself, but still I prefer to have each instrument with CC7 set to max for full dynamic range...then use CC11, etc...to adjust the player dynamics...and some audio fader will be adjusted outside of the instrument in order to level-balance the orchestra.


  • I finally got the chance to do some more calculations, and it seems to me that going from CC11=127 (128) to CC11=110 (111) should result in an increase of the CC7 value by ~15%.

    Am I doing my calculations right? Going from 128 to 111 is a decrease of 13,3% (with 128=100% and 111=~86,7%). On the opposite directions, going from 110 to 128 would be an increase of 15,3%.

    If I want to recover the same level with Volume, am I right in increasing CC7 by 15,3%?

    Paolo


  • I'm not sure it really works that way...but anyway I think it would depend on each sample library how CC11 is implemented.


  • last edited
    last edited

    @Dewdman42 said:

    I'm not sure it really works that way...but anyway I think it would depend on each sample library how CC11 is implemented.

    In VSL, CC11 is the traditional additional control for volume. While Master Volume (CC7) gives the maximum level for the channel, Expression (CC11) adjusts the volume inside that range.

    What I’m trying to do is to preserve the original balance set by VSL, but lowering the Expression control to get some space above the default for additional adjustments.

    If I know how much I will lower the Expression control, how to calculate the increment of Master Volume?

    Paolo


  • yes I know.  Did VSL already state the exact processing that occurs with CC11?   I'm not sure we can assume the math you attempted to derive.

    But assuming CC11 is nothing but simple gain adjustment within whatever dynamic range is provided by CC7:

    Think of CC7 as "dynamic range", and CC11 is 127 increments within that dynamic range.  The smaller you make CC7, the finer the increments are in CC11 since it spreads 127 increments over a reduced dynamic range.

    So for example if you reduce CC7 to 95, that is 75% of the dynamic range.  With that setting the CC11 slider will cover that 75% total dynamic range, still with 127 increments, so each increment is a smaller change.

    I'm not sure right now how to calculate percentages that would make any sense it would take me a while to try to figure that out, but I'm not sure how useful that really would be

    In my view, its best to set CC7 always to max of 127 and then use CC11 to adjust volume of the instrument.  This is in order to have the full dynamic range of the instrument and a consistent CC11 increment value for adjusting instrument volume.  Then use the actual audio faders after coming out of the instrument to level-balance your orchestra.

    VSL may be trying to use the CC7 as a way to imply some level-balancing between their various libraries, but as you are noticing that makes the CC11 curves inconsistent.

    When using MirPro, with its natural level turned on, you basically accomplish the level-balancing in the audio realm, not the midi.

    The CC7/CC11 thing is kind of a traditional thing hanging around from the old days when we used hardware synthesizers...and CC7 was used to adjust that actual volume of the synth...same as if you were adjusting the volume slider on the front of the synth.  I always preferred to have that set to max level, for the full dynamic range...and then adjust the audio input where the sound is going appropriately.  Later on people started using CC11 so that you could have an adjustable midi-based level which you could automate, while still leaving CC7 set to full dynamic range.  But clever people started using both gain controls in some kind of way that they felt made sense to them, but really..what are they accomplishing that way other then making the midi leveling more complicated then it really needs to be?

    We also have CC2 XF which to me seems like the right control for actually automating player dynamics...while CC11 should really be the higher level thing related to the level of the instrument relative to the rest of the orch..and CC7 should just be set to full dynamic range IMHO.  But for whatever the reason, VSL in their wisdom decided to ship various libraries with CC7 set to some kind of meaningful level so that if you use all VSL libraries they might all mix well against each other and might be level balanced.  But then CC11 will not have a consistent curve...so..I personally prefer to have CC7 set always to max...consistent CC11 curves...but really most of the automation I might do is with CC2 anyway.

    plus, once you have a level balanced orch, you probably should not get too crazy with automating either CC11 nor CC7 if you care about realistic orchestrations.  You orchestrate your music according to what players can play and will realistically sound like...if you start automating the levels in and out..will sound great, but may not end up being a realistic orchestration that could be performed by real players.


  • In lack of more information, I have to consider Expression in VSL instruments to be following the standard behavior dictated by the MIDI protocol, that is acting as a secondary MIDI control for channel volume. I therefore use it for boosting dynamics, balancing between timbre and volume, or fading to niente, in addition to the Velocity XFade control.

    With VI instruments I do what you suggest: keep everything at the same level, and mix in MIR. I don't keep the Volume control at maximum, but at 100, following the common practice of keeping the volume of orchestral instruments lower than 0dB (in the digital domain). Is this still necessary? I don't know.

    With Synchronized instruments, VSL tried to replicate the Natural Volume parameter of MIR with Volume (CC7). It is true that this reduces the range of the Expression control, that they keep at maximum by default, but maybe this is correct, considering that dynamic range of farther instruments is in any case perceived as reduced.

    I'm not sure I understand the need for this Volume adjustment in Synchron instruments, where everything is supposedly already balanced in the internal mixer. Maybe someone from VSL can help us go into the details?

    With Synchron and Synchronized instruments there is no way to use MIR to adjust the relative volume of the instruments on a virtual stage. The alternative is the one you suggest, that is the DAW's audio mixer. I'm hesitant in using it, for three reasons: 1) it adds a further level of complexity, 2) it moves everything out of the dimension of orchestra simulation and into the realm of audio mixing, and 3) the current mixer in Dorico is awful, and I would prefer to avoid it.

    Paolo


  • Well I would submit to you that both cc7 and cc11 are in the same realm of audio mixing. They are nothing but gain controls so you have three gain controls at play, cc7, cc11 and the audio mixer. By the way I am unaware of any rule that says cc7=100 equates to unity gain. I think it’s not a bad rule though because it gives you a little room to bump it up a bit with a problematic instrument with really low level samples. Vsl instruments are amazingly consistent and this should not be a problem but the same can not be said for other Instruments In any case I think it’s good if cc7 is consistent, whether it be 127 or 100. If a particular instrument is meant to have a more limited dynamic range I would expect that to be programmed into the instrument’s scripting or programming rather then expecting us to figure out some complex ratios between cc7 and cc11 to get that right. An awful lot of people do customarily use cc11 to automate dynamics because many libraries do not provide velocity cross fading so cc11 is the primary means to automate player dynamics. Some libs use cc1 or another controller for that or there is always midi velocity in some cases; and cc7 is what they might use to adjust the overall volume but as I said the difference between cc7 and mixer audio fader is not much. They are two levels of gain right next to each other in the chain. Cc7 sets the output level coming out of the instrument into the audio mixer which itself has at least one gain control. Cc7 has the obvious advantage that it can be saved with a midi file when it’s exported. Audio mixer gain has more resolution. Anyway there is no right or wrong approach here, whatever is getting you good results but in answer to your question about the math read what I said in my previous post

  • last edited
    last edited

    @Another User said:

    By the way I am unaware of any rule that says cc7=100 equates to unity gain.

    It's just a common practice in some software or library. Sometimes it is 100, some others a more precise 108, 109, or the like. Dorico, for example, resets CC7 to 100 at startup (or, at least, so it did).

    Paolo


  • last edited
    last edited

    @PaoloT said:

    If I want to recover the same level with Volume, am I right in increasing CC7 by 15,3%?

    I don't know if it is right, but I've finally checked by ear (and in the meters) if it works. It works: the original settings by VSL and my new settings (with CC11 lowered to 110) do match.

    The actual math is probably more complicate, and involves some odd logarithmic formula. Mine, using percentages, is probably an approximation, but still working on such small quantities.

    Paolo


  • Paolo, sorry, I haven't read this thread. Can I help you? If you can bear to simply restate the problem you're trying to solve, I'll give it a go - it looks like my kind of thing.

    Oh, hang on, I think you've stated the problem pretty clearly in your opening post. I'll start working on it while I'm enjoying this lovely butter chicken curry!


  • Macker, I would be very happy to see if a theory behind the interlinking Volume and Expression curves will emerge!

    Bon appétit!

    Paolo


  • last edited
    last edited

    Going to the first couple posts from last march again....  I want to say something more..

    @Another User said:

    Generally, CC7 should be the final volume leaving the instrument.

    as I said earlier..that is the same as if you were adjusting the volume slider on a hardware synth.  Its the final and last gain coming out of the VST instrument.

    So first thing, the above statement should be verified to be correct from VSL, but that would be my assumption.

    What happens inside the instrument is known only by VSL, but we can assume some of the following gain staging unless told otherwise by VSL:

    • First gain stage is the instrument programming including the amplitude of the waves as recorded and saved as sample data

    • Second gain stage involves any programming incurred inside the instrument affecting gain

    • Third gain stage is application of velocity or VelocityXF (really part of the above 2nd stage)

    • 4th gain stage is any changes to the output level applied by CC11 expression (which might also be part of the above stage2)

    • 5th gain stage is the final volume coming out of the VST instrument, which is analogous to the volume slider on a hardware synth and controlled by CC7

    • The instrument output feeds to an instrument channel in your DAW where there is another gain stage, There may be further gain stages if the signal goes through any other BUS, etc.  These gain stages are able to boost the signal rather then merely reduce.  However, you want to avoid doing that unless all of the earlier gain stages are already at full unity gain and there is no other way.

    There are numerous tutorials on the internet about gain staging and best practices which should probably not be ignored when using gain staging, in order to ensure that you don't raise the noise floor.  This is part of what I have been referring to as preserving the dynamic range.

    I don't entirely understand what PaoloT is wanting to determine in terms of percentages between cc7 and cc11, which are but two of the various gain stages involved, and they are most likely right next to each other in the signal chain as well.  But the interesting question I think he is trying to understand is what is the difference between changing one vs changing the other.

    You can probably think of both of them as being full unity gain when set to 127, and any smaller number is a gain reduction at that stage.  (VSL would need to confirm that for this instrument).   Assuming they are linear, to keep things simple for now, I am going to call these two faders by generic names for now....F1 and F2

    If F1 = 110, that is 87% of full.  So then we assuming the signal is reduced to 87%, and if F2=127, then it doesn't  reduce gain...final output is 87% of full.

    if we do the reverse, F1=127 and F2=110.  Same result.  First fader doesn't reduce, second fader reduces to 87%.

    If we set them both to 110, I would expect the result to be 87% of 87%. (which is the same as overall 76% by the way.

    Note that in that case, the first fader F1 is shaving off 13%, the second fader F2, is only shaving off 11% when set to the same value of 110.  This is because it is is dealing with an already reduced signal.

    All of the above is assuming linear response rather then logarithmic, just to keep things simple.

    what do you want to do with this information PaoloT?


  • The above is basic gain staging and makes assumptions which we don't know the answer unless VSL answers this thread about specific instrument programming.

    In particular interest to me is what happens with CC11?  if it is a simple gain control, just prior to leaving the instrument and right before CC7's gain stage...then CC7 and CC11 are really just working together as one effective gain stage...which also most likely only provides gain reduction in general, no boosting.  And the exact amount of gain reduction is probably along the lines of what I said earlier.  

    However, its always possible VSL does something different in terms of how these two controls manipulate gain, only they can answer that.  In particular its always possible that CC11 is somehow changing gain much earlier in the instrument's internal signal chain in some way.  VelocityXF, for example, actually cross fades the samples while also applying gain reduction according to the value.  So its quite a bit more than a simple gain reduction.  So the question for VSL is, what exactly does CC11 do.  

    Another question is about the Synchron player's own built in mixer...is either CC11 or CC7 applying gain reduction prior to the Synchron internal mixer (which by the way is also a gain stage, part of the instrument programming).

    So these are all questions we don't really know the full info could effect the answer.


  • Paolo, I've been measuring what Synchron Player's Main Volume and Expression faders do, but haven't finished that yet - in every measurement it can take ten minutes or more until the meter readout is settled to 2 decimal places. (I'm using BlueCat's DP Pro Meter plugin, which does lots of very useful stuff, including RMS level averaging in real time over however long I want.)

    A few highlights of my findings so far:-

       Both faders have the same logarithmic transfer function, as one would expect.

       -1.0 dB is at MIDI value 120; (all dB values here are relative to 0 dB attenuation at MIDI val 127.

       -2.5 dB at 110;

       -4.1 dB at 100;

       -6 dB at 90

       -8 dB at 80;

       -10.3 dB at 70

       Going all the way down to -83 dB at 1, then complete cutoff at 0.

    If both faders are set to 90, the combined result is of course -12 dB. All combinations (excluding zeros) are simply the sum of the two dB attenuation values as yielded at the two MIDI values. There is no easy way of avoiding having to know what dB attenuation is yielded at what MIDI values on these two faders.

    Sorry to say your heroically bold percentage idea can't be applied to any other combination except the one you've derived by listening or by meter readings. And as you mentioned, the simple but somewhat fussy mathematical expressions that can derive MIDI value from required attenuation dB, and attenutation dB from MIDI value, just aren't the sort of thing that mix engineers generally would care to memorise or even look up, let alone use in the heat of the moment while mixing.

    What I want at least for myself is a complete and accurate chart of attenuation dB versus MIDI values - and I hope it may also be useful for you and many others. That's going to take a while because doing these measurements takes forever and certainly ain't fun. And I must say I'm a wee bit miffed that VSL haven't seen fit to provide any such chart, table, map or graph in the Synchron documentation.

    Also I want to produce a simple drawing that shows several key dB values on one side of a fader and MIDI values on the other, linked by horizontal lines - as a sort of graphical template I'd like to see (or at least imagine) overlaid on these two faders in the Synchron Player.

    The particular use case you outlined at the start of this thread is a critical one; it highlights a problem we all have to face if, like you, we want some default headroom on the Expression fader and yet also want to preserve the Synchron Player's preset overall output level. As I've quoted above, 6 dB down is at MIDI val 90. I'm worried that in some presets it might be impossible to raise the CC7 fader by 6 dB to compensate for this (not unusual) 6 dB of default headroom on the Expression fader.

    One workaround might be to set the required Expression headroom of 6dB in all Synchron Players in use, but leaving the Volume faders untouched - then simply make up for this 6 dB loss on all the Synchron Players, at some common stage downstream.

    I'll post the full results of my measurements probably in a few days.


  • Macker, your dynamics table would be very useful. Reasoning in terms of dB would make a lot more sense. The resulting math would however be, I fear, out of my immediate reach, and I will end up doing all my adjustments by ear!

    Paolo


  • To add confusion to my already confused mind: when doing volume change on many channels in a mixer, trying to preserve the same balance between them, you move the faders all of the same amount.

    So, does this mean that changing the Volume control of the same amount in all the instruments is the right way to do it?

    Paolo


  • It all depends on what you mean by "amount".

    There are two main cases, each having different consequences.

       1. Strictly speaking, if the faders at first are each at different settings, and then they are all moved by the same amount of distance (in mm, inches, or whatever), the balance will be altered. But if at first the faders are all at exactly the same setting, then moving them all by the same amount of distance - any possible distance - will preserve the previous balance. In the case of MIDI CC faders calibrated in number values from 0 to 127, these values can also be regarded as if units of physical distance of fader movement.

       2. Now if the "amount" by which all the faders are moved is dB, then the balance will always be preserved, no matter what their settings were before the move. In this case, if the previous settings of each fader were all substantially different, then moving them all by the same amount of dB means that each fader will be moved by a different amount of physical distance - which also means by a different amount of MIDI CC values.

    However, in actual practice in Case 1, especially when mixing for orchestral concert performance (i.e no heavy compression or limiting), if the initial settings of the faders before the overall move aren't very different, and if the overall move is quite a small distance, then you may well find that the balance is not altered significantly by the move. This is because the logarithmic curve of these volume faders is not hugely different from a straight line when considered within a small segment of the curve. Thus for example, if initial fader settings are all within about 2 or 3 dB of each other, and then you move all faders, say, from MIDI CC 115 to 95, you'll probably get away with it.

    Don't worry, Paolo, decibels are alien to natural human thought and can trip up even the finest minds now and then - I've seen it happen enough times. From my own experience I'd say it's best to shape your own intuition-friendly mental model of how decibels work (of course ensuring that it's valid for your purposes), then lock it down deep and hard in your mind, use it often, but only let it come back out into the light of day rarely if at all, lol.


  • Macker, very clear, thank you! (I said 'very clear' indeed?)

    Paolo


  • last edited
    last edited

     

    This has nothing to do with logarithmic scaling, so humor me and keep that out of discussion here for a minute.

    I think you are trying to find a way to use VSL's CC7 default values since that appears to be the way VSL is level-balancing Synchron instruments against each other.  Yes so far?

    Defaults

    So the defaults are to have CC11 at Max....  and then you can adjust CC11 from 0-127 which will essentially attenuate the signal even further as you desire over the range set by CC7.    Note that in a way CC7 provides the total dynamic range...and CC11 adjusts the level linearly within that range.   When CC1 and CC11 are set to max 127 you can think of that as the max possible volume of the instrument, which VSL is level balancing against other instruments and their max levels...by using CC7.

    Breathing Room

    Now I think you are saying that's all fine and good, but you want some breathing room because if you use that default setup and you start drawing in a bunch of expression curves to your composition and then suddenly you find out that its not quite loud enough even when both CC1 and CC11 are set to max.  And you need to be able to bump it up a little more.  Fair enough.   Also level balanced sample orchestras are probably never perfectly balanced.  So you need some room to fudge it.  Fair enough.

    That means you didn't probably have the max volume level set right to begin with via CC7.  So assuming that you could bump up CC7 a little bit to get the max level where you want it...but then all the curves you already drew for CC11 would all be too loud.  So I don't think that's a good solution really, you probably should leave CC7 alone once you start recording tracks and programming CC11 curves.

    So you suggest that you could have CC11=110 set as the home base "max" position, and that way if you get halfway into your composing you realize that you need more max volume then you originally thought, then you can just pump up cc11 past 110...take it to "Eleven" so to speak...  

    Reduced level

    So assuming you set CC11=110 and generally treat that as your max instrument level....and only rarely go to Eleven...I don't think there is anything else you need to do to compensate anything.  Just be consistent with all your tracks, always use the same approach.  Me personally I still prefer generally to use CC1 (velocity XF) for each instrument dynamics anyway...and I would generally leave CC11 set to its home base position (whether that is 110 or 127), and only rarely use CC11 to change dynamics slightly louder then max perhaps.  I don't see the point of using CC11 instead of velocity XF.  But no matter, some other sample libraries don't provide velocity XF, so that would be the case when you would use CC11 and just always treat the max as 110 except for rare situations where you have to go to Eleven as mentioned above.

    In the above, yes the overall instrument output will be lower then factory, since you'll be using CC11=110 as the max in order to have room to go to Eleven.  That is an attenuated signal by a factor of 13%.  That doesn't really matter as long as all your instruments are following the same rule, then their output will all by attenuated by 13% and the level-balancing will be preserved...just everyone at a lower level.

    MirPro

    As a side note, MIRPro does essentially exactly this.  When you use MirPro instrument presets, they are all dropped way down in level in order to preserve level balancing against some other really loud instruments such as Timpani.  It means that other instruments output from MirPro and very low levels, way way way below -18db, which many people including myself have struggled with a little bit, but it doesn't matter, its all relative.  

    Trim Plugin

    If you want you can simply add a trim plugin to the master bus to bring them all back up again evenly by the same amount.  How much gain to add would be 13%...but of course gain plugins often use use DB units to specify the gain,, so you'd have to figure out how many DB's of gain to add, one setting for the entire orchestra.  One master bus with just one trim plugin using some amount of gain that brings them all back up, relative to each other, by a factor of 13%.  

    That's all you really need to do.

    Adjusting CC7 back up

    I think it would be very difficult to try to adjust all the CC7 values up from the factory setting in order to compensate for the 13% reduction you are making with CC11=110 because of the math I mentioned where its a percentage of a percentage.  I am not sure you could simply raise CC7 by 17 (which is 13% of 127) and have the level balancing preserved.   It needs to be bumped up by 13% from the current cc7 range.

    If you want to try the math, you need to use percentages, maybe you were already suggesting this but I could not understand what you wrote, but simply take the following math, assuming VSL's cc7 val and changing CC11 from 127 to 110.

    @Another User said:

    new_cc7_val =  oldCC7val / (110 / 127)

    Then change CC7 to the above and use 110 for CC11 and it should be the same output.

    Also, some of the instruments may not have room to go up enough to compensate, before hitting the ceiling of 127 after running this calculation.

    Therefore its going to be easier to compensate that 13% signal loss from CC11 by simply adding trim plugins after Synchron in the plugin chain, you can either add one trim plugin on every track, and make sure they are all set the same...or just send them all to some common bus and put one trim plugin there that raises the level ~13%.

    I am essentially doing exactly that with MirPro now when I have ensembles and stuff that will never have loud sounds playing....

    I think involving DB calculations just complicates the issue because of the logarithmic nature of DB as a measurement.  You just need 13% of gain added back. whatever DB that turns out to be will be different depending on the loudness of the instruments.