I had initially wondered if the Digitakt interpolates 256-frame wavetables. At first it seemed possible, but testing showed it doesn’t. Each slice simply contains four cycles instead of one - I only realized this after testing myself, and I also overlooked that the question about supposedly too-long wavetables had already been addressed.
So yes, I confirm: stuttering is noticeable only at very low frequencies in single playback mode, but with strongly evolving sounds it becomes clearly audible, giving them a subtle stuttering character. This answers my original question: assuming there really is no interpolation, do I need to re-save my wavetables? The answer is both yes and no.
For proper specs: the correct format for Digitakt wavetables seems to be 64 frames/slices × 2056 samples. 64 slices is obvious, and 2056 works reliably - so there’s really no reason to use shorter samples.
64 frames. My homemade ones are working great. If you have Reaktor I can share the patch I made to generate them. There is definitely some weirdness when modulating frames, I think what happens is if you modulate the slice selection quicker than it can complete one cycle it doesn’t see the loop reset and keeps playing until it catches back up. Only happens when I modulate the slice select too quickly. At slower rates it works as expected. I think they would have to have a special wavetable mode that forces reset to updated slice every wave cycle rather than when it sees the loop point.
I’ve also been thinking this is something to do with the length of time it takes to play one frame versus the length of time for the LFO to move onto the next frame in the grid. The modulation problems seems to happen when the latter is shorter than the former, so either long frames (e.g. those meant for a grid of 256, so 4 cycles) or fast modulation.
It’s also pretty obvious when you use a triangle wave for modulation and one direction of sweep goes faster than the other.
@knobgoblin I think this is the same thing you’re saying isn’t it ? I wasn’t 100% following your explanation.
This is exactly what i’m describing (or trying to lol ) ,thks guyz … @knobgoblin thks , i do have Reaktor 5 , is your patch allows “conversion” of 256 frames wavetables to 64 ?
The generator is very extensive, and you can create wavetables in all sorts of ways - from subtle to drastic, with single harmonics or a wall of sound. Formant, vowel, different mini-synth options are also available, along with a bunch of nice effects. Almost every parameter has its own LFO/modulator… this thing is often more fun than most synths. Unfortunately, the pitch is more or less fixed.
Just realised (maybe this is obvious to others) if you transfer samples that are not 48k, then Transfer will adjust them to 48k, quite possibly messing things up at any frame transitions. I’ll need to experiment with this.
Reason I mention it is that the main body of wavetables I’ve been using are 44.1k and most of them have an intrusive (to me) high frequency component.
The preset pool ? I thought this was easy (I’ve done it before) but I couldn’t find a quick way. Maybe someone can improve on this.
Select the track you want to save as a preset. Hit the ‘Kit’ button (the one above perform), select ‘pool’ with YES then left arrow, choose your slot, and choose ‘SAVE TO HERE’
EDIT: Aha the ‘quick way’ I remembered was for saving a single trig as a preset so it’s meant for p-locked trigs, but also works for any regular trig on a track.
Go into grid recording, hold down any lit up trig, press the ‘Kit’ key. You’ll find yourself in the preset pool slot list, select a slot and press YES
Does it create preset or it just add the sample to the preset pool ? asking this cause i don’t want to poluate my presets list each time i want a track to hold and sweep at the end of the track and a crash att satrt woith a chimes in the midlle …
Conversely, the error can also be reproduced. If you scan through the wavetable very slowly, it can also lead to crackling/clicks. If I had to guess, I’d say it’s due to a random or non-fixed phase. That’s also how it looks when you watch the “playhead” in Overbridge (when scanning through a wavetable, its direction looks as if it’s running backwards).
I’ve now tested almost 20 self-made wavetables (64 x 2048), and basically only two of them are glitchy during playback. So I think the length is correct, but some kind of controller, i.e. Fixed Phase, seems to be missing.
Attached is a glitchy wavetable played with the DT, and the same wavetable played with Vital. I’ve also included a recording showing that the DT can handle the wavetable format (64 x 2048) as well as slow speeds.
No, unfortunately I have no idea - I have almost the same wavetable, and with that one there’s only a single tiny click. Interestingly, that single click sounds different every time, which would suggest that the phase is random. I thought that with something between sine and square plus a bit of modulation, one could throw the DT off balance. But well, almost the same wavetable gives two different results.
The wavetables I’m using are 44.1 kHz.
DT (almost) clean
Haha… through Overbridge it sounds cleaner, I’m not sure what went wrong there.
I suspect that transfer might introduce problems as it converts to 48k, in that case. Might be worth generating at 48k so that transfer doesn’t need to alter the file.
DT Slice (Attack = 0! | Sustain could be optimized)
I’ve already used regular wav files as wavetables via slicing, but so far only as single cycles. But a wavetable like this is practically made to be sliced. And the clicking noises are gone.