In order to fully take advantage of the capabilities of Marsyas it is important to understand how it works internally. The architecture of Marsyas reflects an underlying dataflow model that we have found useful in implementing real and non-real time audio analysis and synthesis systems. In marsyas 0.2 a lot of things can be accomplished by assembling complex networks of basic building blocks called MarSystems that process data. This is the so called “Black-Box” functionality of the framework. In addition the programmer can also write directly her/his own building blocks directly in C++ following a certain API and coding conventions offering the so called “White-Box” functionality. Building networks is described in Writing applications, and writing new MarSystems is described in Programming MarSystems.