Table Filter (mip-map creator)
Pre-filters a wavetable to prevent aliasing (Table Osc Mod included)
DESCRIPTION
New version:
- Added Compression and Windowing, for the porpuse of creating granular-like wave-tables. (also works on traditional tables)
- Possibility to turn-off the DC remover.
- "Read Offset" to exclude the first waves. Typically when an audio file is used.
- "Target Table" accessible on Front Panel.
- No need to connect anything in the filter macro to convert a 512 point table to 1024 anymore.
- "Pre-Listen" option.
- various improvements (the Lowest Significant Tap was inactive, better normalize calculation,...).
- Lighter download.
- "Original - Oki" and "Original - Carbon (de-mip-mapped)" included (the non-filtered version of these tables).
-----
Edit: a more complete version of the modified Table Oscillator (with fades-in/out + more) is available here: https://co.native-instruments.com/index.php?id=userlibrary&type=0&ulbr=1&plview=detail&patchid=13362
-----
The goal here is to create, from a simple wave table, a prefiltered table.
It creates multiple versions of the original table, each one being more and more low-pass filtered, and put them in a single final table.
Once read by the modified Table Oscillator (included), it switches betwen each sub-table depending on the note played and the S.R.
The goal is to prevent aliasing.
This classic technique is called mip-mapping.
Here, this is not the drop-sample version, each sub-table having the same length.
This version creates tables that are 5 times bigger than the drop-sample version, but it is used in the Table Oscillator Mod to cross-fade betwen sub-tables by cross-fading only the 4 samples BEFORE the interpolator to gain CPU consumption.
Not implemented in the test oscillator of this download because the result is so perfect that even at 48 KHz, and using strong Pitch Bend modulation, the click heared while jumping from a sub-table to another is very quiet.
Keys:
- Phases of each partials are the same in each sub-tables
- Amplitude of each partials are the same in each sub-tables, except, of course, the filtered out octaves.
- FIR filtering used, based on a Salamanderanagram ensemble created in a nireaktor.com tutorial.
The taps coefficients are wrapped around and the symetry is used so that the actual number of taps is 1/2 the number of point in a single cycle wave (ie 512 taps for a 1024 point wave), even when filtering the lowest octave with 30721 "virtual" taps.
- Automatic DC remover
- Semi-auto Normalize fonction.
- Possibility to create a table from multiple tables.
- Possibility to convert a 512 point length wavetable to 1024 point length.
- Audio files can be loaded instead of classic tables, to create granular-like prefilterd wavetables.
- Works in 64 bit precision.
- Included a bunch of windowing fonctions to extend your creativity !
When Saving/loading the created table:
- .txt format won't need to have been normalized but will have, apparently, a more limited total length than .wav format.
Procedure explained on front panel.
Ensemble created by Romain Gervais, based on the FIR Filter Designer created by Salamanderanagram in a tutorial on nireaktor.com.
Contains some window fonctions based on "Polynomial interpolators for high-quality resampling of oversampled audio" by Olli Niemitalo.
Contains high resolution Sin/Cos macros from Jan Brähler.
COMMENTS (3)