[Csnd] Realtime polyphonic portamento
Date | 2012-03-15 14:04 |
From | David Banks |
Subject | [Csnd] Realtime polyphonic portamento |
Hi, I wondered how I could implement a polyphonic portamento effect that worked in realtime in Csound. All the existing examples of portamento I can find - mainly Iain McCurdy's excellent realtime example 'BasicMonophonicSynth.csd' - only work with a single note. Indeed it seems difficult to imagine how a portamento/glide effect could work in a polyphonic context. For instance, if you play a chord, does each note of the chord individually trigger the portamento? Or would there be some kind of time or note distance threshold at which to not apply portamento? I don't own one, but it seems that some hardware synths do include a polyphonic portamento effect; but I'm not sure how it would conventionally work. I guess the effect I'm looking for is to be able to play, for instance, a chord in one octave and then play another chord an octave above and have the equivalent notes glide simultaneously. Would it be possible to implement something like this in Csound? How would I start doing that? Cheers, David |
Date | 2012-03-15 14:13 |
From | Michael Gogins |
Subject | Re: [Csnd] Realtime polyphonic portamento |
You could use a global pitch shift variable that all instances of an instrument would apply. Regards, Mike On Thu, Mar 15, 2012 at 10:04 AM, David Banks |
Date | 2012-03-15 14:27 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Realtime polyphonic portamento |
Hi David, I think the way to go is to create multiple copies/instances of a monophonic instrument that behaves the way you want. Then you'll need to find a way to do automatic voice allocation, to decide which note gets played by each available synthesizer voice. It is not straightforward, but definitely can be done. best Oeyvind 2012/3/15 David Banks |
Date | 2012-03-15 20:08 |
From | Julien Claassen |
Subject | Re: [Csnd] Realtime polyphonic portamento |
Hi David! I have been thinking about something similar, not with portamento but with other effects. I think Oeyvind's suggestion is the one closest to my own idea. The question is, how can you for a start tie different instruments together. Make some sort of instance counting and make sure, that each instrument - if you are thinking multi-instrument - is always connected to the same instances of the other instruments in the synth. I do own a hardware synth, that does do polyphonic portamento and it does behave like you summise. Though I think, that this feature is not clearly defined with one behaviour. Wat my synth tries is to bind each voice to the same position in chords. Of course, there is the question of what to do, when you get an extra voice or when you loose a voice. But I think the main problem is to do the sort of static allocation. I tried to slowly work my way there using a parameter, that passes instance numbers. this is just a vague idea, which might not work but: If you could make sure, that an instrument with a special p4 value - or however else you might find a special instance - plays only one note, you might try to start a static number of instruments, perhaps using prealloc. then of course, you would have to handle note stealing. Yes I admit, a rather weak one, but maybe a place to start from. If you do find a good way for this, could you let us know. I'd certainly be interested. Warmly yours Julien =-=-=-=-=-=-=-=-=-=-=-=- Such Is Life: Very Intensely Adorable; Free And Jubilating Amazement Revels, Dancing On - FLOWERS! ====== Find my music at ====== http://juliencoder.de/nama/music.html ..................................... "If you live to be 100, I hope I live to be 100 minus 1 day, so I never have to live without you." (Winnie the Pooh) |