Classic Mac Hardware (Troubleshooting, Upgrading, & Modifying) > DAW - Sampler Hardware

Sample Morphing

(1/4) > >>

found this digging around doing some R&D:

--- Quote ---The best tool for morphing one sound into another that I've used are the mac-only standalone soundhack FFT tools from the 90's and not much else I've heard comes close, IMO
--- End quote ---
Any clue what they are talking about and/or if it's somewhere in the "Archives"?
sort of recall "SoundHack" yet not sure what exactly he is referencing
current working on project called "ZenoMorphicResonator"
that does "morphing" between single cycle waves
created core engine using Ensoniq "tranwaves method" using SCI Prophet VS waves
looking for some way of "morphing" samples that can be utilized as custom sound library
not sure where this topic fits on forum
have sneaky suspicion some of you here may have some helpful insights on such topics

SynthWizards/N01ZE ZMR"ZenoMorphicResonator"

to morph from one sound into another using soundhack you first apply fade in on A and a fade out on B, then you can linearily morph the two files in different ways.

same procedure can be used for similar effects with marcohack, lemur, spear, deconvolution processors and SDIF apps.
they all offer a form of analysis which splits the file into two parts, lets you merge them again, but dont have a "built-in" control input for the mix envelope. (tau remains unbeaten, but i am not sure if the OS9 client for the capy already had it?)

for certain materials prosonic morph is a nice all in one solution, but i am not big fan. (well, i am fan somehow, but i am not a big user of it.)

when i am talking bout "fade in and fade out" in the first line, you may as well read "any envelope and its inversion".

p.s. most important point is, that you have to decide yourself from which input you want to keep the transients (or if at all) and stuff like that. nd if you create a custom DSP, dont forget the latency compensation when searching for the transients.

investigating method in "Audio-Term" for doing spectral morphing between 2 samples with "Formant" & "Envelopes"
that may be best for me making up some more experimental sounds
need making another 32+ samples for filling basic bank
all of this because old friend got Synthesis Technology E370 module
was attempting helping him with "wavetables"
started digging through manuals
thus attempting creating some "morphing" system
my only other real experience with it is "Transwaves"
if that's even actually considered "morphing"
thanks for responding

whats the maximum number of partials in that audioterm app?

transwaves is nice way of implementation, because it allows bidirectional modulation "envelopes" in realtime, but you still have to generate the content first.

made 64 "morphed" samples using "interpolation" for getting 2 banks of 32
used same method before making up Ensoniq " Transwaves"
one bank is "interpolated" SCI PRO VS single cycles A to B=X
second bank is "morphed" samples A to B=X
(SQ1 Wavestation & Roland partials)
both with envelopes and fomants
then using the "fake X Morph" method between both sample banks
searching way for getting XYZ morphing
like the Piston Honda & E370
seems like they are just using OSC wavetables
then X fade between via CV
Reactor supposedly does "morphing"
need taking time for reviewing how they do it
have it "morphing" yet sounds like an "Alien" screaming sometimes:P

Does this info help?:

--- Quote ---KTERM<> is an additive synth: 33 slots with 64 bipolar sine partials each. It's an emulation of the Terratec Komplexer wavetable osc, all other formats are derived from that model.

I chose this model because it has the right ratio of data amount and quality. Further many products beside Komplexer can use the results (converting wavetables which make full use of proprietary features of a certain product is much more difficult than converting normal audio data for different samplers).

AT has an automated file recognition and sorting system. It can distinguish a Komplexer *.WT file from a Dune2 *.WT file or from a Surge *.WT file... . Different file types are stored in different directories to keep track of which *.WT file belongs to a certain synth. Damaged and/or unknown formats are moved to a special 'recycle bin' folder (button RECBIN<> in the start page, here you get also information about the error).

Further the sound data folders can be individually moved to an abritrary location (because some synths require their files stored to a developer-defined location). This moving can be done using UTILITY<> and then selcting the PATHS<> page.

Regarding the proprietary wavetable formats (Surge, WaveGenerator, Dune2, EPS/ASR, Blofeld): AT can only load it's own files. This is a required limitation, because the formats are VERY different (in data type, size, content, number of slots). All of these formats hold special synthesis data for reloading and instant playback in the browser pages. In some cases this additional dataset is encoded in the wavetable data itself (Blofeld, Komplexer). In other cases it's appended. Editing these files outside Audio-Term will destroy these data, so don't try that if you want to reload them later in AT.

Regarding the GUI: The lower button row holds the main pages and the playback buttons. The upper row holds the functions of a page and further sub pages / input options ( in that case the button name has an <> appendix)

The KTERM main pages:


Here you can access the playback volume and playback speed of a wavetable. you also can empty all loaded data in RAM using FLUSH.


Depending on the file type you have different options. For all files you can switch the pages, search for a file name (FIND<>), rename and delete a file. You further can switch between the directories of the different file types using F_TYPE<> and call the windows explorer to get direct and full access to the current directory.

Further options depend on the file type. Wavetable files can be loaded directly, samples have to be analysed first. Single cycle waves are loaded from the assembling page ASSEM<> (see below).


Here you can have a look on the ram data in different modes (waveform and spectral data). Some eye candy...


This is the slice editor. You have access to the 64 bipolar partials (log scaling). WDRAW<> is a sub menu to draw the content as wave. The drawing then is analyzed and resynthesized. TOOLS<> hold some makro options for the partials (like normalizing or inverting). You should try the buttons and see what happens - the app won't get broken. ;) If you don't like the result you see/hear, press UNDO - it keeps track of the last 512 changes of the partial data.


Here the single cycles and wavetables in the different directories are used as 'library' to assemble new wavetables. Select source and destination slice with the SRC and DST buttons and transfer the data with SRC>DST.


On this page you also have access to the partials (bipolar, log scale), this time not 64 of a slice but a single partial over 33 slices of a wavetable. This is the envelope of a partial. The selected one has a fat line, all others are represented by thin lines. Very similar to the harmonic envelopes of the Fairlight CMI. On complex sounds this can look annoying. In this circumstance you can use VIEW to focus on the selcted envelope.


This is a special page which holds a lot of sub functions regarding

- polarity of the partials (PLOAR<>),

- amplitude scaling (SCALE<>),

- slice reordering (ORDER<>),

- a filter (FILTER<> - basically an additional "filter" slice with 64 partials, an envelope for shifting and access to the 'library' on disk to import spectral data)

- a formant shifter (SHIFT<>),

- a generator for filling the table with symmetry-modulated waves (SYMOD<>),

- and the interpolation function (IPOL<>).

The latter is very flexible - the goal is alwas to create a fully filled table from waves on arbitrary positions - even from a single wave. There are two interpolation algorithms: IPOL simply fills empty slices. STRETCH+IPOL fills the table by scaling the time base, which can be important especially for analyzed samples.

Two further additions:

OPTIMIZE button:

KTERM has an internal resolution of +-127 steps, but the dynamic of a 64 partial additive engine is much larger. Too large to use it without artificial limiting, a saw would be 50 times the amplitude if a single sine. OPTIMIZE adapts the partials to the limited waveform amplitude. In most cases this can be done automatically, but sometimes manual correction is required to get the best results out of the limted dynamic range.

POL_LOCK button:

KTERM uses bipolar sine waves, which improves the quality especially on sample resynthesis (otherwise everything would have a 'sawtooth touch'). POL_LOCK tracks each of the 64 envelopes and corrects polarity jumps. In most cases this is usefull as it makes the spectral evolution over time more stable, but it changes the sound slightly. So whenever this button appears, you should try if it sounds better with or without POL_LOCK.

Okay, this short explanation isn't a manual by far, but it explains some of my thoughts when I coded Audio-Term. I hope it was understandable a bit - I'm not a native speaker and also no sound engineer.

Mathias Gurk
--- End quote ---


[0] Message Index

[#] Next page

Go to full version