PortAudio
Sign in to savePortAudio 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
via Wikidata · CC0
~1 min read
Article
4 sectionsContents
- 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.