SEngine
Overview
Section titled “Overview”SEngine is a lightweight, declarative sound engine for web applications. It manages audio clips, buses, events, and actions via a JSON configuration, making it easy to add rich interactive audio to any website. It powers the hover sounds and ambient audio on this very site.
How It Works
Section titled “How It Works”SEngine is configured with a simple JSON structure that defines:
- Clips — Audio sources with gain, looping, and bus routing
- Buses — Audio routing nodes with gain control and chaining
- Actions — Playback commands (play, stop) targeting specific clips
- Events — Named triggers that fire one or more actions
{ "clips": { "hover_sound": { "src": "mel_a", "gain": 0.03, "destination": "effects" } }, "buses": { "effects": { "gain": 1.0, "destination": "master" }, "master": { "gain": 1.0 } }, "events": { "a_enter": ["play_hover_sound"] }}On this site, every link hover triggers a sound event through SEngine, demonstrating how declarative audio configuration can create immersive web experiences with minimal code.
Tech Stack
Section titled “Tech Stack”| Language | TypeScript (100%) |
| Platform | Web (AudioContext) |
| Package | Published on npm as sengine |
Source Code
Section titled “Source Code”The source code is available on the project’s GitHub repository.
Related Projects
Section titled “Related Projects”- Sidechain Compressor — A sidechain compressor audio worklet for web audio
- ClipNode — AudioWorklet node for buffer playback with loop crossfade
- Compressor Plugin — Audio dynamics plugin written in C++