SYNTHEDIT MODULES:

   These modules are offered as they are made available and include previous versions for compatability.

download april 2009 sem update

   An assortment of new modules faster to add as a group :)

5bpfs 5 band pass filters, 5 in/outs
5bpfsa 5 band pass filters applied to one signal
bwg9 9 band banded waveguide
decimals5 separate outputs for 5 decimal places
flow switch4/8 outputs volts for flow control for last gated input
latch3 output goes high on clock pulse after gate
latch4 10v output goes to 0v on gate until next clock pulse
m-s simple 1st order mass-spring
rnd mix/rnd sel pulse driven randomised many>1 modules set by % value
stoq0 stochastic impulse train generator
stoq1 above mk. II

download dsp pack

 algorithmic:
seed4 generates recallable sequence of seed values
seed6 generates recallable sequence of seed values
seeds4 generates 4 seed values
seeds8 generates 8 seed values
seeds12 generates 12 seed values
seeds16 generates 16 seed values

 clocks and counters:
clock1 simple pulse clock with reset pin
clock2 pulse clock with randomisation
count counter with gate and reset pins
count3 counter adds interval, loop, wrap, and start pins and loop pulse out
count4 adds bounce mode, improved
regular outputs a pulse for every nth pulse received
regular2 adds ability to limit number of pulses output until reset
segments similar to regular with randomisable increment value
wakegui outputs a pulse when input signal changes with rate ceiling

 effect:
accum created for tracking the speed of joystick movement. output voltage increases with modulation.
allpass 1-pole allpass to complement native 2-pole (frequency dependent phase response - view sawtooth osc with scope)
allpass res unoptimised. simple multitap delay with damping and allpass for easy resonance modeling.
cos unoptimised. simple cosine module.
drift smooths modulation with separate 'down' and 'up' rates
plate1 simple rectangular algorithmic reverb. denormals :)
softsides independent high and low limiting (limit = 1v past threshold)
softsides2 adds variable squishing amount
spring1 simple spring reverb emulation. also denormals :)
verb5s/6m
/8m/10apm
four simple algorithmic reverbs. not the best but perhaps useful somewhere

 envelopes:
env1 a simple 0-10v when triggered. my first sleeping envelope so hopefully okay.

 logic:
gate switch 2>1 control voltage switch operated by two gate pins
gate toggle toggles cv signals between two destinations
latch outputs pulse on first gate on or after reset. must be reset before new pulse
latch2 output stays high on gate until reset
NO gate outputs 10v if first pin is > 0v unless 2nd pin is > 0v
toggle gate switches 10v signal between two outputs

 oscs:
brush impulse cluster modeler
gravity attractor based oscillator
msres1 1st order mass-spring resonator (creates decaying sine)
msres2 2nd order mass-spring resonator with reflective bounding for modeling impulses and percussion
msres2sync adds sync pin
msres3 3rd order mass-spring resonator (no limiting)
msres7 7th order resonator, perhaps useful for bell synthesis
noise3 syncable noise source (clips)
noise4 syncable noise source (doesn't clip)
noise5 syncable cz101 style noise source (pulse output)
noise6 syncable sawtooth oscillator with randomised frequency per wavecycle
noise6si as above with sine waveform
noise6sq as above with square waveform
osc7sq 7 low-cpu squarewave oscs for analog hihat emulation (hipass for 808)
perfecto 2 cross-modulating oscs with very high cpu (my first for audio)
t osc attractor based oscillator

 sequencing:
phase seq produces gate signals for 8 phase locations (Phase Seq VST)
pulse to gate transforms pulses into timed multitriggers
serial an indexable 16 step sequencer
stepseq a clocked 16 step sequencer with reset to step
word seq1 passes up to 12 input voltages at specified times, for sequencing phonemes

 special:
cz101ms converts 0-99v to cz101 envelope times
volts to note info splits pitch voltage for note name animations


download waveguides
boing bowed string waveguide
brush impulse cluster modeler
cylinder33 * waveguide drum module
fauna fauna vsti dsp bore
kl tract * kelly-lochbaum vocal tract module
oscine tract songbird vocal tract waveguide
pling peq plucked string waveguide with inline parametric eq
reed5c 1st order reed with 1 register hole and inline parametric eq
snare1 * cylinder33 with 4 'snare' vectors
sym5p 5 channel fdn with parametric eq

Donations via paypal are appreciated!




WAVEGUIDE PACK NOTES

* These sems can produce > 100% feedback which can create very loud signals very quickly. A limiter is recommended for the signal chain when patching and building with these sems.

   I have not distributed the .se1 files associated with these sems because they generally contain many commercial 3rd party sems. If you have any questions regarding input values, please use the contact page.

   Use of waveguide sems in commercial releases is permitted only with a credit to www.xoxos.net in the documentation or on the product webpage.

   Source files for all sems are available on request.




CREATING YOUR OWN SEMS

   This is how to set up the SDK with Borland's free compiler, Free Command Line Tools:

   Place the synthedit SDK folder inside ..\Program Files\Synthedit\

   Inside the SDK folder, create a shortcut (right click > new > shortcut) to cmd.exe (the DOS command window). If your XP install is like mine, the 'Target' field is %SystemRoot%\system32\cmd.exe

   To create a sem, open the bc_make.bat file (Borland Compiler Makefile) with Notepad and replace 'se-gain' with the name of the module you wish to create.

   Edit Module.cpp with Notepad to add your code and Module.h (header) to add your variable declarations.

   If you don't already know C++, I recommend "C++ A Beginner's Guide" by Herbert Schildt, currently $8 to $16 at Amazon. The first 300 pages are enough to implement audio processing.

   To compile a module, double-click on the shortcut to run the command window. To go into a folder, type cd foldername [enter] and to exit a folder, type cd ..\ [enter]

   Navigate into the folder for the module you want to compile and type bc_make [enter]

   This performs the same action as executing the bc_make.bat file by clicking on it.

   The DOS window will display error messages or a confirmation that the file has been created and copied successfully. If it's a simple module, the whole process might not take you more than two minutes.






   Here's a replacement for the default background useful for positioning GUI elements.




PDF of physical modeling algorithms

   'Elements of Physical Modeling' presents elementary code examples that have worked for me (they're not guaranteed beyond that). These routines can be combined with an elementary knowledge of coding and any sdk to produce waveguide acoustic models.

Elements of Physical Modeling







Here's some quick .gifs to illustrate adapting the se_gain2 script to make your own modules:

(Note that this is one of my first modules, so don't copy the code! I used this example because it shows how to implement a function and how to modify the se_gain2 example to make your module stay awake.)



HEADER FILE: (Module.h)






MODULE.CPP:





original content © 2008 xoxos · all rights reserved