FM synthesis

I’ve got some good news for the Supercollider Synthdef-heads out there. I came up with this super-exact clone of DX7 in SC environment. After all these newbie syntax questions, I thought its time for me to give something back to the community. This project started with my internship at the STEIM during last year, I was able to get my hands on an original DX7 synth and eventually found out that this instrument has this mystic / marvelous sound. So I started fiddling with it and made some experiments with Supercollider. After a while, it became an obsession to play with it and started to copy parts of its synth mechanism just to flex my DSP muscles. Sooner, I found myself in this huge project to clone the entire thing. After 2-3 months of implementing process and lots of sleepless nights. I was able to clone the entire DX7 engine with very high accurate results. Other than the DX7’s vintage sound hiss, it is hard to distinguish between the clone and the original one on the same presets. For my own use, I collected some 16384 (2^14) DX7 sysex bank presets from the internet and converted it to some integer sequences to read it from Supercollider. I am also combining this clone with this 16384 preset package. Currently, I am using it with my sequencers to modulate its parameters but for everyone’s ease of use, I implemented a very basic function call. Which calls notes with this format: [Midi note, velocity, preset number]. Additional documentation is in the file. It is very easy to run but one requirement is to put my own collected DX7 presets files in the same directory as the DX7.scd patch and the other requirement is to have SC3plugins because I implemented it with FM7.ar Ugen. For the current version, it is not possible to put your own DX7 patches or modulate its parameters (I will add them in the future). But I think this synth has enough interesting presets and sounds to find some use in the different projects.
You can download the zip of DX7.scd and preset file from this link: egegonul.com/dx7.zip or from my github repo: https://github.com/everythingwillbetakenaway/DX7-Supercollider. I also added it to sccode.org. Have fun!

dx7.zip (990.3 KB)

29 Likes

This is amazing :slight_smile: FM7 was always one of my favourite ugens in Supercollider, but this is taking it to a whole other level.

This link is dead for me - anyone have a repost?

Awesome work! Came to this thread to share this after it turned up on hackernews today. Can’t wait to have a dig with it later on.

this is amazing work! kudos!! it sounds great.

hope you don’t mind, but i forked the project on github and started making modifications:
[ https://github.com/catfact/DX7-Supercollider ]

so far i’ve just refactored the script into a class so you can easily make multiple instances* and manipulate them a little more cleanly, like so:

s = Server.default;
s.boot;
s.waitForBoot { Routine {
	x = DX7Clone.new(s);
	x.note(42, 90, 10002);
	12.wait;
	x.note(42, 0);
}.play; };

next i’d like to fix issue with auto-freeing the synth with DetectSilence. (i think a HPF before DetectSilence will do it; if there are big DC components that get clicked off, oh well.) for now i just extended the max note length from 10s to 24h :slight_smile:

also planning to optimize some stuff like the data file usage.

(*) ok, multiple instances are still a little bugged ATM…

11 Likes

Couple of analog FM questions - I currently have three VCO’s (a Makenoise DPO and a MN STO), which I enjoy FM’ing. I’ve discovered many interesting sounds, many difficult sounds. All in all, analog FM is a theme of my rack.

Based on notes from @zebra above, I started looking at through-zero VCO’s. Any big through-zero fans that can give me a read on whether or not a through-zero VCO like the Doepfer A-110-4 or A-110-6 would be worth adding to the mix? Through-zero seems like it would up by analog fm game significantly…are those two modules good options? Any other through-zero options I should consider?

Edited: Looks like Intellijel Rubicon also does through-zero, not in my price range though.

I’ve been wanting something similar for navigating harmony/generating scales using ratios, and it looks like we’re both in luck! 2.2 should bring us a working ratio to voltage conversion operator, as described here.

2 Likes

Sooooo in order to avoid the GAS inducing “let’s create a new topic for every NAMM annoucement” effect, I’m just bumping this thread with the recent reveal of Elektron’s take on FM synthesis for the FM lovers / curios out here, any thoughts about it?

1 Like

You could probably make a new thread… my reasoning being…

It doesn’t actually mention FM synthesis on the front panel, rather it’s called a “Polyphonic Digital Synthesizer”. My expectation is that they would like to add other forms of synthesis into it, they probably don’t want to promise things that don’t exist at launch.

The block diagram on page 13 of the manual makes it even more explicit by referring to the FM block as the ‘audio engine’, I guess one should look to the Monomachine for ideas.

Back to the subject of FM, appendix A in the manual goes into a bit of depth on how they’ve structure their FM implementation. You don’t seem to get full control of each of the 4 operators, which is not to say that the controls have been dumbed down.

I’m a bit scared about the “new thread per gear” logic, for stuff that isn’t even out yet and everything, I don’t know, feels kinda wrong to me and I think that here, the added value clearly seems to be the FM engine so I thought it would interesting to add it to this thread (other option, and that’s the beauty of not creating a thread especially for it : we’ll also be able to discuss it in the “polysynth” thread when people will start having it ^^)

3 Likes

Elektron explicitly market this as an FM synth. Though of course that doesn’t mean it really is one, but it still feels like this kind of fits in this discussion anyway.

@LLK
namm show anaheim
maybe it could go here, too
fm synthesis

5 Likes

There’s a book by Dr. John Chowning on Understanding FM Synthesis. There was a PDF floating around but I can’y seem to find that link anymore. Anyone have access to that eBook?

Thanks.

1 Like

@zebra linked to it in post #41 of this thread

Thanks, I saw that one. But I was referring to another book. It was an actual book but out of print now. There is a PDF version of that. Its called Understanding FM Synthesis, or something on those lines.

OK, I just found it. I was completely wrong about the title. FM Theory & Applications, By Musicians for Musicians. http://www.loscha.com/scans/FM_Synthesis-Theory_Applications.pdf

7 Likes

I was a bit meh on the Digitone until I saw this video. Now I am quite interested. Looks really well thought out.

3 Likes

The Digitone looks like the most intuitive hardware FM synth I’ve seen, which is a pleasant surprise given that “intuitive” isn’t a word I would use to describe my personal experience with Elektron gear thus far.

4 Likes

If you’re into modular, find “akemie’s castle” on YouTube. That one looks pretty damn intuitive too.

2 Likes

andrew huang put up what i think is the easiest to understand explanation of FM the other day, thought y’all might enjoy it:

7 Likes