Exploring Eventide's VR240 Filesystem, Part1
Written 2015-01-06
Tags:Eventide VR240 Audio filesystem
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.
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