Name: midi-music-box Version: 0.0.0.4 Synopsis: Convert MIDI file to music box punch tape Description: Convert MIDI file to music box punch tape for this kind of music box: . Run it like so: . > midi-music-box --output=song.ps song.mid . @song.mid@ is the input file that must be a MIDI file. @song.ps@ is the output file, a PostScript file. You can print it with a printer or to a PDF document or convert it to many other formats. Currently, the output file must always have the @.ps@ filename extension. Other formats could be supported by adding more of the @diagrams-*@ packages. However, this means you have to alter the program. . The program will print the following symbols to the stripe: . * blue dot - correct note that should be punched . * # - this is a semitone and cannot be played accurately (at least on the type of music box I refered to, above) . * ! - the note is outside the range . In case of notes outside the stripe you have to adapt the offset. You may write . > midi-music-box --zerokey=72 --output=song.ps song.mid . in order to make the MIDI note with number 72 the left-most note on the stripe. Default is @--zerokey=60@. The number of notes in an octave is 12. If you use a zerokey that is a multiple of 12 then white (piano) keys remain white, and black keys remain black, so to speak. If zerokey is not a multiple of 12 then white keys may become black an vice versa. Since the music box type considered here only supports white keys, I recommend the following: If the song is in key X major then lookup the MIDI note number for X and choose X plus or minus a multiple of 12 as zerokey. If the song has key Y minor, then X=Y+3. . You find executables for MS Windows in two ZIP archives there: Homepage: http://hub.darcs.net/thielema/midi-music-box License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: haskell@henning-thielemann.de Category: Music, Sound Build-Type: Simple Cabal-Version: >=1.10 Source-Repository this Tag: 0.0.0.4 Type: darcs Location: http://hub.darcs.net/thielema/midi-music-box Source-Repository head Type: darcs Location: http://hub.darcs.net/thielema/midi-music-box Executable midi-music-box Main-Is: Main.hs Hs-Source-Dirs: src Default-Language: Haskell2010 GHC-Options: -Wall Build-Depends: diagrams-postscript >=1.3 && <1.5, diagrams-lib >=1.3 && <1.5, midi >=0.2.1 && <0.3, event-list >=0.1.1 && <0.2, optparse-applicative >=0.11 && <0.15, containers >=0.4 && <0.6, non-empty >=0.1.3 && <0.4, utility-ht >=0.0.10 && <0.1, base >=4.5 && <5