Mechanical Music Digest  Archives
You Are Not Logged In Login/Get New Account
Please Log In. Accounts are free!
Logged In users are granted additional features including a more current version of the Archives and a simplified process for submitting articles.
Home Archives Calendar Gallery Store Links Info

End-of-Year Fundraising Drive In Progress. Please visit our home page to see this and other announcements: https://www.mmdigest.com     Thank you. --Jody

MMD > Archives > December 2006 > 2006.12.31 > 04Prev  Next


Piano Roll Template Printing Program
By Duaine Hechler

In the early 1980s, after the first IBM PCs came out, I had this
brilliant idea of making my own rolls.  Using BASIC programming language,
I figured out that creating a roll was just a two-dimensional array --
the first was the note and the second was the length of the note.

Then came to figuring out how to code it.  That took some time.  The
obvious was the notes, 1 to 88.  The second part took experimenting.
A hole note was 1, half note was .50, etc.  Then came the timing,
meaning the speed.  This part is sketchy because of the time that has
passed, but I believe I set it up to be at a speed of 80 take the note
value times 8 (or speed / 10 ).

The data file was a bunch of comma-delimited arrays ending in 99.
A simple chord was 10, 1, 40, 1, 52, 1, 99.  Oops!  What about rests?
They were 0.  So a chord with a half note repeating in the chord 10, 1,
40, .5, 40, 0, 40, .5, 52, 1, 99.  Now, just read the music and
transcribe into a data file.

Now comes the hard part.  I had a wide (132 column) dot-matrix printer
but, natively, a pitch of 10, 12 or 15 chars per inch and as we all know
the tracker bar is 9 chars (holes) per inch.  Oh, what to do!  I know
(yuck), I'll put the printer in graphics mode -- dot by dot.  It took
days, but I finally got it the print a square for each hole in the
tracker bar in the right place.

But wait!  Rolls scroll from top to bottom and the printer goes from the
bottom to top.  Easy fix: just count backwards, 88 to 1, and scroll up.

Now that the notes are done, I need to code for the roll width.  Done.

Alas, there need to be coding for the blank paper at the end _and_ for
the leader in front _plus_ to beginning "triangle" and the "tab" Done.

So now the completed roll will be printed, on plain no-waxed shelf
paper: the beginning, the music and the ending with marking on it where
to cut for the width of the roll.

Now that the roll is done, cut to the width of the normal roll and,
using an X-acto knife cut out the slots (or hand punching).  Voila!
I made four rolls, all from sheet music that was not available normally.
But did I stop there?  Of course not, being the computer geek that I
was and still am.

Now that I have all the basics in place, I want to get it to play on my
PC.  For those of you that remember back that far, there was no such
thing as a sound card, only the PC speaker (and, for geeks, the BASIC
"PLAY" command)

The first step was to get the image of a player piano.  It the time,
it was only CGA graphics or 3 colors.  Done.  Now, in graphics mode,
get the piano roll to appear and scroll down.  That took trickery
because, natively, scrolling up was normal.  Done.

Getting it to play was a major challenge.  Setup a row of dots for the
tracker bar.  When the coded note hits that spot, play the note.  Done.
But, how to play chords (the "PLAY" was only designed to play one note
at a time.)  Okay, just play the notes really fast and short.  Now, we
have simulated chords.  Done.

But wait!  What about the keys?  Store a graphic image of a key up and
a key down.  So, now when the note is played, the keys move with the
notes.

But, alas, Microsoft killed BASIC in favor of Visual Basic and I never
learned it.

Duaine Hechler
St. Louis, Missouri
http://www.hechlerpianoandorgan.com/


(Message sent Mon 1 Jan 2007, 00:44:34 GMT, from time zone GMT-0600.)

Key Words in Subject:  Piano, Printing, Program, Roll, Template

Home    Archives    Calendar    Gallery    Store    Links    Info   


Enter text below to search the MMD Website with Google



CONTACT FORM: Click HERE to write to the editor, or to post a message about Mechanical Musical Instruments to the MMD

Unless otherwise noted, all opinions are those of the individual authors and may not represent those of the editors. Compilation copyright 1995-2024 by Jody Kravitz.

Please read our Republication Policy before copying information from or creating links to this web site.

Click HERE to contact the webmaster regarding problems with the website.

Please support publication of the MMD by donating online

Please Support Publication of the MMD with your Generous Donation

Pay via PayPal

No PayPal account required

                                     
Translate This Page