Here ar a short explanation about the concept (especially about the "KTERM wavetable generator") a few months ago:"I programmed a small windows based tool called "Komplex - Term" which can read and write WT files for the Terratec Komplexer. Further you can render it's wavetables to wave format, so you can use it in your Wusikstation, VAZ Modular, Reaktor... . It also offers wave file resynthesis and some editing functions like reordering slices, drawing spectra, a free formant filter (similar to the kawai k5000)and so on. I wrote a short manual, but please excuse my poor english."
Written by Mathias Gurk
AT was intentionally made for my personal use and "just for fun" to learn how to code in C - my version of "Hello world". There never had been 'seroius' plans for making it public when I started this project. Maybe this explains why it's so 'strange'. Due to very limited time and some health issues I used all of my energy for the program itself and not for writing a manual.
AT consists of different sections, KTERM<> is the one for creating "classic" wavetables for Dune2, serum, Komplexer and some other products.
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:
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.
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.
December 22, 2017
Hi everyone. Today I have very bad news. I have not heard from Mathias since August this year. He does not answer on Facebook or on mail. His Facebook friends have not heard from him for a long time. I know that he has health problems. I do not want to say more about that. Since he is the programmer, I can not give competent answers to technical questions. I only operate this site.
OK. I'll keep you up to date.