63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
# 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
|