Back to GanjaTron's site

ScanJet Music


Music? On a Scanner???

That's right. The HP ScanJet 4c's SCL (Scanner Control Language) command set includes an unofficial PLAY TUNE command. I stumbled across this after reading an article on the ScanJet 4c in the feb. 1997 issue of HP Journal (see the sidebar Sing to Me).

The PLAY TUNE command basically varies the stepping rate of the scanner motor to produce audible frequencies. All it needs is a series of note frequencies and durations previously written to its SCSI buffer. The ScanJetPlay utility resulted from my efforts in trying out this easter egg. Check dis shit out, babee! :^)

ScanJetPlay requires libsane and libsanei (for SCSI access) from the SANE backends package. Note that libsanei and its header files is not installed per default, and must be done manually. A binary for Linux i386 can be downloaded for convenience.

Supported Hardware

This software is known to work on the Scanjet 4p and 4c. It should also work on the 3p and 3c, which are mechanically identical. It *may* work on later SCL-based models with SCSI interface, but this is untested. I'd appreciate user feedback on this.

The Obligatory Disclaimer...

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; use at your own risk. The author assumes no liability for any damages incurred by its use, particularly to scanning hardware. Care has been taken to avoid potential damage, but if your scanner acts strangely SHUT IT DOWN IMMEDIATELY! (Of course music emanating from a scanner is not considered strange at all). By using this software, you agree to these terms.

ScanJetPlay Download

ScanJetPlay source code (requires libsanei)
ScanJetPlay binary compiled for Linux i386 (includes libsanei 1.0.14)
ScanJetPlay README file

Video Download

See the ScanJet 4c in action! (1.4 Mb MPG)

Back to GanjaTron's site