MIKMIDI is a powerful library designed to simplify the handling of MIDI (Musical Instrument Digital Interface) events on macOS and iOS. It serves as a platform for core MIDI functionality that works well with both Objective-C and Swift. With MIKMIDI, you can send and receive MIDI messages, manipulate MIDI data, create virtual MIDI sources and destinations, parse and create MIDI files and lot more.

Ease of Use

MIKMIDI provides a simpler, more managed approach to accessing Core MIDI functionality by offering a range of higher-level abstractions. The library handles a lot of MIDI-related routine tasks and checks, ensuring that you can focus more on your application development and less on MIDI intricacies.

Key Features

  • Reading and writing MIDI messages
  • Parsing MIDI files & creating MIDI commands
  • MIDI clock synchronization
  • MIDI mapping to easily map MIDI inputs to custom actions
  • MIDI endpoints management
  • Routing MIDI messages

Compatibility and Usage

MIKMIDI is compatible with macOS and iOS and can be added to your project using Carthage, or manually by including the provided Xcode project as a sub-project. It has extensive Swift support, making it convenient for developers familiar with Swift to utilize this library.

Documentation and Support

The library includes detailed header documentation and a series of examples to assist developers in understanding its usage. Moreover, developers can communicate on GitHub for further assistance and contribute to its development and enhancement.


The library was originally developed by Andrew Madsen and Chris Adamson for their book “Learning Core Audio.” Later, it was expanded and released as MIKMIDI by Mixed In Key, designed to power their award-winning software for professional DJs and producers.