Sonic Flow

Tools for Dataflow-Inspired Audio Signal Processing

Links to other DSP packages

These are essentially packages similar to ours, i.e. they allow the user to wire unit generators together and construct larger (dataflow) networks either graphically, on the command line level or on the programming language level.

As time is passing, we've found out more and more of similar projects all around the web...

Open-source Closed-source

Sonic Flow is using SndLib from CCRMA, Stanford University, for audio file input and output.


Various publications of interest with respect to Sonic Flow.

Raza Ahmed and Brian L. Evans, Heuristic Search Packages 0.1 for Mathematica. Dept. of EECS, University of California, Berkeley, 1996

Shuvra S. Bhattacharyya, Praveen K. Murthy and Edward A. Lee, Software Synthesis from Dataflow Graphs. Kluwer Academic Press, Norwell, MA, 1996.

W.-T. Chang, S.-H. Ha, and E. A. Lee, Heterogeneous Simulation -- Mixing Discrete-Event Models with Dataflow. Invited paper, RASSP special issue of the Journal on VLSI Signal Processing, January, 1997.

J. Davis, R. Galicia, M. Goel, C. Hylands, E.A. Lee, J. Liu, X. Liu, L. Muliadi, S. Neuendorffer, J. Reekie, N. Smyth, J. Tsay and Y. Xiong, Heterogeneous Concurrent Modeling and Design in Java. Technical Report UCB/ERL No. M98/72, University of California, Berkeley, 1998.

Peter Desain and Henkjan Honing, Letter to the editor: the mins of Max. Computer Music Journal, 17(2), 1993, pp. 3--11.

Douglas Eck, A Proposed Programming Language for Working with Rhythm. Departments of Cognitive Science and Computer Science, Indiana University

Stephen A. Edwards, The Specification and Execution of Heterogeneous Synchronous Reactive Systems. Ph. D. Dissertation, University of California, Berkeley, 1997. (contains e.g. MIDI synthesizer as example)

Mudit Goel, Process Networks in Ptolemy II. MS Report, University of California, Berkeley, 1998.

Kai Lassfolk, Sound Processing Kit. Proc. Int. Computer Music Conf., 1995

F. Mueller, Pthreads Library Interface. Tech. Rep., July, 1995

Praveen K. Murthy, Scheduling Techniques for Synchronous and Multidimensional Synchronous Dataflow. Ph.D. Dissertation, University of California, Berkeley, 1996.

Miller S. Puckette, Combining Event and Signal Processing in the MAX Graphical Programming Environment. Computer Music Journal, 15(3), 1991, pp. 68--77

Miller S. Puckette, Theodore Apel and David D. Zicarelli, Real-time Audio Analysis Tools for Pd and MSP. In Proc. Int. Computer Music Conf., 1998, pp. 109--112

Miller S. Puckette, Pure Data: Another Integrated Computer Music Environment. In Proceedings, Second Intercollege Computer Music Concerts, 1997, pp. 37--41


The following table lists different terms for the concepts used in Sonic Flow. The terms are gathered from similar software packages.
Sonic Flow Max & variants, Pd BeOS Media Kit Other software
Block tilde class, signal class, (class) box node, BMediaNode machine, module, (signal) filter, (signal) generator, (signal) manipulator, (signal) processor, unit generator, ugen
Frame signal message buffer, BBuffer -
Frame duration DSP duty cycle period, tick - -
Input terminal (signal) inlet media_destination -
Network patch, patcher, abstraction, sub-patch (media server) algorithm, dataflow diagram, flowgraph
Output terminal (signal) outlet media_source -
Wire line connection, media_input with media_output connection, patch cord
SF_Block::initialize() setup BMediaNode::Start() -
SF_Block::execute() duty cycle action - -
SF_Block::finish() - BMediaNode::Stop() -
SF_Network::block_list DSP duty cycle call list - -
Producer block - BBufferProducer -
Consumer block - BBufferConsumer -
Source block - - -
Destination block - - -

Sonic Flow main page
Audio Research Group
Signal Processing Laboratory

PS. All trademarks, registered or not, are trademarks. Someone owns them. Other trademarks mentioned on this site are the property of their respective owners.
Last modified: Mon Dec 16 13:58:37 PST 2002