Mikelson waveguide slide-flute
Date | 2015-09-08 11:16 |
From | Tarmo Johannes |
Subject | Mikelson waveguide slide-flute |
Hi, I am trying to study Hans Mikelson waveguid flute from the Csound Book, Chapter "Mathematical modeling with Csound: From Waveguides to Chaos" Has anyone gone it thorugh or can explain me, what is the a-signal afqc = 1/ifqc - asum1/20000 -9/sr + ifqc/12000000 It is used to read from the delay buffers representing the flute embouchure and bore delay lines: aflute1 deltapi afqc ax deltapi afcs/2 The afcs is depends on asum1 that is basically random noise? The entire intrument is pasted below Thanks! tarmo instr 1902 aflute1 init 0 ifqc = cpspch(p5) ipress = p6 ibreath = p7 ifeedbk1 = p8 ifeedbk2 = p9 ; FLOW SETUP kenv1 linseg 0, .06, 1.1*ipress, .2, ipress, p3-.16, ipress, .02, 0 ;kenv1 linseg 0, 0.2, 1.1*ipress,0.02,0 kenv2 linseg 0, .01, 1, p3-.02, 1, .01, 0 ; declick, basically kenvibr linseg 0, .5, 0, .5, 1, p3-1, 1 ; VIBRATO ENVELOPE - start after 0.5 seconds ; THE VALUES MUST BE APPROXIMATELY -1 TO 1 OR THE CUBIC WILL BLOW UP aflow1 rand kenv1 kvibr oscil .1*kenvibr, 5, 3 ; ibreath CAN BE USED TO ADJUST THE NOISE LEVEL asum1 = ibreath*aflow1 + kenv1 + kvibr ; why + kenv1 asum2 = asum1 + aflute1*ifeedbk1 afqc = 1/ifqc - asum1/20000 -9/sr + ifqc/12000000 ; what is this ? ; EMBOUCHURE DELAY SHOULD BE 1/2 THE BORE DELAY ; ax delay asum2, (1/ifqc-10/sr)/2 atemp1 delayr 1/ifqc/2 ax deltapi afqc/2 ; - asum1/ifqc/10 + 1/1000 ; delayw asum2 apoly = ax - ax*ax*ax asum3 = apoly + aflute1*ifeedbk2 ; was asum3 gasum3+= asum3 avalue tone gasum3, 2000 ; BORE, THE BORE LENGTH DETERMINES PITCH. SHORTER IS HIGHER PITCH atemp2 delayr 1/ifqc aflute1 deltapi afqc delayw avalue out avalue*p4*kenv2 endin ------------------------------------------------------------------------------ _______________________________________________ Csound-users mailing list Csound-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-users Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2015-09-08 12:23 |
From | Oeyvind Brandtsegg |
Subject | Re: Mikelson waveguide slide-flute |
I have looked as this earlier, but the details are a bit in the dark just now. But let's see, the basic delay time comes from 1/ifqc, vibrato is added by kvibr and the kenv1 envelope seems to variations in pressure over the time span of a note. There seems to also be a (possibly empirical?) adjustment of the delay time for tuning purposes, compensating for delay in the tone filter ( -9/sr + ifqc/12000000). The noise component in the delay time is probably related to breathy-ness (one aspect of which is the noise going into the delay line and another is the amount of turbulence = random modulation of the delay time). Consider this guesswork, but hope it may help more than it confiuses. Oeyvind 2015-09-08 12:16 GMT+02:00 Tarmo Johannes |
Date | 2015-09-08 13:29 |
From | Tarmo Johannes |
Subject | Re: Mikelson waveguide slide-flute |
Attachments | None None |
Thank you, Oeyvind!
afqc = 1/ifqc-asum1/20000-9/sr+ifqc/12000000
Yes, I guess you are right - everything after the 1/ifqc is probably empirical correction for the frequency. If to think, the value is practically 1/ifqc - that is length of the delay line (inversion of frequency), all other values are so small that it varies just very little.
tarmo
On Tuesday 08 September 2015 13:23:44 Oeyvind Brandtsegg wrote: > I have looked as this earlier, but the details are a bit in the dark > just now. But let's see, > the basic delay time comes from 1/ifqc, > vibrato is added by kvibr and the kenv1 envelope seems to variations > in pressure over the time span of a note. > There seems to also be a (possibly empirical?) adjustment of the delay > time for tuning purposes, compensating for delay in the tone filter ( > -9/sr + ifqc/12000000). > The noise component in the delay time is probably related to > breathy-ness (one aspect of which is the noise going into the delay > line and another is the amount of turbulence = random modulation of > the delay time). > Consider this guesswork, but hope it may help more than it confiuses. > Oeyvind > > 2015-09-08 12:16 GMT+02:00 Tarmo Johannes <tarmo.johannes@otsakool.edu.ee>: > > Hi, > > > > I am trying to study Hans Mikelson waveguid flute from the Csound Book, > > Chapter "Mathematical modeling with Csound: From Waveguides to Chaos" > > > > Has anyone gone it thorugh or can explain me, what is the a-signal > > > > afqc = 1/ifqc - asum1/20000 -9/sr + ifqc/12000000 > > > > It is used to read from the delay buffers representing the flute > > embouchure > > and bore delay lines: > > > > aflute1 deltapi afqc > > > > ax deltapi afcs/2 > > > > The afcs is depends on asum1 that is basically random noise? > > > > The entire intrument is pasted below > > > > Thanks! > > > > tarmo > > > > instr 1902 > > > > aflute1 init 0 > > ifqc = cpspch(p5) > > ipress = p6 > > ibreath = p7 > > ifeedbk1 = p8 > > ifeedbk2 = p9 > > > > ; FLOW SETUP > > kenv1 linseg 0, .06, 1.1*ipress, .2, ipress, p3-.16, ipress, .02, 0 > > ;kenv1 linseg 0, 0.2, 1.1*ipress,0.02,0 > > > > kenv2 linseg 0, .01, 1, p3-.02, 1, .01, 0 ; declick, basically > > kenvibr linseg 0, .5, 0, .5, 1, p3-1, 1 ; VIBRATO ENVELOPE - start > > after 0.5 seconds > > > > ; THE VALUES MUST BE APPROXIMATELY -1 TO 1 OR THE CUBIC WILL BLOW UP > > aflow1 rand kenv1 > > kvibr oscil .1*kenvibr, 5, 3 > > > > ; ibreath CAN BE USED TO ADJUST THE NOISE LEVEL > > asum1 = ibreath*aflow1 + kenv1 + kvibr ; why + kenv1 > > asum2 = asum1 + aflute1*ifeedbk1 > > > > afqc = 1/ifqc - asum1/20000 -9/sr + ifqc/12000000 ; what is > > this ? > > > > ; EMBOUCHURE DELAY SHOULD BE 1/2 THE BORE DELAY > > ; ax delay asum2, (1/ifqc-10/sr)/2 > > atemp1 delayr 1/ifqc/2 > > > > > > ax deltapi afqc/2 ; - asum1/ifqc/10 + 1/1000 ; > > > > delayw asum2 > > > > apoly = ax - ax*ax*ax > > asum3 = apoly + aflute1*ifeedbk2 ; was asum3 > > gasum3+= asum3 > > > > > > avalue tone gasum3, 2000 > > > > ; BORE, THE BORE LENGTH DETERMINES PITCH. SHORTER IS HIGHER PITCH > > atemp2 delayr 1/ifqc > > aflute1 deltapi afqc > > > > delayw avalue > > > > out avalue*p4*kenv2 > > > > endin > > > > -------------------------------------------------------------------------- > > ---- _______________________________________________ > > Csound-users mailing list > > Csound-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/csound-users > > Send bugs reports to > > > > https://github.com/csound/csound/issues > > > > Discussions of bugs and features can be posted here
|