Morphing samples/waveforms

Any chance of seeing such a functionality implemented in the sample editor ?
I tried It-alien’s Morpher tool but it won’t work with single-cycle waveforms for instance.
Anybody else interested in this ?

I’d love to mix different samples beyond just layering two sounds.
But how does the sample morphing work? Is it a spectral analysis the gives a timbral mix like vocoding, an envelope analysis that matches attack and sustain from one sample to another or a signal convolution?

Overtune has something that you can experiment with!
If you just type in something like

``````
morph( sin(X), saw(X), T )

``````

and use e.g. 32 or more repetitions in the ‘Times#’ slider, you get a sine morphing to a saw. It’s just a ‘weighed average’ kind of method so nothing fancy. Doing this with custom single cycle waveforms is planned for a future version but may be some time ahead .

(to explain: T, for time, goes from 0 to 1 during the creation point-for-point, of the sample. the morph simply takes now T amount of saw(X), and 1-T (the inverse) amount of sin(X), so there you have the morph)

now if you want it to morph back as well, you can use the tri function for a triangular waveform, as a modulation source for the morph function:

``````
morph( sin(X), saw(X), tri(T*pi) )

``````

Tpi serves nice as it will just render the first half of a full triangle waveform cycle, so, just the part above 0.
( T
2pi would render /\/, Tpi just creates /\ )

morphing more softly (sinewave as modulation source)

``````
morph( sin(X), saw(X), un(sin(T*2*pi)) )

``````

in this case I use the whole cycle with (T2pi) but make the waveform have amplitude .5 and .5 center by applying the un function (for ‘unary’)

I have made a example song file available via dropbox: ot-mod-example.xrns

please note: behaviour of the morph function is only guaranteed to be nice when the value of the 3rd argument is between 0 and 1