Octatrack sample chains: a complete tutorial

Guide

The Elektron Octatrack MKII has 128 Flex sample slots per project. That sounds generous until you’re trying to fit a complete drum kit into a set without burning eight separate slots on eight individual hits. Sample chains are how experienced Octatrack users solve this problem.

A sample chain is a single WAV file containing multiple samples concatenated end-to-end. You load it into one Flex slot, define slice points that mark the boundary of each sample, and the Octatrack treats each slice as an independently triggerable element. One slot, one file, up to 64 sounds.

Why chains matter on the Octatrack

The Octatrack’s Flex machine loads samples into RAM. Each project has 80 MB of Flex RAM shared across all tracks. A 24-bit stereo WAV at 44.1 kHz consumes about 260 KB per second of audio. That doesn’t feel like much until you start loading full-length samples: a 30-second loop uses roughly 8 MB on its own.

For one-shots, the RAM cost is small but the slot cost adds up fast. A single complete drum kit (kick, snare, closed hat, open hat, clap, rim, ride, crash, plus variation versions of each) can occupy 16 to 24 individual Flex slots. Projects that run multiple kits across different patterns hit the 128-slot ceiling sooner than you’d expect.

Chains compress this. Load 16 drum hits into a single file with equal-length segments: one slot, 16 sounds. The RAM consumed is the same as loading them individually, but the slot economy is significant. A chained file is also one unit on disk. You can swap out a complete drum kit by loading a different chain without touching anything assigned to other slots.

The Digitakt II has a substantially larger sample memory and a USB-based transfer model, so the slot-conservation pressure that makes chains worth the effort on the Octatrack doesn’t apply there in the same way. Chains are, first and foremost, an Octatrack Flex machine technique.

Static machines don’t benefit from chaining. Static machines stream directly off the CompactFlash card, don’t consume Flex RAM, and don’t support slicing. If you’re mainly working with long ambient beds and streaming audio, chains aren’t your concern. They become relevant when you want real-time manipulation, parameter locks, and slice-level control over short material.

Anatomy of a sample chain

A chain file is a plain WAV. Nothing in the file itself marks it as a chain; the Octatrack treats any WAV loaded into a Flex slot as a potential chain. The key requirement is that your individual samples sit at predictable positions inside the file so the Octatrack’s slice grid can find them.

The Octatrack’s auto-slice function divides a file into equal-length slices. You choose the count: 2, 4, 8, 16, 32, or 64. Every slice gets the same duration: total file length divided by slice count. For this to work cleanly, each sample in your chain needs to occupy exactly that duration.

The math: if you want 16 slices from a chain, choose a segment length, fill each segment with exactly one sample (padded with silence if needed), concatenate them in order, and auto-slice at 16. Some typical segment lengths:

  • 1 second at 44.1 kHz = 44,100 samples per segment
  • 0.5 seconds = 22,050 samples per segment
  • 2 seconds = 88,200 samples per segment

If your kick drum tail is 0.3 seconds but your segment is 1 second long, that’s fine. The slice is still 1 second and the kick sits at the front with silence after. The Octatrack plays the full slice unless you constrain the playback window with the LEN or END parameters on the track, so the silence passes by unless you trim it.

The number to be consistent about is the segment length. Every segment in the chain must be identical, or auto-slicing puts boundaries at the wrong positions and you’re slicing through the middle of samples. For material that genuinely can’t fit equal-length segments, you can set slice points manually on the device, but that’s a more time-consuming path.

Building a chain in a DAW

The standard approach is a blank session at 44.1 kHz with a single audio track. You drop samples into the timeline in sequence, each one precisely placed at a fixed interval.

  1. Create a session at 44.1 kHz. The Octatrack only accepts 44.1 kHz files, so start here and stay there. Doing the conversion at the end introduces rounding errors in the sample positions.
  2. Choose a segment length based on your longest sample. For drum one-shots, 1 second is a common choice. For melodic hits with longer tails, 2 seconds or more. Listen to the longest sample in your intended chain and make sure your chosen length covers it with a little room.
  3. Set your DAW grid to the chosen segment length and place samples at exact grid positions: sample 1 at 0:00.000, sample 2 at 1:00.000, and so on. Grid snap prevents the small timing errors that shift slice boundaries.
  4. Check that no sample’s tail crosses into the next segment position. A long decay bleeding past the boundary is the most common error, and it produces a click or bleed when the Octatrack jumps to the next slice. If a tail crosses, shorten it with a fade, or lengthen your segment to accommodate it.
  5. Add a short fade-out (5 to 10 ms) at the end of each segment to mask the boundary cut. Even a sample that fits cleanly in its slot can produce a click if the waveform is non-zero at the boundary point.
  6. Export as WAV, 16 or 24-bit, 44.1 kHz, stereo. The Octatrack accepts mono too, but stereo is the safer default for a chain that may contain stereo source material.
  7. Name the file descriptively. The Octatrack’s file browser shows full filenames, so something like drums-kit1-16hits.wav is much easier to find later than export-final.wav.

Count your samples before you start and match the count to one of the auto-slice numbers: 2, 4, 8, 16, 32, or 64. If you have 12 samples, either pad to 16 (four silent segments at the end) or trim to 8. Trying to auto-slice at a number that doesn’t divide your chain evenly gives you slice points in the wrong places.

For melodic material (bass hits, chord stabs, sustained tones), the same workflow applies but segment lengths tend to be longer. A bass note with natural decay may need 2 to 3 seconds. Build a draft chain, load it, and verify each slice sounds complete before committing to the segment length.

Loading and slicing on the Octatrack

With the chain WAV on your CompactFlash card, inside your Set’s AUDIO/ folder:

  1. In your project, assign the chain file to a Flex sample slot.
  2. Open the Slice editing page for that Flex slot. This is where you define the slice grid.
  3. Select Auto-slice and set the count to match the number of segments in your chain (8, 16, etc.). The Octatrack divides the file into equal-duration sections and places slice markers at each boundary.
  4. Step through the first few slices and confirm each one starts at the correct sample. If the boundaries are landing mid-sample, the segment count doesn’t match what you built into the chain. Either rebuild the chain with the correct count or use manual slice placement.

Slice points are stored in the project, not in the WAV file. This is different from the Morphagene’s splice markers, which live as cue chunks inside the WAV itself. On the Octatrack, if you copy a chain WAV to a new project and skip the slicing step, you get an unsliced file. The slicing information travels with the project data, not the audio.

You can also place slice points manually if your chain has unequal segment lengths. Navigate to any position on the waveform display and add a slice point by hand. Manual slicing is slower but handles material that doesn’t fit the equal-division grid, such as a chain assembled from live performances where the natural pauses between sounds aren’t perfectly uniform.

Once slices are set, the Octatrack shows a slice grid view: a condensed waveform with vertical markers at each boundary. Zooming in lets you verify the positions visually before you commit to them.

Triggering slices from the sequencer

With the Flex slot sliced and assigned to a track running a Flex machine, triggering specific slices is done with parameter locks on the SLICE parameter.

The basic pattern: add step trigs for each hit in your pattern. On each trig, parameter-lock the SLICE value to the slice number you want to play. Slice 1 plays the first segment of the chain, slice 2 plays the second, and so on. This is what makes chains work as drum kits: eight trigs across a bar, each locked to a different slice, play as eight distinct sounds from a single Flex slot.

A few things worth knowing:

Slice parameter locks persist per trig. If you copy a pattern, the parameter locks come with it. This is convenient for duplicating a bar and varying the slice assignments in the copy.

START and END still apply within each slice. You can shorten the active playback region within a slice for tighter hits, or use LEN to set a fixed playback length, without affecting the neighboring slices.

One chain, multiple patterns. A Flex slot holds one chain, but parameter locks are per-pattern and per-trig. The same chain file can be triggered completely differently across patterns: kit A uses slices 1 through 8, kit B uses slices 9 through 16. You get the slot economy of a chain with the variation of separate kits.

LFOs on the SLICE parameter. Assign a slow LFO to the SLICE value on a track playing a melodic chain and you get gradual cycling through the samples. Randomize the LFO for unpredictable but bounded variation: it’ll always stay within the sample material you put in the chain.

The 64-slice limit. Each Flex slot supports up to 64 slices. A chain with more than 64 samples needs to be split across multiple slots.

Common pitfalls

Slices land in the wrong place. Segment lengths in the chain don’t match the auto-slice count you selected. Rebuild the chain with equal segments at the right count, or switch to manual slice placement.

The chain plays the right slice but cuts off early. The Flex machine’s default LEN or END may be cutting playback short of the slice boundary. Check the LEN and END parameters on the SRC page for the track and expand the playback window.

Clicks between slices. No fade at the end of each segment in the chain. Add a 5 to 10 ms fade-out in the DAW before exporting, or use the Octatrack’s LEN parameter to stop playback slightly before the hard boundary.

File won’t load. Check sample rate (must be 44.1 kHz) and bit depth (16 or 24-bit only; 32-bit float is not supported). Files exported from a DAW that defaults to 48 kHz are the single most common cause. Re-export at the correct rate.

One slice sounds out of pitch. One source sample in the chain had a different sample rate and wasn’t cleanly converted. Check that all source files were at 44.1 kHz before you assembled them. The Octatrack plays the entire file at 44.1 kHz regardless of what the file header says, so any segment that was originally at 48 kHz and converted after the fact may still have timing artifacts at its position in the chain.

Patterns play the wrong samples after slot reordering. Patterns reference Flex slots by number, not by content. If you reorder slots after writing patterns, the patterns call the wrong files. Avoid reordering slots once patterns are written, or rebuild the affected patterns.

Getting the workflow right

Building chains manually in a DAW is a reasonable one-time task for a small number of kits. For a library where you’re preparing chains regularly across multiple instruments or sessions, SampleStack handles chain assembly as a dedicated step: drop in your one-shots, set the segment length, and the app pads each sample to the right duration, adds boundary fades, converts to 44.1 kHz 16 or 24-bit stereo WAV, and exports a file that auto-slices cleanly at the count you chose.

The Octatrack MKII instrument page has the full format spec, folder layout, and CF card requirements. For the broader Octatrack sample workflow, including the Flex vs Static decision, Set structure, and the 80 MB RAM ceiling, the Octatrack sample management guide is the foundation this tutorial builds on.