All Projects → go-audio → Audio

go-audio / Audio

Licence: apache-2.0
Generic Go package designed to define a common interface to analyze and/or process audio data

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Audio

Libopenshot Audio
OpenShot Audio Library (libopenshot-audio) is a free, open-source project that enables high-quality editing and playback of audio, and is based on the amazing JUCE library.
Stars: ✭ 120 (-6.98%)
Mutual labels:  audio, audio-library
Kira
Library for expressive game audio.
Stars: ✭ 237 (+83.72%)
Mutual labels:  audio, audio-library
Swiftaudio
Audio player for iOS
Stars: ✭ 160 (+24.03%)
Mutual labels:  audio, audio-library
Cscore
An advanced audio library, written in C#. Provides tons of features. From playing/recording audio to decoding/encoding audio streams/files to processing audio data in realtime (e.g. applying custom effects during playback, create visualizations,...). The possibilities are nearly unlimited.
Stars: ✭ 1,768 (+1270.54%)
Mutual labels:  audio, audio-library
Libretime
LibreTime: Radio Broadcast & Automation Platform
Stars: ✭ 439 (+240.31%)
Mutual labels:  audio, audio-library
Fradioplayer
A simple radio player framework for iOS, macOS, tvOS.
Stars: ✭ 183 (+41.86%)
Mutual labels:  audio, audio-library
Mwengine
Audio engine and DSP for Android, written in C++ providing low latency performance in a musical context, supporting both OpenSL and AAudio.
Stars: ✭ 190 (+47.29%)
Mutual labels:  audio, audio-library
Libnyquist
🎤 Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc)
Stars: ✭ 311 (+141.09%)
Mutual labels:  audio, audio-library
Supercolliderjs
The JavaScript client library for SuperCollider
Stars: ✭ 381 (+195.35%)
Mutual labels:  audio, audio-library
Howler.js
Javascript audio library for the modern web.
Stars: ✭ 19,425 (+14958.14%)
Mutual labels:  audio, audio-library
Miniaudio
Single file audio playback and capture library written in C.
Stars: ✭ 1,889 (+1364.34%)
Mutual labels:  audio, audio-library
Awesome Web Audio
A list of resources and projects to help learn about audio
Stars: ✭ 73 (-43.41%)
Mutual labels:  audio, audio-library
Libaudiodecoder
The Cross-Platform Audio Decoder API
Stars: ✭ 114 (-11.63%)
Mutual labels:  audio, audio-library
Itunes store transporter
Upload and manage your assets in the iTunes Store using the iTunes Store’s Transporter (iTMSTransporter).
Stars: ✭ 117 (-9.3%)
Mutual labels:  audio
Alexa Voice Service.js
Library for interacting with Alexa Voice Service (AVS) in the browser.
Stars: ✭ 123 (-4.65%)
Mutual labels:  audio
Ocamlverse.github.io
Documentation of everything relevant in the OCaml world
Stars: ✭ 117 (-9.3%)
Mutual labels:  audio
Pulseaudio Modules Bt
[Deprecated, see https://github.com/EHfive/pulseaudio-modules-bt/issues/154] Adds Sony LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support to PulseAudio on Linux
Stars: ✭ 1,664 (+1189.92%)
Mutual labels:  audio
Edsp
A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.
Stars: ✭ 116 (-10.08%)
Mutual labels:  audio
Goaudio
Go tools for audio processing & creation 🎶
Stars: ✭ 116 (-10.08%)
Mutual labels:  audio
Obs Ndi
NewTek NDI integration for OBS Studio
Stars: ✭ 1,893 (+1367.44%)
Mutual labels:  audio

audio

GoDoc

audio is a generic Go package designed to define a common interface to analyze and/or process audio data.

At the heart of the package is the Buffer interface and its implementations:

  • FloatBuffer
  • Float32Buffer
  • IntBuffer

Decoders, encoders, processors, analyzers and transformers can be written to accept or return these types and share a common interface.

The idea is that audio libraries can define this interface or its implementations as input and return an audio.Buffer interface allowing all audio libraries to be chainable.

Performance

The buffer implementations are designed so a buffer can be reused and mutated avoiding allocation penalties.

It is recommended to avoid using Float32Buffer unless performance is critical. The major drawback of using float32s is that the Go stdlib was designed to work with float64 and therefore the access to standard packages is limited.

Usage

Examples of how to use this interface is available under the go-audio organization.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].