Csound Csound-dev Csound-tekno Search About

Re: Risset endless glissando

Date1998-11-05 19:32
FromSean Costello
SubjectRe: Risset endless glissando
Sergey wrote:
> 
> Hi!
> Is there a SCO+ORC for famous endless glissando (titled Song for "Little
> Boy"? I'm not sure) by J.C. Risset?

Hi Sergey:

I actually coded a version of the endless glissando last night.  It
takes a while to compute, but it sounds pretty nice.  I followed the
flowchart of the instrument given in "Computer Music: Synthesis,
Composition and Performance" by Charles Dodge and Thomas A. Jerse, 2nd
edition, p.106-7.  I changed some values according to what sounded best.

Hope this helps,

Sean Costello



; glisssando.orc
; 
; Coded by Sean Costello, costello@seanet.com
; November 4, 1998
;
; This is a version of J.C. Risset's "endless glissando,"
; as described in Dogde and Jerse, "Computer Music: Synthesis,
; Composition and Performance," 2nd edition, p. 106-7.

sr = 22050
kr = 2205
ksmps = 10
nchnls = 1

instr 10

; Determines rate of glissando
irate = p4	

; Determines max amplitude of each oscillator
iamp = p5	

; Determines direction of glissando, by selecting 
; from two different tables in the score.
; 3 selects a glissando that falls in pitch, 
; 4 selects a glissando that rises in pitch.
itable = p6	


kosc1a	oscili	iamp, irate, 2, 0
kosc1b	oscili	10000, irate, itable, 0
aosc1	oscili	kosc1a, kosc1b, 1

kosc2a	oscili	iamp, irate, 2, .1
kosc2b	oscili	10000, irate, itable, .1
aosc2	oscili	kosc2a, kosc2b, 1

kosc3a	oscili	iamp, irate, 2, .2
kosc3b	oscili	10000, irate, itable, .2
aosc3	oscili	kosc3a, kosc3b, 1

kosc4a	oscili	iamp, irate, 2, .3
kosc4b	oscili	10000, irate, itable, .3
aosc4	oscili	kosc4a, kosc4b, 1

kosc5a	oscili	iamp, irate, 2, .4
kosc5b	oscili	10000, irate, itable, .4
aosc5	oscili	kosc5a, kosc5b, 1

kosc6a	oscili	iamp, irate, 2, .5
kosc6b	oscili	10000, irate, itable, .5
aosc6	oscili	kosc6a, kosc6b, 1

kosc7a	oscili	iamp, irate, 2, .6
kosc7b	oscili	10000, irate, itable, .6
aosc7	oscili	kosc7a, kosc7b, 1

kosc8a	oscili	iamp, irate, 2, .7
kosc8b	oscili	10000, irate, itable, .7
aosc8	oscili	kosc8a, kosc8b, 1

kosc9a	oscili	iamp, irate, 2, .8
kosc9b	oscili	10000, irate, itable, .8
aosc9	oscili	kosc9a, kosc9b, 1

kosc10a	oscili	iamp, irate, 2, .9
kosc10b	oscili	10000, irate, itable, .9
aosc10	oscili	kosc10a, kosc10b, 1

out aosc1 + aosc2 + aosc3 + aosc4 + aosc5 + aosc6 + aosc7 + aosc8 +
aosc9 + aosc10

endin



; glissando.sco
;
; Coded by Sean Costello, costello@seanet.com
; November 4, 1998


; The following defines a sine table for the audio oscillators.
f1 0 8192 10 1

; The following defines the amplitude envelope for the 
; oscillators.  I used the Gaussian function of GEN 20, as 
; opposed to generating a table with the complicated equation
; that Risset used.
f2 0 8192 20 6

; Defines a table that falls exponentally, from 1 to (2 to the -10
power).
f3 0 8192 5 1 8191 0.0009765625

; Defines a table that rises exponentially, from (2 to the -10 power) to
1.
f4 0 8192 5 0.0009765625 8191 1

i10 0 120 0.01 8000 3