Linux 中的 amidi 命令示例
Linux 中的 amidi命令用于从外部 MIDI 设备接收和发送 SysEx,即系统专有数据。也可以使用此 amidi 命令发送其他 MIDI 命令。关于此 amidi 命令需要注意的一件事是它只处理包含原始 MIDI 命令的文件,而这些文件也没有计时信息。关于此命令的另一件事是它不支持标准 MIDI(.mid) 文件,但 aplaymidi(1) 和 arecordmidi(1) 支持。
句法:
amidi -[option]... [action]
使用amidi命令
1.打印选项列表
输入以下命令以打印选项列表。
amidi --help
该命令将显示该命令的帮助部分,其中将列出该命令的所有选项。
2. 打印版本
amidi --version
该命令将返回amidi 命令的版本号。
3.打印所有硬件MIDI端口
amidi --list-devices
上述命令将显示连接到 MIDI 及其相关端口的所有端口或设备。
4. 打印所有 RawMIDI 定义
amidi --list-rawmidis
此命令将打印 RawMIDI 的定义,该定义将具有结构形式的卡片及其属性列表。
5. 在指定的时间内没有接收到数据时停止接收数据。
timeout 5 ping google.com
这将导致会话在 5 秒不活动后超时。
6. 在保存或打印收到的 MIDI 命令时停止 Active Sensing Bytes(FEh)。
--active-sensing , -a
每次用户保存或打印接收到的 MIDI 命令时,此命令将停止 FEh 主动传感字节。
7.将指定文件的内容发送到MIDI端口
amidi -p hw:0 -s my_settings.syx
上述命令会将指定文件的内容发送到 MIDI 端口,并且该文件必须包含原始 MIDI 命令,对于标准 MIDI 文件,请使用 aplaymidi。
8. 将指定为十六进制数的字节发送到 MIDI 端口
amidi -S 'F0 43 10 4C 00 00 7E 00 F7'
上述命令将指定为十六进制数的字节发送到 MIDI 端口。并将向默认端口发送 XG 重置
9. 设置要使用的 ALSA RawMIDI 端口的名称
amidi -p hw:0 -s my_settings.syx
上面的命令将设置要使用的 ALSA RawMIDI 端口的名称。如果未指定,amidi 使用配置文件中定义的默认端口(卡 0 上此端口 0 的默认值)并将 my_settings.syx 中的 MIDI 命令发送到端口 hw:0
10.将从MIDI端口接收到的数据打印为十六进制字节
amidi -p virtual -d
上述命令将从 MIDI 端口接收到的数据打印为十六进制字节。这个选项在调试时非常有用。此命令将创建一个虚拟 RawMIDI 端口,并将打印发送到该端口的所有数据。
11.将从MIDI端口接收到的数据写入指定文件
--receive=filename , -r
Example : sends a "Parameter Dump Request" to a GS device, saves the
received parameter data to the file dump.syx, and stops after
the device has finished sending data (when no data has been
received for one second).
amidi -p hw:1,2 -S F0411042110C000000000074F7 -r dump.syx -t 1
上述命令会向GS设备发送“Parameter Dump Request”,并将接收到的参数数据保存到文件dump.syx中,设备发送完数据后也会停止(如果有一次没有收到数据)第二)。