DSP Lib Introduction
Version 14 (Nils Peters, 12/31/2011 07:50 pm)
| 1 | 1 | h1. DSP Lib Introduction |
|
|---|---|---|---|
| 2 | 1 | ||
| 3 | 3 | Nils Peters | The Jamoma DSP Library/Environment is an object-oriented, "reflective":http://en.wikipedia.org/wiki/Reflection_%28computer_science%29 , application programming interface for C++, with an emphasis on real-time signal processing. |
| 4 | 3 | Nils Peters | It makes use of "polymorphic typing":http://en.wikipedia.org/wiki/Type_polymorphism , dynamic binding, and "introspection":http://en.wikipedia.org/wiki/Introspection_%28computer_science%29 to create a cross-platform environment pulling ideas from languages such as "Objective-C":http://en.wikipedia.org/wiki/Objective_C while remaining within a standard C++ context. |
| 5 | 1 | ||
| 6 | 4 | Nils Peters | Like "Smalltalk":http://en.wikipedia.org/wiki/Smalltalk and Objective-C, TTBlue typically communicates by sending messages rather than calling functions. The emphasis on realtime signal processing is manifested in several ways throughout TTBlue, including its very strong support for vector-based audio processing. |
| 7 | 1 | ||
| 8 | 1 | TTBlue was initially created by Timothy Place in 2003 in Bergen, Norway and open sourced in 2005. |
|
| 9 | 1 | ||
| 10 | 4 | Nils Peters | It has been used effectively to create VST and AU plug-ins as well as external objects "Pure Data":http://puredata.info and "Cycling '74's Max/MSP":http://www.cycling74.com. It is used extensively by "Electrotap's":http://electrotap.com "Tap.Tools":http://electrotap.com/taptoolsmax and the open source "Jamoma":http://jamoma.org project. |
| 11 | 2 | Tim Place | |
| 12 | 2 | Tim Place | |
| 13 | 2 | Tim Place | h2. Topics |
| 14 | 2 | Tim Place | |
| 15 | 2 | Tim Place | * [[ChangeLog]] |
| 16 | 2 | Tim Place | * [[Threading]] |
| 17 | 2 | Tim Place | * [[RoadMap]] |
| 18 | 2 | Tim Place | * [[CodingNotes]] |
| 19 | 7 | Trond Lossius | * [[DebuggingNotes]] |
| 20 | 2 | Tim Place | * [[TTBlueMeetingInGenoa]] |
| 21 | 2 | Tim Place | * [[TTBufferDesign]] |
| 22 | 2 | Tim Place | * [[TTObjectNotifications]] |
| 23 | 5 | Tim Place | |
| 24 | 5 | Tim Place | * [[TTGraphics Extension]] |
| 25 | 6 | Tim Place | * [[AudioUnit Plug-ins]] |
| 26 | 8 | Tim Place | |
| 27 | 8 | Tim Place | * [[SoundFileLib]] -- includes notes about compiling universal binaries of the various dependencies for libsndfile |
| 28 | 13 | Tim Place | * [[MidiLib]] -- includes info about compiling PortMIDI |
| 29 | 9 | Tim Place | |
| 30 | 9 | Tim Place | |
| 31 | 9 | Tim Place | h2. Other DSP Libraries |
| 32 | 9 | Tim Place | |
| 33 | 10 | Tim Place | * Faust |
| 34 | 9 | Tim Place | * http://libcinder.org/about/ |
| 35 | 9 | Tim Place | * http://www.cockos.com/wdl/ |
| 36 | 9 | Tim Place | * The github hosted thing that runs Pd patchers on iOS |
| 37 | 9 | Tim Place | * STK |
| 38 | 12 | Tim Place | * MoMu -- http://momu.stanford.edu/toolkit/ (very much like STK, no block processing) |
| 39 | 11 | Tim Place | * Minim -- http://code.compartmental.net/tools/minim/ |
| 40 | 14 | Nils Peters | * ICST DSP Library -- http://www.icst.net/research/downloads/dsp-library/ |