Profile PictureWavetables.lol
$5

KRC Orchestral Impressions Wavetables

1 rating
Add to cart

KRC Orchestral Impressions Wavetables

$5
1 rating

KRC Orchestral Impressions is a somewhat experimental wavetable project that explores creating wavetables from audio samples--a process I call "timbral extraction." Unlike the sample import/conversion tools included in some wavetable synthesizers, the techniques I'm exploring here favor sample fidelity over phase coherence.

Also, my script-based approach works on samples in bulk, allowing the relatively quick conversion of thousands of files so we can get to the fun stuff -- exploration and sound design -- without endlessly fiddling with import settings, manual phase adjustments, etc.

Like my KRC Mathwaves wavetable library (the world's largest collection of wavetables, created via mathematical processes), KRC Orchestral Impressions is an ongoing project that will see additions and enhancements over time.

So, come along with me and explore the fascinating world of "acoustic" wavetables! At an intro price of just $5, it's more wavetable synthesis fun than you can shake a conductor's baton at!

Watch my YouTube video about KRC Orchestral Impressions above, or here on my YouTube channel for an introduction.

WHAT YOU GET WITH KRC ORCHESTRAL IMPRESSIONS

This initial version of KRC Orchestral Impressions includes:

  • A total of more than 38,000 wavetables created with "version 20" of my first-generation timbral extraction technique, based on the open source VSCO and VSCL orchestral libraries.
  • Multiple frame-size variations per sample. Each sample is converted to 64, 32, 16, 8, 6, 4, and 3-frame wavetables. Higher frame count versions preserve more of the temporal aspects of the source sound, but don't always smoothly morph across the wavetable. Lower frame-count versions lose temporal detail, but are often more phase-coherent and retain the "essence" of the source. They are also much smaller and so are more friendly for use in hardware wavetable instruments like Korg's modwave and multi/poly.
  • The entire wavetable collection in multiple formats:
    • Korg modwave and modwave native .mwbundle and .korgwavetable
    • Korg multi/poly and multi/poly native .mpbundle and .korgwavetable
    • Serum/Vital/Pigments (and similar synths) 2048 sample-per-frame .wav
    • Surge X/T and Bitwig .wt format
    • Kilohearts Phase Plant 256-frame flac format
    • WaveEdit 64-frame, 256 sample-per-frame .wav format for Eurorack and other hardware synths
  • A Python script that you can use to process your own collections of samples using my timbral extraction technique. New versions will be released as I find improvements, make optimizations, and experiment with new techniques.

The source material for this wavetable library comes from the VSCO and VCSL open-source (CC0 - completely open) orchestral sample libraries, which you can also download to get the original samples!

WHAT'S THE BIG IDEA HERE, ANYWAY?

I'll be honest: I've long said that I'm not really a fan of creating wavetables from samples. I feel that, for the most part, it's better to compute wavetables from mathematical formulas, spectral synthesis techniques, or what we might call geometric (time domain/shape) techniques. Those approaches allow us to design new types of oscillators, create unusual waveforms that might never have been heard before, and do so with the ultimate in fidelity. And that's what my KRC Mathwaves project is about.


“If you want the sound of a damn sample, use a damn sampler!” -- Me


Also, while the sample-to-wavetable tools included in various wavetable synthesizers can be powerful (I'm particularly impressed with the wavetable editing and creation tools in Phase Plant), they don't typically offer bulk sample import and conversion facilities. You gotta do it sample-by-sample. And, as I'm fond of saying, "Ain't nobody got time for that."

Personally, I like to generate a big collection of potentially interesting sound sources and then go "crate digging" for interesting ideas. That's just how I roll.

Additionally, the most common solutions to creating "good sounding" sample-to-wavetable conversions tend to sacrifice sonic fidelity for phase coherence. Conversions can often sound "watery," "swimmy," or otherwise weird.

"But of course," another part of my mind says, "you could explore sample to wavetable conversion in your own way... on your own terms... and explore your own ideas..." And that's just what I'm doing here with KRC Orchestral Impressions. Note again that this collection will change over time to reflect new approaches!


“On the other hand, this is a fun synthesis technique to explore.” -- Also Me


TECHNICAL GEEKY STUFF

So, I did some research on the common methods that might be used to convert samples to wavetables, keeping in mind my own requirements. There are two basic challenges in sample-to-wavetable conversion:

  1. Pitch: A wavetable is simply a collection of single-cycle waveforms, each of a fixed length (2048 samples in modern wavetable synths). We call these the "frames" of the wavetable. To support the maximum number of synths, we should use no more than 64 frames. We need to take the sample, estimate its pitch, then use some method of extracting individual cycles at the correct pitch to create single-cycle waveforms. We then must resample or otherwise convert those individual cycles to be 2048 samples in length.
  2. Phase: Because of natural variations in an audio sample -- pitch changes, vibrato, timbre shifts -- the single-cycle frames selected for our wavetable may have significant phase variations at different harmonics. Unless we get real-real lucky with our cycle extraction, or are clever with our selection of individual waveform frames, we will likely need to do some spectral or time-domain processing of the frames to create a "smooth" wavetable (if that's our goal).

My first approach to these problems uses global pitch estimation and a local pitch track to extract useful (and hopefully seamlessly-looping) cycles from the sample. This is followed by a statistical method -- Kmeans clustering -- and the evaluation of a cost function (which tries to identify the "best" waveform frame for each wavetable position) that evaluates each cycle's distance from a desired centroid as well as phase-suitability vis-a-vis the previously selected frame.

See the video intro at the top of this page for more talky-talk about how this works (and why/when it doesn't), patch ideas, and patch tips.

Add to cart

38,000+ wavetables—provided in all of the major wavetable synth formats—based on orchestral multisamples. PLUS, Python scripts for doing your own sample-to-wavetable conversion and free updates as I explore new techniques! From the mad scientist who brought you KRC Mathwaves, the world's largest collection of wavetables.

Copy product URL
30-day money back guarantee

Ratings

5
(1 rating)
5 stars
100%
4 stars
0%
3 stars
0%
2 stars
0%
1 star
0%