Spectral Morphing

Learn about building and using Max for Live devices.
Post Reply
Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Spectral Morphing

Post by Syncretia » Fri Sep 16, 2011 9:16 am

Are there any max patches out there that do Spectral Morphing?

When I say spectral morphing, I specifically mean taking two waveforms and merging them together over a period of time. There are a few tools that do it. Kontakt will allow you to merge a sample with a sample. Absynth and Alchemy will allow you to merge a sample with an oscillator. I would just like to know if there is a Max patch out there that does it so I can crack it open and see how it works.

Ideally, the patch would allow anything to be merged with anything, but I'm interested in seeing whatever spectral morphing has already been done.

Also, it would be nice if there was some control over the morphing. E.g. a cross fader to merge between the samples.

PS: I can't tell you what the difference between spectral morphing and simply mixing two sounds together is - but I know there is a difference.
Download and listen @ http://www.syncretia.com

stringtapper
Posts: 6302
Joined: Sat Aug 28, 2004 6:21 pm

Re: Spectral Morphing

Post by stringtapper » Fri Sep 16, 2011 1:26 pm

I think the more common technical term for this procedure is cross-synthesis.

You might get more mileage out of searching something like "cross-synthesis max/msp"
Unsound Designer

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: Spectral Morphing

Post by pid » Fri Sep 16, 2011 8:48 pm

well, there are lots.

easiest access to start with is your max examples folder.

go to the folder:

Max5/examples/fft-fun

and look at the examples in there, especially

convolution-workshop.maxpat

and

cross-dog.maxpat

for more fft help there are tutorials in the maxMSP help (i think msp tutorials 25 and 26 if i remember correctly) and there are some fft maxforlive patches inside the max for live audio devices folder in your live browser, beautifully annotated by the wonderful mr poletti.

hth.
3dot... wrote: in short.. we live in disappointing times..

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Spectral Morphing

Post by Syncretia » Sat Sep 17, 2011 6:52 am

Excellent. Thanks.

Hopefully, you can clear this issue up for me. What are the differences (if any) between vocoding, cross-synthesis, and spectral morphing?

This is one of the things I've been trying to answer on this thread:
http://forum.ableton.com/viewtopic.php?f=1&t=167470

Don't need to weight in to the whole discussion. I just would like to know if those terms actually apply to the same thing...
Download and listen @ http://www.syncretia.com

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Spectral Morphing

Post by Syncretia » Sun Sep 18, 2011 12:42 pm

Does the Ableton Vocoder use Cross-Synthesis? Is that Spectral Morphing?
Download and listen @ http://www.syncretia.com

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Spectral Morphing

Post by Syncretia » Mon Sep 19, 2011 11:43 am

OK. I now have a very crude sample player that morphs two samples and transposes it with FFT and is polyphonic. I used the Cross-Dog samples in the examples folder to figure out how to do this. It's not hard. You just have to pass two signals in to a certain patch and then the morphed sound comes out the other.

However, the result is a little dissapointing. It just sounds like the vocoder in Ableton. It's doesn't really sound like two organic sounds morphed together. Actually, it sounds as though it is doing what standard vocoders do: take the melodic quality of one sample and apply it on top of the rhytmic quality of another sample. The cross-dog sample says it is using "old school FFT". Where do I get the "new school FFT"?
Download and listen @ http://www.syncretia.com

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: Spectral Morphing

Post by pid » Mon Sep 19, 2011 3:02 pm

well, the thing is, fft work is extremely complex, and a big subject.

DISCLAIMER: here i ramble. i am NO expert and merely hope to point you in a few interesting directions. certain things i say below might be be complete and utter shit.

for high quality, you often (but not always) have to use analysis settings that will introduce huge amounts of latency, so real-time fft has always involved many many tricks (hacks) which are hard to explain in a forum post.

not the old style classic vocoding techniques (actually called something else and based on banks of filters - example in the max examples folder), the modern 'pv' (phase vocoder) all employ fft synthesis in some form, and yes, the ableton vocoder will be no different. many people use these effects BECAUSE of their inherent 'obviousness' and forbidden-planet-like 'charm'.

i saw in another post you made a link to someone 'playing' sounds on one of those ridiculous ribbon keyboardy type things. these sounds were not being fft-ed to any great degree in realtime - they had been prepared beforehand using non-real-time processing. using non-real-time you can easily process your audio then use sample and stretching etc in real time. doing everything in real time produces bottlenecks that you have already experienced.

look into the 'Spear' programme for doing this - and use it's SDIF file type in Max.

on the kyma, for example, one has huge huge processing power behind a single dsp process not effecting your host cpu, so large analysis-resynthesis chains can take place. however, the real zero-latency fft is a physical (read: physics, as in black holes) impossibility.

so, we have max that is designed to be a realtime program, and likewise ableton. we do our best. the ableton vocoder and the msp [gizmo] object you used in your last patch have latency. in msp gizmo it is big, something like 66 milliseconds at samplerate 44100.

how 'good' something sounds to your ears will have largely to do with the TYPE of audio material being used (think about why, even for a granular technology such as the ableton pitch/time system, there are different settings such as "polyphony" and "complex pro" or whatever they are called), AND the individual tweakable settings to your fft system.

there is simply no surefire way to always getting fft to sound a certain way - it is not an easily reproducable sonic entity.

some courses of action:
- i saw in another thread that someone suggested you download the Michael Norris Spectral Morphers collection. I cannot recommend these highly enough. they come with a large pdf manual which you should read, which explains fft processing as well as the individual AU plugins. you can then use those plugins and get used to the terminology and what settings (fft bins, etc) work best for what sort of materials.
- chapters 25 and 26 of the official MSP tutorials documentation go over old skool and new skool styles of processing in a practical way which will help you understand certain key concepts such as cartopol and poltocar and real and imaginary numbers
- after that you should be able to look at your 'cross-dog' patches and work out which sort of parameters to tweak for your own creative likes
- there are also two excellent tutorials, with max patch examples, online, called "The Phase Vocoder" part1 and part2 - they date from an older max, but are still relevant. check the cycling 74 website.
- look into the SDIF file type
- go and study at IRCAM / read books by Trevor Wishart / learn C++ and get yourself a code library from MIT or Dirac

i was never as determined and committed as you obviously are, but i picked up enough here and there to now deal with fft in MSP at least fairly painlessly.

good luck!

p.s. - beware 'terminology' like "is this or that spectral morphing / cross synthesis". whilst there really are useful terms developed by people in the trade, a lot of shit gets thrown about by modern companies wanting their product to be thought of as the next best thing
3dot... wrote: in short.. we live in disappointing times..

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Spectral Morphing

Post by Syncretia » Mon Sep 19, 2011 10:23 pm

pid, do you have a website? Are you a teacher somewhere? God damn you know your shit.

What you are saying seems on the money. I do think that to do morphing properly the spectrum would have to be analysed and a human would probably have to mix and match parts of the spectrum that he wanted in the sound. I have looked at SPEAR, and I'm still trying to get my head around it but it definitely looks like it's in the ballpark of what I am trying to do. Does this tool allow you to visually morph two sounds and then save the output? I originally that that it was it was supposed to do but couldn't quite figure it out.

I found this Reaktor Phase Vocoder which is a bit closer but not quite right - probably for the reasons you just mentioned.
https://co.native-instruments.com/index ... tchid=5722

Yes. Once again the quest for understanding this beast is leading me down new paths. I will do my best to investigate this.

Anyway, I started this thread because I had come to believe that spectral morphing in Max would be as simple as dropping something like a phase vocoder patch in between two samples as I have now done.

The really meaty thread is over here:
http://forum.ableton.com/viewtopic.php? ... 0&start=45
Download and listen @ http://www.syncretia.com

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: Spectral Morphing

Post by pid » Wed Sep 21, 2011 8:00 am

Kruddler wrote:pid, do you have a website? Are you a teacher somewhere? God damn you know your shit.
ha. no, no, and sort of. as i said, i only know enough fft to get me by in max. but thanks for your words. i'm an old hacker/bullshitter really (with a little free time on his hands at the moment!).
Kruddler wrote:Once again the quest for understanding this beast is leading me down new paths. I will do my best to investigate this.
it seems to me like you should save all your research so that you can come back to it at some stage, but focus focus focus on just one specific task you find particularly interesting for now, and see where it leads you. this is maybe more creative? max is very good for 'leading'. just give in to it.
Kruddler wrote:I found this Reaktor Phase Vocoder which is a bit closer but not quite right - probably for the reasons you just mentioned.
https://co.native-instruments.com/index ... tchid=5722
thanks for tip! i had missed that one. looks interesting. Stephan Schmitt is very good indeed. i find building in reaktor horrid compared to max, but using it is always fun.
Kruddler wrote:I started this thread because I had come to believe that spectral morphing in Max would be as simple as dropping something like a phase vocoder patch in between two samples as I have now done.
yes, it would be nice if it was that easy. but this is because fft is hard. if you wanted a chorus effect or glitchy beat chopping effect - now they are easy (!).

good luck!
3dot... wrote: in short.. we live in disappointing times..

Post Reply