Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/katspaugh/simple-modular-synth

A simple Web Audio-based synth
https://github.com/katspaugh/simple-modular-synth

modular synthesizer web-audio

Last synced: 3 months ago
JSON representation

A simple Web Audio-based synth

Awesome Lists containing this project

README

        

# Simple Modular Synth

[Live demo](https://smod.pages.dev/#eyJtb2R1bGVzIjpbeyJpZCI6InNwZWFrZXJzLTAiLCJ0eXBlIjoic3BlYWtlcnMiLCJ4IjoxMDU3LCJ5IjoyNjV9LHsiaWQiOiJsb3dwYXNzLTE3MDU3ODMzNzM1MzEiLCJ0eXBlIjoibG93cGFzcyIsIngiOjY3MSwieSI6MjM0fSx7ImlkIjoiY2xvY2stMTcwNTc4NDQ2NDQxOCIsInR5cGUiOiJjbG9jayIsIngiOjQyMCwieSI6MzgwfSx7ImlkIjoidHJpYW5nbGUtMTcwNTc4NjM3MTQyMiIsInR5cGUiOiJ0cmlhbmdsZSIsIngiOjMzOCwieSI6OTV9LHsiaWQiOiJkZWxheS0xNzA1Nzg2NzE5NzA0IiwidHlwZSI6ImRlbGF5IiwieCI6Nzc2LCJ5Ijo2N30seyJpZCI6InBhbm5lci0xNzA1Nzg2NzUwNDc4IiwidHlwZSI6InBhbm5lciIsIngiOjEwMDcsInkiOjEyMH0seyJpZCI6InBhbm5lci0xNzA1Nzg2NzU5MTQ1IiwidHlwZSI6InBhbm5lciIsIngiOjk5MCwieSI6MzgzfSx7ImlkIjoic2FtcGxlQW5kSG9sZC0xNzA1Nzg2OTM3NTE1IiwidHlwZSI6InNhbXBsZUFuZEhvbGQiLCJ4IjoxMzYsInkiOjIwN30seyJpZCI6Imxmby0xNzA1Nzg3MDMzMzU1IiwidHlwZSI6ImxmbyIsIngiOjk1OCwieSI6MjV9LHsiaWQiOiJ3YXZlZm9ybS0xNzA1Nzg3MDkwMDY2IiwidHlwZSI6IndhdmVmb3JtIiwieCI6NzA5LCJ5Ijo0NTN9XSwiY29ubmVjdGlvbnMiOlt7ImZyb20iOiJ0cmlhbmdsZS0xNzA1Nzg2MzcxNDIyLW91dHB1dCIsInRvIjoibG93cGFzcy0xNzA1NzgzMzczNTMxLWlucHV0LTAifSx7ImZyb20iOiJsb3dwYXNzLTE3MDU3ODMzNzM1MzEtb3V0cHV0IiwidG8iOiJkZWxheS0xNzA1Nzg2NzE5NzA0LWlucHV0LTAifSx7ImZyb20iOiJkZWxheS0xNzA1Nzg2NzE5NzA0LW91dHB1dCIsInRvIjoicGFubmVyLTE3MDU3ODY3NTA0NzgtaW5wdXQtMCJ9LHsiZnJvbSI6InBhbm5lci0xNzA1Nzg2NzUwNDc4LW91dHB1dCIsInRvIjoic3BlYWtlcnMtMC1pbnB1dC0wIn0seyJmcm9tIjoibG93cGFzcy0xNzA1NzgzMzczNTMxLW91dHB1dCIsInRvIjoicGFubmVyLTE3MDU3ODY3NTkxNDUtaW5wdXQtMCJ9LHsiZnJvbSI6InBhbm5lci0xNzA1Nzg2NzU5MTQ1LW91dHB1dCIsInRvIjoic3BlYWtlcnMtMC1pbnB1dC0wIn0seyJmcm9tIjoic2FtcGxlQW5kSG9sZC0xNzA1Nzg2OTM3NTE1LW91dHB1dCIsInRvIjoidHJpYW5nbGUtMTcwNTc4NjM3MTQyMi1pbnB1dC0wIn0seyJmcm9tIjoidHJpYW5nbGUtMTcwNTc4NjM3MTQyMi1vdXRwdXQiLCJ0byI6InNhbXBsZUFuZEhvbGQtMTcwNTc4NjkzNzUxNS1pbnB1dC0wIn0seyJmcm9tIjoiY2xvY2stMTcwNTc4NDQ2NDQxOC1vdXRwdXQiLCJ0byI6InNhbXBsZUFuZEhvbGQtMTcwNTc4NjkzNzUxNS1pbnB1dC0xIn0seyJmcm9tIjoiY2xvY2stMTcwNTc4NDQ2NDQxOC1vdXRwdXQiLCJ0byI6Imxvd3Bhc3MtMTcwNTc4MzM3MzUzMS1pbnB1dC0xIn0seyJmcm9tIjoiY2xvY2stMTcwNTc4NDQ2NDQxOC1vdXRwdXQiLCJ0byI6Imxvd3Bhc3MtMTcwNTc4MzM3MzUzMS1pbnB1dC0yIn0seyJmcm9tIjoidHJpYW5nbGUtMTcwNTc4NjM3MTQyMi1vdXRwdXQiLCJ0byI6ImRlbGF5LTE3MDU3ODY3MTk3MDQtaW5wdXQtMSJ9LHsiZnJvbSI6Imxmby0xNzA1Nzg3MDMzMzU1LW91dHB1dCIsInRvIjoicGFubmVyLTE3MDU3ODY3NTA0NzgtaW5wdXQtMSJ9LHsiZnJvbSI6ImNsb2NrLTE3MDU3ODQ0NjQ0MTgtb3V0cHV0IiwidG8iOiJwYW5uZXItMTcwNTc4Njc1OTE0NS1pbnB1dC0xIn0seyJmcm9tIjoibG93cGFzcy0xNzA1NzgzMzczNTMxLW91dHB1dCIsInRvIjoid2F2ZWZvcm0tMTcwNTc4NzA5MDA2Ni1pbnB1dC0wIn1dfQ==)

## Usage

1. Checkout the repo
2. Start a local web server, e.g. `python3 -m http.server --cgi 8080`
3. Open http://localhost:8080/ in the browser
4. Create modules by clicking anywhere on empty space and typing the name of a module
4. Connect modules by clicking on little circles representing their inputs (on the left) and outputs (on the right)
5. Remove connections by clicking on connecting lines (patch cables)
6. Remove modules by dragging them off the screen

Screenshot 2024-01-30 at 20 08 30