[linux-audio-dev] modular sequencing environment/synth // any projects to dig in?

carmen _ at whats-your.name
Wed Jul 5 18:36:17 UTC 2006

On Wed Jul 05, 2006 at 07:06:06PM +0200, Niklas Klügel wrote:
> Hash: SHA1
> Oi,
> I am currently writing on a modular synth with great emphasis on
> sequencing (but allowing tight interaction between both parts)
> in a comparable modular way (pattern creation/algortihmic
> composition/chord filters etc),
> I wrote some parts of the core of the application but I am not really
> keen on coding something that has been done several times before;
> that's why I thought about
> joining/"forking" a more complete modular synthesizing environment and
> adding the core components I need/have. The point is, that I don't
> know enough about
> the existant modular synthesizers to evaluate how modular their
> sourcecode is written so that my modifications are easily applicable
> in their source.
> Here are some parts/functionalities that I already have (partially)
> implemented and would like to add to the core:
> - - the main graph of interconnected modules supports heterogene module
> types for example it could support FAUST code-pieces represented in
> modules as well as ladspa-modules,
> the subgraph created by interconnected modules of the same type is the
> sent to the type-specific "compiler" creating executable signal paths
> - - the executable graph of interconnected modules is analyzed and split
> up in parts that can be executed in parallel, locks in the necessary
> parts are added and the whole graph can be
> executed in several threads
> - - modules are mainly connected using a zoomable patch-matrix; the
> zoomlevel corresponds to the level of typing (of connections)

this sound really neat. depending on how far along you are with your engine, you may want to keep it around, or someone else might want to pick it up. here are the active projects on linux:

pd: crufty/crusty architecture, but lots of users and patches. C/SiBSD. the engine is being updated for a more modern client-server seperation, and 2 GUIs currently using this: DesireData (TCL/GPL), and Vibrez (OpenGL, commercial?)
   source: cvs -d:pserver:anonymous at pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -r devel_0_39 pd 

pnpd: a new engine, from an expert user/contributor to PD who decided it would be easier to rewrite the engine than try to extend the existing codebase. C++/GPL, currently has a QT client called Karma. 
   source: svn co svn://www.klingt.org/pnpd/

ingen: previously known as om-synth. only supports LADSPA & LV2 plugins. C++/Gnome-Canvas (Dave hates QT). theres an OSC API so you could easily roll your own frontend. currently LADSPA is really lacking in plugins that process MIDI/OSC, or mangle/record/playback any sort of control data, or even audio. it mainly has a ton of filters...
   source: svn co http://codeson.net/svn

if you want to run your code on PD/MaxMSP and eventually pnpd, you can use flext (adding flext support to your own engine would give you a neat archive of existing objects, as well):
  source: cvs.pure-data.sourceforge.net:/cvsroot/pure-data/externals/grill/flext
likewise, porting to LV2 will give you a lot of potential usage contexts (this is assuming the hosts add support):
  web: http://lv2plug.in

i plan to put this into a semantic DB, for now you can check the massively incomplete http://wikifarm.koumbit.net/orangeseeds/drone/Meta/ComparatifLogicielsDataflow 

More information about the Linux-audio-dev mailing list