Two equivalent abstractions to convert a linear value in the range (0, 1) to an exponential range. #Csound code (user defined opcode) vs. #PureData diagram (subpatch). Csound is certainly quirky and a tiny bit arcane, but it took a tiny fraction of the time to create. #Pd
@thezerobit what about a version with Pd's [expr] object?
@mathr
It would be fewer objects, but less efficient since you'd be recomputing the log every time, and still tricky with the argument banging and variable substitutions. There's probably a more elegant Pd version, but I don't have the time to figure it out. I don't know if Csound optimizes constant subexpressions, so I could pull that log expression out into an i-rate variable to make them more computationally equivalent. Either way, the Csound solution is cleaner and quicker to write, IMO.