Hi folks, it seems I’ve forgotten something critical about legato works and can’t figure it out. In the code below, my first transition is legato, and my second is not, but I thought that if I used fractional p1s to allocate specific voices and had overlapping durations it would be. Hoping someone can tell me what I’m doing wrong. I would like it to simply be tied on overlapping durations, but I guess I’m missing a step here.
thanks!
iain
In brief:
i 2.1 0 -1 48 “frq1”
; transition here is legato, as expected from neg p3 above
i 2.1 1 1.1 53 “frq1”
; transition here is not legato what have I forgotten???
; I thought the use of numbered instances plus overlapping durs would make it so
i 2.1 2 1 48 “frq1”
Full code:
; ==============================================
sr = 44100
ksmps = 16
nchnls = 2
0dbfs = 1.1
; VCO housekeeping, from vco2 example
itmp ftgen 1, 0, 16384, 7, 0, 2048, 1, 4096, 1, 4096, -1, 4096, -1, 2048, 0
ift vco2init -1, 10000, 0, 0, 0, 1
itmp ftgen 2, 0, 16384, 7, 1, 4095, 1, 1, -1, 4095, -1, 1, 0, 8192, 0
ift vco2init -2, ift, 1.02, 4096, 4096, 2
; always on oscillator bank that reads frq from
; named channel passed in p4 (ie frq1, frq2)
instr 1
ihold
S_frq_chan strget p4
kfrq chnget S_frq_chan
aosc1 vco2 .1, kfrq * 1.00, 2, 0.5
aosc2 vco2 .1, kfrq * 1.002, 2, 0.51
aosc3 vco2 .1, kfrq * 0.997, 2, 0.49
asig = aosc1 + aosc2 + aosc3
outs asig, asig
endin
; legato pitch control instr
; gets target pitch from midi note num in p4
; writes pitch ksignal to named channel from p5
instr 2
S_frq_chan strget p5
ifrq mtof p4
tigoto tied_init
iglide init 0.5 ; glide time in sec
ifrqstart init ifrq
kfrq init ifrq
igoto continue
tied_init:
ifrqstart = i(kfrq)
continue:
kfrq linseg ifrqstart, iglide, ifrq;
chnset kfrq, S_frq_chan
endin
; ==============================================
f0 3600
; turn on the oscillators
i 1.1 0 1 “frq1”
i 1.2 0 1 “frq2”
i 1.3 0 1 “frq3”
; pitch control instrument calls
i 2.1 0 -1 48 “frq1”
i 2.2 0 -1 52 “frq2”
i 2.3 0 -1 55 “frq3”
; transition here is legato, as expected from neg p3 above
i 2.1 1 1.1 53 “frq1”
i 2.2 1 1.1 57 “frq2”
i 2.3 1 1.1 60 “frq3”
; transition here is not legato what have I forgotten???
; I thought the use of numbered instances plus overlapping durs would make it so
i 2.1 2 1 48 “frq1”
i 2.2 2 1 52 “frq2”
i 2.3 2 1 55 “frq3”
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