SoundTouchJS is a TypeScript audio processing library for real-time time-stretching and pitch-shifting in web applications using the Web Audio API. It implements the WSOLA algorithm and offers alternatives like phase vocoder for extreme ratios, with formant correction for vocal preservation. The monorepo structure includes core processing engine, AudioWorklet implementations, and interchangeable interpolation strategies. Key features include runtime parameter updates via message passing, offline processing capabilities, and observability metrics. The library is designed for integration via AudioWorklet to offload processing from the main thread, with a demo application and Storybook showcasing usage.
A comprehensive, isomorphic JavaScript audio processing library engineered for editing, analysis, playback, and encoding. It is non-destructive and stream-first, utilizing a paged in-memory architecture with optional OPFS caching and a Web Worker facade for off-main-thread execution. The library exposes a declarative operation (op) and statistics (stat) plugin system, enabling custom DSP atoms to be composed into serializable edit plans with undo/redo support. It includes a CLI for batch processing and a hand-rolled MCP server for AI-agent integration, plus a polished web demo and workshop pages. The codebase spans core engine modules, 50+ built-in operations (gain, fade, filters, reverb, pitch, stretch, loudness normalization, denoising, etc.), and a large ecosystem of @audio/* dependencies for codecs and advanced effects. It is tested across browser (Playwright) and Node, with benchmark comparisons against SoX, FFmpeg, librosa, and Pedalboard. While the architecture is sophisticated and well-documented, the repository exhibits some over-engineering, a very large test suite that is brittle, and identified production defects (e.g., loudness normalization clipping) that undermine its polish.
modV is a desktop application for real-time audio-visual synthesis and effects processing. Built with Electron, Vue.js, and WebGL, it provides a modular environment where users can create chains of visual modules (2D, 3D, shader-based) that react to audio, MIDI, or user-defined parameters. The application features a dual-store Vuex architecture (main and worker processes) to keep the UI responsive while handling intensive graphics and audio processing in a background thread. Key capabilities include audio feature extraction via Meyda, MIDI input mapping, a plugin system for extensibility, and a preset system with seamless state switching. The project emphasizes real-time performance and flexibility for VJs, artists, and live visual performers.