Как автоматически записывать MIDI?

У меня есть Yamaha Disklavier, акустическое пианино с MIDI-выходом. Мой сын импровизирует на нем, когда он в настроении, что бывает довольно часто. Это хороший материал, и я хотел бы записывать MIDI-выход его сессий, чтобы ему не приходилось ничего делать, кроме как играть.

Я ищу что-то, что будет постоянно контролировать MIDI-выход с пианино и записывать его всякий раз, когда на пианино играют. Я открыт для программного обеспечения, оборудования, Raspberry Pi, Arduino, бесплатно или за плату. У меня есть навыки разработки программного обеспечения, но сейчас мне не нужен еще один проект, и я надеюсь найти готовое решение или близкое к нему.

Приветствуются все предложения о том, как подойти к этой проблеме.

[Обновление] brainstormУтилита, упомянутая в принятом ответе, делает в Windows именно то, что я хочу. Но мне трудно понять, как использовать его в Linux. Синтаксис

brainstorm <input fifo> <filename prefix> <timeout in seconds>

Что я использую для input fifo?

Вот некоторая информация о MIDI в этой системе:

$ aconnect -i
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'masterkey 49' [type=kernel]
    0 'masterkey 49 MIDI 1'

[Обновление 2] Я заставил его работать с помощью abrainstorm. Учитывая, что я хочу записывать с клавиатуры masterkey 49 , синтаксис такой

abrainstorm --prefix myprefix_ --timeout 5 --connect 20 0

Ответы (3)

В MIDI-утилитах Div естьbrainstorm инструмент :

Эта утилита командной строки работает как диктофон для MIDI. Он прослушивает входящие MIDI-события и сохраняет их в новый MIDI-файл каждый раз, когда вы делаете паузу в игре на несколько секунд. Имена файлов генерируются автоматически на основе текущего времени, поэтому не требуется никаких действий.

Программа Brainstorm, предложенная CL, выглядит отличным вариантом (видимо, мне не хватает «баллов», чтобы просто написать комментарий).

Я бы также посоветовал взглянуть на MIDIOX . Я часто использовал его для устранения неполадок с MIDI. Его можно настроить для регистрации всего, что поступает в буфер.

Конечно, можно было бы придумать решение, немного попрограммировав его, чтобы сделать его более идеальным, но я думаю, что основной ответ на эту проблему — запустить программу миди-секвенсора на ПК, подключенном к пианино, и просто заставить его постоянно записывать. . Затем вы можете обрезать интересующие области, и должно быть очень легко просто удалить пустое пространство. На самом деле большинство таких программ можно настроить так, чтобы они делали это автоматически.

Я не знаю хорошего простого секвенсора, точно соответствующего вашим требованиям, но хорошей DAW [Digital Audio Workstation], которая делает все это и многое другое (и имеет собственный язык сценариев, поэтому технически может делать именно то, что вам нужно). хотите, если у вас когда-нибудь будет достаточно времени, чтобы настроить его) Reaper - он относительно недорог и имеет полностью неограниченную пробную версию, которая очень вежливо просит вас зарегистрироваться в течение определенного периода времени.