4 op FM Synth for Orac (and a preset)

Hey there! I’m really jazzed to be so inspired and contribute to this awesome community.

I created a 4 operator FM matrix synth that I think is pretty cool. Before putting it up on patchstorage, I want some feedback. Is there already an orac module like it (totally aware that FM is very much a “my first synth” etude); features you’d like to see (I mainly left things out just because with only 4 parameters per page, usability gets pretty gnarly if you add too many things – for example, my original version of this synth is six voices, uses six-point envelope generators instead of ADSR like the DX7, and has an EG per op for pitch as well as amplitude); page layout; performance (I learned a long time ago to utilize switch~ whenever possible, really helps cut down idle CPU load); and bugs (of course, I think there are already some minor ones with settings not propagating to all the voices).

I think what I’d like most of all is ideas or techniques for storing presets for a module, so that without loading a new rack, you can toggle between different saved presets for a module. Perhaps this is a feature that already exists that I missed?

Another thing I’d like to figure out how to integrate is the built-in expression pedal input. It doesn’t come through MIDI. I’ve search this forum and it doesn’t look like there’s yet an orac-specific tool to do this? Maybe there’s a modulator module on patchstorage I missed?

Thanks y’all!

https://drive.google.com/drive/folders/17MnxpaClmtvuOlB4cnmuQyeJyrZaCtjB?usp=share_link

(“4opFM” is the module, “backwards-armonica” is a rack preset that uses 3 operators, a modulator, and a flanger.)

1 Like

So I don’t forget, I have a hunch that settings don’t get received by voices where switch~ has been disengaged, which is a terrible conundrum.

It’s kind of coming back to me, now: my solution for this issue in the past was to send all information for playing a note in a single list message to the voice.

I wonder if there’s an orac command that will re-emit all parameters on demand? I’ll post this in the patching section later.

1 Like

The closest thing I can think of available for Orac is the Morpher module that is coming up in the Orhack thread by @Audivit but it is not yet released. It would allow you to set 16 different parameter states and modulate between different presets. That is if it is in a relatively similar state as shown in his video. Apparently it’s dropping tomorrow!

I haven’t looked at your module yet but I imagine you could implement a save feature with textfiles and have a parameter for changing which file it reads and using aux to load the textfile and distribute the parameters around

1 Like

Just followed the link on mobile and I could only download the individual files of the module.

Could you save the module as a zip file in that folder?

It would save a few steps in the process.

Looking forward to trying this out.

I’ve uploaded a zip file with the newest updates, which really just includes changing away from [vline~] to [line~] (using the Miller’s example patch) to save some cpu. It also fixes some release-phase bugs.

Still thinking about ways to implement a preset saver/loader. I may just use SSSAD or something else, since I’ve used that before. From scratch might be a good exercise, though.

1 Like

Whoops, forgot to connect the release receive value to the [adsr~] abstraction. I uploaded a corrected zip, but it should be really obvious how to fix it if you don’t want to re-upload anything.