[Csnd] Interpetting FM synthesis diagrams
Date | 2019-11-16 04:33 |
From | Jason Hallen |
Subject | [Csnd] Interpetting FM synthesis diagrams |
Hello everyone,
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
I'm trying to work through some of the techniques in Mark Fell's thesis. On page 106 he includes diagrams for FM synthesis patches. I'm familiar with the basics of FM synthesis (i.e. carrier, modulator, modulation index, etc) and how to do it in Csound, but I'm not sure how to interpret these diagrams. Can anyone explain how to interpret these diagrams? Thanks! Jason |
Date | 2019-11-16 16:32 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
Hi Jason I am no expert on these diagrams, but I would think that the first diagram on p 106 is like: You have a fundamental frequency of your desired note, lets say 100Hz, we name this variable "icps", then Operator A frequency = 100 (ratio 1.0, icps*1.0= 100) + offset (=0) The output sent to the next oscillator is 39% of the initial amplitude It also modulates itself (sending its own output back into its own frequency value, scaled by 0.38) Similar for Operator B frequency = 977.96 (ratio
9.9996 , icps*9.9996= 999.96) + offset (-22) Both A and B are routed to the frequency input of operator C ... and so on. If you make an instrument replicating this diagram, and run into problems, then we can probably help you sort them out. Also, you might look at Gleb Rogozinsky's Csound implementations of the TX from the latest Csound conference. all best Oeyvind lør. 16. nov. 2019 kl. 05:33 skrev Jason Hallen <hallenj@gmail.com>:
|
Date | 2019-11-16 23:56 |
From | Jason Hallen |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
Hi Oeyvind, Thanks so much for explaining this. It does make sense to me, and I've sketched out an instrument that does this in Csound. However, I'm not sure what the amplitudes of the modulators should be. I see how the numbers 38, 39, 30, and 34 are percentages of the output modulating the next oscillators, but these are percentages of what initial amplitudes? This appears to be what determines the modulation index. Here's the instrument I've sketched out, and [AMP?] indicates where I'm not sure what the amplitude should be. Any ideas? instr 1 iamp = p4 icps = p5 aenv expseg 0.001, 0.1, 1, p3-0.2, 1, 0.1, 0.001 aoperatorA init 0 aoperatorA oscili [AMP?], icps*1.0 + 0.38*aoperatorA aoperatorB oscili [AMP?], icps*9.9996-22 aoperatorC oscili [AMP?], icps*0.5 + 0.39*aoperatorA + 0.3*aoperatorB aoperatorD oscili iamp, icps*0.5 + 0.34*aoperatorC outs aenv*aoperatorD, aenv*aoperatorD endin Thanks! Jason On Sat, Nov 16, 2019 at 10:32 AM Oeyvind Brandtsegg <obrandts@gmail.com> wrote:
|
Date | 2019-11-17 00:01 |
From | Jason Hallen |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
By the way, I looked at Gleb's paper on implementing TX, but I don't think he covers how to code the carriers and modulators. On Sat, Nov 16, 2019 at 5:56 PM Jason Hallen <hallenj@gmail.com> wrote:
|
Date | 2019-11-17 08:18 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
In all these hardware emulations such integer amplitudes usually point to a translation table (you can see such tables in the tx81z implementation, using arrays). As for the initial amplitude, this is normally derived from velocity, with a given velocity curve and sensitivity. Outside of a midi context, amplitude can be whatever the user decides. Here is a version of the tx81z for supercollider with comments, it might make more sense than my explanation: https://github.com/gesellkammer/sc-tx81z
On 17.11.19 00:56, Jason Hallen wrote:
|
Date | 2019-11-17 13:51 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
And here's Gleb's csd too søn. 17. nov. 2019 kl. 09:19 skrev Eduardo Moguillansky <eduardo.moguillansky@gmail.com>:
|
Date | 2019-11-17 15:18 |
From | Jason Hallen |
Subject | Re: [Csnd] Interpetting FM synthesis diagrams |
Thank you so much, Oeyvind and Eduardo! This is exactly what I needed. I'll be back in touch if I continue to have questions. Best, Jason On Sun, Nov 17, 2019 at 7:51 AM Oeyvind Brandtsegg <obrandts@gmail.com> wrote:
|