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.