Harmony Compiler

From Wikipedia - Reading time: 4 min

Harmony Compiler
Original author(s)Peter Samson
Initial release1960, 2006
PlatformPDP-1
TypeMusic
WebsitePDP-1 Restoration Project

Harmony Compiler was written by Peter Samson at the Massachusetts Institute of Technology (MIT). The compiler was designed to encode music for the PDP-1 and built on an earlier program Samson wrote for the TX-0 computer.

screenshot of music on a TX-0
TX-0 music

Jack Dennis noticed and had mentioned to Samson that the sound on or off state of the TX-0's speaker could be enough to play music.[1] They succeeded in building a WYSIWYG program for one voice before or by 1960.[2]

For the PDP-1 which arrived at MIT in September 1961, Samson designed the Harmony Compiler which synthesizes four voices from input in a text-based notation. Although it created music in many genres, it was optimized for baroque music. PDP-1 music is merged from four channels and played back in stereo. Notes are on pitch and each has an undertone. The music does not stop for errors. Mistakes are greeted with a message from the typewriter's red ribbon, "To err is human, to forgive divine."[3]

Samson joined the PDP-1 restoration project[4] at the Computer History Museum in 2004 to recreate the music player.

References

[edit]
  • Smith, Daniel P. B. (1997). "PDP-1 Music". Retrieved 2006-07-05.
  • Samson, Peter (2006). The Mouse That Roared: PDP-1 Celebration Event Lecture 05.15.06. Computer History Museum. Retrieved 2006-07-05. Samson's description begins at 1:20.

Notes

[edit]
  1. ^ Hackers: Heroes of the Computer Revolution by Steven Levy at Project Gutenberg. p. 24
  2. ^ "MUSIC X". 28 May 1960. Retrieved 2006-07-05.
  3. ^ An Essay on Criticism by Alexander Pope at Project Gutenberg p. 13
  4. ^ Cheponis, Mike (Spring 2006). "Restoring the DEC PDP-1 Computer". Core. Computer History Museum. Retrieved 2007-11-23.

Licensed under CC BY-SA 3.0 | Source: https://en.wikipedia.org/wiki/Harmony_Compiler
21 views |
Download as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF