FM in gen?
iS FM feedback working in Gen now? Are there any demos?
I'm asking because I have the code for the FM sync oscillators in C++, and I don't know whether to import the C++ into Gen, build it with the SDK, or redesign it in Gen. I built the oscillators in MSP, but they are useless. No feedback in MSP )
Feedback FM is most definitely possible in Gen - there are a couple of feedback FM examples in the /examples/gen folder in the gen~.ffm.maxpat
Wowoo!,,,for other readers of this thread, I'll mention,k I did try to use a delay buffer set to the same length as sample block size (as it would be called in ASIO) in MSP, to provide sample-accurate FM with feedback. For some reason beyond me, it still did not work. Theoretically at least, it should have worked. So I've been waiting a long time for Gen to be production worthy )
Any code for this? Would like to check it out...
I don't know if this helps anybody, or if it's correct... but here's my take on a functioning gen FM patch.
Just stumbled on this Billy, it's great!
Veeerrry crunchy :)
Yes, you can codebox code for an anti-aliased oscillators with FM and sync here:
Hi Ernest,
thank you for linking to the codebox code, i have pasted it into gen~ and i am getting an error message saying a function call is missing a '(' on line 14. But i can't see where that would be, all the syntax seems completely consistent. Please could you help me figure out whats happening? i would love to get it working and play around with it.
Yes, the parser has improved in gen~ since I made that page. I did quite a number of changes to improve that code, which is now in the synthcore library, as mentioned at the end of the page, here:
And actually I had an idea to improve the 3x downsampling, which I am just currently testing.
thanks for that, i shall check it out.
Is there really no feedback in MSP?
There is feedback as short as a single sample in gen~, as used in the samples above, and in many examples in the gen~ examples folder. It's pretty essential to writing filters, physical models, feedback FM, etc.
Without using gen~, there is still plenty of scope for feedback in MSP, you just have to use delays or send~ and receive~ pairs or buffer~ read/write methods. However MSP patchers can only have feedback as short as the current vector size, and it's not efficient to make this vector size very small.
Shorter feedback loops is one of the big advantages of using gen~.