• Stars
    star
    120
  • Rank 294,234 (Top 6 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C++ in the browser? Webassembly? Sounds jarring? Indeed, it is! Synthesizer for the browser.

wasm-synth

A synthesizer built from scratch in C++ and made available on the web through WebAssembly.

Prerequisites

The following tools are required for spinning up a local instance of WASM SYNTH. Click on the links to view the installation manuals:

Docs & Blog post

My previous goal with this project was to learn audio programming. I wrote about it in this blog post. Since until then, a cambrian explosion of webassembly-based browser languages have appeared, I'm currently trying to make WASM SYNTH work properly again.

Compatibility

Since it seems that many browsers-vendors are arbitrarily changing APIs these days, I'm gonna keep track of WASM SYNTHs compatability here.

Commit Chrome Firefox Safari Brave
c4379418bc1cfe116dbf6bc51e25a42fdaa9c6f3 ✓ 81.0 ✓ 76.0 ✗ 13.0.4 ✓ 1.8.86

How are we currently testing?

  • npm run dev and open the displayed site in one of the above browsers
  • Hit some notes on your keyboard or by pressing with the mouse
  • Toggle some UI elements (e.g. toggle off an oscillator)

I know how to improve/automate testing!

That's great! Any feedback or help is welcome! Please get in touch!

Install

To install:

$ npm i

Run

Before running the below specified commands, you'll have to set emsdk's environment variable as is detailed on the above linked page.

For development:

$ npm run dev

To build:

$ npm run build

License

See License.

Third Party resources Licenses

More Repositories

1

jsonresume-theme-paper

A theme for JSON Resume
CSS
35
star
2

ipfs-hls-converter

Takes an IPFS hash, converts it to HLS (Apple's HTTP Live Streaming) and reuploads the file to IPFS, requires docker
JavaScript
30
star
3

empty-mac-os-browser-window-transparent

A simple Photoshop template or .png file to demo your web application as an image within a nicely looking browser window in Mac OS Catalina 1920x1080
23
star
4

preact-touchable-dock

A touch and drag and droppable dock for single page web applications.
JavaScript
21
star
5

ERC721-wallet

A decentralized ERC721 wallet [hosting/maintenance discontinued out of lack of interest from community]
JavaScript
20
star
6

simple-caldav

caldav in JavaScript; made easy.
JavaScript
17
star
7

hetzner-cloud-deploy-server-action

Deploy a Hetzner Cloud Server from a GitHub Action.
JavaScript
13
star
8

taxtool

Embrace the pain of filing your sweet crypto gainz; do it with this lame JS accounting tool!
JavaScript
10
star
9

emotext

A python framework for extracting, saving and correlating emotions with contextual information.
Python
9
star
10

react-envelope-graph

A drag-and-drop-enabled, responsive, envelope graph that allows to shape a wave with attack, decay, sustain and release
JavaScript
9
star
11

hexo-compat-report

Renders an MDN compatibility table on your hexo page.
JavaScript
6
star
12

timdaub.github.io

Deprecation: 2023-01-27, I've changed my host name to https://proofinprogress.com
HTML
6
star
13

youtube-dl

Repository with the code of my youtube-dl
Shell
6
star
14

blockchain-training

A 2h blockchain training developed for a Redi School course.
JavaScript
5
star
15

better-sqlite3-session-store

A better-sqlite3 session store for express-session.
JavaScript
5
star
16

scan.lol

A website to quickly scan a qr code without installing an app
HTML
5
star
17

hnwisdom

A bookmarking blog software for wise hacker news comments.
JavaScript
4
star
18

videogame

A side scroller I wrote from scratch.
JavaScript
4
star
19

react-simple-knob

A simple knob element for react
JavaScript
4
star
20

daemybenscrypt

μ wasm-lang: "däμbenscrypt". (fun dadaistic "art")
Python
4
star
21

mate-display

See demo in link
Python
4
star
22

commands

A repo where I note useful shell commands down.
Shell
3
star
23

temp-neume-data-dir-results

3
star
24

mynimal-html5-boilerplate

The most μnimal html5 boilerplate out there in cyberspace!
3
star
25

substack-iframe-disclaimer

A method to add a disclaimer for embedding the Substack Newsletter embed
2
star
26

proofinprogress.com

My website
JavaScript
2
star
27

kloi

kloi is a tiny toolkit for building simple static sites.
JavaScript
2
star
28

tracks.lol

web3 music radio
HTML
2
star
29

merkleflut

merkle-flut is a generative multi-medial storytelling machine.
JavaScript
2
star
30

string-to-btc-addresses

A little script that converts text to bitcoin addresses which can be used as outputs in transactions
JavaScript
1
star
31

slackchangelog

A slack-slash-command for keeping an internal changelog for your company
JavaScript
1
star
32

yage

JavaScript
1
star
33

preact-nominal-allocator

A preact mobile and desktop-ready UI component for adding and removing nominal values (e.g. for voting)
JavaScript
1
star
34

simple-spa-app

JavaScript
1
star
35

http-sms-gateway

A tiny server for sending and receiving SMS via HTTP.
JavaScript
1
star
36

isgsm7

Check if a string conforms/validates to GSM-7bit encoding (SMS encoding)
JavaScript
1
star
37

rs-random-walk

Performs a random walk on a 2D plane and outputs a .png representation.
Rust
1
star