As to how such a device might work, look at the standard Commodore tape encoding, common to the PET, Vic-20, C64 and more. The timings actually vary very slightly between those computers when writing, but I'm going to use the archetypal timings given by The Complete Commodore Inner Space Anthology, page 97.
A program file on tape consists of:
- a leader — a block of high-pitched tone;
- the program header, then a second copy of the program header;
- the program data, then a second copy of the program data; and
- an end marker, followed by a second copy of the end marker.
Those things are encoded through three lengths of square wave:
- a short wave consists of both a high and low portion, each lasting 182 µs;
- a long wave consists of both a high and low portion, each lasting 262 µs; and
- a mark wave consists of both a high and low portion, each lasting 342 µs.
So a complete short wave is 364 µs, a complete long is 524 µs and a complete mark is 684 µs.
The leader is just 50 cycles of 'short' waves. That's fairly straightforward.
The other three parts are built up from bytes, and each byte is formed as:
- a byte marker;
- the eight bits from the byte; and
- a parity bit.
The byte marker is a complete mark wave plus a complete long wave. So it is 342+262 = 604 µs long. Each bit is then either: (i) a long wave followed by a short wave, to signal a '1'; or (ii) a short wave followed by a long wave, to signal a '0'. Therefore each bit is 182+262 = 444 µs long.
There are nine bits plus the marker per byte = 4,600 µs. But every byte is repeated twice, so it actually occupies 9,200 µs.
The machine is sensitive enough to detect the wave lengths as per above, so suppose you instead said that bytes don't have a marker, each one implicitly starts directly after the other. Also there's no parity, and each byte appears once. Instead a 16-bit CRC will be included after every 256 bytes. Also, we can simplify the encoding of each bit — e.g. just use one long wave for a '1' and one short wave for a '0'.
Then the average bit length will be (262 + 182) / 2 = 222 µs. And each byte is just eight bits, so an average of 1776 µs long. Even if you include the new CRC bytes of two per 256, that adds only an average of (2/256)*1776 ~= 13.8 µs per byte. So call the new scheme 1790 µs per byte.
9,200 / 1,790 ~= 5.14.
So just by doing those things, you've increased the data rate to around 5.14 times as much as it was.
I don't know whether that's close to what the Rabbit does or not, but this is how such a device could work.