1.5.0 • Published 1 year ago

midi-to-lsdj v1.5.0

Weekly downloads
-
License
AGPL-3.0
Repository
github
Last release
1 year ago

MIDI to LSDJ

A library to parse a Midi file using @tonejs/midi and convert a track from that file into an array of chains, phrases and notes for use with LSDJ.

Uses @tonaljs/note convert MIDI note values to notes and @tonaljs/core to calculate intervals between notes

Usage

import { readMidiFile, processTrack, processProject } from 'midi-to-lsdj';

function exampleUsage() {
  const midiData = readMidiFile('super-amazing-song.mid')
  const trackOneChains = processTrack(midiData.tracks[0], midiData.header.ticksPerBeat)
  const projectConfig = processProject(midiData)
  console.log(trackOneChains, projectConfig)
}

Features

The library offers the following features:

  • Time Signatures changes (adds a H00 command if numerator doesn't resolve to 16/16)
  • Triplets (Adds a table with delta between root note and the triplet notes)
  • De-duplication of Tables, Phrases and Chains
  • Tempo changes
  • Chords
  • Sweeps when notes are pitch-bent in file

Roadmap

  • De-duplication across multiple tracks
  • Drums
  • Advanced de-duplication of Phrases making use of transpose
  • LSDJ save file creation (so you don't need to enter it all by hand)
  • Validation of Midi file to ensure that no more than 256 Tables, Phrases and Chains across the song
1.5.0

1 year ago

1.1.0

1 year ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago