TASCAM recovery
TL;DR if you have a TASCAM 788 backup and don’t know how to get the audio out of it this script might help. Also: AI tools work best when paired with expertise.
I needed to take a very personal excursion into digital preservation recently as I attempted to listen to some audio recordings my brother John had made about 20 years ago. John died recently, and is sorely missed by his friends and family.
John was a continuous source of inspiration for me, because of his many varied interests and projects. One thing he did consistently since he was a teenager was perform music as a singer-songwriter.
As my family and I went through the very difficult process of emptying his apartment, we discovered a set of recordings he had made on CD-R. Three of these CDs were clearly conceived of as albums, and easily mounted as CDDA when I popped them in my CD player.
However he also left a binder of CD-Rs, where each CD was neatly labeled with a song title and a year. All in all there are 108 of them, from the 2003-2008 time period. There is a lot of material on these CDs that is not present on the three albums. However, when I popped these in my CD player all I saw was a macOS error dialog box saying:
The disk you attached was not readable by this computer.
John’s binder of CD-Rs
At first I thought they might be damaged or corrupted. But it seemed unlikely that so many of them would be. After some asking around I got pointed to two excellent guides to working with CDs:
- Preserving optical media from the command-line by Johan van der Knijff
- The Working Archivist’s Guide to Enthusiast CD-ROM Archiving Tools by Misty De Meo
These guides were great, and did help me extract the raw data from the CD-R with cdrdao, but ultimately I was unable to determine what format the data was in using tools, like file, Siegfried and Droid.
In a fit of desperation I spent some time in Claude Code trying to see if it could help me identify what format the data was in. Despite several forays, it kept going round in circles, burning tokens.
One of those forays led me on a wild goose chase installing an old version of macOS in order to see if an old version of Retrospect might be able to read the CDs (it didn’t).
During this time I got some excellent advice over in the Fediverse at digipres.club. One of those messages was from Ross Spencer who took a look at a sample raw CD image. He was able to spot some markers that pointed to it possibly being a backup from a TASCAM DAW, specifically a TASCAM 788 (I believe Ross was using either strings or a hex editor to look for these clues).
TASCAM 788
Unfortunately, after poking around in various user forums, I discovered that there were not really any tools for working with TASCAM 788 backups. Everyone seemed to be recommending the purchase of a TASCAM 788 and its CD Burner, since the data was in a proprietary format, and there were no emulators.
Before dropping some money on Ebay I decided to roll the dice with Claude Code again, but this time with the more specific guidance that this was likely a TASCAM 788 backup, and asking about options for recovery. If you are interested you can read the transcript for this session. The key part of the back and forth for me was:
The 2488 stores audio as raw 16-bit or 24-bit PCM at 44.1kHz in a proprietary block structure. Once you identify the byte offset where audio data starts, you can use Audacity’s “Import Raw Data” with 24-bit signed big-endian PCM, 44.1kHz, to listen and verify.
I prompted it to try to identify the offset, so I could attempt the import in Audacity. It did some work writing Python snippets and executing them for a few minutes, and then output a likely offset. The first time I read it in I only heard white noise. But after twiddling some of the import options in Audacity I saw some promising waveforms appear in the Audacity display. And when I pressed play ✨✨✨✨ instead of white noise I heard John’s guitar and voice!
Audacity screenshot of imported raw data
What appeared to be a single track turned out to be multiple tracks created with the TASCAM, that were joined together. The final segment was the completed mix.
I continued to work with Claude on a program that would identify the offset in the raw CD data, then extract a WAV file, and then extract the separate tracks, as well as the complete track. It did this by looking for gaps inside the audio. I put the program here:
https://github.com/edsu/jas-discs/blob/main/extract_tracks.py
Here is the guitar / vocal first track (there are a few seconds of silence at the beginning):
And here is the mix including percussion and keyboards:
These recordings are Copyright John Summers CC-BY-NC
I have since been able to find John’s TASCAM 788 at my brother Matt’s house–although it doesn’t have the SCSI external CD burner anymore. So there’s no way to read the CDs with it.
These CDs and songs are important enough to me that I want to see if the actual hardware can do a better job of preserving John’s work. So I’ve got a bid one of the external CD-Recorder devices I found on Ebay.
John clearly spent a lot of time and care taking a snapshot of these songs he used to perform in coffee shops around Bucks County Pennsylvania. I plan to release some of them on his Bandcamp, with some of his artworks as album covers. I want to share them with people who knew him, and put these songs out into the world in a way that respects his memory and creative work, while also being something that he just wasn’t focused on as an artist. For John it was the creative process itself that mattered most.
None of this will bring John back of course. He’s gone now, and at peace. But he will always be remembered by those who loved him. Look for more posts here after I’ve been able to extract these songs in total.
Discussion in the ATmosphere