[LAU] how to edit MIDI by applying selection rules?

Alexandre Ratchov alex at caoua.org
Mon Nov 19 06:52:46 EST 2007


On Sun, Nov 18, 2007 at 02:18:23AM -0500, Hector Centeno wrote:
>    Hi,
> 
>    Some days ago I was working on a MIDI project that required selecting a
>    large group of notes and transposing them. The notes to be selected were
>    short notes alternating with long ones. Using Rosegarden the only way of
>    doing it was to shift-click (in piano roll) on the short notes which
>    became impossible since sometimes clicking on the short note would also
>    select the long one next to it. Also if I made a mistake I had to start
>    over again since in Rosegarden (ver. 1.5.1 at least) you can't unselect a
>    note from a group of already selected notes. Even if it was possible to
>    shift-click on each note without problems it would require a lot of time.
>    So, my question is: are there any open source MIDI editing tools that
>    would allow me to do something like this quickly? This kind of tasks are
>    easy to accomplish in other proprietary softwares using filtered selection
>    by creating your own set of selection rules and applying it to a MIDI
>    region or track (like: select all notes between such and such duration).
>    Is there anything like this for Linux? Any command line MIDI editing tools
>    already around? In other cases it would be nice to edit groups of notes
>    selected by pitch or velocity.
> 

hi,

depending on what type of selection you need, midish may be useful;
it can select notes based on channel, note number and/or velocity.
For instance, the following commands will transpose measures 0-16
of track "trk05" by -12 halftones, but will leave as is notes not
in the 0-64 range

$ rmidish  
send EOF character (control-D) to quit
1> songimportsmf "sample.mid"
2> tracktransp trk05 0 16 (-12) 0 { note {} {0 64} }
3> songexportsmf "sample2.mid"
4> 

possible selections for editing functions are briefly described in
the manual, here:

	http://caoua.org/midish/manual.html#ev

cheers,

-- Alexandre



More information about the Linux-audio-user mailing list