Wavefinder - Generate wavetables with Tonverk

I used this 48KHZ 32BIT file I made :

64 slices, 2048 samples length of a 23.4375 Hz sine wave.

I used a SINGLE PLAYER to play it and added an LFO on FOLDER.
Pattern Tempo : 87.9 BPM, which is just above theoretical BPM : 87.890625…

RECORDER : 1 bar recording, R.START = Play

WAVEFINFER : choose recorded sample in USER/RECORDINGS

Let me know what is confused, missing, wrong, and please post your experiments !
My maths can be wrong, I used a demo wavetable with 1024 length as reference, but made a 2048 file to avoid renaming…(see below)

Wavefinder can load 2048 x 64 waves by default, or any sample (I don’t know how it is truncated, what is the limit). It is possible to rename wavetables having different lengths (128, 256, 512, 1024, 2048 samples).

From ELEKTRON :

WAVETABLE

The Wavetable machine gives you two independent wavetable oscillators that can be blended and modulated individually. SRC Page 1 controls Oscillator 1, and Page 2 controls Oscillator 2. Press [SRC] to access these parameter pages.


SRC Page 1

TUNE

Sets the pitch of Oscillator 1.
The control works in a bipolar range, where a value of 0 leaves the pitch unchanged.


LEV

Sets the output level of Oscillator 1 and Oscillator 2.


POS

Sets the wavetable slice position for Oscillator 1/2.

When moving through the wavetable using the POS parameter, transitions between slices are interpolated, meaning the sound is smoothly blended from one slice to the next.


SLOT

The wavetable slot is used to browse and assign wavetables to the oscillator.

Each project can load up to 63 wavetables into RAM. A wavetable must first be loaded from the SD card to the project before it can be assigned to a track.

To load a wavetable:

  1. Turn DATA ENTRY knob D and select an empty slot.
  2. Press [YES] to open the wavetable browser and view the contents of the SD card.
  3. Use the [ARROW] keys to navigate:
  • [UP]/[DOWN] scroll through folders and files
  • [RIGHT] opens the highlighted folder
  • [LEFT] moves up one level in the folder structure
  1. Use the [KEYBOARD] to preview the highlighted wavetable. The DATA ENTRY knobs can still be used to adjust parameters while browsing.
  2. Press [YES] to load the selected wavetable into the chosen slot.

To select a previously loaded wavetable, turn DATA ENTRY knob D or use [UP]/[DOWN] to navigate to the wavetable and press [YES].

Press [FUNC] + [YES] while a wavetable is highlighted to open the browser at the location where the file is stored.

Wavetables can also be loaded via the Sample Browser.

The SLOT parameter can be parameter-locked to change the wavetable on individual steps of the sequencer.


SPD

Controls the length or speed of the waveform movement defined by the ANIM modulation shape.

For looping shapes, the parameter is tempo-synchronized, and SPD snaps to musical beat divisions.


A.LEV

Sets the modulation depth applied to the LEV parameter by the internal modulator.


A.POS

Sets the modulation depth applied to the POS parameter.

At a value of 0, no modulation is applied and the oscillator plays only the wave selected by POS.

Positive values add modulation to the POS control, while negative values subtract modulation.


ANIM

Selects an internal modulation shape that affects the position (POS) and level (LEV) of the oscillator.

These shapes function like a collection of envelope and LFO-style modulation sources, creating different types of movement and character in the sound.

Available shapes:

  • Exp Down (one-shot)
  • Ramp Down (one-shot)
  • Tri (one-shot)
  • Ramp Up (one-shot)
  • Exp Up (one-shot)
  • Ramp Down (looping)
  • Tri (looping)
  • Square (looping)
  • Ramp Up (looping)
  • Random
  • Sample and Hold
  • Wavetable 1/2 (looping)

SRC Page 2

SRC Page 2 controls Oscillator 2.

Most parameters function the same as on SRC Page 1, but affect Oscillator 2 instead.


DETUNE

Sets how much Oscillator 2 is detuned relative to Oscillator 1.


LEV

Has the same functionality as the parameter with the same name on SRC Page 1.


POS

Has the same functionality as the parameter with the same name on SRC Page 1.


SLOT

Has the same functionality as the parameter with the same name on SRC Page 1.


SPD

Has the same functionality as the parameter with the same name on SRC Page 1.


A.LEV

Has the same functionality as the parameter with the same name on SRC Page 1.


A.POS

Has the same functionality as the parameter with the same name on SRC Page 1.


ANIM

Has the same functionality as the parameter with the same name on SRC Page 1.


Additional Notes:

  • Each wavetable preferably should contain no more than 64 slices. If there are more slices than 64, like 128, it picks every second slice.
  • The wavetables can have different lengths (128, 256, 512, 1024, 2048 samples).
  • If the wavetable length is anything else than 2048, the length should be specified in the file name by appending _wt” For example a wavetable with 1024 samples could be called: my-cool-wavetable_wt1024.wav, or a wavetable with 128 samples could be called: my-crappy-wavetable_wt128.wav.
  • For raw (non-interpolated) upsampling, append “R” to the file name (for example wavetable_wt1024R.wav).
8 Likes

(post deleted by author)

(post deleted by author)

1 Like

A few questions, as I’m clearly not as proficient as you in making wavetables.

  1. How did you determine sample length on the Tonverk alone? I am assuming it’s a mathematical relationship between the BPM and frequency, but please elaborate.

*edit: 2048 / 23.4375 = 87.3813333333, which is so close as to make me wonder if my thinking here is correct, but wrong enough that I’m… left confused a bit.

  1. What was your thinking in selecting the BPM? (implied above, but wanted to be explicit).

  2. The Tonverk’s inputs aren’t ac coupled? Technically 23.4375 hz isn’t subaudible, not for most people I guess, but it’s getting close to what I assumed Elektron would have filtered out. Do we know what the roll off is if they are ac coupled?

Thanks.

From Elektron samples and specs.

64 x 2048 samples slices.
At 48 Khz, one slice duration is :
2048 / 48000 = 0,0426666667s

Slice frequency :
1 / (2048 / 48000) = 23,4375 Hz

Multiply this frequency by 60 to get a bpm, divide by 16 to get 4 beats (16 slices per beat).

23.4375 x 60 / 16 = 87,890625 BPM. (87.9)

This way we get 16 steps for 64 slices. In order to be able to have a plock per slice we can use 64 steps by doubling tempo and scale :

175.8 bpm, Scale X2, record 2 bars.

1 Like

That is related to wavetable specs.
I don’t know the theory, I made it empirically with some math and it works. Tempo isn’t perfect, but resampling my original sine wavetable is played without major artefacts.

Wavefinder uses 1024 samples per slices internally, but without renaming, wavetables are considered as 2048 samples.

Ok, cool…

Just to be clear here, I was mostly remarking on you being able to sample what almost amounted to an LFO into the box. Most professional inputs will filter out low frequency signals as they’re seen as dc-offset defects (and can hurt speakers). As a modular guy I’m constantly hunting for inputs that aren’t ac coupled to allow the recording / playback of LFOs and other dc-offset like things (envs, etc).

No problem in practice : wavetable frequency is low but it is logically made to be played higher than lower. Better than the opposite (high frequency played lower).