Socket
Book a DemoInstallSign in
Socket

flocking-midi-interchange

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flocking-midi-interchange

A library to assist in writing declarative "MIDI interchanges", like arpeggiators, transposers, and even UI generators.

dev
latest
npmnpm
Version
1.0.0-dev.20190818T140428Z.18b8d2a
Version published
Maintainers
1
Created
Source

Flocking MIDI Interchange

This library is designed to assist in writing "MIDI interchanges", which consume and/or produce MIDI messages.

Transforming MIDI Router

A transforming MIDI router is a type of "interchange" that accepts MIDI messages from an input, "transforms" the data based on a series of rules, and the outputs the results. This type of real time transforming router can do things like:

  • Output MIDI messages to play chords instead of individual input notes.
  • Remap inputs, for example to change the tuning of an input device.
  • Repurpose input controls, for example by making inputs that send control codes result in notes being played.
  • Split a single input among multiple MIDI channels.

Many things like this can be accomplished only by writing new rules and configuration options. This is a by-product of the two underlying libraries used, namely Infusion and Flocking. These libraries make it possible create complex "components" whose behaviour can change dramatically simply based on the configuration options. New instruments are often little more than a thin skin of key changes on top of an existing component.

UI Router

Devices like the Novation Launchpad series, Ableton Push series, and Keith McMillan Instruments QuNeo have UI elements (lights) that change based on received MIDI messages. This package provides a "UI router", which is another type of "interchange", this time between desired UI updates and MIDI outputs. Like the Transforming MIDI router, this type of router uses transformation rules to translate a desired UI update into the appropriate MIDI messages. By writing alternate rules, a wide range of devices can be easily modeled. For more information, see the ui router documentation.

Onscreen Device Analogues

In addition to the above, this package provides onscreen equivalents of select devices, that can be used to operate an interface with a mouse and keyboard, either as a sole means of input, or in combination with a connected device. For more information, see the onscreen device analogue documentation.

Try it out!

This package includes a handful of demonstrations of various routers. To use them:

  • Check out this package.
  • Install its dependencies (i.e. run npm install).
  • Open the file index.html in this directory in a browser that supports the WebMIDI API (Opera and Chrome at time of writing).

FAQs

Package last updated on 18 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.