Max:基本的MIDI

01iMIDIBasics.maxpat
01iMIDIBasics.maxpat

1. MIDI为Musical Instrument Digital Interface(音乐乐器数字接口)的缩写。

2. midiin物件输出收到的外部MIDI信息,midiout物件传送MIDI信息到外部。双击它们将打开MIDI设备选择选单。

3. notein和noteout物件输出和传送MIDI音符信息。三个口从左至右分别为音符数字(音高)、力度和MIDI通道。如第三个例子所示:我们可以将这三个信息通过一个消息框一次传送给noteout发声。我们用将力度设为0的方式停止一个音符的声音。

4. ctlin和ctlout物件输出和传送MIDI控制值,例如MIDI控制器映射或者键盘延音踏板。

5. 灰色那个物件叫做gswitch2,自己玩玩就知道,它可以为一个输入分配不同的两个输出。左输入口为控制入口,如果进入的值为0则默认从左边的口输出,如果进入的值为1则默认从右边的口输出,你可以自己挂个数字框调整0和1看结果;右输入口为数据入口,为控制器的命令值通过。

6. 更多关于端口、通道等的信息,大家可以参见这几个物件里边的提取─inport.maxhelp,在里边有很详尽的介绍。

7. midiinfo物件是个很方便的midi端口选择器。用它与一个umenu物件相连,收到一个bang信息后,如果它连在左边,则会自动检测并将你可用的MIDI输出设备列印在umenu物件上;如果它连在右边,则会自动检测并将你可用的MIDI输入设备列印在umenu物件上。它的用法不止这一个,我们会在今后的课程中探讨更多。

8. 结论:输入MIDI流的基本内容可以通过midiin物件复原,一个MIDI流可以使用midiout’物件发送。但是,在大多数情况下,对待独立信息类型更简单的方式是使用它们的消息专用物件(message-specific objects)。notein/onteout物件和ctlin/ctlout物件为无需解码原始MIDI输入或创建原始MIDI输出的信息提供了简单的解决之道。midiinfo物件,是一个检测你当前MIDI设备状态的强大工具。

本例内新物件:
midiin:输出收到的原始MIDI数据
midiout:传输原始MIDI数据
notein:输出收到的MIDI音符信息
noteout:传输MIDI音符信息
ctlin:输出收到的MIDI控制值
ctlout:传输MIDI控制信息
midiinfo:设置一个包含MIDI设备清单的下拉菜单
gswitch2:从两个输出口其中之一通过一个输入

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.