help with "cross-synthesis"

ndivuyo's icon

I want to send one sound source into another, and I'm sure there are many ways to do it. I attempted with a simple blending of signals via multiplication, not too bad, but I know there is so much room for improvement. I guess what I am doing is more of a ring mod or something, so I am wondering how I can 'cross-synthesize' these sound sources: Especially in a hierarchy (ie. one sound goes INTO another, so if the source mod amplitude is at 0, then the original sound will play normal, instead of just going to 0 which is what is happening now.)

So I guess, any advice and direction would be great! I tried looking it up/looking around but the examples I found were not what I wanted and the theory/language of cross-synthesis was a little over my head (I am pretty new to this stuff).

My example has a audio signal from a buffer~ blending with a tri~ osc. In this example, I'd like the tri~ osc to be the primary sound, with the buffer~ sound going INTO. Does that make sense??

cross-synth-attempt.maxpat
Max Patch
ndivuyo's icon

sorry, there is a problem with my example, the pitch knob only goes 0-1, so just multiply it by some higher number to get a larger freq range. Thanks all!

brendan mccloskey's icon

Hi
if you look inside Cycling74/examples/fft fun you'll find a patch called "cross dog", which does cross-synthesis. AFAIR it uses fast fourier transform, which effectively means it does resynthesis in the frequency- as opposed to time-domain, and it goes over my head a little too ;)

Brendan

ndivuyo's icon

I see, that seems like the realm it should take place in haha. Thanks a lot Brendan! I'll take a look later

ndivuyo's icon

i see a lot on the cross-dog patch that says 'old school' way of doing things. Does that imply there is a newer, "better" way of doing this? like in a pfft~?

ndivuyo's icon

ok how would I carry out this in pfft~ ?

would I use [fftin~] before the [fft~] objects or instead of them? and would I use the 2nd outlet of the [fftin~]?

convert-to-pfft.maxpat
Max Patch
ndivuyo's icon

also, the cross-dog uses a hamming window before and after the fft~, do I need to do that with pfft~ (because fftin~ has a window arg)

ndivuyo's icon

thanks a lot! Yeah I was looking into the phase vocoder tutorial, very informative@!
I've been meaning to get my feet into pfft~, this is a good time
thanks