pvx Benchmarks

May 25, 2026 ยท View on GitHub

pvx logo

pvx Benchmarks

Generated from commit 35e9761 (commit date: 2026-05-25T08:14:42-04:00).

Reproducible benchmark summary for core short-time Fourier transform/inverse short-time Fourier transform (STFT/ISTFT) path across central processing unit/Compute Unified Device Architecture/Apple-Silicon-native contexts.

Quick Setup (Install + PATH)

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e .
pvx --help

If pvx is not found, add the virtualenv binaries to your shell path (zsh):

printf 'export PATH="%s/.venv/bin:$PATH"\n' "$(pwd)" >> ~/.zshrc
source ~/.zshrc
pvx --help

Reproduce

python3 scripts/scripts_generate_docs_extras.py --run-benchmarks

Benchmark Spec

  • Sample rate: 48000 Hz
  • Duration: 4.0 s
  • Signal suite size: 4
  • Signal recipe: deterministic synthetic suite: tonal, speech-like, transient stereo, chirp/texture stereo
  • STFT config: n_fft=2048, win_length=2048, hop_size=512, window=hann, center=True
SignalChannelsDuration (s)Description
tonal_ramp_mono14.000Deterministic harmonic blend with slow ramp.
speech_like_mono14.000Speech-like harmonic formants with sparse glottal-like impulses.
transient_drums_stereo24.000Percussive burst train for onset retention and stereo timing drift.
chirp_texture_stereo24.000Wideband chirp-plus-texture to stress spectral and phase stability.

Host

  • Platform: macOS-15.1.1-arm64-arm-64bit-Mach-O
  • Machine: arm64
  • Python: 3.14.3

Backend Summary

BackendStatusCases (ok/total)Mean xRTMean elapsed (ms)Peak host memory (MB)Mean quality score (/100)Mean SNR in (dB)Mean SI-SDR (dB)Mean LSD (dB)Mean ModSpecMean SmearMean EnvCorrMean Coherence DriftMean PhasinessMean Musical NoiseMean SNR vs CPU (dB)Mean LSD vs CPU (dB)Notes
cpuok4/4146.3931.0217.7097.50100.980153.8130.00000.00000.00001.00000.00000.05110.0000n/an/a
cudaunavailable0/4n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/aCUDA mode requires CuPy. Install a matching cupy-cudaXXx package.
apple_silicon_native_cpuok4/4147.2830.5817.7097.50100.980153.8130.00000.00000.00001.00000.00000.05110.0000100.9800.0000

Per-Signal Results

BackendSignalChannelsDuration (s)StatusxRTElapsed (ms)Quality (/100)SNR in (dB)SI-SDR (dB)LSD (dB)ModSpecSmearEnvCorrCoherence DriftPhasinessMusical NoiseSNR vs CPU (dB)LSD vs CPU (dB)Notes
apple_silicon_native_cpuchirp_texture_stereo24.000ok96.9941.24100.00102.306155.1390.00000.00000.00001.00000.00000.00000.0000102.3060.0000
apple_silicon_native_cpuspeech_like_mono14.000ok197.6620.24100.0099.925152.7580.00000.00000.00001.0000n/a0.00000.000099.9250.0000
apple_silicon_native_cputonal_ramp_mono14.000ok195.3520.48100.00107.760160.5930.00000.00000.00001.0000n/a0.00000.0000107.7600.0000
apple_silicon_native_cputransient_drums_stereo24.000ok99.1240.3690.0093.930146.7630.00000.00000.00001.00000.00000.20420.000093.9300.0000
cpuchirp_texture_stereo24.000ok93.1342.95100.00102.306155.1390.00000.00000.00001.00000.00000.00000.0000n/an/a
cpuspeech_like_mono14.000ok198.9420.11100.0099.925152.7580.00000.00000.00001.0000n/a0.00000.0000n/an/a
cputonal_ramp_mono14.000ok194.7020.54100.00107.760160.5930.00000.00000.00001.0000n/a0.00000.0000n/an/a
cputransient_drums_stereo24.000ok98.7740.5090.0093.930146.7630.00000.00000.00001.00000.00000.20420.0000n/an/a
cudachirp_texture_stereo24.000unavailablen/an/an/an/an/an/an/an/an/an/an/an/an/an/aCUDA mode requires CuPy. Install a matching cupy-cudaXXx package.
cudaspeech_like_mono14.000unavailablen/an/an/an/an/an/an/an/an/an/an/an/an/an/aCUDA mode requires CuPy. Install a matching cupy-cudaXXx package.
cudatonal_ramp_mono14.000unavailablen/an/an/an/an/an/an/an/an/an/an/an/an/an/aCUDA mode requires CuPy. Install a matching cupy-cudaXXx package.
cudatransient_drums_stereo24.000unavailablen/an/an/an/an/an/an/an/an/an/an/an/an/an/aCUDA mode requires CuPy. Install a matching cupy-cudaXXx package.

Interpretation notes:

  • xRT (times real-time): higher is faster.
  • Quality (/100) is a composite from core artifact metrics; use it as a quick ranking aid, not as a single acceptance criterion.
  • Lower is better for LSD, ModSpec, Smear, Coherence Drift, Phasiness, and Musical Noise.
  • Higher is better for SNR, SI-SDR, and Envelope Correlation.

Raw machine-readable benchmark output: docs/benchmarks/latest.json.

Attribution

See ATTRIBUTION.md.