PortMedia APIs

Platform Independent Libraries for Sound and MIDI



PortMedia is supported by the
National Science Foundation


What is PortMedia?

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

Who is PortMedia?

PortMedia 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 PortMedia 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 PortMedia?

PortMedia users benefit from simple clean interfaces for sound input and output.
PortMedia 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 PortMedia?

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

Apps

Status

PortAudio -- real-time audio input/output

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

PortMidi -- real-time MIDI input/output PmDefaults Win32 mme, Mac OS X,
Linux Alsa 0.9.x
PortSoundFile -- sound file input/output    
under discussion
PortSMF -- standard midi file input/output  
Win32, Mac OS X -- code is available

Who Uses PortMedia?

Nicolas Bats, D::Light
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)

Jan Eidtmann, (prodatum preset editor for E-MU Proteus 2000 synthesizer family)

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?)