Csound Csound-dev Csound-tekno Search About

Problem with simple two note risset-glissando

Date2017-04-15 15:57
From"Jeanette C."
SubjectProblem with simple two note risset-glissando
Hey hey,
I'm trying to setup a Risset-Shepard glissando with two notes. I know that 
there are examples, but I need to work it out completely to change it to a 
slightly different domain and have absolute control.

In my demo the zero amplitude doesn't exactly respond to the skip of the 
oscillator. This is the relevant code snippet:
*** BEGIN risset.csd ***
...
 	kamp oscil iamp, ifreq, 1, iph ; ft1 being a sine wave GEN10, the amp
 	curve
 	k1 = abs((kamp+1)*.5) ; modify so the shape only goes from 0-1
 	k2 oscil ifamp, ifreq, 2, iph ; the frequency curve, ft2 being rising
 	; GEN5 not normalised from 1 to 4
 	a1 oscil k1, k2, 1
 	outs a1*.5, a1*.5
...
*** END risset.csd ***
With one instance at phase 0, I hear the tone increasing in volume and
frequency, decreasing in volume, while still going up, fading to
nothing, fading back still rising higher and then dropping to the lowest
possible frequency, while rather quiet, but definitely audible. There
appears to be a frequency mismatch, or the oscil opcode doesn't properly
deal with the two function tables in question. The both have the same
number of points (32768).

Any hints would be very welcome. Thank you.

Best wishes,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-04-15 16:23
FromVictor Lazzarini
SubjectRe: Problem with simple two note risset-glissando
Hi Jeanette,

the risset glissando needs two things: an exponential for the frequency (which you have) and
a window function for the amplitude (e.g. Gaussian). Maybe the problem you have is that you are
not using the correct window function. See this for example:

===========================
gifn1 ftgen 0,0,16384,20,6,1 ; Gaussian
gifn2 ftgen 0,0,16384,5,1,16384,2^-10 ; exp 10 octaves

instr 1
 idur = p6 ; cycle duration
 itop = p5 ; topmost gliss freq
 ioff = p4 ; offset
 kf oscili 1,1/idur,gifn2,ioff; reads the frequency table (glissando)
 ka oscili 1,1/idur,gifn1,ioff  ; reads the amplitude table (bell function)
 asig oscili ka,kf*itop ; produces the sound
      out 0dbfs*asig/10
endin 

ik init 0
while ik < 10 do
 schedule(1,0,120,ik/10,3000,60)
 ik += 1
od
event_i "e", 0, 120
=============================


========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 15 Apr 2017, at 15:57, Jeanette C.  wrote:
> 
> Hey hey,
> I'm trying to setup a Risset-Shepard glissando with two notes. I know that there are examples, but I need to work it out completely to change it to a slightly different domain and have absolute control.
> 
> In my demo the zero amplitude doesn't exactly respond to the skip of the oscillator. This is the relevant code snippet:
> *** BEGIN risset.csd ***
> ...
> 	kamp oscil iamp, ifreq, 1, iph ; ft1 being a sine wave GEN10, the amp
> 	curve
> 	k1 = abs((kamp+1)*.5) ; modify so the shape only goes from 0-1
> 	k2 oscil ifamp, ifreq, 2, iph ; the frequency curve, ft2 being rising
> 	; GEN5 not normalised from 1 to 4
> 	a1 oscil k1, k2, 1
> 	outs a1*.5, a1*.5
> ...
> *** END risset.csd ***
> With one instance at phase 0, I hear the tone increasing in volume and
> frequency, decreasing in volume, while still going up, fading to
> nothing, fading back still rising higher and then dropping to the lowest
> possible frequency, while rather quiet, but definitely audible. There
> appears to be a frequency mismatch, or the oscil opcode doesn't properly
> deal with the two function tables in question. The both have the same
> number of points (32768).
> 
> Any hints would be very welcome. Thank you.
> 
> Best wishes,
> 
> Jeanette
> 
> --------
> When you need someone, you just turn around and I will be there <3
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-04-15 17:46
FromSteven Yi
SubjectRe: Problem with simple two note risset-glissando
I thought I'd mention that Reginald Bain wrote an excellent article on
Risset's Glissando in the Csound Journal:

http://csoundjournal.com/issue17/bain_risset_arpeggio.html

On Sat, Apr 15, 2017 at 11:23 AM, Victor Lazzarini
 wrote:
> Hi Jeanette,
>
> the risset glissando needs two things: an exponential for the frequency (which you have) and
> a window function for the amplitude (e.g. Gaussian). Maybe the problem you have is that you are
> not using the correct window function. See this for example:
>
> ===========================
> gifn1 ftgen 0,0,16384,20,6,1 ; Gaussian
> gifn2 ftgen 0,0,16384,5,1,16384,2^-10 ; exp 10 octaves
>
> instr 1
>  idur = p6 ; cycle duration
>  itop = p5 ; topmost gliss freq
>  ioff = p4 ; offset
>  kf oscili 1,1/idur,gifn2,ioff; reads the frequency table (glissando)
>  ka oscili 1,1/idur,gifn1,ioff  ; reads the amplitude table (bell function)
>  asig oscili ka,kf*itop ; produces the sound
>       out 0dbfs*asig/10
> endin
>
> ik init 0
> while ik < 10 do
>  schedule(1,0,120,ik/10,3000,60)
>  ik += 1
> od
> event_i "e", 0, 120
> =============================
>
>
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 15 Apr 2017, at 15:57, Jeanette C.  wrote:
>>
>> Hey hey,
>> I'm trying to setup a Risset-Shepard glissando with two notes. I know that there are examples, but I need to work it out completely to change it to a slightly different domain and have absolute control.
>>
>> In my demo the zero amplitude doesn't exactly respond to the skip of the oscillator. This is the relevant code snippet:
>> *** BEGIN risset.csd ***
>> ...
>>       kamp oscil iamp, ifreq, 1, iph ; ft1 being a sine wave GEN10, the amp
>>       curve
>>       k1 = abs((kamp+1)*.5) ; modify so the shape only goes from 0-1
>>       k2 oscil ifamp, ifreq, 2, iph ; the frequency curve, ft2 being rising
>>       ; GEN5 not normalised from 1 to 4
>>       a1 oscil k1, k2, 1
>>       outs a1*.5, a1*.5
>> ...
>> *** END risset.csd ***
>> With one instance at phase 0, I hear the tone increasing in volume and
>> frequency, decreasing in volume, while still going up, fading to
>> nothing, fading back still rising higher and then dropping to the lowest
>> possible frequency, while rather quiet, but definitely audible. There
>> appears to be a frequency mismatch, or the oscil opcode doesn't properly
>> deal with the two function tables in question. The both have the same
>> number of points (32768).
>>
>> Any hints would be very welcome. Thank you.
>>
>> Best wishes,
>>
>> Jeanette
>>
>> --------
>> When you need someone, you just turn around and I will be there <3
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-04-15 18:32
From"Jeanette C."
SubjectRe: Problem with simple two note risset-glissando
Hi Victor and Steven,
thanks to the two of you. It appears my first problem was only using two 
tones. It seems that three is the minimum with the typical gaussian window 
function. And that was my second blunder. Now it works perfectly and I'm 
already writing my specific UDO.

Thank a lot!

TTFN,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here