Windows local installation feedback: embedded Python 3.8 issues, broken dependency pins, missing runtime deps, asset download failures, and suggested installer improvements
Hi! First of all, thank you for SheetSage — the project is very impressive and, after some work, I was able to get the full pipeline running locally on Windows (piano transcription, Demucs separation, lead sheet generation, Gradio UI).
Because the Windows setup took quite a bit of debugging, I wanted to share detailed installation feedback and concrete suggestions that may help improve the out-of-the-box experience for other Windows users.
This is not a complaint — just a consolidated report of issues encountered and fixes/workarounds that made the system work reliably on my machine.
- OS: Windows 10 / Windows 11
- Python: Embedded Python 3.8 (as currently used by setup scripts)
- Hardware: CPU only
- Installation method:
setup_local.bat/run_local.bat
- The embedded Python distribution did not include
pip. ensurepipwas also missing, sopiphad to be bootstrapped manually viaget-pip.py(Python-3.8-specific version).
Suggestion
- Consider switching to embedded Python 3.9+ / 3.10+, or
- Automatically bootstrap
pipdepending on Python version.
Several pinned versions could not be installed on Python 3.8:
attrs==25.4.0(not available for py38)audioread==3.1.0(does not exist)cffi==2.0.0(no py38 wheels)click==8.3.1(does not exist)
This required manually relaxing versions to get a working environment.
Suggestion
- Use compatible version ranges instead of strict pins, or
- Provide Python-version-specific constraints (e.g.
constraints-win-py38.txt), or - Officially require Python ≥3.9 and align requirements accordingly.
Several modules were required at runtime but not installed by default:
gradiotorch,torchaudio,torchvisionvalidatorsdemucspiano_transcription_inference
These failures only appeared after launching the UI or starting inference.
Suggestion
-
Provide extras such as:
pip install .[ui] pip install .[full]
-
Or add a pre-launch dependency check in
run_local.bat.
pretty_midi attempted to load FluidSynth from:
C:\tools\fluidsynth\bin
which did not exist. The project already ships FluidSynth DLLs locally, but the hardcoded path caused a crash.
Suggestion
-
Remove hardcoded path and instead:
- Use the local
bin/directory, or - Respect an environment variable like
FLUIDSYNTH_DIR.
- Use the local
Gradio failed to load non-WAV audio files because ffprobe was not in PATH:
RuntimeError: ffprobe not found
Suggestion
- Ensure ffmpeg including ffprobe.exe is added to PATH during setup.
- Alternatively, explicitly configure pydub’s ffmpeg paths.
Several problems occurred when downloading model assets:
-
Initial multiprocessing bug (
argsundefined / unexpected keyword argument). -
HTTP 403 errors from:
https://sheetsage.s3.amazonaws.com/...
-
Fallback to
yt-dlpalso failed:- S3 URLs still returned 403
- MEGA folder URLs are not supported by yt-dlp
Suggestion
-
Fix multiprocessing argument handling (already patched locally).
-
Avoid MEGA folder URLs as a primary distribution method.
-
Prefer:
- GitHub Releases with direct file links, or
- Stable presigned S3 URLs with proper headers (User-Agent).
-
If MEGA is required, use MEGAcmd rather than yt-dlp.
Gradio crashed with:
ValueError: Progress tracking requires queuing to be enabled.
Fix
demo.queue()
demo.launch(...)Suggestion
- Enable queue by default when progress updates are used.
Lead sheet generation initially failed with:
ValueError: Change at onset X is not on a downbeat
Snapping chord changes to the nearest downbeat instead of crashing allowed successful output.
Suggestion
- Default to snapping + warning rather than raising an exception.
- This is especially important when fallback beat tracking is used.
A single robust Windows installer would help significantly:
-
Embedded Python ≥3.9
-
Automatic pip bootstrap
-
Grouped dependency installation (
core,ui,optional) -
ffmpeg + fluidsynth + lilypond PATH setup
-
Sanity checks before launch:
python -c "import gradio, torch, validators" where ffprobe fluidsynth --version
After addressing the above points, SheetSage runs successfully end-to-end on Windows, including:
- Demucs vocal separation
- Piano transcription
- Lead sheet generation
- Gradio UI
I hope this feedback is useful. Thanks again for the project — it’s very promising, and a smoother Windows setup would make it much more accessible.
Happy to clarify or help test fixes if needed!