Combine: Connect MIDI signals to SwiftUI

Last updated: over 2 years ago

Over the years I have been exploring generative design and trying to find the balance between art and technology. Core MIDI framework is a great way of introducing the audience to this fascinating world. Using exclusively Apple-provided APIs, we can create something inspiring and learn something new.

Reactive programming concepts are hard to grasp for a lot of developers. What if there is a better way to experiment and learn reactive programming concepts in real-time? Let's take MIDI input, which is a great example, and connect it using Combine to SwiftUI.


  1. What is MIDI?
  2. Brief introduction to Core MIDI framework.
  3. Connecting Combine to Core MIDI.
  4. Presenting real-time values in SwiftUI.
  5. Live demo in macOS SwiftUI app with MIDI controllers.

Key goals of the presentation

  • Introduce Core MIDI as a point of interest for developers.
  • Present how barely known framework can be leveraged to learn something new.
  • Inspire developers how simple connecting to hardware devices can be.


  • People interested in audio-visual programming.
  • Developers with interest in multi-platform development (macOS and iOS).
  • Developers interested in communication with hardware devices.
  • People eager to learn new Apple technologies and reactive programming.