The BBC is reporting that it has unveiled the oldest known recording of computer generated music. This recording was generated by the Ferranti Mark 1 computer at the University of Manchester in the Autumn of 1951. The Ferranti Mark 1 was the first computer to have a memory device that allowed it to run software programs. Previous computers of the day ran hardwired programs which were much more difficult to program.
The baudline spectrogram visualizer created the image below of the historic Ferranti Mark 1 computer music:
There are two interesting spectral features visible in the spectrogram.
The first feature is the frequency folding at 1012 and at 2024 Hz. These mirror spectral images can be artifacts of a sample rate conversion with poor anti-alias filtering or they could be caused by modulation (AM or FM) of the audio output. Modulation is the likely explanation because the audio output is suspected to be a simple wire connection to one of the Ferranti's register bits. Toggling a register bit at a CPU clock frequency at about 1012 Hz could create similar modulation sidebands. The Ferranti Mark 1 had a standard instruction time of 1.2 ms and a multiplication instruction time of 2.16 ms which is near a 1 kHz clock rate. On a related note, mystery signal #4 has similar modulation side-banding and the Khoomei Acoustic Analysis blog post has similar frequency folding.
The second spectral feature of interest was discovered with baudline's harmonic measurement bars. The harmonics of the musical notes are all missing their fundamental frequency. The exact cause is not known but a phantom fundamental is not easy to generate by bit twiddling. An analog filter or the frequency response of the loudspeaker could have caused this fundamental removal. Diode rectification is not the cause because the |x| absolute value operation moves the fundamental and it also moves the harmonics. On a related note the musical output is monophonic and has an apparent one octave range.
For technical information about the Ferranti Mark 1 computer see: