MCPcopy Index your code
hub / github.com/PortAudio/portaudio

github.com/PortAudio/portaudio @v19.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v19.7.0 ↗ · + Follow
1,959 symbols 5,600 edges 205 files 623 documented · 32%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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/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

Core symbols most depended-on inside this repo

Pa_Terminate
called by 123
src/common/pa_front.c
PaUtil_FreeMemory
called by 122
src/os/win/pa_win_util.c
Pa_Sleep
called by 111
src/os/win/pa_win_util.c
Pa_GetDeviceInfo
called by 106
src/common/pa_front.c
Pa_OpenStream
called by 96
src/common/pa_front.c
Pa_CloseStream
called by 89
src/common/pa_front.c
Pa_GetErrorText
called by 85
src/common/pa_front.c
PaUtil_AllocateMemory
called by 83
src/os/win/pa_win_util.c

Shape

Function 1,345
Class 310
Method 233
Enum 71

Languages

C69%
C++28%
Java3%
Python1%

Modules by API surface

src/hostapi/wasapi/pa_win_wasapi.c160 symbols
src/hostapi/wdmks/pa_win_wdmks.c133 symbols
src/hostapi/alsa/pa_linux_alsa.c99 symbols
src/hostapi/wasapi/mingw-include/ksmedia.h80 symbols
src/hostapi/wmme/pa_win_wmme.c68 symbols
src/common/pa_converters.c67 symbols
src/hostapi/asio/pa_asio.cpp65 symbols
src/hostapi/wasapi/mingw-include/ks.h52 symbols
src/hostapi/dsound/pa_win_ds.c48 symbols
src/common/pa_front.c48 symbols
src/hostapi/oss/pa_unix_oss.c47 symbols
src/hostapi/asihpi/pa_linux_asihpi.c45 symbols

For agents

$ claude mcp add portaudio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact