[HN Gopher] Synthesis Methods Explained: What Is FM Synthesis? ___________________________________________________________________ Synthesis Methods Explained: What Is FM Synthesis? Author : peter_d_sherman Score : 46 points Date : 2023-12-24 18:23 UTC (4 hours ago) (HTM) web link (www.perfectcircuit.com) (TXT) w3m dump (www.perfectcircuit.com) | CrypticShift wrote: | FM synth programming can feel like a dark art for starters. It's | much less straightforward to dial in a specific sound compared | to, say, subtractive synths. | | Now imagine a synth that reverse-engineers audio sounds you feed | it, adjusting its parameters to match. This would be a game- | changer for learning. This recently released FM synth is trying | to do just that with AI : | https://www.youtube.com/watch?v=3gTYlYG6-R8 | unleaded wrote: | That's been around for at least 30 years[1] although there is a | strange lack of tools using it, I looked into it a while ago. | There's a tool for generating OPN2 patches[2] (sound chip used | in Sega Mega Drive) which is what I'm most interested in this | technology for but I couldn't get it running right. And a | modern method that uses neural networks instead of genetic | algorithms but I haven't found any applications of it [3]. | | [1] https://www.jstor.org/stable/3680541 | | [2] https://github.com/jpcima/fmprog | | [3] http://kth.diva- | portal.org/smash/get/diva2:1334639/FULLTEXT0... | | p.s. does anyone know why do so many papers on new technologies | like this never even provide code samples? what's the point? | SeanLuke wrote: | Using genetic algorithms or other evolutionary computation | methods for this purpose is pretty old. There are two versions. | First, there is _evolutionary resynthesis_ , where the system | is trying to optimize a synth program to match an existing | sound. This can be done automatically: try a bunch of sounds, | have some automatic comparator compare them to the target | sound, assess them, mix-and-match, try again. Then there is | _interactive evolution_ , where the system is trying to come up | with sounds interesting to the musician. Here the system | proposes and auditions synth patches, and the musician responds | with what he thinks are the better ones, and using that | information the system mixes and matches and tries again. | | Evolutionary resynthesis has been around since at least 1996 | (Horner). Aphex Twin was enamored with it for a while. I don't | think it's particularly interesting: if you already have a | target sound, why are you trying to come up with a program to | match it? Why not use the sound itself? But interactive | evolution is both useful, more difficult, and interesting, as | it makes it possible for the musician to explore the space of | synth programs without having to program them (and that's | particularly good for FM, since FM is EXTREMELY | counterintuitive to program). | | I wrote what I think is the best _general-purpose_ interactive | evolution style synth programming system right now: Edisyn. It | works with a wide range of synthesizers and synthesis types. If | you restrict yourself to exactly one synthesizer of your own | design, you can get better results still, and there are a | number of softsynths out there which do this. | | But most interestingly: interactive evolution has a specific | inventor: BRIAN ENO! He invented it around 1995 in a letter he | wrote to Stewart Brand. | tomjakubowski wrote: | > if you already have a target sound, why are you trying to | come up with a program to match it? | | Once you have the program matching the sound, you can tweak | it and get variations. At least that's what I imagine people | would want it for. | derriz wrote: | Fiddling around with FM, I've found it easy to dial in | interesting sounds but very difficult to find sounds that are | "musical" so it's difficult to actually incorporate them into a | piece of music. I guess the wild success of the built-in | patches of something like the DX7 proves that this is down to | my own lack of skill but FM synthesis seems somewhat chaotic - | a small adjustment to one parameter can cause a wild swing in | the sound. | atoav wrote: | As a synth head that teaches synthesizers at university: While | I think that is an interesting idea in itself, it is probably | not the best idea for _learning_ how FM synthesis works. | Learning synths is both about gaining an intution what sounds | emerge when you change a set of parameters, as well as having a | mental model of the signal flow and how that shapes the sounds. | | Both are things that are not helped by having something that | creates presets for you -- in fact it might even be more | productive to look at human made presets if you need guidence. | | Also: Synthesizers are also good for creating never before | heard, totally out there sounds, and those are hard to reach | when you feed it existing stuff. My own personal learning | approach always was to use a simple init preset and then create | everything manually from there. I called this my "No-presets | rule" (meaning I don't use presets that I did not make myswlf | for anything, unless ot is a commercial gig). If you then make | your 10th preset from scratch you probably understood | _something_ already. And then at some point looking at other | people 's stuff starts to make sense because now you have a set | of eyeballs that can actually peeceive the things they did. | ducharmdev wrote: | Re: your experience teaching synths in university, do you | feel there is certain knowledge/concepts that are difficult | for those self-teaching sound design? | | I do the same "no presets rule", with most being the result | of random experimentation and fiddling of parameters. This | does a good job at "creating never before heard, totally out | there sounds", but I imagine it's trickier the more specific | your end goal is. | u_s_e_r wrote: | Another approach, rather than generating randomized offspring, | differentiable dsp provides a mechanism to self-correct using a | loss function | | https://deepai.org/publication/ddx7-differentiable-fm-synthe... | yowlingcat wrote: | [delayed] | fassssst wrote: | Modulate one oscillator with another | Subdivide8452 wrote: | The end. | sctb wrote: | The original paper is quite short and readable: | https://people.ece.cornell.edu/land/courses/ece4760/Math/GCC... ___________________________________________________________________ (page generated 2023-12-24 23:00 UTC)