hello st :-).

So the idea is to make them play starting when the previous wave reaches its maximum frequency, the 2nd wave must start, etc.

Obviously I would like there to be no distortion. In order not to distort each subsequent oscili it must begin with a crescendo envelope and the release with a slight fade out.

However, on this I would also like your advice on what is the best solution to make each subsequent oscili heard (which starts at the maximum freq of the previous one )without creating too much chaos.

Thank you so much you are a genius

Ps. My example :slight_smile ;

```
instr 8
kfreqinviluppo linseg 50, p3/7, 100, p3/7, 400 , p3/7, 1000, p3/7, 400, p3/7, 100, p3/7, 50
asega oscil, p4, kfreqinviluppo, p5
kfreqinviluppo2 linseg 2000, p3/7, 500, p3/7, 200 , p3/7, 100, p3/7, 200, p3/7, 500, p3/7, 2000
asega2 oscil, p4/2, kfreqinviluppo2, p5
kfreqinviluppo3 linseg 200, p3/7, 300, p3/7, 600, p3/7, 3000, p3/7, 600, p3/7, 300, p3/7, 200
asega3 oscil, p4/3, kfreqinviluppo3, p5
kfreqinviluppo4 linseg 4000, p3/7, 700, p3/7, 400 , p3/7, 300, p3/7, 400, p3/7, 700, p3/7, 3000
asega4 oscil, p4/4, kfreqinviluppo4, p5
; filtro le frequenze indesiderate
aflt1 = butbp(asega, kfreqinviluppo, 1)
aflt2 = butbp(asega, kfreqinviluppo * 3, 1)
aflt3 = butbp(asega, kfreqinviluppo * 5, 1)
aflt4 = butbp(asega, kfreqinviluppo * 7, 1)
aflt5 = butbp(asega, kfreqinviluppo * 9, 1)
aflt6 = butbp(asega2, kfreqinviluppo2, 1)
aflt7 = butbp(asega2, kfreqinviluppo2 * 3, 1)
aflt8 = butbp(asega2, kfreqinviluppo2 * 5, 1)
aflt9 = butbp(asega2, kfreqinviluppo2 * 7, 1)
aflt10 = butbp(asega2, kfreqinviluppo2 * 9, 1)
aflt11= butbp(asega3, kfreqinviluppo3, 1)
aflt12 = butbp(asega3, kfreqinviluppo3 * 3, 1)
aflt13 = butbp(asega3, kfreqinviluppo3 * 5, 1)
aflt14 = butbp(asega3, kfreqinviluppo3 * 7, 1)
aflt15 = butbp(asega3, kfreqinviluppo3 * 9, 1)
aflt16 = butbp(asega4, kfreqinviluppo4, 1)
aflt17 = butbp(asega4, kfreqinviluppo4 * 3, 1)
aflt18 = butbp(asega4, kfreqinviluppo4 * 5, 1)
aflt19 = butbp(asega4, kfreqinviluppo4 * 7, 1)
aflt20 = butbp(asega4, kfreqinviluppo4 * 9, 1)
;compenso l'ampiezza tra onda a dente di sega e quadra
aquadra = (aflt1 + aflt2 + aflt3 + aflt4 + aflt5 + aflt6 + aflt7 + aflt8 + aflt9 + aflt10 + aflt11 + aflt12 + aflt13 + aflt14 + aflt15 + aflt16 + aflt17 + aflt18 + aflt19 + aflt20) * 1.8
kfade = linseg(0, p3/3, 0, p3/3, 1, p3/3, 1)
;crea una dissolvenza tra sega e quadra
aout = ntrpol(asega, aquadra, kfade)
outs aout, aout
endin
```