I was wondering what set the rotational speed in a cassette recorder? I assume that the speed must be constant, but that means that the tape data would have different effective densities depending on where you were on the tape. Was it a stepper motor and a timer to create the rotations or was something more interesting used?
The hubs do not rotate at constant speed in normal tape recorders - there is what is called a capstan that it kept in contact with the tape by a rubber pressure wheel. The capstan rotates at constant speed and so drives the tape at constant speed.
The take-up reel is usually driven through a friction wheel so that it keeps reasonably constant tension on the tape but the hub speed can vary as needed.
Some tape recorders such as ones for voice recording often do drive the tape by rotating the take-up reel at a constant speed - in that case the recording density will change depending upon how much tape is on the reel. The variations in quality for voice are usually acceptable.
The standard for cassettes is where the magnitude of the magnetic flux on the tape represents the instantaneous value of the signal being recorded. There are a couple of techniques used to improve the quality of the signal played back:
1) A high-frequency AC bias is added to the signal being recorded to avoid the non-linearity inherent in the flux recorded vs the current in the recording head, without this there would be a non-linear response around zero. A cheaper alternative where low quality can be tolerated is to use DC bias, that will give a lower signal to noise ratio on playback with more hiss.
2) Another technique is to use equalization where some frequencies are boosted in recording and attenuated on playback to improve the overall signal to noise ratio (i.e. reduce hiss). There are standards set by the RIAA so that tapes are interchangeable between different machines. Some also use noise reception techniques such as Dolby Noise Reduction.
The motors used for driving the tape were usually brushed DC motors with either a centrifugal governor (a small weight on a spring that open contacts at a defined speed to slow the motor) or by using the back-emf of the motor to sense and control the speed. (See another question I answered DC Motor speed control.)
Stepper motors were never used in conventional cassette recorders. They tend to be inefficient (i.e. consume more battery power), have unsteady speed (e.g. cogging) and are not so easy to drive as DC brushed motors.
In almost all tape recorders (cassette, open reel audio, various video cartridge types, 2" Broadcast videotape, etc...) the tape is driven by a capstan and pinch roller, not by the tension from the take-up reel.
In audio cassette recorders, the takeup reel is probably driven by a friction drive from the capstan motor. In professional open-reel machines, there are often a separate motors to drive the takeup reel and to maintain tension on the supply reel. These motors and their drive systems are designed to maintain a suitable tension on the tape during record/play operation but can produce higher torque for fast forward or rewind operations.
I seem to recall someone (Colecovision?) had a cassette recorder without a capstan, where they dragged tape across heads using fairly precise control of the drive reels.
The drive mechanism was surprisingly naked, with much of the typical guts of a cassette transport just conspicuous in its absence. It was obvious they had reduced production cost considerably.
The repair shop I worked in used a special calibration tape to set the speed precisely. It had a number of prerecorded tones on it used for various adjustments and measurements. The speed was set using a section on the tape recorded with a 1 kHz tone. The tone was monitored with a frequency counter which allowed precise speed adjustment using the technique described by Harper above. Other sections of the tape were used to measure frequency response and adjust the head azimuth (tilt) ensuring good high frequency response. Wow (slow speed variations) and flutter (fast speed variations) could also be measured if the right equipment was available.
The speed for a conventional audio cassette is set at 1 7/8 inches per second. As others have said, this is by controlling the rotation rate of the capstan. The take-up spool is on a friction drive, and runs at whatever speed it needs to in order to take up the tape.