implementing frequency modulation in a delay path?
im pretty new to all this stuff but i thought i’d give it a go as i have always wanted to build my own VSTs, etc. Anyway, i’m trying my hand at emulating (or trying to) a tape delay and am having difficulty in implementing frequency modulation into the feedback loop and i have tried and tried and all that happens is the audio drops out and everything is unhappy until i disconnect it.
has anyone tried this or know what it is im doing wrong?
Sounds like you have an "illegal" feedback loop. Try using tapin~ to tapout~ or send~ and receive~ in your feedback loop. Send~ and receive~ introduces a delay of one signal vector which allows the audio signal to be fed back to itself.
its really odd – i am only using send~ and receive~ and all other effects (dist; amp mod; filt) work fine. it is just the freq mod that makes it bad. in all honesty, i am not entirely sure that i have connected the patch into the loop correctly which is why i think it is giving me problems. it is also odd that when i directly connect the freq mod patch to the tapout~ inlet, the feedback loop is modulated but i obviously loose control of the delay parameters which i don’t want to do. i am confused about the freq mod because i have never had to do it like this, i have implemented it into synthesisers but i don’t really know how to use it here. sorry – i am, like i have said, very new to this…
Can you post your patch so we can give you some concrete feedback? ;)
aha-let me just have a tidy up and i’ll sort something out. any other pointers would be welcome too ;)
as you can see i have left the freqmod disconnected
and here is the freq mod patch
this is definitely wrong… i know it is. i just don’t really understand how it needs to be implemented. to be fair – i used to do a bit of MSP a few years ago but am rusty as they come.
You probably mixed up frequency modulation and ring modulation.
For FM you modulate an oscillator’s frequency (or it’s phase aka phase modulation).
For Ring-Modulation you simply multiply one signal with another (typically a sine).
In your patch you add "frequency" to your modulating signal and add that to the original signal. So "frequency" will end up as a nasty DC-Offset.
he invented DC modulation^^
btw, you could use a signal to cotrol tapout (try putting a [line~] before it) that
gives you more options.
and with tapout, always make sure, you do not feed too short arguments for the
buffer (<10 ms or whatever it is at your samplingrate and vectorsize settings), that
can crash or crackle.