Parameter Control Curve

3 posts / 0 new
Last post
Samuel Fisher
Samuel Fisher's picture
Joined: September 28, 2010

I just recently purchased audiomulch, and as some one who has commonly used ableton and maxmsp, think it is the most wonderful piece of software I have ever laid eyes on.

I'm having trouble with the midi parameter control curve though, I need to be able to select the X values 1, 2 ,3, 4 (I'm automating the length parameter of a loop-player to chop the loop up in real time) and I can't seem to select those numbers using the points I can place on the curve provided. (The min is 0.0625 and the max is 4.00) The closest I can get is 2.000002 and 3.0079 etc. which is a real booger because that puts the loop out of time, which ruins the whole idea. If anyone knows how to get the control curve to select those specific values I would much appreciate your advice.


Ross B.
Ross B.'s picture
Joined: April 11, 2009

Hi Sam
There's a feature request to fix this, but there's no way I can think of to do it easily right now using the GUI.

I can suggestion a workaround, but it's pretty messy and involves using a calculator and a text editor. If you open up the AMH document in a text editor you can type in whatever values you want for the control points -- but they are stored as normalized values from 0 to 1. If you look for the mapping curve section it will look something like this:

 <property-sources property-name="BarCount" property-index="1">
  <midi-controller smoothing="0" map-minimum="0.0625" map-maximum="1024">
   <midi-message-spec type="note-aftertouch" port="0" channel="0" number="0"/>
     <mapping-point in="0" out="0"/>
     <mapping-point in="9159" out="0.094488188976378"/>
     <mapping-point in="13416" out="1"/>
     <mapping-point in="16383" out="1"/>

you want to set the out="XXX" values on those mapping-point elements.

zero maps to the map-minimum (0.0625 in your example) and 1 maps to map-maximum (4 in your example) so you have to do some calculations to get the right values:

to calculate the desired value:
(desiredValue - map-minimum) / range
range = map-maximum - map-mininum = 4 - .0625 = 3.9375

so for a desired value of 2 you would do:
(2 - .0625) / 3.9375 = 0.49206349206349206349206349206349

So if you set up a mapping point like this:
<mapping-point in="9159" out="0.49206349206349206349206349206349"/>

It should map to 2 (I think!)

Hope that wasn't too scary, just trying to give you an option

Samuel Fisher
Samuel Fisher's picture
Joined: September 28, 2010

Thanks Ross! Great thinking. That was exactly what I needed. I'm sure it will come in handy in case of future arguments with the GUI. I really appreciate your taking time to respond so thoroughly.