PortAudio

Last updated
PortAudio
Original author(s) Ross Bencina
Stable release
19.7.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 6 April 2021;11 months ago (6 April 2021)
Repository
Written in C
Operating system Cross-platform
Type API
License MIT License
Website www.portaudio.com

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.

Contents

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, [2] and so does JACK on the Windows platform.

See also

Notes

  1. "Release v19.7.0".
  2. "About Audacity: Credits". audacityteam.org. Retrieved 4 August 2014.

Related Research Articles

Simple DirectMedia Layer

Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

A software synthesizer or softsynth is a computer program that generates digital audio, usually for music. Computer software that can create sounds or music is not new, but advances in processing speed now allow softsynths to accomplish the same tasks that previously required the dedicated hardware of a conventional synthesizer. Softsynths may be readily interfaced with other music software such as music sequencers typically in the context of a digital audio workstation. Softsynths are usually less expensive and can be more portable than dedicated hardware.

wxWidgets

wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.

JACK Audio Connection Kit is a professional sound server API and pair of daemon implementations to provide real-time, low-latency connections for both audio and MIDI data between applications. JACK was developed by a community of open-source developers led by Paul Davis and has been a key piece of infrastructure and the de facto standard for professional audio software on Linux since its inception in 2002. The server is free software, licensed under GPL-2.0-or-later, while the library is licensed under LGPL-2.1-or-later.

Audacity (audio editor) Open-source digital audio editor and recording application

Audacity is a free and open-source digital audio editor and recording application software, available for Windows, macOS, Linux, and other Unix-like operating systems. The project was started in the fall of 1999 by Dominic Mazzoni and Roger Dannenberg at Carnegie Mellon University, and released on May 28, 2000 as version 0.8.

Virtual Studio Technology Software plug-in interface used in computer-based audio production

Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and many audio applications support VST under license from its creator, Steinberg.

Digital audio workstation Computer workstation or software application used for editing and creating music and audio

A digital audio workstation (DAW) is an electronic device or application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Regardless of configuration, modern DAWs have a central interface that allows the user to alter and mix multiple recordings and tracks into a final produced piece.

Rosegarden Digital audio workstation program for BSD and Linux

Rosegarden is a free software digital audio workstation program developed for Linux with ALSA and Qt4. It acts as an audio and MIDI sequencer, scorewriter and musical composition and editing tool. It is intended to be a free alternative to such applications as Cubase.

The GNU toolchain is a broad collection of programming tools produced by the GNU Project. These tools form a toolchain used for developing software applications and operating systems.

Audio Stream Input/Output Computer sound card driver protocol

Audio Stream Input/Output (ASIO) is a computer sound card driver protocol for digital audio specified by Steinberg, providing a low-latency and high fidelity interface between a software application and a computer's sound card. Whereas Microsoft's DirectSound is commonly used as an intermediary signal path for non-professional users, ASIO allows musicians and sound engineers to access external hardware directly.

blueMSX is a portable open-source MSX emulator that uses an emulation model to achieve the highest level of accuracy possible. It is available for the Microsoft Windows operating system and is ported to multiple other systems. It has been translated into 14 different languages. blueMSX includes a powerful debugger with support for several assembly formats and a machine configuration editor that allows advanced users to set up practically any MSX computer system ever made.

Mixxx Open-source virtual DJ software

Mixxx is free and open-source software for DJing. It is cross-platform and supports most common music file formats. Mixxx can be controlled with MIDI and HID controllers and timecode vinyl records in addition to computer keyboards and mice.

Portability in high-level computer programming is the usability of the same software in different environments. The prerequirement for portability is the generalized abstraction between the application logic and system interfaces. When software with the same functionality is produced for several computing platforms, portability is the key issue for development cost reduction.

References