Csound Csound-dev Csound-tekno Search About

[Csnd] Realtime polyphonic portamento

Date2012-03-15 14:04
FromDavid 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


Date2012-03-15 14:13
FromMichael Gogins
SubjectRe: [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  wrote:
> 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
>
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>



-- 
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Date2012-03-15 14:27
FromOeyvind Brandtsegg
SubjectRe: [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 :
> 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
>
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>



-- 

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg
http://soundcloud.com/t-emp


Date2012-03-15 20:08
FromJulien Claassen
SubjectRe: [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)