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