Early bits: Peter Samson, TX-0, and PDP-1
04 03 11 - 22:00It was mentioned in the very first featured article in this blog that the roots of 1-bit music could be traced back to 1960s (actually even 1950s). This article digs into the details of one of the early bits of the computer music history - 1-bit music for TX-0 and PDP-1 minicomputers. It is not earliest and not the only work of the time in this area, but it is interesting nevertheless. Please note that the details are documented in a few sources, which aren't easy to find and they aren't always consistent, so mistakes are possible.
TX-0 and PDP-1
TX-0, also known under nickname 'Tixo', was a computer designed and built by Lincoln Laboratory in 1953-1956. It was an early experimental digital computer made of 3600 discrete transistors. It was rather small, fit in just a single room, had fully 16-bit CPU at 5 MHz (but just about 100000 operations per second), 64K of 18-bit magnetic-core memory, 512x512 monochrome display system with 12 inch oscilloscope, light pen, and punched tape as storage medium. Its cost was over 3 million dollars.
Only one unit was built. In 1958 it was downgraded - its memory was used to build next versions, TX-1 and TX-2, and TX-0 got 4K of memory instead. In this form it was moved to MIT, then to Cambridge. Design of these computers was eventually used as base for the famous DEC PDP-1.
The computer was used by MIT students, the original 'hackers', for many interesting developments. Among them, in 1959-1962 two of earliest computer games were made for it - Mouse in the Maze and Tic-Tac-Toe, and also one of earliest digital audio programs, Expensive Tape Recorder, that was able to digitize sound from an external ADC, record it to magnetic tape, and then play back through 9-bit DAC.
Peter Samson and TX-0 music
Peter R. Samson, born 1941, was MIT student between 1958-1963. Among other students he got access to the TX-0. Previously he had opportunity to make programs for IBM 704, also owned by MIT, but security and machine time restrictions had not allowed him to develop his passion to the programming until the TX-0 became available.
TX-0 at MIT had a speaker connected to 14th bit of the accumulator. It produced different noises while a program ran, providing an additional feedback to the programmer. Jack Dennis of MIT faculty, the author of many system software developed in MIT for TX-0 (including assembler and debugger), suggested to Peter Samson that turning on and off the speaker could be enough to play music. Circa 1959 Samson wrote code which used well timed changes of data in the accumulator to generate monophonic sounds of different pitches, and play some melodies of Johann Sebastian Bach. They developed a system which used a sort of music language to encode the music in more human-friendly form.
Although there were some computer music experiments at the time, they often used long precalculation of data, taking hours of computers time and complex operations before the music could be played. Samson's work was one of the first that synthesized sound on a computer in realtime, using very simple hardware.
Judging by available source data, encoded music looked like a column of letters and numbers:
5c t8
4g t8
4fs t8
4b t8
You can easily take a guess that the first number in a row is octave, then a letter or two for note and sharp, then t and note duration. This data wasn't a text file, at the time the computer text editors were in development stage. Instead, the data was prepared manually, then typed on a special typewriter that served as keyboard of the TX-0. Electronics encoded the data and punched holes in a paper tape using punch device connected to the computer. Then punched tape with the encoded data was entered into the TX-0 punched tape reader.
After this, Peter Samson was involved into other computer general and music software developments. In 1960 he also developed a system for the TX-0 which allowed to enter a short single-voice music phrase using light pen, and additional hardware controlled by the TX-0, allowing to produce three channels of sound. There are not much details for this work, probably it was just three transistor-based flip-flops for three channels of 1-bit sound, the sound is still generated by the TX-0 CPU.
PDP-1 and Harmony Compiler
One of next works of Peter Samson was four-channel 1-bit stereo sound hardware for PDP-1 (just four flip-flops, RC filters and amplifiers), and Harmony Compiler - software which parsed text data similar to his previous system for TX-0, and played the encoded music. Later the hardware was upgraded, ability to use four volume levels was added. There are mentions of 3 and 6 voices modes in the Harmony Compiler manual, so maybe the system actually had more than four channels at some time.
Harmony Compiler synthesized the sound using addition method. Much later the same method became common for all the ZX Spectrum music engines with 16-bit counters. The idea is to add a value to a register in a loop, and use the most significant bit of the register for the output. Sound frequency could be controlled by changing the value. Additionally, the code performed a sort of ordered dithering to increase frequency resolution, alternating two values. Available pitch range was from C-1 to C-6.
Music encoding was significantly changed since TX-0. It was heavily based on classic music notation. Notes were encoded by staff line numbers. Features like different durations, triplets, flats, sharps, and many other were supported. To play a composition, all the voices had to be separately punched to tapes, then a compiler software was loaded, and all the tapes with voices data were loaded afterwards. The compiler processed the data and punched a tape with compiled music data, and this tape could be played using a player software.
Music encoded for Samson's TX-0 and PDP-1 music programs was classical pieces, like Bach or Chopin. Seems there were no original songs were composed to play on these computers.
Peter Samson's other works
After these 1-bit works Samson moved to more serious things, and circa 1974 he designed The System Concepts Digital Synthesizer, later also known as Samson Box - a 256-channel hardware digital sound generator controlled by a computer. It was serious hardware, the largest and the most capable music synthesizer of the time - it had 256 oscillators with frequency and amplitude envelopes, 128 modifiers (filters or modulators), and delay memory. It supported additive, subtractive, non-linear FM synthesis, and waveshaping. The thing was looked like a green refridgerator, and it cost was about $100000. It was used to create computer music by different composers for more than ten years.
Now Peter Samson is known as one of the pioneers of computer software, including music software.
Music recordings
Unfortunately, it seems there are no recordings of TX-0 music, and the computer itself does not exists anymore. There are some PDP-1 music original recordings from the Samson's system, though. Also, in 2003-2004 Computer History Museum has restored a PDP-1 computer, and Peter Samson joined the project and restored his music system, and also Spacewar! game.
215 comments