Skip to main content

Wavetable Editor

The wavetable editor is one of the key and most unique features of Vital. It allows you to create complex wavetables by graphically manipulating the waveform, harmonics, and phases.

In the editor, you can stack multiple waveforms ("sources") and alter them in a variety of ways using "modifiers."

Keyframes are used to create the single waveframes that constitute the wavetable, which are morphed between using the frame scroller.

See the Oscillators section for how to use the wavetables you create in the wavetable editor.

Wavetable Editor
danger

There is no undo/redo functionality in the wavetable editor. Be sure to save your work often.

Presets

Wavetable Editor Presets

The Presets menu allows you to load, save, favorite, and search for wavetables. To see where these are saved on your system, right-click on a preset and select Open File Location.

The "hamburger menu" gives you options to save, import, and export wavetables. Click on Synthesize Preset to Table to convert the current editor settings to an audio file source

Keyframes

Each keyframe is an editable setting that you can position on the timeline. When using multiple sources and modifiers, you can have multiple keyframes occupying a single point in time. These will be combined to produce a single waveform.

You create a wavetable by creating multiple keyframes distributed horizontally across the timeline. These can be morphed between using the frame slider on the oscillator. You can preview the wavetable by playing and dragging the playhead across the top of the timeline.

Keyframes
Wavetable with 9 keyframes, two of which are stacked. The active one is highlighted in purple.

Editing keyframes:

  • Add a keyframe: double-click on the timeline.
  • Remove a keyframe: Right-click and choose Remove Keyframe
  • Reposition a keyframe: Click and drag to the desired location.

Sources

There are three types of sources you can use to create a wavetable: Wave, Line, and Audio File.

Wave source

Wave sources allow for the editing of both the time and frequency domains.

Wave Sources

Choosing a new wave source:

  • Click Add Source > Wave Source: This will give you a blank wavetable.
  • Preset menu: Choose one of the presets that happens to be a wave source. There is no way to tell from the presets browser which are wave sources and which are not. You will have to load them to see.

Wave source editor

Wave Source Editor

The top portion of the editor is the Wave Source Editor. You can draw the waveform by clicking and dragging. The grid provides a way to snap the drawing to certain quantized values. It can be enabled or disabled and adjusted using the Grid X/Y controls.

Right-click on the waveform to access the following options:

  • Clear: Clear the waveform.
  • Flip Vertical: Flip the waveform vertically (along the x-axis).
  • Flip Horizontal: Flip the waveform horizontally (along the y-axis).

Blend modes

The blend modes determine how the waveforms are interpolated between keyframes.

There are two blend modes, each with a normal or "smooth" version. The smooth versions are higher quality and use cubic interpolation instead of linear, but may use more CPU:

  • Waveform Blend: Interpolates amplitudes of waveforms for transitions in the time domain.
  • Spectral Blend: Interpolates amplitudes and phases of harmonics for transitions in the frequency domain.

Bar editors

Bar Editors

There are two bar editors that control parameters related to the harmonics.

  • Harmonic Amplitudes: The top bar editor allows you to adjust the amplitudes of the waveform's harmonics.
  • Harmonic Phases: The bottom bar editor allows you to adjust the phase of the waveform's harmonics.

Click the gear icon in the upper left to see the view options:

  • Power Scale: Adjust the harmonics' amplitudes using a logarithmic scale. We perceive changes in amplitude logarithmically, so this allows for more natural adjustments.
  • Amplitude Scale: Adjust the harmonics' amplitudes using a linear scale.
  • Zoom: Choose different zoom levels for both the amplitudes and phases. You can also use your mouse wheel or trackpad to zoom in and out.

Line source

Line Source Editor

A line source is similar to a wave source, but only allows editing in the time domain, not the frequency domain.

In the image, there is also a waveform (a sine wave) stacked on top of the line source, so you can see how the line source (purple) will affect the wave source (grey).

You can add breakpoints by double-clicking.

Right-click and you will get the following options in the context menu:

  • Remove Point: Remove the point.
  • Enter Point Phase: Manually enter the phase of the point.
  • Enter Point Value: Manually enter the amplitude of the point.
  • Flip Vertical: Flip the line vertically (along the x-axis).
  • Flip Horizontal: Flip the line horizontally (along the y-axis).

The Pull Power value determines how much the line source will pull the waveform's harmonics towards it.

To add a new line source:

  • Click Add Source > Line Source.

  • Preset menu: Choose one of the presets that happens to be a line source. There is no way to tell from the presets browser which are line sources and which are not. You will have to load them to see.

  • From the Voice tab:

    • Copy-Paste LFO to Wavetable: From the Voice tab, copy an LFO and paste it into the oscillator via the context menus. This will be editable as a line source:
    Copy-Paste LFO to Wavetable
    Copy-Paste LFO to Wavetable

Audio file source

Audio File Source Editor

You can also use an audio file (sample) for a source.

To load an audio file:

  • From the wavetable editor:
    • Preset menu: Choose one of the presets that happens to be an audio file source. There is no way to tell from the presets browser which are audio file sources and which are not. You will have to load them to see.
    • Choose Synthesize Preset to Table from the wavetable menu (next to the preset selector). This will turn whatever is in the editor into an audio file source.
    • Drag-and-drop an audio file from your system onto the waveform overview (the small purple window).
  • From the Voice tab:
    • Text to Wavetable: Right-click on the waveform of the oscillator and choose Text to Wavetable to convert text into an audio file source.

    • Resynthesize Preset to Wavetable: Convert all of the settings from the preset into an audio file source which will automatically be pasted into the oscillator.

    • Drag-and-drop an audio file from your system onto the wavetable of the oscillator:

      Drop Sample on Oscillator

      When your mouse hovers over the wavetable, you are provided with 3 options: Wavetable, Vocode, and Pitch Splice. The settings (explained below) will be different depending on which you choose:

      1. If you drop on Wavetable:

        Drop Sample on Oscillator
        • Window Size: 2048.0 samples
        • Blend Style: Spectral
        • Phase Style: None
      2. If you drop on Vocode:

        Drop Sample on Oscillator

        Vital will attempt to detect the pitch of the audio file and set the window size accordingly. The other settings are:

        • Blend Style: File Blend
        • Phase Style: Vocode
      3. If you drop on Pitch Splice, Vital will attempt to detect the pitch of the audio file and set the Window Size accordingly. The other settings are:

        Drop Sample on Oscillator
        • Blend Style: File Blend
        • Phase Style: None
        note

        If Vital did not correctly detect the pitch of the audio file when importing, you can manually enter the correct pitch in the Window Size using the letter name and octave (e.g., "C4").

The settings for importing as Wavetable, Vocode, or Pitch Splice are as follows:

  • Window Size: The size (in samples) of the keyframe window. Changing this will also change the pitch. You can also type in a note name and octave to set the window size to that pitch.
  • Window Fade: The proportion of the window size that is used for blending or fading between adjacent keyframes. The range is from 0 to 1, where:
    • 0 means no fading is applied, resulting in a hard cut between keyframes.
    • 1 means the entire window size is used for fading, resulting in a smooth transition between segments.
  • Blend Style: The style of blending or fading to use between keyframes.
    • Spectral: Blend the amplitudes and phases of the harmonics.
    • Time: Blend the amplitudes of the waveform.
    • File: Blends one segment of the wave with another using a windowed overlap technique. It applies a fade effect to smoothly blend the overlapping segments, ensuring smooth transitions and avoiding discontinuities.
  • Phase Style: The style of phase assignment to use for the frequency components.
    • Clear: Use a non-random pattern for the phases. Specifically, alternating phases of π2-\frac{\pi}{2} and π2\frac{\pi}{2} are assigned to the frequency components. This can help in creating a consistent phase relationship across the waveform.
    • Vocode: Assign random phases to the frequency components. This can create a vocoder-like effect. The random phases are generated using a random number generator seeded with a specific value to ensure reproducibility.

Modifiers

Each source can have one or more modifiers applied to it. These modifiers can be used to manipulate the waveform in various ways.

Phase shift

Phase Shift Modifier

The Phase Shift modifier manipulates the phase relationships among a wavetable's harmonic components to achieve various timbral effects. By selecting a Phase Style and controlling the Mix, it can produce harmonic shifts, alternate even/odd phase patterns, or clear all phase differences. Interpolating between keyframes allows for dynamic phase evolutions across the wavetable.

Phase Styles:

  • Normal: Applies a harmonic phase shift cumulatively up the harmonic series. Each harmonic is shifted by a phase offset that increases progressively.
  • +Even/-Odd: Applies different phase treatments to even and odd harmonics. Even harmonics receive a positive phase shift, while odd harmonics receive a negative phase shift.
  • Harmonic: Uniformly shifts the phase for all harmonics directly by a specified phase offset. This results in a consistent phase shift across all harmonics.
  • Harm +Even/-Odd: Combines harmonic-based phase shifts with separate handling of even and odd harmonics. Even harmonics are shifted by one phase offset, while odd harmonics are shifted by another.
  • Clear: Clears all phase information, making all harmonics in phase. This results in a waveform where all frequency components have the same phase, effectively removing any phase differences.

Use the Mix slider to blend between the original and modified phases.

Wave window

Wave Window Modifier

Wave Window modifiers apply a chosen windowing function to the beginning and end of a waveform, tapering its amplitude based on the values of the Left Position and Right Position. Different window shapes (Raised Cos, Half Sin, Linear, Square, or Wiggle) produce various slopes and transitions. By interpolating between keyframes, users can animate the window size and shape over the wavetable, influencing how the waveform's amplitude envelope evolves dynamically.

The different window shapes apply various tapering functions to the beginning and end of a waveform:

  • Raised Cos: Applies a cosine-based window function, creating a smooth rise and fall in amplitude.
  • Half Sin: Uses a half-sine wave to taper the amplitude, resulting in a smooth, sinusoidal transition.
  • Linear: Applies a linear ramp function, creating a straight-line transition in amplitude.
  • Square: Creates a sudden step change in amplitude, effectively turning the waveform on or off abruptly.
  • Wiggle: Applies a more complex, wiggly shape to the amplitude transition.
  • Left Position: Determines the position of the window function's left edge, controlling where the tapering begins.
  • Right Position: Determines the position of the window function's right edge, controlling where the tapering ends.

Frequency filter

Frequency Filter Modifier

The Frequency Filter modifier changes the harmonic content of a wave by applying frequency-domain filtering:

  • Low Pass: A low-pass filter allows frequencies below a certain cutoff point to pass through while attenuating higher frequencies.
  • Band Pass: A band-pass filter allows a range of frequencies centered around a cutoff point to pass through while attenuating frequencies outside this range.
  • High Pass: A high-pass filter allows frequencies above a certain cutoff point to pass through while attenuating lower frequencies.
  • Comb: A comb filter creates a series of notches or peaks in the frequency spectrum, producing a comb-like pattern of frequency attenuation and reinforcement.
  • Cutoff (0 to 10): The point at which the filter begins to take effect, determining the point at which frequencies are attenuated or allowed to pass through.
  • Shape (0 to 1): Controls the slope or steepness of the filter's attenuation curve. It determines how sharply the frequencies are attenuated around the cutoff frequency.
  • Normalize: When enabled, the filter's output is normalized to prevent clipping and ensure consistent amplitude levels across the wavetable.

Slew limiter

Slew Limiter Modifier

The Slew Limiter modifier applies slew-rate limiting to the wavetable's time-domain signal, controlling how quickly the waveform can rise or fall per sample. By adjusting the Down and Up Limits, you can achieve smoother transitions and reduce harsh dynamics in the resulting sound:

  • Down Limit (0 to 1): The maximum rate at which the waveform can decrease in amplitude per sample. A value of 0 means no downward slew limiting, while a value of 1 imposes the maximum limit.
  • Up Limit (0 to 1): The maximum rate at which the waveform can increase in amplitude per sample. A value of 0 means no upward slew limiting, while a value of 1 imposes the maximum limit.

Wave folder

Wave Folder Modifier

The Wave Folder modifier applies a nonlinear wave-folding effect to a wavetable's time-domain waveform. By scaling and folding the waveform through sine and arcsine functions, it adds harmonic complexity and can create interesting timbral variations. Adjusting the fold Multiply parameter in keyframes and interpolating between them allows dynamic control over the amount of wave folding across the wavetable:

  • Multiply (1 to 32): The amount of wave folding applied to the waveform. Higher values result in more pronounced folding and increased harmonic complexity.

Wave warp

Wave Warp Modifier

The Wave Warp modifier allows nonlinear reshaping of a waveform by warping it horizontally (time-axis) and vertically (amplitude-axis). You can set warp powers (X Warp and Y Warp) and choose symmetric or asymmetric transformations, creating a wide range of waveform distortions. Interpolation between keyframes and these nonlinear transformations can produce evolving, dynamic waves that move beyond simple linear scaling.

  • X Asymmetric (on/off): Controls whether the horizontal warping is applied asymmetrically.

    • When on, the transformation differs for values on different sides of the waveform.
    • When off, the transformation is symmetric around the center point.
  • X Warp (-20 to 20): Controls the strength of the horizontal (time-axis) warping. Positive values stretch the waveform horizontally, while negative values compress it.

  • Y Asymmetric (on/off): Controls whether the vertical warping is applied asymmetrically.

    • When on, the transformation differs for positive and negative amplitude values.
    • When off, the transformation is symmetric around the zero amplitude.
  • Y Warp (-20 to 20): Controls the strength of the vertical (amplitude-axis) warping. Positive values stretch the waveform vertically, while negative values compress it.