MMD > Archives > February 1996 > 1996.02.29 > 02Prev  Next


Are Player Pianos Early Computers? and Rolls to MIDI
By Jim Howes

Forwarded Message:

• From: jimh@accessintl.com       To: ALL                       Orig: MBNET
 Subj: Re: Player rolls => midi  Area: 1-ec.music.ragtime      Date: 02/26/96
=============================================================================
•driller@slic.com (Doug Vensel) wrote:
..
> P.S.  How many people out there actually realize that player pianos
> are the world's first actual computers?  The whole principle of on/off
> to form certain commands (chords)(songs) comes from the principles of
> the player action.   Think about it.

Sorry, but if you want to consider such a thing a computer, I believe the
little wind-up music boxes preceded player pianos.  Even earlier than
those would be some of the mechanized toys and contraptions like Black
Forest cuckoo clocks, and Chinese water-clocks.  Some of these had
marvelously complex behaviors, based on the interactions of gears and
toggles (on/off), rather like Babbage's engine (the first mechanical
computer that I know of, and forerunner of the old mechanical adding
machines).

Regarding the Player to MIDI problem.  I don't suppose anybody makes a
player piano with MIDI output.  Lacking that, any decent custom digital
engineering company could build you a one-of-a-kind translator, but they'd
probably want $30,000 to $100,000 for the privilege.  The best bet is,
as Doug suggested, finding a company that has already solved the problem
for their own needs, and asking them to do the translation for you.

If someone wants to build the contraption themselves, I'd suggest building
a mechanism to run the rolls past an array of optical sensors at some very
slow speed, say 1/10th-1/100th normal speed.  (It's easier on frail old
rolls, and allows the operator more time to react if something goes
wrong.)  Interface the sensors to a cheap PC type computer using the
parallel port and a bank addressing scheme (you don't want to equip your
computer with 11 8-bit parallel ports).  Then write a simple real-time
program to read the roll and write a mid (or whatever) file.  If you run
the roll by slowly enough, you could even write the program in Basic
(assuming you have a version that allows direct device I/O).  If you
want to get fancy, you could add a few sensors to monitor motor speed,
roll tension, etc., and/or use stepping motors, and allow the computer
to control the speed.  You could also implement a software tear detector
(any time you have N consecutive notes on,  assume you have a torn roll
and stop).

If the program & interface are fast enough, you could play the rolls
directly to the MIDI-out port, or a built- in synthesizer, but that's
not necessary.  If you use stepping motors, and go slowly enough then
the program doesn't have to be real-time, it can figure out the timing
of the piece from the number of steps it has taken.  This may be the
simplest approach.

I don't usually monitor this group, so if anyone wants to talk to me
more about this, e-mail me.
Jim Howes

•- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Jim Howes                                    Chief Engineering Officer
                      e-mail:  jbhowes@accessintl.com
                    WWW page:  http:/www.accessintl.com/jbhowes/
        personal voice phone:  USA 801-423-2863
      fax (e-mail preferred):  USA 801-373-2934

Access International                            Web Presence Providers
                      e-mail:  info@accessintl.com
                    WWW page:  http:/www.accessintl.com/

(Message sent Thu, 29 Feb 1996 11:19:12 -0600 , from time zone -0600.)

Key Words in Subject:  Are, Computers, Early, MIDI, Pianos, Player, Rolls