Skip to main content

Crate aether_midi

Crate aether_midi 

Source
Expand description

Aether MIDI Engine

Handles MIDI input from any connected keyboard or controller. Converts raw MIDI bytes into typed MidiEvent messages. Routes events to registered instruments via a lock-free channel.

Supports:

  • Note On / Note Off with velocity
  • Pitch Bend (±2 semitones by default, configurable)
  • Aftertouch (channel and polyphonic)
  • Control Change (CC) — mod wheel, sustain pedal, expression, etc.
  • Program Change
  • Custom tuning tables (for non-Western instruments)

Re-exports§

pub use engine::MidiEngine;
pub use event::MidiEvent;
pub use event::MidiEventKind;
pub use learn::MappingCurve;
pub use learn::MidiLearn;
pub use learn::MidiMapping;
pub use mpe::MpeConfig;
pub use mpe::MpeEngine;
pub use mpe::NoteExpression;
pub use router::MidiRouter;
pub use smf::Division;
pub use smf::MidiFile;
pub use smf::MidiFormat;
pub use smf::MidiTrack;
pub use smf::TimedMidiEvent;
pub use tuning::TuningTable;

Modules§

engine
MIDI engine — manages hardware MIDI input via midir.
event
MIDI event types.
learn
MIDI Learn - Map MIDI CC controllers to parameters.
mpe
MPE (MIDI Polyphonic Expression) support.
router
MIDI router — dispatches events to registered instrument handlers.
smf
Standard MIDI File (SMF) reading and writing.
tuning
Custom tuning tables for non-Western instruments.