没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
USB Device Class Definition for MIDI Devices, Version 2.0
1
Universal Serial Bus
Device Class Definition
for
MIDI Devices
Release 2.0
May 5, 2020
USB Device Class Definition for MIDI Devices, Version 2.0
2
Scope of this Revision
This document is the Universal Serial Bus Device Class Definition for MIDI Devices Version 2.
This version follows the Universal Serial Bus Device Class Definition for MIDI Devices Version
1.0. Version 1.0 supports all MIDI 1.0 specifications. The primary goal for this Version 2.0
update is add support for MIDI 2.0 specifications published in 2020 by the MIDI Manufacturers
Association and the Association of Musical Electronics Industry. Other enhancements are also
included in this Version 2.0. Backward compatibility is given careful consideration.
Version 1.0 Specification Contributors
Gal Ashour IBM Corporation
Billy Brackenridge Microsoft Corporation
Mike Kent Roland Corporation
Geert Knapen Philips ITCL-USA
Oren Tirosh Altec Lansing
Version 2.0 Specification Contributors
Franz Detro Native Instruments
Harumichi Hotta Yamaha Corporation
Mike Kent Roland Corporation – Project Chair, mikekent@mk2audio.com
Geert Knapen Knowles Corporation
Makoto Komorita Roland Corporation
Daisuke Miura Yamaha Corporation
Matt Mora Apple Corporation
Torrey Walker Apple Corporation
Doug Wyatt Apple Corporation
Ichiro Yazawa Roland Corporation
Revision History
Revision
Date
Description
1.0
Nov. 1, 1999
First revision of Universal Serial Bus Device Class Definition for MIDI
Devices. Supports MIDI 1.0.
2.0
May 5, 2020
Second revision of Universal Serial Bus Device Class Definition for
MIDI Devices. Adds support for MIDI 2.0, MIDI-CI, and the Universal
MIDI Packet.
USB Device Class Definition for MIDI Devices, Version 2.0
3
USB Device Class Definition for MIDI Devices
Copyright © 1996-2020, USB Implementers Forum
All rights reserved.
INTELLECTUAL PROPERTY DISCLAIMER
A LICENSE IS HEREBY GRANTED TO REPRODUCE THIS SPECIFICATION FOR
INTERNAL USE ONLY. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL
OR OTHERWISE, IS GRANTED OR INTENDED HEREBY.
USB-IF AND THE AUTHORS OF THIS SPECIFICATION EXPRESSLY DISCLAIM ALL
LIABILITY FOR INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS RELATING
TO IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. USB-IF AND THE
AUTHORS OF THIS SPECIFICATION ALSO DO NOT WARRANT OR REPRESENT THAT
SUCH IMPLEMENTATION(S) WILL NOT INFRINGE THE INTELLECTUAL PROPERTY
RIGHTS OF OTHERS.
THIS SPECIFICATION IS PROVIDED “AS IS” AND WITH NO WARRANTIES, EXPRESS
OR IMPLIED, STATUTORY OR OTHERWISE. ALL WARRANTIES ARE EXPRESSLY
DISCLAIMED. USB-IF, ITS MEMBERS AND THE AUTHORS OF THIS SPECIFICATION
PROVIDE NO WARRANTY OF MERCHANTABILITY, NO WARRANTY OF NON-
INFRINGEMENT, NO WARRANTY OF FITNESS FOR ANY PARTICULAR PURPOSE,
AND NO WARRANTY ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR
SAMPLE.
IN NO EVENT WILL USB-IF, MEMBERS OR THE AUTHORS BE LIABLE TO ANOTHER
FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS,
LOSS OF USE, LOSS OF DATA OR ANY INCIDENTAL, CONSEQUENTIAL, INDIRECT,
OR SPECIAL DAMAGES, WHETHER UNDER CONTRACT, TORT, WARRANTY, OR
OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SPECIFICATION,
WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF
SUCH DAMAGES.
NOTE: VARIOUS USB-IF MEMBERS PARTICIPATED IN THE DRAFTING OF THIS SPECIFICATION.
CERTAIN OF THESE MEMBERS MAY HAVE DECLINED TO ENTER INTO A SPECIFIC AGREEMENT
LICENSING INTELLECTUAL PROPERTY RIGHTS THAT MAY BE INFRINGED IN THE
IMPLEMENTATION OF THIS SPECIFICATION. PERSONS IMPLEMENT THIS SPECIFICATION AT
THEIR OWN RISK.
Please send comments via electronic mail to audio-chair@usb.org
USB Device Class Definition for MIDI Devices, Version 2.0
4
Table of Contents
1 Introduction ........................................................................................................................ 8
1.1 Background: MIDI 1.0, MIDI 2.0, and USB .................................................................. 8
1.2 Purpose ........................................................................................................................ 8
Figure 1: Simple USB MIDI Interface ............................................................................ 9
Figure 2: Simple USB MIDI Synthesizer ........................................................................ 9
1.3 Related Documents .................................................................................................... 10
1.4 Terms and Abbreviations ........................................................................................... 10
1.5 Reserved Words and Specification Conformance ..................................................... 11
Table 1-1: Words Relating to Specification Conformance........................................... 11
Table 1-2: Words Not Relating to Specification Conformance .................................... 11
2 Management Overview .................................................................................................... 12
2.1 Overview of what is new or changed from Version 1.0 class specification ............... 12
3 Functional Characteristics ............................................................................................. 14
3.1 Device and Topology .................................................................................................. 14
3.1.1 MIDI Streaming Interface with Two Alternate Settings: Backward Compatibility15
3.2 Data Format: Universal MIDI Packet (UMP) .............................................................. 15
3.2.1 Basic Packet Format ........................................................................................... 16
3.2.2 UMP Messages in a USB Packet: Byte Ordering ............................................... 17
3.2.3 UMP Message Type Field and Packet Size ....................................................... 17
Table 3-1: Packet Sizes based on Message Types .................................................... 17
3.2.4 UMP Group Field and Routing ............................................................................ 18
3.3 MIDI Streaming Interface ........................................................................................... 18
3.3.1 USB MIDI Converter ........................................................................................... 18
3.3.2 MIDI Streaming Data Endpoints ......................................................................... 18
3.3.3 Group Terminals and UMP Groups .................................................................... 19
3.3.4 Group Terminal Blocks........................................................................................ 19
4 Operational Model ........................................................................................................... 21
4.1 Communication from Host to USB MIDI Function ...................................................... 22
4.2 Communication from USB MIDI Function to Host ...................................................... 22
5 Configuration Descriptors .............................................................................................. 23
5.1 Core Descriptors......................................................................................................... 23
5.2 MIDIStreaming Interface Descriptors ......................................................................... 23
5.2.1 Standard MS Interface Descriptor....................................................................... 23
Table 5-1: Standard MIDIStreaming Interface Descriptor ........................................... 23
5.2.2 Class-Specific MS Interface Descriptor .............................................................. 24
Table 5-2: Class-Specific MS Interface Header Descriptor ......................................... 24
5.3 MIDI Streaming Endpoint Descriptors ........................................................................ 24
5.3.1 Standard MIDI Streaming Data Endpoint Descriptor .......................................... 24
Table 5-3: Standard MS Data Endpoint Descriptor ..................................................... 25
USB Device Class Definition for MIDI Devices, Version 2.0
5
5.3.2 Class-Specific MIDI Streaming Data Endpoint Descriptor .................................. 25
Table 5-4: Class-specific MS Data Endpoint Descriptor ............................................. 26
5.4 Class-Specific Group Terminal Block Descriptors – Retrievable by a Separate Get Request
27
5.4.1 Class Specific Group Terminal Block Header Descriptor ................................... 27
Table 5-5: Class-Specific Group Terminal Header Descriptor .................................... 27
5.4.2 Group Terminal Block Descriptor ........................................................................ 27
Table 5-6: Group Terminal Block Descriptor ............................................................... 29
6 Class Specific Command: Group Terminal Blocks Descriptors Request ................. 31
Appendix A. Audio Device Class Codes: MIDIStreaming .......................................... 32
A.1 MS Class-Specific Interface Descriptor Types ....................................................... 32
A.1 MS Class-Specific Interface Descriptor Subtypes .................................................. 32
A.2 MS Class-Specific Endpoint Descriptor Subtypes.................................................. 32
A.3 MS Class-Specific Group Terminal Block Descriptor Subtypes ............................. 32
A.4 MS Interface Header MIDIStreaming Class Revision ............................................ 33
A.5 MS MIDI IN and OUT Jack types ........................................................................... 33
A.6 Group Terminal Block Type .................................................................................... 33
A.7 Group Terminal Default MIDI Protocol ................................................................... 33
A.8 Group Terminal Number (Universal MIDI Packet Group) ...................................... 33
Appendix B. Example 1: Simple MIDI Instrument (Informative) ................................. 35
B.1 Example 1 Device and Configuration Descriptor.................................................... 36
B.1.1 Device Descriptor ............................................................................................ 36
Table B-1: Device Descriptor ....................................................................................... 36
B.1.2 Configuration Descriptor .................................................................................. 36
Table B-2: Configuration Descriptor ............................................................................ 36
B.2 Example 1 AudioControl Interface Descriptors ...................................................... 37
B.2.1 Standard AC Interface Descriptor ................................................................... 37
B.2.2 Class-specific AC Interface Descriptor ............................................................ 37
B.3 Example 1 MIDIStreaming Interface Descriptors (On Alternate Setting 0x00 for USB MIDI 1.0)
38
B.3.1 Standard MS Interface Descriptor ................................................................... 38
B.3.2 Class-specific MS Interface Descriptor ........................................................... 38
B.3.3 MIDI IN Jack Descriptor................................................................................... 38
B.3.4 MIDI IN Jack Descriptor................................................................................... 39
B.3.5 MIDI OUT Jack Descriptor .............................................................................. 39
B.3.6 MIDI OUT Jack Descriptor (External) .............................................................. 39
B.4 Example 1 Bulk OUT Endpoint Descriptors (On Alternate Setting 0x00 for USB MIDI 1.0)
40
B.4.1 Standard Bulk OUT Endpoint Descriptor ........................................................ 40
B.4.2 Class-specific MS Bulk OUT Endpoint Descriptor .......................................... 40
B.5 Example 1 Bulk IN Endpoint Descriptors (On Alternate Setting 0x00 for USB MIDI 1.0)
40
B.5.1 Standard Bulk IN Endpoint Descriptor ............................................................ 40
B.5.2 Class-specific MS Bulk IN Endpoint Descriptor .............................................. 41
剩余46页未读,继续阅读
刘志峰
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0