Getting curve of ableton's Track Volume slider.

RRG's icon

Hi everyone.

Im looking for a way to get the curve of the Track Volume slider. I have made a list of data.
Click here on this link for the collection of data. http://i.imgur.com/n1A5J.jpg

I have two questions.
- first of all, does anyone know a way to get the real gain/scale factor of the input of the track slider to dB.
- does anyone know how to integrate the plotted curve into a max object so you can control X (0.0 - 1.0) to a Y (-70 dB - +6 dB)

Help is appreciated :)

RG

Richard Garrett's icon

hello,

I don't know if this is what you're looking for, but I had a similar problem with the send pot.

To resolve it, I measured its response by generating white noise and ramping up the send level over time. Then I put a device in the return channel which measured the levels received and wrote them, at intervals, to a [coll]. Having collected 512 points over the range of the pot, I then inverted the curve and poked the results into a buffer object. In effect, this produced an "anti-log pot" tailored to the live send knob.

more at:

hope this helps

Richard

RRG's icon

Hi,

Ah oke! I've downloaded the antipot patch, but can you share your project about getting those values? I like the idea of storage all those values into a .aif!

Richard Garrett's icon

Hi,

I've been offline for a few days. Will dig out the relevant patches and put them up here soon.

richard

Richard Garrett's icon

Here's a couple of patches, I think they're the working versions:

The first one is the M4L measurement tool used to collect signals (pink noise) at eighth-note intervals and store in the [coll]. I put it in the return channel and used the Live send envelope to ramp the noise source slowly over time.

The second patch interpolates the results in [coll fred] to produce an evenly spaced lookup table in [coll george]. This was a very rough patch and will not cope with negative gradients so, any bogus entries in fred where one entry is less than the preceding one will have to be massaged out before running the patch. Hope it works for you.

Having produced [coll george], write it to a [buffer~] using [poke~], as per poke~.maxhelp.

Max Patch
Copy patch and select New From Clipboard in Max.
Max Patch
Copy patch and select New From Clipboard in Max.

Richard

due_friday's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Hey, we approximated this problem by empiric trial and error. Its a simple patch which splits the linear GUI values into the regions that we think Ableton changes the volume curve and then applies a logarithm and an offset to approach the values as shown in dB in Ableton. Its not perfect, but not far off.

Drum Stix's icon

To answer this old post: I was able to get it almost perfect.

I got it exactly right as Live's reported value from +6dB down to -18dB. From -18dB down to -70dB I have it almost perfect. Just sometimes there's a neglectible 0.1dB difference. Please see my Max for live patch for more info. It contains my convertLiveFaderTodB and convertdBToLiveFader patchers. The formulas are in there. https://maxforlive.com/library/device.php?id=5886

Wax's icon

@DrumStix: You nailed it! Thanks so much for posting this!

For anyone who needs this:

Convert dB to Live Fader

Max Patch
Copy patch and select New From Clipboard in Max.


Convert Live fader to dB

Max Patch
Copy patch and select New From Clipboard in Max.

Valiumdupeuple's icon

There's actually a built-in M4L abstraction that does just what you need, it's called:
Global.dB2value.maxpat

;-)