RTP Payload Format for MIDI
RFC 4695

Document Type RFC - Proposed Standard (November 2006; Errata)
Obsoleted by RFC 6295
Last updated 2013-03-02
Replaces draft-lazzaro-avt-mwpp-midi-nmp
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 4695 (Proposed Standard)
Telechat date
Responsible AD Allison Mankin
Send notices to csp@csperkins.org, magnus.westerlund@ericsson.com
Network Working Group                                         J. Lazzaro
Request for Comments: 4695                                  J. Wawrzynek
Category: Standards Track                                    UC Berkeley
                                                           November 2006

                      RTP Payload Format for MIDI

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The IETF Trust (2006).

Abstract

   This memo describes a Real-time Transport Protocol (RTP) payload
   format for the MIDI (Musical Instrument Digital Interface) command
   language.  The format encodes all commands that may legally appear on
   a MIDI 1.0 DIN cable.  The format is suitable for interactive
   applications (such as network musical performance) and content-
   delivery applications (such as file streaming).  The format may be
   used over unicast and multicast UDP and TCP, and it defines tools for
   graceful recovery from packet loss.  Stream behavior, including the
   MIDI rendering method, may be customized during session setup.  The
   format also serves as a mode for the mpeg4-generic format, to support
   the MPEG 4 Audio Object Types for General MIDI, Downloadable Sounds
   Level 2, and Structured Audio.

Table of Contents

   1. Introduction ....................................................4
      1.1. Terminology ................................................5
      1.2. Bitfield Conventions .......................................6
   2. Packet Format ...................................................6
      2.1. RTP Header .................................................7
      2.2. MIDI Payload ..............................................11
   3. MIDI Command Section ...........................................12
      3.1.  Timestamps ...............................................14
      3.2.  Command Coding ...........................................16

Lazzaro & Wawrzynek         Standards Track                     [Page 1]
RFC 4695              RTP Payload Format for MIDI          November 2006

   4. The Recovery Journal System ....................................22
   5. Recovery Journal Format ........................................24
   6. Session Description Protocol ...................................28
      6.1. Session Descriptions for Native Streams ...................29
      6.2. Session Descriptions for mpeg4-generic Streams ............30
      6.3. Parameters ................................................33
   7. Extensibility ..................................................34
   8. Congestion Control .............................................35
   9. Security Considerations ........................................35
   10. Acknowledgements ..............................................36
   11. IANA Considerations ...........................................37
      11.1. rtp-midi Media Type Registration .........................37
           11.1.1. Repository Request for "audio/rtp-midi" ...........40
      11.2. mpeg4-generic Media Type Registration ....................41
           11.2.1. Repository Request for Mode rtp-midi for
                   mpeg4-generic .....................................44
      11.3. asc Media Type Registration ..............................46
   A. The Recovery Journal Channel Chapters ..........................48
      A.1. Recovery Journal Definitions ..............................48
      A.2. Chapter P: MIDI Program Change ............................52
      A.3. Chapter C: MIDI Control Change ............................53
           A.3.1. Log Inclusion Rules ................................54
           A.3.2. Controller Log Format ..............................55
           A.3.3. Log List Coding Rules ..............................57
           A.3.4. The Parameter System ...............................60
      A.4. Chapter M: MIDI Parameter System ..........................62
           A.4.1. Log Inclusion Rules ................................64
           A.4.2. Log Coding Rules ...................................65
                 A.4.2.1. The Value Tool .............................67
                 A.4.2.2. The Count Tool .............................70
      A.5. Chapter W: MIDI Pitch Wheel ...............................71
      A.6. Chapter N: MIDI NoteOff and NoteOn ........................71
           A.6.1. Header Structure ...................................73
           A.6.2. Note Structures ....................................74
Show full document text