30 open-source projects similar to allendowney/thinkdsp, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ThinkDSP alternative.
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
pyAudioAnalysis is a Python library and framework for audio signal processing and analysis. It provides tools for extracting mathematical representations of sound, such as spectrograms, and implements a system for training and evaluating machine learning models to classify audio segments based on acoustic patterns. The project includes dedicated utilities for audio segmentation, which allow for the removal of silence and the detection of specific audio events to divide recordings into meaningful sections. It also provides data visualization capabilities that use dimensionality reduction to ma
Pydub is a Python audio manipulation library and digital audio processor used for editing, slicing, and converting audio files and segments. It serves as a programmatic wrapper for FFmpeg to import and export a wide variety of audio formats. The library functions as an audio signal generator capable of creating synthetic waveforms, such as sine waves and white noise. It also provides tools for digital signal processing, including the application of filters, fades, crossfades, and gain adjustments to sound signals. Its broader capabilities cover programmatic audio editing through concatenatio
ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance numerical computing. It serves as a GPU numerical computing library and parallel signal processing toolkit that abstracts hardware backends, allowing the same codebase to execute across various GPU architectures and CPUs. The project distinguishes itself through a JIT engine that uses expression compilation to fuse operations and minimize memory overhead. It employs a deferred execution graph to optimize computation chains and provides interoperability primitives to share data and e
This project is a scientific computing framework for the .NET ecosystem, providing a comprehensive suite of libraries for numerical analysis, statistics, and mathematical optimization. It serves as a foundational toolkit for developing applications in machine learning, digital signal processing, and computer vision. The framework provides specialized toolkits for training and deploying predictive models, including neural networks, support vector machines, and decision trees. It further distinguishes itself with deep integrations for real-time visual analysis, such as object tracking and facia
Surge is a Swift library for high-performance numerical analysis, linear algebra, digital signal processing, and accelerated image manipulation. It utilizes the Accelerate framework to provide hardware-accelerated tools for matrix mathematics and signal processing. The library provides specialized capabilities for digital signal processing, including convolution, signal similarity analysis through cross-correlation, and domain transformations using fast Fourier transforms. It also includes a suite of tools for the rapid transformation and analysis of pixel buffers and image data. Beyond sign
Python speech features is a signal processing toolkit and library for extracting standard speech recognition features from raw audio signals. It provides computational capabilities to calculate mel-frequency cepstral coefficients, raw and log filterbank energies, and spectral subband centroids for automated speech recognition systems and acoustic analysis. The library implements audio signal transformations including pre-emphasis filtering, overlapping windowed frame segmentation, Fast Fourier Transform spectral analysis, mel-filterbank projection with configurable filter weights and frequenc
miniaudio is a single-file C audio library used for audio playback, capture, and hardware interfacing across multiple operating systems. It functions as an audio hardware abstraction layer, an audio processing engine, an audio synthesis engine, and a codec and resampler. The project implements a node-graph based system for routing digital audio signals, mixing, and 3D spatialization. It also includes a programmatic generator for noise patterns and basic waveforms used for sound creation and signal testing. The library covers digital signal processing, including audio format conversion and sa
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
This project is a comprehensive software suite for voice synthesis and model management, providing a framework for training custom acoustic models and performing voice conversion. It utilizes deep-learning-based acoustic modeling to map source audio characteristics to target voice identities, enabling the transformation of input audio into specific vocal profiles. The system distinguishes itself through a feature-retrieval-based inference mechanism, which employs vector index files to perform nearest-neighbor searches on acoustic features for high-fidelity timbre matching. Users can manage th
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
SDRangel is a comprehensive software-defined radio suite and digital signal processing framework. It functions as an RF spectrum analyzer and modular radio demodulator, providing a unified hardware abstraction layer to connect various radio devices to software processing pipelines for data acquisition and transmission. The platform is distinguished by its modular architecture, which uses a data-flow graph of dynamic libraries to construct signal processing chains. This allows for a plugin-based environment where users can extract audio and digital data from raw radio signals using various mod
This project is a system audio processor and digital signal processing engine designed to enhance system-wide sound volume and clarity. It functions as a high-fidelity sound enhancer and parametric audio equalizer that shapes the sonic profile and timbre of audio across all output devices. The software utilizes a virtual audio device driver to intercept system audio streams at the kernel level, redirecting them through a processing pipeline. This allows for real-time sound processing and low-latency audio filtration to minimize the delay between sound generation and output. The system covers
Dejavu is a Python audio fingerprinting library and recognition engine. It functions as a digital audio signature tool used to analyze sound waves and create unique identifiers for the purposes of audio search and retrieval. The project enables automatic music identification by matching live audio feeds or recorded clips against a database of fingerprints. It covers audio content matching and digital audio archiving to identify original source recordings from a stored collection. The system incorporates capabilities for generating audio fingerprints, identifying audio tracks, and recognizing
Shairport-sync is an AirPlay audio streaming receiver that enables the reception of wireless audio streams from Apple devices and routes them to system sound servers or hardware devices. Its primary purpose is to facilitate multi-room audio synchronization, aligning output across multiple playback devices to ensure content plays in unison. The project distinguishes itself through advanced digital signal processing, including impulse-response convolution filtering to correct frequency response. It provides precise audio timing adjustments to compensate for amplifier latency and offers extended
Tachyon is a suite of hardware-accelerated engines and modular infrastructure for generating succinct non-interactive arguments of knowledge and polynomial commitments. It provides a GPU-accelerated zero-knowledge proof backend and a prover system designed to construct proofs from high-level circuit descriptions. The project distinguishes itself through a GPU cryptographic accelerator that offloads elliptic curve operations, field arithmetic, and cryptographic hashes to graphics hardware. This infrastructure includes a specialized polynomial commitment engine and modular components that allow
Spek is an acoustic spectrum tool and audio frequency visualizer designed to decode audio streams and analyze their spectral density. It functions as an audio spectrogram analyzer that displays frequency distributions to help identify the sonic characteristics of audio files. The tool specifically includes capabilities as a lossy compression detector, allowing for the identification of encoding artifacts and frequency cut-offs caused by lossy transcoding. The software covers audio file inspection and spectral analysis, providing the ability to select individual audio streams and channels. Us
Tixl is a node-based motion graphics engine and procedural generation tool used to create 3D geometry and shaders. It utilizes a directed acyclic graph of operators and GPU-accelerated compute kernels to generate complex 3D shapes, particularly through the use of signed distance functions and particle simulations. The engine is highly extensible via a C# development framework that supports hot code reloading, allowing custom operator logic to be injected into the active runtime without restarting. It further distinguishes itself as a lighting controller, capable of translating 3D spatial attr
Librosa is a Python audio analysis library and digital signal processing framework. It functions as a feature extraction suite and music information retrieval tool designed to analyze the structural and sonic characteristics of audio signals. The library provides specialized capabilities for music analysis, including dynamic tempo tracking to identify rhythmic pulses and spectral feature extraction to compute harmonic spectra, chroma variants, and onset points. It also serves as a time-series audio processor for synchronizing audio streams. The system covers a broad range of audio processing
ProjectM is a cross-platform music visualization library and pixel shader rendering engine. It functions as an audio signal analysis tool that extracts beat and frequency data from audio streams to drive real-time graphical changes. The engine is built for compatibility with the Milkdrop visualization standard, allowing it to parse and load external preset files to define visual styles. It supports the organization of these presets through playlist-driven management to automate transitions between different visual effects. The system can be integrated into external host applications as a sta
This project is a Python speech recognition library that serves as a unified interface for converting spoken audio into text. It functions as a bridge between Python applications and a variety of speech-to-text engines, providing a consistent way to interact with both local and cloud-based recognition services. The library distinguishes itself as a multi-engine transcription tool, wrapping diverse online APIs and offline recognition backends into a standardized format. This allows for interchangeable recognition engines and supports multilingual audio transcription through various language pa
Overtone is a Lisp audio synthesis library that provides a programmable environment for designing synthesizers and generating real-time audio. It serves as a digital signal processing framework for live sound programming, integrating an audio sample manager for retrieving and caching sounds from remote repositories and a musical sequence generator for composing melodic and rhythmic structures. The project distinguishes itself through its specialized interfaces for hardware and networking, featuring a dedicated system for routing MIDI data and exchanging Open Sound Control messages between sof
AudioGPT is an LLM-driven audio framework and processing suite that uses large language models to orchestrate neural audio pipelines. It functions as a multimodal audio generator and processing system, integrating a collection of pretrained models to handle speech synthesis, sound generation, and audio manipulation. The system is distinguished by its ability to generate audio from diverse inputs, including text and images, and its capacity to produce synchronized talking head videos. It also operates as a neural speech translator, converting spoken language between different tongues while pre
LMMS is a digital audio workstation and MIDI sequencer designed for composing, arranging, and mixing music. It functions as a comprehensive production environment that integrates a MIDI sequencer, a sample-based synthesizer, and an audio mixing console. The project distinguishes itself through a versatile synthesis engine that includes additive synthesis, wavetable generation, and emulations of vintage hardware such as NES audio and FM chips. It also serves as a VST plugin host, allowing for the integration of third-party virtual instruments and audio effects via a standardized interface. Be
Cnn_graph is a graph convolutional network framework and graph signal processing library designed for machine learning research. It provides computational notebooks and code to process and classify graph-structured data by combining node features with an underlying adjacency matrix representation. The framework performs spectral graph convolutions through localized filters and accelerates filtering operations using truncated Chebyshev polynomials to avoid explicit graph Laplacian diagonalization. It includes a graph-structured data pipeline and sparse adjacency representations to handle irreg
This project provides a comprehensive open-source hardware platform designed for scientific measurement and electronic instrumentation. It serves as a complete ecosystem for developing, documenting, and manufacturing custom laboratory-grade devices, offering a collection of schematics, printed circuit board layouts, and fabrication blueprints. The platform distinguishes itself by integrating hardware design tools with functional measurement capabilities. Users can generate standardized industry files for professional circuit board manufacturing while simultaneously utilizing the hardware to p
eqMac is a system-wide audio equalizer and volume mixer for macOS. It utilizes a virtual audio driver to intercept system output, allowing users to adjust frequency response, boost system volume, and control independent volume levels for different running software applications. The project functions as an audio unit plugin host, integrating third-party plugins into the system audio stream for professional effects. It also includes a local web server that enables remote audio control via HTTP, allowing users to modify audio parameters from a mobile device or other external hardware on the same
This project is a numerical computing library designed for scientific and engineering mathematical operations. It functions as a comprehensive linear algebra framework, a statistical analysis library, and a toolkit for mathematical optimization and numerical integration. The library is distinguished by its provider-based native acceleration, which allows managed code to be swapped for platform-native binary libraries to increase the performance of computationally intensive routines. It also supports a hybrid approach to matrix storage, implementing separate strategies for dense and sparse mat
more-itertools is an extension library for the Python itertools module. It serves as a toolkit for manipulating iterables, providing a wide range of routines for data transformation, combinatorial generation, and iterator state management. The library distinguishes itself through advanced state management and complex sequence generation. It provides capabilities for peeking at future elements, seeking within sequences, and producing unique permutations, combinations, and set partitions from collections that may contain duplicate elements. Its broader capability surface covers data processing