Skip to content
EntityQ3075404· pop 6· linked from 14 articles

PortAudio is an open-source computer library for audio playback and recording. It is a cross-platform library, so programs using it can run on many different computer operating systems, including Windows, Mac OS X and Linux. PortAudio supports Core Audio, ALSA, and MME, DirectSound, ASIO and WASAPI on Windows. Like other libraries whose primary goal is portability, PortAudio is written in the C programming language. It has also been implemented in the languages PureBasic and Lazarus/Free Pascal. PortAudio is based on a callback paradigm, similar to JACK and ASIO.

Source code

PortAudio is a portable audio I/O library designed for cross-platform support of audio. It uses either a callback mechanism to request audio processing, or blocking read/write calls to buffer data between the native audio subsystem and the client. Audio can be processed in various formats, including 32 bit floating point, and will be converted to the native format internally. Documentation is available at Or at /doc/html/index.html after running Doxygen. Also see src/common/portaudio.h for the API spec. And see the examples/ and test/ directories for many examples of usage. (We suggest examples/paex saw.c for an example.) We have an active mailing list for user and developer discussions. Please feel free to join. See for details. include/portaudio.h = header file for PortAudio API. Specifies API. src/common/ = platform independent code, host independent code for all implementations. src/os = os specific (but host api neutral) code src/hostapi = implementations for different host apis test/pa fuzz.c = guitar fuzz box test/pa devs.c = print a list of available devices test/pa minlat.c = determine minimum latency for your machine test/paqa devs.c = self test that opens all devices test/paqa errs.c = test error detection and reporting test/patest clip.c = hear a sine wave clipped and unclipped test/patest dither.c = hear effects of dithering (extremely subtle) test/patest pink.c = fun with pink noise test/patest record.c = record and playback some audio test/patest maxsines.c = how many sine waves can we play? Tests Pa GetCPULoad(). test/patest sine.c = output a sine wave in a simple PA app test/patest sync.c = test synchronization of audio and video test/patest wire.c = pass input to output, wire simulator

Excerpt from the source-code README · 3,084 chars · not written by Vinony

Wikidata facts

Official website
www.portaudio.com
Show 2 more facts
software version identifier
19.7.0
source code repository URL
github.com/PortAudio/portaudio
Sources (4)

via Wikidata · CC0

~1 min read

Article

4 sections
Contents
  • See also
  • Notes
  • References
  • External links

PortAudio is an open-source computer library for audio playback and recording. It is a cross-platform library, so programs using it can run on many different computer operating systems, including Windows, Mac OS X and Linux. PortAudio supports Core Audio, ALSA, and MME, DirectSound, ASIO and WASAPI on Windows. Like other libraries whose primary goal is portability, PortAudio is written in the C programming language. It has also been implemented in the languages PureBasic and Lazarus/Free Pascal. PortAudio is based on a callback paradigm, similar to JACK and ASIO.

PortAudio is part of the PortMedia project, which aims to provide a set of platform-independent libraries for music software. The free audio editor Audacity uses the PortAudio library, and so does JACK on the Windows platform.

Available in 6 languages

via Wikidata sitelinks · CC0

Connections

Categories