The VR240
Eventide has been producing and updating their 24-channel audio recorder, the VR240, for ages.
Common use-cases would be logging support calls or recording radio traffic. Two units eventually
made it to my home without any tapes. One of them eventually got tore down at the hackerspace.
Luckily, these units use a large(at the time) SCSI disk as a giant FIFO to buffer the tape writes.
I've always been curious where mine came from, but perhaps they'll actually be able to tell me.
Disk Format
It seems the SCSI disk inside the VR240 was never meant to be removed and placed into a desktop.
The disk does not actually have an MBR, but is instead divided into 1KB blocks. The first two blocks appear
to be used as headers or indexing, the rest appear to have a 32-byte header and probably contain the audio.
The header for the data-blocks appears to be:
- 3 bytes of block-counter, increments by 4 each block.
- 2 bytes of padding
- 3 bytes of walking bitfield. Starts at bit0, shifts left once per block, wraps every 24 blocks.
- 2 bytes: 0x2269
- 2 bytes: a very slow counter. Appears to increment every 40-50 blocks?
- 2 bytes: A few different values spotted here: 0xAA9C, 0x7FF1, 0x73D9, 0xAADF. More digging required.
- 6 bytes: 0x000700081418
- 12 bytes: unknown, could be the start of audio
Audio Formats
The VR240 supports three different formats. The manual describes them quite well, and there's some important bits
of knowledge we're going to need later about the encoding in there too. Of note, independent of encoder output rate, the sampling
rate is always 8kHz.
- 64kbps - This appears to be a raw mono 8kHz at the native ADC's 8-bit sampling.
- 
32kbps - The manual mentions the DSP does some compression, but then explains that there are 4-bits per sample. This sounds
suspiciously like analog-domain audio compression followed by quantization(or log-encoding, something like a-law or u-law).
- 16kbps - Similar to 32kbps, 8kHz sampling with 2 bits per sample.
Another note from the manual: "The 8-bit samples used in the VR240 actually have a dynamic range
equivalent to 13-bit linear samples, but the 13-bit values are especially coded into 8-bit quantities."
86 pages in - it's G.726 u-law. So if we can organize the bytes, we should be able to snag somewhere between
16 hours and 3 days of audio.
Where is the Audio?
Assuming the disk is written end-to-end, it should be possible to play it with a raw audio player by skipping the periodic headers. But, there are some variables:
- Encoder bitrate - 64/32/16 kbps
- Bit-endian-ness - in 32 and 16 kbps modes, need to guess the ordering
- Sample signed-ness - could be signed or unsigned
- compander - although this should match, it should be possible to hear a distorted version with the wrong curve.
- Header noise/size - need to listen past the 8Hz(64kbps)/16Hz(32kbps)/32Hz(16kbps) glitch of the header playing
So there are 20 different ways the audio could be encoded, assuming we can guess the header size, and probably 10 of them need checking by ear. Additionally, RFC2422 states "No header information shall be included as part of the audio data.", so we're on our own as far as finding out how much audio is present per 1kB block.