<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Confused about Matrix Modulator Value Ranges]]></title><description><![CDATA[<p dir="auto">This is a continuation of my last post. I made a new post since this is specifically about the ModMatrix.<br />
<a href="https://forum.hise.audio/topic/14944/which-modulation-routing-method-would-you-recommend-for-my-project/18">https://forum.hise.audio/topic/14944/which-modulation-routing-method-would-you-recommend-for-my-project/18</a></p>
<p dir="auto">I've been struggling to understand how the Matrix Modulator value ranges work..<br />
I've managed to connect and disconnect sources &lt;&gt; targets dynamically via a Combobox, but the modulation ranges are still way off, and I just don't understand the interaction between the "Value" and "Intensity" knob (I've read all the associated docs multiple times).</p>
<p dir="auto"><strong>What works:</strong></p>
<ul>
<li>Add Simple Synth and LowPass Filter set to 100Hz.<br />
Played note outputs 100Hz low-cut square wave.</li>
<li>Add UI knob and connect it to Filter cutoff. Set to 100Hz.</li>
<li>Add "Matrix Modulator" to Frequency Modulation chain.<br />
Set to Unipolar mode.<br />
Set Value and Intensity to 0%.<br />
Played note is now silent and Cutoff is clamped to 20Hz.</li>
<li>Set "Value" to 100%. Cutoff returns to baseline 100Hz.</li>
<li>Set "Intensity" knob to lower/higher than 0, and negative/positive modulation gets added.</li>
<li>Change mode to "Bipolar" and moving the intensity knob still works as expected.</li>
</ul>
<p dir="auto"><strong>What doesn't work:</strong><br />
With "Intensity" at 100% in Unipolar mode, the cutoff is only alternating between 100Hz - 180Hz...<br />
This is likely where the "Edit Value Range" comes into play, but I just don't get it....</p>
<p dir="auto">If I set the "Output max" range to 20000 instead of 1.0, then the Cutoff value clamps to 1600 KILO Hz, and the UI starts freaking out a bit.</p>
<p dir="auto">If I choose either the "FilterFreq" or "FilterFreqLog" value range preset, then the "Income min/max" (huh...?) range are set to (20, 20000), and the Output range is now (0, 1).<br />
The "Value" knob behaves like before where 0% is 20Hz and 100% is 100Hz, except the displayed "Value" knob % values now go between 2000% and 2000000%???.</p>
<p dir="auto">And the "Intensity" knob shows "-20kHz" at 0%, "0 Hz" at 50%, and still "0 Hz" at 100%.<br />
AND, I can only do negative modulation now...<br />
Setting "Value" to its max value, and setting "Intensity" lower than 50% adds negative modulation. Setting Intensity higher than 50% does nothing.</p>
<p dir="auto">I have to back down with "Value" to be able to set positive modulation, and the Hz display at the "Intensity" knob seems to reflect this shift. But no matter how high the "Intensity" knob is set, the max positive modulation amount that can be reached is 100Hz.</p>
<p dir="auto">So yeah... I don't understand.<br />
And I can't tell if it's by design and me doing something wrong, or if it's a bug.<br />
I'm not using any of the floating tiles.<br />
They don't fit my UI design.</p>
<p dir="auto"><img src="/assets/uploads/files/1785249053074-screenshot-2026-07-28-at-16.02.26-resized.png" alt="Screenshot 2026-07-28 at 16.02.26.png" class=" img-fluid img-markdown" /></p>
<pre><code>// --- Matrix Setup ---
const MM  		= Engine.createModulationMatrix("Global Modulator Container");
const MM_Filter = Synth.getModulator("MM_Filter");
const LFO 		= Synth.getModulator("LFO Modulator");


// --- UI Setup ---
const cmbTarget = Content.addComboBox("cmbTarget", 0,0);
cmbTarget.set("items", "None\nFilter\nGain\nPitch");

const depth = Content.addKnob("depth", 0, 40);
const sli_filter = Content.addKnob("filter", 0, 80);

// =======================================
//! FUNCTIONS
// =======================================

// --- Target ComboBox ---
// Only testing Filter for now
inline function onTargetBox(component, value)
{
	if (value &lt;= 1) 	 // Disconnect MM_Filter if "None" option is selected
	{MM.connect("LFO Modulator", "MM_Filter", false);}
	
	else if (value == 2) // Connect MM_Filter if "Filter" option is selected	
	{MM.connect("LFO Modulator", "MM_Filter", true);}
}
cmbTarget.setControlCallback(onTargetBox);


// --- Depth Slider (-1.0, 1.0) ---
inline function onDepthKnobControl(component, value)
{
	MM.setConnectionProperty("LFO Modulator", "MM_Filter", "Intensity", value);  // This sets the "Intensity" knob inside the module
	
	//MM_Filter.setIntensity(value); 		// This sets the whole containers intensity between 0.0 - 1.0
	
	//MM_Filter.setAttribute(2, value); 	// This sets the "Value" Knob inside the module
}
depth.setControlCallback(onDepthKnobControl);
</code></pre>
]]></description><link>https://forum.hise.audio/topic/14958/confused-about-matrix-modulator-value-ranges</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 18:23:34 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/14958.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Jul 2026 14:31:11 GMT</pubDate><ttl>60</ttl></channel></rss>