buffer mutations / morphs
can anyone advise me on any up to date methods for morphing between sound files, spectral morphing mutating etc... are there other methods?
say i wanted to morph between a tom and a snare that keeps getting re triggered, or two similar short vocal files ooh aah
i have trawled through here a bit and found the litter objects (based on larry polanskys mutation algotithms) but they seem to be out of date / unavailable to buy either way
are the ircam ones good? i've read that they are almost unusable without insane computer power, so far that looks to be the best
im just making sure i've not missed anything
i'm also trying to avoid the transition sounding too **spectral** and watery and more of a natural morph / mutation. but i don't know enough about the processes that lead to either of these qualities
thanks in advance
the aah and ooh example is one which would in my opinion require a custom, single-purpose algorithm which begins with analysing the formants in real time anc comparing them with a database of known oohs and their fundamental frequencies.. :)
if you are after producing such audio, forget morphing samples and build a little vocal synth. then you only have to interpolate the 12 values for the 3 filters to get a halfwas realistic aah to ooh transition.
what do you mean with ircam? i´ve seen that they actually use LPC for finding formants in realtime, but...
hmm damn that does sound complicated
I have tried and tried with vocal synths in the past, both commercially available ones and making simple ones with filters in max but nothing sounds remotely un-crap (any pointers? this is actually a long goal here in a way)
I was hoping that I could have a bank of say 20 recoded vocal sounds here and morph between them as they are recalled (similar to how pattr can morph between multi presets)
the ircam externals i was referring to are here
"
The two modules provide different models of cross-synthesis applied to incoming audio streams:
supervp.sourcefilter~ … source-filter cross-synthesis
supervp.cross~ … generalized cross-synthesis
"
i'm guessing it does something like the zynaptic morph but i may be totally wrong?
Sonic morphing is often a broken promise.
A "simple" FFT interpolation such as performed by supervp.cross won't work for sounds with a complex spectral envelope evolving in time. With sounds having a constant spectrum most of the time such as aaahs and ooohs, it could give less disappointing results but you might achieve something better with formant filters.
For a more global approach to morphing, one has to take perceptive cues in consideration, such as pitch, grain, duration, etc. Difficult to achieve automatically through software without serious signal analysis.
Ah I see
There was a function on alchemy that i think worked o k ish
i remember it had phonetics stored as little samples (enveloped i.e. "aaaahhhhaa!" )1 sec ish in length and if you were quick enough you could morph half way between one and the other, but in hind sight it might be just because the crossover had to be so fast you never got a chance to hear the bit in between
i'll need to try dig it out and see how it ACTUALLY sounded though
i was hoping to build something like this but allowing morphing between way more than 2 at a time and morping from a half way point in another morph.
Could it be that if they are all stored as constant pitch looped samples (i.e. a aaaaaaa hhhhhh chhhhh nggggg and all the cool little phonetics we do in between words but with no envelope over time) that supervp.cross might work?
maybe they could be made with some sort of time stretching in the first place
do you think this might work?
end goal is to try build some sort of vocal tool that you can shift about phonetic sounds, not really strictly enveloped sounds though, the envelopes could come from how you shift from sound to sound
i.e. HH >> EE >> LL >> OO >> HH
I think it might sound like a super time stretched vocal (i.e. you could remain at any bit for any amount of time) but hopefully not too spectral sounding
one thing that i ran into when i tried to do this as a simple formant synth thing was how you do the crossovers in the first place
i.e. do you keep the same amount of peaks in the filter graph and move them over to the new positions, giving half way mutant vowel sounds in between or do you grow new peaks and fade out the old ones, more of an amp crossover anyway
i'd be interested to know how these morphs actually operate
"broken promise", exactly.
before i use cross convolution (which is actually really easy to build in max) to morph between two vocal samples, i rather just crossfade between them to get a proper sonic experience. well... at least if it is a fast fade :)
the first problem which appers with all this FFT sh*t is that it produces latency, and you dont want to deal with latency in real time applications all the time.
>>> how you do the crossovers in the first place
it will not differ much from the process you also set up when you build a vocal synth.
you have some form of pulsed oscillation at a base frequency and then you have for example 3 peak notch filters for the three loudest formants.
these 4 things is what gives the sound its typical vocal character.
now when you want to morph between an preexisting aah and ooh sample, you have to first analyze both regarding its base frequency and the three lodest formants, then you do some kind of resynthesis (for example using fft) and then you can interpolate the three "filters".
sometimes it is a bit difficult to find out which format of ooh should be moved to match the one in ahh ... that is a matter of trial and error, but i think in most cases of the possible 12 or 13 different vocals you´d just sort them by frequency in order to recreate the human throat, tongue and lips. :)
Thanks Roman
ok this is looking like a good starting point
i need look into FFT stuff a lot more, which i've never really delved into before
so it would do a sort of do a filter sweep/morph on one sample while crossfading the amp signal to the other one?
thanks for the tips
lewis
sorry, just thought about this for a bit longer
what you are saying is to find the specific peaks and interpolate between them? so they are identified individually, named and moved individually?
instead of a standard kindof spectral morph? which i assume might be just like a fade?
this would give more of a noticeable morph (with some mutant sound in the middle) rather than sounding like a fade right? AAAA>>EEEE>>OOOOO rather than AAAoAoOaOaOO
>>> what you are saying is to find the specific peaks and interpolate between them? so they are identified individually, named and moved individually?
yes, exactly.
as if your recording of a human voice would have been synthesized using 3 peak notch EQs.
>>> instead of a standard kindof spectral morph? which i assume might be just like a fade?
yes. because the typical formants dont "move" there.
and of course _first find the formants and _then get the spectral envelope.
or in other words, you can do that analysis outside the fft.