Joel Matthysupdate help filea92c69110 years agoHistory
87 lines · 2.3 KB · Text
RawDownload
////////////////////////////////////////////////////// Wavetable - User-definable Wavetable with      ////            various interpolation algorithms    ////                                                //// by Joel Matthys                                //// (c) 2016, GPL 2.0                              ////                                                ////////////////////////////////////////////////////////// Settings:// freq (float): set frequency// interpolate (int): 0 = no interpolation//                    1 = linear interpolation//                    2 = cubic interpolation//                    3 = Hermite interpolation// setTable (float[]): associate a ChucK array with the Wavetable instrument// sync (int): 0 = connected input UGen controls frequency//             1 = connected input UGen (usually Phasor) controls phase//             * see input-test.ck for examples//// By default the Wavetable instrument uses a 2048-point non-interpolating sine table. Wavetable w => dac => WvOut rec => blackhole;"test" => rec.wavFilename;0.8 => w.gain;440 => w.freq; <<< "built-in sine table, non-interpolating", "" >>>;2::second => now; w =< dac;ms => now;w => dac; // Using a ChucK array as a wavetable[-1.0, -0.5, 0, 0.5, 1, 0.5, 0, -0.5] @=> float myTable[]; w.setTable (myTable);// ChucK array "myTable" is now associated with the w Wavetable instrument.<<< "Using array myTable as the wavetable", "">>>;<<< "Non-interpolating", "">>>;2::second => now; w =< dac;ms => now;w => dac; 1 => w.interpolate; // Linear Interpolation<<< "Linear interpolation", "" >>>;2::second => now; w =< dac;ms => now;w => dac; 2 => w.interpolate; // Lagrange interpolation<<< "Lagrange interpolation", "" >>>;2::second => now; w =< dac;ms => now;w => dac; 3 => w.interpolate; // Cubic interpolation<<< "Cubic interpolation", "" >>>;2::second => now; w =< dac;ms => now;w => dac; 4 => w.interpolate; // Hermite interpolation<<< "Hermite interpolation", "" >>>;2::second => now; w =< dac;ms => now;w => dac; <<< "Modifying the wavetable on the fly!", "">>>;// Any changes to myTable will change the waveform!myTable.size() => int tabsize;repeat (15){	Math.random2f(-1,1) => myTable[Math.random2(0,tabsize-1)]; // randomly change one of the values in the table	1::second => now;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t