Ctrl+K

Strawberry.Sound.Midi Namespace

Documentation for types in the Strawberry.Sound.Midi namespace.

Classes

Type Description
Strawberry.Sound.Midi.ManagedSynthBackend Pure managed C# MIDI synthesizer backend. Produces basic waveform output (sine, square, sawtooth, triangle, noise) with simple ADSR envelopes.
Strawberry.Sound.Midi.MidiController Standard MIDI Control Change controller numbers (CC).
Strawberry.Sound.Midi.MidiEvent Represents a single parsed MIDI event with absolute timing. Events are sorted by AbsoluteTicks after track merging. TimeSeconds is computed from the tempo map after parsing.
Strawberry.Sound.Midi.MidiFile Parses a standard MIDI file (SMF) into a sorted list of {{cref:Strawberry.Sound.Midi.MidiEvent}}s with absolute tick positions and computed time-in-seconds.
Strawberry.Sound.Midi.MidiReader An {{cref:Strawberry.Sound.ISoundReader}} that synthesises PCM audio from a MIDI file, compatible with the Strawberry engine's streaming system.
Strawberry.Sound.Midi.TinySoundFontBackend High-quality MIDI synthesis backend using TinySoundFont v0.9 via P/Invoke. Requires a compiled libtsf native library on the system library path.

Enums

Type Description
Strawberry.Sound.Midi.MidiEventType MIDI channel voice message types (high nibble of status byte).
Strawberry.Sound.Midi.MidiMetaType MIDI meta event types (second byte after 0xFF).

Interfaces

Type Description
Strawberry.Sound.Midi.ISynthBackend Abstraction over a MIDI synthesis engine. Two implementations are provided: - -