what math to fill multislider with sine wave?

Jay's icon

Hi,

Quick question: what math is necessary to fill a multislider of 512 sliders (range -1. to 1.) with a sine wave? I'm setting up a multislider to write into a buffer~ and would like to initialize with a sine wave.

Cheers,
Jay

Christopher Dobrian's icon
Max Patch
Copy patch and select New From Clipboard in Max.
Jay's icon

Thank you!

Is it possible to explain briefly why this math produces a sine wave?

Christopher Dobrian's icon

The 512 numbers produced by uzi go from 0 to 511 (0 to almost 512). Inside the expr object those numbers are multiplied by 6.283185 which is pi times 2, then divided by 512. The result is to give a series of 512 numbers that go from 0 to (almost) 2π. Imagine those numbers as the changing angle in radians as a point travels around the circumference of a unit circle. Take the sine of those numbers and you get one cycle of a sine wave of amplitude 1.

Jay's icon

Thanks, Christopher.

So maybe this is a huge jump from the last question... But say I want to represent a 512 sample buffer in a 16 slider multislider. In viewing the buffer this would appear as a series of steps. How would I go about interpolating from one step to the next, to again create a smooth curve?

Christopher Dobrian's icon

As soon as you reduce 512 points down to 16 points, you've lost a LOT of information about the intervening points. So there's no way to guarantee that whatever method you use to create 512 points from 16 will really resemble the original 512.

There are many ways to interpolate between 16 points to create a more continuous curve of 512. The most common general ways to get smooth curves are polynomial interpolation and spline interpolation.

gratkowski's icon

How can I display a wave-form from a buffer in a multislider rough quantized.
The image of the ms should be similar to a waveform object but less precise?

I need the multislider to display the content of a buffer on an iPod via C74, which doesn't support the wave form object.

best,

frank

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

How's this?