All Projects → nfroidure → midievents

nfroidure / midievents

Licence: MIT license
MIDI events parser/encoder.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to midievents

MIDISequencerAUv3
A great start point for making AUv3 MIDI sequencer apps.
Stars: ✭ 24 (-20%)
Mutual labels:  midi
patchmaster
MIDI processing and patching system
Stars: ✭ 22 (-26.67%)
Mutual labels:  midi
models
Programmatically control Elektron's model:cycles & model:samples via midi using Go.
Stars: ✭ 26 (-13.33%)
Mutual labels:  midi
ddrm-jfsebastian
J.F. Sebastian is a tool that provides new ways to control Deckard's Dream synthesizer
Stars: ✭ 29 (-3.33%)
Mutual labels:  midi
purescript-school-of-music
Port of the Haskell School of Music to Purescript
Stars: ✭ 21 (-30%)
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 (+166.67%)
Mutual labels:  midi
flutter midi
Midi Playback in Flutter
Stars: ✭ 52 (+73.33%)
Mutual labels:  midi
digitakt-song-mode
Song mode for Elektron Digitakt
Stars: ✭ 29 (-3.33%)
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 (+226.67%)
Mutual labels:  midi
esp32 basic synth
ESP32 based simple synthesizer project
Stars: ✭ 134 (+346.67%)
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 (-20%)
Mutual labels:  midi
Shape-Your-Music
A web application for drawing music.
Stars: ✭ 106 (+253.33%)
Mutual labels:  midi
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (+166.67%)
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 (+216.67%)
Mutual labels:  midi
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+50%)
Mutual labels:  midi
midiGenerator
Generate midi file with deep neural network 🎶
Stars: ✭ 30 (+0%)
Mutual labels:  midi
orca
Lua port of @neauoire orca for monome norns
Stars: ✭ 75 (+150%)
Mutual labels:  midi
mpe-player
Browser Based Audio Oscillators using MPE devices & MPE.js
Stars: ✭ 16 (-46.67%)
Mutual labels:  midi
ofxOscMidi
Midi in, OSC out with Midi thru. Based on openFrameworks
Stars: ✭ 66 (+120%)
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 (+83.33%)
Mutual labels:  midi

midievents

Decode/encode MIDI events.

NPM version Build status Dependency Status devDependency Status Coverage Status Code Climate Dependency Status

What it does

  • Decode MIDI events
  • Check MIDI events (using strictMode)
  • Calculate needed buffer to encode MIDI events
  • Encode MIDI events

What it doesn't do

Usage

// Your variable with an ArrayBuffer instance containing your MIDI events
var anyBuffer;

// Parse MIDI events
var events = [];
var parser = new MIDIEvents.createParser(new DataView(anyBuffer), 0, false);
var event = parser.next();

do {
  events.push(event);
  event = parser.next();
} while(event);

// Check bufffer size before encoding
if(anyBuffer.length >= MIDIEvents.getRequiredBufferLength(events)) {
  console.log('ok');
}

// Encode MIDI events
var destination = new Uint8Array(anyBuffer);
MIDIEvents.writeToTrack(events, destination);

## Contributing / Testing Install them and run the following command :

npm install --dev
su npm install grunt-cli -g
grunt test

## Contributing

  • Feel free to PR
  • If you find MIDI events the library can't read, create a test an do a pull request. I'll work on it asap.
  • Run npm run to get a list of useful development commands.

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].