After a few weeks playing with head alignments, audio interfaces, decks, plugins and sanity, I’ve run off a successful “first draft” attempt to restoring these interesting recordings.

About the cassettes themselves…

The cassettes themselves are a little odd – they appear to be using Type-II (CrO2) shells, but I can’t tell from listening or visual inspection whether the formulation on the tape is actually Type-I (Ferric) or Type-II. Both tapes seemed to sound better with Type-I playback EQ, selected in each case by blocking the tape type holes in the shell with judicious use of Scotch-tape.

Noise levels on the tapes were horrendous. Both cassettes seem to have been recorded about 10dB quieter than most commercial tapes given to me in the same batch, and seem to have experienced significant loss of high-frequencies – something that I noticed getting audibly worse with each playback pass despite cleaning and demagnetising the heads before each run. At best I was getting something like 15dB signal-to-noise before noise reduction. Much of this is broadband noise, but there’s also a significant rolling static crackle running on the right channel, which seems to match the rotational speed either of the pinch-roller on the deck, or perhaps the guide capstans inside the tape shell itself.

Playback

Something I’ve always known about the Akai deck I’ve now inherited and restored to working condition is that it’s always played a little fast. While I’ve not been able to fix this at a hardware level (seems to involve fiddling with the motor control circuits – a major stripdown and rebuild I’m not convinced I have the time or confidence to complete without an accident), I have taken an average of how fast the machine is playing by comparing songs from an assortment of pre-recorded commercial cassettes with digital copies from CD or previews on iTunes. From this I discovered that pulling the playback speed down to 95.75% of the sampled audio gives an acceptable match (within 1 second or so across the side of a cassette) to the commercially-available digital versions. This is really easy to do in my audio software as it doesn’t involve convoluted resampling and slicing to keep the original pitch.

Noise reduction

Challenges

A significant HF-boost was required to get the tape sounding anything like a natural recording, which of course brings the noise levels up. I don’t have access to an external Dolby decoder, and the Akai deck used for doing the transfers sounds very strange with Dolby B engaged even on well-produced pre-recorded material that came to me in excellent condition. The Denon deck I have is technically better than the Akai in many ways, but to beat the Akai in sonic terms needs about an hour spent on alignment (per cassette) and the source material needs to be in excellent condition. So I proceeded to transfer the content from the Akai at a known higher running speed, without Dolby decoding, in the hopes of being able to fix this later in software.

Decoding for playback

There is a lot said online about the mechanics of Dolby B, and many people think it’s a simple fixed 10dB shelving HF EQ boost (emphasis) on recording, that is easily dealt with by a simple shelving HF EQ cut (de-emphasis) on playback – or even simply doing nothing with older tapes that have suffered HF loss. Well, without going into detail that might infringe patents and/or copyright, let me tell you that even from listening to the undecoded audio, it really isn’t that simple. What we’re dealing with here is some form of dynamic processing, dependent on both the incoming frequency content AND the incoming levels. Even with its modest highest-available noise reduction, it’s a beastly-clever system when it works, and remarkably effective in many environments, but as with many complex systems it makes a lot of assumptions, open to a lot of factors influencing the quality of the output.

Working up a solution

Having no access to a known-good hardware decoder that could be calibrated to the tape, I set about using a chain of bundled plugins in my Reaper workstation software to mimic the decoding process. Having been through the process, with hindsight I can see why there are so few software decoders for Dolby B on the market, even without considering the patenting issues surrounding it. It’s a tough gig.

For this process, I picked out the best-sounding pre-recorded tape in our collection and aligned the Denon deck to it, listening for most consistent sound, running speed and dolby decoding.  I got a sound off the cheap ferric formulation that came subjectively very close to the same release on CD or vinyl in terms of listening quality – the tape suffering only slightly with additional HF grain, with some through-printing and background noise evident only when listening at high levels on headphones.

I then aligned the Akai to the same tape before sampling (without Dolby B decoding) and correcting for speed. A rip of the CD, and the samples from the Denon, were used as references as I set about creating the software decoding chain – keeping overall levels the same between reference and working tracks to ensure I was comparing like with like.

A day was spent setting up and tweaking the decoder chain before I came out with a chain that gives equivalent subjective performance to what the Denon deck can do with great source material. I tried the same settings on a variety of cassettes, and was able to repeat the results across all of them…

Content, replication and mastering issues?

…until I came to the content of the Feia tapes I was planning to work on!

Once the cassettes were digitised, and playback speed and overall frequency response corrected, each side of the two tapes was given its own stereo channel, so that individual EQ, channel balancing and stereo-width settings could be assigned to each side of the tape, since I noted some differences in each of these areas that were common to each side of each cassette.

While listening to the digitising run, without playback speed correction, I noted a 50Hz hum in the recordings that was common to all sampled media – I tracked this down to issues with signal grounding between the audio interface, the monitor amplifier, and the cassette deck. No amount of tweaking this signal chain could get rid of it, but with the tapes sounding significantly worse with each playback pass the only way forward was to remove the hum using an FIR/FFT plugin. I therefore set one up on each of the stereo channels and sampled a section of the noise (without the content) into each filter and tweaked the removal settings to be more subtle than default – this removed the hum but left the remaining signal (including bass-notes passing through the hum and its harmonic frequencies) intact.

Each stereo channel was then taken out of the master mix and routed to two more stereo channels – one for the noise-reduction decoder and the other for the side-chain trigger telling the decoder what to do.

Listening to the results at this stage was intriguing. Even after tweaking the decoder threshold levels I noted a general improvement in the signal quality, a reduction in noise levels, but still a strange compression artefact that was evident on high frequencies. This got me wondering whether the labelled Dolby B encoding was actually a mistake, and whether Dolby C had been applied by mistake. Cue another day spent mimicking the Dolby C system by tweaking my homebrew decoding system. Nope – compression still there, but the overall spectral effect of decoding Dolby C was having way too much affect on the mid and high frequencies.

So: onto the next likely candidate: dbx noise reduction. I found out more online about how it works and created an encode/decode chain in software, using a ripped CD track as source material.  Applying the decoding stage to the Feia recordings was dynamically a little better in the top-end, but still not right.

Combining the homebrew Dolby B chain, and following it with a little dynamic expansion on the top 12dB of the recording made a useful difference.  Suddenly transients and sibilants sounded more natural, with more “bite” and less splashiness on the decay, particularly at higher frequencies.

Neither tape is sonic perfection itself even after this restoration, but I’ve learned a lot through it, and how have a much better understanding of why cassettes *can* sound great, but generally don’t, especially recordings made on one deck that are played on another.  I now realise that I’d far rather deal with vinyl and pre-digitised content than extracting it from >20-year-old compact cassettes! At some future point, I’ll likely post up some before/after samples so you can judge the results for yourself.