/BeepboxSynthesizer

Experimental project integrating https://beepbox.co into Godot using V8 (requires godot-rust)

Primary LanguageRust

Introduction

This project uses a custom GDExtension library written in Rust to run the JummBox JavaScript-based synthesizer within Godot 4 with V8, the JavaScript engine used in Node.js.

The goals are to allow use of smaller music files (using procedural playback instead of rendered WAV or MP3 files), and experimenting with with dynamic music playback (using JummBox's JavaScript APIs).

References

Building

Required Tools

Instructions

  • Clone this repository with the --recursive flag to include submodules
  • Build JummBox
    • Enter the dependencies/jummbox directory and run: npm install && npm update && npm run build-synth
  • Build this project by running cargo build in the root of the repository
  • Open this project in Godot