La programación de flujo de datos (también conocida como programación basada en flujo) puede ser algo así. Aunque, la programación del flujo de datos no está completa en Turing.
La programación de flujo de datos es el método de creación de aplicaciones, cuando coloca instancias de componentes en la escena y conecta sus puertos, para que formen una red de procesamiento de mensajes. Los componentes se pueden elegir desde una biblioteca, tienen puertos de consumidor (entrada) y productor (salida), que están listos para conectarse con los puertos de otros componentes.
Aquí hay un buen ejemplo, donde ni siquiera un mouse solía construir una aplicación de sintetizador, sino manos descubiertas y cubitos: http://www.youtube.com/watch?v=0h-RhyopUmc
Los artículos de Wikipedia son un buen punto de partida:
http://en.wikipedia.org/wiki/Flow-based_programming
http://en.wikipedia.org/wiki/Dataflow_programming
La generación de sonido es un área típica de la programación del flujo de datos. Existen algunos sistemas de sintetizador de código abierto:
http://www.synthedit.com/
http://alsamodular.sourceforge.net/
Si tiene Mac, puede tener un Quartz Composer preinstalado de fábrica: http://developer.apple.com/graphicsimaging/quartz/quartzcomposer.html
También he hecho un sistema DF con un amigo mío, pero no tenemos editor visual sin embargo , sólo el visualizador guión.