syngen v2.0.0-beta.1
syngen
A spatial audio, synthesis, and game development toolkit.
Disclaimer
This is experimental and under active development. Specifically, the API has changed significantly from previous versions. Many of these changes are yet to be documented. Please use at your own risk.
Overview
syngen provides a light wrapper around the Web Audio API for building sounds and positioning them on a three-dimensional binaural soundstage. Its event loop fires each frame to update sounds and core systems. Additional utilities provide tools for engineering custom systems that hook into its API to deliver rich experiences.
Getting started
Please download or clone this repository, or install with your favorite package manager:
npm install syngenFrom there you might require('syngen') or include dist/syngen.min.js.
Example usage
This library must be used within a browser environment so it can access the window object.
It can be imported or required as a UMD module, or accessed from the syngen global.
This example demonstrates how to define a prop and instantiate one on the soundstage:
const prototype = syngen.sound.invent({
  onConstruct: function () {
    this.synth = syngen.synth.simple({
      frequency: syngen.fn.fromMidi(60),
      gain: syngen.fn.fromDb(-6),
    }).connect(this.output)
  },
  onDestroy: function () {
    this.synth.stop()
  },
})
const instance = sound.instantiate()Please browse the example directory or the projects below for more elaborate real-world examples.
Example projects
- Fishyphus - Sisyphean fishing horror roguelite
 
Commercial projects
- Periphery Synthetic EP – Extrasolar musical explorer
 
Development
To get started, please clone this repository:
git clone https://github.com/nicross/syngen.gitThen use npm to install the required dependencies
npm installCommon tasks
Common tasks have been automated with Gulp:
Build distributables only
gulp distBuild documentation only
gulp docsBuild everything once
gulp buildBuild everything continuously
gulp watch2 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago