Git Product home page Git Product logo

petersalomonsen / javascriptmusic Goto Github PK

View Code? Open in Web Editor NEW
373.0 17.0 76.0 1.39 MB

A.K.A. WebAssembly Music. Live coding music and synthesis in Javascript / AssemblyScript (WebAssembly)

Home Page: https://petersalomonsen.com

License: GNU General Public License v3.0

JavaScript 61.43% Shell 0.59% Assembly 15.38% C 0.50% C++ 1.14% HTML 1.29% TypeScript 18.71% CSS 0.50% NASL 0.46%
assemblyscript audio synthesizer javascript music-composition webassembly 4klang amiga protracker music

javascriptmusic's Introduction

Music written in Javascript

This project demonstrates writing music in Javascript. In the beginning I used NodeJS with MIDI to control a synth, and then got into 4klang which is a very compact but extremely powerful synth, which finally inspired me to atttempt writing a synth in WebAssembly running entirely in the browser.

Webassembly music in the browser

This is a live-coding environment for music running entirely in the browser, synthesizing music in webassembly using AssemblyScript.

You can test it yourself here (remove the gist url parameter if you want a clean project ): https://petersalomonsen.com/webassemblymusic/livecodev2/?gist=5b795090ead4f192e7f5ee5dcdd17392

Demo videos: https://www.youtube.com/watch?v=C8j_ieOm4vE&list=PLv5wm4YuO4IxRDu1k8fSBVuUlULA8CRa7

Sources are in the wasmaudioworklet folder.

There are also more resources like articles and earlier versions at https://petersalomonsen.com

4klang

My experiments with the 4klang synth can be found int the 4klang folder.

If you just want to listen to the songs: https://soundcloud.com/psalomo/4klang-lazy-grooves https://soundcloud.com/psalomo/4klang-first-attempt

You may check out the windows exe of the "first attempt" song (link to zip with exe found in video description):

https://www.youtube.com/watch?v=zHrbLSjKmxQ

NodeJS MIDI

My first attempt on writing music with Javascript used NodeJS with MIDI routed to ZynAddSubFX for the sounds

https://youtu.be/oPfOeEbM4M0

And you can listen to the song songs/upbeat.js here: https://soundcloud.com/psalomo/80s-nostalgica

Run directly from nodejs, only dependes on the node midi package, and connect to a midi device.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.