Re: [Csnd] pvsynth

thanks for this!

I found an example from your hand that does just this:

<CsoundSynthesizer>
<CsOptions>
-d -odac
</CsOptions>
<CsInstruments>
nchnls = 2
sr = 48000
ksmps = 128
0dbfs = 1

instr 1

  iamp = ampdbfs(p5)
  ipch = cps2pch(p4,12)
  ipan = 0.5
  
  xtratim 4
  tigoto skipInit
  
  kpch = port(ipch, 0.05, ipch)
  
  asig = vco2(iamp, kpch)
  
  ;asig = zdf_2pole(asig, min:k(10000, kpch * 16), 4)
  
  asig *= linsegr(0, 1, 1, 4, 0)
  
  al, ar pan2 asig, ipan
  
  out(al, ar)
  
  skipInit:
  
endin

</CsInstruments>
<CsScore>
i1 0 -.5 8.00 -12
i1 + -.5 9.00 -12
i1 + 2 6.00 -12

i1.1 .25 -.5 9.00 -12
i1.1 + -.5 10.00 -12
i1.1 + 2 7.00 -12

i1.2 1 -.25 7.00 .
i1.2 + 2 8.00 .
</CsScore>
</CsoundSynthesizer>

I And this one works very good. I also tried it with poscil2 without setting the skip parameter, and ksmps = 1; there were absolutely no clicks or pops.

But i do not fully understand the code. But i would like to so i can implement the code for pvsynth or partikkel etc.
For example the score block:
i1.1 .25 -.5 9.00 -12
i1.1 + -.5 10.00 -12
i1.1 + 2 7.00 -12

2 notes are held forever until they meet the 3rd note. 2 times the initialization is skipped.
I look at the score as one note that is molded in amplitude by linsegr. Also the filter moves over this note-block as one entity.
Any sudden pitch changes are prevented by the port opcode.
Is this a correct understanding?

And perhaps my main question:
  tigoto skipInit
.....
  skipInit:

There is no code after this skipInit:
Why does this code even work?

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

https://csound.com/docs/manual/tigoto.html

csound "jumps" to the label, skipping initialization for the code in between.
but other than igoto only if this is a "tied" note.