Csound Csound-dev Csound-tekno Search About

feedback FM (with a long delay)

Date1999-10-29 17:22
Fromluis jure
Subjectfeedback FM (with a long delay)
another old message i had waiting:

from hans mikelson long ago, in response to a question about feedback
fm:

> a1    init  0
>
> aenv  adsr  iatt, idec, islev, irel
>
> a1    oscil aenv, ifqc*(1+a1), 1
>
>       outs  a1, a1
>
>       endin
>
> The pitch tends to drift somewhat though I think.
>

actually for real feedback fm you need something a bit more complicated
than that, where you can control the modulation index. below is a simple
and naively commented orchestra

; ============================================================
; fdbckfm.orc

sr      =       44100
kr      =       44100
ksmps   =       1

instr 1 ; feedback fm

iamp    =       p4      ; max amplitude
ifc     =       p5      ; center frq
indx    =       p6      ; max. modulation index

afrq    init    ifc     ; initialize oscil frq to center frq

a1      oscil   1,afrq,1        ; oscillator, normalized to 1

kndx    line    0,p3,indx       ; vary modulation index

afm     =       afrq * a1       ; calculate modulation frq
adev    =       afm * kndx      ; calculate deviation frq
afrq    =       ifc + adev      ; calculate oscil frq

kamp    linseg  0, .1, iamp, p3-.2, iamp, .1, 0
aout    =       a1 * kamp

out     aout

endin

; ============================================================
; fdbckfm.sco

f1      0       8192    10      1

i1      0       3       25000   300     .9
i1      3.2     4       25000   300     2

e

; ============================================================

it's very important to note that the range of usable modulation indexes
in feedback fm is significantly lower than in simple fm, generally I <
1.

in my orchestra pitch tends to raise when I gets close to 1, and for I >
1.2 aprox the system becomes unstable, as you can see in the second
note. i'm not sure if that's something inherent to the technique, or
maybe it's a problem with this particular implementation.

i would appreciate some comments.