Forums > MaxMSP

Wavetables help

December 13, 2006 | 12:46 pm

hello

i have created sawtooth, square, triangle, and sine…

is there any others that i could use for a snythesizer?
e.g pulse wave, bipulse,or trapezoid…

here is an example that i have used

thanks..

max v2;
#N vpatcher 7 53 559 507;
#P window setfont "Sans Serif" 9.;
#P number 17 151 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 188 192 50 196617 Sine;
#P newex 95 163 38 196617 / 511.;
#P newex 95 206 215 196617 expr 0.75 * (0.25+ sin((3.14159 *2* $f1)));
#P newex 74 109 43 196617 Uzi 512;
#N counter 0 511;
#X flags 0 0;
#P newobj 74 134 72 196617 counter 0 511;
#P button 74 85 15 0;
#P inlet 74 55 15 0;
#P newex 74 311 49 196617 pack 0 0.;
#P outlet 74 388 15 0;
#P connect 4 0 9 0;
#P connect 2 0 3 0;
#P connect 3 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 1 0;
#P connect 1 0 0 0;
#P fasten 4 0 7 0 79 157 100 157;
#P connect 7 0 6 0;
#P fasten 6 0 1 1 118 223;
#P pop;


December 13, 2006 | 2:58 pm

You can draw you own waveform in a buffer~. many different ways. best way is probably by using csound gens that you can find in the Percolate :

http://www.music.columbia.edu/PeRColate/

For example, by using a multislider, gen10 and and peek~, you can draw many harmonic waveforms. You just decide the ratio of each harmonic.

max v2;
#N vpatcher 15 55 651 560;
#P window setfont "Sans Serif" 9.;
#P newex 201 254 134 9109513 buffer~ waveform 185.759644;
#P newex 201 227 74 9109513 peek~ waveform;
#P newex 201 201 54 9109513 gen10 8192;
#P user multiSlider 201 93 147 99 0. 1. 12 2681 15 0 0 2 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P pop;

after that u read the buffer with a phasor~ and wave~.

there are many other ways… look at the Percolate gens. they are all made to write into buffers.


December 14, 2006 | 8:20 pm

like this:

max v2;
#N vpatcher 557 75 1193 580;
#P window setfont "Sans Serif" 9.;
#P number 199 243 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 199 277 46 196617 phasor~;
#P newex 199 307 89 196617 wave~ waveform;
#P user gain~ 103 267 24 100 158 0 1.071519 7.94321 10.;
#P user ezdac~ 103 410 147 443 0;
#P window linecount 2;
#P newex 263 161 134 196617 buffer~ waveform 185.759644;
#P newex 201 202 74 196617 peek~ waveform;
#P newex 201 161 54 196617 gen10 8192;
#P user multiSlider 201 48 147 99 0. 1. 12 2681 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P fasten 6 0 5 0 204 358 140 358 140 224 108 224;
#P connect 5 0 4 0;
#P fasten 5 0 4 1 108 400 142 400;
#P connect 8 0 7 0;
#P connect 7 0 6 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P pop;

thanks,
-Andrew


December 15, 2006 | 5:34 am

Use the waveform~ editor to draw in your own, or use math functions to fill them. You could also use tables, multisliders, even the filtergraph~ — you just have to access all the points and make the number of values big enough for a repeating (or not!) waveform.

Lots to choose from.

–CJ


December 15, 2006 | 1:00 pm

morphing between different waveforms gives useful results. dont forget kink~ its good for cz101 type sounds


Viewing 5 posts - 1 through 5 (of 5 total)