TF-Restormer baseline
This repository contains the corrected public TF-Restormer baseline checkpoint.
It performs universal speech restoration and bandwidth extension up to 48 kHz.
Corrected checkpoint
The model was replaced on 2026-08-09 after
GitHub issue #2
showed that the previous public artifact emitted almost no signal above 8 kHz.
- Source training checkpoint:
epoch.0019.pth
- Exported model SHA-256:
d67115273bed06cb1ab06de57168e6ce6e56dfcf3c626b3e3fbc6eb945b5424e
- Raw source checkpoint SHA-256:
f41a075ee3edf4c747f7626a0c64b09c361cd8a3058201d24f6572313c3501a4
- Config SHA-256:
d94e7509dfa84a09d76a81a71a4861fc8cf3684b753d45eb24b7ff5ef27daf8e
The exported state has 323 tensors and is bit-exact with epoch 19 after removal
of training-only profiling buffers. The bundled config enables input-bandwidth
detection.
What happened to the previous artifact?
The old Hub file was an automatic export of the latest checkpoint, epoch 25.
Epochs 20–25 had been resumed under changed data/config conditions involving
mixed-sampling-rate, band-limited clean targets. The estimator consequently
learned to suppress high-frequency output. The collapse starts at epoch 20 and
grows monotonically through epoch 25.
Two sample-rate handling bugs in auxiliary losses were also fixed in the source
repository, but controlled evaluation showed that they did not cause this
checkpoint collapse.
Usage
1from tf_restormer import SEInference
2
3model = SEInference.from_pretrained(
4 checkpoint_path="shinuh/tf-restormer-baseline",
5 device="cuda",
6)
7
8result = model.process_file(
9 "noisy_16k.wav",
10 output_path="restored_48k.wav",
11 fs_out=48000,
12)
Pass input audio at its native sampling rate. Do not pre-upsample 8/16 kHz
content before inference; the model performs bandwidth extension internally.
Release verification
Three fixed 16→48 kHz demo samples passed state-integrity, config, and inference
checks. Their mean 8–20 kHz / 0.3–3.4 kHz energy ratio was −12.90 dB; the
same test rejects the collapsed public epoch-25 behavior. The uploaded files are
downloaded and verified again as part of the release procedure.