2016-07-31 6 views
1

Я использую команду aplaymidi для запуска аппаратного устройства через USB-адаптер MIDI. По большей части он отлично работает, но прекращает воспроизведение с управление - c оставляет застрявшие заметки. До сих пор единственным способом, которым я смог выпустить застрявшие ноты, является воспроизведение MIDI-файла с хроматической шкалой 127 примечаний. Это медленно, и слушать шкалу нежелательно.Остановка aplaymidi оставляет застрявшие заметки

Есть ли способ вывода каждой команды "note off" при отмене воспроизведения файла?

ответ

0

Wrap aplaymidi в скрипт, который проверяет статус выхода для обнаружения Ctrl + C:

#!/bin/bash 
aplaymidi "$*" 
test $? == 130 && aplaymidi .../AllNotesOff.mid 

«все ноты от» сообщение контроллер 123; просто отправьте его по всем каналам одновременно.

В качестве альтернативы, использовать amidi, чтобы отправить сообщение сброса:

... && amidi -p hw:X -S F07E7F0901F7 

, где X это номер карты; см. amidi -l для списка портов.

+0

Где я могу найти или как сделать MIDI-файл, который отправляет эту команду? – Rachie

+0

Любой секвенсор сможет создать такой файл. –

+0

Мне не удалось найти секвенсор, который может это сделать. Также вы могли бы объяснить шестнадцатеричные MIDI-команды? Я не могу найти хорошую документацию о том, что «0xF0» отличается от «system exclusive». – Rachie