Ossuary is a sound-design workstation. You feed a clip to a RAVE "brain" that has only ever heard one kind of sound, carve the result into weird one-shots, shape each hit, and index them into the sample library. Litany (and any other search client) plays them later.

pick a clipinterpretcarve hitsshapeindex to library

Source & clip

Three ways to load a clip: search the sample library (results list under the field), 🎲 Random (pulls a random match for the query, or any random sample when the query is empty), or Upload a local file.

The Clip panel shows the decoded waveform with ▶ Audition and a zoom slider. Dragging across this waveform carves a dry phrase straight from the raw audio — see the Phrases section below.

Uploads can’t be interpreted (the brain needs a library media id), but everything client-side works on them: audition, zoom, and dry phrase carving + export.

Interpreter — brains & knobs

INTERPRET sends the clip through a RAVE model (a “brain”) that has only ever heard one kind of sound and re-hears your clip through it. The job runs server-side (submit → queue → run → fetch); one job at a time.

BrainCharacter
percussionTrained on drums; pushes everything toward rhythmic transients. The default for kit carving.
vintageWarm analog color — tape saturation and old-console character.
nasaAlien-transmission artifacts: static, telemetry, interference.
VCTKA speech brain; makes anything babble.
musicnetClassical chamber timbres — strings, winds, piano bleed.
isisMiddle Eastern string resonance; long ringing sustains.
sol_ordinarioBowed strings, plain sustains only.
sol_fullThe full bowed-string palette, extended techniques included.
darbouka_onnxHand drum — goblet-drum attack and slap.

The knobs shape the pass in latent space: Temperature (drift from a faithful re-hearing — 1.0 honest, 1.5+ hallucinating), Noise (random energy injected before decoding), Wet/Dry (blend with the original), Shuffle (chops the latent timeline into chunks and deals them at random — the value is chunk size), Quantize (bit-crush in latent space), Dims (touch only specific latent dimensions, e.g. 0,2,6; blank = all), and Reverse (flips the latent trajectory while the audio plays forward). The what do these knobs do? glossary in the panel has the same notes inline.

Carving — hits, slots, bench

When an interpretation arrives it is auto-carved: onset detection finds the transients, every cut snaps to a zero crossing (no clicks), and each slice is classified by brightness (zero-crossing rate) and length into a slot:

SlotHeuristic
kickDark — under ~1500 crossings/sec
hi-hatBright — over ~5000, or short and bright
percMid-bright and ringing ≥ 240 ms — toms, congas, blocks
snareEverything left — cracks and claps

Sensitivity re-tunes the onset detector (higher = more, smaller slices) — hit Re-carve to apply. Each slice is capped at 2 s.

Long clips carve hundreds of hits, so each slot auto-keeps only the strongest (the Keep slider, default 12/slot); the rest sit in a per-slot “+ N more” bench drawer, drawn dimmer on the waveform. + promotes a benched hit into the kit, demotes. Raising the slider fills with the strongest benched; lowering trims the weakest kept — manual promotions survive.

On the waveform: click selects the nearest hit for editing; the colored ticks along the top are slice boundaries in each slot’s color. Every hit row has audition (), a merge checkbox (see Phrases), a slot dropdown to reassign, and to drop.

Editing a hit

Click a hit’s name (or its carve on the waveform) to open the editor. Everything auditions and exports rendered — what you hear is what you get.

  • Trim handles — drag the edges on the mini waveform; both ends snap to zero crossings.
  • ShapeReverse, Normalize, Gain, and Pitch (baked into the render).
  • EnvelopeAttack / Decay edge fades with a Curve control. On a one-shot that’s a percussive gate; on a phrase it’s a gentle de-click.
  • FXFilter (cutoff/reso) + peaking EQ (freq/gain/Q), Delay (time/feedback/mix), Reverb (size/mix).
Audition loop

Each percussion slot header has a button: a minimal single-track loop that triggers that slot’s kept hits in rhythmic context, rotating through them round-robin. Deliberately not a sequencer — Litany owns sequencing; phrases never loop.

The default pattern is invisible and diagnostic: it seeds steps from the slot’s own onset timing, so you hear the rhythm the brain actually found. BPM / Rate / Length re-seed that default; touching Probability switches to a generated pattern.

Phrases — long samples

A phrase is any long material — a whole word, a spoken phrase, a melodic run, a texture pull — up to 15 seconds. Phrases are never auto-detected and never loop: they only exist because you carved one. They live in their own panel at the bottom of the page.

Two gestures

  • Drag-select — drag across either waveform to paint a selection (ends snap to zero crossings; under 100 ms is discarded; over 15 s clamps with a hint). The bar that appears lets you audition the region, Carve as phrase, or clear. A plain click still selects the nearest hit.
  • Merge slices — tick the checkboxes on two or more adjacent carved slices and hit Merge N slices → phrase. Merging consumes the source hits; Re-carve is the recovery path.

Dry vs wet

A phrase carved from the Clip waveform is dry — no brain touched it, it survives re-interpretation, and it indexes without model lineage (tagged dry). One carved from the interpreted waveform is wet (tagged interpreted) and dies with its interpretation — a confirm guard warns first.

Each phrase row shows its origin badge and duration, and has an optional name field — a named phrase exports as that-name.wav instead of kit_phrase_2.wav.

Export — library & ZIP

Two destinations, from either export row. Index to library renders each hit and uploads it to samples-bored, where Litany and search find it. Download ZIP bundles the same renders locally (phrases nest in a phrases/ folder).

The kit buttons (bottom of the carve panel) export everything kept; the phrase buttons (Phrases panel) export phrases only — so drums-only, phrases-only, and both are all one-click workflows. The optional kit name becomes the filename prefix and the kit: tag.

Tags on every indexed sample

TagMeaning
source:ossuaryCame from this tool
kickphraseFlat slot name — search query=kick just works
slot:…Namespaced slot
kit:<slug>Groups one carving session
model:<brain>, rave, rotten, rgz-9Brain lineage — interpreted hits only
dry / interpretedWhether a brain touched it