MIDI 2.0 - Introduction to the Universal MIDI Packet - Workshop 1 hero

Creative Coding

MIDI 2.0 - Introduction to the Universal MIDI Packet - Workshop 1

Level

Beginner

Duration

1h 20m of video content

Format

Self-paced video

Added

03/11/2021

Watch a preview

MIDI 2.0 Recap

Course overview

MIDI 2.0 is set to power the next generation of hardware and software with enhanced features for discovery, expression and faster communication. The Universal MIDI Packet (UMP) is a fundamental aspect of MIDI 2.0, which allows programs to negotiate and communicate with MIDI 1.0 and MIDI 2.0 products.

In this workshop, you will learn from a member of the MIDI 2.0 working group, which wrote the specifications, how to get started working with UMP, and write a simple C++ program that utilises UMP.

Overview

This workshop will provide developers with knowledge and code for starting MIDI 2.0 Universal MIDI Packet (UMP) development in C++. The concepts of UMP will be explained. Then, the participants will co-develop a first simple implementation of a generic UMP parser in plain C++. For that, a stub workspace will be provided. Exercises will let the participants practice the newly learned concepts.

Learning outcomes

Understand the core concepts of UMP

Be able to build applications in C++ using UMP

Who is this course for?

  • Developers wanting to learn how the new MIDI 2.0 packet format works under the hood, and how to get started writing software for it right away.

Requirements

  • Some experience with C++ coding
  • Have a development environment set up and ready with Xcode (macOS) or Visual Studio (Windows).
  • Working knowledge of MIDI 1.0
  • A computer and internet connection
  • Xcode (macOS) / Visual Studio (Windows)

Course content

Course Overview

2 lessons

+
  • What you will learn in this course
  • Requirements

On-demand

20 videos, 3 resources, 1 lesson

+
  • Preparation links
  • Zip file to download
  • Exercises to download
  • Presentation slides
  • Introduction
    Checking access...
  • MIDI 2.0 Recap
    Checking access...
  • MIDI 2.0 vs. UMP
    Checking access...
  • MIDI 2.0 Summary
    Checking access...
  • Exercises 1
    Checking access...
  • Examine the UMP Packet
    Checking access...
  • UMP Message Layout Examples
    Checking access...
  • Exercises 2
    Checking access...
  • Designing a UMP C++ Class
    Checking access...
  • The UMPacket Class
    Checking access...
  • Words, Bytes, and Bits
    Checking access...
  • Exercises 3
    Checking access...
  • Translation MIDI 1.0 to and from MIDI 2.0
    Checking access...
  • Translating MIDI 2.0 to MIDI 1.0
    Checking access...
  • Translator class MIDI 1.0 to MIDI 2.0
    Checking access...
  • Value Scaling
    Checking access...
  • Translator class MIDI 2.0 to MIDI 1.0
    Checking access...
  • Exercises 4
    Checking access...
  • What's Next
    Checking access...
  • Wrap-Up
    Checking access...

Instructors

Florian Bomers

Florian Bomers

Instructor

Florian Bomers runs his own company Bome Software, creating MIDI tools and hardware. He has been an active MIDI 2.0 working group member since its inception. He serves on the Technical Standards Board of the MIDI Association and chairs the MIDI 2.0 Transports Working Group. He is based in Munich, Germany.

Frequently asked questions