PreenFM > preenfm2 and preenfm3

operator feedback

(1/3) > >>

matrix12x:
I was just looking over the DX7 algorithms and noticed that some allowed an operator to have feedback. I was wondering how we could do this on the PreenFM2?

Assuming we had a FEEDBACK parameter, would it be something like:
oscState1.frequency =  freq1 * voiceIm1 + oscState1.mainFrequencyPlusMatrix;
         float car1 = currentTimbre->osc1.getNextSample(&oscState1) * FEEDBACKValue * currentTimbre->mix1 * div2TimesVelocity;

Xavier:

Feedback is less usefull when the synth offers you several waveform to chose from. Often use in DX7 to create saw or noise.
In adition it is very easy to implement with phase modulation (DX7) but it's more complicated with real FM (preenfm).
With FM, yhe feedback will change the pitch of the operator... You'll need to add a HP filter to get rid of the constant value.

Feedback should be a variable of the Voice class so that it can remember the value and reinject it the next loop iteration.

Xavier

matrix12x:
Thanks.

In code what is the difference between PM and FM? Are there any good articles on this?

I had thought that an instantaneous change in phase caused an instantaneous change in frequency?

Xavier:
The second part here is good :
http://www.musicdsp.org/showone.php?id=160
Replace "PM is better that FM" by "PM is different...."  ;)

"(with PM)... cascaded carrier-modulator pairs and feedback modulation are possible."
I added LP filter for cascaeded operators to get rid of the constant frequency value (pitch shifting).
For feedback we should do the same.

Xavier

matrix12x:
awesome. thanks. That site was great. I found it a while back while looking to code a sample rate/bit rate reducer.

Are there any other good sites or books to read about coding in C for music applications such as the PreenFM2? Are there any differences when coding for an ARM vs the ATMega?

How much ram do we have remaining in the PreenFM2?

Also, to remove the DC offset created by operator feedback, would we subtract the mean from the signal?
Thanks,
John

Navigation

[0] Message Index

[#] Next page

Go to full version