Elektronmods
Elektron project file extraction/compaction scripts (tested w DN2/DT2/M:S/M:C) - Printable Version

+- Elektronmods (https://elektronmods.com)
+-- Forum: Elektron Hardware (https://elektronmods.com/forumdisplay.php?fid=1)
+--- Forum: Digitakt (https://elektronmods.com/forumdisplay.php?fid=2)
+---- Forum: Digitakt II (https://elektronmods.com/forumdisplay.php?fid=4)
+----- Forum: Software (https://elektronmods.com/forumdisplay.php?fid=32)
+----- Thread: Elektron project file extraction/compaction scripts (tested w DN2/DT2/M:S/M:C) (/showthread.php?tid=25)



Elektron project file extraction/compaction scripts (tested w DN2/DT2/M:S/M:C) - blueSGL - 10-01-2026

Note: this likely works with more boxes, reply to the thread for any it works with and I'll tag those on "devices" too. 

Files: https://files.catbox.moe/bwmk4g.zip
Requires a Python 3 env.

The elektron .*prj files are compressed with a weird compression:

.*prj are renamed zip files containing:
`[same name as the project]` < custom compressed file 
`manifest.json` < details of the file. 
`samples` < folder (for the boxes that include samples in the project file)


The first script takes the  .*prj and decompresses the zip then decompresses the  custom compressed file 
Once you have that fully decompressed .bin and know the offsets you can alter aspects of the project directly 
The second script recompress the modified .bin file back into the .*prj file


dx2_decompress.py A file that takes in .dn2proj and .dt2proj and outputs a decompressed .bin file
dx2_compress.py A file that takes in a decompressed .bin file and outputs a .dn2proj or .dt2proj file
verify_roundtrip.py A file that runs the two files above back to back to show that it can take a file, decompress it, recompress it and give you back a working file that can be uploaded to the hardware


digi2_app.py a bonus for quickly pulling test files. a simple communication app slopped together by looking at how https://github.com/dagargo/elektroid works (NOTE: this was made for quickly pulling test files. For devices with samples IT DOES NOT INCLUDE THE SAMPLES IN THE PROJECT FILE! it only pulls the project!)