midibus

0.3.2 • Public • Published

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.

Package Sidebar

Install

npm i midibus

Weekly Downloads

1

Version

0.3.2

License

MIT

Last publish

Collaborators

  • pqml