You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

180 lines
8.9KB

  1. STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
  2. By Perry R. Cook and Gary P. Scavone, 1995--2017.
  3. STK Classes - See the HTML documentation in the html directory for complete information.
  4. .- Generator - (Modulate, Noise, SingWave, Envelope, ADSR, Asymp, SineWave, Blit, BlitSaw, BlitSquare, Granulate)
  5. |
  6. |- Function - (BowTable, JetTable, ReedTable)
  7. |
  8. |- FileRead, FileWrite
  9. |
  10. |- WvIn - (FileWvIn, RtWvIn, InetWvIn)
  11. | |
  12. | FileLoop
  13. |
  14. |- WvOut - (FileWvOut, RtWvOut, TcpWvOut)
  15. |
  16. |- Filter - (OnePole, OneZero, TwoPole, TwoZero, PoleZero, Biquad, FormSwep, Delay, DelayL, DelayA, TapDelay)
  17. |
  18. |- RtAudio, RtMidi, Socket, Thread, Mutex
  19. | |
  20. Stk -| UdpSocket
  21. | TcpServer
  22. | TcpClient
  23. |
  24. |- StkFrames
  25. |
  26. |- Effect - (Echo, Chorus, PitShift, LentPitShift, PRCRev, JCRev, NRev, FreeVerb)
  27. |
  28. |- Voicer, Message, Skini, MidiFileIn, Phonemes, Sphere, Vector3D
  29. |
  30. |- Messager
  31. |
  32. |- Twang, Guitar
  33. |
  34. | .- FM - (HevyMetl, PercFlut, Rhodey, Wurley, TubeBell, BeeThree, FMVoices)
  35. | |
  36. | |- Modal - ModalBar
  37. | |
  38. | |- VoicForm
  39. | |
  40. | |- Sampler - Moog
  41. | |
  42. | |- Resonate
  43. | |
  44. | |- Mandolin
  45. .- Instrmnt -|
  46. |- Drummer
  47. |
  48. |- Clarinet, BlowHole, Saxofony, Flute, Brass, BlowBotl, Bowed, Plucked, StifKarp, Sitar
  49. |
  50. |- Shakers
  51. |
  52. |- BandedWG
  53. |
  54. |- Mesh2D
  55. |
  56. .- Whistle
  57. *********** UNIT GENERATORS **************
  58. Master Class: Stk.cpp Sample rate, byte-swapping, error handling functionality
  59. Sources: Generator.h Abstract base class for various source signal classes
  60. Function.h Abstract base class for various input/output mapping classes
  61. Envelope.cpp Linearly goes to target by rate
  62. ADSR.cpp ADSR envelope
  63. Asymp.cpp Exponentially approaches target
  64. Noise.cpp Random number generator
  65. SineWave.cpp Sinusoidal oscillator with internally computed static table
  66. Blit.cpp Bandlimited impulse train
  67. BlitSaw.cpp Bandlimited sawtooth generator
  68. BlitSquare.cpp Bandlimited square wave generator
  69. Granulate.cpp Granular synthesis class that processes a monophonic audio file
  70. FileRead.cpp Audio file input class (no internal data storage) for RAW, WAV, SND (AU), AIFF, MAT-file files
  71. WvIn.h Abstract base class for audio data input classes
  72. FileWvIn.cpp Audio file input interface class with interpolation
  73. FileLoop.cpp Wavetable looping (subclass of FileWvIn)
  74. RtWvIn.cpp Realtime audio input class (subclass of WvIn)
  75. InetWvIn.cpp Audio streaming (socket server) input class (subclass of WvIn)
  76. Sinks: FileWrite.cpp Audio file output class (no internal data storage) for RAW, WAV, SND (AU), AIFF, MAT-file files
  77. WvOut.h Abstract base class for audio data output classes
  78. FileWvOut.cpp Audio file output interface class to FileWrite
  79. RtWvOut.cpp Realtime audio output class (subclass of WvOut)
  80. InetWvOut.cpp Audio streaming (socket client) output class (subclass of WvOut)
  81. Filters: Filter.h Filter master class
  82. Iir.h General infinite-impulse response filter
  83. Fir.h General finite-impulse response filter
  84. OneZero.cpp One zero filter
  85. OnePole.cpp One pole filter
  86. PoleZero.cpp One pole/one zero filter
  87. TwoZero.cpp Two zero filter
  88. TwoPole.cpp Two pole filter
  89. BiQuad.cpp Two pole/two zero filter
  90. FormSwep.cpp Sweepable biquad filter (goes to target by rate)
  91. Delay.cpp Non-interpolating delay line class
  92. DelayL.cpp Linearly interpolating delay line
  93. DelayA.cpp Allpass interpolating delay line
  94. TapDelay.cpp Multi-tap non-interpolating delay line class
  95. Non-Linear: JetTabl.h Cubic jet non-linearity
  96. BowTabl.h x^(-3) Bow non-linearity
  97. ReedTabl.h One breakpoint saturating reed non-linearity
  98. Derived: Modulate.cpp Periodic and random vibrato: WvIn, Noise, OnePole
  99. SingWave.cpp Looping wave table with randomness: Modulate, FileLoop, Envelope
  100. ********** INSTRUMENTS AND ALGORITHMS **************
  101. Each class is listed either with some of the unit generators it uses,
  102. or in terms of the algorithm it implements. All inherit from Instrmnt,
  103. which inherits from Stk.
  104. Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise
  105. Plucked.cpp Basic Plucked String DelayA, OneZero, OnePole, Noise
  106. Twang.cpp Not So Basic Pluck DelayL, DlineA, Fir, allows commuted synthesis
  107. Mandolin.cpp Commuted Mandolin 2 Twangs
  108. Guitar.cpp N-String Guitar N Twangs, bridge coupling, allows feedback and body filter
  109. StifKarp.cpp Plucked String with Stiffness DelayA, DelayL, OneZero, BiQuad, Noise
  110. Bowed.cpp So So Bowed String DelayL, BowTabl, OnePole, BiQuad, WaveLoop, ADSR
  111. Brass.cpp Not So Bad Brass Instrument DelayA, BiQuad, PoleZero, ADSR, WaveLoop
  112. Clarinet.cpp Pretty Good Clarinet DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
  113. BlowHole.cpp Clarinet w/ Tone & Vent Holes DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop, PoleZero
  114. Saxofony.cpp A Faux Saxophone DelayL, ReedTabl, OneZero, Envelope, Noise, WaveLoop
  115. Flute.cpp Pretty Good Flute JetTabl, DelayL, OnePole, PoleZero, Noise, ADSR, WaveLoop
  116. BlowBotl.cpp Blown Bottle JetTabl, BiQuad, PoleZero, Noise, ADSR, WaveLoop
  117. BandedWG.cpp Banded Waveguide Meta-Object Delay, BowTabl, ADSR, BiQuad
  118. Modal.cpp N Resonances Envelope, WaveLoop, BiQuad, OnePole
  119. ModalBar.cpp Various presets 4 Resonance Models
  120. FM.cpp N Operator FM Master ADSR, WaveLoop, TwoZero
  121. HevyMetl.cpp Distorted FM Synthesizer 3 Cascade with FB Modulator
  122. PercFlut.cpp Percussive Flute 3 Cascade Operators
  123. Rhodey.cpp Rhodes-Like Electric Piano 2 Parallel Simple FMs
  124. Wurley.cpp Wurlitzer Electric Piano 2 Parallel Simple FMs
  125. TubeBell.cpp Classic FM Bell 2 Parallel Simple FMs
  126. FMVoices.cpp 3 Formant FM Voice 3 Carriers Share 1 Modulator
  127. VoicForm.cpp 4 Formant Voice Synthesis FormSwep, SingWave, OnePole, OneZero, Envelope, Noise
  128. BeeThree.cpp Cheezy Additive Organ 4 Oscillators Additive
  129. Sampler.cpp Sampling Synthesizer 5 each ADSR, WvIn, WaveLoop, OnePole
  130. Moog.cpp Swept Filter Sampler with Swept Filter
  131. Resonate.cpp Filtered Noise ADSR, BiQuad, Noise
  132. Drummer.cpp Drum Synthesizer Bunch of WvIns, and OnePole
  133. Shakers.cpp PhISM statistical model for shakers and real-world sound effects
  134. Mesh2D.cpp Two-dimensional, rectilinear digital waveguide mesh.
  135. Whistle.cpp Hybrid physical/spectral model of a police whistle.
  136. Effect.h Effects Processor Base Class
  137. JCRev.cpp Chowning Reverberator 3 series allpass units, 4 parallel combs, 2 stereo delays
  138. NRev.cpp Another famous CCRMA Reverb 8 allpass, 6 parallel comb filters
  139. PRCRev.cpp Dirt Cheap Reverb by Cook 2 allpass, 2 comb filters
  140. FreeVerb.cpp Jezar at Dreampoint's FreeVerb 4 allpass, 8 lowpass comb filters
  141. Flanger.cpp Flanger Effects Processor DelayL, WaveLoop
  142. Chorus.cpp Chorus Effects Processor DelayL, WaveLoop
  143. PitShift.cpp Cheap Pitch Shifter DelayL
  144. LentPitShift.cpp Pitch Shifter based Lent Algorithm
  145. *********** OTHER SUPPORT CLASSES AND FILES **************
  146. RtAudio.cpp Multi-OS/API audio I/O routines
  147. RtMidi.cpp Multi-OS/API MIDI I/O routines
  148. Messager.cpp Pipe, socket, and MIDI control message handling
  149. Voicer.cpp Multi-instrument voice manager
  150. demo.cpp Demonstration program for most synthesis algorithms
  151. effects.cpp Effects demonstration program
  152. ragamatic.cpp Nirvana just waiting to happen
  153. Skini.cpp SKINI file/message parser object
  154. SKINImsg.h #defines for often used and universal MIDI/SKINI symbols
  155. SKINItbl.h Table of SKINI messages