AudioTerm by Mathias Gurk

Reaktor, MAX/MSP, VST/AU, etc. A place for all things soft....

Moderators: Kent, Joe., luketeaford, lisa

Post Reply
User avatar
Ultra Wiggler
Posts: 931
Joined: Wed Dec 21, 2011 3:14 am
Location: Asgard

AudioTerm by Mathias Gurk

Post by HighLordFixer » Fri Jan 26, 2018 2:24 pm


"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."
ImageMathias Gurk
Here ar a short explanation about the concept (especially about the "KTERM wavetable generator") a few months ago:
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". Image:) 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. Image;) 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.

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.

User avatar
Super Deluxe Wiggler
Posts: 3017
Joined: Tue Oct 26, 2010 5:40 pm
Location: San Francisco

Post by CF3 » Sat Jan 27, 2018 3:37 pm

I've been using his Audio Term 2.27 for several years now to make custom wavetables and it's FANTASTIC. By far the best wavetable tool I've used.

Hope he's doing OK. Very talented programmer, and quite generous to give away such an awesome program for free. :sb:
Last edited by CF3 on Sat Jan 27, 2018 5:25 pm, edited 1 time in total.

User avatar
Ultra Wiggler
Posts: 931
Joined: Wed Dec 21, 2011 3:14 am
Location: Asgard

Post by HighLordFixer » Sat Jan 27, 2018 4:02 pm

originally used AudioTerm extensively for making up hardware samples & transwaves... plus whatever experiments... Audioterm is Awesome yet requires patience & persistence poking around trial and error using the interface.... yet once you figure it all out... then you can start cranking out sample source...
some kid that interact with just bought a blofeld so originally made that post for him on one of my sites so decided cross posting it here in BBcode...
with any luck he may just need some extra rest & relaxing away from codes & compilers....
Honestly wish the eye could get access for his source code...
yet suspect that is way beyond mere simple longshot
should have made contact with him earlier because reverse engineering that all exactly in Csound looks like nightmare

zaphod betamax
Wiggling with Experience
Posts: 406
Joined: Thu May 29, 2014 3:24 pm
Location: sarnia

Post by zaphod betamax » Mon Sep 10, 2018 10:29 am

I'd love to see a tutorial on Youtube that goes at a slower pace.
All the demos whip bye at rocket speeds and I can not follow!

User avatar
Super Deluxe Wiggler
Posts: 2889
Joined: Thu Oct 09, 2014 11:18 pm
Location: vancity

Post by mt3 » Tue Sep 11, 2018 1:09 am

zaphod betamax wrote:I'd love to see a tutorial on Youtube that goes at a slower pace.
All the demos whip bye at rocket speeds and I can not follow!
Yet to get time to touch Audioterm. Unsure how WaveEdit compares, but it might have a lower barrier to entry:

Source code here:

is banned
is banned
Posts: 3324
Joined: Sat Feb 03, 2018 7:56 am

Post by Panason » Tue Sep 11, 2018 6:04 am

Can I upload wavetables to the Blofeld without needing to pay for the Sample option and without erasing anything in the machine?

Moon Indigo
Wiggling with Experience
Posts: 326
Joined: Tue Jan 26, 2016 11:13 pm
Location: Auckland

Post by Moon Indigo » Thu Sep 13, 2018 2:19 pm

Panason wrote:Can I upload wavetables to the Blofeld without needing to pay for the Sample option and without erasing anything in the machine?

Learning to Wiggle
Posts: 16
Joined: Sun Mar 11, 2018 11:49 pm

Post by seanluke » Sat Sep 15, 2018 4:07 pm

mt3 wrote: Yet to get time to touch Audioterm. Unsure how WaveEdit compares, but it might have a lower barrier to entry
Audioterm is, how shall I put it... opaque. It's intentionally designed to be obtuse and unhelpful, and to look and smell like the archaic interface of the PPG Waveterm. It does, however, work very well. It also works well under Wine on OS X.

Common Wiggler
Posts: 96
Joined: Mon May 06, 2019 7:42 am

Post by weasel79 » Wed Sep 11, 2019 8:07 pm

oh my god this is so insanely good. the GUI is just one giant piece of artwork. hope you're good mathias gurk, thanks for this!

Post Reply

Return to “Music Software”