I have a Yamaha Disklavier, an acoustic piano with MIDI output. My son improvises on it when he is in the mood, which is quite frequently. It's good stuff and I'd like to capture the MIDI output of his sessions, without him having to do anything but play.
I'm looking for something that would continuously monitor the MIDI output from the piano and record it whenever the piano is played. I'm open to software, hardware, Raspberry Pi, Arduino, free or for-pay. I do have software development skills but I don't need another project right now and hoping to find an off-the-shelf solution, or close to that.
All suggestions for how to approach this problem are welcome.
[Update] The brainstorm
utility mentioned in the accepted answer does just what I want on Windows. But I'm having trouble figuring out how to use it on Linux. The syntax is
brainstorm <input fifo> <filename prefix> <timeout in seconds>
What do I use for the input fifo
?
Here's some info about MIDI on this system:
$ 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'
[Update 2] I got it to work by using abrainstorm
. Given that I want to record from the masterkey 49 keyboard, the syntax is
abrainstorm --prefix myprefix_ --timeout 5 --connect 20 0