What War Of The Worlds 02 Actually Is
It's a standalone reconstruction kit for running classic Orson Welles radio drama audio through modern restoration pipelines. People keep asking about it because there's no official project from the Mercury Theatre estate, so it's something a small group of audio engineers put together and shared on a few niche forums. The name comes from the source material it targets. The current distribution is hosted on a private GitHub mirror and a couple of Discord channels. The repository is called WOTW-02 and the README has setup instructions that assume you already know what Sox, Audacity, and some basic Linux command-line tooling are. If you're starting from zero, budget another two hours for environment configuration beyond what the docs say. I found the package on a thread in a vintage broadcasting forum. The direct link is to a .tar.gz archive with the processing scripts, sample WAV inputs, and a batch config file. After downloading, extract it and run the install script. It pulls dependencies through pip and apt. The scripts themselves are Python 3.8+. I tried it on Python 3.11 and hit a breaking change in one of the spectrogram libraries, so I rolled back to 3.9 and it worked fine.
The main pipeline takes a degraded or remastered source, runs spectral repair, de-clicks the shellac artifacts, then matches the EQ curve to a reference broadcast pressing. The output is a set of processed WAV files plus a log showing what was actually changed in each step.
How the Pipeline Works in Practice
The core script is called reconstruct.py. You point it at your source audio and a reference metadata file, and it processes it through six stages: noise floor estimation, harmonic artifact removal, dynamic range normalization, transient alignment, spectral balancing, and final limit checking. The stages are independent but ordered for a reason. Stage two is where most people get stuck. The de-click algorithm uses a Gaussian mixture model to identify impulse hits on the source. On heavily degraded shellac transfers, the model defaults to detecting too many false positives and can remove legitimate transient content. The workaround is to lower the sensitivity threshold in the config file from the default 0.73 to around 0.58. It requires a bit of listening between passes to find the sweet spot. Stage five does the EQ matching against a reference curve taken from a known-good Columbia broadcast pressing. This is the step that makes the difference between a muffled mess and something that actually sounds like a 1938 radio transmission. The reference curves are stored in the package as .csv files. You can swap them if you have a different source you want to match against, but the included ones are the most tested.
Get the Full Details

Common Problems and What I've Learned
The biggest issue I ran into was phase cancellation between the left and right channels when the source was a mono transfer that had been blown up to stereo through a simple delay trick. The pipeline detects this and flags it in the log, but it doesn't automatically fix it. You have to manually sum to mono first and re-run the reconstruction. Took me three passes to figure that out. The documentation mentions phase issues once in a footnote, which is not helpful when you're three hours into a job. Another thing nobody warns you about: the normalization stage clips aggressively if the input has a true-peak above 0 dBFS. The script won't tell you this outright. It just outputs a file that sounds distorted and puts a minor warning in the log. I caught it because I compared a spectrogram before and after the pass. Set the headroom parameter to 0.3 in the config and that problem goes away.
What It Can't Do
It won't restore severely damaged audio where large portions of the waveform are missing. If your source has clicks that destroy entire syllables or musical phrases, the algorithm can't invent that data back. It can smooth things over, but you're going to hear artifacts. There's also no support for video sync or timeline alignment. This is an audio-only pipeline. The processing time is another consideration. A single 30-minute source file on a decent machine takes roughly 20 to 40 minutes through the full six-stage pipeline. On an older laptop it can drag to over an hour. Parallel processing is supported but the GPU path isn't implemented yet, so everything runs on CPU. If you have a batch of files to process, plan accordingly.
Who Should Use This and Who Shouldn't
If you have a personal collection of vintage radio transcripts and want to clean them up for archival purposes, this is probably the best free option available. If you're looking for a polished commercial product with a GUI and customer support, you won't find that here. This is a developer-oriented toolkit. The people maintaining it respond to issues on GitHub but usually with comments like "works on my machine" and a link to the relevant commit. I've used it on about twelve different source recordings now. It handles standard shellac and acetate transfers well. The results are consistently better than running the same files through a generic noise reduction plugin, but the margin isn't huge. Maybe 15 to 20 percent improvement in subjective clarity based on blind A-B tests I ran with a couple of colleagues who work in audio preservation. That's meaningful but not miraculous. The license is MIT, so you can modify it and redistribute it. I've made some changes to the config defaults for my own workflow and shared those patches privately with a few people in the archive community. No one's released an official version two point one yet, so the community stays small and the pace of updates is slow. Expect this to stick around but not evolve rapidly.
