Forums > MaxMSP

risset glissando

May 3, 2009 | 6:12 pm

hi list,

i send you here attached a copy of a patch… there is some error…
i’m trying to realize the endless glissando… with csound is very easy, but with max….
could you look the patch please? what is wrong???
thanks
fv


May 3, 2009 | 7:17 pm

I assume the problem is that not all voices always set in quietly? The reason for this seems to be that you’re using two cycle~ objects which aren’t perfectly synchronised.

Try replacing your subpatch with this (or even better, turn it into an abstraction, so you don’t have to change 10 subpatches whenever you want to adjust it):

– Pasted Max Patch, click to expand. –

I replaced your cycles with a combination of one phasor~ and two wave~ objects. Having just one phasor means that the frequency curve and the amplitude envelope are always synchronized.


May 4, 2009 | 9:38 am

this is a 10 voice version I did for my lectures. It is not perfect, yet does the job!

pa

=======
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 43 576 61 196617 delay 6021;
#P newex 381 576 61 196617 delay 6021;
#P newex 357 724 50 196617 send mix;
#P newex 357 604 29 196617 gate;
#P message 486 631 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 357 706 35 196617 *~ 0.;
#P message 357 631 128 196617 20 , 20000 60000 0.7318;
#P newex 357 648 42 196617 curve~;
#P newex 357 668 55 196617 cycle~ 20;
#P newex 486 647 42 196617 curve~;
#P newex 14 724 50 196617 send mix;
#P newex 14 604 29 196617 gate;
#P message 143 631 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 14 706 35 196617 *~ 0.;
#P message 14 631 128 196617 20 , 20000 60000 0.7318;
#P newex 14 648 42 196617 curve~;
#P newex 14 668 55 196617 cycle~ 20;
#P newex 143 647 42 196617 curve~;
#P newex 217 122 32 196617 sel 1;
#P newex 36 384 61 196617 delay 6021;
#P newex 374 384 61 196617 delay 6021;
#P newex 712 385 61 196617 delay 6021;
#P newex 1052 388 61 196617 delay 6021;
#P newex 1048 193 61 196617 delay 6021;
#P newex 707 189 61 196617 delay 6021;
#P newex 1036 532 50 196617 send mix;
#P newex 1036 412 29 196617 gate;
#P message 1165 439 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 1036 514 35 196617 *~ 0.;
#P message 1036 439 128 196617 20 , 20000 60000 0.7318;
#P newex 1036 456 42 196617 curve~;
#P newex 1036 476 55 196617 cycle~ 20;
#P newex 1165 455 42 196617 curve~;
#P newex 693 532 50 196617 send mix;
#P newex 693 412 29 196617 gate;
#P message 822 439 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 693 514 35 196617 *~ 0.;
#P message 693 439 128 196617 20 , 20000 60000 0.7318;
#P newex 693 456 42 196617 curve~;
#P newex 693 476 55 196617 cycle~ 20;
#P newex 822 455 42 196617 curve~;
#P newex 350 532 50 196617 send mix;
#P newex 350 412 29 196617 gate;
#P message 479 439 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 350 514 35 196617 *~ 0.;
#P message 350 439 128 196617 20 , 20000 60000 0.7318;
#P newex 350 456 42 196617 curve~;
#P newex 350 476 55 196617 cycle~ 20;
#P newex 479 455 42 196617 curve~;
#P newex 7 532 50 196617 send mix;
#P newex 7 412 29 196617 gate;
#P message 136 439 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 7 514 35 196617 *~ 0.;
#P message 7 439 128 196617 20 , 20000 60000 0.7318;
#P newex 7 456 42 196617 curve~;
#P newex 7 476 55 196617 cycle~ 20;
#P newex 136 455 42 196617 curve~;
#P newex 1033 335 50 196617 send mix;
#P newex 1033 215 29 196617 gate;
#P message 1162 242 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 1033 317 35 196617 *~ 0.;
#P message 1033 242 128 196617 20 , 20000 60000 0.7318;
#P newex 1033 259 42 196617 curve~;
#P newex 1033 279 55 196617 cycle~ 20;
#P newex 1162 258 42 196617 curve~;
#P newex 690 335 50 196617 send mix;
#P newex 690 215 29 196617 gate;
#P message 819 242 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 690 317 35 196617 *~ 0.;
#P message 690 242 128 196617 20 , 20000 60000 0.7318;
#P newex 690 259 42 196617 curve~;
#P newex 690 279 55 196617 cycle~ 20;
#P newex 819 258 42 196617 curve~;
#P newex 347 335 50 196617 send mix;
#P newex 347 215 29 196617 gate;
#P message 476 242 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 347 317 35 196617 *~ 0.;
#P message 347 242 128 196617 20 , 20000 60000 0.7318;
#P newex 347 259 42 196617 curve~;
#P newex 347 279 55 196617 cycle~ 20;
#P newex 476 258 42 196617 curve~;
#P newex 841 83 35 196617 r mix;
#P newex 4 335 50 196617 send mix;
#P newex 4 215 29 196617 gate;
#P message 133 242 210 196617 0.1 12000 0.5 0.1 36000 0.5 0 12000 -0.5;
#P newex 4 317 35 196617 *~ 0.;
#P toggle 807 99 15 0;
#P newex 841 116 31 196617 dac~;
#P toggle 301 63 15 0;
#P newex 301 92 27 196617 t i i;
#P newex 370 189 61 196617 delay 6021;
#P message 4 242 128 196617 20 , 20000 60000 0.7318;
#P newex 4 259 42 196617 curve~;
#P newex 4 279 55 196617 cycle~ 20;
#P newex 133 258 42 196617 curve~;
#P connect 67 0 62 0;
#P connect 68 0 65 0;
#P fasten 68 0 67 0 1041 434 1170 434;
#P connect 35 0 30 0;
#P connect 36 0 33 0;
#P fasten 36 0 35 0 1038 237 1167 237;
#P connect 62 0 66 1;
#P connect 30 0 34 1;
#P fasten 62 1 68 1 1202 476 1377 476 1377 408 1060 408;
#P connect 72 0 73 0;
#P connect 72 0 68 1;
#P connect 71 0 72 0;
#P fasten 30 1 36 1 1199 279 1374 279 1374 211 1057 211;
#P connect 71 0 36 1;
#P connect 70 0 28 1;
#P connect 70 0 71 0;
#P connect 66 0 69 0;
#P connect 63 0 66 0;
#P connect 64 0 63 0;
#P connect 65 0 64 0;
#P connect 5 1 11 0;
#P connect 5 1 44 0;
#P connect 5 1 83 0;
#P connect 5 1 20 0;
#P connect 5 1 52 0;
#P connect 5 1 91 0;
#P connect 5 1 28 0;
#P connect 5 1 60 0;
#P connect 5 1 36 0;
#P connect 5 1 68 0;
#P connect 34 0 37 0;
#P connect 31 0 34 0;
#P connect 32 0 31 0;
#P connect 33 0 32 0;
#P connect 13 0 7 1;
#P connect 8 0 7 0;
#P connect 13 0 7 0;
#P connect 59 0 54 0;
#P connect 60 0 57 0;
#P fasten 60 0 59 0 698 434 827 434;
#P connect 27 0 22 0;
#P connect 28 0 25 0;
#P fasten 28 0 27 0 695 237 824 237;
#P connect 54 0 58 1;
#P connect 22 0 26 1;
#P fasten 54 1 60 1 859 476 1034 476 1034 408 717 408;
#P connect 73 0 74 0;
#P connect 73 0 60 1;
#P fasten 22 1 28 1 856 279 1031 279 1031 211 714 211;
#P connect 4 0 20 1;
#P connect 4 0 70 0;
#P connect 58 0 61 0;
#P connect 55 0 58 0;
#P connect 56 0 55 0;
#P connect 57 0 56 0;
#P connect 26 0 29 0;
#P connect 23 0 26 0;
#P connect 24 0 23 0;
#P connect 25 0 24 0;
#P connect 90 0 85 0;
#P connect 91 0 88 0;
#P fasten 91 0 90 0 362 626 491 626;
#P connect 51 0 46 0;
#P connect 52 0 49 0;
#P fasten 52 0 51 0 355 434 484 434;
#P connect 19 0 14 0;
#P connect 20 0 17 0;
#P fasten 20 0 19 0 352 237 481 237;
#P connect 85 0 89 1;
#P connect 94 0 83 1;
#P connect 94 0 93 0;
#P fasten 85 1 91 1 523 668 698 668 698 600 381 600;
#P connect 93 0 91 1;
#P connect 46 0 50 1;
#P connect 14 0 18 1;
#P connect 76 0 11 1;
#P connect 76 0 4 0;
#P fasten 46 1 52 1 516 476 691 476 691 408 374 408;
#P connect 74 0 75 0;
#P connect 74 0 52 1;
#P fasten 14 1 20 1 513 279 688 279 688 211 371 211;
#P connect 89 0 92 0;
#P connect 86 0 89 0;
#P connect 87 0 86 0;
#P connect 88 0 87 0;
#P connect 50 0 53 0;
#P connect 47 0 50 0;
#P connect 48 0 47 0;
#P connect 49 0 48 0;
#P connect 18 0 21 0;
#P connect 15 0 18 0;
#P connect 16 0 15 0;
#P connect 17 0 16 0;
#P connect 6 0 5 0;
#P connect 5 0 76 0;
#P connect 82 0 77 0;
#P connect 83 0 80 0;
#P fasten 83 0 82 0 19 626 148 626;
#P connect 43 0 38 0;
#P connect 44 0 41 0;
#P fasten 44 0 43 0 12 434 141 434;
#P connect 10 0 0 0;
#P connect 11 0 3 0;
#P fasten 11 0 10 0 9 237 138 237;
#P connect 75 0 44 1;
#P connect 75 0 94 0;
#P connect 77 0 81 1;
#P fasten 77 1 83 1 180 668 355 668 355 600 38 600;
#P connect 38 0 42 1;
#P connect 0 0 9 1;
#P fasten 38 1 44 1 173 476 348 476 348 408 31 408;
#P fasten 0 1 11 1 170 279 345 279 345 211 28 211;
#P connect 81 0 84 0;
#P connect 78 0 81 0;
#P connect 79 0 78 0;
#P connect 80 0 79 0;
#P connect 42 0 45 0;
#P connect 39 0 42 0;
#P connect 40 0 39 0;
#P connect 41 0 40 0;
#P connect 9 0 12 0;
#P connect 1 0 9 0;
#P connect 2 0 1 0;
#P connect 3 0 2 0;
#P window clipboard copycount 95;


May 4, 2009 | 10:14 am

Have a look in the CNMAT MMJ package for their shepard.js file and [sinusoids] external. The shepard.js helpfile shows how you can create this continually rising/falling glissando.

lh

http://cnmat.berkeley.edu/downloads


May 4, 2009 | 12:51 pm

Hi all,

Just in the interest of giving credit where credit is due: as I pointed out the last time this topic surfaced n this list, the original version of the so-called ‘Shepard tone’ was actually programmed by James Tenney at Bells Labs, where he (Tenney) preceded Risset as the first composer in residence. In 1969 he composed a computer music piece ‘For Ann (rising)’ based on the concept, and later translated the idea to strings: For Strings (rising) (1971).

Have a look at the following for some basic Tenney info: < http://sfifem.csf.edu/Archive/2007/SFIFEM2007_Tenney%20Program.pdf> and at < http://www.newworldrecords.org/liner_notes/80570.pdf> for more specific info on his electroacoustic music from the period 1961-69. More complete info on the early works of Tenney can be found at < http://eamusic.dartmouth.edu/~larry/published_articles/tenney_monograph_soundings/index.html>.

Best,

Steven


May 4, 2009 | 4:45 pm

yes, as Szrp said, the problem is that your envelopes/glissandos are going out of phase. I have attached a risset tone patch i made which uses Nathan Wolek’s phasor.shift~ external to get sample accurate synchronised ramps at different phases.

[ advert ] This is loosely based on my endless series plugins [/ advert ]

Smile

you need the external from the granular toolkit here:

http://www.nathanwolek.com/software.html

oli


May 4, 2009 | 5:04 pm
thereishopeforus@hotmail.com wrote on Mon, 04 May 2009 03:14
Have a look in the CNMAT MMJ package for their shepard.js file and [sinusoids] external. The shepard.js helpfile shows how you can create this continually rising/falling glissando.

lh

http://cnmat.berkeley.edu/downloads

What he said. Thanks.

mz


May 15, 2009 | 3:15 pm

Hi Szrp….

how to transform your text into a max patch???
thanks
fv


January 11, 2011 | 4:36 pm

Dear Federico

I am new to Max and I would like to know how to de-encript the patcher that you or Szrp made for glissandi. Also how to obtain the whole patch.

Best Regards

lp


January 12, 2011 | 5:48 am

Here’s one with just generic MSP objects.



FP
January 12, 2011 | 3:31 pm

And here’s a work made from this kind of algorithm.

http://pan-etc.net/res/dev/Glissando.zip


January 12, 2011 | 3:35 pm

There is also a Jamoma module for this made by Trond Lossius. It’s in the main distro, o r directly @ https://github.com/jamoma/JamomaModular/tree/master/Max/modules/audio/rissetGlissando


January 15, 2011 | 8:31 pm

Dear fp and Timothy

do these tools work with sample midi files? Also is there somewhere explanations on how to use these patches?

Best Regards
lp


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