Explanation of Wavetable for Digitakt2 users

I am often asked by Digitakt2 newbies how to use Wavetable in Digitakt2, so I will explain Wavetable.


First of all, the premise is that Wavetable is generally not used with Sampler such as Digitakt.
I also do not recommend using Wavetable with Digitakt, for reasons I will explain later.

Wavetable synthesis is a sample-based synthesis that uses a “wavetable,” a data set of various waveforms. The waveforms in the wavetable can be smoothly shifted over time, allowing the sound to dynamically change and create complex timbres.

Wavetable Specifications

1. Length = 2048 / 1024 / 512 / 256 / 128 samples

Number of samples in a wavetable: A wavetable in Wavetable synthesis is a set of waveforms separated by a specific number of samples, usually 2048 or 1024 samples.

Sample / Sampling Rate
  • Sample

A sample is a data point taken during the conversion of an analog signal to a digital signal. A sample is a digital representation of the value (amplitude) of the signal at each point in time, delimited on a continuous time axis of the waveform.

  • Sampling Rate

Sampling rate refers to the number of samples acquired per second and is expressed in Hz (hertz). For example, a sampling rate of 44.1 kHz means that 44,100 samples are acquired per second.

2. Number of frames Usually 1 to 256

Number of Waveform Slots: This is the number of waveforms stored within a single wavetable. This varies from synthesizer to synthesizer, but usually contains 64 to 256 waveforms.
Frame


Relationship between number of samples and frequency

Number of samples vs. frequency: For example, to create a 441 Hz waveform at a sampling rate of 44.1 kHz, the number of samples per period would be as follows

Samples = Sampling Rate / Frequency
100samples = 44100hz / 441hz


Why Wavetable waveforms are not suitable for Digitakt

1. Wavetable does not have a base frequency of note C.

The length of the waveform in one frame of Wavetable is 2048 samples, so the frequency is as follows
Frequency = Sampling Rate / Samples
23.4375hz = 48000hz(Digitakt sampling frequency) / 2048samples
23.4375hz = F#+
MIDI Note Frequencies | Sound Programming
Since the frequency of the wavetable is 23.4375hz = F#+, it will be out of pitch when used with Digitakt.
Single cycle waveforms for Digitakt’s preset samples are set to note C. The length of the waveforms for note C3 are as follows
367samples = 48000hz / 130.813hz(C3)
So, to use it in Digitakt, the one-frame length of the Wavetable must be converted to note C.

2. The number of frames does not match.

Most Wavetable synthesizers adapt to frame counts from 1 to 256; in Digitakt, if you set the grid count to 64 in Grid mode, it will adapt to a Wavetable with 64 frames. Most Wavetale synthesizers can import a Wavetable with any number of frames, up to 256.
So, to use it in Digitakt, the number of frames must be converted to 64.

3.Digitakt’s Grid machine does not have a morphing function

Wavetable synthesizers are capable of smoothly shifting waveforms within the Wavetable. Therefore, when Digitakt uses a Wavetable whose adjacent waveforms have very different shapes, a click sound will be generated when the slice parameter is moved.

With interpolation between waveforms

Without interpolation


Summary - Wavetable specs suitable for Digitakt2

  • The length of the one-frame waveform should be Note C-worthy.
    C1 = 1468 samples = 32.69754768 Hz
    C2 = 734 samples = 65.39509536 Hz
    C3 = 367 samples = 130.79019073 Hz
  • The number of frames in Wavetable is matched to the parameters of the Digitakt2 Grid machine.
  • In Digitakt2, the number of waveform frames is set to 64 / 32 / 16 / 8 / 4 / 2.
  • Digitakt2 does not have the ability to interpolate changes between waveforms, so it is recommended to use Wavetable, which changes as linearly as possible.
    WT linear

[Example] 367samples(Note C3) * 64frames
Available in Digitat2
FM 01-VPS1.wav
FM 02-VPS1.wav
FM 03-VPS1.wav

Conclusion

As mentioned above, to use Wavetable with Digitakt2, several processes have to be carried out.

  1. Select a smooth morphing Wavetable with no click sound beforehand. Or interpolate Wavetable.
  2. Convert the length of one frame of WT to a length worthy of NoteC.
  3. Reduce the number of frames in the WT to 64/32/16/8.

How to convert Wavetables for Sampler

Wavetable Editing Tools

Useful tool for editing the size of Wavetable.

https://digichain.brianbar.net/

How to convert waveform length in Audacity.

Learn how to convert the length of a waveform by applying effects within Audacity.

The following is an example of converting a Wavetable with a rate of 44100 Hz and a length of 2048sample*64 to a rate of 48000 Hz and a length of 734sample(NoteC)*64.

Audio Setting Default Sample Rate = 48kHz

The length of the new Wavetable is found by multiplying the number of original frames by the length of the waveform to be converted.


Length of original Wavetable = 131072 sample = 2048 sample * 64(frame)
New Length = 46976 sample = 734 sample(NoteC ) * 64(frame)

  • Export audio[48kHz].

Example of steps to create a Wavetable for Digitakt2

  1. Create and export a Wavetable in Vital. The exported Wavetable has a rate of 88200hz and a length of 2048sample * 256frame
  2. Digichain to divide Wavetable into four parts. Export with sample rate set to 88200hz.
  3. Converting waveform length in Audacity. Export with sample rate set to 48000 hz.

Grooveboxes that can handle Wavetable

21 Likes

Thanks for the detailed explanation.

I can add a couple of Digitakt-2-specific notes for folks who find this post:

  • the DT2 Factory wavetables (Factory > Oscillators > Wavetables) are set up as Taro describes here: set to Grid Machine, 64 slices, and you can use an LFO to cycle between the slice selection, and these sound great in general.
  • on DT2 (as opposed to DT1), the grid mode doesn’t force zero crossings, which means wavetables work better on DT2 than DT1 (on DT1 sometimes a bit will be out of tune, more pops and clicks)
  • There is, as taro says above, no interpolation between the 64 frames (as was the case with the first wavetable synths I believe).
  • commercially available wavetables are extremely hit-and-miss on the DT2: they’ll need to be tuned, and those with a lot of differences between frames will be too clicky to use. A few of the free Echo Soundworks Core tables work well, tuned up around 30.20, but it’s not always easy to predict which ones will sound better.
8 Likes

Thank you for the write up and research Taro! Might as well share the first batch of DTII wavetables I made here :slight_smile:

Painstakingly made using Phase Plant and Node, they’re all 64 frames and tuned to C. The DTII doesn’t interpolate so they were designed to morph well between slices. All the trouble was worth it, I have used these in just about every production since.

Discussed a bit of my process here, wish this information was available back then as it would have saved me a lot of time

6 Likes

It’s good to add that the random LFO has a slew parameter that makes it possible to never skip neighbor slices.

5 Likes

helpful!
Successfully stop me wasting my time on self-made WT Waveform for DT2, just try to play with those factory content was enough.
this WT trick(not dt exclusive, lots of vst sampler could do that as good as dt) made me feel at first:

  1. when you spend money for the dt, it is return more than it cost.
  2. dt is a all-round machine to make music, you got everything when you bought it.(that was so wrong! A sampler is a sampler, never a good synth)

And now I finally understand that dt is a very good sampler(maybe not the best but absolutely one of them), and a very good sampler based groove box, use it with the sample technique and workflow, forget about synth thing, we couldn’t live in trick thing, and without let a piece of great gear did itself really sould be.

Thanks!

1 Like

Thanks to the priceless knowledge @taro shared, I was able to create a decent wavetable pack for DTII!

4 Likes

I’m working on a Reaktor tool for building DT2 wavetables. Haven’t been able to upload any tables to my takt yet because of family visiting for Thanksgiving but plan on it in the next few days. I think it should go smoothly with minimal file editing. The basic idea is that the whole system (synthesis and modulation) is derived from a single triggered or looped phase accumulator. Modulation is quantized to update every cycle and synthesis has a windowing function to ensure no clicks when modulating the wavetable. I think the only editing to do will be to trim the recordings sample accurately for start and end points. Thanks to @taro for the info about correct number of samples for wavetables in C. Will help reassure me that the editing is correct before loading them and testing.

5 Likes

@taro thank you very much for the Great Research and Explanations about the DT wavetable topic!!!

2 Likes

So … is there some way to tell, e.g. from the header or the filename, how many frames there are ?

To the best of my knowledge, there are no tools available that can directly determine the number of frames in a wavetable from its file name or metadata. Additionally, some wavetables do not include metadata that specifies the number of frames. Therefore, rather than verifying the number of frames, I recommend converting the wavetable to a frame count suitable for the Digitakt2.


Convert to the following lengths in your program or waveform editing software

  • 2048samples * 64(frames) = 131072 samples
  • 2048samples * 32 = 65536 samples
  • 2048samples * 16 = 32768 samples

Wavetables exported from Vital have a structure of 2048 samples × 256 frames. To convert them for use with the Digitakt2, first split the wavetable into four parts using Digichain, then use Audacity to adjust the wavetable length, and you’re good to go.

1 Like

Okay, thanks, but if you have a set of downloaded wave tables, how do you figure out the starting information (either number of frames, or size of frame) ? If

Then the information must either be in the wav header, or defined by convention (is a frame size of 2048 an accepted standard?)

In commercial wavetable synthesizers, a frame size of 2048 samples is generally considered the standard. On the other hand, some Eurorack modules adopt frame lengths of 256, 512, or 1024 samples.

If it’s a downloadable wavetable created for use with plugins, the frame size is typically 2048 samples.

1 Like

What was the problem? Finding the right conversion for the DT2 ? Finding tables that are nicely assembled for a smooth sweep ?

The sweep issue seems to be an issue for me for the things I’ve downloaded. Seems that some wavetables are assembled on the basis “here are 256 unrelated waves put into one file”, which was not what I was hoping for.

That’s right, the tables that are a bunch of random waves together really don’t work well for scanning through, but still have good single-cycle waveforms, but those usually require tuning. (I think a site I had used recently, waveeditonline ? is gone, but it had a huge collection of that kind of stuff.)

DT2 is best approached as a PPG-style, non-interpolating wavetable synth, but works great within that for basses and leads…

While looking for that one just now, I found carvetoy.online , which if it does all it promises (exporting chosen number of frames at chosen pitch, with lots of wave effects and tools), might be a fun one.

[edit: it won’t save to desired pitches, only lets you play at pitches (up to 440) in browser, but: it’s incredibly powerful, especially for a free tool, and you can preview effectively, in the download page, whether a customizable 64-step selection will sound steppy without interpolation.]

3 Likes

That looks awesome :open_mouth:

EDIT: Doesn’t seem like it allows import and edit, but looks great for creation.

If you absolutely want to use an existing wavetable on the Digitakt2, I recommend importing the wavetable into Vital first and then exporting it as a WAV file. Vital has interpolation features between waveforms, which can help reduce click noises to some extent.

4 Likes