PDP-1: THE EARLIEST
REAL-TIME COMPUTER MUSIC
Work in Progress

CONTENTS
Introduction
Using Samson's PDP-1 music player
Transcribing sheet music for the Harmony compiler
Introduction
Peter Samson wrote the Harmony Compiler to play music on the PDP-1. The sound output was through four flip-flops brought out to a stereo amplifier; although the sounds were simple 1-bit block waveforms, he could play four-voice polyphonic music with this setup. There were computer music pioneers before him: 1951, by engineers at CSIRAC in Australia, a 1-bit-banged voice; Max Matthews' 1958 MUSIC program at Bell Labs was the first polyphonic experiment, and MIT's Ercolino Ferretti used an IBM 7094 for experimental sound synthesis.
But PDP-1 music is right there at the birth of electronic and computer music. Samson wrote a surprisingly sophisticated 'music compiler', called Harmony, which took sheet music transcribed to its own format from paper tape and played it live over the speakers. As everything with the PDP-1, the music player was direct and interactive - in big contrast to MUSIC on the IBM. Although the IBM prepared the music, the output had to be taken off and played elsewhere on a separate device. Samson's software just loaded the tape and the PDP-1 began playing. Lots of music was transcribed for the Harmony compiler, you can find much on bitsavers.org.
Also notable is the sophisticated transcription of the sheet music - not only pitch and duration of notes were encoded, but also articulation data (staccato) - even ornamentation (trills, mordents, and turns) for his preferred Baroque music pieces. That is, actually, more than is possible with modern Midi! However, there was just one musical instrument to play the four voices: it was always the 1-bit square wave from the bit-banging PDP-1. In other words, it was not a synthesizer. Or not a terribly flexible one :-).
What it did amount to, was being the first-ever DAW - Digital Audio Workstation! In a primitive form, but nevertheless, the now ubiquitous DAW too has its roots on the PDP-1.
Reading links: Please read these as background information, there's no need to duplicate these nice reads here:
Details on the Harmony Compiler and its origins (CHM), reminiscences of Dan Smith with some original recordings. The Harmony manual itself is available, too.



Actually, although the original music on paper tape had been preserved, the original music player did not - at least, not the one for generic PDP-1s. Developed on the heavily modified MIT PDP-1, Samson soon got a $200 offer from DEC to let 'any' PDP-1 run the software. That generic version was lost - but 40 years later, Samson was involved in the restoration of the PDP-1 at the CHM, his wife happened to find his souce code, and he typed it in again. And that is the paper tape we will use.
A good introduction to the pre-history of music & computers: Composers & Computers, a podcast. Though they've not yet reached the PDP-1...

Using Samson's PDP-1 music player
Make sure you have the audio enabled (a check box on the Web user interface, or FX on the GUI user interface).
Also, make sure that you have audio on the Pi - either through a HDMI monitor with speakers or through the USB sound dongle supplied with the PiDP-1 Rack (you need to set the dongle as the primary audio device through the Pi's GUI, top right, right-click). To be clear: the check box is on the Web interface, but the sound comes out of the Pi! (If you run the whole pidp1 packge on your Linux laptop, of course, it'll come out of your laptop's speakers).
- Mount the pdp1m13.rim papertape, and press READ IN
- Then, mount the trioSonataIII_intermediate.bin (or another Harmony music tape of course),
- Set Sense Switch 1, to set the program to compile the input tape,
- Set the Address switches to 0004,
- Press START three times. Once for every voice in the piece.
- Set Sense Switch 1 to off again, to switch the program to playing mode,
- Press START
decode_fiodec
on the trioSonataIII_intermediate.bin tape. The format is not particularly easy on the eyes, for musicians, but it was very precise and detailed.

October 2025: only the Web interface plays music at the moment. We're adding it to the GUI interface ASAP
Transcribing sheet music for the Harmony compiler
This is not a simple task! Famously, mistakes in the transcription are greeted with a message from the typewriter's red ribbon: "To err is human, to forgive divine."
But this manual will get you started: Writing music for the compiler. Also, an introductory letter from Samson to the Lawrence Livermore PDP-1 users gives a good first overview.
