— v1.3   February 2012 —

midi2sco is a Ruby script to generate 'Score' commands for Csound from a standard midifile. Either all channels in the source can be translated to Instrument commands, or — using a Map File — selected channels and/or Program Numbers may be directed to particular instruments, with various additional options.

Start-time ('p2') and Duration ('p3') are derived from the MIDI Note-Ons and Note-Offs. Amplitude and Pitch specification are computed from Note Velocity and Pitch; these are normally 'p4' and 'p5' respectively, but their order can be reversed. Parameters on instrument lines are by default tab-separated, so the created score file, as well as being ready for Csound, can be read into a spreadsheet and conveniently modified. It has the option of using a number of subinstances of an instrument ("i1.1" or the like) for instruments that hold their activation beyond the end of a note in the score.

This latest update will also handle Sustain/Damper pedal events, lengthening notes as appropriate. You can also annotate the output score file with Program and Controller events and their times. (No controller other than sustain (64) is handled aside from annotation.)

See the README in the package for all details.

Requirements: The script runs under the Ruby interpreter, which must be installed on your machine. Probably should be version 1.8.4 or later. It should work under any OS — let me know if it doesn't!
The 'midifile.rb utility script is also needed, but included in the downloadable packages.

The downloadable archives below contain the following:

The script itself — see the README for usage.
The midifile reading module — install anywhere in your Ruby library path. A fuller package of this (with README and examples) can be found here.
How to use the script.
A simple player for score files produced by the script


You can download the package here:
midi2sco.tgz — gzipped tar, 16 KB — zip archive, 18 KB


                                Pete Goodeve
                                Berkeley, California

                e-mail: pete@GoodeveCa.NET

Programs for BeOS/Haiku
My Home Page