72 个仓库
Libraries for manipulating audio and music.
Explore 72 awesome GitHub repositories matching part of an awesome list · Audio And Music. Refine with filters or upvote what's useful.
Howler.js is a JavaScript library that provides a unified interface for managing audio playback across web browsers. It functions as a cross-browser audio engine, abstracting complex browser audio APIs into a consistent developer experience while ensuring reliable performance through automatic fallback mechanisms. The library distinguishes itself by offering specialized tools for spatial audio and efficient asset management. It includes a spatial audio framework that maps three-dimensional vectors to audio nodes for immersive sound positioning, alongside an audio sprite manager that allows de
Reliable cross-platform audio library.
Tone.js is a web-based audio synthesizer and framework for the Web Audio API. It provides a digital signal processing toolkit, a musical timing engine, and a library for MIDI processing to create interactive music and synthesizers directly in the browser. The project features a musical timing engine that coordinates audio events and loops using BPM-relative timing and a global transport. It includes a MIDI processing library capable of converting binary MIDI files into JSON format to trigger sounds and control audio parameters in real time. Its capabilities cover polyphonic sound synthesis,
Framework for interactive music and audio synthesis.
AudioKit is an audio framework for iOS, macOS, and tvOS that provides tools for digital audio synthesis, signal processing, and audio analysis. It functions as a synthesis engine for generating audio waveforms and textures, a processing library for modifying tonal characteristics, and a toolkit for extracting frequency and amplitude data from sonic signals. The framework utilizes a modular node architecture and graph-based signal routing to connect audio generators, processors, and outputs. It wraps low-level audio primitives in high-level classes to facilitate sound generation and modificati
Platform for audio synthesis and analysis.
wavesurfer.js is a WebAudio playback library and interactive waveform visualizer that renders audio data onto an HTML5 canvas. It enables users to see and navigate sound files through a visual representation of audio peaks, allowing for direct seeking and playback control within a web browser. The project is distinguished by its flexible rendering model, which can use precomputed peak data to display waveforms without downloading or decoding the full audio file. It utilizes a plugin-based extension model to integrate advanced tools such as spectrograms, interactive audio timelines, and real-t
Displays navigable audio waveforms.
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
Loads sound samples and streams music files to provide auditory feedback.
NAudio is a .NET audio library that provides playback, recording, format conversion, and signal processing capabilities for Windows applications. It serves as an audio format converter between common formats like WAV, MP3, AAC, and AIFF using ACM or Media Foundation codecs, and functions as an audio playback and recording API through Windows audio APIs including WaveOut, DirectSound, ASIO, and WASAPI. The library includes an audio stream processor that can mix, trim, loop, fade, resample, and adjust pitch or channel count of audio streams with a floating-point engine. It also provides an audi
Audio and MIDI library for .NET.
Alda is a text-based music programming language and command-line tool for composing, playing, and live-coding musical scores. It functions as a MIDI composition engine that renders plain-text scores into audio output, and as a live coding environment where code entered in a read-eval-print loop produces real-time playback without restarting the interpreter. The system distinguishes itself through an event-driven playback engine that schedules timed note events, an instrument-attribute inheritance model that cascades properties like volume and tempo from global defaults to individual parts, an
Music programming language for Clojure.
SoundJS 是一个 JavaScript 音频库和资源管理器,旨在通过一致的 API 在不同浏览器中加载和播放音频。它作为一个包装器,抽象了 Web Audio API 和 HTML5 Audio,以提供跨平台播放系统。 该项目通过支持 Web Audio、HTML5 和移动插件,确保了设备间声音的一致性。它包含针对移动环境的特定机制,例如通过用户触发的触摸事件解锁 iOS 上的音频播放,以及在屏幕锁定期间管理播放连续性。 该库通过注册和预加载声音文件来管理资源,以防止播放延迟。它提供全局和实例级的播放控制,包括音量、静音状态、立体声声相,以及使用动态压缩器来防止音频失真。 该系统包括对通过 Cordova 和 PhoneGap 插件的混合应用的支持,并通过 Flash 音频回退保持了对旧版本的兼容性。
Simple API for web audio.
Aubio is an audio analysis and digital signal processing library designed for music information retrieval. It provides a suite of tools for extracting musical features, estimating fundamental frequencies, and tracking rhythmic pulses in audio streams. The library specializes in the detection of pitch and beat, enabling the extraction of musical notes and the estimation of overall tempo. It also includes capabilities for automatic onset detection to identify the start of sonic events and the separation of audio signals into percussive transients and steady-state tonal components. The system c
Locates points in an audio signal that correspond to an intuitive rhythmic pulse.
cpal is a low-level Rust audio hardware abstraction layer and cross-platform API. It serves as a unified interface for managing audio input and output streams across Windows, macOS, and Linux hardware, acting as a device driver wrapper to discover audio hosts and configure hardware devices. The project functions as a real-time audio streamer, utilizing a high-priority callback system to stream audio samples to hardware devices with minimal latency. The library covers audio hardware integration, including the discovery and configuration of sample rates and channel counts. It supports audio in
Low-level cross-platform audio IO.
Pure Rust multimedia format demuxing, tag reading, and audio decoding library
Audio decoding and media demuxing library.
This project is a music information retrieval library and research dataset designed for audio feature extraction and music genre classification. It provides a framework for training and evaluating machine learning models that categorize audio tracks into hierarchical genre structures, supported by a collection of open-licensed MP3 tracks and pre-computed features. The project includes a music metadata API client to fetch structured track, album, and artist information from external data sources. It utilizes these external integrations to map parent-child relationships between genres and organ
Provides tools to develop and evaluate audio-based music classification systems using baseline implementations.
A little package that brings sound to any Go application. Suitable for playback and audio-processing.
Audio playback and processing for Go.
High-level audio playback library.
♪ A low-level library to play sound on multiple platforms ♪
Low-level cross-platform audio playback.
Main repository for Csound
Interface for the sound and music computing system.
On-device speech processing and analysis.
Go bindings for the PortAudio audio I/O library
Go bindings for PortAudio I/O.
A music theory guide written in Rust.
Library for music theory calculations.