All Projects → pqml → midibus.js

pqml / midibus.js

Licence: MIT license
🚌💨🎶 Web MIDI API wrapper based on themidibus

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to midibus.js

midi
An Observable based library for the use of Web MIDI API with Angular
Stars: ✭ 35 (+45.83%)
Mutual labels:  midi, webmidiapi
MidiJack
MIDI input / output plugin for Unity
Stars: ✭ 19 (-20.83%)
Mutual labels:  midi, midi-api
ddrm-jfsebastian
J.F. Sebastian is a tool that provides new ways to control Deckard's Dream synthesizer
Stars: ✭ 29 (+20.83%)
Mutual labels:  midi
ofxOscMidi
Midi in, OSC out with Midi thru. Based on openFrameworks
Stars: ✭ 66 (+175%)
Mutual labels:  midi
onyxite-customs
Toolkit for converting and building songs for Rock Band, Guitar Hero, Clone Hero, and other similar rhythm games
Stars: ✭ 80 (+233.33%)
Mutual labels:  midi
Shape-Your-Music
A web application for drawing music.
Stars: ✭ 106 (+341.67%)
Mutual labels:  midi
py midicsv
A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.
Stars: ✭ 55 (+129.17%)
Mutual labels:  midi
MIDISequencerAUv3
A great start point for making AUv3 MIDI sequencer apps.
Stars: ✭ 24 (+0%)
Mutual labels:  midi
midievents
MIDI events parser/encoder.
Stars: ✭ 30 (+25%)
Mutual labels:  midi
orca
Lua port of @neauoire orca for monome norns
Stars: ✭ 75 (+212.5%)
Mutual labels:  midi
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+87.5%)
Mutual labels:  midi
patchmaster
MIDI processing and patching system
Stars: ✭ 22 (-8.33%)
Mutual labels:  midi
esp32 basic synth
ESP32 based simple synthesizer project
Stars: ✭ 134 (+458.33%)
Mutual labels:  midi
DeepMusic
A python package for high level musical data manipulation and preprocessing, making data ready to be fed to a neural network.
Stars: ✭ 24 (+0%)
Mutual labels:  midi
digitakt-song-mode
Song mode for Elektron Digitakt
Stars: ✭ 29 (+20.83%)
Mutual labels:  midi
seq66
Seq66: Seq24-based live MIDI looper/editor. V. 0.99.1 2022-11-27. NSM support; Linux/Windows; PDF user manual. Help access to tutorial and PDF.
Stars: ✭ 95 (+295.83%)
Mutual labels:  midi
Arduino-USBMIDI
Allows a microcontroller, with native USB capabilities, to appear as a MIDI device over USB to a connected computer
Stars: ✭ 98 (+308.33%)
Mutual labels:  midi
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (+233.33%)
Mutual labels:  midi
midi-player
A MIDI player which sends MIDI messages to connected devices.
Stars: ✭ 21 (-12.5%)
Mutual labels:  midi
mpe-player
Browser Based Audio Oscillators using MPE devices & MPE.js
Stars: ✭ 16 (-33.33%)
Mutual labels:  midi

midibus

🚌💨🎶 Web MIDI API wrapper based on themidibus



🌐 Example available on http://pqml.github.io/midibus.js/ 🌐



Installation & Usage

Installation from npm
# using npm
$ npm install --save midibus

# or using yarn
$ yarn add midibus
Usage with a module bundler
// using ES6 modules
import * as midi from 'midibus'

// using CommonJS modules
var midi = require('midibus')
Usage from a browser
<script src="https://unpkg.com/midibus"></script>
<script>
  // You can find the library in window.midibus
  midibus.access(function() {})
</script>



Example

const midi = require('midibus')

// Assure that the browser have gained access to the MIDI interface
midi.access((err) => {
  // Catch Error
  if (err) throw err

  // Show available inputs & outputs
  console.log('Available inputs', midi.inputs)
  console.log('Available outputs', midi.outputs)

  // Create a new midi bus with available input & output
  const magicBus = midi.bus(midi.inputs[0], midi.outputs[0])

  // You can also omit the input or the output parameter
  const myKeyBoard = midi.bus(midi.inputs[1], null)

  // When a kb note is received, pipe it to magicBus, with a constant velocity
  myKeyBoard.on('noteOn', ({channel, pitch}) => {
    magicBus.send('noteOn', midi.msg(channel, pitch, 80))
  })

})



License

MIT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].