Skip to content

File Locations and Data Management

Justagwas edited this page Aug 25, 2026 · 1 revision

File Locations and Data Management

Main locations

Data Default location
Configuration %LOCALAPPDATA%\Pianoscribe\pianoscribe_config.json
Model bundle %LOCALAPPDATA%\Pianoscribe\models\piano-engine
CUDA runtime pack %LOCALAPPDATA%\Pianoscribe\runtime_packs\cuda
DirectML runtime pack %LOCALAPPDATA%\Pianoscribe\runtime_packs\dml
Pianoscribe-managed cuDNN %LOCALAPPDATA%\Pianoscribe\dependencies\cudnn
MIDI output %USERPROFILE%\Downloads\Pianoscribe by default; configurable

A source checkout can also supply a model bundle beside the application as a fallback. The per-user LocalAppData model is preferred.

Output naming

Pianoscribe starts with the input stem, removes invalid Windows filename characters and reserved names, truncates long names, and writes .mid. Existing output is never intentionally overwritten: subsequent files receive _2, _3, and so on.

The output file is reserved before transcription. If conversion or MIDI writing fails, Pianoscribe removes that incomplete reserved file.

Configuration migration

When Pianoscribe first runs after an A2M installation, it looks for the earlier %LOCALAPPDATA%\A2M application data and moves reusable settings and compatible managed resources into the Pianoscribe location when possible. It can also read earlier configuration files from the application directory, %APPDATA%\A2M, or %USERPROFILE%\.a2m_config.json, normalize them into the current schema, and save the current LocalAppData file. Retired model files are not loaded by Pianoscribe.

These paths are version-sensitive implementation details. See paths.py, model_service.py, runtime_pack_service.py, and conversion_service.py.

Clone this wiki locally