Downloads · 30 days
0
TigreGotico/audiosronnx-flowhigh
audiosronnx-flowhigh is a audio-to-audio model from TigreGotico. Use it for the audio-to-audio task on the model card, and read the license before you ship it in a product. It is set up for audiosronnx. The card lists the license as mit.
ONNX exports of FLowHigh (Yun et al., ICASSP 2025, MIT) for the flowhigh engine in audiosronnx, together with the BigVGAN 48 kHz vocoder it decodes through (NVIDIA, MIT).
Downloads · 30 days
0
Access
Public
Updated Jul 20, 2026
Repo size
199 MB
Likes
0
Public
Click a slice to open those files.
.onnx199 MB · 100%
From the Hugging Face model README
ONNX exports of FLowHigh (Yun et al.,
ICASSP 2025, MIT) for the flowhigh engine in
audiosronnx, together with the
BigVGAN 48 kHz vocoder it decodes through
(NVIDIA, MIT).
FLowHigh upscales speech to 48 kHz with conditional flow matching: instead of denoising over tens of diffusion steps it learns a velocity field and integrates it over four Euler steps, which makes a generative super-resolution model practical on CPU.
| File | Shape | Size |
|---|---|---|
flowfield.onnx | x[1,T,256], times[1], cond[1,T,256] -> velocity[1,T,256] | 141.9 MB |
bigvgan.onnx | mel[1,256,T] -> waveform[1,1,480*T] | 57.3 MB |
The log-mel front-end, the Euler loop and the spectral merge all run in numpy inside audiosronnx, so inference is onnxruntime-only.
Validated against the upstream pipeline: mel front-end corr 0.99999999, the ODE loop plus vocoder corr 1.00000000 (max abs err 6.7e-06), and the full pipeline corr 0.99999993. Both graphs verified length-independent.
Two tracing obstacles, each fixed by a rewrite that is bit-for-bit equivalent to the original:
filter.expand(C, -1, -1), so the tracer sees a convolution of unknown kernel shape. The
channel count is fixed per layer, so all 182 expanded kernels are materialised as buffers.seq_len, which under tracing arrives as a 0-dim
tensor and skips RotaryEmbedding's arange branch. Positions are built explicitly,
which is correct eagerly and stays dynamic when traced.Neither is an architectural limitation.
from audiosronnx import load_sr
sr = load_sr("flowhigh")
sr.upscale_file("narrowband.wav", "wide_48k.wav")
load_sr("flowhigh", steps=8) # more Euler steps: more compute, more fidelity
load_sr("flowhigh", seed=None) # upstream's non-reproducible sampling
Sampling starts from mel(cond) + eps. Upstream draws eps freshly each run, so its output
is not reproducible; the adapter seeds it by default.
MIT — FLowHigh and NVIDIA BigVGAN are both MIT.