Go bindings for the PortAudio audio I/O library, enabling audio input/output operations in Go applications.
gordonklaus/portaudio is a Go language binding for the PortAudio audio I/O library, enabling developers to handle audio streams in Go applications. It provides cross-platform audio input and output operations, making it suitable for building audio processing, recording, and playback tools.
Go developers working on audio-related applications such as audio processing software, recording tools, or playback systems that require real-time audio stream management.
Developers choose this package for its clean, idiomatic Go bindings that make PortAudio's powerful audio capabilities accessible while maintaining compatibility with the underlying C library, offering a straightforward way to integrate cross-platform audio I/O in Go projects.
Go bindings for the PortAudio audio I/O library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works on Linux, macOS, and Windows where PortAudio is available, enabling consistent audio I/O across operating systems as stated in the key features.
Provides clean, idiomatic Go bindings that make PortAudio's capabilities accessible without sacrificing Go's conventions, aligning with the project philosophy.
Supports discovering and selecting available audio devices and host APIs, facilitating flexible audio hardware management as highlighted in the key features.
Enables creation and control of audio streams for real-time processing, essential for audio recording and playback tools as described.
Requires installation of PortAudio development headers and libraries, adding complexity to setup and deployment compared to pure Go packages, as noted in the README.
Focuses on low-level bindings, so developers must implement audio processing logic themselves, lacking built-in effects or advanced audio utilities beyond PortAudio's scope.
The README is brief and primarily points to package documentation, which may require additional effort for newcomers to understand usage and troubleshooting.