RTP Payload Format for MIDI
RFC 4695
Document | Type |
RFC - Proposed Standard
(November 2006; Errata)
Obsoleted by RFC 6295
|
|
---|---|---|---|
Authors | John Wawrzynek , John Lazzaro | ||
Last updated | 2020-01-21 | ||
Replaces | draft-lazzaro-avt-mwpp-midi-nmp | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4695 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
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 A.7. Chapter E: MIDI Note Command Extras .......................75 A.7.1. Note Log Format ....................................76Show full document text