MIDIRECORD(1) | General Commands Manual | MIDIRECORD(1) |
midirecord
—
record midi files
midirecord |
[-aDfhoqV ] [-B
buffersize] [-c
channels] [-d
devices] [-f
sequencerdev] [-n
notesperbeat] [-R
roundbeats] [-r
raw_output] [-T
tempo] [-t
time] file |
The midirecord
program converts the
sequencer events read on sequencerdev to the named
MIDI SMF output. If the file name is -, output will go to the standard
output. By default, timing for events begins with the first event. The
-o
flag may be used to start timing events at the
process start up.
The following options are available:
-a
-B
buffersize-c
channels-D
-d
devices-f
sequencerdev-h
-n
notesperbeat-o
-q
-R
roundbeats-r
raw_output-T
tempo-t
time-V
MIDIDEVICE
You can use midirecord
to observe activity
on a MIDI bus using the -D
and
-V
options and learn about device-specific MIDI
messages.
For instance, to determine the MIDI messages needed to switch to ARP mode on a Korg minilogue XD synthesizer, which does not document any control change or non-registered parameter numbers for this function but does document that ARP is part of the “VOICE TYPE MODE”, parameter these messages were seen:
midi_event_chn_common_to_output:444:
MIDI_CTL_CHANGE: channel 0 ctrl 62 val 10
midi_event_chn_common_to_output:444:
MIDI_CTL_CHANGE: channel 0 ctrl 6 val 1
which shows that CC#62 (hexadecimal) was set to value 10 (also hexadecimal), and that CC#6 was set to value 1. As CC#62 is also the least significant byte of the non-registered parameter number, we can guess that NRPN 0,62 controls the “VOICE MODE TYPE” parameter documented in the synthesizer manual, and that the value 1 set to CC#6 (Control Data Entry MSB) turns on ARP mode. For completeness, setting both CC#62 and CC#63 for the parameter number, as well as CC#6 and CC#26 (Control Data Entry MSB) to 0 provides a complete NRPN control message.
The midirecord
program was first seen in
NetBSD 7.
The midirecord
program was written by
Matthew R. Green
<mrg@eterna23.net>.
SYSEX, LOCAL and FULLSIZE messages are not currently handled, but the NetBSD sequencer(4) device does not generate them.
midirecord
will hang after the timeout
waiting for the very next message before it will exit and finish writing the
file.
March 13, 2020 | NetBSD 10.99 |