Haukcode.RtpMidi
v1.0.58-PR-25-9387daeePre-release
net8.0
RTP-MIDI (RFC 6295) implementation in modern C# with full Apple MIDI session protocol support. Enables bidirectional MIDI over IP β receive notes, CC, program changes and send LED feedback to hardware controllers via network MIDI bridges (macOS, rtpMIDI, raveloxmidi, iConnectivity).
Published
Apr 19, 2026
6mo ago
Total Downloads
8.6K
8,644
Install
dotnet add package Haukcode.RtpMidi --version 1.0.58-PR-25-9387daee
| Product | Versions |
|---|---|
| .NET |
README
Haukcode.RtpMidi
RTP-MIDI (RFC 6295) for .NET β bidirectional MIDI over IP with full Apple MIDI session protocol support.
Key Features
- Apple MIDI session protocol (IN/OK/NO/BY/CK) β both initiator and responder roles
- Mandatory clock sync (CK0βCK1βCK2) β compatible with hardware bridges
IObservable<T>streams for received MIDI and state changes (System.Reactive)- Cross-platform: Windows, Linux ARM64, macOS β pure managed C#
Installation
dotnet add package Haukcode.RtpMidi
For mDNS peer discovery:
dotnet add package Haukcode.RtpMidi.Mdns
Quick Start
await using var session = new RtpMidiSession("My App");
session.MidiReceived.Subscribe(midiBytes =>
Console.WriteLine($"MIDI: {BitConverter.ToString(midiBytes.ToArray())}"));
// Control port N; data port N+1 derived automatically
await session.ConnectAsync(new IPEndPoint(IPAddress.Parse("192.168.1.50"), 5004));
// Send LED feedback to hardware controller
await session.SendMidiAsync(new byte[] { 0xF0, 0x47, 0x7F, 0x30, 0x2C, 0x01, 0x00, 0xF7 });
Compatible Bridges
- macOS β Built-in Network MIDI (Audio MIDI Setup)
- Windows β rtpMIDI (free)
- Linux β raveloxmidi
- Hardware β iConnectivity mioXM and similar
Links
Changes from Previous Version
No structural changes between v1.0.57 and v1.0.58-PR-25-9387daee.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.