creating exponential data beyond scale object

    Jun 06 2006 | 3:46 am
    dear readers,
    I'd like to use the random object to select frequencies. Ideally, I would like to heavily favour the low and mid range, and have a reduced likelyhood of returning high frequecies - say 1000+.
    I've tried using the random number generator in conjunction with a scale object, with a exponential argument of 1.0003 or something such. The output, however, is very coarse, and I'm having difficulty achiving a smooth selection which favours the lower registers.
    If you can suggest some other methods to scale number series, please let me know.

    • Jun 06 2006 | 4:07 am
      Here's something you might try. Personally, I find the exponential
      mode of scale to be practically useless except for a few predefined
      tasks because it's hard to figure out the relationship. I have an
      abstraction called PM.Recurve for things like this that is basically
      scale Val1 Val2 0. 1.
      pow 1. (adjustable)
      scale 0. 1. Val1 Val2
      For what you want, you might try:
      random 1000
      * 0.001
      pow 2. (skew towards bottom)
      scale 0. 1. 24. 96. (set high and low midi notes of range)
      round (optional)
      Peter McCulloch
    • Jun 06 2006 | 8:30 am
      You could use lp.shhh together with scale or lp.scampf. Lp.shhh
      produces random values in the range [0 .. 1] with zero granularity.
      More to the point would be to use lp.expo or similar. Expo gives you
      an exponential distribution, which seems to be what you're after.
      Lp.shhh and lp.scampf are in the free Litter Start Pack; lp.expo is
      part of the Litter Pro Bundle. I would attach a histogram or two to
      show what the distributions look like, but forum readers wouldn't see
      -------------- -------------
      Peter Castine +--> Litter Power & Litter Bundle for Jitter
      iCE: Sequencing, Recording & |home | chez nous|
      Interface Building for |bei uns | i nostri|
      Max/MSP Extremely cool