# Sloppak Hand-Editing — User Guide A `.sloppak` is just a zip of plain files: some YAML, some JSON, some OGG audio, maybe a JPEG. That means you can open one up and change it. Want to record your own rhythm guitar take and use that instead of the mix? Fix an artist typo? Swap the cover art? Replace a Demucs split that bled drums into the "other" stem? You don't need to rebuild the whole sloppak from its source — just edit the file. This guide walks through the most common edits, aimed at musicians who are comfortable with a text editor and Audacity but don't live on the command line. > For the format **schema** (what every field means, how the wire format works, how to extend the format with new data types), see [sloppak-spec.md](sloppak-spec.md). This document is the **how-do-I-actually-edit-mine** companion. --- ## 1. The two forms — directory and zip A sloppak exists in two interchangeable forms: | Form | What it is | When to use it | |---|---|---| | **Directory** | A folder named `something.sloppak/` with the files loose inside | **Authoring** — easy to edit, no zip/unzip cycle | | **Zip** | A `something.sloppak` file (zip with the same files inside) | **Distributing** — single file to share | Slopsmith reads both. You can drop either one straight into your DLC folder and it'll show up in the library. ### Unzipping for editing Slopsmith's converter ships sloppaks in zip form. To edit one, unzip it: - **Windows:** rename `mysong.sloppak` → `mysong.zip`, right-click → Extract All. Then rename the resulting folder back to `mysong.sloppak/` (with the trailing slash / folder form). Or use [7-Zip](https://www.7-zip.org/) and unzip without renaming. - **macOS:** rename `.sloppak` → `.zip`, double-click. Or use The Unarchiver. - **Linux:** `unzip mysong.sloppak -d mysong.sloppak/`. Once you have the directory form, you can edit any file inside and Slopsmith will pick it up — no re-zipping required for your own use. ### Cache: when changes don't appear The first time Slopsmith opens a zip-form sloppak, it extracts a working copy into its config directory's cache: `${CONFIG_DIR}/sloppak_cache/` (in the standard Docker setup that's inside the `slopsmith-config` volume, mounted at `/config` in the container). The `` is the sloppak filename with each path separator (`/` or `\`) replaced by `__` and each space replaced by `_`. So `My-Song.sloppak` stays `My-Song.sloppak`, and `Artist/My Song.sloppak` becomes `Artist__My_Song.sloppak`. You almost never need to touch this cache directly. If you edit the **original zip** in your DLC folder, Slopsmith re-extracts automatically when the zip's modification time or size changes — just save your edits and reload. If a change still isn't appearing, the simplest reset is to remove the matching cache folder so Slopsmith rebuilds it on the next song load. In a default Docker install that's `docker exec rm -rf /config/sloppak_cache/` (or the equivalent for your setup). If you'd rather skip the cache layer entirely, **drop the directory form straight into your DLC folder** — Slopsmith uses it in place and there's nothing to invalidate. --- ## 2. Record and add your own rhythm stem The use case: the converted rhythm guitar sounds muddy (Demucs has a tough time isolating fingerpicked acoustic, hi-gain palm mutes, etc.), and you'd rather play and record your own take. ### Step 1 — Set up your reference 1. Unzip the sloppak (see §1). 2. Look in `stems/` and open the reference audio in [Audacity](https://www.audacityteam.org/) (File → Open). Two cases: - **`stems/full.ogg` is present** (pre-Demucs-split sloppak, or one where you kept `full.ogg` as a fallback — see §3). Open it directly; it's the original mixed audio. - **No `full.ogg`, only per-instrument stems** (`guitar.ogg`, `bass.ogg`, `drums.ogg`, …). This is the default after Demucs splitting, since the converter deletes `full.ogg` once split stems exist. Select **all** the per-instrument stems and open them together — Audacity loads each as its own track aligned at `t=0`, and playing all of them at once reconstructs the full mix. 3. Note the **sample rate** displayed in Audacity's status bar (typically `44100 Hz`). Your recording must match this. ### Step 2 — Record your take aligned to the mix 1. In Audacity, with the reference track(s) open, add a new audio track (Tracks → Add New → Mono/Stereo Track). 2. Set Audacity to play the reference through your headphones (so you can hear what you're playing along to) while recording your own input. 3. Hit Record and play your rhythm part along with the reference from `t=0`. Critical: **start recording at the very beginning of the song.** If you punch in late, alignment will be off when you drop it in. 4. Stop when the song ends. Trim any silence/click at the very start of your recorded track so its first sample lines up with `t=0` of the reference (zoom in tight and check visually against the kick or first guitar hit). ### Step 3 — Export as OGG 1. **Solo** your recorded track (mute every reference track). 2. File → Export → Export as OGG Vorbis. 3. Quality slider: **5** (matches what the converter uses). Save as `rhythm_custom.ogg`. 4. Confirm in the export dialog that the sample rate is the same `44100 Hz` you noted in Step 1. ### Step 4 — Drop it in and update the manifest 1. Copy `rhythm_custom.ogg` into the sloppak's `stems/` folder. 2. Open `manifest.yaml` in any text editor (Notepad++, VS Code, BBEdit, gedit — all fine; just **don't use Word**). 3. Find the `stems:` block. Two things matter here: - **Order:** Slopsmith's base `