I've been writing the specification documentation for some software my programmer friend, Armz, and I are making (and actually is already in progress this time!) part of which involves making a canonical categorization scheme for audioware plugins in a branching, taxonomic hierarchy.
If anyone wants to fully investigate my rationale for digging deeply into this subject (which, years ago now, inspired me to take a sabbatical from making music with VSts and try to imagine the future of digital audio in a grand, megalomaniacal project) and read in depth about the subject, you can access my FX Categorization Essay Word document on my SkyDrive here (and note that, if you don't use MS Office, its just as easily accessible if you open it in their "web app," and please feel free to add comments by selecting text, right-clicking it, and "Add Comment")here:
Plugin FX Categorization Essay, Synthesis Categorization Essay, Unclassifiable VST FX Essay
Note that it was written long ago, hasn't been edited, and hasn't been updated in the interim.
Now, what I'm here to ask ya'll about is your opinion about audioware plugin categorization.
I'm working from the assumption that, obviously, many plugins could easily be tucked into many more than one category, but that in cases where one has only the space or the time to choose one to label a plugin with, we will use something called the Taxa Branch Identifier, TBI for short.
For instance, the current top tier of taxa are:
Instruments
Effects
Processors
MIDI
Utilities
Now anyone who has ever read anything I've written knows I like to digress in endless circumlocutions, but there's no easy way around it when it comes to categorizing the wild zoo of plugins out there (ask Linnaeus). For instance, the term "Instruments" will have to suffice, since "sound generators" is just too clunky. Also, "Audio Effects" are a sub-category of "Audio Processors" but here is defined essentially as "special effects, not equalizers, compressors, and things more considered "engineering tools," though obviously there's no hard demarcation between them.
The "MIDI plugins" category includes things that generate MIDI output (such as sequencers or a "MIDI LFO") and things that filter MIDI messages, such as a "velocity curve" imposing plugin, a MIDI Channel re-router (say, one that takes incoming messages on MIDI Channel 1 and changes them to MIDI Channel 9), etc. "Utilities" is the remainder of plugins that don't fit the prior categories, such as Audio Visualization plugins, Notepad-type VSTs, etc.
If you think there's a better smallish set of top tier categories, give your opinion here.
Now, being taxonomic, each plugin would be categorized into branches, for instance:
Effects > Cross-Modulation FX > Frequency Modulation (FM)
Instruments > Synthesizers > Scanning Synthesis
Instruments > Samplers > ROMpler > Drum ROMpler
Utility > Audio Visualization > Spectrogram
MIDI > MIDI Generators > MIDI Sequencer
MIDI > MIDI Filters > MIDI Polarity Inverter
Here's the provisional list I'm working from (I've a much longer list, but this is enough for now) and I'll stop by to explain why some things get stuck into some categories and not others for general educational purposes.
(edit to insert most recent taxonomy update - I left in the original list, but made it tiny, so subsequent responses still make sense later)
Code: Select all
1) INSTRUMENTS
a. Synthesizers
i. Additive Synthesis
ii. Frequency Modulation Synthesis
iii. Granular Synthesis
iv. Hybrid Synthesis (synths that use multiple synthesis methods)
v. Physical Modelling Synthesis
vi. Ring Modulation Synthesis
vii. Spectral Synthesis
viii. Virtual Analog Synthesis (OSCs & VCOs & usually VCAs thus "Subtractive Synthesis")
1. VA Subtractive
2. VA non-Subtractive? (i.e. doesn't use resonant filters)
ix. Wavedraw Oscillator Synthesis
x. Wavetable Synthesis
1. Scanned Synthesis
2. Image Oscillator Synthesis
b. Samplers
i. Sampler
ii. ROMpler
iii. Looper (of pre-recorded audio, as opposed to live audio input capture)
2) EFFECTS
a. Amplitude Modulation (AM)
i. Amplitude Envelope
1. Swell Effect
ii. Rhythmic Gater
iii. Tremolo
b. Auditomod (audio-analysis as a modulation source)
i. Drum Sample Replacer
ii. Audio-Driven Drum Synthesizer (e.g. Groove Analogizer by NUSofting)
iii. Audio-Driven Synth (e.g. Grumblebum by Tweakbench; sometimes I think of these as "resynthesis fx")
1. Pitch-Tracking Oscillator(s)
c. Buffer Delay Effects
i. Buffer Stutterer
1. Timestretch
2. Repearter/Freezer
ii. Granulization
1. Granulization Delay
2. Grain Cloud
iii. Looper
1. Loaded Loop Slicer/Sequencer
2. Live Audio Input Slicer/Re-Sequencer
iv. Varispeed
1. Tapestop Effect
2. Backwards Playback Effect
3. Varispeed Audio Scrubbing
d. Chorus Fx
i. Chorus
ii. Choir/Ensemble Effect
iii. Voice Doubler
e. Comb & Resonator FX
i. Comb Filter Bank
ii. Resonator Effect
f. Convolution
i. Convolution Reverb
ii. Impulse Response Hardware Emulation
g. Cross-Modulation
i. Frequency Modulation (FM)
ii. Phase Distortion (PD)
iii. Phase Vocoder
iv. Ring Modulation (RM)
v. Spectral Morphing (2-audio input cross-convolution generally)
vi. FFT Vocoder
vii. Time Domain Vocoder
h. Delay FX (likely separate these all into their own categories?)
i. Distortion
i. Clipper
ii. Waveshaper
1. Odd or Even Order Harmonic Distortion via low-order Chebyshev Polynomials (e.g. Soundhack +chebyshev VSTfx)
j. Filter FX (resonant filters and modulated filter effects)
i. Filter Bank
ii. Enveloper Filter
iii. Sequenced Filter
iv. Low Pass Filter
v. Band Pass Filter
vi. Peaking Filter (Band Pass Plus)
vii. Bend Reject Filter
viii. Notch Filter
k. Flanger FX
l. Formant FX
i. Formant Filter
1. Vowelizer
ii. Formant Shifter
m. Frequency Shifters
i. Pitch Shifter FX
1. Harmonizer
2. Pitch Correction (auto-tuner)
3. Flutter Correction (possibly should be in Processor Taxa?)
4. Octaver
ii. Vibrato
n. Hardware Simulators
i. AmpSim
ii. SpeakerSim
1. Leslie Speaker Effect
iii. MicSim
iv. TubeSim
v. TapeSim
o. Lo-Fi Effects
i. Bitcrusher (almost all Bitcrusher FX include Sample Decimation)
ii. Sample Decimation
iii. Vinylizer
p. Multi-Fx Unit
q. Panning Effects
i. Autopan
ii. Rotary Effect
iii. Doppler Effect
r. Phaser FX
s. Physical Modeling FX (not sure if these belong together or sorted based on end result?)
i. PM Plate Reverb
ii. PM Analog Circuit Model Emulation of Gear?
iii. PM String Resonator
t. Reverb FX
i. Instrumental Resonation Emulation (e.g. acoustic guitar soundboard simulation)
u. Resynthesis FX
i. Subharmonic Enhancement (adds bass synth to original signal)
ii. Resynthesizer (various types, e.g. Additive, simple audio-tracking synth trigger, see Bojo Software's WaveChanger 3 VSTfx, DFX Geometer VSTfx or Lost Technology VSTfx)
v. Spatial Effects
i. Binaural 3D
3) PROCESSORS
a. AGC (Automatic Gain Compensation)
b. Bass Enhancement
c. Channel Strip (multi-processor equivalent to multi-fx)
i. N-Track Mixer
d. Dithering
e. Dynamics Processors
i. Compander
ii. Compressor
iii. Expander
iv. Limiter
v. Maximizer
vi. Transient Shaper
vii. Dynamic EQ
f. Equalizers (EQ)
i. Graphic EQ
ii. Parametric EQ
g. Exciter
h. Filter Processors
i. Filter Bank
ii. Multi-Filter (multiple filter types)
iii. Low Pass
iv. High Pass
v. Band Reject
vi. Band Pass
vii. Peak Filter
viii. Notch Filter
i. Latency Compensation Delay
j. Noise Removal
i. De-Clicker
ii. De-Esser
iii. De-Noiser
iv. De-Clipper
v. De-Crackler
vi. De-Hisser
k. Normalization
l. Phase Correction
i. Vocal Remover
m. Routing Audio
i. Audio AUX Bus (see MixBox VST by Tobybear)
ii. Modular Routing Matrix
iii. Stereo Splitter (to two mono channels)
iv. Multiband Splitter
v. Multiband Joiner (e.g. 3-Band Joiner VST by LOSER/Michael Gruhn)
vi. Cross-Fader(s)
vii. Crossover Multiband-Splitting to separate channels
viii. Audio Summing Bus
ix. Stereo Merger (two mono inputs into one stereo channel, useful for example for vocoder plugins that expect their two inputs on either side of a stereo pair; see Merger VST by Expert Sleepers)
x. Transient-detecting Output Switcher (switches output channel each time a transient is detected in the input audio; see SwitcherPack by RedShift Media)
n. Saturation
o. Stereo Field Processing
i. Stereoizer (from a mono input)
ii. Monoizer
iii. Stereo Width Processor
iv. Mid-Side Processors
1. M/S Encoder
2. M/S Decoder
4) MIDI
a. MIDI Generators
i. Audio Analysis as MIDI Note Message Source
1. Audio Gate for Piezo Drum Pads (e.g. Drum Direction by FrettedSynth)
2. Pitch-Tracking Note Generator
ii. MIDI Note Generator
1. Piano Roll
2. Step Sequencer
3. Tracker
4. Matrix Sequencer
5. Algorithmic MIDI Note Generator
6. Stochastic MIDI Note Generator
iii. MIDI Modulation Source
1. MIDI LFO
2. MIDI Step Sequencer
iv. MIDI Program Change Messages
v. MIDI SysEx (system exlusive) Messages
vi. MIDI Arpeggiator
vii. MIDI Auto-Chorder
viii. MIDI Algorithmic Note Generator
ix. MIDI Clock output (e.g. Clocker VST by Expert Sleepers)
x. MIDI Stochastic Note Generator
xi. MIDI GUI Interface
1. GUI Instrument Control Surface
a. Piano Keyboard
b. Strum Pad
c. Drum Pads
2. MIDI XY Pad
a. MIDI XYZ Pad
b. MIDI XYZ Pad with Physics Emulation (ricochet, inertia, orbital)
3. GUI DAW Control Surface
a. GUI Mixer
b. Mackie Control Universal GUI
xii. Control Surface for specific External Hardware (synth, MIDI controller, etc.)
xiii. MIDI Morphing (interpolate between two MIDI parameter settings then outputs them, see Middi Morphy VST by d3ck)
b. MIDI Filters
i. Audio-Analysis as MIDI Modulation Source
1. Amplitude to MIDI
2. Enveloper Detector to MIDI
3. Frequency to MIDI
a. Pitch to MIDI
4. Zero-Crossing to MIDI
5. Beat Counter to MIDI Tempo
ii. MIDI Note Filters
1. Force to Range (e.g. octave transposition, or a particular scale/mode)
2. MIDI Note Velocity Control Curve
3. MIDI Arpeggiator
4. MIDI Note Velocity-Controlled MIDI Channel Switcher (see J's VST plugins)
5. MIDI Chord Note-Channel-Switcher (see J's MIDI Tools VSTs)
6. MIDI Note Delay
7. MIDI Note Recorder/Playback/Looper
8. MIDI Note Scale/Mode Quantizing
9. Polyphony Limiter
10. MIDI Sostenuto (Sustain Pedal Simulator)
iii. Channel Rerouters
iv. MIDI to QWERTY (see midi2qwerty VST by piz)
v. CC# Filters
1. MIDI CC Stepper (un-smooths incoming data)
2. MIDI CC Control Curve Remapper/Editor (see NicFit's Control Curve VST)
3. MIDI CC Smoother
4. MIDI CC Re-Router (see MIDI patch bay VST by Daniel Smith Music)
5. MIDI CC Jitter/Humanization/Randomizer
6. MIDI CC Morpher
7. MIDI CC Value Limiter
8. MIDI CC Value Inverter
9. MIDI Aftertouch to CC
10. MIDI Monitor visualization?
5) UTILITIES ("Other")
a. Audio Analyzer/Visualization
i. Spectrogram
ii. Phase Correlation Meter
iii. Peak Meter
iv. Stereoscope
v. Tempo Detector/Beat Counter
vi. Waveform Visualizer
vii. Loudness Analyzer
viii. Oscilloscope
ix. VU Meter
x. Spectrum Analyzer
xi. Sonogram
xii. Bit Depth Meter
1. Inter-Sample Distortion Meter
xiii. Tuner (usually a Guitar Tuner)
b. Audio Recorder
i. N-Track Recorder
ii. Wav File Recorder
iii. Pre-Roll Recorder
c. Controller Integration External HID (to MIDI or automation)
i. ASCII to MIDI
1. QWERTY keyboard to MIDI
ii. Mouse to MIDI
1. 3D Mouse to MIDI
iii. Touch Tablet to MIDI
iv. Wiimote to MIDI
v. Joystick/Gamepad to MIDI
d. Information Feedback Utilities
i. Clock (Bars/Bears/Ticks, Hours/Minutes/Seconds/Frames)
ii. Time Counter (opposite of a Stop Watch)
iii. Sheet Music Display
iv. Notepad
v. Metronome (whether outputs audio ticks or MIDI)
e. External DSP Integration (e.g. MatPlug by IHA, which connects the VST-interface with Matlab)
f. VST Host as VST (e.g. Usine as VST, FL Studio as VST, Acon Digital Media's EffectChainer VST)
(1) "INSTRUMENTS"
(A) SYNTHESIZERS
Synthesizers - Additive Synthesis
Synthesizers - Frequency Modulation Synthesis
Synthesizers - Granular Synthesis
Synthesizers - Hybrid Synthesis (the TBI for anything that utilizes more that one of these other types of synthesis seems the best fit)
Synthesizers - Image Oscillator Synthesis
Synthesizers - Physical Modeling Synthesis
Synthesizers - Ring Modulation Synthesis
Synthesizers - Scanned Synthesis
Synthesizers - Spectral Synthesis
Synthesizers - Virtual Analog Synthesis (usually "Subtractive Synthesis", which really just meant synths with OSCs and VCOs that use VCAs, the "subtractive" part just means "uses filters to shape the sound", though not all VA Synths include filters)
Synthesizers - Wavedraw Oscillator Synthesis
Synthesizers - Wavetable Synthesis (Scanned and Image Oscillator may really be subcategories of this one?)
(B) SAMPLE SYNTHESIS
Samplers
Samplers - Drum Sampler
ROMplers
ROMplers - Drum ROMpler
(both included in only these couple examples to stimulate feedback)
Loopers
(2) "EFFECTS"
(A) AMPLITUDE MODULATION FX
Amplitude Modulation - Tremolo
Amplitude Modulation - Amplitude Envelope
Amplitude Modulation - Amplitude Envelope - Swell Effect
Amplitude Modulation - Rhythmic Gater (as opposed to the Gate Processor type)
(B) BUFFER DELAY FX
Buffer Delay FX - Varispeed
Buffer Delay FX - Varispeed - Tapestop FX
Buffer Delay FX - Varispeed - Wow'n'Flutter FX
Buffer Delay FX - Varispeed - Audio Reversing FX
Buffer Delay FX - Granulization Delay
Buffer Delay FX - Grnulization - Grain Cloud
Buffer Delay FX - Buffer Stutterer
Buffer Delay FX - Looper
Buffer Delay FX - Looper - Loaded Loop Slicer/Sequencer
Buffer Delay FX - Looper - Live Audio Input Slicer/Re-Sequencer
(C) CONVOLUTION FX
Convolution FX - Convolution Reverb
Convolution FX - Impulse Response Emulation (usually take IRs of vintage hardware and uses them in an emulation, usually a Processor, though)
(D) CROSS-MODULATION FX
Cross-Modulation FX - Frequency Modulation
Cross-Modulation FX - Phase Distortion
Cross-Modulation FX - Phase Vocoder
Cross-Modulation FX - Ring Modulation
Cross-Modulation FX - Spectral Morphing
(E) DELAY FX
Delay FX - Resonator FX (usually allpass filter banks)
Delay FX - Chorus FX
Delay FX - Chorus FX - Choir/Ensemble FX
Delay FX - Comb Filter Bank
Delay FX - Echo FX (usually what we call "Delay effects," for clarity; and there's many subcategories)
Delay FX - Flanger (sub-Hass microdelay that comb filters sounds)
Delay FX - Phaser (ditto)
Delay FX - Reverb FX
(F) DISTORTION FX
Distortion FX - Clipper
Distortion FX - Waveshaper
(G) FILTER FX
Filter FX - Filter Bank
Filter FX - Envelope Filter
(H) FREQUENCY SHIFTER FX
Frequency Shifter FX - Pitch Shifter FX
Frequency Shifter FX - Pitch Shifter FX - Harmonizer
Frequency Shifter FX - Pitch Shifter FX - Pitch Correction (auto-tuner)
Frequency Shifter FX - Vibrato FX
(I) HARDWARE EMULATION FX (other than Convolution-type)
Hardware Emulation FX - AmpSim
Hardware Emulation FX - SpeakerSim
Hardware Emulation FX - SpeakerSim - Leslie FX
Hardware Emulation FX - MicSim
Hardware Emulation FX - TubeSim
(J) LO-FI FX
Lo-Fi FX - Bitcrusher FX
Lo-Fi FX - Sample Decimator FX
Lo-Fi FX - Vinylizer
(K) MULTI-FX
(L) PANNER FX
Panner FX - Autopan FX
Panner FX - Rotary FX
Panner FX - Doppler FX (could equally be Freq Shift & AM effects, and they're usually based on Buffer Delay DSP...)
(M) SPATIAL FX
Spatial FX - Binaural 3D HRTF FX
(3) "PROCESSORS"
(A) BASS ENHANCEMENT
Bass Enhancement - Sub-Harmonic Replacement Processor
(B) DITHERING
(C) DYNAMICS PROCESSORS
Dynamics Processors - Compander
Dynamics Processors - Compressor
Dynamics Processors - Expander
Dynamics Processors - Limiter
Dynamics Processors - Maximizer
Dynamics Processors - Transient Shaper
Dynamics Processors - Dynamic Equalizer
(D) EXCITERS
(E) NOISE REMOVAL
Noise Removal - De-Clicker
Noise Removal - De-Esser
Noise Removal - De-Noiser
Noise Removal - De-Clipper
Noise Removal - De-Crackler
Noise Removal - De-Hisser
(F) PHASE CORRECTION
(G) SATURATION
(H) STEREO FIELD PROCESSING
Stereo Field Processing - Stereoizer (from a mono input)
Stereo Field Processing - Stereo-to-Mono
Stereo Field Processing - Stereo Width Processor
(4) "MIDI"
(A) MIDI GENERATORS
(B) MIDI FILTERS
(5) "UTILITIES"
(A) Audio Visualization
Audio Visualization - Spectrogram
Audio Visualization - Loudness Analyzer
Audio Visualization - Inter-Sample Distortion Meter
I feel that's long enough for now. Please feel free to add anything, split hairs, and in particular, if you're an audioware plugin developer, list what you think best fits your plugins so I can create the best, canonical categorization taxonomy.
Also, if you're interested in the software my partner and I are working on, and what it'll do that'll benefit developers (it's obvious how it'll help users, once we get it out into the world), and especially if you'd like to lend a hand, drop me a PM.
(edited to add correct link to Categorization Essays, which now works)
