Expand description
MKMidiLibrary - A Rust library for music scoring and MIDI
This library provides comprehensive support for:
- Music representation (notes, chords, durations, pitches)
- MIDI file I/O (Standard MIDI File format)
- Real-time MIDI input/output
- Score-MIDI conversion
§Example
use mkmidilibrary::core::{Note, Pitch, Duration, Chord};
use mkmidilibrary::midi::MidiFile;
// Create a note
let pitch = Pitch::new("C4").unwrap();
let duration = Duration::quarter();
let note = Note::new(pitch, duration);
// Create a chord
let chord = Chord::major_triad(Pitch::new("C4").unwrap());
// Create a new MIDI file
let midi = MidiFile::new();Re-exports§
pub use core::Chord;pub use core::Duration;pub use core::Interval;pub use core::Note;pub use core::Pitch;pub use core::Rest;pub use midi::MidiEvent;pub use midi::MidiFile;pub use midi::MidiMessage;pub use midi::MidiTrack;pub use notation::Clef;pub use notation::Dynamics;pub use notation::KeySignature;pub use notation::Tempo;pub use notation::TimeSignature;pub use stream::Measure;pub use stream::Part;pub use stream::Score;pub use stream::Stream;pub use stream::Voice;pub use realtime::MidiInput;pub use realtime::MidiOutput;pub use realtime::MidiPort;pub use render::RenderConfig;pub use render::ScoreElement;pub use render::ScoreRenderer;