Skip to content

SEngine

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.

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.

LanguageTypeScript (100%)
PlatformWeb (AudioContext)
PackagePublished on npm as sengine

The source code is available on the project’s GitHub repository.