mirror of
https://github.com/thestk/stk
synced 2026-01-16 14:21:53 +00:00
156 lines
8.1 KiB
Plaintext
156 lines
8.1 KiB
Plaintext
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
|
|
Version 3.2
|
|
|
|
By Perry R. Cook, 1995-2000
|
|
and Gary P. Scavone, 1997-2000.
|
|
|
|
STK Classes, Version 3.2
|
|
Please read README.txt for more information.
|
|
|
|
<--------Building Blocks---------->|<----------------Instruments------------------>
|
|
|
|
SourcSink Filters Reverb Non-Lin Modal & FM Physical Sampling PhISM
|
|
Formant
|
|
|
|
Object-----------------------------------Instrmnt----------.
|
|
| | | | | | |
|
|
Envelope| Filter Reverb BowTabl | .----------------------------------------.
|
|
| | | | JetTabl | | | | | | | | |
|
|
ADSR | OneZero PRCRev ReedTabl| Modal4 | FM4Op---.| | | | Shakers
|
|
| OnePole JCRev | | | | || | | |
|
|
._____| TwoZero NRev .____| ModalBar| FM4Alg3 || Plucked Sampler |
|
|
| | TwoPole | | | || Clarinet | |
|
|
Noise | DCBlock LipFilt | HeavyMtl|| Brass SamplFlt|
|
|
| | BiQuad | || Flute | |
|
|
SubNoise| DlineL .____| .____|| Bowed Moog1 |
|
|
| DLineA | | || BowedBar |
|
|
| DLineN VoicForm FM4Alg4 || BlowHole |
|
|
| FormSwep | ||____. |
|
|
| PoleZero PercFlut| | |
|
|
.____| FIR | Plucked2 |
|
|
| | .____| | .____|
|
|
TablLook| | | Mandolin |
|
|
| FM4Alg5 | DrumSynt
|
|
|____. | |
|
|
| | Rhodey |
|
|
| WvIn Wurley |
|
|
._____| | TubeBell |
|
|
| | WavWvIn .____|
|
|
Modulatr| SndWvIn | |
|
|
| RawWvIn FM4Alg6 |
|
|
._____| MatWvIn | |
|
|
| | AifWvIn FMVoices|
|
|
SingWave| StrmWvIn |
|
|
| .____|
|
|
._____|_____. |
|
|
| | | FM4Alg8
|
|
VoicMang| WvOut |
|
|
| | BeeThree
|
|
| WavWvOut
|
|
._____| SndWvOut
|
|
| | RawWvOut
|
|
RtMidi | MatWvOut
|
|
| AifWvOut
|
|
._____| RtWvOut
|
|
| StrmWvOut
|
|
RtAudio
|
|
|
|
********** INSTRUMENTS AND ALGORITHMS **************
|
|
|
|
Each Class will be listed either with all UGs it uses,
|
|
or the <<Algorithm>> of which it is a flavor.
|
|
All inherit from Instrmnt, which inherits from Object.
|
|
|
|
Plucked.cpp Basic Plucked String DLineA,OneZero,OnePole,Noise
|
|
Plucked2.cpp Not So Basic Pluck DLineL,DlineA,OneZero
|
|
Mandolin.cpp My Own Mandolin <<flavor of Plucked2>>
|
|
Bowed.cpp Not Hideous Bowed String DlineL,BowTabl,OnePole,BiQuad,RawWave,ADSR
|
|
Brass.cpp Not So Bad Brass Inst. DLineA,LipFilt,DCBlock,ADSR,RawWvIn
|
|
Clarinet.cpp Pretty Good Clarinet DLineL,ReedTabl,OneZero,Envelope,Noise,RawWvIn
|
|
BlowHole.cpp Clarinet w/ tone/reghole DLineL,ReedTabl,OneZero,Envelope,Noise,RawWvIn,PoleZero
|
|
Flute.cpp Pretty Good Flute JetTabl,DLineL,OnePole,DCBlock,Noise,ADSR,RawWvIn
|
|
BowedBar.cpp Pretty Good Bowed Bar DLineN,BowTabl,ADSR,BiQuad
|
|
Modal4.cpp 4 Resonances Envelope,RawWvIn,RawWvIn,BiQuad,OnePole
|
|
ModalBar.cpp Various presets <<flavor of MODAL4>>
|
|
FM4Op.cpp 4 Operator FM Master ADSR,RawWvIn,TwoZero
|
|
FM4Alg3.cpp 3 Cascade w/ FB Mod. <<flavor of FM4OP>>
|
|
FM4Alg4.cpp Like Alg3 but diff. <<flavor of FM4OP>>
|
|
FM4Alg5.cpp 2 Parallel Simple FMs <<flavor of FM4OP>>
|
|
FM4Alg6.cpp 3 Carr. with 1 Mod. <<flavor of FM4OP>>
|
|
FM4Alg8.cpp 4 Osc. Additive <<flavor of FM4OP>>
|
|
HeavyMtl.cpp Distorted Synth <<flavor of FM4Alg3>>
|
|
PercFlut.cpp Perc. Flute <<flavor of FM4Alg4>>
|
|
Rhodey.cpp Rhodes-Like Elec. Piano <<flavor of FM4Alg5>>
|
|
Wurley.cpp Wurlitz. Elec. Piano <<flavor of FM4Alg5>>
|
|
TubeBell.cpp Classic FM Bell <<flavor of FM4Alg5>>
|
|
FMVoices.cpp 3-Formant Voice Synth. <<flavor of FM4Alg6>>
|
|
BeeThree.cpp Cheezy Organ for Paul <<flavor of FM4Alg8>>
|
|
Sampler.cpp Sampling Synth. 4 each ADSR, RawWvIn (att), RawWvIn (loop), OnePole
|
|
SamplFlt.cpp Sampler with Swept Filter <<flavor of Sampler>>
|
|
Moog1.cpp Swept filter flavor of <<flavor of SamplFlt>>
|
|
VoicForm.cpp Source/Filter Voice Envelope,Noise,SingWave,FormSwep,OnePole,OneZero
|
|
DrumSynt.cpp Drum Synthesizer bunch of RawWvIn, and OnePole
|
|
Shakers.cpp Stochastic Event Models
|
|
|
|
*********** BASIC UNIT GENERATORS **************
|
|
|
|
Master Object: Object.cpp For compatibility with Objective C
|
|
|
|
Source&Sink: Envelope.cpp Linearly Goes to Target by Rate, + noteOn/Off
|
|
ADSR.cpp ADSR Flavor of Envelope
|
|
Noise.cpp Random Number Generator
|
|
SubNoise.cpp Random Numbers each N samples
|
|
|
|
Inputs: TablLook.cpp Lookup Table (assumes given data in big-endian format)
|
|
WvIn.cpp Input Master Class (Looping, One-Shot,
|
|
Interpolating, Non-Interpolating)
|
|
RawWvIn.cpp STK Raw-file Input
|
|
SndWvIn.cpp .snd Input Class
|
|
WavWvIn.cpp .wav Input Class
|
|
MatWvIn.cpp Matlab MAT-file Input Class
|
|
AifWvIn.cpp AIFF Input Class
|
|
RtWvIn.cpp Realtime Input Class
|
|
StrmWvIn.cpp Audio Streaming (socket server) Input Class
|
|
|
|
Outputs: WvOut.cpp Output Master Class
|
|
RawWvOut.cpp STK Raw-file Output Class
|
|
SndWvOut.cpp .snd Output Class
|
|
WavWvOut.cpp .wav Output Class
|
|
MatWvOut.cpp Matlab MaT-file Output Class
|
|
AifWvOut.cpp AIFF Output Class
|
|
RtWvOut.cpp Realtime Output Class
|
|
StrmWvOut.cpp Audio Streaming (socket client) Output Class
|
|
|
|
Duplex: RtDuplex.cpp Realtime Input/Output Class
|
|
|
|
MIDI: RtMidi.cpp MIDI I/O Class
|
|
|
|
Audio I/O: RtAudio.cpp Multi-OS Audio I/O Routines
|
|
|
|
Filters: Filter.cpp Filter Master Class
|
|
OneZero.cpp One Zero Filter
|
|
OnePole.cpp One Pole Filter
|
|
PoleZero.cpp One Pole/One Zero Filter
|
|
DCBlock.cpp DC Blocking 1Pole/1Zero Filter
|
|
TwoZero.cpp Two Zero Filter
|
|
TwoPole.cpp Two Pole Filter
|
|
BiQuad.cpp 2Pole/2Zero Filter
|
|
FormSwep.cpp Sweepable 2Pole filter, go to target by rate
|
|
DLineL.cpp Linearly Interpolating Delay Line
|
|
DLineA.cpp AllPass Interpolating Delay Line
|
|
DLineN.cpp Non Interpolating Delay Line
|
|
|
|
Reverb: Reverb.cpp Reverb Master Class
|
|
PRCRev.cpp 2 series allpass units, 2 parallel comb filters
|
|
JCRev.cpp 3 series allpass units, 4 parallel comb filters
|
|
NRev.cpp 6 parallel comb filters, 3 series allpass units, ...
|
|
|
|
NonLin&Lookup: JetTabl.cpp Cubic Jet NonLinearity
|
|
BowTabl.cpp 1/x^3-like Bow NonLinearity
|
|
ReedTabl.cpp 1 break point Reed NonLinearity
|
|
LipFilt.cpp Pressure Controlled BiQuad with NonLin
|
|
|
|
Derived: Modulatr.cpp Per. and Rnd. Vibrato: RawWave, SubNoise, OnePole
|
|
SingWave.cpp Looping Wavetable with: Modulatr, Envelope
|
|
|
|
Control: Controller.cpp Pipe, Socket, and MIDI control message handling |