PortAudio is a cross-platform, open-source C language library for real-time audio input and output.
Go to file
Phil Burk 80ef9ac9c4
patest1: use mono input (#706)
Avoid error when requesting stereo input.

Also removed confusing stop after 20 seconds
that conflicted with stopping by key press.

For #595
2022-05-02 18:27:59 -07:00
.github GH Actions: update vcpkg (#707) 2022-05-03 11:14:30 +10:00
bindings remove SCons build system 2021-09-16 10:18:01 +10:00
cmake wasapi: Improved loopback implementation by avoiding excessive memory allocations inside the CreateDeviceList(), cleaned up comment, added export for PaWasapi_IsLoopback into .def. 2022-02-07 13:09:06 +02:00
doc Add build documentation for MinGW-w64 (#703) 2022-04-12 10:20:30 +10:00
examples CMake: Keep previous config naming to keep configuration options grouped (#631) 2021-09-15 17:43:00 -07:00
include Merge pull request #702 from dmitrykos/win_wasapi_comment_fix 2022-03-05 14:52:21 +02:00
msvc wasapi: Improved loopback implementation by avoiding excessive memory allocations inside the CreateDeviceList(), cleaned up comment, added export for PaWasapi_IsLoopback into .def. 2022-02-07 13:09:06 +02:00
qa CMake: include headers in sources of PortAudio 2021-08-22 21:18:50 +02:00
src JACK: fix assertion checking client name length 2022-03-03 12:28:58 +11:00
test patest1: use mono input (#706) 2022-05-02 18:27:59 -07:00
.editorconfig Add .editorconfig (#394) 2021-02-18 12:49:18 +11:00
.gitattributes Add .gitattributes to fix EOL 2016-05-18 22:05:13 -07:00
.gitignore mac autoconf: support current and future SDKs (#470) 2021-01-26 15:25:10 -08:00
CMakeLists.txt Fix CMAKE_INSTALL_INCLUDEDIR not being defined (#690) Fixes #689 2022-02-17 12:27:55 +11:00
Doxyfile removed bindings/java from doxygen generated documentation 2015-09-06 10:26:16 +00:00
Doxyfile.developer Normalize all the line endings 2016-05-18 22:13:20 -07:00
LICENSE.txt
Makefile.in Add Sun/NetBSD hostapi called audioio (#645) 2021-09-15 18:05:31 -07:00
README.configure.txt Add support for 10.11 SDK so PortAudio can compile on Mac. 2016-01-04 17:22:00 +00:00
README.md Add Sun/NetBSD hostapi called audioio (#645) 2021-09-15 18:05:31 -07:00
aclocal.m4 Fix user-facing and non-user-facing typos 2020-12-11 20:24:05 -05:00
clear_gitrevision.sh PA_GIT_REVISION: new scripts to replace SVN revision 2016-09-05 17:03:27 -07:00
config.guess Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
config.sub Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
configure Fix configure build broken by audioio (#654) 2021-10-06 17:07:25 -07:00
configure.in Fix configure build broken by audioio (#654) 2021-10-06 17:07:25 -07:00
depcomp Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
install-sh Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
ltmain.sh Fix user-facing and non-user-facing typos 2021-01-27 17:40:26 -08:00
missing Files needed for compiling on El Capitan. 2016-01-04 17:22:56 +00:00
portaudio-2.0.pc.in
update_gitrevision.sh PA_GIT_REVISION: new scripts to replace SVN revision 2016-09-05 17:03:27 -07:00
vcpkg.json fix JACK host API build for MSVC and MinGW (#618) 2021-09-15 17:26:22 -07:00

README.md

PortAudio - portable audio I/O library

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:

  • Documentation is available at http://www.portaudio.com/docs/
  • 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.)

For information on compiling programs with PortAudio, please see the tutorial at:

http://portaudio.com/docs/v19-doxydocs/tutorial_start.html

We have an active mailing list for user and developer discussions. Please feel free to join. See http://www.portaudio.com for details.

Important Files and Folders:

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

Host API Implementations:

src/hostapi/alsa        = Advanced Linux Sound Architecture (ALSA)
src/hostapi/asihpi      = AudioScience HPI
src/hostapi/asio        = ASIO for Windows and Macintosh
src/hostapi/audioio     = /dev/audio (Solaris/NetBSD Audio)
src/hostapi/coreaudio   = Macintosh Core Audio for OS X
src/hostapi/dsound      = Windows Direct Sound
src/hostapi/jack        = JACK Audio Connection Kit
src/hostapi/oss         = Unix Open Sound System (OSS)
src/hostapi/wasapi      = Windows Vista WASAPI
src/hostapi/wdmks       = Windows WDM Kernel Streaming
src/hostapi/wmme        = Windows MultiMedia Extensions (MME)

Test Programs:

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