From Things and Stuff Wiki
Jump to navigation Jump to search


Media orientated

Pure Data

See Pure Data

  • Pure Data (aka Pd) - an open source visual programming language. 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.



  • v.001 - a community driven, open source, modular solution for building easy to (re) use Max/MSP and Jitter patches targeted (but not limited to) visual performers and programmers.


  • OpenMusic (OM) - a visual programming language based on Lisp. Visual programs are created by asssembling and connecting icons representing functions and data structures. Most programming and operations are performed by dragging an icon from a particular place and dropping it to an other place. Built-in visual control structures (e.g. loops) are provided, that interface with Lisp ones.

Programs in OpenMusic are created by connecting together (a process known as 'patching') either pre-defined or user-defined modules, in a similar manner to graphical signal-processing environments such as Max/MSP or Pd. Unlike such environments, however, the result of an OpenMusic computation will typically be displayed in conventional music notation, which can then be directly manipulated, if so required, via an editor. A substantial body of specialized libraries has been contributed by users, which extends OpenMusic's functionality into such areas as constraint programming, aleatoric composition, spectral music, minimalist music, music theory, fractals, music information retrieval, sound synthesis etc.

  • - Reactive programming in OM is an intermediate model for visual programming inheriting both the off-line, demand-driven, computation paradigm of OpenMusic, and the reactive features of interactive/real-time systems. The objective is to integrate and control the interactions between the calculi denoted by CAC programs and their external context. In this model visual programming components are capable of "listening" to the environment or to other components, updating contents or triggering calculations accordingly, and propagating changes in a determined way in the program. This "dataflow-oriented" approach implies new semantic definitions, implementation and corresponding user interactions. It is based on the existing OM semantics and conservative with regard to this semantics, so that existing programs created in the environment remain valid in the reactive framework.
  • Musique Lab 2 - Example of a ML-Maquette document about J.-S. Bach's Goldberg Variations, by F. Guédy, IRCAM. Compositional approach to musical processes for music education, Jean Bresson, IRCAM, Music Representations Team. The Musique Lab 2 application (initially called ML-Maquette) has been designed and developed on top of the OpenMusic environment. It makes it possible to create and use interactive pedagogical documents focusing on various kinds of musical concepts or works by manipulating musical structures and operations. Musique Lab 2 is distributed via the EducNet portal for teachers of the French Ministry of education, or via the IRCAM forum. - $
  • - a library for spatial sound synthesis in the computer-aided composition environment OpenMusic. In addition to working with pre-existing sound sources (i.e. sound files) it permits the synthesis of sounds with complex spatial morphologies controlled by processes developed in OpenMusic in relation to other sound synthesis parameters and to the symbolic data of a compositional framework. While OMPrisma 1.0 focused on compositional control of sweetspot-based spatialization techniques (such as VBAP or Ambisonics), OMPrisma 2.0 introduces new classes implementing spatialization techniques for non-centralized audiences (such as dbap, babo or ViMiC). This allows for reproduction setups with arbitrary loudspeakers placements, e.g. on stage, between the audience, for installations contexts, etc.

Integra Live

  • Integra Live - a modular environment for interactive sound transformation and synthesis. It was developed at Birmingham Conservatoire's Integra Lab and part-funded by the Culture programme of the European Union. Integra Live is designed with musicians in mind An application optimised for the process of experimentation, discovery, refinement and performance. Our audio processing host uses the Pure Data engine enabling users to develop their own modules in Pd. The graphical front end is written using the open source Apache Flex framework. Integra Live is freely available under the GNU GPL license with source code available on GitHub.

Open Sound World

  • Open Sound World - or OSW, is a scalable, extensible programming environment that allows musicians, sound designers and researchers to process sound in response to expressive real-time control. OSW combines a familiar visual patching paradigm with solid programming-language features such as a strong type system and hierarchical name spaces. OSW also includes an intuitive model for specifying new components using a graphical interface and high-level C++ expressions, making it easy to develop and share new music and signal-processing algorithms.




  • IanniX is a graphical open-source sequencer, based on Iannis Xenakis works, for digital art. IanniX syncs via Open Sound Control (OSC) events and curves to your real-time environment.


  • Geosonix - a Performance Environment which means you can build unique sound controlling instruments that can be played in real time, either with MIDI or OSC controllers, or in Javascript with the built in REPL. (Read,Evaluate,Print Loop) If you know what a REPL is you will love this feature! Geosonix is an updated, easier to use, more powerful blend of GeoMaestro and Iannix that also borrows concepts from popular music workstation software. Geosonix is both refreshingly new, and deep, but the the same time comfortably familiar. Mac.


  • Fugio - an open visual programming system for building digital art and creative projects quickly, with no programming experience required. Fugio is 100% open source. Hosted on GitHub. Fugio runs on Windows, macOS/OS X, Ubuntu, Arch Linux, and Raspberry Pi.


  • PatchWork - a tool for computer-assisted composition, although it can be used also as a general purpose programming tool. At the time of writing PW has attracted more than 200 registered users. Among these are individuals with highly diverse musical and aesthetic backgrounds, including among others Jean Baptiste Barrière, Marc-André Dalbavie, Brian Ferneyhough, Paavo Heininen, Magnus Lindberg, Tristan Murail and Kaija Saariaho. PatchWork was conceived by Mikael Laurson in 1985-1986. Soon afterwards a close collaboration started with IRCAM (with Jaques Duthen and Camilo Rueda) which resulted in the first PW release in 1993. PW provides a graphical interface to Lisp. Any Lisp function can be translated to a graphically operable box. The programming syntax consists of making connections between boxes.


  • PWGL - a free visual language based on Common Lisp, CLOS and OpenGL, specialized in computer aided composition and sound synthesis. It is programmed using the Lispworks programming environment and runs under Mac OS X. PWGL integrates several programming paradigms (functional, object-oriented, constraint-based) with high-level visual representation of data and it can be used to solve a wide range of musical problems. PWGL is based on many concepts and ideas that were originally developed for PatchWork (Laurson, Rueda, Duthen, Assayag, Agon) and thus credit should be given to numerous programmers, composers and researchers that were involved in this project.


  • EyesWeb - an open platform to support the design and development of real-time multimodal systems and interfaces. It supports a wide number of input devices including motion capture systems, various types of professional and low cost videocameras, game interfaces (e.g., Kinect, Wii), multichiannel audio input (e.g. microphones), analog inputs (e.g. for physiological signals). Supported outputs include multichannel audio, video, analog devices, robotic platforms. Various standards are supported, including OSC, MIDI, FreeFrame and VST plugins, ASIO, Motion Capture standards and systems (Qualisys), Matlab. EyesWeb supports real-time synchronized recordings of multimodal channels, and includes a number of software libraries, including the Non-Verbal Expressive Gesture Analysis and the Non-Verbal Social Signals Analysis libs.


  • Cabel - a graphical user interface for building csound instruments by patching modules similar to modular synthesizers. It is simply customizable through XML. It's intended for Csound beginners to learn some fundamentals about this wonderful language (although installing all dependencies of Cabel isn't as trivial as it should be) and for advanced Csound users, who want to test their ideas and play with input parameters in a graphical user interface.


  • MFP - music for programmers, an environment for visually composing computer programs, with an emphasis on music and real-time audio synthesis and analysis. It's very much inspired by Miller Puckette's Pure Data (pd) and MAX/MSP, with a bit of LabView and TouchOSC for good measure.


  • - a full hardware audio plugin processor based on Arch Linux, JACK and the LV2 plugin standard. It also has MIDI-in, and a host of synths under the "Generators" tab, making it a tool of choice also for keyboardists (and virtual drummers, etc.). According to various reports and screenshots, there is an application in witch you compose your plugin chain(s) (and setup witch plugin parameter the HW buttons control) before you push it to the MOD pedal to rock away. The MOD-app (and its front-end MOD-ui) is the "desktop" version of this application where the chain is actually functionnal ; It exposes the inputs and the outputs of your soudcard, and you just insert plugins in between.


  • Blokdust - an open source web music app allowing you to build synths, manipulate samples and create self-playing sound environments.


  • - an audio processing framework, designed to be easy to learn and use both at live performances. The user defines a network of signal operations by creating a dataflow diagram. AlgAudio comes with a collection of building blocks, and is easily expandable with custom external modules.


  • aRts - analog real time synthesizer, an audio framework that is no longer under development. It was best known for previously being used in K Desktop Environment 2 and 3 to simulate an analog synthesizer. A key component of aRts was the sound server which mixes several sound streams in realtime. The sound server, called artsd (d for daemon), was also utilized as the standard sound server for K Desktop Environment 2–3. However, the sound server was not dependent on K Desktop Environment and can be used in other projects. It was a direct competitor to PulseAudio, another sound server, and an indirect competitor to the Enlightened Sound Daemon (ESD). It is now common to use PulseAudio instead of artsd. The aRts platform also includes aRts Builder — an application for building custom layouts and configurations for audio mixers, sequencers, synthesizers and other audio schema via a user-friendly graphical user interface. aRts is free software, distributed under the terms of the GNU General Public License.


  • SynFactory - The Interactive Modular Software Synthesizer. Fully modular, no fixed configuration. Free to route any signal to any module. All signals run at audio rate (44.1 Khz) therefore ultrafast LFO and Envelope modulation. VU-Meters. Output scope. Capture to stereo wave- or mp3-file






  • TouchDesigner - a visual development platform that equips you with the tools you need to create stunning realtime projects and rich user experiences. Whether you're creating interactive media systems, architectural projections, live music visuals, or simply rapid-prototyping your latest creative impulse, TouchDesigner is the platform that can do it all.

Windows / Mac


  • StudioFactory - provides a complete virtual audio studio on Windows. It has a very powerfull virtual analog modular synthesizer based on an improved version of the SynFactory synthesis engine. StudioFactory is fully compatible with SynFactory and can load all existing patch files. The synthesis engine is extended with additional modules that give access to MIDI and audio input. This makes it possible to play sounds generated by StudioFactory with an external MIDI-keyboard. With the audio input StudioFactory can be used as an standalone effect processor and provides reverb, echo and vocoder effects.


  • AudioMulch - an interactive musician's environment for Windows and Mac. It is used for live electronic music performance, composition and sound design. AudioMulch allows you to make music by patching together a range of sound producing and processing modules. Unlike some patcher-based programming environments, AudioMulch's modules perform high-level musical functions, so you don't have to create things from the ground up using individual oscillators and filters. AudioMulch is designed for live performance and improvisation - you can process live audio sources and control every knob and slider on the user interface using a MIDI controller. - $

MUX Modular

  • MUX Modular - a high-quality and flexible modular synth and effect plug-in. MUX Modular can be a vintage synthesizer or a hi-tec sample player, it can be a multi-band compressor or a stereo reverb, and it can be so much more... You can do almost anything with it! MUX Modular is integrated into MuLab and is also available as a VST plug-in for Windows. - $





  • - a framework to build and connect extremely flexible, reusable Python components. The hive system can be used for visual programming, large 3D applications, game logic, and scientific protocols




  • Flowgorithm - a free beginner's programming language that is based on simple graphical flowcharts. Typically, when a student first learns to program, they often use one of the text-based programming languages. Depending on the language, this can either be easy or frustratingly difficult. Many languages require you to write lines of confusing code just to display the text "Hello, world!".m By using flowcharts, you can concentrate on programming concepts rather than all the nuances of a typical programming language. You can also run your programs directly in Flowgorithm. Once you understand programming logic, it is easy for you to learn one of the major languages. Flowgorithm can interactively convert your flowchart to over 18 languages. These include: C#, C++, Java, JavaScript, Lua, Perl, Python, Ruby, Swift, Visual Basic .NET, and VBA (used in Office). 


Music Blocks