Introduction
Wavespace is a wavetable synthesis framework which enhances user control over timbre by exploring a high-dimensional space. As a single point in the space corresponds to one waveform, it generates wavetables with waveforms in smooth transition.
Wavespace offers adjustable timbral parameters, including style and descriptor. Style is a set of waveforms that coherently represent a particular abstract timbre, such as a bottle blow or growl, and the descriptor is an auxiliary timbral feature such as brightness, richness, or fullness. These two are distinct concepts, as style offers an abstract concept of a timbre while the descriptor is applied thereafter for detailed timbral controls within a specific style setting.
As shown in Figure 1, The latent space is factorized into several unique 2D style subspaces. Waveform is encoded to these subspaces, and the latent point in each subspace represents a proportion of each style. To obtain a desired wavetable, users can start from an initial setting or by encoding a waveform, then adjust parameters to transform the output waveform. This morphing is what we call space exploration.
For a precise example, to add the style assigned to W1, users can adjust parameters from the unconditioned area to the conditioned area positioned at each corner of the subspace W1. While crossing through these two areas in subspace W2 produces slightly different waveforms in the same level of style assigned to W2. Once style settings are complete, increasing the parameter in descriptor Wbrightness adds more brightness as a spectral feature. The number of conditioned areas and each of their position can be more than one, based on customized settings. The smooth morphing allows grained parametric controls as well as the existing wavetable's interpolation feature.
Technical Details
Wavespace's framework is technically achieved by learning the latents variationally based on the conditional variational autoencoder. Readers can find detailed information from our paper here.
Readers can also access the implementation on Github.
Synthesizer
Readers can try the synthesizer based on Wavespace; the download link is provided here.