First time here? Check out the FAQ!

Is there an exponentiated (**) sound?

0 votes

When I was looking at automatic gain control and compression I wanted to try taking a square root or other root of the audio signal:

signal_out = signal * (signal amplitude ( ** (1/x)))

...kind of thing.

I couldn't see a sound that would raise to the power, that is do the ** operation.

Is there one? Is there a way of doing that?

asked Sep 30 in Using Kyma by alan-jackson (Master) (3,640 points)
I'd love to know how you're doing this if you wouldn't mind sharing your kym file! I've been looking more into this as well, to create my own cubic saturation effect (to just to understand distortion better). How would you design a basic equation like this in kyma as opposed to say, a few lines of code? From what i've gathered it seems like your signal variable is just the audio input stream, and you're running it through a network of math sounds that effectively map out the equation visually?

Wish I had time to make it to Oslo this year, as it seems like you and I, Alan, are moving through kyma in somewhat parallel paths!
Hi Aaron!
It's a shame you're not coming to KISS, it would be great to meet up! Where are you based?
"to create my own cubic saturation effect"
Hi Aaron, you might find the Waveshaper-polynomial prototype to be useful for this. In the Coefficients field, you enter a list of coefficients A0,..An for a polynomial: A0 + A1x + A2x^2 + ... If you supply 4 coefficients, you will have your cubic. The x is your input signal.

1 Answer

+1 vote
Best answer

You could do that in CapyTalk by pasting this part of your expression

(signal amplitude ( ** (1/x)))

into the Left and Right fields of a Level and feeding Signal into that Level.

answered Sep 30 by ssc (Savant) (59,370 points)
selected Sep 30 by alan-jackson
Does that evaluate at sample rate because the Left and Right parameters of the Level Sound are special in that way?
another way to apply pretty much any function at samplerate is using wavetables and a waveshaper. you could print different tables for different values of x and use the multiWaveshaper even
Here is an encapsulated Class I designed to explore Chebyshev polynomial distortion