Project Structure#
In Zrythm, work is saved inside projects. Projects consist of a directory with a project file describing the project along with additional files and directories used by the project, such as audio files and plugin states.
Backups#
Backups are also kept in the project directory, and each backup is a standalone project on its own - ie, it contains all the files it needs to load as a separate project.
Projects inside the backups
dir of a
parent project are considered backups of the
parent project.
Hint
Zrythm will keep backups automatically by default during autosave. You can change the autosave interval or turn it off in the preferences.
Project Directory#
~/zrythm/Projects/myproject # Project directory
├── backups # Project backups
│ ├── myproject.bak
│ │ ├── exports
│ │ │ └── stems
│ │ ├── plugins
│ │ │ ├── ext_file_copies
│ │ │ ├── ext_file_links
│ │ │ └── states
│ │ │ ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│ │ │ ├── Vital_QSQHZ0
│ │ │ ├── Vital_TPMNZ0
│ │ │ └── Vital_Y3N3Y0
│ │ └── project.zpj
│ └── myproject.bak1
│ ├── exports
│ │ └── stems
│ ├── plugins
│ │ ├── ext_file_copies
│ │ ├── ext_file_links
│ │ └── states
│ │ ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│ │ ├── Vital_QSQHZ0
│ │ ├── Vital_TPMNZ0
│ │ └── Vital_Y3N3Y0
│ └── project.zpj
├── exports # Project exports
│ ├── stems
│ └── mixdown.FLAC
├── plugins # Plugin states
│ ├── ext_file_copies
│ ├── ext_file_links
│ │ ├── lo-fi-cow.wav
│ │ ├── sn1.wav
│ │ ├── sn2.wav
│ │ ├── sn3.wav
│ │ └── sn4.wav
│ └── states
│ ├── LSP Multi-Sampler x12 DirectOut_0NVNZ0
│ │ ├── lo-fi-cow.wav
│ │ ├── manifest.ttl
│ │ ├── sn1.wav
│ │ ├── sn2.wav
│ │ ├── sn3.wav
│ │ ├── sn4.wav
│ │ └── state.ttl
│ ├── LSP Multi-Sampler x12 DirectOut_G7EBZ0
│ │ ├── manifest.ttl
│ │ └── state.ttl
│ ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│ │ └── state.carla
│ ├── LSP Multi-Sampler x24 Stereo_XC88Y0
│ │ ├── manifest.ttl
│ │ └── state.ttl
│ ├── Rubber Band Stereo Pitch Shifter_1NPNZ0
│ │ └── state.carla
│ ├── ToTape6_8MNJZ0
│ │ └── state.carla
│ ├── Vital_9S87Y0
│ │ └── state.carla
│ └── Vital_Y3N3Y0
│ └── state.carla
├── pool # Audio file pool
│ ├── perfect_kick_body_5.wav
│ ├── Audio Track - lane 1 - recording.wav
│ └── Audio Track - lane 2 - recording.wav
└── project.zpj # Project file
Project File Format#
Zrythm project files (project.zpj
) are
zstd-compressed
JSON files (the project file
MIME type
x-zrythm-project
is an alias of application/zstd
).
Project files can be converted to JSON using:
zstd -d project.zpj -o project.json
Audio Pool#
The audio pool (pool
directory) contains all
audio files currently used by the project. Zrythm
will automatically delete unused files during save.
Note
These files will be copied to backups as well.
Project Compatibility#
Project format is not expected to change in a breaking way. When we make changes to the project format, Zrythm will auto-convert old projects to the new format.