Add files
This commit is contained in:
307
_files/sound/bss/london/manual/MAIN/Parameter Range Scaling.html
Normal file
307
_files/sound/bss/london/manual/MAIN/Parameter Range Scaling.html
Normal file
@@ -0,0 +1,307 @@
|
||||
|
||||
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
|
||||
<meta name="generator" content="Adobe RoboHelp 9">
|
||||
<title>Parameter Range Scaling</title>
|
||||
<link rel="StyleSheet" href="HtmlHelp.css" type="text/css">
|
||||
<style title="hcp" type="text/css">
|
||||
<!--
|
||||
p.hcp1 { margin-bottom:0; }
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="ns-0 ltr">
|
||||
<div id="globalWrapper">
|
||||
<div id="column-content">
|
||||
<div id="content">
|
||||
<p><a name="top" id="top"></a></p>
|
||||
<h1 class="firstHeading">Parameter Range Scaling</h1>
|
||||
<div id="bodyContent">
|
||||
<div id="jump-to-nav">
|
||||
<p>Since Soundweb London third-party control messages
|
||||
always use a signed 32-bit integer for the data value,
|
||||
conversions are required from human-readable floating-point
|
||||
values to 32-bit fixed-point values. These conversions
|
||||
are designed to increase control precision and improve
|
||||
the feel of user interfaces. Formulas are given below
|
||||
for converting human-readable values to and from device
|
||||
values.</p>
|
||||
<p> <br>
|
||||
<script type="text/javascript" language="JavaScript1.2">//<![CDATA[
|
||||
if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); }
|
||||
//]]></script></p>
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Binary" id="Binary"></a></p>
|
||||
<h2>Binary</h2>
|
||||
<p>Binary values are either 0 or 1, where 0 means false,
|
||||
off, or disabled, and 1 means true, on, or enabled.</p>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Delay" id="Delay"></a></p>
|
||||
<h2>Delay</h2>
|
||||
<p>Delay times are specified in samples at 96kHz. The delay
|
||||
processing object uses this data type, as do the delays
|
||||
within a crossover object.</p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_to_Device" id="Conversion_to_Device"></a></p>
|
||||
<h3>Conversion to Device</h3>
|
||||
<pre>
|
||||
ValueToSend = (milliseconds * 96000) / 1000<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p> </p>
|
||||
<h3>Conversion from Device</h3>
|
||||
<pre>
|
||||
milliseconds = (ReceivedValue * 1000) / 96000<br>
|
||||
|
||||
                                </pre>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Discrete" id="Discrete"></a></p>
|
||||
<h2>Discrete</h2>
|
||||
<p>Discrete values are integer values sent to the device
|
||||
without any scaling.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li class="p"><p class="hcp1">Input card
|
||||
gain<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Crossover
|
||||
filter type<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Parametric
|
||||
filter slope<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Parametric
|
||||
filter type<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Gain
|
||||
object phase<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Expander
|
||||
ratio<br>
|
||||
</p></li>
|
||||
<li class="mvd-P">High pass filter type</li>
|
||||
</ul>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Gain" id="Gain"></a></p>
|
||||
<h2>Gain</h2>
|
||||
<p>This scale is used for gains. It is designed to give
|
||||
a natural feel to graphical faders linearly mapped to
|
||||
the scale's range. A linear range between -10dB and +10dB
|
||||
gives added detail around 0dB, while a logarithmic range
|
||||
from -80dB to -10dB gives a pleasing falloff toward silence.
|
||||
The following graph illustrates this nicely. The X axis
|
||||
is the value sent to the device. The Y axis is the corresponding
|
||||
level in dB.</p>
|
||||
<p><img src="Gain_graph_small.jpg" alt="Image:gain graph small.png" title="Image:gain graph small.png" style="border-width: 2px;
|
||||
border-style: solid; margin-top: 0px; margin-bottom: 0px;
|
||||
margin-left: 0px; margin-right: 0px;" border="2"></p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_to_Device_2" id="Conversion_to_Device_2"></a></p>
|
||||
<h3>Conversion to Device</h3>
|
||||
<p>Conversion from dB to device:</p>
|
||||
<p>If the value is greater than or equal to -10dB:</p>
|
||||
<pre>
|
||||
ValueToSend = dBValue * 10000<br>
|
||||
|
||||
                                </pre>
|
||||
<p>If the value is less than -10dB, then the formula is:</p>
|
||||
<pre>
|
||||
ValueToSend = -Log10(-dBValue / 10)) * 200000 <20>€“ 100000<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_from_device" id="Conversion_from_device"></a></p>
|
||||
<h3>Conversion from device</h3>
|
||||
<p>Conversion from device to dB:</p>
|
||||
<p>If the value is greater than or equal to -100000:</p>
|
||||
<pre>
|
||||
dBValue = ReceivedValue / 10000<br>
|
||||
|
||||
                                </pre>
|
||||
<p>If the value is less than -100000:</p>
|
||||
<pre>
|
||||
dBValue = -10 * (10 ^ ((ReceivedValue + 100000) / -200000))<br>
|
||||
|
||||
                                </pre>
|
||||
<p>where ^ is the exponentiation operator.</p>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Log" id="Log"></a></p>
|
||||
<h2>Log</h2>
|
||||
<p>Frequency and time controls on filters and dynamics
|
||||
processors use a logarithmic scale.</p>
|
||||
<p> <br>
|
||||
Frequency values are specified in Hz.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li class="p"><p class="hcp1">High and
|
||||
low pass filter frequencies<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Parametric
|
||||
EQ filter frequencies<br>
|
||||
</p></li>
|
||||
<li class="mvd-P">Crossover frequency</li>
|
||||
</ul>
|
||||
<p> <br>
|
||||
Speed is specified in milliseconds.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li class="p"><p class="hcp1">Compressor
|
||||
attack<br>
|
||||
</p></li>
|
||||
<li class="mvd-P">Compressor release</li>
|
||||
</ul>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_to_Device_3" id="Conversion_to_Device_3"></a></p>
|
||||
<h3>Conversion to Device</h3>
|
||||
<pre>
|
||||
ValueToSend = Log10( Value ) * 1000000<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_from_Device_2" id="Conversion_from_Device_2"></a></p>
|
||||
<h3>Conversion from Device</h3>
|
||||
<pre>
|
||||
Value = 10 ^ (ReceivedValue / 1000000)<br>
|
||||
|
||||
                                </pre>
|
||||
<p>where ^ is the exponentiation operator.</p>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Scalar" id="Scalar"></a></p>
|
||||
<h2>Scalar</h2>
|
||||
<p>The Scalar data type uses a decimal fixed-point encoding.
|
||||
Floating-point values are multiplied by 10000 to allow
|
||||
detailed control.</p>
|
||||
<p>Examples:</p>
|
||||
<ul>
|
||||
<li class="p"><p class="hcp1">Meter reference<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Leveller
|
||||
threshold<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Parametric
|
||||
filter boost/cut<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Compressor
|
||||
threshold<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Automixer
|
||||
slope<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Parametric
|
||||
filter width<br>
|
||||
</p></li>
|
||||
<li class="mvd-P"><p class="hcp1">Mixer
|
||||
pan<br>
|
||||
</p></li>
|
||||
<li class="mvd-P">Graphic EQ selectivity</li>
|
||||
</ul>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_to_Device_4" id="Conversion_to_Device_4"></a></p>
|
||||
<h3>Conversion to Device</h3>
|
||||
<pre>
|
||||
ValueToSend = Value * 10000<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_from_Device_3" id="Conversion_from_Device_3"></a></p>
|
||||
<h3>Conversion from Device</h3>
|
||||
<pre>
|
||||
Value = ReceivedValue / 10000<br>
|
||||
|
||||
                                </pre>
|
||||
<p> </p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="DI_SETSVPERCENT_and_DI_BUMPSVPERCENT" id="DI_SETSVPERCENT_and_DI_BUMPSVPERCENT"></a></p>
|
||||
<h2>DI_SETSVPERCENT and DI_BUMPSVPERCENT</h2>
|
||||
<p>The <b>DI_SETSVPERCENT</b> and <b>DI_BUMPSVPERCENT</b>
|
||||
messages use a 16.16 fixed-point format. The value of
|
||||
the control as a percentage of its total range (i.e. 0
|
||||
to 100) is multiplied by 65536 to allow for fractions
|
||||
of a percent. The accepted range of values is 0 to 6553600
|
||||
for <b>DI_SETSVPERCENT</b>, -6553600 to 6553600 for <b>DI_BUMPSVPERCENT</b>.</p>
|
||||
<p><b style="font-weight: bold;">DI_SUBSCRUBESVPERCENT</b>,
|
||||
<b>DI_SETSVPERCENT</b>, <b>DI_BUMPSVPERCENT</b>, and <b>DI_UNSUBSCRIBESVPERCENT</b>
|
||||
can be used on any control.</p>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_to_Device_5" id="Conversion_to_Device_5"></a></p>
|
||||
<h3>Conversion to Device</h3>
|
||||
<pre>
|
||||
ValueToSend = PercentageValue * 65536<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Conversion_from_Device_4" id="Conversion_from_Device_4"></a></p>
|
||||
<h3>Conversion from Device</h3>
|
||||
<pre>
|
||||
PercentageValue = ValueReceived / 65536<br>
|
||||
|
||||
                                </pre>
|
||||
<div class="editsection" style="float: right; margin-left: 5px;">
|
||||
<p> </p>
|
||||
</div>
|
||||
<p><a name="Example_Values" id="Example_Values"></a></p>
|
||||
<h3>Example Values</h3>
|
||||
<pre>
|
||||
10% = 655360 ( 0x00 0x0A 0x00 0x00 )<br>
|
||||
|
||||
                                12.5%= 819200 ( 0x00 0x0C 0x80 0x00 )<br>
|
||||
|
||||
                                50% = 3276800 ( 0x00 0x32 0x00 0x00 )<br>
|
||||
|
||||
                                100%= 6553600( 0x00 0x64 0x00 0x00 )<br>
|
||||
|
||||
                                -10%= -655360( 0xFF 0xF6 0x00 0x00 )<br>
|
||||
|
||||
                                -12.5%= -819200( 0xFF 0xF3 0x80 0x00 )<br>
|
||||
|
||||
                                </pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p><!-- Served by hproukweb01.hprouk.ad.harman.com in 0.59 secs. --></p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user