2.1.3 • Published 5 years ago

func-midi-parser v2.1.3

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

func-midi-parser

Build Status Coverage Status Dependencies Status

A simple, functional-based midi parsing library

API Reference

midiParser

midiParser~parse(midiBytes) ⇒ Midi

parses given array of unsigned 8-bit integers into Midi data type

Kind: inner method of midiParser

ParamTypeDescription
midiBytesarrayarray of unsinged 8-bit integers representing raw midi data

MidiConstants

MidiConstants~BYTE_MASK : number

Kind: inner constant of MidiConstants
Default: 128

MidiConstants~HIGHBIT_MASK : number

Kind: inner constant of MidiConstants
Default: 127

MidiConstants~SYSEX_EVENT_MASK : number

Kind: inner constant of MidiConstants
Default: 240

MidiConstants~NOTE_ON_MASK : number

Kind: inner constant of MidiConstants
Default: 144

MidiConstants~NOTE_OFF_MASK : number

Kind: inner constant of MidiConstants
Default: 128

MidiConstants~PROGRAM_MASK : number

Kind: inner constant of MidiConstants
Default: 192

MidiConstants~CHANNEL_MASK : number

Kind: inner constant of MidiConstants
Default: 208

MidiConstants~CONTROL_MASK : number

Kind: inner constant of MidiConstants
Default: 176

MidiConstants~META_EVENT : number

Kind: inner constant of MidiConstants
Default: 255

MidiConstants~SEQUENCE_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 0

MidiConstants~TEXT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 1

MidiConstants~COPYRIGHT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 2

MidiConstants~TRACK_NAME_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 3

MidiConstants~INST_NAME_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 4

MidiConstants~LYRIC_TEXT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 5

MidiConstants~MARKER_TEXT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 6

MidiConstants~CUE_POINT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 7

MidiConstants~CHANNEL_PREFIX_ASSIGNMENT_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 32

MidiConstants~END_OF_TRACK_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 47

MidiConstants~TEMPO_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 81

MidiConstants~SMPTE_OFFSET_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 84

MidiConstants~TIME_SIG_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 88

MidiConstants~KEY_SIGNATURE_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 89

MidiConstants~SEQUENCER_SPECIFIC_META_EVENT : number

Kind: inner constant of MidiConstants
Default: 127

MidiTypes

MidiTypes~Midi

Kind: inner class of MidiTypes

new Midi(params)

top-level data type representing entire Midi song

Returns: Midi

ParamTypeDescription
paramsobjectproperties to set
params.headerMidiHeaderheader data
params.tracksArray.<MidiTrack>array of MidiTracks

MidiTypes~MidiHeader

Kind: inner class of MidiTypes

new MidiHeader(params)

header information for Midi song

Returns: MidiHeader

ParamTypeDescription
paramsobjectproperties to set
params.formatnumber(0: single-track, 1: multi-track, simultaneous, 2: multi-track, independent)
params.trackCountnumbernumber of tracks (if multi-track)
params.timeDivisiontimeDivisionthe default unit of delta-time for this MIDI file

MidiTypes~MidiTrack

Kind: inner class of MidiTypes

new MidiTrack(params)

information for a given track

Returns: MidiTrack

ParamTypeDefaultDescription
paramsobjectproperties to set
params.namestring"''"label for the track
params.eventsArray.<MidiEvent>[]array of MidiEvents

MidiTypes~MidiEvent

Kind: inner class of MidiTypes

new MidiEvent(params)

Abstract midi event class

Returns: MidiEvent

ParamTypeDefaultDescription
paramsobjectproperties to set
params.codenumber0x80-0xFF code for the event
params.typestringstring label for the top-level "type" of event
params.subtypestringstring label for the second-level "type" of event
params.tracknumberthe index for the track this event belongs to
params.deltanumber0delta offset in ??? (microseconds or milliseconds) from previous event

MidiTypes~MidiMetaEvent

Kind: inner class of MidiTypes

new MidiMetaEvent(params)

Abstract Midi meta event

Returns: MidiMetaEvent

ParamTypeDescription
paramsobjectproperties to set
params.subtypestringthe type of meta event (i.e. "tempo", "time_signature", etc.)

MidiTypes~MidiMetaTempoEvent

Kind: inner class of MidiTypes

new MidiMetaTempoEvent(params)

Meta tempo event

Returns: MidiMetaTempoEvent

ParamTypeDescription
paramsobjectproperties to set
params.microsecPerQnnumbermicroseconds per quarter note

MidiTypes~MidiMetaTimeSignatureEvent

Kind: inner class of MidiTypes

new MidiMetaTimeSignatureEvent(params)

Meta time signature event. Expects time signature to be represented by two numbers that take the form: nn/2^dd

Returns: MidiMetaTimeSignature

ParamTypeDescription
paramsobjectproperties to set
params.numeratornumbernumerator for time signature
params.denominatornumberexponent for denominator of time signature
params.metronomeClicksPerTicknumbernumber of metronome clicks per midi tick
params.thirtySecondNotesPerBeatnumbernumber of 1/32 notes per beat

MidiTypes~MidiMetaInstrumentNameEvent

Kind: inner class of MidiTypes

new MidiMetaInstrumentNameEvent(params)

Midi meta instrument name event

Returns: MidiMetaInstrumentNameEvent

ParamTypeDescription
paramsobjectproprties to set
params.namestringname of instrument used

MidiTypes~MidiMetaKeySignatureEvent

Kind: inner class of MidiTypes

new MidiMetaKeySignatureEvent(params)

Midi meta key signature event

Returns: MidiMetaKeySignatureEvent

ParamTypeDescription
paramsobjectproperties to set
params.sfnumbernumber of sharps/flats (-7 <= sf <= 7)
params.minumbermajor (0) or minor (1)

MidiTypes~MidiMetaSmptOffsetEvent

Kind: inner class of MidiTypes

new MidiMetaSmptOffsetEvent(params)

Midi meta smpte offset event

Returns: MidiMeatSmpteOffsetEvent

ParamTypeDescription
paramsobjectproperties to set
params.frameRatenumbertop two bits define the frame rate in frames per second. If those bits are "00" (0 decimal), the frame rate is 24 frames per second. If those bits are "01" (1 decimal), the frame rate is 25 frames per second. If the bits are "10" (2 decimal), the frame rate is "drop 30" or 29.97 frames per second. If the top two bits are "11", then the frame rate is 30 frames per second. The six remaining bits define the hours of the SMPTE time (0-23).
params.minnumberminutes in offset (0-59)
params.secnumberseconds in offset (0-59)
params.framesnumberdepends upon framerate
params.subframesnumber0-99

MidiTypes~MidiMetaTrackNameEvent

Kind: inner class of MidiTypes

new MidiMetaTrackNameEvent(params)

Midi meta track name event

Returns: MidiMetaTrackNameEvent

ParamTypeDescription
paramsobjectproperties to set
params.namestringname of the track

MidiTypes~MidiMetaEndOfTrack

Kind: inner class of MidiTypes

new MidiMetaEndOfTrack()

Midi meta end of track event

Returns: MidiMetaEndOfTrackEvent

MidiTypes~MidiSystemEvent

Kind: inner class of MidiTypes

new MidiSystemEvent()

Abstract Midi system event

Returns: MidiSystemEvent

MidiTypes~MidiChannelEvent

Kind: inner class of MidiTypes

new MidiChannelEvent(params)

Abstract Midi channel event

Returns: MidiChannelEvent

ParamTypeDescription
paramsobjectproperties to set
params.eventCodenumberhex value for the event code (0x80-0xEF)

MidiTypes~MidiPolyphonicAftertouchEvent

Kind: inner class of MidiTypes

new MidiPolyphonicAftertouchEvent(params)

polyphonic aftertouch event

Returns: MidiPolyphonicAftertouchEvent

ParamTypeDescription
paramsobjectproprties to set

MidiTypes~MidiControlChangeEvent

Kind: inner class of MidiTypes

new MidiControlChangeEvent(params)

control change event

Returns: MidiControlChangeEvent

ParamTypeDescription
paramsobjectproprties to set

MidiTypes~MidiProgramChangeEvent

Kind: inner class of MidiTypes

new MidiProgramChangeEvent(params)

NOT YET IMPLEMENTED

Returns: MidiProgramChangeEvent

ParamTypeDescription
paramsobjectproprties to set

MidiTypes~MidiChannelAftertouchEvent

Kind: inner class of MidiTypes

new MidiChannelAftertouchEvent(params)

NOT YET IMPLEMENTED

Returns: MidiChannelAftertouchEvent

ParamTypeDescription
paramsobjectproprties to set

MidiTypes~MidiPitchWheelEvent

Kind: inner class of MidiTypes

new MidiPitchWheelEvent(params)

NOT YET IMPLEMENTED

Returns: MidiPitchWheelEvent

ParamTypeDescription
paramsobjectproprties to set

MidiTypes~MidiNoteEvent

Kind: inner class of MidiTypes

new MidiNoteEvent(params)

Abstract note event

Returns: MidiNoteEvent

ParamTypeDescription
paramsobjectproprties to set
params.notenumbernote (0-255)
params.velocitynumbervelocity (0-127)
params.lengthnumberlength in ms

MidiTypes~MidiNoteOnEvent

Kind: inner class of MidiTypes

new MidiNoteOnEvent()

note on event

Returns: MidiNoteOnEvent

MidiTypes~MidiNoteOffEvent

Kind: inner class of MidiTypes

new MidiNoteOffEvent()

note off event

Returns: MidiNoteOffEvent

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

7 years ago

2.0.0

7 years ago

1.3.1

7 years ago

1.1.0

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago