This library aims to support the authoring of music-related multimedia content on the web, such as articles, books, and courses for music education.
API Documentation • GitHub repository
npm install --save mooz
import { Metronome } from 'mooz/metronome'
const metronome = new Metronome({
tempo: 80
})
metronome.start()
metronome.pause()
metronome.stop()
-
Schedules from MIDI, MusicXML, JSON
-
Players with Instruments
-
Notation
-
Score-wide music info: tempo, time signature, key signature..
-
Score details: title, composer
-
Event timing data
-
Events are expressed in relative time
-
Multiple schedules can be synchronized to same metronome, or played independently
Any callback function that accepts event
- Fretboard
- Keyboard
- Audio buffers
- Note aliases
- Velocity map
- Import/export an instrument file as binary data format
import { fetchAudioBuffer } from 'mooz/audio-buffer'
const buffer = await fetchAudioBuffer('/assets/audio.wav')
- A channel has input, a set of effects, and output
- Convolution reverb with impulse response WAV file