mirror of
https://github.com/thestk/stk
synced 2026-02-01 07:16:15 +00:00
Version 4.1
This commit is contained in:
committed by
Stephen Sinclair
parent
81475b04c5
commit
2f09fcd019
@@ -1,155 +1,167 @@
|
||||
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
|
||||
|
||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
||||
|
||||
STK Classes - See the HTML documentation in the html directory for complete information.
|
||||
|
||||
.- Envelope - ADSR
|
||||
|
|
||||
|- Noise - SubNoise
|
||||
|
|
||||
|- Table
|
||||
|
|
||||
|- WvIn - (WaveLoop, RtWvIn, TcpWvIn)
|
||||
|
|
||||
|- WvOut - (RtWvOut, TcpWvOut)
|
||||
|
|
||||
|- Filter - (OnePole, OneZero, Delay, TwoPole, TwoZero, PoleZero, Biquad)
|
||||
| | |
|
||||
| DelayL FormSwep
|
||||
| DelayA
|
||||
|
|
||||
|- Echo, Chorus, PitShift
|
||||
|
|
||||
|- RtAudio, RtMidi, Socket, Thread
|
||||
Stk -|
|
||||
|- Reverb - (PRCRev, JCRev, NRev)
|
||||
|
|
||||
|- Modulate
|
||||
|
|
||||
|- Messager
|
||||
|
|
||||
|- SKINI
|
||||
|
|
||||
|- ReedTabl, JetTabl, BowTabl
|
||||
|
|
||||
| .- FM - (HevyMetl, PercFlut, Rhodey, Wurley, TubeBell, BeeThree, FMVoices)
|
||||
| |
|
||||
| |- Modal - ModalBar
|
||||
| |
|
||||
| |- Sampler - Moog
|
||||
| |
|
||||
| |- Resonate
|
||||
| |
|
||||
| |- PluckedTwo - Mandolin
|
||||
.- Instrmnt -|
|
||||
|- Drummer
|
||||
|
|
||||
|- Clarinet, BlowHole, Saxofony, Flute, Brass, BlowBotl, Bowed, Plucked, StifKarp, Sitar
|
||||
|
|
||||
|- Shakers
|
||||
|
|
||||
|- BandedWG
|
||||
|
|
||||
.- Mesh2D
|
||||
|
||||
|
||||
*********** UNIT GENERATORS **************
|
||||
|
||||
Master Class: Stk.cpp Sample rate, byte-swapping, error handling functionality
|
||||
|
||||
Sources: Envelope.cpp Linearly Goes to Target by Rate
|
||||
ADSR.cpp ADSR Flavor of Envelope
|
||||
Noise.cpp Random Number Generator
|
||||
SubNoise.cpp Random Numbers each N samples
|
||||
Table.cpp Lookup Table (assumes given data in big-endian format)
|
||||
WvIn.cpp Data Input Class (interpolating) for RAW, WAV, SND (AU), AIFF, MAT-file files
|
||||
WaveLoop.cpp Wavetable looping (subclass of WvIn)
|
||||
RtWvIn.cpp Realtime Audio Input Class (subclass of WvIn)
|
||||
TcpWvIn.cpp Audio Streaming (socket server) Input Class (subclass of WvIn)
|
||||
|
||||
Sinks: WvOut.cpp Output Master Class for RAW, WAV, SND (AU), AIFF, MAT-file files
|
||||
RtWvOut.cpp Realtime Output Class (subclass of WvOut)
|
||||
TcpWvOut.cpp Audio Streaming (socket client) Output Class (subclass of WvOut)
|
||||
|
||||
Duplex: RtDuplex.cpp Synchronous Realtime Audio Input/Output Class
|
||||
|
||||
Filters: Filter.cpp Filter Master Class
|
||||
OneZero.cpp One Zero Filter
|
||||
OnePole.cpp One Pole Filter
|
||||
PoleZero.cpp One Pole/One Zero Filter
|
||||
TwoZero.cpp Two Zero Filter
|
||||
TwoPole.cpp Two Pole Filter
|
||||
BiQuad.cpp Two Pole/Two Zero Filter
|
||||
FormSwep.cpp Sweepable BiQuad Filter (goes to target by rate)
|
||||
Delay.cpp Non-Interpolating Delay Line Class
|
||||
DelayL.cpp Linearly Interpolating Delay Line (subclass of Delay)
|
||||
DelayA.cpp Allpass Interpolating Delay Line (subclass of Delay)
|
||||
|
||||
Non-Linear: JetTabl.cpp Cubic Jet Non-Linearity
|
||||
BowTabl.cpp x^(-3) Bow Non-Linearity
|
||||
ReedTabl.cpp One Breakpoint Saturating Reed Non-Linearity
|
||||
|
||||
Derived: Modulate.cpp Periodic and Random Vibrato: RawWvIn, SubNoise, OnePole
|
||||
|
||||
|
||||
********** INSTRUMENTS AND ALGORITHMS **************
|
||||
|
||||
Each Class will be listed either with all the unit generators it uses,
|
||||
or the <<Algorithm>> of which it is a flavor. All inherit from Instrmnt,
|
||||
which inherits from Stk.
|
||||
|
||||
Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise
|
||||
Plucked.cpp Basic Plucked String DelayA, OneZero, OnePole, Noise
|
||||
StifKarp.cpp Plucked String with Stiffness DelayA, DelayL, OneZero, BiQuad, Noise
|
||||
PluckTwo.cpp Not So Basic Pluck DelayL, DlineA, OneZero
|
||||
Mandolin.cpp Commuted Mandolin <<flavor of PluckTwo>>
|
||||
Bowed.cpp So So Bowed String DelayL, BowTabl, OnePole, BiQuad, WaveLoop, ADSR
|
||||
Brass.cpp Not So Bad Brass Instrument DelayA, BiQuad, PoleZero, ADSR, WaveLoop
|
||||
Clarinet.cpp Pretty Good Clarinet DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
|
||||
BlowHole.cpp Clarinet w/ Tone & Vent Holes DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop, PoleZero
|
||||
Saxofony.cpp A Faux Saxophone DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
|
||||
Flute.cpp Pretty Good Flute JetTabl, DelayL, OnePole, PoleZero, Noise, ADSR, WaveLoop
|
||||
BlowBotl.cpp Blown Bottle JetTabl, BiQuad, PoleZero, Noise, ADSR, WaveLoop
|
||||
BandedWG.cpp Banded Waveguide Meta-Object Delay, BowTabl, ADSR, BiQuad
|
||||
Modal.cpp N Resonances Envelope, WaveLoop, BiQuad, OnePole
|
||||
ModalBar.cpp Various presets 4 Resonance Models
|
||||
FM.cpp N Operator FM Master ADSR, WaveLoop, TwoZero
|
||||
HevyMetl.cpp Distorted FM Synthesizer 3 Cascade with FB Modulator
|
||||
PercFlut.cpp Percussive Flute 3 Cascade Operators
|
||||
Rhodey.cpp Rhodes-Like Electric Piano 2 Parallel Simple FMs
|
||||
Wurley.cpp Wurlitzer Electric Piano 2 Parallel Simple FMs
|
||||
TubeBell.cpp Classic FM Bell 2 Parallel Simple FMs
|
||||
FMVoices.cpp 3 Formant FM Voice 3 Carriers Share 1 Modulator
|
||||
BeeThree.cpp Cheezy Additive Organ 4 Oscillators Additive
|
||||
Sampler.cpp Sampling Synthesizer 5 each ADSR, WvIn, WaveLoop, OnePole
|
||||
Moog.cpp Swept Filter Sampler with Swept Filter
|
||||
Resonate.cpp Filtered Noise ADSR, BiQuad, Noise
|
||||
Drummer.cpp Drum Synthesizer Bunch of WvIns, and OnePole
|
||||
Shakers.cpp PhISM statistical model for shakers and real-world sound effects
|
||||
Mesh2D.cpp Two-dimensional, rectilinear digital waveguide mesh.
|
||||
|
||||
Reverb.cpp Reverberator Effects Processor Master Class for reverberators
|
||||
JCRev.cpp Chowning Reverberator 3 series allpass units, 4 parallel combs, 2 stereo delays
|
||||
NRev.cpp Another famous CCRMA Reverb 8 allpass, 6 parallel comb filters
|
||||
PRCRev.cpp Dirt Cheap Reverb by Cook 2 allpass, 2 comb filters
|
||||
Flanger.cpp Flanger Effects Processor DelayL, WaveLoop
|
||||
Chorus.cpp Chorus Effects Processor DelayL, WaveLoop
|
||||
PitShift.cpp Cheap Pitch Shifter DelayL
|
||||
|
||||
|
||||
*********** OTHER SUPPORT CLASSES AND FILES **************
|
||||
|
||||
RtAudio.cpp Multi-OS/API audio I/O routines
|
||||
RtMidi.cpp Multi-OS/API MIDI I/O routines
|
||||
Messager.cpp Pipe, socket, and MIDI control message handling
|
||||
|
||||
demo.cpp Demonstration program for most synthesis algorithms
|
||||
effects.cpp Effects demonstration program
|
||||
ragamatic.cpp Nirvana just waiting to happen
|
||||
|
||||
SKINI.cpp SKINI file/message parser object
|
||||
SKINI.msg #defines for often used and universal MIDI/SKINI symbols
|
||||
SKINI.tbl Table of SKINI messages
|
||||
|
||||
|
||||
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
|
||||
|
||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
||||
|
||||
STK Classes - See the HTML documentation in the html directory for complete information.
|
||||
|
||||
.- Envelope - ADSR
|
||||
|
|
||||
|- Noise - SubNoise
|
||||
|
|
||||
|- Table
|
||||
|
|
||||
|- WvIn - (WaveLoop, RtWvIn, TcpWvIn)
|
||||
|
|
||||
|- WvOut - (RtWvOut, TcpWvOut)
|
||||
|
|
||||
|- Filter - (OnePole, OneZero, Delay, TwoPole, TwoZero, PoleZero, Biquad)
|
||||
| | |
|
||||
| DelayL FormSwep
|
||||
| DelayA
|
||||
|
|
||||
|- Echo, Chorus, PitShift
|
||||
|
|
||||
|- RtAudio, RtMidi, Socket, Thread
|
||||
Stk -|
|
||||
|- Reverb - (PRCRev, JCRev, NRev)
|
||||
|
|
||||
|- Modulate
|
||||
|
|
||||
|- SingWave
|
||||
|
|
||||
|- Voicer
|
||||
|
|
||||
|- Messager
|
||||
|
|
||||
|- SKINI
|
||||
|
|
||||
|- ReedTabl, JetTabl, BowTabl
|
||||
|
|
||||
| .- FM - (HevyMetl, PercFlut, Rhodey, Wurley, TubeBell, BeeThree, FMVoices)
|
||||
| |
|
||||
| |- Modal - ModalBar
|
||||
| |
|
||||
| |- VoicForm
|
||||
| |
|
||||
| |- Sampler - Moog
|
||||
| |
|
||||
| |- Resonate
|
||||
| |
|
||||
| |- PluckedTwo - Mandolin
|
||||
.- Instrmnt -|
|
||||
|- Drummer
|
||||
|
|
||||
|- Clarinet, BlowHole, Saxofony, Flute, Brass, BlowBotl, Bowed, Plucked, StifKarp, Sitar
|
||||
|
|
||||
|- Shakers
|
||||
|
|
||||
|- BandedWG
|
||||
|
|
||||
|- Mesh2D
|
||||
|
|
||||
.- Whistle
|
||||
|
||||
|
||||
*********** UNIT GENERATORS **************
|
||||
|
||||
Master Class: Stk.cpp Sample rate, byte-swapping, error handling functionality
|
||||
|
||||
Sources: Envelope.cpp Linearly Goes to Target by Rate
|
||||
ADSR.cpp ADSR Flavor of Envelope
|
||||
Noise.cpp Random Number Generator
|
||||
SubNoise.cpp Random Numbers each N samples
|
||||
Table.cpp Lookup Table (assumes given data in big-endian format)
|
||||
WvIn.cpp Data Input Class (interpolating) for RAW, WAV, SND (AU), AIFF, MAT-file files
|
||||
WaveLoop.cpp Wavetable looping (subclass of WvIn)
|
||||
RtWvIn.cpp Realtime Audio Input Class (subclass of WvIn)
|
||||
TcpWvIn.cpp Audio Streaming (socket server) Input Class (subclass of WvIn)
|
||||
|
||||
Sinks: WvOut.cpp Output Master Class for RAW, WAV, SND (AU), AIFF, MAT-file files
|
||||
RtWvOut.cpp Realtime Output Class (subclass of WvOut)
|
||||
TcpWvOut.cpp Audio Streaming (socket client) Output Class (subclass of WvOut)
|
||||
|
||||
Duplex: RtDuplex.cpp Synchronous Realtime Audio Input/Output Class
|
||||
|
||||
Filters: Filter.cpp Filter Master Class
|
||||
OneZero.cpp One Zero Filter
|
||||
OnePole.cpp One Pole Filter
|
||||
PoleZero.cpp One Pole/One Zero Filter
|
||||
TwoZero.cpp Two Zero Filter
|
||||
TwoPole.cpp Two Pole Filter
|
||||
BiQuad.cpp Two Pole/Two Zero Filter
|
||||
FormSwep.cpp Sweepable BiQuad Filter (goes to target by rate)
|
||||
Delay.cpp Non-Interpolating Delay Line Class
|
||||
DelayL.cpp Linearly Interpolating Delay Line (subclass of Delay)
|
||||
DelayA.cpp Allpass Interpolating Delay Line (subclass of Delay)
|
||||
|
||||
Non-Linear: JetTabl.cpp Cubic Jet Non-Linearity
|
||||
BowTabl.cpp x^(-3) Bow Non-Linearity
|
||||
ReedTabl.cpp One Breakpoint Saturating Reed Non-Linearity
|
||||
|
||||
Derived: Modulate.cpp Periodic and Random Vibrato: RawWvIn, SubNoise, OnePole
|
||||
SingWave.cpp Looping wave table with randomness: Modulate, WaveLoop, Envelope
|
||||
|
||||
|
||||
********** INSTRUMENTS AND ALGORITHMS **************
|
||||
|
||||
Each Class will be listed either with all the unit generators it uses,
|
||||
or the <<Algorithm>> of which it is a flavor. All inherit from Instrmnt,
|
||||
which inherits from Stk.
|
||||
|
||||
Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise
|
||||
Plucked.cpp Basic Plucked String DelayA, OneZero, OnePole, Noise
|
||||
StifKarp.cpp Plucked String with Stiffness DelayA, DelayL, OneZero, BiQuad, Noise
|
||||
PluckTwo.cpp Not So Basic Pluck DelayL, DlineA, OneZero
|
||||
Mandolin.cpp Commuted Mandolin <<flavor of PluckTwo>>
|
||||
Bowed.cpp So So Bowed String DelayL, BowTabl, OnePole, BiQuad, WaveLoop, ADSR
|
||||
Brass.cpp Not So Bad Brass Instrument DelayA, BiQuad, PoleZero, ADSR, WaveLoop
|
||||
Clarinet.cpp Pretty Good Clarinet DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
|
||||
BlowHole.cpp Clarinet w/ Tone & Vent Holes DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop, PoleZero
|
||||
Saxofony.cpp A Faux Saxophone DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
|
||||
Flute.cpp Pretty Good Flute JetTabl, DelayL, OnePole, PoleZero, Noise, ADSR, WaveLoop
|
||||
BlowBotl.cpp Blown Bottle JetTabl, BiQuad, PoleZero, Noise, ADSR, WaveLoop
|
||||
BandedWG.cpp Banded Waveguide Meta-Object Delay, BowTabl, ADSR, BiQuad
|
||||
Modal.cpp N Resonances Envelope, WaveLoop, BiQuad, OnePole
|
||||
ModalBar.cpp Various presets 4 Resonance Models
|
||||
FM.cpp N Operator FM Master ADSR, WaveLoop, TwoZero
|
||||
HevyMetl.cpp Distorted FM Synthesizer 3 Cascade with FB Modulator
|
||||
PercFlut.cpp Percussive Flute 3 Cascade Operators
|
||||
Rhodey.cpp Rhodes-Like Electric Piano 2 Parallel Simple FMs
|
||||
Wurley.cpp Wurlitzer Electric Piano 2 Parallel Simple FMs
|
||||
TubeBell.cpp Classic FM Bell 2 Parallel Simple FMs
|
||||
FMVoices.cpp 3 Formant FM Voice 3 Carriers Share 1 Modulator
|
||||
VoicForm.cpp 4 Formant Voice Synthesis FormSwep, SingWave, OnePole, OneZero, Envelope, Noise
|
||||
BeeThree.cpp Cheezy Additive Organ 4 Oscillators Additive
|
||||
Sampler.cpp Sampling Synthesizer 5 each ADSR, WvIn, WaveLoop, OnePole
|
||||
Moog.cpp Swept Filter Sampler with Swept Filter
|
||||
Resonate.cpp Filtered Noise ADSR, BiQuad, Noise
|
||||
Drummer.cpp Drum Synthesizer Bunch of WvIns, and OnePole
|
||||
Shakers.cpp PhISM statistical model for shakers and real-world sound effects
|
||||
Mesh2D.cpp Two-dimensional, rectilinear digital waveguide mesh.
|
||||
Whistle.cpp Hybrid physical/spectral model of a police whistle.
|
||||
|
||||
Reverb.cpp Reverberator Effects Processor Master Class for reverberators
|
||||
JCRev.cpp Chowning Reverberator 3 series allpass units, 4 parallel combs, 2 stereo delays
|
||||
NRev.cpp Another famous CCRMA Reverb 8 allpass, 6 parallel comb filters
|
||||
PRCRev.cpp Dirt Cheap Reverb by Cook 2 allpass, 2 comb filters
|
||||
Flanger.cpp Flanger Effects Processor DelayL, WaveLoop
|
||||
Chorus.cpp Chorus Effects Processor DelayL, WaveLoop
|
||||
PitShift.cpp Cheap Pitch Shifter DelayL
|
||||
|
||||
|
||||
*********** OTHER SUPPORT CLASSES AND FILES **************
|
||||
|
||||
RtAudio.cpp Multi-OS/API audio I/O routines
|
||||
RtMidi.cpp Multi-OS/API MIDI I/O routines
|
||||
Messager.cpp Pipe, socket, and MIDI control message handling
|
||||
Voicer.cpp Multi-instrument voice manager
|
||||
|
||||
demo.cpp Demonstration program for most synthesis algorithms
|
||||
effects.cpp Effects demonstration program
|
||||
ragamatic.cpp Nirvana just waiting to happen
|
||||
|
||||
SKINI.cpp SKINI file/message parser object
|
||||
SKINI.msg #defines for often used and universal MIDI/SKINI symbols
|
||||
SKINI.tbl Table of SKINI messages
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user