PortAudio

# Overview

PortAudio is a cross-platform, open-source C language library for real-time audio input and output. The library provides functions that allow your software to acquire and output real-time audio streams from your computer's hardware audio interfaces. It is designed to simplify writing cross-platform audio applications, and also to simplify the development of audio software in general by hiding the complexities of dealing directly with each native audio API. PortAudio is used to implement sound recording, editing and mixing applications, software synthesizers, effects processors, music players, internet telephony applications, software defined radios and more. Supported platforms include MS Windows, Mac OS X and Linux. Third-party language bindings make it possible to call PortAudio from other programming languages including Java, C++, C#, Python, PureBasic, FreePascal and Lazarus.

# Start here

- PortAudio API Overview
  A top-down view of the PortAudio API, its capabilities, functions and data structures
- PortAudio Tutorials
  Get started writing code with PortAudio tutorials
- Examples
  Simple example programs demonstrating PortAudio usage
- PortAudio License
  PortAudio is licenced under the MIT Expat open source licence. We make a non-binding request for you to contribute your changes back to the project.

# API Reference

- portaudio.h Portable API
  Detailed documentation for each portable API function and data type
- Host API Specific Extensions
  Documentation for non-portable platform-specific host API extensions

# Resources

- The PortAudio website
- Our mailing list for users and developers
- The PortAudio wiki

# Developer Resources

- Our repository on GitHub
- Developer guidelines
- Implementation style guidelines

If you're interested in helping out with PortAudio development we're more than happy for you to be involved. Just drop by the PortAudio mailing list and ask how you can help. Or check out these recommended starter issues.

# Older API Versions

This documentation covers the current API version: PortAudio V19, API version 2.0. API 2.0 differs in a number of ways from previous versions (most often encountered in PortAudio V18), please consult the enhancement proposals for details of what was added/changed for V19: http://www.portaudio.com/docs/proposals/index.html