Skip to content

Repository files navigation

parse-org-set

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.

In your browser

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.

On the command line

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.

Usage

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 in melodic/ (a C near middle C where there is one), and every distinct drum sound in drums/<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 إسترينج_ياماها becomes estring_iamaha. index.json always keeps the original names.

More

How this is built

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.

License

MIT. Not affiliated with Sofeh Sunrise or ORG 24.

Releases

Contributors

Languages