Puredata (aka Pure Data or pd) is the open-source little brother to MAX/MSP, and provides a graphical (Flow-based programming) environment to create programs which work on streams -- originally targeted for audio but now also visuals. Used for some very interesting experimental music and VJ projects.
Pd enables musicians, visual artists, performers, researchers, and developers to create software graphically, without writing lines of code. Pd is used to process and generate sound, video, 2D/3D graphics, and interface sensors, input devices, and MIDI. Pd can easily work over local and remote networks to integrate wearable technology, motor systems, lighting rigs, and other equipment. Pd is suitable for learning basic multimedia processing and visual programming methods as well as for realizing complex systems for large-scale projects.
PD's subtitle is "The diagram is the program", representing the philosophy that the visual presentation contains the complete program -- nothing is hidden.
Tcl/Tk is used for pd's GUI and for writing custom plugins.
There is now tclpd, which allows you to write native Pd objects in Tcl.
Another older (?) website:
TV 8-9-'15 Puredata as a descendant from the long ago Max is an interesting concept, with simple mathematically oriented blocks connected together to make sounds with, and a scheduler built in that allows the whole to run a bit efficient. The latest layers about "lots of sliders on the screen" and video stuff aren't a good representation of the original idea, which was educationally good, but not a shortcut towards great sound design success.
Maybe someone with experience with tclpd can inform us how well it works to use the PD atoms with tcl, which could be used for some fun projects, including Tk interfaces ?