Portability | non-portable (TF,GNTD) |
---|---|
Stability | experimental |
Maintainer | hans@hanshoglund.se |
Safe Haskell | None |
Documentation
Class of types that can be converted to MIDI.
Numeric types are interpreted as notes with a default velocity, pairs are
interpreted as (pitch, velocity)
pairs.
Minimal definition: getMidi
. Given getMidiScore
, getMidi
can be implemented
as getMidiScore . return
.
getMidi :: a -> Score MessageSource
Convert a value to a MIDI score.
Typically, generates an on event using note
followed by an optional off event.
getMidiScore :: Score a -> Score MessageSource
Convert a score to a MIDI score. The default definition can be overriden for efficiency.
HasMidi Double | |
HasMidi Float | |
HasMidi Int | |
HasMidi Integer | |
HasMidi Message | |
Integral a => HasMidi (Ratio a) | |
HasMidi a => HasMidi (Maybe a) | |
HasMidi a => HasMidi (TieT a) | |
HasMidi a => HasMidi (DynamicT a) | |
HasMidi a => HasMidi (ArticulationT a) | |
HasMidi a => HasMidi (SlideT a) | |
HasMidi a => HasMidi (HarmonicT a) | |
HasMidi a => HasMidi (TextT a) | |
HasMidi a => HasMidi (TremoloT a) | |
HasMidi (Integer, Integer) | |
HasMidi a => HasMidi (PartT n a) |
toMidiTrack :: HasMidi a => Score a -> Track MessageSource
Convert a score to a track of MIDI messages.
writeMidi :: HasMidi a => FilePath -> Score a -> IO ()Source
Convert a score MIDI and write to a file.