It is now possible to write WebGL fragment shader code that accompanies the music. Just add the gitrepo parameter to the URL, and a midisynth / midisequencer format song. Example url could be something like
Git repositories are stored in your browsers IndexedDB using wasm-git. If you also want to store/sync with a remote git server, you can create a repository at https://wasm-git.petersalomonsen.com (requires a NEAR account).
Full source code, including the shader can also be exported to a compressed PNG, and an example of such an export can be found at mintbase (click the link for "More info").
I was at NEARCON and had the pleasure of speaking about my projects. Check it out!
Also check out the original music at psalomo.near.page, which is also available on streaming platforms.
A simple but efficient web app for creating music in the browser. Preloaded with a set of instruments from a WebAssembly synth. The instrument pack/synth is actually an NFT stored on NEAR protocol blockchain. No samples, just physical modeling (Waveguide synthesis).
Check out a live recording when playing the piano, and also my entry for the Revision 2021 executable music competition where the music and synth was packed into a 22kb HTML file. The article from december is also updated.
I found that the NEAR blockchain is easy for developing smart contracts for selling music NFTs and creating interactive experiences. Have a look at my latest NFT 3 project where you can rearrange and remix and post remixes back on the blockchain (without buying the NFT itself).
An article about my first experiments with physical modeling synthesis (waveguide) in the WebAssembly music studio. Read it here
WASM-git is a port of libgit2 to WebAssembly using Emscripten. Having a git client in the browser makes it possible to store data locally and make it available when disconnected from the internet, and synchronize when online. A perfect match for any Progressive Web App in need of persisting data, where you also can take advantage of GITs capabilties of revisioning and merging remote and local changes. Have a look at this brief demo video of WASM-git integrated into the WebAssembly music studio.
An article on using WebAssembly modules from C.
Yoshimi is a soft-synth for Linux with long history and great sounds (forked from ZynAddSubFX). Not long ago I discovered the WebAssembly port of Yoshimi by Jari Kleimola, and wanted to have a go integrating it into my own WebAssembly music environment.
The result of the first attempt on creating a song is here:
A new version of the live coding environment where you can also edit the synthesizer code in the browser. Have a look at the demo video below, or go directly to the live coding environment.