Besides allowing you to precisely specify the value of each point in the wave, it also includes a Javascript interpreter which allows you to programatically specify the wave shape and/or wave set.
This is a JavaFX app and therefore requires Java 1.7+ to be installed (I've tested it on my Mountain Lion MacBook Pro). The JAR should be available here: https://www.dropbox.com/s/aftqm5zudmdk9 ... lender.jar
You should be able to start the app just by double-clicking it if you have the necessary Java runtime installed.
Once started, usage should be relatively straight-forward:
* To change individual values, click on the 'Table' tab of the relevant wave. Double-clicking the current value will bring up an editor. Just hit Enter when done. Your changes will be reflected in the wave's chart.
* To specify a wave shape programatically, simply type in a Javascript function in the text area below the chart, and then hit 'Apply Function'. Pretty much the only rule for this function is that it must return a float value. The simplest function would therefore be the following
Code: Select all
return 1;Code: Select all
indexThe following function will draw a sine wave
Code: Select all
return Math.sin(2 * Math.PI * index / 128);Code: Select all
if ((index % 2) == 0)
return 1;
else
return 0;Code: Select all
if ((index % 2) == 0)
return return Math.sin(2 * Math.PI * index / 128);
else
return return Math.sin(2 * Math.PI * index / 64);The 'Global Function' tab allows you to provide a function which will generate values for each of the 16 waves in the wave set. This function is provided with an additional integer variable called
Code: Select all
waveOnce you have applied your function(s), you can tweak the resulting values back in the 'Table' tab.
Finally, when you're happy with your wave set, you can export the result to a Zebra OSC preset using the Save button (remember to specify the h2p extension). This should be saved to the OSC presets location. On a Mac, that would be /Library/Application Support/u-he/Zebra2/Modules/Oscillator/
-- Update 0.02
Fixed GeoBlend & SpectroBlend buttons. Patches will now select the correct mode in Zebra / Zebralette.
-- Update 0.03
Added 'Import Image' button to each wave. This feature transforms images (png's, jpg's, etc) into waveforms. At present this is done by searching for the location of the highest (positive) or lowest (negative) *black* pixel in the center of each of the 128 'blocks' across the width of the image. Optimal images, therefore, are black & white (not grayscale) and have width which is a multiple of 128 pixels (a width of exactly 128 would be most accurate). The following image isn't an exact multiple of 128, but it turned out fine: https://www.dropbox.com/s/v5tscylc3xt7jdq/sine.png
-- Update 0.04
Added folder 'memory'. At the moment, Mountain Lion seems to do its own thing, which is fairly intelligent, but it shares the 'most recent' folder with all FileChoosers in the application. Windows should persist folder locations across sessions as well.
-- Update 0.05
Added 'Load' functionality. Currently can only load patches created with ZebraBlender
