| CARVIEW |
The following libraries are included with the Processing software. To add one to a project, select its name from the "Import Library..." option in the Sketch menu. These libraries are open source; the code is distributed with Processing.
Video
Interface to Apple's QuickTime for using a camera, playing movie files, and creating movies.
Network
Sending and receiving data via the Internet through the creation of simple clients and servers.
Serial
Supports sending data between Processing and external hardware via serial communication (RS-232).
PDF Export
Generates PDF files.
OpenGL
Support for exporting OpenGL accelerated sketches. Utilizes the JOGL library.
» Minim
Uses the JavaSound API to provide an easy-to-use audio library. A simple API while still providing a reasonable amount of flexibility for more advanced users.
DXF Export
Lines and triangles from P3D or OPENGL rendering modes can be sent directly to a DXF file.
» Arduino
Allows direct control of an Arduino board through Processing.
» Netscape.JavaScript
Methods for interfacing between Javascript and Java Applets exported from Processing.
Candy SVG Import
This library has been moved to the Processing core code as of version 149. To load SVG files, check out the reference for PShape(), loadShape(), and shape().
XML Import
This library has been moved to the Processing core as of version 149. To load XML data, check out the reference for XMLElement in the extended reference.
Contributed libraries must be downloaded separately and placed within the "libraries" folder of your Processing sketchbook. To find the Processing sketchbook location on your computer, open the Preferences window from the Processing application and look for the "Sketchbook location" item at the top. Copy the contributed library's folder into the "libraries" folder at this location. You will need to create the "libraries" folder if this is your first contributed library. Follow the links below for more information about each library.
Contributed libraries are developed, documented, and maintained by members of the Processing community. For feedback and support, please post to the Discourse, for development discussions post to Libraries, Tool Development. Instructions for creating your own library are on the Develop Processing site.
On 19 Jan 2009, libraries that had not yet been updated for Processing 1.0 were removed from this list.
Sound
» p5_sc
by Daniel Jones
SuperCollider for Processing, an implementation of many core elements of SuperCollider's
client-side language.
» Tactu5
by Alessandro Capozzo
Aids the creation of algorithmic music in real time. Consists of a set of classes focused
in defining musical elements, utility classes, and an aggregator.
» Beads
by Ollie Bown
A realtime audio library for computer music and sonic art in realtime performance,
installation artworks, web content and more.
» jm-Etude
by Daniel Dihardja
Provides functions to communicate with jMusic
for easier music composition programming.
» Ess
by Krister Olsson
Sound library that allows sound sample data to be loaded or streamed, generated
in real-time, manipulated, saved, analyzed or simply played back.
» ttslib
by Nikolaus Gradwohl
ttslib is a wrapper around freetts and can be used to give your sketches a voice.
» Sonia
by Amit Pitaru
Audio library for sound playback and synthesis. Integrates Jsyn
and requires a browser plugin for playback.
SoundCipher
by Andrew R. Brown
SoundCipher provides an easy interface for playing 'notes' on the JavaSound synthesizer and for playback of audio files.
Import \ Export
» OBJ Loader
by Tatsuya SAITO and Polymonkey
Loads .OBJ files into Processing, includes geometry and texture data.
» supercad
by Guillaume Labelle
Lets you export code to many 3d formats such as AutoCAD, Rhino, or SketchUP.
» blinkenlights exporter
by ruin & wesen
This Processing library is designed to export sketches to the Blinkenlights BML file format
» sDrop
by Andreas Schlegel
A drag and drop implementation for Processing.
» unzipit
by Yonas Sandbaek
Reading Bytes, Strings, PFonts or PImages from a Zip-File.
» postToWeb
by Yonas Sandbaek
Upload files to a web server, supported formats are pdf, png, jpeg, gif and tiff.
» MRI3DS
by Victor Martins
Load 3d studio .3ds files into your processing sketches.
» ObjImport
by Victor Martins
This library imports .obj files and supports groups, material references, vertex-, normal-, and texture-coordinates.
» fluid forms libs
Stephen Williams
Fluid Forms Libs aims to provide functionalities to processing that are often require when creating physical forms with code.
Tools
» proDOC
by Christian Riekoff
Generates documentation for Processing libraries from the source code.
Requires inserting tags in the comments of the classes, fields, and methods.
» fullscreen api
by Hansi Raber
A library for fullscreen support, including dual screen.
» EclipseP5Exporter
by Daniel C. Howe
Mimics Processing's PDE export code in an Eclipse plugin for simple export of applications (for Mac OS X, Windows, & Linux) and applets, with and w'out OpenGL support, directly from the Eclipse interface.
» ImageAdjuster
by Dave Bollinger
Performs brightness, contrast, gamma and other such adjustments on images. Contains both high-level and low-level
routines, and can be extended via user-defined transformations.
Hardware Interface
» Most Pixels Ever
by Daniel Shiffman and Chris Kairalla
Framework for spanning Processing sketches across multiple screens.
» NXTComm
by Jorge Cardoso
Allows control of the Lego Mindstorms NXT robots.
» proCONTROLL
by Christian Riekoff
Allows Processing to communicate with control devices like joysticks
and joypads.
» Apple SMS
by Daniel Shiffman
Interface to the Apple Sudden Motion Sensor in PowerBooks (and MacBooks) since 2005.
» Apple Light Sensor
by Martin Rädlinger
Interface to the Light Sensor in MacBook Pro computers.
» Tablet
by Marcus Wendt
Drawing tablet library with access to your pressure, tilt and rotational data.
» JTablet
by Cellosoft
Graphics tablet access for Java applets (while this is not strictly a Processing library, it's extremely useful and easy to interface.)
Animation
» Shapetween
by Lee Byron and Golan Levin
An easy way to animate elements in a variety of ways.
» gifAnimation
by Patrick Meister
Plays and exports GIF animations.
» motion
by Yonas Sandbaek
Motion simplified.
Typography / Geometry
» NextText
by Elie Zananiri / Obx Labs
Assists in making dynamic and interactive text-based applications.
» Geomerative
by Ricard Marxer Pinon
Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
» Vertext
by Michael Chang
Enables drawing giant, detailed typography at high frame rates.
» point2line
by Carl Emil Carlsen
Basic tools for calculating geometry in two dimensions.
» MovingLetters
by Ilu
Typeface of moving, jittering letters.
Computer Vision / Video
» GSVideo
by Andres Colubri
Uses GStreamer as an alternative to QuickTime for movie playback and camera capture.
» BlobDetection
by v3ga
Performs the computer vision technique of finding "blobs"
in an image.
» OpenCV
by Stephane Cousot and Douglas Edric Stanley
An OpenCV implementation for processing including blob detection, face recognition and more. This library is highly recommended.
» integralhistogram
by Giovanni Tarducci and Alessio Barducci
The integral histogram method allows to obtain the color or intensity histogram of all possible target regions in a Cartesian data space.
» jmcvideo
by Angus Forbes
A simple wrapper for playing videos and grabbing video data for any of the formats that the JMC library supports.
» Face Detect (PC)
by Bryan Chung
Face detection library made with WebCamXtra and the openCV framework. PC only.
» TUIO Client
by Martin Kaltenbrunner
Client library for the simple creation of tangible interactive surfaces, receiving TUIO data from
object and multi-touch trackers such as reacTIVision.
» P-SURF
by Claudio Fantacci and Alessandro Martini
An implementation of the SURF (Speeded Up Robust Features) feature detector to search for discrete image correspondences.
» JMyron (WebCamXtra)
by Josh Nimoy et
al.
Camera library for motion detection, color tracking, glob distinction,
and pixel addressing. Does not require QuickTime or WinVDIG for Windows machines.
» LibCV
by toxi
Grabs video frames from a camera using the Java Media Framework (JMF).
Does not require QuickTime or WinVDIG for Windows machines.
» tuioZones
by jLyst
tuioZones provides a way to set zones within a multi-touch screen to respond
to TUIO messages sent from a tracking application.
» CbModel
by Federico Bartoli
CbModel is a library for motion detection based on background modeling and subtraction.
3D
» OCD
by Kristian
Linn Damkjer
The Obsessive Camera Direction (OCD) library allows intuitive control
and creation of Processing viewport Cameras.
» SuperPoint
by JohnG
Use large numbers of points and/or triangles in an OpenGL sketch.
» UnwrappingLib
by Martin Fuchs
unwrap low polygon models for reconstruction and digital production.
» surfaceLib
by Andreas Köberle and Christian Riekoff
An easy way to create different 3D surfaces. Contains a library of surfaces
and a class to extend.
» NPR
by Katrin Lang
A non-photorealistic renderer for 3D-Models in Processing.
» Gestalt
by Patrick Kochlik and Dennis Paul
Gestalt is an open structured environment, designed to prototype and
develop OpenGL- and Java-based sketches and applications.
» PeasyCam
by Jonathan Feinberg
A mouse driven camera-control library for 3D sketches.
» Patchy
by Jonathan Feinberg
Renders 3D shapes known as "bicubic patches".
» Voltron
by Joseph Scully
volTron allows you to plot 3D volumetric forms from .img and .raw.gz data sets as voxels or pixelclouds.
Simulation / Math
» Physics
by Jeffrey Traer Bernstein
Simple particle system physics engine. No collisions, just particles,
springs, gravity & drag.
» MSAFluid
by Memo Akten
A library for solving real-time fluid dynamics simulations.
» AI Libraries
by Aaron Steed
A set of libraries to assist with artificial programming tasks such as genetic algorithms and the AStar algorithm.
» Cell Noise
by Carl-Johan Rosen
Explores cell noise (Worley noise), a pattern generation algorithms useful for animation.
» Eliza
by Andres Colubri
Implementation of the classes A.I. bot, Eliza.
» MatrixMath
by Francis Bitonti
Helpful code for matrix operations.
» Cellular Autonmata
by Francis Bitonti
Simplifies making cellular automata calculations.
» BoxWrap2D
by ewjordan
BoxWrap2D runs on top of JBox2D enabling simple integration of JBox2D with Processing.
Graphic Interface
» controlP5
by Andreas Schlegel
Custom GUI elements with the ability to show/hide and move while the program is running. This library is highly recommended.
» Interfascia
by Brendan Berg
Provides a toolkit of standard interface widgets like text fields, buttons,
checkboxes, sliders, etc.
» G4P
by Peter Lager
GUI 4 processing provides a set of 2D GUI components such as buttons, sliders, labels, text boxes and more.
» ezGestures
by Elie Zananiri
A modular gesture recognition library.
Compilations
» unlekkerLib
by Marius Watz
Code for STL import and export, Mersenne Twister pseudo-random number generator, a TileSaver class for creating high-res images from OpenGL graphics by tiling the viewport, and for checking line intersection and collision with complex 2D polygons.
» toxiclibs
by toxi
Code for audio (JOAL), working with geometry, image filters, optimized math functions, and more.
Data / Protocols
» bluetoothDesktop
by Patrick Meister
Send and receive data via Bluetooth wireless networks.
» Yahoo! Search Library
by Daniel Shiffman
Access the Yahoo! Search API directly in Processing.
» SFTP
by Daniel Shiffman
Allows Processing to use SFTP for secure file transfer; uses JSch (Java Secure Channel).
» XBee
by Rob Faludi / Dan Shiffman
Interfaces with Digi's XBee radios.
» themidibus
by Severin Smith
Handles real time inbound/outbound MIDI in a simple way.
» proMidi
by Christian Riekoff
Allows Processing to send and receive midi information.
» proHTML
by Christian Riekoff
Allows Processing to take an HTML document and change it from a linear
string to a tree structure.
» proXML
by Christian Riekoff
Allows Processing to read and write XML files.
» romefeeder
by Bruno Nadeau
facilitates the management of syndicated feeds.
» oscP5
by Andreas Schlegel
An OpenSound
Control (OSC) implementation for Processing.
» SQLibrary
by Florian Jenett
A library to facilitate communication with MySQL or SQLite databases.
» Carnivore
by RSG
A TCP/UDP packet sniffer library for the Processing programming language.
» Monomic
by Jesse Kriss
Enables communication between Processing and the monome 40h device.
» XlsReader
by Florian Jenett
Lets you read data from xls (Excel) files.
» ical4p
by Nikolaus Gradwohl
This library allows the simple access of calendar events stored in a ical file.
» colorlib
by Andreas Koeberle, Jan Vantomme
Makes it easy to import color palettes from different files like .act and .cs or webservices like colr, kuler and colourLovers.
» UDP
by Stephane Cousot
Enables simple UDP communication, as well as multicast support.
» RiTa
by Daniel C. Howe
An easy-to-use natural language library that provides simple tools for experimenting with generative (or computational, or digital) literature.
» RiTa.Wordnet
by Daniel C. Howe
Provides access to the Wordnet ontology as well as distance metrics.
» xmlrpclib
by Burak Arikan
An XML-RPC library for Processing. XML-RPC is a widely adopted Remote Procedure
Calling protocol that works over the Internet.
» EEML Library
by Usman Haque
Extended Environments Markup Language (EEML) is a protocol for sharing sensor data
between remote responsive environments, both physical and virtual.
» ID3
by Jorge Cardoso
Allows Processing to read the ID3v1.1 tags from MP3 files.
» QRCode
by Daniel Shiffman
Reads QR Code images, a two-dimensional barcode format.
» Arduino Library
by David A. Mellis
This Processing library communicates with Arduino boards that are running a standard firmware called Firmata.
