补充说明
aplaymidi 属于 alsa-utils,读取标准 MIDI 文件(.mid),通过 ALSA sequencer 发送给合成器或外部 MIDI 设备。它不负责音色合成,目标端口必须由软件合成器(如 FluidSynth、TiMidity++)或硬件 MIDI 接口提供。
典型流程是先用 aconnect -o/aplaymidi -l 找到可用端口,再指定 客户端:端口 播放。若没有声音,通常是声卡没有加载 MIDI 合成器,或端口未连接。
语法
aplaymidi [选项] 文件
选项
-l, --list:列出可用的 MIDI 输出端口-p, --port=客户端:端口:指定目标端口-d, --delay=秒:在曲目之间插入延迟-h, --help:显示帮助-V, --version:显示版本
实例
# 查看可用的 MIDI 输出端口
aplaymidi -l
# 播放到 128:0 端口
aplaymidi -p 128:0 song.mid
# 播放多个文件,每首之间间隔 2 秒
aplaymidi -p 128:0 -d 2 first.mid second.mid
# 用 FluidSynth 提供软件合成端口后再播放
fluidsynth -a alsa -m alsa_seq soundfont.sf2 &
aplaymidi -p 128:0 song.mid
端口号形如 客户端编号:端口编号,每次重启后可能变化,脚本中应先解析 aplaymidi -l 的输出。