PortMusic APIs

Platform Independent Libraries for Sound and MIDI

PortMusic is supported by the
National Science Foundation

What is PortMusic?

PortMusic is a set of APIs and library implementations for music.
PortMusic is open-source and runs on Windows, Macintosh, and Linux.
Currently, libraries support Audio I/O and MIDI I/O.

Who is PortMusic?

PortMusic is the result of discussion among many computer music researchers and developers. After considering many options, the group decided to endorse the work of Phil Burk and Ross Bencina who created the PortAudio library. Supporters and users of PortMusic are listed below. Our goal is to extend the PortAudio foundation to support MIDI, sound files, and perhaps other basic music software interfaces. You can help!

Why PortMusic?

PortMusic users benefit from simple clean interfaces for sound input and output.
PortMusic is maintained by a community: the more we share, the less we write and maintain.
No other cross-platform APIs enjoy a support community.

Where is PortMusic?

Mailing list: media_api@create.ucsb.edu (courtesy of Stephen Pope)

Archives: http://lists.create.ucsb.edu/mailman/listinfo/media_api

Library/Function

Documentation

Source

Status

PortAudio -- real-time audio input/output

Mac,
Win32 (MME, ASIO & DirectSound),
Linux, others ...

PortMidi -- real-time MIDI input/output
Win32 mme, Mac OS X,
Linux Alsa 0.9.x
PortSoundFile -- sound file input/output     under discussion

Who Uses PortMusic?

Ross Bencina, AudioMulch.com (AudioMulch)
Phil Burk, SoftSynth.com (JSyn)
Carnegie Mellon University, Computer Music Project (Audacity, Nyquist, Aura)
Chris Chafe, CCRMA (future projects)

CREATE (Spatial Sound and Squeak)

John ffitch, Michael Gogins, and others, (Csound5)

RTcmix, Brad Garton (Columbia University), John Gibson (Indiana University), Doug Scott (Beatnik), and Dave Topper (University of Virginia)
Miller Puckette, UCSD (PD)
Douglas Irving Repetto, Columbia University Computer Music Center
Robert Rowe, New York University (future projects)
Craig Sapp, CCRMA ( Improv interactive MIDI programming environment)
Belinda Thom, Computer Science Department, Harvey Mudd College
Tim Thompson, AT&T (KeyKit)
University of Michigan MUSEN Project
Wave Idea, Bitstream 3x
Matt Wright, CNMAT (future projects)
(should your name be here?)