Git Product home page Git Product logo

webmidicon's Introduction

WebMIDICon

A collection of hackable web-based MIDI instruments, implemented as a MIDI controller. I wanted to create a MIDI instrument that allows me to jam with other musicians. Play MIDI with your PC keyboard, or with a touch screen on an iPad.

Check out the video demos!

Usage

  1. Go to https://webmidicon.web.app/ using a browser that supports Web MIDI API.

  2. Select the output MIDI port at the top-right corner. See MIDI setup section for more details.

  3. Play and enjoy!

Hacking on this project

MIDI setup

This webapp uses Web MIDI API to communicate with the MIDI subsystem on your device.

What is MIDI subsystem?

The MIDI subsystem allows applications running on your computer to communicate with MIDI devices. The MIDI subsystem provides:

  • Input ports allow applications to receive MIDI messages from other MIDI devices (e.g. a MIDI keyboard).
  • Output ports allows applications to send MIDI messages to other MIDI devices (e.g. a synthesizer).

This webapp is used as an instrument for transmitting MIDI messages, therefore it only works with MIDI outputs.

Webapp โ†’ Hardware synthesizer

  • You can connect a MIDI synthesizer to your computer, and no further setup is necessary.

Webapp โ†’ Another MIDI app on the same computer

You need to create a virtual MIDI cable (a.k.a. IAC driver or loopback MIDI interface).

  • On macOS: Open Audio MIDI Setup and go to MIDI Studio. Inside the IAC Driver, create a new Bus.

  • On Windows: You can use something like LoopBe1 I guess.

iOS โ†’ Mac

You can use the Web MIDI Browser app, a iOS web browser that supports Web MIDI API. Then you can set up a Bluetooth LE connection from your iDevice to Mac.

webmidicon's People

Contributors

dtinth avatar dtinth-bot avatar resir014 avatar cherealnice avatar todo-actions[bot] avatar judrummer avatar

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.