Turns the sounds inside ORG 24 .Set and .Instrument files into WAV files
you can load into any sampler or DAW. Reads files saved by versions 1.10 and 1.2.x to 1.4.x of
the app.
ohsabry.github.io/parse-org-set: open or drop a file, then download the samples as a zip. Nothing to install, and your files never leave your computer.
Requires Bun.
bun add -g @parse-org-set/cli
If your shell can't find parse-org-set afterwards, add ~/.bun/bin to your PATH. To try it
once without installing:
bunx -p @parse-org-set/cli parse-org-set inspect "my set.Set"
Would you rather not install Bun? If a ready-made binary (through Homebrew or similar) would help, open an issue and I'm happy to make one.
parse-org-set inspect "my set.Set"
parse-org-set extract "my set.Set" [folder] [--simple] [--ascii]
Both work the same on an .Instrument file.
inspect prints the version and one row per instrument: its number of samples, note range,
how its notes are spaced, total length and name.
extract writes every sample as a WAV file, one folder per instrument, plus index.json
with every original name, root note, sample rate, length and loop point. For example,
parse-org-set extract "السيت المجاني كل الاصوات .Set" writes:
السيت_المجاني_كل_الاصوات_samples/
index.json
001_Shots/
001_C-1_Metronome_Long.wav
002_C#-1_Metronome_Short.wav
007_General/
001_A#1_36_Bass_Drum_1.wav
002_B1_35_Acoustic_Bass_Drum.wav
014_إسترينج_ياماها_🎼/
001_G#2_MS000001.KSF_2.wav
…
File names start with the sample's root note; middle C (MIDI note 60) is C4. The first group
in a set is the app's Shots, usually a metronome, a crash and the designer's shouts and
effects.
Options:
folder: where to write. It defaults to<set name>_samples(or<set name>_simple), and must be new or empty, so nothing is ever overwritten.--simple: fewer files. One sample per melodic instrument inmelodic/(a C near middle C where there is one), and every distinct drum sound indrums/<kit>/. Audio phrases are left out.--ascii: English letters only in folder and file names. Arabic is spelled the way people text it, with numbers for some letters (ع becomes 3, ح becomes 7), so the folderإسترينج_ياماهاbecomesestring_iamaha.index.jsonalways keeps the original names.
- The file formats: what's
known about
.Setand.Instrumentfiles, byte by byte. - Contributing: running it from source, and the checks.
The code is written by AI coding agents (Claude Code), working from my requirements, and I review
it before each commit. The .Set format was worked out from a handful of files, so other sets may
not come out right: check the sounds you get before relying on them.
MIT. Not affiliated with Sofeh Sunrise or ORG 24.