# Chopping And Slicing Source: https://docs.sampler.meiji.industries/guides/chopping-and-slicing Break longer material into playable segments with trim, chop markers, and transient snap navigation. # Chopping samples One of life's great pleasures is taking existing audio and cleverly rearranging and recontextualizing it into brand new music. Chopping turns one long source into many playable moments. We hope chopping samples in Meiji Sampler brings you great joy, truly. ## When to use it * breakbeats * melodic phrases * vocal snippets * resampled textures ## Why it matters Chops let you keep the character of a source recording while rearranging it like an instrument. You can also use chops to adjust audio to fit your needs, for example extending a section you like, or adjusting timing to fit your song. ## Core idea The original file stays intact. Meiji Sampler stores chop and trim behavior as session metadata rather than destructively rewriting the source file. ## Basic flow 1. assign a longer sample to a pad 2. enter chop mode 3. place or adjust markers 4. trigger the segments from pad keys 5. record the result into a loop ## Lazy chopping Meiji Sampler encourages a "lazy chop" workflow. Lazy chopping is when audio is playing, and markers are entered as the audio is playing based on the location of the playhead when the key is pressed. This is in contrast to other ways to chop, for example entering a numerical offset when the sample begins, or starting with a fixed number of chops across the whole audio file and adjusting the markers. Lazy chopping is an intuitive and musical way to make quick work of any slicing task. ## Intelligent Transient Snap Intelligent Transient Snap helps you trim and chop at the sounds you can actually hear: kicks, snares, hats, vocal syllables, bass notes, and phrase edges. Instead of nudging the playhead by hand until a hit looks right, you can jump between likely cut points, preview them visually, and then set the trim or chop marker. Use it when you want a slice to start on the first usable hit, when a trim point clicks, or when a long sample has too many possible cut points to scan manually. The navigation feel is inspired by Cool Edit Pro's fast bracket-key playhead snapping: keep your hand near `[` and `]`, move quickly between hits, and make edit decisions by ear. The marker workflow is inspired by ReCycle's sensitivity-based transient detection. Raise sensitivity to reveal softer hits, lower it to focus on stronger slice candidates, then use the visible markers as your navigation map. When Meiji Sampler snaps to a transient, it refines the target to a nearby zero crossing when possible. That gives you the musical timing of the hit while avoiding clicks from cutting through a loud part of the waveform. ### Quick controls | Key | Action | | ----------------------------------- | ---------------------------------------------------- | | `[` and `]` | Scroll the waveform without moving the playhead | | `Shift+[` and `Shift+]` | Snap to the previous or next transient point | | `a` | Autochop the first ten transient markers to `1-9,0` | | `Alt+[` and `Alt+]`, or `<` and `>` | Lower or raise snap sensitivity | | `b` | Cycle snap band: All, Lows, Mids, Highs | | `{` and `}` | Legacy terminal fallback for `Shift+[` and `Shift+]` | Higher sensitivity shows more possible snap points. Lower sensitivity keeps the list stricter. Start at the default, then tap `>` if Meiji Sampler is skipping quiet ghost notes or soft syllables. Tap `<` if it is stopping on too many small details. ### Reading ghost markers Ghost markers are subtle vertical lines behind the waveform. They show where the current snap settings can land before you press `Shift+[` or `Shift+]`. * red markers are low-frequency hits, useful for kicks, bass notes, and low drums * yellow markers are midrange hits, useful for snares, claps, keys, guitars, and vocal body * blue markers are high-frequency hits, useful for hats, shakers, consonants, and bright attacks Press `b` when the sample is busy and you only care about one part of the sound. For example, choose Lows to move between kick hits in a full drum break, or Highs to find hat and sibilant edges without stopping on every low drum. ### Autochop from markers When the ghost markers already match the slices you want, press `a` to place chop markers automatically. Meiji Sampler assigns the first ten accepted transient markers to `1-9,0` in timeline order. Use autochop as a starting point, not a final obligation. If the sensitivity is too low, you may miss useful quiet hits. If it is too high, you may get extra slices. Adjust with `<` and `>`, cycle the band with `b` if needed, then press `a` again. ### A practical trim workflow 1. Open the trim view for the sample. 2. Zoom until the waveform shows the musical region you want to edit. 3. Press `Shift+]` to jump to the next useful hit, or `Shift+[` to go backward. 4. If the markers feel too sparse or too busy, adjust with `Alt+[` or `Alt+]`. 5. Press `b` if you want to isolate lows, mids, or highs. 6. Press `a` to autochop the first ten useful markers, or place individual chop markers with `0` through `9`. 7. Set the trim start with `s` and set the trim end with `e` if you want to narrow the playable region. If no transient marker is available near the playhead, Meiji Sampler falls back to zero-crossing seek. If there is still no useful target nearby, the status line reports that none was found and leaves the playhead in place. Some terminals report shifted brackets as `{` and `}`. Meiji Sampler accepts those keys as the same snap commands. ## Good chopping habits * place as many markers as you need, but remember you only have 10. * favour musically meaningful cuts over evenly spaced cuts * audition chops in rhythm before recording them * if a chop isn't perfectly placed on a transient, don't worry, it might give you a creative swing or groove anyway * since chops are non-destructive, you can always come back and replace a chop marker later if it's slightly early or late ## Per-channel chop overrides When the same file is assigned to multiple channels, each channel can have its own chop markers. Edits made in chop mode or the trim view from a pad context write to that channel's overrides, not to the shared file defaults. See [Per-Channel Playback](/guides/per-channel-playback) for details. ## Related pages * [Assign](/learn/assign) * [Per-Channel Playback](/guides/per-channel-playback) * [Chop A Break Into Playable Pads](/recipes/chop-a-break-into-pads) # DJ Mode Source: https://docs.sampler.meiji.industries/guides/dj-mode Perform your bounced songs on two decks — keyboard-first, with plug & play DDJ-REV7 support and Serato-compatible cues. # DJ Mode DJ mode turns your Bounces folder into a performable library. Every song you bounce appears automatically with its BPM, length, and date — no import step — and can be loaded onto two decks with pitch, nudge, hot cues, SYNC, and keylock. DJ mode is currently feature-flagged and rolling out gradually. ## Where it lives Press `[TAB]` to cycle to the `DJ` tab (`Create → Perform → DJ → Settings`). ## The library The library lists every master bounce from `~/Documents/Meiji Sampler/Bounces/`, newest first. BPM is captured automatically at bounce time from your project tempo. * `[↑/↓]` and `[PGUP/PGDN]` — select a track * `[ENTER]` — preview the selected track * `[L]` — load onto the focused deck, `[SHIFT+L]` — load onto the other deck New bounces appear in the library within a couple of seconds, even while the DJ tab is open. Each track's BPM is tinted by how reachable it is from the focused deck: **green** when the pitch fader can match it straight, **amber** when it only matches at half or double time, and **grey** when it is out of range or untagged. It is a quick read on what will mix with what is already playing. ## Record a DJ set Press `[R]` in DJ mode to toggle DJ master recording. The library footer reads `[R] record` when idle and `[R] stop recording` while a take is active. The status row keeps a red `REC mm:ss` clock visible while you perform, without replacing other status messages. `[CTRL+R]` remains the shortcut for input recording. Use it when you want to sample an input device. Use `[R]` in DJ mode when you want to print the set that Meiji Sampler is playing. DJ set files are stereo IEEE Float32 32-bit WAV files at the active DJ output rate. They are saved in Bounces as `DJ Set YYYY-MM-DD HH-MM-SS.wav`. If that name is already taken, Meiji Sampler adds a collision suffix such as `DJ Set YYYY-MM-DD HH-MM-SS (2).wav`. Very long recordings roll into numbered `Part 2` files before classic WAV reaches its size limit. Both system-output and REV7 hardware-output sets capture Meiji Sampler's safety-limited post-PerformFX software master. In hardware mode, that master is the unity-gain sum of the two post-PerformFX deck stems before the REV7 physical mixer. The REV7 EQ, channel faders, crossfader, microphone or auxiliary input, and hardware master processing are intentionally not recorded. If an overflow, tap failure, disk error, or finalization error interrupts a set, Meiji Sampler retains its `.partial` file for recovery. A partial is never announced or scanned as a completed bounce. See [File And Project Problems](/troubleshooting/files-and-projects#recover-a-dj-recording-partial) before attempting recovery, and see [Exporting And Bouncing](/guides/exporting-and-bouncing#dj-master-recordings) for how the recorded master differs from an arrangement bounce. ## Decks The DJ tab is laid out like a horizontal-waveform DJ rig. Two deck info blocks sit side by side at the top, full-width scrolling waveforms fill the middle, and the library runs along the bottom. Decks keep playing when you peek at another tab. Every controller report is dispatched as soon as its bounded controller snapshot arrives: buttons, hot cues, jog, and pitch fader alike. Nothing waits for a redraw, and nothing waits for a dispatch timer. The deck estimates platter velocity on a fixed 5 ms grid spanning roughly the last 20 ms of jog reports, which averages the REV7's quantized 1 kHz encoder stream so vinyl movement stays stable instead of turning report-to-report jitter into audible pitch wobble — the smoothing happens where the audio is rendered, so your hand never waits for it, and a direction change flushes the window so a baby scratch turns around the moment your hand does. On the coarse jog surface, whose reports are tens of milliseconds apart, each report is still read on its own. Hot-cue jumps and scratch onset use a roughly 1 ms click-safe transition, while ordinary play, pause, and scratch release retain the gentler 5 ms transport fade. Scratch audio follows the resulting velocity curve continuously instead of teleporting its playhead to each controller report. Cue capture still follows the event-time controller position, so realtime cue placement stays responsive without adding phase jumps to the audio path. DJ output has its own buffer at `Settings → DJ → Buffer Size`, separate from `Settings → Audio → Buffer Size`. It defaults to `128 samples (2.90 ms)` at `44100 Hz`, half the sampler's `256`, because the deck path renders a frame at a time and drains every pending control per frame — the output buffer is the dominant control-to-speaker delay, so halving it removes about 2.9 ms from every jog, scratch, and hot cue. Use `[←/→]` on that row to change it. There is no restart prompt: the new size applies the next time DJ audio opens, which means leaving and re-entering the `DJ` tab, or the next controller hardware attach. The selected size applies to both system-output and REV7 hardware-output DJ streams. Choose `64 samples` for the shortest possible controller-to-speaker path. The default stops at `128` rather than `64` because the deck's windowed-sinc reader costs roughly 2.25× per frame, and a 64-frame callback leaves too little headroom on slower machines. If your device crackles, drops out, or reports `DJ audio output error`, climb back to `256` or higher rather than sacrificing audio stability. The sampler's own `Settings → Audio → Buffer Size` is unaffected either way. Each **deck info block** carries the track name, the effective BPM with the natural tempo it came from, the pitch fader position and its range, `SYNC` / `KEYLOCK` / `VINYL` badges, elapsed and remaining time, the temp-cue readout, eight hot-cue chips tinted in their own cue colors, and a one-row overview of the whole track with the played portion dimmed and a `█` marking the playhead. Each deck has an identity color — cyan-green for deck A, magenta for deck B — worn by its border, badges, transport glyph, overview strip, and its half of the waveform panel, so the two decks are never ambiguous. The **waveform panel** shows both decks stacked full width, each drawn in its own deck color, scrolling right to left under a fixed white playhead at the center. A beat ruler runs alongside each waveform with a tick on every beat and the bar number printed at each downbeat. Hot cues mark the waveform the same way chop markers do in the trim view — the cue number itself runs as a colored column down the full height of the deck, so you read which cue you are looking at without a legend. When the playhead lands on a cue it keeps that cue's number rather than hiding it. Between the two waveforms is a **phase-match strip**: deck A's beats draw above the line, deck B's below, and a cell turns white where both land together — so "in phase" is something you see rather than something you count. A track with no BPM tag reads `no beatgrid` and still renders its waveform. Taller terminals give their extra rows to the waveform rather than the list, so a full-screen window gets a noticeably bigger waveform. ### PerformFX focus When PerformFX is enabled, each nonblank bank appears in a compact row between the deck blocks and the dual waveforms. Empty banks stay hidden. The focused row has the active border, and its slots use the same assigned, queued, active, release-pending, releasing, and missing states as the Perform tab. Use `[↑/↓]` to move through `Decks → Bank A → Bank B → Library`; hidden banks are skipped. `[TAB]` remains the application-tab switch and never changes focus inside DJ mode. DJ mode keeps `[K]` for keylock, so Vim direction aliases are intentionally not used for this focus control. Number keys follow the focused zone: * **Decks:** `[1]`–`[8]` set or trigger hot cues. `[9]` and `[0]` are consumed. * **PerformFX bank:** `[1]`–`[9]`, `[0]` trigger that bank's ten fixed slots. Empty slots report that they are empty. * **Library:** number keys are consumed so a library selection cannot accidentally fire a cue or effect. Press `[A]` or `[B]` at any time to focus that deck and return keyboard control to the Decks zone. ### Pitch range and live BPM Each deck owns its current pitch range. Use a narrow range for fine beat-matching, a wider range for tracks with larger tempo differences, and `±50%` for deliberate varispeed moves. Changing a range immediately reinterprets the owning deck's current physical tempo-fader position. For example, a fader halfway above centre becomes `+8%` when the range changes from `±8%` to `±16%`. Pressing `[P]` or a REV7 `TEMPO RANGE` button changes only its owning deck immediately, then saves one global future default. The next track load on either deck uses that saved default; the other active deck remains unchanged. The Settings `DJ → Pitch Range` value is the default for the next track load on either deck. Changing it leaves both active decks unchanged. When you load another track on deck A or B, that deck adopts the current default and returns to neutral pitch; the other deck keeps its current range, pitch, and fader position. On the optional high-resolution jog surface, Meiji Sampler streams the current beatgrid BPM after the deck's pitch is applied to the REV7 platter readout. It refreshes when asynchronous beatgrid analysis finishes and after you edit the grid, so its value stays aligned with the active mix. Pressing `[P]` replays the complete loaded-track display state at the live playhead, including the owning deck's tempo-range slot, instead of sending an isolated range byte that the platter can ignore. The default Pioneer surface keeps the controller's own idle display. REV7 hardware has confirmed the live post-pitch BPM readout. Pitch ranges use the controller's native `±8`, `±16`, and `±50` values in the TUI and audio engine. The refreshed physical tempo-range indicator still requires controller confirmation. Developers preparing a capture matrix can run `cargo run --release --features hid --example rev7_display_proof` to emit the source BPM, pitch, pitch range, effective BPM, encoded whole/tenths bytes, tempo-range slot, and complete outgoing `0x27` frame for each proof row. * `[A]` / `[B]` — focus a deck (the focused deck receives all transport keys) * `[SPACE]` — play/pause * `[C]` — cue: while stopped, sets the temp cue at the playhead; while playing, jumps back to it and stops * `[-]` / `[=]` — pitch fader down/up (`[_]` / `[+]` for fine steps) * `[P]`: cycle the focused deck's pitch range: `±8% → ±16% → ±50% → ±8%` * `[Q]` / `[W]` — nudge backward/forward while held (momentary pitch bend for beat-matching) * `[←]` / `[→]` — scrub: audibly wind the track backward/forward (vinyl-style, works while paused too, and winds into the silent lead-in below `0:00`) * `[S]` — SYNC: matches this deck's tempo to the other deck *and* snaps it onto the other deck's beat, the way Serato and other DVS behave. Uses double or half time when the straight match exceeds the pitch range. Moving the pitch fader releases the latch. * `[K]` — keylock (master tempo): pitch changes tempo without changing musical key * `[V]` — jog mode: `VINYL` (default) or `BEND`, shown as the `VINYL` badge on both deck blocks and saved in your settings * `[Z]` / `[X]` — waveform zoom: halve or double the visible window (1.5 s–24 s, default 6 s). Zoom is shared by both decks and resets each session. * `[;]` / `[\']` — halve or double the focused deck's grid tempo (the one keypress that fixes a wrong octave) * `[,]` / `[.]` — shift the grid anchor by 10 ms; `[<]` / `[>]` by 1 ms ### Cueing before the track starts Like a real record, each deck has 1.8 seconds of silent groove ahead of the first sample — one full platter revolution at 33⅓ RPM. Wind back past `0:00` with `[←]` or the jog ring and the deck clock counts negative (`-0:01.4`) while the deck stays silent. That silent runway is where you cue a drop. Hold a baby scratch in it, keep the motion going while you wait for the "one", and let go or hit `[SPACE]` — the deck counts in through the silence and the track always begins at exactly `0:00`, at full level. Without the lead-in the only way to cue is to hold the record still and release it, because any forward motion plays immediately. The playhead stops at the end of the lead-in, and the track's own end has the same silent run-out. Cue points always mark positions inside the track, so setting one from the lead-in marks the start. ## Beatgrids Bounces made since DJ mode shipped carry their tempo and beatgrid in the file. Anything older — or imported from elsewhere — arrives without one, so **Meiji Sampler analyses it the first time you load it onto a deck**. The beat ruler reads `analyzing beatgrid…` for a moment, then fills in. The detected grid is written into the file in Serato's format and cached, so it is instant on every subsequent load, and the same file opens in Serato DJ with the grid already there. Detection is not infallible. Two things to know: * **Tempo is biased toward the slower reading.** A 170 BPM track may be gridded at 85. The beats still land on beats, so SYNC and the phase strip work correctly — only the number is halved. `[;]` and `[']` fix the label instantly. * **A tempo the analyser wasn't sure about is marked with `?`** (`84.0? BPM`). The grid still works; the marker is telling you to trust your ears over the number. A grid you adjust by hand loses the `?`, because you have overruled the guess. Tracks under eight seconds, and free-tempo material with no steady pulse, get no grid at all rather than a fabricated one. ## Hot cues Eight hot cues per deck on the numbered keys — the same muscle memory as Create-tab pads: * `[1]`–`[8]` — set the cue if the slot is empty, otherwise jump to it and play * `[CTRL+1–8]` — clear a cue Cues are written into the song file itself in Serato's native format a moment after you set them, and reload with the track — on either deck, in any session. ## Serato interop Every bounce carries its BPM, a beatgrid anchored at the first beat, and your hot cues inside the WAV in Serato's own metadata format. Open the same file in Serato DJ Pro and the grid and cues are already there. ## Pioneer DDJ-REV7 plug & play Connect a DDJ-REV7 over USB and Meiji Sampler makes its mapped controls live without a manual mapping or configuration step. The control map follows AlphaTheta's official MIDI specification: * `START/STOP`, `BEAT SYNC`, `KEY LOCK`, and `TEMPO RANGE` buttons, performance pads (hot cues, `SHIFT`+pad clears), `PITCH BEND −/+` buttons (nudge), tempo faders, and jog rings control the decks. `TEMPO RANGE` cycles the range of its own deck through `±8%`, `±16%`, and `±50%`, immediately reinterprets that deck's physical tempo fader, and saves one global default for the next track load on either deck. * Jog behavior follows the `[V]` jog mode: in `VINYL` (default), rotating the platter takes the playhead with it — wheel back and the record audibly winds backwards, and playback resumes the moment the platter stops. In `BEND`, rotation nudges the pitch like a CDJ. Paused decks always scrub audibly. (No platter touch message has been identified on either of the REV7's MIDI surfaces, so vinyl mode releases on motion-stop rather than on lifting your hand.) * Pad and transport LEDs mirror deck state * The rotary selector scrolls the library (press to preview); `LOAD` buttons load decks * Motorized platter drive follows the transport when the high-resolution jog surface is switched on (see below): playing a deck spins its physical platter, and pausing brakes it — the platter takes about a second to coast down. On the default surface the platter stays still, and deck controls, LEDs, jog motion, and audio routing all work without it. * Deck audio routes to the REV7's own hardware mixer (deck A → channels 1/2, deck B → 3/4), so the physical faders, EQ, and crossfader do the mixing Power the REV7 on before or after launching Meiji Sampler. When its MIDI port becomes available, the status reports `Pioneer DDJ-REV7 connected — decks are live`. The REV7 can expose its MIDI controls before its audio interface or optional HID display finishes booting. Controls and LEDs may therefore be ready first. Meiji Sampler keeps the set on system output until the controller audio interface appears, then opens the established four-channel deck route at the controller's current native sample rate. It retries every 250 ms for up to 20 seconds without tearing down the working system-output stream. With the high-resolution jog surface enabled, the cosmetic HID endpoint is retried independently; once it appears, both loaded decks replay their complete waveform, position, pitch, range, and BPM state. Unplugging or powering off mid-set is equally safe: the status reports `Pioneer DDJ-REV7 disconnected — keyboard control continues`, the decks keep playing, and audio falls back to your system output. Every hardware control has a keyboard equivalent. The runtime attachment lifecycle is verified through virtual CoreMIDI add/remove coverage. That hardware-independent proof confirms the connection and disconnection workflow, but it is not physical REV7 boot-timing certification. If the controller remains invisible after it has completed its boot sequence, follow [Audio And Playback Problems](/troubleshooting/audio-and-playback#a-rev7-does-not-appear-after-powering-on). The default Pioneer jog surface keeps the controller's own idle display. On the optional high-resolution Serato surface, Meiji Sampler attempts to stream the deck waveform, position, pitch, and live post-pitch BPM through the REV7's HID display endpoint. If that cosmetic endpoint is unavailable, the displays may remain blank while deck control and audio continue normally. Meiji Sampler derives the high-resolution platter waveform and remaining-time countdown from one display timeline based on the decoded track length. For the reported 96.6-second track, it sends an extent intended to carry both readouts past `-01:00.4` to the track end. Post-fix physical display behavior awaits hardware confirmation. ### High-resolution jog `dj.hi_res_jog` in `config.json` puts the REV7 on its high-resolution jog surface. It is `true` by default, so a REV7 scratches at full resolution out of the box. The surface is picked when the controller connects, so changing the value takes effect the next time the REV7 is plugged in — set it, then unplug and replug. The high-resolution surface gives you: * **Scratch-grade jog resolution** — the platter reports 10,080.7 encoder ticks per revolution (the device caps the stream at 1,000 messages per second) instead of the public surface's coarse direction ticks, which report only 19 to 131 times a second * **Motorized platter drive** — playing a deck spins its physical platter, pausing brakes it * **Software-driven platter display** — Meiji Sampler sends waveform, position, pitch, the owning deck's tempo-range slot, and current post-pitch BPM when the REV7 HID endpoint opens The display path is cosmetic and still awaiting the physical capture matrix. A failed HID open can leave it blank without affecting control or audio. Set `dj.hi_res_jog` to `false` and replug if you would rather keep the controller's own idle screen; jog then falls back to coarse direction ticks and the platters stop spinning under software control. Nothing else about the controller changes either way. Keylock and vinyl manipulation use the active output rate, including 44.1, 48, 88.2, and 96 kHz paths. Motor-idle filtering releases the scratch path after platter motion settles, so ordinary pitched playback returns to keylock instead of remaining latched in vinyl processing. ## Troubleshooting * **Controller not detected** — wait for the REV7 boot sequence to finish, then check the USB connection and that no other DJ software holds the device. The MIDI monitor (`Settings → MIDI Monitor`) shows incoming messages. If it remains invisible, use [Audio And Playback Problems](/troubleshooting/audio-and-playback#a-rev7-does-not-appear-after-powering-on). * **No sound from the REV7** — its audio interface can appear after its controls. Meiji Sampler keeps using system output while it waits, then opens the proven four-channel deck route at the controller's native rate. Hardware routing can be disabled in `config.json` (`dj.hardware_audio_enabled`). * **Number keys do nothing to hot cues** — press `[A]` or `[B]` to return focus to Decks. Number keys intentionally target PerformFX while an FX bank is focused and are consumed while Library is focused. * **Platter BPM looks implausible or stale**: wait for the `analyzing beatgrid…` state to finish, then correct a half or double-time grid with `[;]` or `[']`, or nudge its anchor with `[,]` or `[.]`. The readout refreshes after analysis and grid edits. * **Platters do not spin** — platter drive rides on the high-resolution jog surface, which is on by default. Check that `dj.hi_res_jog` is not set to `false` in `config.json`, then reconnect the controller; the surface is chosen at connect time, so an edit made while the REV7 is plugged in does nothing until you replug. Deck controls and audio work either way. * **Cues missing in Serato** — cues are written a couple of seconds after you set them; make sure the file isn't read-only. The status line warns when a write falls back to cache-only. * **DJ recording stopped with a `.partial` file**: preserve the file, but do not rename it into the Bounces library. Follow [the recovery steps](/troubleshooting/files-and-projects#recover-a-dj-recording-partial) to copy and recover it in an audio editor. # Exporting And Bouncing Source: https://docs.sampler.meiji.industries/guides/exporting-and-bouncing Render scenes and channel output to files you can share, archive, or move into another workflow. # Export as audio + video Bouncing prints your arrangement to files on disk. ## What the bounce flow can persist Current bounce settings include: * export master * export channels * export WAV (with configurable bit depth) * generate video * open folder after export ## Output location Bounces are written to: * macOS: `~/Documents/Meiji Sampler/Bounces/` * Windows: `Documents\Meiji Sampler\Bounces\` * Linux: `$XDG_DOCUMENTS_DIR/Meiji Sampler/Bounces/` if set, otherwise `~/Meiji Sampler/Bounces/` The app generates date-and-time-based filenames and can create channel-specific files when exporting stems/channels separately. ## DJ master recordings DJ mode also writes set recordings into Bounces. Press `[R]` on the DJ tab to start or stop a take. `[CTRL+R]` opens input recording instead. Each set is a stereo IEEE Float32 32-bit WAV at the actual DJ output rate, named `DJ Set YYYY-MM-DD HH-MM-SS.wav`. Collisions receive a suffix such as `(2)`. Recordings that approach classic WAV's size limit continue in numbered files such as `Part 2`. The DJ recorder always captures Meiji Sampler's safety-limited post-PerformFX software master. In system-output mode this is the master sent through the software route. In REV7 hardware mode it is the unity-gain sum of the two post-PerformFX deck stems before the physical mixer. Physical EQ, faders, crossfader, microphone or auxiliary input, and hardware master processing are excluded. An interrupted take retains a `.partial` file for overflow, tap, disk, or finalization failures. Meiji Sampler does not announce or scan that file as a finished bounce. Keep the partial unchanged until you follow [the recovery steps](/troubleshooting/files-and-projects#recover-a-dj-recording-partial). ## WAV bit depth The bounce modal lets you choose the bit depth for exported WAV files. When WAV Audio is enabled, use `Left`/`Right` on the WAV Audio row to cycle through: | Option | Format | Use case | | ---------------- | -------------- | ------------------------------------------------------------------------------------------------------------ | | 16-bit | Signed integer | Smallest files. Standard for final distribution and casual listening. | | 24-bit (default) | Signed integer | Good balance of fidelity and file size. Preferred for handoff to a DAW or archiving. | | 32-bit float | IEEE 754 | Lossless from the engine's internal processing. Use when you need maximum dynamic range for post-production. | Meiji Sampler processes audio internally at 32-bit float precision. Choosing 24-bit or 32-bit float preserves more of that precision in the exported file. The setting persists across sessions. ## Good default export For most users: * export master: on * export channels: off * export WAV: on (24-bit) * generate video: off ## Exporting stems (channel export) When **Export Channels** is enabled, each channel is rendered as a separate WAV file alongside (or instead of) the master. Files are named by channel number and any assigned channel name. The master WAV captures the performed master output, including live PerformFX gestures. Channel exports stay pre-master-FX so stems remain clean for later mixing. Use channel export when you want: * a handoff into a DAW for further production * separate stems for later mixing or mastering * to archive the session in a modular format you can remix later Channel export can be combined with master export (both get written) or used alone. If you only need stems and don't want a mixed master, turn off **Export Master** and enable **Export Channels**. ## MP4 visualizer When **MP4 Visualizer** is enabled, Meiji Sampler renders a 1080×1080 video alongside the audio. No external tools like ffmpeg are required — encoding is built in. What the video includes: * a scrolling waveform for the full duration of the bounce * channels color-coded by sample type, matching the mixer output history display * CRT-style post-processing (screen curvature, bloom, scanline flicker, subtle burn-in) * a spinning Meiji Sampler logo in dot-matrix style * H.264 video at 6 Mbps + AAC audio at 192 kbps The video soundtrack uses the same post-PerformFX master audio as the master WAV. Its channel waveforms are still drawn from the pre-master-FX channel captures so the visualizer can show individual channel activity. The format is square (1080×1080) and intended for sharing on Instagram or other social platforms. The video is written to the same output folder as the WAV files. Video rendering is background work — Meiji Sampler stays usable while it encodes. Meiji Sampler supports several levels of hardware GPU acceleration. To confirm hardware acceleration enabled, check `Settings → General`. Exporting video is a slow but worthwhile process. Be patient and let the export complete. ## Related pages * [Export A Final Mix](/recipes/export-a-final-mix) * [File Formats](/reference/file-formats) * [DJ Mode](/guides/dj-mode#record-a-dj-set) * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure#bounces) # File And Project Management Source: https://docs.sampler.meiji.industries/guides/file-and-project-management Save work intentionally so sessions, exports, and reusable ideas stay organized. # File and project management Meiji Sampler supports both lightweight session persistence and explicit project files. ## Two layers of persistence ### Session state Session state stores working context such as: * last directory * pad assignments * loops * scenes * mixer settings * local overrides Session state saves automatically. It captures whatever was open when you last quit. ### Project files Projects are explicit `.meiji` files stored under: * macOS: `~/Documents/Meiji Sampler/Projects/` * Windows: `Documents\Meiji Sampler\Projects\` * Linux: `$XDG_DOCUMENTS_DIR/Meiji Sampler/Projects/` if set, otherwise `~/Meiji Sampler/Projects/` Use projects when you want a durable named checkpoint rather than just "whatever was open last." ## Managing projects from Settings All project operations live in the **Project** category of the Settings tab. Press `,` to open Settings — the Project category is the default view. Press `Ctrl+O` or choose **Open Project** in Settings to open the searchable project browser. Type to filter by project name or path, use the arrow keys to move through the list, and press `Enter` to load the selected project. From here you can: * **Save** the current project (or type a name for a first save) * **Save As** a copy under a new name * **Open** a saved project from the searchable project browser * **Create** a new empty project * **View and open** storage directories (Projects, Recordings, Bounces, Packs) ### Global shortcuts These shortcuts work from anywhere in the app, outside the Settings tab: | Key | Action | | -------------- | --------------- | | `Ctrl+S` | Save project | | `Ctrl+Shift+S` | Save project as | | `Ctrl+O` | Open project | | `Ctrl+N` | New project | ### Unsaved changes A yellow dot next to the project name indicates unsaved changes. If you try to open or create a project while changes exist, Meiji Sampler asks for confirmation before discarding. ## Recommended habit * use session persistence for fast daily flow * save projects for any arrangement you care about keeping ## Project names When you save a new project, Meiji Sampler pre-fills the name field with a generated suggestion in the format: ``` YYYY-MM-DD adjective noun ``` For example: `2026-04-04 cosmic engine` or `2026-04-04 velvet horizon`. The date prefix keeps your projects sorted chronologically in the file browser. The adjective-noun pair gives each project a distinct identity without requiring you to think of a name mid-session. You can edit the suggestion freely before saving. Names are sanitized and saved as `.meiji` files. If a name would overwrite an existing project, the save flow asks for confirmation before proceeding. ## Related pages * [Settings Reference](/reference/settings) * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure) * [Exporting And Bouncing](/guides/exporting-and-bouncing) # Guides Source: https://docs.sampler.meiji.industries/guides/index Deeper walkthroughs for the main Meiji Sampler tools, workflows, and sound-shaping moves. # Guides Guides are where the core workflow opens up. Once you can browse, assign, loop, scene, and mix, use this section to go deeper on one tool or one decision at a time. ## Start with these If you are still building confidence, these are the highest-leverage guides: * [Chopping And Slicing](/guides/chopping-and-slicing) if one sample needs to become a playable instrument with trims, chops, and transient snap * [Scene Arrangement](/guides/scene-arrangement) if your loops work but the song does not * [Mixer And Effects](/guides/mixer-and-effects) if the parts are there but the record still feels flat * [Exporting And Bouncing](/guides/exporting-and-bouncing) when the idea is ready to print and share ## Use guides when * you want the "why" behind a feature, not just the shortcut * you know the sound or result you want, but not the cleanest way to get there * a feature has enough depth that a quick recipe would hide important tradeoffs ## In this section * [Sampling From Audio Input](/guides/sampling-from-audio-input) * [Chopping And Slicing](/guides/chopping-and-slicing) * [Quantization And Swing](/guides/quantization-and-swing) * [Overdub And Loop Editing](/guides/overdub-and-loop-editing) * [Muting And Soloing](/guides/muting-and-soloing) * [Scene Arrangement](/guides/scene-arrangement) * [Mixer And Effects](/guides/mixer-and-effects) * [Exporting And Bouncing](/guides/exporting-and-bouncing) * [Stem Separation](/guides/stem-separation) * [Splice Integration](/guides/splice-integration) * [PerformFX](/guides/performfx) * [MIDI And External Gear](/guides/midi-and-external-gear) * [File And Project Management](/guides/file-and-project-management) ## Want something more direct? If you want one concrete outcome on one page, go to [Recipes](/recipes/index). # MIDI And External Gear Source: https://docs.sampler.meiji.industries/guides/midi-and-external-gear Map any MIDI controller to Meiji Sampler's pads, loops, scenes, mixer, and effects using the built-in MIDI learn workflow. # MIDI and external gear Meiji Sampler lets you map physical MIDI controls — knobs, faders, pads, keys — to actions inside the app. Once mapped, a MIDI control behaves exactly like pressing the equivalent keyboard shortcut. ## When to use MIDI mapping Use MIDI mapping when you want to: * trigger pads and chop slices from a drum pad controller * control loops or scenes from hardware buttons * mute, solo, or clear loops hands-free during a live set * control transport and recording from a foot switch or pad * trigger PerformFX slots from a controller * trigger normal keyboard shortcuts from a controller pad You do not need MIDI mapping to use Meiji Sampler. The keyboard workflow is complete on its own. MIDI mapping adds a physical control layer on top. ## The mapping model Mappings are **one-to-one**: * One MIDI control maps to at most one action. * One action maps to at most one MIDI control. If you move a control that is already mapped, Meiji Sampler selects the existing mapping row and shows `already mapped`. Press `Enter` on that row to edit the mapping. If you choose an action that is already mapped to a different control, Meiji Sampler selects the existing mapping row instead of replacing it. Mappings are saved to your settings file and persist across sessions. ## MIDI Settings Press `Tab` to access `Settings` and then select `MIDI` from the leftmost menu. * **Mappings** — the MIDI learn workflow for creating and managing mappings * **Monitor** — a live display of all incoming MIDI events Switch between them with `Left` and `Right`. ## Creating a mapping The Mappings sub-view opens in the **Listening** phase. This is a two-column layout showing existing mappings (Trigger on the left, Function on the right) with an animated spinner prompting you to move a control. ### Step 1: Move a control on your MIDI device Turn a knob, push a fader, or press a pad on your connected MIDI controller. Meiji Sampler detects the control and transitions to the **Assigning** phase. If the control you moved already has a mapping, Meiji Sampler stays in the Listening phase, selects that mapping row, and briefly shows `already mapped`. Press `Enter` on the selected row to edit it, or move a different unmapped control to create a new mapping. ### Step 2: Choose an action from the menu The Assigning phase shows a hierarchical menu on the right side. Navigate with `Up` and `Down`, drill into categories with `Enter`, and go back with `Esc`. The top-level categories are: | Category | What you can map | | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Transport | Play/Stop, Record/Overdub | | Pads | Trigger any pad (1-0), plus individual chop slices per pad | | Loops | Control any loop slot (1-0), or map loop Mute, Solo, Undo, and Clear | | Scenes | Trigger or Cue any scene slot (1-0), plus Scene Stop | | Mixer | Mute any mixer channel (1-0) | | Keypress | Capture one keyboard key and replay it from MIDI | | Perform | Bank A Slot `[1]` through `[0]`, Bank B Slot `[1]` through `[0]`, FX Library presets, custom FX presets, Bank Toggle, Kill All FX (when PerformFX is enabled) | Drill into a category, then a slot, then an action. For example: **Loops > Loop 3 > Mute**. The Perform category lists every fixed Bank A slot first, then every fixed Bank B slot, then named FX Library presets. Use bank-specific slot entries when you want a controller pad to target the same PerformFX slot no matter which bank is currently selected on screen. Use `FX Library: ` entries when you want a controller pad to trigger that built-in or custom library item directly with its current preset settings. Leaf items in the menu show `[ENTER]` and `[MIDI]` hints when highlighted. Press `[ENTER]` to assign the highlighted action, or move the same MIDI control again to assign it from the controller. Leaf items also show any existing MIDI mapping dimmed next to them, so you can see what is already assigned. ### Mapping a keypress Choose **Keypress**, then press the keyboard key you want the MIDI control to replay. For example, map a controller pad to `1`, `b`, `[M]`, `r`, `p`, `[SPACE]`, `[ESC]`, or a function key. When you trigger that MIDI control later, Meiji Sampler sends the captured key through the normal keyboard handler. The result is context-sensitive in the same way as the real keypress. Letter keys are case-preserved, so `[m]` and `[M]` can map to different shortcuts. `Esc` is captured as `[ESC]` in keypress capture; press `Ctrl+Esc` if you need to cancel keypress capture instead. Modifier combinations such as `Ctrl+S` and `Shift+1` are not part of this version. ### Step 3: Confirm Press `[ENTER]` on a leaf action to assign the mapping. You can also press or move the same MIDI control a second time while the leaf action is highlighted. If the action is already mapped to a different control, Meiji Sampler returns to the Listening list, selects the existing mapping row, and shows `already mapped`. ### Step 4: Choose how the control fires the action (CC only) When you map a CC control (a knob or fader) to an action that can hold state — a loop slot, mixer mute, transport, scene slot, PerformFX slot, or PerformFX FX Library preset — Meiji Sampler shows a **Behavior** step before saving. Two modes are available: * **Gate** (default for faders mapped to play/stop-style actions). High value turns the action on, low value turns it off. A fader mapped to Loop 1 as Gate plays the loop when you push the fader up and stops it when you pull it down. A CC mapped to a PerformFX Hold slot holds the effect while the value stays high and releases it when the value falls below the threshold. * **Trigger**. Fires once each time the value crosses upward through the threshold. Use this for one-shots like pads or scene cues, or when you want a fader to act like a button. Both modes have: * **Threshold** — the value that separates "high" from "low" (default 64). Press `Left` and `Right` to adjust by 1; hold `Shift` to step by 10. * **Invert** — flip which end is "on" and which is "off". Press `I` to toggle. Useful for faders that you want to control upside-down. Press `Enter` to save the behavior. Press `Esc` to back up to the action picker. Press `G` or `T` to switch between Gate and Trigger directly. For Note triggers, Keypress targets, and one-shot CC targets (pads, scene cues, kill-all, etc.), the Behavior step is skipped because there is only one sensible behavior: fire once on rising edge. Note releases are still forwarded, so a pad controller mapped to a PerformFX Hold slot releases the effect when you lift the pad. You can still customize threshold or invert later by pressing `B` on the mapping in the list. ### Step 5: See it on the list After assignment, the status bar confirms the mapping (for example, `CC 21 ch 1 -> Loop 3 Mute [GATE@64]`) and the view returns to Listening, ready for the next mapping. The Behavior is shown as a small chip in the Trigger column next to the control name (`[GATE@64]`, `[GATE@90 INV]`, `[TRIG@64]`, etc.). Notes and legacy mappings show no chip. For trigger actions, the next assignment auto-advances to the next matching target. Pad trigger 1 advances to Pad trigger 2, Loop trigger 1 advances to Loop trigger 2, Scene trigger 1 advances to Scene trigger 2, and Pad Chop 1 advances to the next chop on the same pad. The final target stays selected when there is no next slot. This makes batch pad setup fast: choose the first hardware pad, select **Pads > Pad 1 > Play Sample**, then press that hardware pad again to confirm. After that, double-tap each next hardware pad to map Pad 2, Pad 3, and so on through Pad 0. ## Editing an existing mapping In the Listening phase, use `Up` and `Down` to highlight an existing mapping in the list, then press `Enter` to reassign it. The Assigning menu opens with the current action's category pre-selected. Press `B` on an existing mapping to jump straight to the Behavior step for that mapping — change Gate/Trigger, threshold, or invert without re-picking the action. ## Deleting mappings ### Delete a single mapping In the Listening phase, highlight a mapping with `Up` and `Down`, then press `Delete` or `Backspace` to remove it. You can also delete during the Assigning phase: press `Delete` or `Backspace` to remove the mapping for the control you just moved and return to Listening. ### Clear all mappings During the Assigning phase, press `Shift+Delete` to remove every mapping at once. This returns to Listening with an empty mapping list. ## Leaving the MIDI tab Press `Esc` from the Listening phase to close the MIDI tab and return to the Create tab. ## External routing To route audio between Meiji Sampler and a DAW, use a loopback driver: * BlackHole (macOS) * Soundflower (macOS) ## Where MIDI mappings work Direct app-action mappings respond in the main sampler views and in channel overlays: * **Pads, Loops, Scenes rows**: direct mappings fire normally * **Channel Detail and Chop views**: direct mappings continue to work while you inspect a channel or chop a sample, so you can trigger pads or control transport without leaving the overlay * **Help overlay**: direct mappings still fire (note: triggering a pad action dismisses Help as a side-effect) Direct app-action mappings are **blocked** in stateful modals and views (Settings, Bounce, Trim, MIDI Learn, Search, etc.) to prevent mapped actions from silently dismissing work-in-progress UI. Keypress mappings are different. After the MIDI control is resolved, Meiji Sampler sends the captured key through the normal keyboard handler. That means a mapped `1`, `Space`, `r`, or function key follows the active context, including the Trim/chop editor. The MIDI Mapping assignment page still blocks mapped-controller actions while it is learning a control. ## DJ hardware and PerformFX The bundled DDJ-REV7 profile routes deck A to hardware channels 1/2 and deck B to 3/4. PerformFX stays in Meiji Sampler before those output pairs: commands are mirrored to one synchronized effect bus per deck, while the focused deck supplies the live post-pitch BPM and signed beatgrid position for effect timing. The controller's physical EQ, channel faders, crossfader, microphone or auxiliary inputs, and master section remain downstream and are not software PerformFX targets. ## Good use cases today * trigger pads from a controller * trigger keyboard shortcuts from controller pads * control loops or scenes from hardware * keep triggering mapped pads while inspecting Channel Detail or chopping a sample * monitor incoming MIDI while setting mappings * let external transport messages control session playback when explicitly enabled ## Related pages * [MIDI Implementation Reference](/reference/midi-implementation) — complete list of mappable actions, control types, and behavior details * [Keyboard Shortcuts](/reference/keyboard-shortcuts) — MIDI tab shortcuts * [MIDI and Sync Problems](/troubleshooting/midi-and-sync) — troubleshooting mapping and monitor issues # Mixer And Effects Source: https://docs.sampler.meiji.industries/guides/mixer-and-effects Balance channels and shape tone without leaving the core workflow. # Mixing in Meiji Sampler This guide focuses on practical mixing decisions inside Meiji Sampler. The creative opportunities when mixing in Meiji Sampler are endless. Experiment with wild combinations of these settings to shape entirely new and exciting sounds. You don't need access to expensive and iconic vintage hardware to unlock these sounds anymore! ## What the mixer controls Per-channel shaping can include: * gain * saturation * pan * width * pitch * reverb * sync / timestretch * ducking / sidechain * stem selection * playback offset * linked pad trigger * choke group * S950 HPF * S950 LPF * SP1200 filter * SP1200 45 RPM * ASR-10 Boost ## Playback offset Offset delays a channel's pad or chop playback by adding virtual silence before the sound starts. It is set in Channel Detail under **Offset**, ranges from `+0ms` to `+100ms`, and moves in `1ms` steps. Use Offset when: * a clap should sit a few milliseconds behind a snare * a shaker or percussion layer should lean back without moving the recorded loop event * a chopped hit starts too early and needs a tiny push later * two layered sounds need a flam instead of a perfectly stacked transient Small Offset values can add swing and humanize a rigid pattern. Try leaving the kick at `+0ms`, setting a snare layer around `+8ms`, and pushing a shaker to `+18ms` so the groove breathes without changing the loop grid. For looped samples, Offset delays the first trigger only. It does not add silence to every loop cycle, so a tempo-synced loop keeps its original length after it starts. Offset is channel-specific. If channel 1 links to channel 2, channel 1 uses its own Offset and channel 2 uses channel 2's Offset. The linked pad does not inherit the source pad's value. Examples: * Kick on channel 1 at `+0ms`, linked sub on channel 2 at `+0ms`: both hit together. * Snare on channel 3 at `+0ms`, linked clap on channel 4 at `+12ms`: the clap lands slightly late for a wider backbeat. * Closed hat on channel 5 at `+0ms`, linked shaker on channel 6 at `+20ms`: the shaker drags behind the hat while the recorded event stays on the grid. ## Linked pad triggers A channel can link a secondary pad so that both fire from one trigger. When you trigger the source pad live or from a loop, the linked pad plays too, but only the source pad's events are recorded into loops. Use linked pads when: * a kick should always layer with a sub-bass hit * a snare should trigger a ghost layer or clap simultaneously * you want consistent layered textures without recording duplicate events Configure linked pads in Channel Detail (`Enter` on a pad) under the **Link** control. Cycle through `Left` and `Right` to choose the target channel. The target must have a sample assigned. Each side keeps its own channel settings. For timing, that means the source pad's Offset delays the source sound and the linked pad's Offset delays the linked sound. ## Choke groups Channels in the same choke group cut each other off — triggering one stops any others in the group that are currently playing. There are 10 groups available. Use choke groups when: * open and closed hi-hats should not overlap * only one percussion variation should sound at a time * you want exclusive pad behavior across channels Configure choke groups in Channel Detail under the **Choke** control. Cycle through `Left` and `Right` to assign a group (Off, Group 1 through Group 10). Choke groups are always visible even without a file assigned. ## SP1200 Filter In 1987, E-mu Systems released the SP-1200 as a budget sampling drum machine. It could only sample at 26 kHz in 12-bit, with ten seconds total across all pads. Those were real limitations, not design choices. But something unexpected happened. The 12-bit quantization added a grainy, crunchy texture to every sound. The 26 kHz sample rate created shimmering aliasing artifacts that producers started calling "stardust." The analog output stages warmed everything with a subtle harmonic glow. Drums hit different. Marley Marl figured this out first. Then DJ Premier made it the backbone of Gang Starr's production. Pete Rock used it to craft the pillowy, head-nodding textures on *Mecca and the Soul Brother*. J Dilla ran his MPC samples back through the SP-1200 just to get that color. By the mid-90s, the SP-1200 had gone from budget compromise to the defining sound of golden-age hip-hop. E-mu stopped manufacturing it in 1998. Prices skyrocketed. Producers hoarded them. The 12-bit crunch remains one of the most sought-after textures in beat production to this day. The real SP-1200 had eight individual outputs, each with different analog characteristics. Channels 1 and 2 used an SSM2044 4-pole ladder filter with a dynamic cutoff envelope, letting the transient snap through before sweeping down to mask aliasing on the decay. Channels 3 and 4 used a darker active low-pass network for kick and bass material. Channels 5 and 6 used a gentler active low-pass network that preserved more air and presence. Channels 7 and 8 were essentially unfiltered, delivering the raw SP-1200 character. Producers routed sounds to specific outputs to get the color they wanted. Meiji Sampler recreates all four output styles, so you can choose the right SP-1200 character for each channel. SP1200 Filter is a per-channel selector with five options. All active settings run the SP-1200 DSP chain with different output filter characteristics: an 11.07 kHz input anti-alias filter, tape saturation, 12-bit quantization, and a 26.04 kHz multiplexed DAC and sample-and-hold stage. ### Unfiltered (7 & 8 Style) The raw SP-1200 sound with no output filter: 1. **11.07 kHz input anti-alias filter**: trims the source before it hits the converter stages 2. **Tape saturation**: Jiles-Atherton hysteresis model adding harmonic warmth 3. **12-bit quantization**: reduces audio to 4,096 discrete levels 4. **26.04 kHz DAC and sample-and-hold stage**: creates the imaging band and switching grit Use **7 & 8** when you want the pure SP-1200 crunch and aliasing without any additional tonal shaping from the output filter. ### Filtered (1 & 2 Style, SSM2044 dynamic VCF) Models the Channels 1 and 2 output circuit from the original hardware: 1. **SSM2044 ladder filter**: 4-pole (24 dB/oct) voltage-controlled filter with resonant "squelchy" character. An 8-bit-stepped cutoff envelope opens to roughly 11.5 kHz on the attack (\~5 ms), then decays toward roughly 800 Hz. A small amount of upper-band bleed remains around the ladder so the imaging band never disappears entirely. 2. **Input anti-alias filter**: same 11.07 kHz front-end low-pass 3. **Tape saturation**: Jiles-Atherton hysteresis model adding harmonic warmth 4. **12-bit quantization**: reduces audio to 4,096 discrete levels 5. **26.04 kHz DAC and sample-and-hold stage**: same imaging source Use **1 & 2** for snares, hi-hats, and melodic content where you want the transient to cut through before the filter closes. ### Filtered (3 & 4 Style, fixed LPF) Models the Channels 3 and 4 output circuit: 1. **Fixed low-pass filter**: active multi-pole low-pass around 9 kHz with no envelope. Rolls off highs aggressively. 2. **Input anti-alias filter**: same 11.07 kHz front-end low-pass 3. **Tape saturation**: same hysteresis model 4. **12-bit quantization**: same 4,096 discrete levels 5. **26.04 kHz DAC and sample-and-hold stage**: same imaging source Use **3 & 4** for kicks, bass, and low-end content where you want a darker, thicker tone without high-frequency detail. ### Filtered (5 & 6 Style, gentle fixed LPF) Models the Channels 5 and 6 output circuit: 1. **Fixed low-pass filter**: gentle active low-pass in the upper treble with no envelope. It trims the sharpest edge while preserving presence and air. 2. **Input anti-alias filter**: same 11.07 kHz front-end low-pass 3. **Tape saturation**: same hysteresis model 4. **12-bit quantization**: same 4,096 discrete levels 5. **26.04 kHz DAC and sample-and-hold stage**: same imaging source Use **5 & 6** when you want the SP-1200 crunch with a subtle air-preserving roll-off, less aggressive than 3 & 4, but tighter and less raw than 7 & 8. Good for pads, chords, melodic loops, and mid-range percussion where some top-end life matters. ### Signal chain position The full per-channel signal chain is: **Gain → Sat → ASR-10 Boost → Duck → Pan → Width → Pitch → SP1200 → RPM45 pitch-down → HPF → LPF → Reverb** SP1200 sits after pitch, so pitch shifting changes the frequency content before it hits the SP-1200 emulation — matching the real hardware, where the playback clock rate fed directly into the DAC and output filter. The SP1200 45 RPM mode pitch-down step sits between SP1200 and the filters, so the aliasing artifacts are baked in before any further filtering. Set SP1200 Filter in Channel Detail (`Enter` on a pad) under the **Character** section. Cycle through options with `Left`/`Right`. Use SP1200 Filter when: * you want the raw SP-1200 crunch without output filtering (7 & 8) * snares and hats need the transient snap of the SSM2044 envelope (1 & 2) * kicks and bass need the aggressive high-cut of the fixed output (3 & 4) * pads and melodic content need a gentle top-end roll-off that preserves air (5 & 6) * you want that crunchy, 12-bit texture with the right analog filter character ## Working with the filters The HPF and LPF are 6th-order Butterworth filters modeled on the Akai S950's MF6-50 hardware. They roll off at 36 dB per octave, steep enough to carve decisively without multiple passes. A few practical patterns: * **HPF on everything except the kick and bass.** Even a gentle bump to 60-80 Hz cleans low-end mud and makes the bottom of the mix clearer. * **LPF for lo-fi character.** Sweep the LPF down to around 3-5 kHz to push a sample behind the rest of the mix, mimicking the muffled tone of a vinyl chop or tape dub. * **Filter as a performance tool.** The cutoff is smoothed so it sweeps cleanly. Use it to build tension before a drop or to fade a channel in and out of the mix in real time. The passband stays flat until the cutoff point, so frequencies you want to keep come through without coloration. ## ASR-10 Boost ASR-10 Boost adds vintage Ensoniq ASR-10 character to a channel at three intensity levels: **Lo** (+4 dB, subtle warmth), **Mid** (+8 dB, classic ASR-10 feel), and **Hi** (+12 dB, aggressive original hardware level). Each level runs through the same chain: tape-style saturation, soft-knee limiting, and an 18 kHz analog output filter. *NOTE:* The original ASR-10 hardware's **BOOST: ON** mode matches the Meiji Sampler **Hi** setting. Use ASR-10 Boost when: * drums need more weight and presence * bass needs warmth without distortion artifacts * a channel needs to sit forward in the mix with analog density * you want quick character without dialing in individual parameters Cycle through levels in Channel Detail (`Enter` on a pad) under the **ASR-10 Boost** control in the Tone section. Press `Left`/`Right` to move between Off → Lo → Mid → Hi. ## SP1200 45 RPM mode SP1200 45 RPM mode emulates the classic producer technique of playing a 33rpm record at 45rpm before sampling — pitching it up to get extra brightness and aliasing character, then pitching back down in the mix. Technically: when SP1200 45 RPM mode is enabled, the sample is pitched up +8 semitones *before* hitting the SP-1200 DSP chain. The SP-1200 emulation (12-bit quantization, 26.04 kHz rate reduction) then processes the elevated-pitch signal, baking the aliasing artifacts in at that higher frequency. A compensating pitch-down is applied after SP1200 to restore the intended pitch, but the aliasing character from the elevated-pitch pass remains. SP1200 45 RPM mode is **on by default**. Turn it off if you want clean SP-1200 character without the extra pitch-derived aliasing texture. Toggle in Channel Detail under the **Character** section. Only meaningful when SP-1200 Filter is also active. ## Sync & Timestretch Sync timestretches a sample to fill a chosen number of session clock cycles. It keeps the sample in rhythmic lock with the session even if the original file's length doesn't match. Available multipliers: Off, 1/16, 1/8, 1/4, 1/2, 1×, 2×, 4×, 8×, 16×. Sync is only available when loop mode is enabled for the channel. Set Loop first, then set Sync in Channel Detail under **Loop & Stretch**. When the loaded loop has detected BPM and a session clock exists, the Sync value also shows the effective post-sync BPM, such as `1x @ 84.23 BPM`. If a trimmed loop region has no detected BPM, an explicit filename tag such as `76BPM` can provide the source tempo when the trim length fits a normal bar count. After you change Sync, Meiji Sampler waits one second before warming the stretched audio, then shows `Stretching` beside the control while the cache updates. Changing Sync again during that second restarts the delay so quick value flips do not start multiple stretch jobs. Use sync when: * a sample or loop needs to stay locked to session tempo * you want a sample to stretch across a specific number of bars * you're building scenes and need rhythmic consistency across channels ## Stem selection Stem selection isolates a part of a sample using ML-based source separation. Instead of playing the full mix, you can play just one component. Available stems: | Stem | Content | | ---------- | ------------------------------------------- | | All | Full mix (default) | | Vocals | Isolated vocals | | Drums | Isolated drums | | Bass | Isolated bass | | Other | Everything except vocals, drums, and bass | | No Vocals | Karaoke/instrumental — drums + bass + other | | No Drums | Vocals + bass + other | | No Bass | Vocals + drums + other | | Drums+Bass | Rhythm section only | Set stem in Channel Detail. Stem separation runs in the background; playback switches to the isolated audio when ready. ## Good order of operations 1. set gain 2. carve obvious frequency clashes with filters 3. pan for separation 4. add saturation or reverb only if the part needs character or depth 5. enable ASR-10 Boost on channels that need vintage warmth and density 6. use ducking when two parts compete rhythmically ## When to stop If the loop or scene is not working musically, more processing usually will not save it. Return to sound choice or arrangement first. ## Related pages * [Mix](/learn/mix) * [Muting And Soloing](/guides/muting-and-soloing) * [Effects And Parameters](/reference/effects-and-parameters) * [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo) * [Audio And Playback Troubleshooting](/troubleshooting/audio-and-playback) # Muting And Soloing Source: https://docs.sampler.meiji.industries/guides/muting-and-soloing Understand the three mute layers - mixer, loop, and track - so you can arrange, perform, and record without surprises. # Muting And Soloing Muting in Meiji Sampler happens in three layers: 1. **Channel mute** in the mixer 2. **Loop mute** in the loops row 3. **Track mute** inside the sequence editor That distinction matters. Sometimes you want silence in the speakers while the performance logic keeps running. Other times you want the loop to keep time while specific triggers stop firing, or you want one instrument lane to drop out while the rest of the loop keeps playing. ## The mental model Use **audio mute** when the sound itself should disappear from the output. Use **trigger mute** when the loop should keep running but recorded events should stop firing. Use **solo** when one channel, loop, or track should stay active while the others in that layer are muted. ## Audio mute in the mixer Mixer mute works at the output layer. The pad still exists, the channel settings still exist, and recordings can still continue. You are muting what you hear from that channel. ### Use audio mute when * a part is cluttering the mix and you want to hear the rest * you want to record without monitoring one channel * you want to compare balance decisions quickly ### Keyboard shortcuts | Context | Shortcut | Result | | ---------- | -------- | ----------------------------------------------------------------- | | Pads row | `m` | Mute the selected channel | | Pads row | `s` | Solo the selected channel and effectively mute the other channels | | Mixer pane | `m` | Mute the selected channel | | Mixer pane | `s` | Solo the selected channel and effectively mute the other channels | Press `s` again on the same channel to turn that channel solo off. ### What still happens while mixer-muted * the pad remains assigned * channel settings still apply * the rest of the session keeps running * recording can continue without monitoring that channel ## Trigger mute in loops Loop mute works at the sequencer layer. The loop keeps its timing and position, but the recorded triggers in that loop stop firing. ### Use loop mute when * you want to drop out a whole section without stopping transport * you want to keep a loop ready for the next section * you want arrangement moves that keep bar alignment intact ### Keyboard shortcuts | Context | Shortcut | Result | | --------- | -------- | ----------------------------------------------- | | Loops row | `m` | Mute the selected loop | | Loops row | `s` | Solo the selected loop and mute the other loops | If the selected loop is already soloed, pressing `s` again un-solos and restores the other loops. ## Trigger mute in tracks Inside the sequence editor, mute applies to one recorded instrument lane within the loop. This is the layer to use when the kick should stay, but the hats or snare should drop out. ### Use track mute when * one instrument should drop out while the rest of the loop stays active * you want arrangement variation without duplicating a loop first * you want to audition whether a part is helping or hurting the groove ### Keyboard shortcuts | Context | Shortcut | Result | | ------------------------------------------------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------- | | Sequence editor | `m` | Mute or unmute the selected track | | Sequence editor | `s` | Solo the selected track; press again to un-solo | | Sequence editor on a muted running loop | `m` or `s` | Un-mute the loop, solo the selected track, and restart that track | | Sequence editor in ALL TRACKS view (no track selected) | `m` | Mute the loop, or clear all loop and track mutes if it is already effectively muted (loop muted or all event tracks muted) | ALL TRACKS view is the sequence editor state with no individual track selected. Press `Esc` once to clear the current track selection and return to that view. Track solo is a toggle, just like channel solo and loop solo. Pressing `s` on the selected track silences every other track in the loop; if the loop itself was muted, soloing also un-mutes it. Pressing `s` again un-solos and unmutes every track in the loop. If the loop is muted and you want one instrument back, select that track and press `s` or `m`. Both shortcuts un-mute the loop and solo the selected track in this context. If the loop is running, the selected track restarts immediately. ## What solo means in each layer Solo is layer-specific. It does not create one global solo state across the whole app. * **Channel solo** affects mixer output across channels * **Loop solo** affects which loops fire triggers * **Track solo** affects which tracks fire triggers inside one loop This is why you can have a mixer solo decision and a loop solo decision that are both active at the same time. They operate on different parts of the system. Every layer toggles the same way: press `s` to solo, press `s` again to un-solo. * **Channel solo** toggles on and off with `s` * **Loop solo** toggles on and off with `s` * **Track solo** toggles on and off with `s` ## What you cannot mute individually You can select individual recorded events in the sequence editor, but there is currently no per-event mute state for one selected trigger. For a specific event, the available path is to reposition it or delete it. If you need a temporary drop-out, mute the whole track or loop instead. ## MIDI mappings related to muting MIDI mapping currently covers these mute-related actions: * loop mute * loop solo * channel mute Channel solo is currently keyboard-only. There is no dedicated MIDI mapping for it. There is not a dedicated MIDI mapping for muting one selected event or one recorded trigger. ## Practical examples ### Kill the hats but keep the groove Open the sequence editor for the loop, select the hat track, and press `m`. The loop keeps running, but that instrument stops firing. ### Stop hearing the bass while recording more layers Select the bass channel in Pads or Mixer and press `m`. The bass channel stops coming through the output, but recording can continue. ### Bring one loop forward for a transition Go to the loops row and press `s` on the loop you want to feature. The other loops mute at the trigger layer, but transport stays aligned. ### Bring back one instrument from a muted loop Mute the loop, enter the sequence editor, select the track you want, and press `s` or `m`. The loop un-mutes, the selected track restarts immediately, and that track becomes the soloed layer while the other tracks stay muted. ## Related pages * [Loop](/learn/loop) * [Mix](/learn/mix) * [Overdub And Loop Editing](/guides/overdub-and-loop-editing) * [Mixer And Effects](/guides/mixer-and-effects) * [Keyboard Shortcuts](/reference/keyboard-shortcuts) * [MIDI Implementation Reference](/reference/midi-implementation) # Overdub And Loop Editing Source: https://docs.sampler.meiji.industries/guides/overdub-and-loop-editing Layer more material onto an existing loop and reshape it without starting over. # Overdub and loop editing Overdub is how you grow a loop instead of replacing it. ## When to use it * add hats over drums * add accents after the base groove is working * test alternate phrases without rebuilding the loop from scratch ## Core edit actions Loop editing in the current product includes actions such as: * overdub * duplicate * extend * shorten * clear * undo ## Good workflow 1. record the simplest useful loop first 2. overdub one new idea at a time 3. use duplicate or extend when the loop needs room 4. undo quickly if the new layer makes the groove worse ## Creating loop variations Use `c` to copy a loop into a blank slot. Then, use overdub to add new elements, giving you a variation of the original. Use scenes to change when that variation is played instead of its original. ## Why editing matters Loop editing reduces the number of times you need to reperform a whole idea just to adjust one section. ## Related pages * [Loop](/learn/loop) * [Muting And Soloing](/guides/muting-and-soloing) * [Record And Layer An Overdub](/recipes/record-and-layer-an-overdub) # Per-Channel Playback Settings Source: https://docs.sampler.meiji.industries/guides/per-channel-playback Choose whether duplicate local sample assignments stay linked or become independent. # Per-channel playback settings By default, playback settings like loop mode, trim points, chop markers, chop gate, and Scene Ends behavior belong to the source file. When you assign the same local sample to another channel, Meiji Sampler lets you keep those settings linked or copy them into an independent channel. ## When to use it * Keep two channels perfectly in sync while editing trim or loop behavior once * Split the same source into a linked "master" channel and copied variations * Set different chop markers or trim points on copied channels without touching the linked version * Choose whether Scene Ends and chop-gate changes stay shared or become independent ## How it works Playback resolves from two layers: 1. **File defaults** stored in the sample type manager, keyed by source path 2. **Copied channel settings** stored on a pad only when that channel is in copied mode Linked channels use only file defaults. Copied channels materialize a full set of playback settings from the source channel at the moment you choose `Copy`. ### What lives at each layer | Setting | File default | Copied channel setting | | ------------------------------- | ------------ | ---------------------- | | Sample type (kick, snare, etc.) | yes | no | | Loop mode | yes | yes | | Scene Ends | yes | yes | | Trim points (start/end) | yes | yes | | Chop markers | yes | yes | | Chop gate | yes | yes | Offset is different from the file playback settings above. It is channel state, so each channel keeps its own `+0ms` to `+100ms` playback delay even when two channels use linked file defaults. ### Where edits go | Context | Edits | | ------------------------------------------------------ | ----------------------- | | Browser preview | file defaults | | Details panel preview | file defaults | | Trim view on a linked channel (`t`) | file defaults | | Trim view on a copied channel (`t`) | copied channel settings | | Chop mode on a linked channel (`c`) | file defaults | | Chop mode on a copied channel (`c`) | copied channel settings | | Channel detail Loop and Scene Ends on a linked channel | file defaults | | Channel detail Loop and Scene Ends on a copied channel | copied channel settings | | Channel detail Offset | channel state | | `+`/`-` on Sample Type in channel detail | file defaults (shared) | ## Link or copy on assignment From browser, flatten, or stars quick assign, choose a local sample that is already on another channel. `Link` keeps the new channel on shared file defaults. `Copy` snapshots the named source channel's current playback settings into the target channel. Linked channels move together. Copied channels drift independently as soon as you edit them. ## Editing a linked channel Focus a linked channel and press `Enter` for channel detail or `t` for trim view. In channel detail, Loop and Scene Ends write to file defaults. In trim view, trim points, loop mode, chop markers, and chop gate also write to file defaults. Any other linked channel using the same file will immediately reflect those changes. ## Editing a copied channel Copied channels open the same views, but playback edits stay local to that channel: * Trim view writes trim points, chop markers, loop mode, and chop gate to the copied channel state * Channel detail Loop and Scene Ends write to the copied channel state * Channel detail Offset stays local to the channel * Sample Type remains file-scoped even on a copied channel ## Relationship rules * **Assigning a different file** to a channel resets that channel to linked behavior for the new sample. * **Reassigning the same file** to the same channel is a no-op. * **Swapping two pads** (`w`) swaps copied playback state along with the assignments. * **Resetting a channel** (`Del`) removes the assignment and any copied playback state. * **Changing file defaults later** updates linked channels, but does not overwrite copied channels. ## Tips * Start with `Link` when you want one source to stay coherent across channels. * Use `Copy` only when you want playback settings to diverge. * Use channel Offset when you want timing to diverge without copying the file playback settings. * Browser and details preview always use file defaults, so previewing a file will never show copied-channel playback differences. ## Related pages * [Assign](/learn/assign) * [Chopping And Slicing](/guides/chopping-and-slicing) * [Keyboard Shortcuts](/reference/keyboard-shortcuts) * [Audio And Playback Troubleshooting](/troubleshooting/audio-and-playback) # PerformFX Source: https://docs.sampler.meiji.industries/guides/performfx Use the Perform tab for fixed effect slots, live triggering, FX Params, and fast transitions. # PerformFX PerformFX is Meiji Sampler's dedicated live-effects surface. It gives each bank ten fixed keyboard slots, an FX Library, and an optional inspector so throws, mutes, tape moves, sirens, and transitions happen as performance gestures instead of mixer edits. ## Where it lives Open the `Perform` tab by pressing `[TAB]` from the Create screen. ## What it does PerformFX has Bank A and Bank B. Both banks are visible as stacked ten-slot rows mapped to `[1]` through `[9]` and `[0]`; the active bank row is highlighted and receives trigger keys. The active bank label shows `[b]` to switch banks, and its right-aligned Quantize Bank setting shows `[q]` after the current value. A slot stores the preset reference, Grid division, quantize mode, engagement mode, attack/release sync, Tail mode for tail-capable effects, Throw mode for echoes, PreGain, target, and optional wet override. The top of the Perform tab shares the same audio waveform overview row as Create, so you can keep an eye on the master output while choosing or triggering effects. ### DJ mode signal flow PerformFX remains live while DJ mode is open. With system output, deck A and deck B are summed at unity into one PerformFX bus and then pass through the zero-lookahead stereo safety limiter. With REV7 hardware output, Meiji Sampler mirrors each PerformFX command to two synchronized buses: deck A is processed before output channels 1/2 and deck B before channels 3/4. Only the primary bus reports status to the UI, avoiding duplicate activation updates. Beat-synced DJ effects use the focused deck's signed live beatgrid clock and current post-pitch BPM. A cue in the silent lead-in therefore keeps its negative beat position, and changing pitch changes effect timing with the audible deck. These software effects are before the REV7's physical EQ, channel faders, crossfader, microphone or auxiliary inputs, and hardware master stage. The FX Library lists built-in presets and custom presets in grouped boxes for faster scanning. The library groups are Vintage, DJ FX, SP Series, Time, Turntablism, Space, RMX Series, Utility, and Custom when present. Move focus with `[←/→]`, `[↑/↓]`, or `h`/`j`/`k`/`l`. Press `[i]` when you want the inspector. It follows the focused slot or library preset and shows bank, quantize mode, assignment state, live status, and debug notes. The built-in library starts with sampler-heritage effects: SP1200, S950 LPF, S950 HPF, and ASR10 Boost. It also includes SP-404MKII and RMX-1000 hardware-port presets with the original effect names, Airwindows-powered effects, and Meiji Sampler's internal beat, gate, tape-stop, siren, ducking, and utility processors. Meiji Sampler still does not load arbitrary plugins; Airwindows DSP is compiled into the app as selected MIT-licensed source. ## Core controls * `[1]` through `[9]`, `[0]` trigger the fixed slots in the active bank * When FX Library focus is on a preset, the shown number keys preview that preset and `[A]` opens the Assign dialog where pad keys `[1]`–`[0]` place it on bank pads * `[ENTER]` opens FX Params for the focused slot or FX Library preset * `[DELETE]` or `[BACKSPACE]` clears the focused assigned slot after confirmation * `[b]` toggles bank * `[q]` cycles the active bank's Quantize Bank setting: Default → Current Grid → Next Grid → Next Bar → Next 2 Bars * `[i]` shows or hides the inspector * `[-]` and `[+]` step the focused slot's Grid value down or up * `[SHIFT+K]` kills all active effects ## FX Params Open FX Params with `[ENTER]` from the focused slot or FX Library preset. * Focused assigned slot: FX Params opens with that slot's current preset and parameters. * Focused empty slot: FX Params uses the selected library preset and targets that slot. * Focused library preset: FX Params targets the last focused fixed slot, so you can choose a slot, move into the library, press `[ENTER]`, and replace that slot. * Focused library preset plus the shown preview keys: previews the selected preset. Most presets show `[1-4]`. Vintage presets use those four keys for quick A/B/C/D auditions: SP1200 steps through channels `1 & 2`, `3 & 4`, `5 & 6`, and `7 & 8` with 45RPM on; S950 LPF steps through `435 Hz`, `848 Hz`, `1242 Hz`, and `2419 Hz`; S950 HPF steps through `501 Hz`, `848 Hz`, `1242 Hz`, and `2419 Hz`; ASR10 Boost steps through Low, Med, High, and Off. DJFX Looper shows `[1-6]` and previews `1/2`, `1/4`, `1/8`, `1/16`, `1/32`, and `1/64` grid captures. Other presets keep their default library settings until variant slots are defined for them. * After a preview starts, the library tile replaces `[1-4] to play` or `[1-6] to play` with the played variant, such as `[2] Chan 3&4` or `[5] 1/32`, and keeps showing that active state when focus moves away. The key is highlighted only while the tile is focused; unfocused active previews dim the key because the number keys now target the focused tile. * Pressing a different preview key for the same focused preset switches variants immediately and stays active. Pressing the currently shown preview key again releases that preset. Pressing the same number on a different focused preset starts that preset separately instead of releasing the original. * Focused library preset plus `[A]`: opens the Assign dialog instead of opening FX Params. The dialog is the only assign flow: pick an effect, variant, and FX slot bank, then press a pad key `[1]`–`[0]` to place it. See the Assign dialog section below. ## Assign dialog Press `[A]` on a focused FX Library preset to open the Assign dialog. It is a centered modal with three selectors and an informational pad list: * **Effect** — a single-line `[←/→]` selector cycling assignable FX Library effects. The dialog opens on the active pad's assigned effect when that pad already has one; otherwise it starts on the focused library preset. * **Preset** — a single-line `[←/→]` selector cycling the selected effect's preview variants, using the same labels as the `[1]`–`[6]` preview buttons (for example `King Tubby` or `1/32`). Presets without variants show a single `Default` option. The selector defaults to the variant saved on the active pad when available, then to the variant you last previewed for this effect; if neither exists, it starts on the first variant. * **FX Slot** — a matching `[←/→]` selector between `Bank A` and `Bank B`. The active bank is pre-selected. * **Pad** — pads `1`–`0` of the selected bank. The first pad appears on the same row as the Pad label. An empty pad shows its assignment hotkey, such as `[3] - Empty`; an already-assigned pad keeps its dimmed key visible, such as `[1] SP1200: Chan1&2` or `[1] SP1200: Custom`, so occupied pads stay aligned and read-only. Changing Effect updates the Preset choices for that effect. Changing FX Slot re-computes the pad rows for that bank. Controls: `[↑/↓]` (and unshifted `j`/`k`) move focus between Effect, Preset, FX Slot, and Pad; `[←/→]` change the focused selector and are a no-op when Pad is focused. Pad keys `[1]`–`[0]` assign immediately to that pad of the selected bank. Pressing the key for an empty pad builds the same binding the preview `[1]`–`[6]` keys play, persists it to that bank pad, and shows a status line such as `Assigned "King Tubby" to Bank A pad 3`; the pad then keeps its key visible and shows the assignment label. The dialog stays open so you can place several variants in one visit. Pressing the key for an already-assigned pad does nothing. `[ENTER]` and `[ESC]` both close the dialog without assigning. FX Params has three columns: FX, Grid, and Params. Use `[←/→]` to move between columns and `[↑/↓]` to select a row. In the Grid column, press `[-]` or `[+]` to step the selected division down or up without leaving row selection. Press `[1]` through `[9]` or `[0]` inside FX Params to choose the target slot directly. Press `[ENTER]` to save, or press `[ENTER]` on editable Params rows to change values. Press `[R]` to reset the current target slot editor to the selected preset defaults. While a value is active, use `[←/→]` or `[↑/↓]` to change it, then press `[ESC]` or `[ENTER]` to return to row selection. From row selection, `[ESC]` cancels when nothing changed; after edits or reset, `[ESC]` saves the target slot and closes. The Params column includes both shared slot settings and preset-specific controls in this order: Engage, Quantize Start, Quantize End, Sync, Attack, Release, One Shot, Length when One Shot is `On`, PreGain, Wet, effect-specific parameters, and Target. Engage offers `Smart Hold`, `Hold`, `Toggle`, and `Always On`; `Always On` starts the assigned slot automatically, ignores trigger and release presses, ignores One Shot auto-release, and stays active while the slot remains assigned. Quantize End is hidden when One Shot is `On`, because Length determines the automatic end time. Sync chooses how Attack, Release, and one-shot Length are interpreted: `Time (ms)` keeps explicit millisecond values, with one-shot Length available up to `20,000 ms`, while `Tempo (beats)` lets Length use beat values from `1/64` through `4 Bars`, including `1/16T`, `1/8T`, `1/4T`, and `1/2T`, against the effective project tempo. In `Tempo (beats)`, Attack and Release can use the same fixed beat values or `Grid`, which follows the slot's current Grid division, including changes made with `[-]` and `[+]` on the focused slot. Most presets open with `Time (ms)`; Filter Sweep Up and Filter Sweep Down open with `Tempo (beats)`, Attack set to `Grid`, and Release set to `1/4`; Cap Sweep opens with `Tempo (beats)` and a `1 Bar` Attack/Release sweep. One Shot defaults to `Off`; when set to `On`, Length controls the total engaged duration before the slot automatically releases, including the Attack and Release portions. Active one-shot slots show the remaining Length as `ACTIVE: 1234ms` for `Time (ms)` sync or as a remaining beat count for `Tempo (beats)` sync. Tail appears only for tail-capable echo, delay, throw, and reverb presets. It chooses what happens when transport stops: `Cut` uses the normal fast kill fade, while `Ring Out` releases the effect and lets tail-bearing echoes and reverbs keep decaying; echo tails retire once they become sensibly inaudible. Echo, delay, throw, and reverb presets default to `Ring Out`; gates, filters, repeats, brakes, ducking, and utility gestures hide Tail and use the `Cut` behavior. Echo and delay presets also expose Throw: `Off` keeps feeding live input normally, while `1/64` through `4 Bars` feeds only that tempo window into the delay, then mutes the live dry path for wet-only repeats. PreGain trims or boosts the signal before the selected PerformFX processor; most presets default to `0 dB`, loud/bit/smash presets default to `-6 dB`, and color/saturation presets default to `-3 dB` to leave headroom before character processing. Wet sets the slot's dry/wet ceiling in `5%` steps; when it shows `Default`, the engine uses the selected preset's default wet amount. S950 LPF and S950 HPF expose Cutoff and Resonance, SP1200 exposes Channel and 45RPM, ASR10 Boost exposes Level, Lofi Repeat exposes Feedback LPF, Dusty Vinyl exposes Crackle, Vinyl Sim exposes Amount, Noise, Flutter, and Drive, Halftime exposes Speed and Resync, dub echo presets expose Feedback, reverb presets expose Size, Decay, and Pre-delay, gate presets expose Duty and Depth, flanger/chorus/ensemble presets expose Rate, Depth, and Feedback, AutoPan exposes Rate and Depth, dub siren presets expose Freq, Wave (Sine, Triangle, Square, Saw), LFO Shape (Sine, Square, Ramp Up, Ramp Down, Stepped, Sine+Oct), LFO Rate, LFO Depth, Sweep, and Sweep Time, duck presets expose their Duck level, Digital Blackout exposes its Target level, and every tape-stop-backed preset — Tape Stop, Motor Kill, Vinyl Brake, the SP-404MKII Stopper, and the RMX-1000 Vinyl Brake — exposes a Brake Curve. Brake Curve is a `0`–`1` knob for the shape of the pitch dive: low values give a hard, punchy snap, the middle is a constant-torque vinyl brake, and high values give a long, lazy reel spin-down. Tape Stop defaults to the eased tape curve; the others default to the faster vinyl curve, so leaving Brake Curve untouched keeps each preset's original sound. Brake Curve changes apply to the next stop, not one already in progress. Turntablism scratch presets expose a Pattern choice listing all twenty-seven TTM strokes — Baby, Scribble, Forward, Military, Chirp, Stab, Drag, Transformer, Flare, Orbit, 4-Finger Crab, Tear, Rhythm, Uzi, Lazer, Hydroplane, Pats, Boomerang, Autobahn, Joe Cooley, Twiddle, Aquaman, 3-Finger Crab, Prism, Bubble, Forward Tear, Clover Tear — plus a Rate choice (`8th`/`16th`) that sets the hand-rub reversal rate (the Transformer reads it as its chop subdivision, and adds a Gate choice — `Straight`/`Swung`/`Rhythmic` — for its tempo-locked chop rhythm) and a Swing knob (`0`–`1`) that leans alternate strokes into the pocket — a swung stroke physically stretches (slower, lower-pitched) while its partner compresses, up to full triplet swing — so any scratch slot can switch strokes, crab finger counts, rub speed, and groove while keeping its timing setup. SP-404MKII and RMX-1000 hardware-port presets expose hardware-style custom controls such as Ctrl 1-6, Scene FX, Sub Param 1/2, Low/Mid/Hi, Release Lever, Range, Repeat Rate, Level, and Pitch. Saved slots and custom presets keep these values, so two slots can use the same preset with different effect settings. Press `[R]` to reset the target slot editor to preset defaults, `[S]` to save the current settings as a custom preset, or `[DELETE]`/`[BACKSPACE]` to clear the selected slot after confirmation. Stopping transport clears active PerformFX engagement, but tail-capable slots expose a Tail setting that controls what happens sonically. `Tail: Cut` stops the effect with the normal fast fade. `Tail: Ring Out` stops feeding new audio and lets tail-bearing echo, delay, and reverb gestures decay naturally after playback stops; echo tails are considered done once a full delay cycle falls below the inaudible threshold. ## Quantize modes PerformFX start quantize can be set per slot in FX Params or overridden per bank with `[q]`. Each bank row shows `Quantize Bank: Default` when it is using each slot's saved Quantize Start value, or the forced bank mode when one is active. Quantize End can be set per slot and queues manual disengagement to the selected grid or bar boundary when One Shot is `Off`; while that release is waiting, the slot stays engaged and shows `ACTIVE: 1000ms` with a live countdown until the release boundary. Slot Grid divisions run from `1/64` through `4 Bars` and include triplets from `1/16T` through `1/2T`. * Off starts the effect immediately. * Current Grid starts immediately inside the active slot division and locks phase-aware effects to that cell. Build Gate, Half Gate, Gate Filter, and Digital Gate start at the active gate phase, while loop effects complete the cell before looping from the grid start. * Next Grid queues the effect for the next boundary of the active slot division. * Next Bar and Next 2 Bars queue the effect for larger musical boundaries. PerformFX slots flash with an inverted tile color when a quantized trigger becomes active, retriggers, or advances into a new loop cycle. Queued quantized slots show a millisecond countdown until activation, for example `QUEUED: 1000ms`; queued quantized releases keep the slot labelled active and show the same countdown style, for example `ACTIVE: 1000ms`. DJFX Looper is marked with `★` in PerformFX because it is the recommended loop-repeat path, and it defaults to Current Grid. Triggering DJFX Looper mid-cell plays the remaining part of the current grid cell live, fills the missing tail, and then loops the completed cell from its grid start. Build Gate, Half Gate, Gate Filter, and Digital Gate also default to Current Grid. Triggering a gate mid-cell starts the gate at the current phase of that cell instead of restarting the gate cycle at the press point. Gate presets include an Offset parameter for shifting that grid-locked phase. Next Grid keeps the queued behavior when you want the repeat or gate to begin on the next cell. ## Turntablism scratch presets The Turntablism library group holds twenty scratch presets built on a dedicated engine that reproduces DJ scratch technique the way the Turntablist Transcription Methodology (TTM) notates it: as a record-position-vs-time curve with crossfader events overlaid. On a TTM staff an upward slope is a forward stroke, a downward slope is a backward stroke, a horizontal segment is a hold, and steeper slopes read faster — so pitch up. The engine mirrors that graph literally: * The record captures the audio that just played from the last grid boundary — the turntablist cues the phrase start — and each stroke scrubs it forward and backward along the pattern's position curve. Playback pitch follows the hand's speed exactly, so a fast push chirps up and a slow drag growls low. * At every direction change the record is momentarily motionless, and the output micro-silences with the TTM "phantom click." Eased strokes and explicit holds reach zero speed naturally. Constant-speed triangles add a short physical reversal stop because their mathematical slope changes direction instantly. Slow strokes also darken slightly, like a needle losing high end at crawl speed. * The crossfader hand is a separate gate on top: each pattern defines where the fader is open, where it cuts, and where it "clicks" (a momentary \~48 ms chop). All fader edges are smoothed, so even the fastest crab chops stay click-free. TTM distinguishes open scratches (begin fader-open: Baby, Scribble, Flare, Orbit, the crab family) from closed scratches (begin fader-closed: Chirp; the Transformer is closed-baseline with its first chop landing on the downbeat) — the presets preserve those start states. * A few "faderless" techniques are shaped instead by the vinyl HAND itself — a rapid vibration or a moist finger glide — so the engine adds a third, independent amplitude-modulation factor on top of the phantom click and the fader. It models the buzz or bubble of the hand and multiplies alongside the other two, so those scratches carry their own tremolo texture with the crossfader wide open. Strokes phase-lock to the slot's Grid division. A standard hand-rub cycle spans one division; the faster Rate fits two complete rubs into one division, while combos and jabs carry their own phrase lengths. Turntablism presets default to Current Grid quantize and land stroke boundaries on the beat, so a held scratch stays in the pocket. Every preset defaults to full wet — a scratch replaces the program while engaged — with tight click-free envelopes, and the envelope handles entry and exit when you release the slot. The `Humanize` control scales bounded record-hand variation from `0%` to `100%` in `5%` steps. At `0%`, the engine follows the authored line exactly. Higher values progressively add the faster back-pull feel (up to about 7%), a cue wander up to ±3 ms, and travel variation up to ±5%, while every read stays locked inside the seeded grid slice. Precise click routines default to 10–15%; looser open-hand textures default to 20–30%. Crossfader and anti-click edge times remain fixed, so Humanize changes performance feel without weakening cuts or adding pops. The presets and their lineage: * **Baby Scratch** (`1/4`) — the foundational eased rub: one full-travel oscillation per cycle, fader open, phantom clicks at the two reversals are the only silences. Its preview buttons also carry the **Tear** (the 1F-2B triplet tear, built from constant-speed strokes with a held split in the backstroke) and the 80s five-baby **Rhythm** phrase (Jazzy Jeff, Magic Mike, DJ Aladdin); the Pattern choice adds the linear **Forward Tear** (2F-1B) and **Clover Tear** (2F-2B, holds mid-push and mid-pull). * **Chirp** (`1/4`) — one tone per stroke, the fader cutting every direction change. Its preview buttons also switch the pattern to **Forward** — the forward cut whose pull-back re-cue is muted (G.W. Theodore, popularised by Grandmaster Flash) — and **Military**, two cut forward strokes then two open rubs. * **Flare** (`1/4`) — the one-click flare: full-travel stroke, fader open with a single click mid-push and mid-pull (invented by DJ Flare, popularised by Q-bert). Phantom clicks at the reversals double the perceived click count. * **Orbit** (`1/4`) — the two-click orbit: a flare in both directions, repeated — four fader clicks per cycle (Q-bert). * **4-Finger Crab** (`1/2`) — the four-finger fader bounce (Q-bert) on a constant-speed push, sequenced the way real fingers spring off the thumb: the four clicks roll in a fixed burst at the head of the stroke — one 1/8 note of the track's tempo, clamped to the playable hand-speed range — dividing it into five evenly-spaced sound onsets (sound → click → sound → click → …), with the fifth sound riding open for the rest of the push and the pull-back heard fully open like a flare. Each click re-opens exactly on the next sound's head. Preview buttons also carry the lighter **3F Crab** and **Twiddle** finger counts. * **3-Finger Crab** (`1/2`) — the same head-of-stroke click roll with three clicks and four sound onsets; preview buttons offer the **4F Crab** and **Twiddle** siblings. * **Transformer** (`1/2`) — a very slow half-speed drag (a low growl spanning two divisions) with the fader closed as its resting state and chopped open on the tempo grid, like a hard tremolo (DJ Spinbad; popularised by Jazzy Jeff and Cash Money). The chops are locked to the track's subdivisions — `8th` or `16th` via the Rate control — and a Gate choice picks the rhythm: **Straight** even chops, **Swung** (off-beats delayed to triplet swing), or **Rhythmic** (a fixed funky 16th figure). Preview buttons carry the Swung, Rhythmic, and 16th-gate variants. * **Stab** (`1/8`) — a jabbed linear push at roughly 2.2× speed with a muted return; its preview buttons include **Drag**, the slow low-pitch sibling pushed at about half speed. * **Scribble** (`1/8`) — fingertip vibration: four tiny fast oscillations per cycle, fader open. The faderless family — the character comes from the record hand's motion and amplitude modulation, with the crossfader wide open: * **Uzi** (`1/8`) — a rapid forearm-tension "muscle spasm" vibrating the record: the fastest tremolo-like scratch, ten tiny-travel oscillations per division (tighter than Scribble) with a shallow fast amplitude buzz on top. * **Lazer** (`1/8`) — an extreme-fast single-finger fling of the record, a bright rising pitch sweep and return, fader open — like a Stab but faster and open (jabbed 1 ms / 5 ms envelope). * **Hydroplane** (`1/4`) — a moist/dry finger glide whose stick-slip friction "bounces" the finger, a bubbly texture over a slowly-moving record; the irregular stick-slip amplitude modulation is the defining feature. * **Pats** (`1 Bar`) — one-hand phasing, the slow deliberate technique: a transform-like drag with the record patted to a momentary halt on the quarter notes, making "clickless clicks" — near-instant stops the phantom-click silence chops out, with no fader at all. * **Bubble** (`1/4`) — multiple fingers tapping the playing record in quick succession: a dense run of near-instant pauses (chained phantom clicks) over a natural-pitch rub — the watery, gurgling texture. Faderless; preview buttons offer the slow **Pats** sibling. The advanced combos — motion plus crossfader: * **Boomerang** (`1/4`) — a syncopated run: a forward slice (open rub), a forward dice (a cut jab), a reverse slice, and a reverse dice — four sub-gestures per cycle with mixed open and cut fader. * **Autobahn** (`1/4`) — a high-density continuous run (the A6/A8/A9 idea): six short forward/reverse strokes plus a couple of clicks packed into a compressed micro-grid — the busiest combo. * **Joe Cooley** (`1/4`) — a fast electro scratch alternating a constant-speed chirp (cut at the reversal) with an open "swirl" (a smooth continuous back-and-forth, fader open, like a fast baby). * **Twiddle** (`1/2`) — the two-finger crab (a delayed two-click flare), executed on a constant-speed triangle with two fingers springing against the thumb: the same tempo-scaled click roll as the crab with two clicks and three sound onsets at the head of the stroke, the third riding out until the record reverses. Preview buttons offer the heavier **3F Crab** and **4F Crab** counts. * **Aquaman** (`1/4`) — an off-beat undulating texture from asymmetrical one-click flares and orbits: the click positions sit deliberately off-center for a rolling, undulating feel. * **Prism** (`1/4`) — two constant-speed triangle cycles phrased as one gesture: each push is split into two open segments by a dividing click, the reversal at each peak is muted chirp-style, and each pull rides fully open back to the cue — three sounds per hump, counted 1-2-3 | 1-2-3. Preview buttons `[1]`–`[6]` sweep each preset's stroke rate across divisions (`1/2`, `1/4`, `1/8`; Scribble, the crab presets, Uzi, and Hydroplane reach `1/16`); Chirp and Stab add pattern buttons (Forward/Military, Drag), Baby carries Tear and Rhythm, each new scratch offers a kin stroke where it helps (Lazer→Stab, Pats→Tear, Uzi→Scribble, Joe Cooley→Chirp, Aquaman→Orbit), and every crab-family preset offers the other two finger counts (Twiddle ↔ 3F Crab ↔ 4F Crab). Baby, Flare, Orbit, and Twiddle add a `16th Rub` button for the faster rub rate. In FX Params, every scratch slot exposes Pattern and Humanize. Pattern lists all twenty-seven TTM strokes: Baby, Scribble, Forward, Military, Chirp, Stab, Drag, Transformer, Flare, Orbit, 4-Finger Crab, Tear, Rhythm, Uzi, Lazer, Hydroplane, Pats, Boomerang, Autobahn, Joe Cooley, Twiddle, Aquaman, 3-Finger Crab, Prism, Bubble, Forward Tear, and Clover Tear. Controls follow the selected stroke: hand rubs and Transformer show Rate (`8th`/`16th`), which changes one complete rub per division to two and raises the playback pitch; Transformer shows Gate; every other pattern shows Swing. Hidden values are retained when Pattern changes, so switching back restores the previous setting. ## Inspector and debug notes Press `[i]` to show or hide the inspector. When visible, it shows the focused slot or FX Library entry. For assigned or live slots, it includes timing, mode, quantize, envelope, live or queued status, and Debug Notes. These notes expose implementation details such as engine, family, algorithm type, parameter summary, wet amount, envelope defaults, timing, quantize mode, and engagement mode. The debug notes tell you whether you are hearing an internal algorithm, an Airwindows-backed patch, or a hybrid gesture. ## Preset categories The built-in preset library is organized into categories such as: * `Vintage` * `SP Series` * `DJ FX` * `Time` * `Turntablism` * `Space` * `RMX Series` * `Utility` ## Example preset types The built-in library includes effects such as: * Vintage SP1200 with a channel-style filter selector and 45RPM mode enabled by default * Vintage S950 LPF and S950 HPF using the same 6th-order Butterworth filter ranges as the mixer: LPF `200-20000 Hz`, HPF `20-2000 Hz` * Vintage ASR10 Boost with Lo, Mid, and Hi intensity levels, plus a `-6 dB` PreGain default * DJFX Looper's post-trigger capture loop and Lofi Repeat's lookback beat repeat * Turntablism scratch strokes transcribed from TTM notation — Baby Scratch, Chirp, Flare, Orbit, the head-justified crab family (Twiddle, 3-Finger Crab, 4-Finger Crab), Transformer, Stab, Scribble, Prism, Bubble, the Tear family, and the faderless and combo strokes Uzi, Lazer, Hydroplane, Pats, Boomerang, Autobahn, Joe Cooley, and Aquaman — with grid-locked stroke cycles, Pattern choice across all twenty-seven strokes, and per-preset Humanize defaults * SP-404MKII-named ports such as Filter+Drive, Resonator, Sync Delay, Isolator, Scatter, VinylSim variants, TimeCtrlDly, SX Reverb, SX Delay, Cloud Delay, Back Spin, DJFX Delay, and Gt Amp Sim * RMX-1000-named ports such as BPF Echo, Spiral Up, Reverb Up, HPF Echo, LPF Echo, Crush Echo, Spiral Down, Reverb Down, Cut/Add, Trans/Roll, Gate/Drive, Roll, Sampler, and Release FX-style Vinyl Brake, Release Echo, and Release Back Spin * rhythmic gate * HPF / LPF sweeps * dub siren tone generators modeled on classic siren hardware — Classic Dub Siren, Air Raid, Robot Beep, Bomb Drop, Laser Zap, Two-Tone Horn, and Steppers Siren — with selectable oscillator waveforms, six LFO shapes, and one-shot pitch sweeps that retrigger on every fire * tape echo, dub echo, pitch echo, four-tap echo, and double delay * chorus, ensemble, autopan, tremolo, and flanger-style modulation * halftime * hype button * motor kill * room, hall, plate, retro, bright, and infinite reverb throws, with Room Verb tuned as the subtler short-room option, Bright Room using the controlled internal room engine, and Infinite Space using a lower-gain large internal wash * tape stop * vinyl, tape, sampler, bit, and crunchy lo-fi color * DJ isolator, capacitor sweep, gate filter, surge, limiter, and digital blackout * glitch shift and nasty pitch * volume duck Talkover Duck is an audible volume drop, not a hard mute — its built-in target brings the master down to about 40% volume so the groove stays present while you speak over it. Motor Kill is a real deck brake: it pitch-dives the master to silence over about 200 ms with a constant-torque vinyl curve, like cutting the power on a turntable, and releasing brings the program back through the normal envelope. Its library preview buttons offer timing variants — `Brake`, `1/4 Brake`, `1/2 Brake`, and `Bar Brake`. Digital Blackout is the hard-mute gesture when you want the master to drop fully out instantly. DJFX Looper uses Current Grid by default, so it can finish the currently active grid cell live and then loop the completed cell from its grid start. Build Gate, Half Gate, Gate Filter, and Digital Gate use Current Grid by default too, so their gate cycles stay locked to the active grid rather than the trigger point; adjust Offset when you want the gate pattern shifted ahead within the cell. Gate Filter is the smoother, partially open gate, while Digital Gate is the harder staccato chop. Digital Blackout is an immediate full mute with a short release. Lofi Repeat keeps the looser lookback repeat behavior, grabbing audio that was already playing at the trigger point, and adds a Feedback LPF control to smooth repeated edges with a tape-echo-style damping path. The HPF and LPF sweep effects, including Cap Sweep, keep the same 6th-order Butterworth biquad engine as the mixer channel filters, with optional resonance that adds a musical peak at the cutoff frequency. Airwindows adds separate creative PerformFX presets; it does not replace the exact HPF and LPF controls. DP4 Lush, Stereo Chorus, and Ensemble Wash use the internal dual-line BBD-style chorus engine — anti-phase stereo modulation with no feedback comb — so they widen without the flanger coloration a short-delay insert produces; Daft Flanger uses the internal swept-comb flanger. AutoPan uses an internal equal-power stereo pan law, so it moves clearly across the field without dropping the dry level. Tape Stop and Vinyl Brake both brake the audio to a full stop — the playback rate reaches exactly zero — and pick up seamlessly from the moment you trigger them instead of replaying older history. The pitch dives faster near the end (an accelerating fall into the stop), highs roll off naturally as the speed drops so it sounds like analog tape or vinyl rather than digital aliasing, and the final stop fades to silence with no click. Tape Stop uses an eased reel spin-down and a longer release so the running track eases back in afterward. Vinyl Brake defaults to `1/4`, uses a constant-torque brake curve that dives more sharply into the stop, and keeps the more sudden release behavior for release-FX-style cuts. Halftime captures the active timing division when it is triggered, replays that phrase at the saved Speed, and crossfades the phrase wrap so the half-speed loop stays musical instead of dropping into stale history or clicking at the boundary. Playback uses the same smooth 4-point interpolation as Tape Stop with a speed-tracking low-pass that rolls off digital imaging, so the slowdown sounds analog rather than stair-stepped, and resync jumps use click-free raised-cosine crossfades. The SP1200 PerformFX preset applies SP-style anti-aliasing, saturation, 12-bit quantization, sample-and-hold character, and the selected output filter style as a live gesture. The default preset uses the unfiltered 7 & 8 style with 45RPM character enabled. ASR10 Boost applies the same Lo/Mid/Hi vintage saturation and limiting levels used by the mixer control, with Low as the default preset level and `-6 dB` PreGain to keep the boosted path controlled. Master bounces and visualizer video audio include live PerformFX gestures. Channel stem exports remain pre-master-FX so you can keep clean stems for later mixing. ## Why use PerformFX instead of manual mixing PerformFX is for momentary performance gestures. The mixer is for stable mix decisions. ## Related pages * [Turntablism PerformFX Reference](/guides/turntablism/index) * [Use PerformFX In A Live Set](/recipes/use-performfx-in-a-live-set) * [MIDI And External Gear](/guides/midi-and-external-gear) # Quantization And Swing Source: https://docs.sampler.meiji.industries/guides/quantization-and-swing Shape timing after recording without losing the feel of the performance. # Quantization and swing Quantization helps you tighten or reshape timing after the fact. ## Available timing concepts Meiji Sampler documents: * note values such as `1/8`, `1/8T`, `1/16`, `1/16T`, `1/32`, `1/32T` * swing in the `50-75%` range for supported grids * shift or nudge style timing adjustment ## Why it matters The goal is not always perfect grid alignment. The useful question is whether the loop feels better after the change. To quantize or not to quantize? There's no right or wrong. The choice to quantize or swing your sounds is musical in and of itself. Some artists eschew quantization in favour of a loose "human" feel. Others have embraced quantization to pioneer entirely new genres of music. The choice is yours. ## Layered quantization Meiji Sampler supports a layered model: * loop-level quantization * per-track overrides That lets you keep one instrument tight while leaving another looser. ## Good workflow 1. record the idea first 2. listen to the natural groove 3. apply the smallest quantize change that solves the problem 4. use swing for feel, not just correction Meiji Sampler lets you quantize, swing, and nudge both the all tracks, and individual tracks within the same loop. Use different mixes of all 3 to create super funky and neck-snapping grooves. ## Project tempo Meiji Sampler infers the session BPM from the first recorded loop. `Settings → Tempo` lets you change the effective playback tempo of the project without changing pitch. ### When to use project tempo * The detected BPM is right, but you want the loop to run faster or slower * You want recorded loop events to fire against a new groove without re-recording everything * You want PerformFX and synced material to follow a different tempo than the original timing-source loop ### How to set it 1. Record at least one loop so the session has a detected BPM 2. Open `Settings`, then go to `Tempo` 3. Type a number directly to enter an exact BPM, or use the arrow keys to nudge by ±1.0 BPM 4. Hold `[SHIFT]` while nudging for ±0.01 fine adjustment 5. Press `[ENTER]` to apply the new project tempo The project tempo is displayed in the status bar and persisted when you save the project. ### Tempo range The `Range` field controls how Meiji Sampler interprets the first recorded loop. Choose `65-135`, `87-175`, `133-300`, or `None`. When the detected first-loop BPM sits outside the selected range, Meiji Sampler doubles or halves it into the range before quantize, synced stretch, and playback timing use it. For example, `171.45 BPM` with the default `65-135` range becomes `85.73 BPM`. Changing Range does not retime the currently loaded project; it applies the next time you clear and re-record the first timing-source loop. ### Tap tempo You can also set the project tempo by tapping the beat: 1. Highlight the `Tempo` field in `Settings → Tempo` 2. Press `[SPACE]` rhythmically in time with the beat you want 3. Meiji Sampler averages your last eight taps and displays the estimated BPM in real time 4. Press `[ENTER]` to apply the tapped tempo, or `[ESC]` to cancel The tap sequence resets automatically if you pause for more than two seconds, so you can start fresh at any time. Two taps produce a first estimate; accuracy improves with each additional tap up to eight. ### Resetting to auto-detected tempo If an adjusted tempo is already active, press `[R]` or `[DELETE]` while editing the `Tempo` field to clear it and revert to the inferred BPM. ### What project tempo affects Changing project tempo: * makes recorded loop events fire faster or slower * updates PerformFX effect grid alignment * updates sync/stretch calculations that follow the session clock * keeps pitch unchanged Canonical recorded loop data stays intact under the hood, so you can reset back to the detected tempo later. ## Related pages * [Loop](/learn/loop) * [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo) * [Keyboard Shortcuts](/reference/keyboard-shortcuts) # Sample Cards And Packs Source: https://docs.sampler.meiji.industries/guides/sample-cards Create a customer-ready sample pack or redeem a physical sample card. Physical sample cards connect a printed or NFC code to one curated pack. A creator prepares the pack and previews the full customer journey before publishing. A fan opens the card, auditions the sounds, signs in, redeems once, and receives the pack in Meiji Sampler. ## Manage a pack Use Creator Studio for packs you own. Administrators use **Admin → Packs** to work across every creator. Both surfaces use the same Flowbite pack management workspace. Give the pack a unique lowercase slug, title, **Description**, and price label. Admins also select the creator who owns it. Use the rich text toolbar in **Description** for headings, emphasis, lists, quotes, code, or links. The editor saves Markdown. Use **Overview** for catalog metadata. Use **Experience** for the redeem headline, **Supporting copy**, button label, creator attribution, accent color, and **Redemption page theme**. **Minimalist** is the silver-white default with a subtle frost-brushed texture; **Meiji** uses the dark technical Sampler look. The creator controls this choice—buyers cannot change it. **Supporting copy** uses the same Markdown editor. Titles, headlines, labels, and button text stay plain text. Use **Assets** to upload artwork (JPG, PNG, or WebP), ordered audio previews (MP3 or M4A), and ZIP downloads. Rename, reorder, replace, remove, or select the primary download from the same table. Use **Cards** to generate serials, import a printer run, export the CSV manifest, reset a returned card, or void a compromised card. **Activity** records management changes for later review. Use the **Preview customer states** sidebar beside **Overview**, **Experience**, or **Assets** and inspect Code entry, Available signed out, Available signed in, Redeemed by this account, Redeemed by another account, Voided, and Invalid. These pages are clearly marked read-only and cannot redeem, download, write data, or emit analytics. The Available previews render **Supporting copy** with the same safe Markdown presentation as the live customer page. Complete all five **Publish readiness** steps, then choose **Pack actions → Publish**. The five **Publish readiness** steps are Pack details, Customer experience, Artwork, Audio preview, and Primary download. Select **Complete** on an unfinished step to open and focus its exact field. Publishing still requires a description, redeem headline, redeem copy, artwork, at least one audio preview, and exactly one primary ZIP download. Customer pages sanitize formatted copy before rendering it. Raw HTML, scripts, embedded images, event handlers, and unsafe links are not accepted as formatting. Existing plain text remains valid and needs no conversion. Customer actions—including recovery navigation after an invalid code or rate limit—render as full-width buttons. In read-only previews, the same actions remain visibly disabled and cannot navigate. ## Asset and lifecycle safety * Replacing an asset confirms the new object before changing the saved reference. * Removed and replaced objects enter a durable storage cleanup queue. Administrators can use **Retry storage cleanup** when an upstream delete failed. * A live pack cannot lose its last required customer asset. * Archive a pack to take it out of circulation while retaining customer and audit history. * Permanent deletion is limited to an unused draft with no cards, entitlements, or customer history. ## Redeem your card 1. Tap the NFC card with your phone, open its printed URL, or visit [sampler.meiji.industries/redeem](https://sampler.meiji.industries/redeem). 2. Preview the sounds and confirm the pack details. The physical-card view shows the uploaded artwork when available, a designed fallback otherwise, preview count, **NFC Direct Download** delivery, and card value. The seller-selected theme stays visually consistent on every device: **Minimalist** remains cool silver-white with a frost-brushed finish and **Meiji** remains dark and technical. The card responds gently to pointer movement on desktop and scrolling on touch devices, while respecting reduced-motion preferences. 3. Enter your email and open the magic link on the same device. 4. Tap the creator-defined redeem button. The pack is attached to your account. 5. Download the files from the success page or open Meiji Sampler. After redemption, the success page links to more live packs from the same creator and the broader catalog. Public pack pages expose product copy and preview audio only; downloads, serials, storage keys, card batches, and drafts remain private. ## Get the pack in Meiji Sampler 1. Open Meiji Sampler and sign in with the same email used for redemption. 2. When **Your pack is ready** appears, press \[ENTER] to open Your Packs. You can also find the pack tagged \[CARD] at the top of the pack browser under Settings → Sources → Pack browser. 3. Select and download the pack. It installs like a factory pack. ## Troubleshooting * **Publish is blocked:** select **Complete** beside each unfinished **Publish readiness** step and fill the field it opens. * **Uploads are disabled:** storage is not configured on the server. Existing pack data remains editable. * **An asset cannot be removed:** add a replacement first, or archive the live pack. * **Permanent deletion is blocked:** archive the pack. Cards or customer history intentionally prevent deletion. * **Already redeemed on another account:** each card unlocks one account. A second-hand buyer should ask the seller to reset it. * **This code doesn't look right:** codes ignore dashes and case. Check the printed code, then contact the seller if it still fails. * **The pack does not show in the app:** confirm the app uses the redemption email under Settings → General → Account. # Sampling From Audio Input Source: https://docs.sampler.meiji.industries/guides/sampling-from-audio-input Record new material directly into Meiji Sampler from an input device. # Sampling from audio input Use direct recording when you want to bring in a phone, synth, turntable chain, microphone, or any other live source. ## When to use it * you want original material instead of browsing files * you want to capture a phrase and turn it into pads or chops immediately * you be digging in the crates ## Before you start * choose the correct input device in Settings * confirm the input channel selection * check output playback first so you can review the result immediately ## Basic flow Press `Enter` on an empty channel then `r` for audio record in. Start recording with a clean input signal and avoid clipping. Listen back before committing it to the session. Use `Space` to replay, and `N` to toggle normalization if the level needs a boost. Keep only takes you would actually use. The goal is fast iteration, not archiving everything. ## Trigger recording Trigger mode is for capturing a live source the moment it gets loud enough to use. Set the threshold just above the room noise or device idle level, then arm the recorder. The take begins at the first audio frame that exceeds the threshold. Audio before that crossing is monitored only and is not saved into the recording. Use Trigger when you want sampler-style starts from a synth, turntable, phone, microphone, or any other source where pressing `[SPACE]` manually would catch too much lead-in. ## Normalizing during review After stopping a recording, press `N` during the review phase to toggle peak normalization. This scales the entire sample so the loudest peak reaches -0.1 dB (0.99 linear), which is useful when: * the input was recorded at a conservative level * you want the sample at a consistent loudness before assigning it to a pad * you are comparing takes and want them at roughly the same volume Press `N` again to revert to the original levels. The status bar shows the original peak in dB so you can see how much gain was applied. If the recording is near-silent, normalization is skipped and a "Signal too quiet to normalize" message appears. The normalized version is what gets saved when you press `Enter` to keep the take. If you turn normalization off before keeping, the original levels are preserved. ## Accessing recordings If you need to load a previous recording, access an empty channel and press `R` for Recordings. The file browser will load at your recordings path; To see where that path is on your platform, see [here](/start-here/installation#what-gets-installed). ## Related pages * [Audio Setup](/start-here/audio-setup) * [Record And Layer An Overdub](/recipes/record-and-layer-an-overdub) # Scene Arrangement Source: https://docs.sampler.meiji.industries/guides/scene-arrangement Use scenes to turn isolated loops into sections, transitions, and song form. # Scenes make songs Scene arrangement is the fastest path from a few loops to a listenable structure. It's what lets your organize your loops and control when sections advance, from start to finish. ## What scenes are good at * building intros and drops * muting and reintroducing material cleanly * live section changes * auto-advancing through a sequence ## Scene repeat Each scene has a repeat count, for how many full cycles it plays before moving on. The default is `1x`. You can set it from `1x` to `16x`. Use repeats to let a section breathe without manual intervention. A 4-bar scene set to repeat `4x` times plays for 16 bars before anything changes. ## Scene advance behavior After a scene completes its repeats, one of two things happens: * **Play next scene** (default) — advances automatically to the next scene in sequence * **Stop** — all loops go silent after the final cycle Set this per scene in the Scene Detail view. Use **Stop** for endings or transitions where you want control over what comes next. ## Basic arrangement pattern Try this sequence: * scene 1: drums only * scene 2: drums plus main sample * scene 3: variation or breakdown * scene 4: return to the main section ## Why scenes beat manual mute choreography Scenes let you preserve arrangement decisions so you can revisit them, bounce them, or perform them consistently. ## Related pages * [Scene](/learn/scene) * [Build A Scene-Based Arrangement](/recipes/build-a-scene-based-arrangement) # Splice Integration Source: https://docs.sampler.meiji.industries/guides/splice-integration Search, preview, license, and load Splice sounds from Meiji Sampler. # Splice integration Meiji Sampler connects to Splice through Splice's MCP server. Sign in with your Splice account before searching. ## Search and preview Open the Splice browser from source selection, sign in, then type a natural-language search such as `dark lo-fi guitar loop around 80 BPM`. Use `Space` to preview the selected result. Most Splice MCP clients return links for preview audio. Meiji Sampler plays those links through its preview engine when the server includes them. ## License and load Press `Enter` on a result to request the full-quality licensed download through Splice MCP. Downloads require a Splice Sounds+, Creator, or Creator+ subscription. New downloads use Splice credits. Re-downloads of the same sample are free according to Splice policy. Licensed files are stored by Splice sample id in `~/Music/Meiji Sampler/splice/` on macOS and Windows, or `~/Meiji Sampler/splice/` on Linux when no audio directory is available. The same sound can be loaded again without requesting a new paid download. ## Related pages * [Browse](/learn/browse) * [Splice And Network Problems](/troubleshooting/splice-and-network) # Stem Separation Source: https://docs.sampler.meiji.industries/guides/stem-separation Use stem separation to isolate useful parts of a sample. # Stem separation Stem separation lets you isolate broad musical components from one source file. ## What it can produce Available stem types: | Stem | Content | | ---------- | ------------------------------------------- | | All | Full mix (no separation) | | Vocals | Isolated vocals | | Drums | Isolated drums | | Bass | Isolated bass | | Other | Everything except vocals, drums, and bass | | No Vocals | Karaoke/instrumental — drums + bass + other | | No Drums | Vocals + bass + other | | No Bass | Vocals + drums + other | | Drums+Bass | Rhythm section only | ## How it works The Meiji Sampler platform includes a separate stem separation binary which is loaded on-demand the first time this feature is needed. This free add-on is approximately 100MB. To save disk space, it is not included with the base install. If the Stems Addon is not available for your platform or the published bundle cannot be verified, Meiji Sampler stops before installing it and shows an installation failure. The base sampler still works; only stem separation is unavailable until a verified add-on bundle is published for your platform. ## When to use it * isolate drums from a mixed loop * remove drums so you can layer your own * extract vocal or bass material for chopping ## Tradeoffs Stem separation is powerful, but it is not magical. It works best when the source material is already reasonably clean. It's normal to hear some artifacts. Meiji Sampler uses the Demucs `htdemucs` model for source separation. ## Related pages * [Mixer And Effects](/guides/mixer-and-effects) * [Reference](/reference/index) * [Performance And System Problems](/troubleshooting/performance-and-system) # Turntablism Source: https://docs.sampler.meiji.industries/guides/turntablism/index TTM notation, scratch technique, and playable PerformFX preview examples. # Turntablism Turntablism in PerformFX treats a scratch as two independent tracks: the record's position and speed, plus the crossfader's open and closed gestures. These pages let you read that motion and audition every FX Library preview against both `ahh.wav` and `fresh.wav`. ## How to read TTM notation The diagram is a Turntablist Transcription Methodology (TTM) position-versus-time staff. An upward line is a forward record stroke, a downward line is a backward stroke, and a horizontal line is a hold. Steeper motion means a faster record hand and therefore a higher pitch. Blue motion is audible, dark gray motion is muted by an authored fader closure, and light gray horizontal motion is an intentional hold. Solid white dots mark fader clicks. Open circles mark authored intentional holds only; reversals and anti-click stops have no markers. Light vertical guides show the timing grid. The playhead in each example follows the selected native audio player through the first diagrammed scratch cycle. The playhead restarts each authored cycle during the technique bar, then holds at the right edge at the technique boundary and through release. Choose either source, seek it, or switch sources; the diagram stays aligned to the authored technique. ## Pattern, Motion, Rate, Gate, Swing, and Humanize * **Pattern** selects one of the 27 selectable TTM strokes. This is the motion/fader vocabulary available inside FX Params. * **Motion** places the Twiddle or Crab finger-click roll on the forward stroke, both strokes (`Orbit`), or the back stroke. Other patterns retain `Forward` without changing their authored geometry. * **Rate** selects the hand-rub reversal rate. On rub-family patterns it chooses 8th or 16th rub timing; on Transformer it chooses the chop subdivision. * **Gate** selects Transformer’s Straight, Swung, or Rhythmic chop rhythm. * **Swing** warps pairs of stroke cycles toward a triplet pocket. The stretched stroke moves and pitches lower while its partner compresses and pitches higher. * **Humanize** adds bounded cue, travel, and back-pull variation to audio. The diagrams deliberately use `Humanize: 0%` so they show exact authored geometry. ## Twenty effects, twenty-seven patterns The FX Library contains 20 Turntablism effects. They are curated entry points with their own defaults and preview variants; they are not a second pattern vocabulary. Each effect can expose kin patterns through its preview buttons, while the Pattern control remains a shared list of 27 selectable strokes. ## Effect pages The generated pages cover every live preview permutation: * [Baby Scratch](/guides/turntablism/scratch_baby) * [Chirp](/guides/turntablism/scratch_chirp) * [Flare](/guides/turntablism/scratch_flare) * [Orbit](/guides/turntablism/scratch_orbit) * [Twiddle](/guides/turntablism/scratch_twiddle) * [3-Finger Crab](/guides/turntablism/scratch_crab_three) * [4-Finger Crab](/guides/turntablism/scratch_crab) * [Transformer](/guides/turntablism/scratch_transformer) * [Stab](/guides/turntablism/scratch_stab) * [Scribble](/guides/turntablism/scratch_scribble) * [Uzi](/guides/turntablism/scratch_uzi) * [Lazer](/guides/turntablism/scratch_lazer) * [Hydroplane](/guides/turntablism/scratch_hydroplane) * [Pats](/guides/turntablism/scratch_pats) * [Boomerang](/guides/turntablism/scratch_boomerang) * [Autobahn](/guides/turntablism/scratch_autobahn) * [Joe Cooley](/guides/turntablism/scratch_joe_cooley) * [Aquaman](/guides/turntablism/scratch_aquaman) * [Prism](/guides/turntablism/scratch_prism) * [Bubble](/guides/turntablism/scratch_bubble) The full Pattern choice is: `Baby`, `Scribble`, `Forward`, `Military`, `Chirp`, `Stab`, `Drag`, `Transformer`, `Flare`, `Orbit`, `4-Finger Crab`, `Tear`, `Rhythm`, `Uzi`, `Lazer`, `Hydroplane`, `Pats`, `Boomerang`, `Autobahn`, `Joe Cooley`, `Twiddle`, `Aquaman`, `3-Finger Crab`, `Prism`, `Bubble`, `Forward Tear`, `Clover Tear`. # Aquaman Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_aquaman Aquaman Turntablism technique, defaults, and preview examples. # Aquaman An off-center flare/orbit figure whose early push click and late pull click create an undulating roll. Default division 1/4, Pattern Aquaman, Rate 8th, Gate Straight, Swing 0, Humanize 20%. Use it for asymmetrical movement that avoids the predictability of a mirrored flare. ## Preview presets ### 1 — Aquaman **Effective controls:** Pattern `Aquaman` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Aquaman` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Aquaman` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/8 ### 4 — Orbit **Effective controls:** Pattern `Orbit` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Pattern → Orbit # Autobahn Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_autobahn Autobahn Turntablism technique, defaults, and preview examples. # Autobahn A dense six-note micro-grid run combining short forward and reverse strokes with fader cuts. Default division 1/4, Pattern Autobahn, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for the busiest transition fills and high-energy drum punctuation. ## Preview presets ### 1 — Autobahn **Effective controls:** Pattern `Autobahn` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Autobahn` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/2 ### 3 — 1/4 Cycle **Effective controls:** Pattern `Autobahn` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 4 — 1/8 Cycle **Effective controls:** Pattern `Autobahn` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 # Baby Scratch Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_baby Baby Scratch Turntablism technique, defaults, and preview examples. # Baby Scratch A smooth forward/back rub with the fader open; the record hand creates the two phantom pauses at the reversals. Default division 1/4, Pattern Baby, Rate 8th, Gate Straight, Swing 0, Humanize 25%. Use it for the foundational vocal or drum rub that leaves the source recognizable while adding hand motion. ## Preview presets ### 1 — Baby **Effective controls:** Pattern `Baby` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `25%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Baby` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `25%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Baby` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `25%` **Overrides:** Division → 1/8 ### 4 — Tear **Effective controls:** Pattern `Tear` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `25%` **Overrides:** Pattern → Tear ### 5 — Rhythm **Effective controls:** Pattern `Rhythm` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `25%` **Overrides:** Pattern → Rhythm ### 6 — 16th Rub **Effective controls:** Pattern `Baby` · Motion `Forward` · Division `1/4` · Rate `16th` · Gate `Straight` · Swing `0%` · Humanize `25%` **Overrides:** Rate → 16th # Boomerang Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_boomerang Boomerang Turntablism technique, defaults, and preview examples. # Boomerang A syncopated sequence of forward slice, forward dice, reverse slice, and reverse dice gestures. Default division 1/4, Pattern Boomerang, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it for a compact call-and-return burst with alternating open and cut sections. ## Preview presets ### 1 — Boomrang **Effective controls:** Pattern `Boomerang` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Boomerang` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/2 ### 3 — 1/4 Cycle **Effective controls:** Pattern `Boomerang` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 4 — 1/8 Cycle **Effective controls:** Pattern `Boomerang` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/8 # Bubble Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_bubble Bubble Turntablism technique, defaults, and preview examples. # Bubble Multiple fingers create chained phantom pauses over a natural-pitch rub; the fader stays open and the record hand supplies the gurgle. Default division 1/4, Pattern Bubble, Rate 8th, Gate Straight, Swing 0, Humanize 30%. Use it for watery, dense texture that remains a motion gesture rather than a fader chop. ## Preview presets ### 1 — Bubble **Effective controls:** Pattern `Bubble` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Bubble` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Bubble` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Division → 1/8 ### 4 — Pats **Effective controls:** Pattern `Pats` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Pattern → Pats # Chirp Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_chirp Chirp Turntablism technique, defaults, and preview examples. # Chirp A one-tone forward stroke whose direction change is cut by the fader, leaving a bright chirp instead of a full pull-back. Default division 1/4, Pattern Chirp, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for sharp fills, turnarounds, and short rhythmic punctuation. **Lineage:** The Forward and Military kin patterns connect this family to G.W. Theodore, Grandmaster Flash, and classic drill vocabulary. ## Preview presets ### 1 — Chirp **Effective controls:** Pattern `Chirp` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Chirp` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Chirp` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 4 — Forward **Effective controls:** Pattern `Forward` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Pattern → Forward ### 5 — Military **Effective controls:** Pattern `Military` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Pattern → Military # 4-Finger Crab Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_crab 4-Finger Crab Turntablism technique, defaults, and preview examples. # 4-Finger Crab Four head-justified fader clicks divide the forward push into five even sound onsets before the open pull-back. Default division 1/2, Pattern 4-Finger Crab, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for fast, even syllable rolls that stay locked to the track's eighth-note hand window. **Lineage:** The crab family is strongly associated with Q-bert. ## Preview presets ### 1 — 1/2 Forward **Effective controls:** Pattern `4-Finger Crab` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Orbit **Effective controls:** Pattern `4-Finger Crab` · Motion `Orbit` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit ### 3 — 1/2 Back **Effective controls:** Pattern `4-Finger Crab` · Motion `Back` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back ### 4 — 1/4 Forward **Effective controls:** Pattern `4-Finger Crab` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/4 ### 5 — 1/4 Orbit **Effective controls:** Pattern `4-Finger Crab` · Motion `Orbit` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/4 ### 6 — 1/4 Back **Effective controls:** Pattern `4-Finger Crab` · Motion `Back` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/4 ### 7 — 1/8 Forward **Effective controls:** Pattern `4-Finger Crab` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 8 — 1/8 Orbit **Effective controls:** Pattern `4-Finger Crab` · Motion `Orbit` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/8 ### 9 — 1/8 Back **Effective controls:** Pattern `4-Finger Crab` · Motion `Back` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/8 # 3-Finger Crab Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_crab_three 3-Finger Crab Turntablism technique, defaults, and preview examples. # 3-Finger Crab Three head-justified clicks create four sound intervals, keeping the crab's springy shape lighter than the four-finger version. Default division 1/2, Pattern 3-Finger Crab, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it when a crab roll needs space between the finger articulations. **Lineage:** A lighter finger-count sibling in the Q-bert crab family. ## Preview presets ### 1 — 1/2 Forward **Effective controls:** Pattern `3-Finger Crab` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Orbit **Effective controls:** Pattern `3-Finger Crab` · Motion `Orbit` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit ### 3 — 1/2 Back **Effective controls:** Pattern `3-Finger Crab` · Motion `Back` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back ### 4 — 1/4 Forward **Effective controls:** Pattern `3-Finger Crab` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/4 ### 5 — 1/4 Orbit **Effective controls:** Pattern `3-Finger Crab` · Motion `Orbit` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/4 ### 6 — 1/4 Back **Effective controls:** Pattern `3-Finger Crab` · Motion `Back` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/4 ### 7 — 1/8 Forward **Effective controls:** Pattern `3-Finger Crab` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 8 — 1/8 Orbit **Effective controls:** Pattern `3-Finger Crab` · Motion `Orbit` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/8 ### 9 — 1/8 Back **Effective controls:** Pattern `3-Finger Crab` · Motion `Back` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/8 # Flare Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_flare Flare Turntablism technique, defaults, and preview examples. # Flare A full-travel rub with one fader click in each direction, producing two articulated syllables per stroke. Default division 1/4, Pattern Flare, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it when a baby scratch needs extra syllabic detail without becoming a dense crab roll. **Lineage:** Associated with DJ Flare and popularised through Q-bert's flare vocabulary. ## Preview presets ### 1 — Flare **Effective controls:** Pattern `Flare` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Flare` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Flare` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/8 ### 4 — 16th Rub **Effective controls:** Pattern `Flare` · Motion `Forward` · Division `1/4` · Rate `16th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Rate → 16th # Hydroplane Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_hydroplane Hydroplane Turntablism technique, defaults, and preview examples. # Hydroplane A slow record glide whose stick-slip finger friction creates an irregular bubbly amplitude texture. Default division 1/4, Pattern Hydroplane, Rate 8th, Gate Straight, Swing 0, Humanize 30%. Use it for wet, unstable movement when a clean rub would feel too predictable. ## Preview presets ### 1 — Hydro **Effective controls:** Pattern `Hydroplane` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Hydroplane` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Hydroplane` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Division → 1/8 ### 4 — 1/16 Cycle **Effective controls:** Pattern `Hydroplane` · Motion `Forward` · Division `1/16` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `30%` **Overrides:** Division → 1/16 # Joe Cooley Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_joe_cooley Joe Cooley Turntablism technique, defaults, and preview examples. # Joe Cooley A fast electro combination that alternates a constant-speed chirp with an open swirl. Default division 1/4, Pattern Joe Cooley, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it when a phrase should alternate between a clipped attack and an airy circular motion. **Lineage:** Named for the Joe Cooley electro-scratch vocabulary. ## Preview presets ### 1 — Cooley **Effective controls:** Pattern `Joe Cooley` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Joe Cooley` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Joe Cooley` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/8 ### 4 — Chirp **Effective controls:** Pattern `Chirp` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Pattern → Chirp # Lazer Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_lazer Lazer Turntablism technique, defaults, and preview examples. # Lazer An extreme-fast, tightly curved fling and return with the fader open, so the speed sweep is the sound. Default division 1/8, Pattern Lazer, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it for bright rises, impact transitions, and exaggerated pitch motion. ## Preview presets ### 1 — Lazer **Effective controls:** Pattern `Lazer` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 2 — 1/4 Cycle **Effective controls:** Pattern `Lazer` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/4 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Lazer` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 4 — Stab **Effective controls:** Pattern `Stab` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Pattern → Stab # Orbit Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_orbit Orbit Turntablism technique, defaults, and preview examples. # Orbit A two-click flare figure that keeps the record moving while the crossfader opens and closes around both directions. Default division 1/4, Pattern Orbit, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it for a rolling, circular phrase that sits between a flare and a denser click sequence. **Lineage:** Associated with Q-bert's orbit vocabulary. ## Preview presets ### 1 — Orbit **Effective controls:** Pattern `Orbit` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Orbit` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Orbit` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Division → 1/8 ### 4 — 16th Rub **Effective controls:** Pattern `Orbit` · Motion `Forward` · Division `1/4` · Rate `16th` · Gate `Straight` · Swing `0%` · Humanize `15%` **Overrides:** Rate → 16th # Pats Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_pats Pats Turntablism technique, defaults, and preview examples. # Pats A slow drag interrupted by evenly spaced phantom halts, like one hand patting the record without fader clicks. Default division 1 Bar, Pattern Pats, Rate 8th, Gate Straight, Swing 0, Humanize 20%. Use it for spacious, clickless phrasing across a whole bar. ## Preview presets ### 1 — Pats **Effective controls:** Pattern `Pats` · Motion `Forward` · Division `1 Bar` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Pats` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/2 ### 3 — 1/4 Cycle **Effective controls:** Pattern `Pats` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/4 ### 4 — Bubble **Effective controls:** Pattern `Bubble` · Motion `Forward` · Division `1 Bar` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Pattern → Bubble # Prism Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_prism Prism Turntablism technique, defaults, and preview examples. # Prism Two constant-speed rub cycles are phrased as one gesture; each push is split by a click and the peak reversals are muted. Default division 1/4, Pattern Prism, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for a counted 1-2-3 | 1-2-3 phrase with bright push articulation and open pulls. ## Preview presets ### 1 — Prism **Effective controls:** Pattern `Prism` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Cycle **Effective controls:** Pattern `Prism` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/2 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Prism` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 4 — Flare **Effective controls:** Pattern `Flare` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Pattern → Flare # Scribble Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_scribble Scribble Turntablism technique, defaults, and preview examples. # Scribble A tight fingertip vibration with repeated sine motion and an open fader. Default division 1/8, Pattern Scribble, Rate 8th, Gate Straight, Swing 0, Humanize 20%. Use it for nervous texture, transition energy, and short bursts under a vocal. ## Preview presets ### 1 — Scribble **Effective controls:** Pattern `Scribble` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` This is the catalog default preview. ### 2 — 1/4 Cycle **Effective controls:** Pattern `Scribble` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/4 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Scribble` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` This is the catalog default preview. ### 4 — 1/16 Cycle **Effective controls:** Pattern `Scribble` · Motion `Forward` · Division `1/16` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/16 # Stab Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_stab Stab Turntablism technique, defaults, and preview examples. # Stab A fast, tightly curved jab into the source followed by a short hold and a muted re-cue. Default division 1/8, Pattern Stab, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for abrupt hits, accents, and one-shot call-and-response gestures. ## Preview presets ### 1 — Stab **Effective controls:** Pattern `Stab` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/4 Cycle **Effective controls:** Pattern `Stab` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/4 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Stab` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 4 — Drag **Effective controls:** Pattern `Drag` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Pattern → Drag # Transformer Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_transformer Transformer Turntablism technique, defaults, and preview examples. # Transformer A slow drag with a closed-fader baseline and tempo-locked chops that open in straight, swung, or rhythmic figures. Default division 1/2, Pattern Transformer, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for low, gated growls that turn a sustained source into a rhythmic tremolo gesture. **Lineage:** The technique is associated with DJ Spinbad and the Jazzy Jeff / Cash Money lineage. ## Preview presets ### 1 — Xformer **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/4 Cycle **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/4 ### 3 — 1/8 Cycle **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 4 — Swung **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Swung` · Swing `0%` · Humanize `10%` **Overrides:** Gate → Swung ### 5 — Rhythmic **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Rhythmic` · Swing `0%` · Humanize `10%` **Overrides:** Gate → Rhythmic ### 6 — 16th Gate **Effective controls:** Pattern `Transformer` · Motion `Forward` · Division `1/2` · Rate `16th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Rate → 16th # Twiddle Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_twiddle Twiddle Turntablism technique, defaults, and preview examples. # Twiddle A two-finger crab: two head-justified clicks divide a tightly curved stroke into three sound intervals. Default division 1/2, Pattern Twiddle, Rate 8th, Gate Straight, Swing 0, Humanize 10%. Use it for a lighter, more conversational crab roll with a clear triangle underneath. **Lineage:** A two-finger crab technique in the Q-bert lineage. ## Preview presets ### 1 — 1/2 Forward **Effective controls:** Pattern `Twiddle` · Motion `Forward` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` This is the catalog default preview. ### 2 — 1/2 Orbit **Effective controls:** Pattern `Twiddle` · Motion `Orbit` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit ### 3 — 1/2 Back **Effective controls:** Pattern `Twiddle` · Motion `Back` · Division `1/2` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back ### 4 — 1/4 Forward **Effective controls:** Pattern `Twiddle` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/4 ### 5 — 1/4 Orbit **Effective controls:** Pattern `Twiddle` · Motion `Orbit` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/4 ### 6 — 1/4 Back **Effective controls:** Pattern `Twiddle` · Motion `Back` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/4 ### 7 — 1/8 Forward **Effective controls:** Pattern `Twiddle` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Division → 1/8 ### 8 — 1/8 Orbit **Effective controls:** Pattern `Twiddle` · Motion `Orbit` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Orbit · Division → 1/8 ### 9 — 1/8 Back **Effective controls:** Pattern `Twiddle` · Motion `Back` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Motion → Back · Division → 1/8 ### 10 — 16th Rub **Effective controls:** Pattern `Twiddle` · Motion `Forward` · Division `1/2` · Rate `16th` · Gate `Straight` · Swing `0%` · Humanize `10%` **Overrides:** Rate → 16th # Uzi Source: https://docs.sampler.meiji.industries/guides/turntablism/scratch_uzi Uzi Turntablism technique, defaults, and preview examples. # Uzi A rapid, small-travel forearm vibration with a shallow vinyl-hand amplitude buzz. Default division 1/8, Pattern Uzi, Rate 8th, Gate Straight, Swing 0, Humanize 15%. Use it for a high-frequency tremolo-like accent that feels tense and physical. ## Preview presets ### 1 — Uzi **Effective controls:** Pattern `Uzi` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` This is the catalog default preview. ### 2 — 1/4 Cycle **Effective controls:** Pattern `Uzi` · Motion `Forward` · Division `1/4` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/4 ### 3 — 1/16 Cycle **Effective controls:** Pattern `Uzi` · Motion `Forward` · Division `1/16` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Division → 1/16 ### 4 — Scribble **Effective controls:** Pattern `Scribble` · Motion `Forward` · Division `1/8` · Rate `8th` · Gate `Straight` · Swing `0%` · Humanize `20%` **Overrides:** Pattern → Scribble # Meiji Sampler Source: https://docs.sampler.meiji.industries/introduction The official documentation for Meiji Sampler. Start here, learn the workflow, and find the exact reference pages you need. # Our Philosophy We believe that focus is precious and the most important resource you have to achieve true creative flow. The philosophy of Meiji Sampler is simple: maintain focus to achieve that precious flow state and achieve your true creative potential. Recently, movements have emerged which aim to achieve this important principle but never really stuck the landing. Traditionally, music was made in studios where creatives could have access to expensive and specialized equipment and engineering knowledge, with a high barrier to entry. The advent of software and the digital audio workstation lowered the bar significantly, and then music-making applications from Fruity Loops to GarageBand brought the cost of entry another order of magnitude lower. This was a total blessing, but left creatives staring at a screen, many of which were knowledge workers by day and tired of staring at screens by night. Naturally, solutions emerged to try and address this, like the DAWless movement. In a full circle moment, folks started rediscovering vintage ways of making music again that felt more tactile and less virtual. Problem is, we circled all the way back to needing to acquire rare pieces of gear, manage the physical setup and routing of it, and ultimately integrate with software anyway, since most projects eventually arrive at the DAW. Meanwhile, some very exciting developments in software emerged when machine learning and artificial intelligence matured to the point where fascinating creative possibilities emerged. For producers and DJs, stem separation quickly became a powerful tool in your arsenal. Sample management at your fingertips will always be more efficient than painstakingly digging through the crates. Despite the frustrations of staring at screens, software fundamentally does have its advantages. At Meiji Sampler, we believe the middle ground is the most attractive option. We worship tactile creativity, yet live in a digital world. Software can be anything, including intentionally limited. With limitations comes creativity. Yet software brings freedom, including financially, where the cost is free. Our solution? 2 constraints: ditch the mouse, embrace the terminal. With those 2 limitations, software and hardware blend together, with the tactile keyboard connected to your laptop being the instrument, and Meiji Sampler being your canvas. Will we be right? Remains to be seen. Meanwhile, enjoy the process, and see whether you're able to cultivate a flow state that helps you create your best work to date. ## Start here Install Meiji Sampler, configure audio, and get to your first sound fast. Follow the workflow from Browse to Mix. Deep dives on sampling, chopping, effects, export, MIDI, and more. One page, one task. Solve a specific problem quickly. Shortcuts, settings, modes, formats, and exact behavior. Fix audio, recording, file, sync, and performance issues. See what changed, what it affects, and what to read next. # Assign Source: https://docs.sampler.meiji.industries/learn/assign Load sounds onto pads so they become playable parts of your session. # Assign samples Assigning is the bridge between browsing and performance. Preparing your pads for jamming and recording. ## What this stage is for At this stage, you turn interesting files into playable pads. ## Core controls * `1-9` and `0` trigger pads * `Left`/`Right` (or `h`/`l`) move between channels * `Enter` opens the selected channel detail or source selection flow ## What happens when you assign a sound A successful assignment gives you: * a sample on a pad * a channel in the mixer * a source sound that can now be recorded into loops The assigned sound persists with the session state unless you replace or clear it. ## Good assignment strategy Start with a minimal kit: * `1` kick * `2` hi-hat * `3` snare * `4` one loop, chord, bass, or melodic sample This is usually enough to start recording. Fingerdrumming is an important part of self-expression when beatmaking. Arrange your samples in a way that feels good when fingerdrumming on the keyboard. Developing these skills will help you tap in that perfect loop every time. ## Chops, trim, and per-channel overrides Assignment is also where deeper sound preparation starts. After a sample is assigned, you can move into: * trim workflows * chop mode * stem selection * channel-level sound shaping When you edit trim points, chop markers, or loop mode from a pad context, those changes apply only to that channel. The same file can play differently on another channel. See [Per-Channel Playback](/guides/per-channel-playback) for the full model. ## Next step Go to [Loop](/learn/loop). # Browse Source: https://docs.sampler.meiji.industries/learn/browse Find sounds quickly with navigation, preview, search, stars, and flat browsing. # Browse samples Browsing is the first step in the core workflow because every later step depends on choosing the right source sound. ## What this stage is for Use the browser to: * move through folders and libraries * preview samples instantly * search large collections * jump to favorite locations ## Core controls * `Up`/`Down` (or `k`/`j`) move selection * `Enter` or `Right` (or `l`) enters a directory * `Backspace` or `Left` (or `h`) goes up * `Space` previews the selected sample * `/` opens fuzzy search * `*` toggles a star * `f` toggles flat mode in older docs; verify against your build if this key differs ## What makes browsing fast Meiji Sampler is optimized for: * instant preview * fuzzy search * deep library access without mouse interaction Finding great sounds is important, so browsing is a crucial phase in the creative process. ## Good browsing habits * preview several options before assigning anything * star directories you return to often with `*` * use flat or search-based browsing when your library is deep * keep a small reliable set of starter sounds for fast idea capture Sound selection and recording quality matter more than mixing tricks. Choose great sounds up front and save time in the mix later. ## Common mistake New users often assign too early and then keep reassigning sounds. Preview more than you think you need to. It makes the later loop and scene stages smoother. ## Next step Go to [Assign](/learn/assign). # Build Your First Complete Track Source: https://docs.sampler.meiji.industries/learn/first-complete-track Use the full Meiji Sampler workflow to turn a few strong sounds into a draft arrangement you can actually bounce. # Build your first complete track This lesson is where the workflow stops feeling theoretical. You are going to take a small set of sounds, turn them into loops, give them structure with scenes, and print a rough draft. ## What you'll build By the end of this lesson, you should have: * a small playable kit * at least three loops with distinct jobs * at least three scenes that feel like sections, not copies * a rough mix that already communicates the idea * a bounced draft you can listen back to outside the app ## Recommended starting material Start with a tiny palette. Meiji Sampler gets powerful fast, but the fastest way to finish is still restraint. * pad 1: kick * pad 2: snare * pad 3: hat, shaker, or percussion * pad 4: one melodic loop or chopped phrase * optional pad 5: texture, vocal stab, bass hit, or fill ## Suggested structure Aim for something like this: * loop 1: drums * loop 2: melodic or chopped phrase * loop 3: variation, fill, bass movement, or overdub * scene 1: sparse opening * scene 2: main section * scene 3: contrast, drop, or outro ## Suggested sequence Load only the sounds you actually need. A focused kit makes arrangement decisions easier and keeps the groove readable. Build the first drum loop before anything else. That establishes the session timing and gives every later decision a pocket to land in. Record a second loop with the chopped phrase, melodic sample, bass idea, or texture that makes the beat feel like your beat. Record a third loop only if it adds a real contrast. Good options are a fill, a busier drum pass, a stripped melodic answer, or an overdub that changes the energy. Create scenes that actually behave like arrangement points: an intro, a main section, and one contrasting moment. If every scene contains everything, you do not have an arrangement yet. Set gain first, then pan, width, filtering, and character. You are not mastering. You are making sure the important parts hit when the scenes change. Trigger the scenes in order or use auto-advance so you can hear whether the transitions feel intentional. Fix weak handoffs before you bounce. Bounce a WAV so you can listen away from the screen and judge the song like a listener instead of a builder. ## What counts as success You do not need a finished release-ready song. You do need: * a beginning * a second section that changes the energy * a loop structure that plays predictably * a rough mix that is easy to listen to * one bounced file you would not be embarrassed to revisit tomorrow ## Common trap Do not wait for a perfect ten-pad masterpiece before arranging. Most first complete tracks come together faster when you commit to four or five good sounds, one groove, one musical hook, and a few clean scene changes. ## What to do next After this point, move into: * [Guides](/guides/index) for deeper feature control * [Recipes](/recipes/index) for repeatable task workflows * [Reference](/reference/index) when you need exact behavior # Learn Source: https://docs.sampler.meiji.industries/learn/index Follow the core Meiji Sampler workflow from Browse to Mix. # Fundamentals At its core, making a beat with Meiji Sampler follows this progression. `Browse -> Assign -> Loop -> Scene -> Mix` Let's dive in to each section to learn more. ## In this section * [Workflow Overview](/learn/overview) * [Terminology](/learn/terminology) * [Browse](/learn/browse) * [Assign](/learn/assign) * [Loop](/learn/loop) * [Scene](/learn/scene) * [Mix](/learn/mix) * [Build Your First Complete Track](/learn/first-complete-track) # Loop Source: https://docs.sampler.meiji.industries/learn/loop Record pad performances into loop slots and start building structure. # Creating Loops Loop recording is where Meiji Sampler stops being a browser and starts behaving like an instrument. ## What this stage is for Use loops to: * capture pad performances * build patterns * overdub layers * establish an initial BPM for the session ## Core loop model Each loop slot can hold: * recorded events * a duration * mute state * quantization settings The first solid loop establishes session timing. Later loops lock to that timing. When you press `[R]` before the first loop, First Loop Setup opens so you can choose **Fixed** or **Auto** recording. **Fixed** is the default. The dialog shows `Mode: FIXED TEMPO`, then `Start with a blank loop of fixed tempo & duration`, then `[SPACE] to tap tempo, [ENTER] to record`. It records into the selected Length, starts at `90.00 BPM`, initializes Quantize from Settings with `OFF` as the default, turns on a `4 BEATS` record count-in, and uses a `REC + PLAY` click. Use this when you want a clean count-in and a known project tempo before playing. Highlight Tempo to type a BPM directly, or press `[SPACE]` anywhere in First Loop Setup to tap tempo, hear the metronome click, return the dialog to Fixed mode, and focus Tempo. During a Fixed take, the loop details view shows the full selected Length with a moving playhead. `[ENTER]` can end recording early; the committed loop still keeps the selected fixed Length and waits in `OVR+` until the next fixed interval so overdub continues on the first cycle instead of shrinking to the early stop time. When a loop is ARMED and the record count-in is on, a pad or chop key plays immediately and starts the count-in; `[SPACE]` starts the same count-in without an initial pad hit. A centered numeric toast counts down once per beat, such as `4`, `3`, `2`, `1` for a `4 BEATS` count-in. Pad or chop hits during the final count-in beat are captured at `0:00`, so you can play slightly ahead of the downbeat. Earlier hits only update the start signal and are not replayed or recorded when REC begins. **Auto** records freely and sets tempo by ending cleanly. Select `Mode: AUTO TEMPO`, then press `[ENTER]` to start recording. Press `[ENTER]` again to end the loop; the first take starts overdubbing immediately as the loop cycles. Auto keeps Length flexible while still applying the dialog's Quantize, Count-in, and Click choices. The loop details view keeps expanding with elapsed time until you end the take. Meiji Sampler infers the BPM from the completed first loop automatically. `[ESC]` cancels the dialog without arming recording. If the pad that starts the first recording has LOOP on and the take ends within 10% of an exact number of that pad's loop cycles, Meiji Sampler snaps the first loop length to that anchor so the project tempo lands cleanly. If you want the whole project to play faster or slower later, adjust `Settings → Tempo`. See [Quantization And Swing](/guides/quantization-and-swing#project-tempo) for details. ## Core controls * `1-9` and `0` select and control loop slots * on an empty slot, the slot number arms recording * when no loop transport is playing, a stopped slot number cues that loop, and the same number stops a cued loop * while loops are playing, a playing slot number queues `STOP+` at the loop boundary, and pressing the same number on `STOP+` stops immediately * `[SPACE]` starts cued or armed loop transport, starts the only stopped loop immediately when one recorded loop exists, or stops active loop and overdub transport * `[R]` opens First Loop Setup before the first loop, then arms recording or punches into overdub after a timing source exists * `Enter` opens the sequence editor * `q` opens quantize * `m` mutes a loop * `d` duplicates a loop * `e` extends a loop * `Shift+H` shortens the loop by half When the selected loop slot is empty, Meiji Sampler shows `Press [R] to record a Loop` as a persistent toast instead of placing the prompt inside the loop details panel. During recording, the persistent toast changes to `Press [ENTER] to save, [ESC] to retry`; retry returns to the armed pad or count-in prompt. ## Basic flow 1. focus a loop slot 2. arm recording 3. play pads 4. close the take 5. listen to the loop repeat ## Why loops matter Pads are for playing. Loops are for programming. Once a loop exists, you can: * layer on top of it * build scenes from it * edit its tracks * quantize or mute specific material ## Sequence editing Loop editing lets you inspect and manipulate the recorded events rather than just re-recording every take from scratch. ## Next step If the difference between loop mute, track mute, and solo is still fuzzy, see [Muting And Soloing](/guides/muting-and-soloing). Go to [Scene](/learn/scene). # Mix Source: https://docs.sampler.meiji.industries/learn/mix Shape each channel so the loops and scenes feel like a finished performance. # Mixing Audio Mixing in Meiji Sampler happens at the channel level. ## What this stage is for Use the mixer to control: * level * stereo placement * tone * movement * spatial depth * ducking and sync behavior * vintage emulation of iconic hardware ## Core controls * `Tab` moves focus to the mixer pane * `Left`/`Right` (or `h`/`l`) select channels * `Up`/`Down` (or `k`/`j`) adjust the active parameter * `Enter` opens deeper channel detail controls ## Core channel parameters Every channel can include: * gain * saturation * pan * stereo width * pitch * HPF * LPF * reverb * playback offset * ASR-10 Boost * SP-1200 filter * RPM 45 mode * sync * ducking settings * stem choice * linked pad trigger * choke group ## Why mix late in the workflow The fastest way to stay in flow is: 1. browse 2. assign 3. record 4. arrange 5. then shape tone and balance If you over-mix too early, it slows down idea capture. ## Good first moves Start with: * gain balance * simple pan separation * subtractive filtering * light reverb That gets you most of the way without overcomplicating the session. ## Next step If you need the mental model for channel mute versus loop or track mute, see [Muting And Soloing](/guides/muting-and-soloing). Go to [Build Your First Complete Track](/learn/first-complete-track). # Workflow Overview Source: https://docs.sampler.meiji.industries/learn/overview Understand the creation process that powers Meiji Sampler's core music-making flow. # Workflow overview The core Meiji Sampler workflow lives inside the `Create` tab. Remember, the main beatmaking flow is: `Browse -> Assign -> Loop -> Scene -> Mix` ## Why this matters This sequence mirrors how the product actually works: 1. find sounds 2. load them onto playable pads 3. record those pads into loops 4. combine loops into scenes 5. shape the result in the mixer ## The 10-10-10 model Meiji Sampler is built around three sets of ten: | Layer | Count | Purpose | | ------ | ----- | ------------------------------ | | Pads | 10 | playable sound triggers | | Loops | 10 | recorded patterns | | Scenes | 10 | arranged combinations of loops | ## Recommended learning order Read the rest of `Learn` in this order: 1. Terminology 2. Browse 3. Assign 4. Loop 5. Scene 6. Mix 7. Build Your First Complete Track ## Next step Go to [Terminology](/learn/terminology). # Scene Source: https://docs.sampler.meiji.industries/learn/scene Turn individual loops into arranged sections that can be cued and chained. # Creating Scenes Scenes are where individual loop ideas become arrangement. ## What a scene is A scene is a saved combination of one (or more) loops which play together. Use scenes to create: * intros * main sections * breakdowns * alternate arrangements ## Why scenes matter Without scenes, your composition will require all pads to be programmed in one long loop. With scenes, you can easily manage: * sections * transitions * auto-advance behavior * live cueing * .. and much more. ## Core behavior Scene changes are quantized so transitions happen at musically sensible boundaries rather than mid-loop chaos. This makes scenes useful for: * live performance * sketching song structure * printing a longer arrangement for bounce/export ## Scenes repeat Scenes also have a multiplier. Set to `1x`, a scene will play once. Set to `2x`, it will repeat before proceeding. Use this as a way to repeat a phrase in your arrangement. ## Thinking in scenes Knowing what scenes are for will actually change the way you think about loops. Loops can now be treated like groups of related sounds, such as: * drum loops * drum fills * melodic loops * occasional percussion and fx * one-shots * triggers for looping samples For example, separating a drum loop from a melodic loop lets you "bring the drums in" as follows: * Scene 1: Melody only (like an intro) * Scene 2: Melody + Drums (song begins) repeating 4x. * Scene 3: Drums only (like an outro) * *-END-* ## Core controls * `Left`/`Right` (or `h`/`l`) select scenes * `Space` cues the current scene * `Enter` opens the scene editor * `1-9` and `0` can jump directly to scene slots ## Scene editor Inside the scene editor, you choose: * which loops belong in the scene * whether auto-advance is enabled * how many cycles pass before advancing ## Good first use Start with two scenes: * scene 1: drums only * scene 2: drums plus a chopped or melodic loop That is enough to understand arrangement without building a full song immediately. ## Next step Go to [Mix](/learn/mix). # Terminology Source: https://docs.sampler.meiji.industries/learn/terminology Learn the fundamentals that make up the Meiji Sampler process # Definitions Unsure about a particular concept or phrase? Let's dive in to what everything means. ## Create tab The main production workspace. This is where pads, loops, scenes, browser focus, and mixing happen. ## Browser The file and source navigation area where you find sounds, preview them, and move through folders or libraries. ## Pad A playable sound slot. Pads are triggered with `1-9` and `0`. Each pad can hold: * a loaded sample * trim or chop behavior * mixer settings on its channel ## Channel The mixer lane tied to a pad. When you change gain, pan, filters, pitch, saturation, width, reverb, ducking, or stem selection, you are usually changing channel behavior. ## Loop A recorded performance slot. Loops capture pad triggers over time and can be edited, muted, duplicated, extended, quantized, and arranged. ## Session timing The timing context set by the first meaningful recorded loop. Later loops sync against that timing. BPM can be overridden in the Settings tab. ## Scene A stored arrangement of stacked loops which play together. Scenes let you build song sections and transitions, since scenes are played one after another in series. ## Focus The active pane receiving keyboard input: * Browser * Details * Mixer ## Row The currently selected workflow row inside the `Create` tab: * Pads * Loops * Scenes ## PerformFX (coming soon) A separate live-performance effect system available in the `Perform` tab. ## Project A saved `.meiji` file containing your session state, including pads, loops, scenes, mixer settings, and metadata. Projects are stored in: * `~/Documents/Meiji Sampler/Projects/` ## Next step Go to [Browse](/learn/browse). # Build A Beat From Factory Sounds Source: https://docs.sampler.meiji.industries/recipes/build-a-beat-from-factory-sounds Use factory packs to build a complete first groove without touching your own sample library. # Build a beat from factory sounds ## What this recipe is for Use this when you want to make something immediately and do not want sample digging to become the session. Factory packs are the fastest way to get to a usable drum kit and one musical idea. ## What to load Start with: * one kick * one snare * one hat or percussion sound * one melodic loop, chord hit, bass note, or texture ## Steps From the `Create` tab, press `p` to open Factory Packs and choose a pack that feels coherent. Do not overthink it. Assign your kick, snare, hat, and one musical sound to four pads. The goal is a small kit with clear jobs, not ten competing ideas. Move to the loops row, arm an empty loop with `r`, and record the kick, snare, and hat first. Let that loop establish the pocket and tempo. Record a second loop with the melodic sound, or chop it first if it works better as phrases than as one sustained sample. Create one scene that is mostly drums and one that brings in the full idea. Even two scenes are enough to make the beat feel arranged. Balance gain so the kick and snare lead the groove, then adjust the other parts until the scene change feels intentional instead of crowded. ## What good looks like You should leave this recipe with: * one tight drum loop * one second layer that gives the beat identity * two scenes with different energy * a draft that already feels worth continuing ## Related pages * [Build Your First Beat](/start-here/first-beat) * [Build Your First Complete Track](/learn/first-complete-track) # Build A Scene-Based Arrangement Source: https://docs.sampler.meiji.industries/recipes/build-a-scene-based-arrangement Use a few loops and a few scenes to turn a groove into something that actually moves. # Build a scene-based arrangement ## What this recipe is for Use this when the loops are working but the track still feels static. Scenes are what turn repetition into form. ## What you need Start with at least: * one foundation loop * one second loop that changes the color or energy * one optional variation, fill, or overdub ## Steps Before building scenes, make sure each loop has a job. One should hold the groove. Another should add identity. A third, if you use one, should create contrast. Start with the minimum material needed to introduce the track. A restrained first scene makes later scenes feel larger. Add the loops that make the beat feel complete. This is the section the listener should remember. Make one more scene that meaningfully changes the energy. Drop the drums, add a fill, or strip back the melodic content. Use cycle-based auto-advance when you want the arrangement to move on its own during playback or bounce. Cue the scenes in sequence and listen to the handoff between them. If the sections are not clearly different, the arrangement still needs work. ## What good looks like Success here is not complexity. Success is hearing: * a clear opening * a clear main section * at least one meaningful contrast * transitions that land on musical boundaries ## Related pages * [Scene Arrangement](/guides/scene-arrangement) * [Build Your First Complete Track](/learn/first-complete-track) # Chop A Break Into Playable Pads Source: https://docs.sampler.meiji.industries/recipes/chop-a-break-into-pads Turn one longer break into playable slices you can finger-drum, resequence, and record. # Chop a break into playable pads ## What this recipe is for Use this when one loop already has the right texture, but you want to rearrange the rhythm instead of replaying the loop as-is. ## What works best The best source material for this recipe is: * one drum break with obvious kick and snare transients * one loop with a few phrase boundaries you can hear clearly * one sample that already has groove but needs more control ## Steps Load the source loop onto an empty or replaceable pad. If the source has long silence before the first hit, clean that up before you start chopping. In the trim view, press `Shift+]` to snap toward the first useful hit, then set the trim start with `s`. Better source boundaries make better chops. Press `c` on the source pad to enter chop mode and listen through the break once before placing markers. If the waveform is dense, use `b` in the trim view to focus snap navigation on Lows for kick hits, Mids for snare and body, or Highs for hats and bright attacks. Use `<` and `>` to make snap markers stricter or more sensitive. Press `a` in the trim view to assign the first ten transient markers to `1-9,0`. This is fastest when the sensitivity is already showing the main hits you want. The playhead snapping follows the quick bracket-key feel of Cool Edit Pro, while the sensitivity-guided markers give you a ReCycle-like way to prepare slices. Focus on the hits and phrase edges you actually want to play. Kicks, snares, hats, ghost notes, and obvious turnaround points matter more than chopping every transient. Trigger the chops from `1` through `0` and make sure each one feels intentional. Delete or ignore weak slices instead of forcing them into the pattern. Move to the loops row, arm an empty loop, and play the slices like a kit. This is where the break becomes your rhythm instead of the original rhythm. ## What good looks like The finished result should feel more playable than the source material. You should be able to: * trigger the important hits confidently * create a new groove from the slices * keep the original character of the break without being trapped by its original timing ## Related pages * [Chopping And Slicing](/guides/chopping-and-slicing) * [Turn A Long Sample Into A Playable Kit](/recipes/turn-a-long-sample-into-a-kit) # Export A Final Mix Source: https://docs.sampler.meiji.industries/recipes/export-a-final-mix Render the arrangement to a WAV so you can listen back, share a draft, or move to a DAW. # Export a final mix ## What this recipe is for Use this when the track has enough structure that you want to hear it outside the app. Do not wait for perfection. Bounce early so you can judge the arrangement like a listener. ## Steps Make sure playback starts from the scene you want to print. If your arrangement relies on scene changes, rehearse them once before you render. Press `b` to open the bounce flow from the current workflow context. WAV is the safest default for checking the result, archiving the draft, and importing into other tools later. The default bit depth is 24-bit. If you plan to do further production in a DAW, keep 24-bit or switch to 32-bit float with `Left`/`Right` on the WAV Audio row. MP4 visualizer export is useful for sharing, but it is not required for evaluating the music itself. Once the bounce completes, open the resulting file from `~/Documents/Meiji Sampler/Bounces/` and listen all the way through. Pay special attention to scene transitions, balance, and ending behavior. ## What good looks like The first successful export should tell you: * whether the arrangement reads as a song * whether the loudest elements are balanced correctly * whether the ending does what you intended ## Related pages * [Exporting And Bouncing](/guides/exporting-and-bouncing) * [Build A Scene-Based Arrangement](/recipes/build-a-scene-based-arrangement) # Recipes Source: https://docs.sampler.meiji.industries/recipes/index Short, outcome-first pages for specific musical tasks inside Meiji Sampler. # Recipes Recipes are for moments when you already know what you want to do. You do not need a tour. You need a result. Each page is one task, one outcome, and one clean path from start to finish. ## Good uses for a recipe * you want to get one thing done fast * you already understand the basic workflow * you are in the middle of making something and do not want a long detour into theory ## In this section * [Chop A Break Into Playable Pads](/recipes/chop-a-break-into-pads) * [Build A Beat From Factory Sounds](/recipes/build-a-beat-from-factory-sounds) * [Turn A Long Sample Into A Playable Kit](/recipes/turn-a-long-sample-into-a-kit) * [Record And Layer An Overdub](/recipes/record-and-layer-an-overdub) * [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo) * [Set Up Sidechain Ducking](/recipes/set-up-sidechain-ducking) * [Build A Scene-Based Arrangement](/recipes/build-a-scene-based-arrangement) * [Export A Final Mix](/recipes/export-a-final-mix) * [Use PerformFX In A Live Set](/recipes/use-performfx-in-a-live-set) * [Recover From A Bad Take](/recipes/recover-from-a-bad-take) ## Need more explanation? If you want a deeper mental model or fuller workflow guidance, move up to [Guides](/guides/index) or [Learn](/learn/index). # Record And Layer An Overdub Source: https://docs.sampler.meiji.industries/recipes/record-and-layer-an-overdub Add one new layer to an existing loop without losing the groove that already works. # Record and layer an overdub ## What this recipe is for Use this when a loop is close, but still needs one more part to feel complete. The key is discipline. Good overdubs usually do one job, not five. ## Good overdub choices Reach for: * hats or percussion that sharpen the groove * a chopped answer phrase * occasional fills or accents * one texture that supports the main idea without crowding it ## Steps Listen to the original loop first. If the foundation is weak, fix that before layering more material on top. Choose one role for the new layer before you record. Groove, contrast, texture, or emphasis. If you cannot name the role, the overdub probably does not need to exist. Use the loop recording flow on the existing slot so you keep the original pattern and add only the new performance. Add hats, accents, a chop phrase, or a response layer, but leave space. The new layer should support the groove, not compete with it. Keep the overdub only if the loop got clearer, heavier, wider, or more alive. If it got busier without getting better, undo it. ## What good looks like The right overdub feels obvious in hindsight. It should make the loop: * hit harder * move better * reveal a stronger hook ## Related pages * [Overdub And Loop Editing](/guides/overdub-and-loop-editing) * [Recover From A Bad Take](/recipes/recover-from-a-bad-take) # Recover From A Bad Take Source: https://docs.sampler.meiji.industries/recipes/recover-from-a-bad-take Get back to a working groove quickly after a bad recording, bad overdub, or wrong scene move. # Recover from a bad take ## What this recipe is for Use this when one wrong move threatens to drag the whole session sideways. The fastest recovery is usually a small, calm correction. Not a dramatic rebuild. ## Steps Do not keep recording over a loop that already went wrong. Every extra second makes the recovery harder to judge. Decide whether the problem lives in one event, one overdub, one loop, or one scene assignment. Fix that smallest unit first. Prefer undo, track clear, loop clear, or scene edit before you start rebuilding a larger section of the arrangement. If the performance was close, quantization or a cleaner overdub might save it. If the idea was wrong, replace it quickly and move on. If the beat matters, save a proper project after recovery so the next mistake does not cost as much. ## What good looks like Recovery is successful when: * the original groove is intact again * you know exactly what changed * you can continue building without hesitation ## Related pages * [Overdub And Loop Editing](/guides/overdub-and-loop-editing) * [File And Project Problems](/troubleshooting/files-and-projects) # Set Up Sidechain Ducking Source: https://docs.sampler.meiji.industries/recipes/set-up-sidechain-ducking Create rhythmic space by letting one channel step out of the way of another. # Set up sidechain ducking ## What this recipe is for Use this when the kick, bass, loop, or texture are fighting for the same space. Ducking is not just for obvious pumping. It is also one of the cleanest ways to make a mix breathe. ## Best first target Start with one of these: * kick ducking a bass channel * kick ducking a long melodic loop * snare ducking a noisy texture that is crowding the backbeat ## Steps Pick the sound that should trigger the duck, usually the kick. Open the ducking controls for the sustained or crowded sound, not the trigger source. Choose the trigger channel and start with a moderate amount. You want space, not collapse. Shorter settings feel tighter and more obvious. Longer release settings create a more dramatic swell. Tune the movement so it supports the groove instead of flattening it. Toggle the effect while the loop is playing. Keep the duck only if the groove gets clearer, heavier, or easier to follow. ## What good looks like The groove should feel: * clearer * punchier * easier to hear without increasing overall level ## Related pages * [Mixer And Effects](/guides/mixer-and-effects) * [Effects And Parameters](/reference/effects-and-parameters) # Time-Stretch A Loop To Tempo Source: https://docs.sampler.meiji.industries/recipes/time-stretch-a-loop-to-tempo Match one source loop to the timing of the current session using Meiji Sampler's time-stretch engine. # Time-stretch a loop to tempo ## What this recipe is for Use this when a loop has the right vibe but the wrong length for the current session. The goal is not mathematical perfection for its own sake. The goal is getting the loop to sit inside the groove. ## How time-stretch works Meiji Sampler uses Signalsmith Stretch, a formant-preserving spectral stretcher, to change the duration of a loop without shifting its pitch. The stretch is applied as a pre-processing step. The result is cached so playback stays lightweight. The supported stretch ratio range is `0.25x` to `4.0x` (quarter speed to quadruple speed). Ratios near `1.0x` (within about 1%) are treated as no-ops to avoid unnecessary processing. ## Steps Record or confirm the loop that should define the groove. This is the timing reference that the stretched loop will match. Assign the out-of-tempo sample to a channel. In the mixer, navigate to the stretch source control for the channel. Select the channel whose timing you want to match. Meiji Sampler calculates the ratio automatically based on the two loops' lengths. Play both channels together. The stretched loop should lock to the reference. If it drifts, check that the source loop length is accurate. Stretch quality depends on the input material being correctly trimmed. Small imperfections can still feel better than perfect alignment. Trust your ears over the numbers. ## Tips * **Melodic and vocal material** stretches cleanly at moderate ratios. Extreme ratios (below `0.5x` or above `2.0x`) can introduce artifacts on any material. * **Percussive loops** may sound softer at high stretch ratios because transients get spread. Consider using a separate unprocessed layer for attack. * **Cached results** are stored on disk. Changing the stretch source or ratio regenerates the cache automatically. If you ever hear stale audio after an update, the cache invalidates itself on launch. * **Channel Detail warms stretched audio.** After changing Loop values, dismiss Channel Detail, for example with `[ESC]`, to begin warming before playback. Sync changes wait one second before warmup starts and show `Stretching` beside the Sync control while the cache updates. * **Transport waits for cold stretched audio.** If a cued loop or scene needs synced audio that is still warming, Meiji Sampler holds transport at `warming synced audio…` and starts once the stretched buffer is ready, so the first beat lands on time. ## What good looks like You should hear the stretched loop land with the session rather than leaning ahead or dragging behind it. ## Related pages * [Quantization And Swing](/guides/quantization-and-swing) * [Effects And Parameters](/reference/effects-and-parameters) * [Audio And Playback Problems](/troubleshooting/audio-and-playback) * [Quantization And Swing: Project Tempo](/guides/quantization-and-swing#project-tempo) # Turn A Long Sample Into A Playable Kit Source: https://docs.sampler.meiji.industries/recipes/turn-a-long-sample-into-a-kit Use trim, chop, and performance testing to turn one long source into a playable instrument. # Turn a long sample into a playable kit ## What this recipe is for Use this when one long sample already contains enough material to become its own mini kit. This works especially well for breaks, live recordings, percussion passages, vinyl pulls, and phrase-heavy melodic samples. ## Steps Start with the source on one channel so you can hear the full recording in context before you cut it apart. Clean the start and end before chopping. Better source boundaries make every later decision easier. Favor fewer, more intentional slices that give you distinct roles: main hit, accent, answer, turnaround, texture. Trigger the chops and play a few rhythms. If the slices are not fun to perform, refine the chop points before you record anything. Capture a loop or phrase from the slices. This is the moment the sample stops being source material and starts being part of the track. ## What good looks like You should come away with: * a small set of slices with different musical jobs * a sample that feels performable from the keyboard * a phrase or loop that proves the kit is actually usable ## Related pages * [Chopping And Slicing](/guides/chopping-and-slicing) * [Chop A Break Into Playable Pads](/recipes/chop-a-break-into-pads) # Use PerformFX In A Live Set Source: https://docs.sampler.meiji.industries/recipes/use-performfx-in-a-live-set Use the Perform tab for transitions, tension, and release without juggling several controls at once. # Use PerformFX in a live set ## What this recipe is for Use this when the set needs movement, tension, or punctuation, but you do not want to manually ride the mixer the whole time. Good PerformFX use is sparse and confident. The point is to shape moments, not smear effects over everything. ## Steps Press `[TAB]` until Perform is active when PerformFX is enabled. Start with one repeat, one Airwindows delay or reverb throw, one filter-style effect, and one obvious transition or volume-drop move. A small set is easier to play musically. Pick the bank and quantize mode that match the tempo and the kind of transitions you want to make. Tighter quantization feels more controlled. Looser timing feels more aggressive. Practice the effects on a loop or scene that is already solid. Learn how each move enters and exits before you trust it live. Use the effects to set up drops, transitions, or exits. If you trigger them constantly, they stop feeling special. If the texture gets out of hand, press `[SHIFT+K]` to kill all active PerformFX and return to the dry groove immediately. ## What good looks like The best outcome is not "more FX." It is: * cleaner transitions * more tension before a drop or section change * a stronger sense that the performance is being played, not just looped ## Related pages * [PerformFX](/guides/performfx) # Effects And Parameter Reference Source: https://docs.sampler.meiji.industries/reference/effects-and-parameters Reference ranges, defaults, and intended behavior for channel-level sound shaping. # Effects and parameter reference This page documents the main channel-level sound controls in Meiji Sampler. ## Channel defaults | Parameter | Default | Typical meaning | | -------------- | ------------ | -------------------------------------------------------------- | | Gain | `1.0` | neutral level | | Saturation | `0.0` | no added drive | | Pan | `0.0` | center | | Width | `0.0` | neutral stereo width | | Pitch | `0.0` | no pitch shift | | HPF | `20.0 Hz` | effectively off for most material | | LPF | `20000.0 Hz` | effectively open | | Reverb | `0.0` | dry | | Offset | `+0ms` | no trigger delay | | ASR-10 Boost | `Off` | no boost processing | | Duck source | `None` | disabled | | Duck amount | `1.5` | moderate ducking | | Duck ratio | `6.0` | medium-strong compression ratio | | Duck threshold | `0.05` | fairly sensitive trigger | | Duck attack | `0.0025 s` | fast response | | Duck release | `0.26 s` | moderate recovery | | SP1200 Filter | `Off` | Off / Unfiltered (7 & 8) / Filtered (1 & 2) / Filtered (3 & 4) | ## Core tone controls ### Gain * documented range in product copy: `0.0x` to `2.0x` * default: `1.0` Use it to set basic channel level before deeper processing. ### Saturation * default: `0.0` Adds harmonic density and edge. Useful for warming drums or pushing a sound forward. ### Pan * range: left to right * default: center Use pan to separate elements that compete in the same frequency range. ### Width * default: neutral Controls stereo spread. Use carefully on material that already has strong stereo information. ### Pitch * product copy range: about `+/-15%` * default: `0.0` Useful for quick tuning, character changes, and time-feel variation. ## Filters Both filters use a 6th-order Butterworth design inspired by the Akai S950's MF6-50 switched-capacitor filter. The implementation cascades three biquad sections (Direct Form II Transposed) with the Butterworth Q factors, producing a maximally flat passband and a steep 36 dB/octave rolloff. At the cutoff frequency the signal is attenuated by exactly -3 dB; below that point the response is virtually flat, and above it the slope falls away sharply. Cutoff changes are smoothed in the log-frequency domain with a 5 ms time constant, so sweeping the filter produces no zipper noise or clicking. This matches the behavior of the S950's clock-tracking hardware filter. In 1988, Akai tucked a National Semiconductor MF6-50 into the S950 and accidentally changed music forever. The MF6-50 was a switched-capacitor filter. Instead of traditional resistors, it used tiny capacitors flipping on and off thousands of times a second, their cutoff frequency slaved to whatever clock you fed them. Akai wired that clock directly to the DAC playback rate through an Intel 8254 timer, so pitching a sample down would drag the filter cutoff with it. No software, no interpolation, just raw analog tracking. The result was a 6th-order Butterworth wall: maximally flat until the cutoff point, then a 36 dB/octave cliff. Producers in Queens and East London figured out that if you sampled a record hot, the preamp would soft-clip and the filter would round the top end off in exactly the right way. That crunch became the backbone of golden-era hip-hop, jungle, and early house. The math hasn't changed since. Three cascaded biquad sections, Q factors of 0.518, 0.707, and 1.932, now running in floating point instead of silicon. ### HPF * range: `20 Hz` to `2000 Hz` * default: `20 Hz` The high-pass filter removes low-frequency content. Use it to clean mud, carve space for a kick, or build tension by thinning a sound before a drop. ### LPF * range: `200 Hz` to `20000 Hz` * default: `20000 Hz` The low-pass filter removes high-frequency content. Use it to darken sounds, create lo-fi textures, or shape transitions. Sweeping the LPF down mimics the classic muffled-sample sound of vintage hardware samplers. ## Reverb * default: `0.0` Reverb adds space and depth using Airwindows CreamCoat behind the existing channel control. The saved `0.0` to `1.0` value maps directly to CreamCoat Wetness rather than a linear dry/wet crossfade, so higher values add more ambience without treating `50%` as half-dry. Use sparingly on already dense material so it does not blur transients. ## PerformFX Airwindows presets PerformFX includes selected Airwindows DSP compiled directly into Meiji Sampler. These are built-in performance presets, not loadable external plugins. PerformFX slots include shared Engage, Quantize Start, Quantize End, Sync, Attack, Release, One Shot, PreGain, and Wet settings in FX Params; tail-capable presets also expose Tail, echo/delay presets expose Throw, and One Shot `On` reveals Length while hiding Quantize End because Length owns the end timing. Engage can be `Smart Hold`, `Hold`, `Toggle`, or `Always On`; `Always On` activates the assigned slot automatically, ignores trigger/release presses, ignores One Shot auto-release, and stays active until the slot is cleared or changed. Sync controls Attack, Release, and one-shot Length timing. `Time (ms)` uses explicit millisecond values, with one-shot Length available up to `20,000 ms`. `Tempo (beats)` lets Length use beat divisions from `1/64` through `4 Bars`, including `1/16T`, `1/8T`, `1/4T`, and `1/2T`, against the effective project tempo; Attack and Release can use those same fixed values or `Grid`, which follows the slot's current Grid division. Most presets default to `Time (ms)`; Filter Sweep Up and Filter Sweep Down default to `Tempo (beats)` with Attack set to `Grid` and Release set to `1/4`, while Cap Sweep defaults to `Tempo (beats)` with a `1 Bar` Attack/Release sweep. One Shot defaults to `Off`; when set to `On`, Length controls the total time the slot stays engaged before auto-release, including Attack and Release, so gestures such as Filter Sweep Up can complete without holding the trigger. Active one-shot slots show the remaining Length as milliseconds for `Time (ms)` sync or as the remaining beat count for `Tempo (beats)` sync. Quantize Start controls when an effect engages. Quantize End controls when manual disengagement is released when One Shot is `Off`, using the same Off, Current Grid, Next Grid, Next Bar, and Next 2 Bars values; pending end-quantized releases keep the slot labelled active and show a countdown such as `ACTIVE: 1000ms` until the release boundary. Tail controls transport-stop behavior: `Cut` uses the normal fast kill fade, while `Ring Out` releases the effect so tail-bearing echoes, delays, and reverbs continue decaying; echo and delay tails retire once they become sensibly inaudible. Echo, delay, throw, and reverb presets default to `Ring Out`; gates, filters, repeats, brakes, ducking, and utility gestures hide Tail and use the `Cut` behavior. Echo and delay presets also expose Throw: `Off` feeds live input normally, while `1/64` through `4 Bars` feeds only that tempo window into the delay before switching the effect output to wet-only repeats. Each PerformFX bank also has a visible Quantize Bank row label; `Default` uses every slot's saved Quantize Start value, while Current Grid, Next Grid, Next Bar, and Next 2 Bars force that bank to the selected start timing mode. DJFX Looper is marked with `★` as the recommended loop-repeat path and defaults to Current Grid. Build Gate, Half Gate, Gate Filter, and Digital Gate default to Current Grid and lock gate phase to the active slot division instead of restarting at the press point; their Offset parameter shifts that grid-locked phase. PreGain applies before the selected effect processor and defaults to `0 dB` for most presets. Loud, aliasy, or smashed presets default to `-6 dB`: ASR10 Boost, Bit Glitter, Derezzed, and Block Limiter. Color and saturation presets default to `-3 dB`: Vinyl Sim, Iron Oxide, Dusty Vinyl, Pocket Lofi, Crunchy Wear, and the SP-404MKII VinylSim, Crusher, Overdrive, Distortion, Gt Amp Sim, WrmSaturator, Cassette Sim, and Lo-fi hardware-port presets. Wet sets the slot's dry/wet ceiling from `0%` to `100%` in `5%` steps, or uses the selected preset's default when it shows `Default`. FX Params exposes typed controls for every built-in preset parameter that affects the current engine: filter cutoff/resonance, SP1200 channel and 45RPM, ASR10 Boost level, Beat Repeat feedback LPF, Dusty Vinyl crackle, Vinyl Sim amount/noise/flutter/drive, Halftime speed/resync, echo feedback, reverb size/decay/pre-delay, gate duty/depth/offset, flanger/chorus/ensemble rate/depth/feedback, AutoPan rate/depth, dub siren oscillator/LFO-shape/pitch-sweep controls, duck levels, Digital Blackout target level, and a Brake Curve on every tape-stop-backed preset. Brake Curve is a `0`–`1` knob that reshapes the pitch dive from a hard, punchy snap at low values, through a constant-torque vinyl brake, up to a long, lazy reel spin-down at high values; Tape Stop defaults to the eased tape curve while Motor Kill, Vinyl Brake, Stopper, and RMX Vinyl Brake default to the faster vinyl curve. Curve edits take effect on the next trigger, so an in-flight brake never jumps. PerformFX reverb presets keep the dry signal at unity and behave like send-style throws; stopping transport with `Tail: Ring Out` stops new input from entering the reverb while the existing tail continues. Halftime captures the active slot division at trigger time, wraps inside that captured phrase, and crossfades the phrase boundary with click-free raised-cosine fades; playback uses smooth 4-point interpolation with a speed-tracking low-pass so the slowdown sounds analog rather than stair-stepped. Queued quantized PerformFX slots show a millisecond countdown until activation. Transport stop clears PerformFX engagement; slots set to `Tail: Cut` stop with the normal fast fade, while tail-bearing echo, delay, and reverb slots set to `Tail: Ring Out` continue decaying after playback stops. Echo tails are retired once a full delay cycle renders below the inaudible threshold, so bounces do not keep unnecessary quiet tail time. Airwindows-backed preset families include: * space: Room Verb, Hall Throw, Cathedral, Plate Throw, Retro Verb, Bright Room, Infinite Space * delay: Dub Echo, Ping Pong, Tape Echo, Space Echo, Pitch Echo, Four Tap Echo, Double Delay * modulation: Tube Tremolo * color: Vinyl Sim, Tape Warmth, Iron Oxide, Dusty Vinyl, Pocket Lofi, Bit Glitter, Derezzed, Crunchy Wear * DJ FX: DJ Isolator, Cap Sweep, Beat Surge, Block Limiter * pitch and siren throws: Glitch Shift, Nasty Pitch, Air Raid Echo, Benidub Air Raid The exact channel HPF, LPF, SP1200, ASR-10 Boost, ducking, pan, width, S950-style filter behavior, Motor Kill, Digital Blackout, Tape Stop, Gate Filter, Digital Gate, DP4 Lush, Daft Flanger, Stereo Chorus, Ensemble Wash, AutoPan, Room Verb, Hall Throw, Bright Room, and Infinite Space controls keep internal engines and grid-locked, phase-stable, or tail-aware semantics. Daft Flanger is a resonant swept-comb flanger; DP4 Lush, Stereo Chorus, and Ensemble Wash are now true dual-line BBD-style choruses (anti-phase stereo, no comb filtering) rather than low-feedback flangers; AutoPan uses an equal-power pan law so movement does not collapse the dry level. Room Verb is tuned as a subtler short-room gesture, Bright Room uses the controlled internal room engine for a more audible short ambience, and Infinite Space uses a lower-gain large internal wash. Hall Throw keeps a longer throw tail when transport stops with `Tail: Ring Out`. Digital Blackout is the hard-mute gesture; Motor Kill is a real deck brake that pitch-dives the master to silence over about 200 ms with a constant-torque vinyl curve, then recovers through the normal envelope on release. Tape Stop and Vinyl Brake both slow the audio to a true terminal stop — the playback rate reaches exactly zero rather than crawling at a floor — and continue seamlessly from the moment you trigger them. As they slow, highs roll off naturally (emulating tape-head HF loss) so the dive sounds analog instead of aliased, and the final stop fades to silence with no click. Tape Stop uses an eased reel spin-down curve with a longer default release so playback eases back in after the slowdown; Vinyl Brake defaults to `1/4`, uses a constant-torque brake curve that dives faster into the stop, and keeps the quicker release-FX-style restart. Both — along with the SP-404MKII Stopper, RMX-1000 Vinyl Brake, and Motor Kill — now expose a Brake Curve control in FX Params so you can dial the stop from a hard snap to a long eased spin; the change applies to the next stop rather than the one in progress. New Airwindows PerformFX presets sit alongside them for live gestures. ## Turntablism preview reference The [Turntablism PerformFX Reference](/guides/turntablism/index) documents all 20 Turntablism FX Library effects and all 101 preview permutations. Each preview includes effective Pattern, Motion, Rate, Gate, Swing, Humanize, and division values, an exact-humanized TTM diagram, and synchronized `ahh.wav` / `fresh.wav` examples. ## PerformFX hardware-port presets PerformFX includes hardware-port presets for the Roland SP-404MKII and Pioneer RMX-1000 effect catalogs. These keep the original effect names in the FX Library and route to the closest current Meiji Sampler DSP path while exposing hardware-style editable parameters in FX Params. Presets that share an engine are individually voiced rather than identical. Each delay/echo port has its own feedback and repeat-brightness character (clean Sync Delay, echo-y Ko-Da-Ma, smooth TimeCtrlDly, band-colored BPF/HPF/LPF Echo, rising Spiral Up vs. sinking Spiral Down, washy Cloud Delay); the 303 and 404 VinylSim ports carry distinct defaults; and the reverbs (Reverb, SX Reverb, Reverb Up, Reverb Down) use their own sizes and decay times. **Crusher** and **Lo-fi** are true digital degradation, not vinyl simulation. Crusher runs a pre-FILTER low-pass, sample-**rate** reduction (higher RATE holds each sample longer, down to roughly 2 kHz), and a dry/wet BALANCE. Lo-fi adds a nine-step LOFI TYPE ladder pairing lower sample rates with lower bit depths, a TONE tilt, and a post-CUTOFF low-pass. The **Equalizer** is a real three-band EQ (low shelf, mid bell, high shelf, ±15 dB per band); the **Isolator** and RMX-1000 **Cut/Add** share that engine with a deep-cut "kill" range so a band can be removed entirely. **Wah** and **Super Filter** are real swept resonant filters, not a static high-pass. Wah is a resonant band-pass whose cutoff wobbles cyclically: PEAK narrows the band (more quack), MANUAL sets the centre frequency, DEPTH sets how far the sweep travels, and RATE sets the cycle — free-running or tempo-locked when SYNC is `On`. FLT TYPE selects LPF (wide) or BPF (narrow). Super Filter sweeps the same way but with an extremely sharp two-stage slope: CUTOFF sets the centre, RESONANCE the emphasis, DEPTH and RATE the cyclic motion (SYNC `On` by default), and FLT TYPE selects LPF, BPF, or HPF. Both sweep in log-frequency space, so the excursion above and below centre is symmetric in octaves. **Chorus** and **JUNO Chorus** are true dual-line BBD-style choruses, not a flanger. Each channel runs a short modulated delay (no feedback, so there is no stationary comb filter — the old routing "sounded like a flanger"), the two channels' LFOs run in anti-phase for a wide stereo image (the JUNO-106 inverts one of its two chorus outputs), and the wet path is darkened like a bucket-brigade device. Chorus exposes DEPTH, RATE (0.33–2.30 s cycle), BALANCE, EQ LOW/HIGH (±15 dB shelves), and NOISE (BBD hiss). JUNO Chorus models the Roland JUNO-106 / JX sections: MODE selects JUNO 1, JUNO 2, JUNO12, JX-1 1, or JX-1 2 (each with its own LFO character), with NOISE and BALANCE, at the hardware's fixed 50/50 mix. **Phaser** is a real four-stage allpass-cascade phaser (swept notches that are not harmonically spaced), not a flanger comb: DEPTH sets the sweep span, MANUAL the centre, RESONANCE the feedback emphasis, RATE the cycle (tempo-locked when SYNC is `On`), and BALANCE the mix. The plain **Flanger** remains a resonant swept-comb flanger. **Overdrive**, **Distortion**, **WrmSaturator**, and **Gt Amp Sim** are a real drive family, not the vinyl simulator they previously shared. Each uses antiderivative-antialiased shaping and is loudness-matched at its default drive. Overdrive is a soft, warm push (DRIVE / TONE / BALANCE / LEVEL); Distortion is harder with a tight low end (same controls); WrmSaturator spans up to 48 dB of drive with independent ±24 dB Eq LOW / Eq HIGH shelves (DRIVE / Eq LOW / Eq HIGH / LEVEL); Gt Amp Sim runs a two-stage amp voicing with a BASS/MIDDLE/TREBLE stack and a six-way AMP TYPE (JC, TWIN, BG, MATCH, MS, SLDN — amp-voiced approximations, not model-accurate). **Cassette Sim** is a dedicated worn-cassette engine, not a flanger: its wow/flutter warbles the pitch of the whole signal instead of comb-filtering a delayed copy, with TONE, HISS, AGE (0–60 years of high-end loss), DRIVE, WOW FLUT, and CATCH (occasional tape-stretch pitch sags). **Back Spin** (and RMX-1000 Release Back Spin) wheels the record backward from the current beat instead of playing a forward tape stop: it snapshots the audio that just played and spins it in reverse, accelerating from a standstill to a fast reverse spin. SPEED sets how hard the spin is; LENGTH rides the division. The spin-up and terminal stop are click-free. **Tremolo/Pan** is a smooth cyclic LFO tremolo/panner, not a hard duty-cycle gate. TYPE picks TRE (equal-power amplitude) or PAN (equal-power L/R that preserves the stereo image), WAVE offers TRI/SQR/SIN/SAW1/SAW2/TRP with click-free edges, DEPTH sets the amount, and RATE runs free or tempo-locked with SYNC. **Ring Mod** is a true ring modulator (`input × carrier`), not a standalone siren: FREQUENCY sets the carrier (30 Hz–4 kHz), SENS lets input level push the carrier, POLARITY flips that push, BALANCE mixes dry/wet, and EQ LOW/HIGH shelve the modulated signal (±15 dB). **Slicer** runs the gate's 16-step pattern mode: PATTERN selects one of twelve curated grooves, DEPTH cuts off-steps, SHUFFLE delays even steps, and MODE picks LEGATO or SLASH; other gate ports keep duty-cycle mode. **Zan-Zou** is a multi-tap echo (MODE 2TAP / 3TAP / 4TAP) that taps the delay line at successive intervals with alternate taps phase-inverted and each successive tap darker. **Downer** and **To-Gu-Ro** are cyclic speed effects, not a one-shot tape stop and a flanger. Downer ramps the playback speed down each RATE period then snaps back (DEPTH / RATE / FILTER / PITCH / RESONANCE; PITCH `On` holds the pitch steady while the filter and level still cycle); To-Gu-Ro undulates the speed sinusoidally (DEPTH / RATE / RESONANCE / FLT MOD / AMP MOD / SYNC). Both track a resonant filter to the speed; read-position lag is crossfaded back to the live head each cycle so it never drifts. SP-404MKII ports include: | Family | Original names | | ---------------------- | ----------------------------------------------------------------------------------------------------------- | | Filters and tone | Filter+Drive, Resonator, Isolator, SBF, Super Filter, WrmSaturator, Equalizer, Compressor | | Delay and space | Sync Delay, Ko-Da-Ma, Zan-Zou, Tape Echo, TimeCtrlDly, Reverb, SX Reverb, SX Delay, Cloud Delay, DJFX Delay | | Vinyl and lo-fi | 303 VinylSim, 404 VinylSim, Cassette Sim, Lo-fi, Crusher, Overdrive, Distortion | | Motion and performance | DJFX Looper, Scatter, Downer, Ha-Dou, To-Gu-Ro, Stopper, Back Spin, Slicer, Tremolo/Pan | | Modulation and pitch | Chorus, JUNO Chorus, Flanger, Phaser, Wah, Chromatic PS, Hyper-Reso, Ring Mod | | Input FX | Gt Amp Sim | RMX-1000 ports include: | Section | Original names | | ---------- | ----------------------------------------------------------------------------------------------------- | | Scene FX | BPF Echo, Echo, Noise, Spiral Up, Reverb Up, HPF Echo, LPF Echo, Crush Echo, Spiral Down, Reverb Down | | Isolate FX | Cut/Add, Trans/Roll, Gate/Drive | | X-PAD FX | Roll, X-Pad Kick, X-Pad Snare, X-Pad Clap, X-Pad Hi Hat, Sampler | | Release FX | Vinyl Brake, Release Echo, Release Back Spin | Hardware-port parameter sets use the `plugin` effect-params family internally so each port can preserve controls that do not map one-to-one to a native Meiji Sampler effect. Common controls include Ctrl 1-6 for SP-404MKII MFX, Cutoff/Resonance/Drive for filter-style ports, Time/Feedback/Level for delay-style ports, Low/Mid/Hi for RMX isolate-style and Equalizer ports, Filter/Rate/Balance for Crusher, Pre Filt/Lofi Type/Tone/Cutoff/Balance for Lo-fi, Peak/Rate/Manual/Depth/Flt Type/Sync for Wah, Cutoff/Resonance/Flt Type/Depth/Rate/Sync for Super Filter, Depth/Rate/Balance/EQ Low/EQ High/Noise for Chorus, Mode/Noise/Balance for JUNO Chorus, Depth/Rate/Manual/Resonance/Balance/Sync for Phaser, Drive/Tone/Balance/Level for Overdrive and Distortion, Drive/Eq Low/Eq High/Level for WrmSaturator, Amp Type/Drive/Level/Bass/Middle/Treble for Gt Amp Sim, Tone/Hiss/Age/Drive/Wow Flut/Catch for Cassette Sim, Speed for Back Spin, Depth/Rate/Type/Wave/Sync for Tremolo/Pan, Frequency/Sens/Balance/Polarity/EQ Low/EQ High for Ring Mod, Pattern/Depth/Shuffle/Mode/Sync for Slicer, Mode/Feedback for Zan-Zou, Depth/Rate/Filter/Pitch/Resonance for Downer, Depth/Rate/Resonance/Flt Mod/Amp Mod/Sync for To-Gu-Ro, Scene FX/Sub Param 1/Sub Param 2 for RMX Scene FX, and Release Lever/Range/Hold Previous FX for release-style gestures. ## Playback offset | Parameter | Default | Range | Step | | --------- | ------- | ------------------ | ----- | | Offset | `+0ms` | `+0ms` to `+100ms` | `1ms` | Offset delays the start of pad and chop playback for one channel. It behaves like inserting silence before the sample starts, but it does not change the sample file, trim points, chop markers, or recorded loop event timing. Offset is applied before the channel's normal audio processing. The delayed sound still goes through Gain, Sat, ASR-10 Boost, Duck, Pan, Width, Pitch, SP1200, filters, and Reverb. For looped samples, Offset delays only the initial trigger. Once the loop starts, the repeated audio cycles at the original loop length instead of adding the offset again on every pass. Linked pads keep independent Offset values. If channel 1 links to channel 2, channel 1 plays with channel 1's Offset and channel 2 plays with channel 2's Offset. The linked target does not inherit the source channel's Offset. Examples: | Setup | Result | | ---------------------------------------- | ---------------------------------------------------------- | | Source snare `+0ms`, linked clap `+12ms` | Clap lands after the snare for a loose backbeat | | Source kick `+0ms`, linked sub `+0ms` | Both layers stay locked together | | Source hat `+0ms`, linked shaker `+20ms` | Shaker trails the hat while the loop event remains on-grid | | Chop on channel 4 with Offset `+7ms` | Every chop hit on that channel starts 7 ms later | Offset is useful when quantization is too clean. Add small delays to selected layers to create swing, flam, and human timing differences while keeping the recorded pattern easy to edit. ## ASR-10 Boost * values: `Off` / `Lo` / `Mid` / `Hi` * default: `Off` ASR-10 Boost is a vintage signal chain modeled after the Ensoniq ASR-10's hardware Boost function. It applies three stages of processing in series at three intensity levels: | Level | Gain | Character | | ----- | ------ | -------------------------------------------- | | Lo | +4 dB | Subtle warmth and harmonic richness | | Mid | +8 dB | Moderate saturation, the classic ASR-10 feel | | Hi | +12 dB | Aggressive, original hardware level | All three levels share the same DSP chain: 1. **Digital excitation**: gain followed by tape-style hysteresis saturation. This adds even-order harmonics and warmth without harsh digital clipping. 2. **Soft-knee limiting**: an exponential soft-clip stage that compresses peaks while adding density. Prevents output from exceeding bounds. 3. **Analog output filter**: a single-pole low-pass at 18 kHz that rounds off digital edges, emulating the analog reconstruction filter of the original hardware. The result is a louder, warmer, denser version of the source material. Useful for drums, bass, vocals, and any channel that needs presence and weight. ASR-10 Boost sits after Saturation and before Ducking in the signal chain: `Gain → Sat → ASR-10 Boost → Duck → Pan → Width → Pitch → HPF → LPF → Reverb` Cycle through levels with `Left`/`Right` in Channel Detail. Reset with `R` or `Delete`. **A brief history of the Boost button.** In 1992, Ensoniq shipped the ASR-10 with a curious front-panel toggle labeled simply "Boost." Behind that one switch sat the OTTO ES5506 wavetable chip pushing samples through a fixed gain stage, an onboard ESP effects processor acting as a brick-wall limiter, and a pair of 18 kHz reconstruction filters on the analog output board. The combination was never meant to be a "sound design tool." It was a last-resort loudness hack for live performers who needed their kit to cut through a PA. But producers quickly discovered that slamming drums and bass through Boost gave them a crunchy, glued, larger-than-life character that no plugin could quite replicate. The sound became synonymous with golden-era hip-hop. DJ Premier, Pete Rock, and RZA all leaned on it heavily. To this day, people still hunt down working ASR-10 units on eBay just for that button. Now it lives in your terminal. ## Ducking Ducking is channel-specific and depends on selecting another channel as the source. Persisted parameters: * source channel * amount * ratio * threshold * attack * release Use ducking for: * kick/bass separation * rhythmic pump * creating movement without muting ## Time-stretch Time-stretch changes a loop's duration without shifting its pitch. It uses Signalsmith Stretch, a formant-preserving spectral stretcher suited to melodic, vocal, and mixed material. | Parameter | Value | Notes | | -------------------- | ------------------------ | --------------------------------------------------------------------------- | | Ratio range | `0.25x` – `4.0x` | quarter speed to quadruple speed | | Near-unity threshold | `< 1%` deviation | ratios within \~1% of `1.0` are treated as no-ops | | Channels | mono or stereo | channels > 2 pass through unprocessed | | Processing mode | pre-processed and cached | not real-time; result is written to disk cache | | Cache schema | `v4` | legacy cache entries from older versions are purged automatically on launch | Stretch is configured per-channel by selecting a stretch source — the channel whose timing the current channel should match. The ratio is derived from the relative loop lengths. Channel Detail Sync changes wait one second before warming stretched audio; if you change Sync again during that window, only the latest value is warmed. ## Linked pad trigger | Parameter | Default | Range | | ----------- | ------- | ---------------------------------- | | Link target | `Off` | Off, or any other assigned channel | When a linked pad target is set, triggering the source channel also triggers the target channel. This applies to both live pad hits and loop-sequenced playback. Only the source channel's events are recorded into loops — the linked target fires as a side effect. The link control is hidden when no file is assigned to the source channel. The target must also have an assigned sample for the secondary trigger to fire. ## Choke groups | Parameter | Default | Range | | ----------- | ------- | ----------------------------- | | Choke group | `Off` | Off, Group 1 through Group 10 | Channels in the same choke group are mutually exclusive — triggering one stops all others in the group that are currently playing. The choke fires before playback starts, so the newly triggered pad always sounds. Choke groups are always visible in Channel Detail, even without a file assigned. ## SP1200 Filter | Parameter | Default | Range | | ------------- | ------- | --------------------------------------------------------------------------------- | | SP1200 Filter | `Off` | Off / Unfiltered (7 & 8) / Filtered (1 & 2) / Filtered (3 & 4) / Filtered (5 & 6) | SP1200 Filter selects between four output styles from the original E-mu SP-1200 hardware. All active settings run the shared DSP chain with different output filtering: an 11.07 kHz input anti-alias filter, tape saturation, 12-bit quantization, and a 26.04 kHz multiplexed DAC and sample-and-hold stage. ### Unfiltered (7 & 8 Style) No output filter. Raw SP-1200 character from the shared anti-alias, saturation, quantization, and DAC/S\&H stages only. ### Filtered (1 & 2 Style, SSM2044 dynamic VCF) 4-pole (24 dB/oct) ladder filter with resonant "squelchy" character and an 8-bit-stepped cutoff envelope. The envelope opens to roughly 11.5 kHz on attack (\~5 ms), then decays toward roughly 800 Hz. A small amount of upper-band bleed remains around the ladder so the imaging band does not disappear completely. Best for snares, hi-hats, and melodic content. ### Filtered (3 & 4 Style, fixed LPF) Active multi-pole low-pass filter centered around 9 kHz with no envelope. Rolls off highs aggressively to isolate bass and kick content. Best for low-end sounds where you want a darker, thicker tone. ### Filtered (5 & 6 Style, gentle fixed LPF) Gentle active low-pass filter in the upper treble with no envelope. It is much subtler than 3 & 4 and is meant to trim the sharpest edge while preserving presence and air. Best for pads, chords, melodic loops, and mid-range percussion where some top-end life matters. ### Common DSP stages All active styles share these processing stages: 1. **Tape saturation**: Jiles-Atherton hysteresis model adding harmonic warmth 2. **12-bit quantization**: reduces sample depth to 4,096 discrete levels 3. **26.04 kHz DAC and sample-and-hold stage**: sample-rate reduction plus switching artifacts that create the SP-1200 imaging band All active styles also apply an **11.07 kHz input anti-alias filter** before those three stages. SP1200 processing sits after pitch in the per-channel effect chain, so pitch shifting changes the frequency content before the SP-1200 emulation processes it. This matches the real hardware, where the playback clock rate (pitch) fed into the DAC and output filter. Filters, reverb, and other post-pitch controls come after SP1200. The selector is located in the **Character** section of Channel Detail. ## Sync and stem state Additional channel state includes: * sync multiple, shown under **Loop & Stretch** when Loop is on. With detected loop BPM and a session clock, it includes the effective post-sync BPM. Explicit filename BPM tags can supply the source tempo for trimmed loop regions when the trim length fits a normal bar count. * selected stem * playback offset * mute * solo * linked pad target * choke group * optional channel name override * optional color override ## Related pages * [Mix](/learn/mix) * [Mixer And Effects](/guides/mixer-and-effects) * [Set Up Sidechain Ducking](/recipes/set-up-sidechain-ducking) * [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo) * [Audio And Playback Troubleshooting](/troubleshooting/audio-and-playback) # Error Messages Source: https://docs.sampler.meiji.industries/reference/error-messages Interpret the main user-facing failure categories in Meiji Sampler and where to recover. # Error messages Meiji Sampler surfaces many failures as short UI status messages, confirmations, or logged operation errors rather than one centralized error catalog. This page groups the important user-facing error classes so you know where to look next. ## Common failure categories | Category | Typical symptom | Go here next | | --------------------- | -------------------------------------------------- | -------------------------------------------------------------------------- | | Audio output | no sound, crackles, device init failure | [Audio And Playback Problems](/troubleshooting/audio-and-playback) | | Audio input | input device unavailable, recording init failure | [Audio And Playback Problems](/troubleshooting/audio-and-playback) | | Project save/load | failed save, corrupt project, backup recovery | [File And Project Problems](/troubleshooting/files-and-projects) | | Splice | open/search/download failures | [Splice And Network Problems](/troubleshooting/splice-and-network) | | MIDI | mapping save failure, device/monitor issues | [MIDI And Sync Problems](/troubleshooting/midi-and-sync) | | PerformFX/config save | config save failures after binding/profile changes | [Performance And System Problems](/troubleshooting/performance-and-system) | ## File recovery behavior When a state or project file is corrupt, Meiji Sampler may attempt backup recovery from a `.bak` file. That is usually the first recovery path rather than an immediate hard failure. ## Bounce/export errors Bounce failures usually come from: * invalid output path * file creation failure * video generation cancellation or downstream failure Check: * the target folder exists and is writable * export settings are sensible * there is enough disk space ## Recording/input errors Input failures typically mean: * no usable input device is available * the selected device or channel is invalid * the device changed after the app opened ## Config save failures Some features save preferences immediately after changes, including: * MIDI mappings * PerformFX bank/profile changes * settings updates If these saves fail, your change may work temporarily in-session but not persist after restart. ## Best recovery approach Do not treat this page as a final answer. Use it to route yourself to the correct troubleshooting page. # FAQ Source: https://docs.sampler.meiji.industries/reference/faq Frequently asked questions about Meiji Sampler. A keyboard-first sampler and groovebox that runs in your terminal. Browse samples, assign them to pads, record loops, arrange scenes, and mix — all without touching a mouse. Beatmakers and producers who want a fast, distraction-free sampling workflow. Two constraints — ditch the mouse and embrace the terminal — and the creative focus that comes with them. Yes. Meiji Sampler is free during early access. Advanced features and services may be available to Pro users in the future — the free version is designed to cover everything you need to make incredible music. **Speed:** Keyboard shortcuts and fuzzy search get you to sound fast. **Focus:** No menus, no toolbars, no visual noise — just pads and audio. **Feel:** The workflow mirrors hardware (Arm → Record → Play), so it plays like an instrument. There's a short learning curve — keyboard shortcuts replace menus and toolbars. Start with [Make Some Noise](/start-here/make-some-noise) and then move into [Learn](/learn/index). **macOS**, **Windows**, and **Linux** are all official targets. macOS is the primary supported platform and the most stable day to day; on Linux, stability can depend on your audio backend and terminal setup. On macOS, download the DMG from [sampler.meiji.industries](https://sampler.meiji.industries) or install with: ```bash theme={null} curl -fsSL https://sampler.meiji.industries/install.sh | bash ``` See the [Installation guide](/start-here/installation) for details. WAV, AIFF, AIFF-C, MP3, AAC, M4A, FLAC, OGG, ALAC, and CAF. Yes. Point it at any folder and use flat mode + fuzzy search to dig deep across directories. Factory packs are also available to get you started. The core sampler runs entirely on your machine. Some features like updates and login need internet, but your samples stay local and you can make music offline. No. All audio stays on your machine — nothing is uploaded. Yes. See [Chopping And Slicing](/guides/chopping-and-slicing) for the current slicing workflow. Yes. See [Sampling From Audio Input](/guides/sampling-from-audio-input) for the current recording flow. Yes. See [Exporting And Bouncing](/guides/exporting-and-bouncing) for the current export flow. Scenes are arrangements of loops that can be cued and switched to build a full song structure. See [Scene](/learn/scene). Yes. See [Mix](/learn/mix) and [Mixer And Effects](/guides/mixer-and-effects). Yes. Real-time pad triggering, quantized scene transitions with countdown, and mixer control make it ready for the stage. No. Meiji Sampler is a standalone terminal application — plugin support is not possible at the moment. Meiji Sampler is a standalone workflow, but you can route its audio into your DAW via a loopback driver like BlackHole or Soundflower. Yes. MIDI controller support is available with customizable mappings. See [MIDI Implementation](/reference/midi-implementation) and [MIDI And External Gear](/guides/midi-and-external-gear). Yes. Meiji Sampler connects to Splice through Splice MCP. Sign in with your Splice account to search, preview, license, and load Splice sounds. Yes — automatic stem separation (Demucs) isolates vocals, drums, bass, and other instruments. ML classification detects sample types. We do not train AI on your work. No. Meiji Sampler is closed source. Delete the application, then remove these directories to clean up all data: **macOS:** * Config and data: `~/Library/Application Support/Meiji Sampler/` * Cache: `~/Library/Caches/Meiji Sampler/` **Linux:** * Config: `$XDG_CONFIG_HOME/meiji-sampler/` (default `~/.config/meiji-sampler/`) * Data: `$XDG_DATA_HOME/meiji-sampler/` (default `~/.local/share/meiji-sampler/`) * Cache: `$XDG_CACHE_HOME/meiji-sampler/` (default `~/.cache/meiji-sampler/`) **Windows:** * Config: `%APPDATA%\Meiji Sampler\` * Data: `%LOCALAPPDATA%\Meiji Sampler\` (includes the `cache\` subfolder) Packs are stored inside the data directory — deleting it removes them automatically. To free up disk space while keeping your config, delete only the Packs subfolder from the data directory. See [Storage Paths](/reference/storage-paths-and-project-structure) for the full path reference. Email us at the address in the app footer, or start with [Troubleshooting](/troubleshooting/index). # File Formats Source: https://docs.sampler.meiji.industries/reference/file-formats Reference for the main file types Meiji Sampler reads, writes, caches, and recovers. # File formats This page covers the main file types you are likely to encounter while using Meiji Sampler. ## Sample input formats These are the documented sample formats for import, preview, assignment, chop, and trim: * `WAV` * `AIFF` * `AIFF-C` * `MP3` * `AAC` * `M4A` * `FLAC` * `OGG` * `ALAC` * `CAF` ## Project format Saved projects use the `.meiji` extension. | Property | Value | | ---------------------- | ------------------------------------------------------------------------------- | | Format | JSON-based project file | | Extension | `.meiji` | | Current format version | `1` | | Stores | project metadata, session state, timing, mixer state, and related workflow data | Project files are the durable save format. If a session matters, save a `.meiji` file instead of relying only on the last-open session state. ## Bounce/export output The bounce flow writes: * `WAV` files for audio export at a configurable bit depth (16-bit, 24-bit, or 32-bit float) * optional `MP4` visualizer videos when video generation is enabled | Bit depth | Sample format | Bytes per sample per channel | | ---------------- | -------------- | ---------------------------- | | 16-bit | Signed integer | 2 | | 24-bit (default) | Signed integer | 3 | | 32-bit float | IEEE 754 | 4 | ## Recording output Direct audio recording writes `WAV` files to the recordings directory. ## DJ master recording output DJ master recording writes stereo IEEE Float32 32-bit `WAV` files into Bounces at the actual DJ output sample rate. Files use `DJ Set YYYY-MM-DD HH-MM-SS.wav`. A collision adds a suffix such as `(2)`, and an exceptionally long set continues in a numbered `Part 2` file before classic WAV reaches its size limit. DJ master recording uses Meiji Sampler's safety-limited post-PerformFX software master in both output modes. With a REV7 hardware mixer, the source is the unity-gain sum of both processed deck stems before physical mixing. Controller EQ, faders, crossfader, microphone or auxiliary input, and master processing are not part of the file. Failures can leave a `.partial` sibling. It is retained for overflow, tap, disk, or finalization failure and is never treated as a completed bounce. See [File And Project Problems](/troubleshooting/files-and-projects#recover-a-dj-recording-partial) for recovery. ## Backup files The persistence layer uses `.bak` sibling files for recovery when appropriate. This applies to: * session state * settings * auth state * project files ## Quick reference by artifact | Artifact | Format | | ------------------- | -------------------------------------------------------------------------- | | Imported sample | `WAV`, `AIFF`, `AIFF-C`, `MP3`, `AAC`, `M4A`, `FLAC`, `OGG`, `ALAC`, `CAF` | | Saved project | `.meiji` | | Recorded take | `WAV` | | DJ master recording | Stereo IEEE Float32 32-bit `WAV` at the active output rate | | Audio bounce | `WAV` (16-bit, 24-bit, or 32-bit float) | | Visualizer bounce | `MP4` | | Recovery backup | `.bak` | ## Related pages * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure) * [Supported Audio Formats](/reference/supported-audio-formats) * [DJ Mode](/guides/dj-mode#record-a-dj-set) # Reference Source: https://docs.sampler.meiji.industries/reference/index Exact lookup documentation for shortcuts, settings, states, formats, paths, and system behavior. # Reference Reference is where you go when the exact behavior matters. Use this section when you need the real shortcut, the real path, the real file format, or the real state model. Not the simplified version. ## Fastest lookups * [Keyboard Shortcuts](/reference/keyboard-shortcuts) for command-by-command control * [Settings Reference](/reference/settings) for every current setting and where it lives * [Modes And States](/reference/modes-and-states) when a key seems to do something different than you expected * [Error Messages](/reference/error-messages) when the app is telling you something went wrong ## In this section * [Keyboard Shortcuts](/reference/keyboard-shortcuts) * [Modes And States](/reference/modes-and-states) * [Settings Reference](/reference/settings) * [Effects And Parameter Reference](/reference/effects-and-parameters) * [File Formats](/reference/file-formats) * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure) * [Supported Audio Formats](/reference/supported-audio-formats) * [MIDI Implementation](/reference/midi-implementation) * [Error Messages](/reference/error-messages) * [FAQ](/reference/faq) ## Need a walkthrough instead? If you are learning a workflow rather than checking a fact, go back to [Learn](/learn/index), [Guides](/guides/index), or [Recipes](/recipes/index). # Keyboard Shortcuts Source: https://docs.sampler.meiji.industries/reference/keyboard-shortcuts Complete keyboard shortcut reference for Meiji Sampler, organized by tab and context. Every action in Meiji Sampler is a keypress. This page documents the main shortcut surfaces by context. ## Vim-style navigation All arrow key navigation supports `h`/`j`/`k`/`l` as alternatives: | Vim key | Arrow equivalent | | ------- | ---------------- | | `h` | `Left` | | `j` | `Down` | | `k` | `Up` | | `l` | `Right` | These work everywhere arrow keys work: browser, pads, loops, scenes, mixer, editors, modals, and settings. Some contexts previously used `h`, `j`, `k`, or `l` for other actions — those have moved to shifted variants. See [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes) for details. ## Global These work broadly across the app. | Key | Action | | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | `Tab` | Cycle focus (Create: Browser → Details → Mixer; top-level: Create → Perform → Settings when Perform is enabled, or Create → Settings when it is not) | | `?` | Open or close help | | `,` | Open Settings tab | | `/` or `Ctrl+F` | Open fuzzy search | | `a` | Toggle autoplay | | `b` | Open bounce modal outside Trim view | | `[CTRL+R]` | Open audio recording | | `Ctrl+S` | Save project | | `Ctrl+Shift+S` | Save project as | | `Ctrl+O` | Open project | | `Ctrl+N` | New project | | `Ctrl+I` | Analyze samples / ML classification flow | | `q` or `Ctrl+C` | Quit | Function keys are reserved for the terminal and operating system. Use `Tab` for tab navigation and `,` for Settings. ## Create tab The core sampler workflow lives here. | Key | Action | | ---------------------------- | ------------------------------------------------------------------- | | `Up`/`Down` or `k`/`j` | Move selection | | `Enter` or `Right` or `l` | Enter directory or confirm | | `Backspace` or `Left` or `h` | Go up to parent | | `Space` | Preview selected sample or cue scene depending on context | | `1-9`, `0` | Trigger pads, control loop slots, or cue scenes depending on row | | `Enter` | Open editor, details, or source-selection flow depending on context | | `m` | Mute selected channel, loop, or track depending on context | | `Esc` | Close modal, exit sub-mode, or cancel current operation | ### Browser-focused controls | Key | Action | | ---------- | ---------------------------------------------------------------------------------------------------------------------- | | `Space` | Preview selected sample | | `*` | Toggle star | | `/` | Search | | `Enter` | Open folder or confirm selection | | `1-9`, `0` | Assign the selected sample to a pad when no loop is armed or recording; trigger pads when a loop is armed or recording | | `Shift+L` | Toggle loop mode for the selected file | ### Pads row | Key | Action | | ------------------------- | --------------------------------------------- | | `1-9`, `0` | Trigger pads | | `Left`/`Right` or `h`/`l` | Change channel | | `Up`/`Down` or `k`/`j` | Change row | | `Space` | Stop pad audio, or stop active loop transport | | `Enter` | Open channel detail or source selection | | `m` | Mute channel | | `s` | Solo channel | | `w` | Swap channels | | `c` | Enter chop mode | | `t` | Open trim workflow | | `Shift+J` | Toggle pad jump mode | | `Del` | Reset selected channel with confirmation | ### Channel detail | Key | Action | | -------------- | ---------------------- | | `Left`/`Right` | Adjust focused control | | `Up`/`Down` | Move between controls | | `1-9`, `0` | Trigger pads | | `Esc` | Close channel detail | ### Trim view | Key | Action | | ----------------------------------- | ---------------------------------------------------------- | | `Left` and `Right` | Move playhead | | `Shift+Left` and `Shift+Right` | Fine-move playhead | | `Space` | Play or pause | | `p` | Play from the last location where `Space` started playback | | `r` | Restart playback from beginning | | `s` | Set trim start at playhead | | `e` | Set trim end at playhead | | `Shift+S` | Clear trim start | | `Shift+E` | Clear trim end | | `o` | Toggle loop mode | | `0-9` | Set or play from chop marker | | `Delete` or `Backspace` | Clear active chop marker | | `+` and `-` | Zoom in and out | | `[` and `]` | Scroll waveform | | `Shift+[` and `Shift+]` | Snap playhead to the previous or next transient point | | `a` | Autochop the first ten transient markers to `1-9,0` | | `Alt+[` and `Alt+]`, or `<` and `>` | Lower or raise transient snap sensitivity | | `b` | Cycle transient snap band: All, Lows, Mids, Highs | | `{` and `}` | Legacy terminal fallback for transient snap seek | | `Enter` | Confirm and exit | | `Esc` | Cancel and exit | Higher transient snap sensitivity shows more ghost markers and accepts softer hits. Lower sensitivity keeps the snap points stricter. The snapping workflow is inspired by Cool Edit Pro's bracket-key playhead movement, while the marker sensitivity model is inspired by ReCycle-style transient slicing. See [Chopping And Slicing](/guides/chopping-and-slicing#intelligent-transient-snap) for the workflow guide. ### Chop mode | Key | Action | | ------------ | --------------------- | | `1-9`, `0` | Trigger chop segments | | `g` | Toggle gate mode | | `Shift+J` | Toggle pad jump mode | | `c` or `Esc` | Exit chop mode | ### Loops row | Key | Action | | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | `Left`/`Right` or `h`/`l` | Select loop slot | | `Up`/`Down` or `k`/`j` | Change row | | `[SPACE]` | Start cued or armed loop transport, start the only stopped loop when exactly one recorded loop exists, or stop active loop and overdub transport | | `1-9`, `0` | Select the loop slot. Empty slots arm, idle stopped slots cue, idle cued slots stop, playing slots queue `STOP+`, and `STOP+` slots stop immediately | | `[R]` | Open First Loop Setup before the first loop; later, arm recording or punch into overdub | | `Enter` | Open sequence editor | | `q` | Open quantize | | `m` | Mute loop | | `s` | Solo loop | | `d` | Duplicate loop | | `e` | Extend loop | | `Shift+H` | Shorten loop by half | | `u` | Undo last loop edit | | `Del` | Clear loop | ### Sequence editor | Key | Action | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Up`/`Down` or `k`/`j` | Navigate tracks | | `Left`/`Right` or `h`/`l` | Navigate within track | | `m` | Mute or unmute the selected track; when a running loop is muted, un-mute the loop, solo the selected track, and restart that track; or in ALL TRACKS view toggle loop mute, clearing all mutes if already muted | | `s` | Solo the selected track; press again to un-solo | | `Del` | Delete track events | | `Esc` | Close editor | For the full mental model behind channel mute versus loop and track mute, see [Muting And Soloing](/guides/muting-and-soloing). ### Scenes row | Key | Action | | ------------------------- | ---------------------------------------------------------------------- | | `Left`/`Right` or `h`/`l` | Select scene | | `Up`/`Down` or `k`/`j` | Change row | | `1-9`, `0` | Jump to and cue scene | | `Space` | Start, cue, uncue, or stop the selected scene depending on scene state | | `Enter` | Open scene editor | | `c` | Copy scene | | `Del` | Clear scene | ### Scene editor | Key | Action | | ------------------------- | ------------------------------------------ | | `Up`/`Down` or `k`/`j` | Navigate loop list or auto-advance row | | `Space` or `Enter` | Toggle loop membership or auto-advance | | `1-9`, `0` | Quick-toggle specific loops | | `Left`/`Right` or `h`/`l` | Switch scene or adjust auto-advance cycles | | `Esc` | Close editor | ## Mixer | Key | Action | | ------------------------- | ------------------------- | | `Left`/`Right` or `h`/`l` | Select channel | | `Up`/`Down` or `k`/`j` | Adjust selected parameter | | `Enter` | Open channel detail | | `m` | Mute channel | | `s` | Solo channel | | `w` | Swap channels | ## Perform tab | Key | Action | | --------------------------------------- | ------------------------------------------------------------------------------------------------------- | | `[←/→]`/`[↑/↓]` or `h`/`j`/`k`/`l` | Move focus between Bank slots and the FX Library | | `[1]` through `[9]`, `[0]` | Trigger assigned fixed PerformFX slots | | `[1]` through `[4]` on FX Library focus | Preview the focused FX Library preset; presets with A/B/C/D variants use the matching variant | | `[a]` on FX Library focus | Assign the focused FX Library preset to the current default slot | | `[ENTER]` | Open FX Params for the focused slot or FX Library preset | | `[DELETE]` or `[BACKSPACE]` | Clear the focused assigned slot after confirmation | | `[b]` | Toggle PerformFX bank | | `[q]` | Cycle the active bank's Quantize Bank mode: Default → Current Grid → Next Grid → Next Bar → Next 2 Bars | | `[i]` | Show or hide the inspector | | `[-]` / `[+]` | Decrement or increment the focused slot's Grid value | | `[SHIFT+K]` | Kill all active PerformFX effects | ### FX Params | Key | Action | | --------------------------- | ---------------------------------------------------------------------- | | `[←/→]` | Move between FX, Grid, and Params columns | | `[↑/↓]` | Select a row | | `[-]` / `[+]` | Decrement or increment the Grid value when the Grid column is active | | `[1]` through `[9]`, `[0]` | Choose the target slot | | `[ENTER]` | Save, or edit the selected Params row | | `[R]` | Reset the current target slot settings to the selected preset defaults | | `[DELETE]` or `[BACKSPACE]` | Clear the selected slot after confirmation | | `[S]` | Save the current settings as a custom preset | | `[ESC]` | Cancel when unchanged; save and close after slot edits | ## DJ tab | Key | Action | | ------------------ | --------------------------------------------------------------------------- | | `[↑/↓]` | Move focus through Decks, each visible nonblank PerformFX bank, and Library | | `[TAB]` | Switch to the next application tab | | `[A]` / `[B]` | Focus deck A or B and return to the Decks zone | | `[1]`–`[8]` | Set or trigger hot cues while Decks is focused | | `[CTRL+1–8]` | Clear hot cues while Decks is focused | | `[1]`–`[9]`, `[0]` | Trigger the focused PerformFX bank's fixed slots while an FX row is focused | | `[SPACE]` | Play or pause the focused deck | | `[-]` / `[=]` | Move the focused deck's pitch down or up (`[_]` / `[+]` for fine steps) | | `[P]` | Cycle the focused deck's pitch range: `±8% → ±16% → ±50% → ±8%` | | `[Q]` / `[W]` | Hold to nudge the focused deck backward or forward | | `[S]` | Sync the focused deck to the other deck | | `[K]` | Toggle keylock on the focused deck | | `[V]` | Toggle jog mode between Vinyl and Bend | | `[Z]` / `[X]` | Zoom the deck waveform out or in | | `[;]` / `[\']` | Halve or double the focused deck's beatgrid BPM | | `[,]` / `[.]` | Move the focused deck's beatgrid anchor backward or forward | | `[R]` | Start DJ master recording, or stop the active DJ master recording | | `[CTRL+R]` | Open input recording. This does not start DJ master recording. | On a Pioneer DDJ-REV7, the `TEMPO RANGE` button cycles the range of its own deck through the same values. The changed range immediately reinterprets that deck's physical tempo fader and becomes one global default for the next track load on either deck. See [DJ Mode](/guides/dj-mode#record-a-dj-set) for recording behavior, [File Formats](/reference/file-formats#dj-master-recording-output) for the WAV format, and [MIDI And Sync Problems](/troubleshooting/midi-and-sync) for controller recovery. ## MIDI tab | Key | Action | | ------------------ | --------------------------------------------- | | `Left` and `Right` | Switch between Mappings and Monitor sub-views | ### Mappings sub-view (Listening phase) | Key | Action | | ----------------------- | ----------------------- | | `Up` and `Down` | Navigate mapping list | | `Enter` | Edit selected mapping | | `Delete` or `Backspace` | Remove selected mapping | | `Esc` | Leave MIDI tab | ### Mappings sub-view (Assigning phase) | Key | Action | | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | `Up` and `Down` | Navigate menu | | `Enter` | Drill into category or confirm action | | `Esc` | Go up one menu level, or return to Listening from top level (except during Keypress capture, where it assigns `[ESC]`) | | `Ctrl+Esc` in Keypress capture | Cancel Keypress capture and return to the action menu | | any supported key in Keypress capture | Assign that exact key, including case-preserved letters such as `[m]`/`[M]` and `[ESC]` | | `Delete` or `Backspace` | Remove this control's mapping, return to Listening | | `Shift+Delete` | Clear all mappings, return to Listening | ### Monitor sub-view | Key | Action | | ---------------------- | ------------------------------- | | `Space` | Pause or resume monitor display | | `c` | Clear monitor history | | `f` | Cycle monitor filters | | `Up`/`Down` or `k`/`j` | Scroll or navigate | ## Trim view | Key | Action | | --------------------------- | --------------------------------------------------- | | `Left`/`Right` | Move playhead (coarse) | | `h`/`l` | Move playhead (coarse, same as arrow keys) | | `Shift+H`/`Shift+L` | Move playhead (fine) | | `s` | Set start point | | `e` | Set end point | | `Shift+S` | Clear start point | | `Shift+E` | Clear end point | | `o` | Toggle loop mode | | `-`/`+` | Zoom out/in | | `Shift+[`/`Shift+]` | Snap to previous/next transient point | | `a` | Autochop the first ten transient markers to `1-9,0` | | `Alt+[`/`Alt+]`, or `<`/`>` | Lower/raise transient snap sensitivity | | `b` | Cycle transient snap band: All, Lows, Mids, Highs | | `{`/`}` | Legacy terminal fallback for transient snap seek | | `Space` | Toggle playback | | `Enter` | Accept trim | | `Esc` | Cancel | Transient snap lands on useful hits and refines to a clean edit point when possible. Use the band mode when a sample is dense and you want to move through only lows, mids, or highs. Use `a` after sensitivity feels right to turn the first ten visible transient candidates into playable chops. ## Audio recording These shortcuts are available inside the audio recording flow (`Ctrl+R`). | Key | Phase | Action | | ------------------ | --------------- | ------------------------------- | | `Space` | Idle | Arm recording | | `Space` | Armed/Recording | Stop recording and enter review | | `Space` | Review | Replay the recorded take | | `N` | Review | Toggle peak normalization | | `U` or `Backspace` | Review | Undo and discard the take | | `Enter` or `K` | Review | Keep and save the take | | `Esc` | Any | Discard or close | ## Modals | Key | Action | | ------------------------- | ----------------- | | `Up`/`Down` or `k`/`j` | Navigate options | | `Left`/`Right` or `h`/`l` | Adjust values | | `Enter` | Confirm or select | | `Esc` | Cancel or close | ### Bounce modal | Key | Action | | -------------- | --------------------------------------------------------------- | | `Up`/`Down` | Navigate options | | `Space` | Toggle selected option | | `Left`/`Right` | Cycle WAV bit depth (on the WAV Audio row, when WAV is enabled) | | `Enter` | Start bounce | | `Esc` | Cancel (stops an in-progress bounce) | ### Settings tab The Settings tab uses a two-pane layout: sidebar (categories) and content (fields). **Sidebar:** | Key | Action | | ------------------------- | -------------------------------------------- | | `Up`/`Down` or `k`/`j` | Switch category | | `Enter` or `Right` or `l` | Enter content pane | | `Esc` | Return to previous tab (saves automatically) | **Content pane:** | Key | Action | | ------------------------- | ------------------------------------------------------------------------ | | `Up`/`Down` or `k`/`j` | Move between fields | | `Left`/`Right` or `h`/`l` | Adjust value or go back from project picker | | `Enter` | Confirm action, open picker, or activate button | | `Space` | Tap tempo (on the Tempo field — tap rhythmically, then `Enter` to apply) | | `Esc` or `h` | Return to sidebar | ### Metronome | Key | Action | | --------- | --------------------------------------------------------------------------------- | | `[M]` | Open the metronome controls dialog | | `[SPACE]` | Start, stop, or count in transport while the metronome controls dialog stays open | Lowercase `m` still follows the active mixer context, such as channel or loop mute, where that binding already exists. ### First Loop Setup This dialog appears when `[R]` starts the first loop in an empty project. | Key | Action | | -------------------------- | ---------------------------------------------------------------------------- | | `[ESC]` | Cancel and return to the previous view | | `[↑]`/`[↓]` or `[K]`/`[J]` | Move between setup fields | | `[←]`/`[→]` or `[H]`/`[L]` | Adjust the selected field | | Digits and `.` | Type a BPM while Tempo is highlighted | | `[SPACE]` | Tap tempo with a click from any field, switch to Fixed mode, and focus Tempo | | `[ENTER]` | Apply the selected mode and arm recording | # MIDI Implementation Source: https://docs.sampler.meiji.industries/reference/midi-implementation Complete reference for MIDI mappable actions, control identification, mapping behavior, monitor coverage, and transport response. # MIDI implementation Meiji Sampler's MIDI surface covers control mapping, a live monitor, and optional transport response. ## Control identification Each MIDI control is uniquely identified by three properties: | Property | Range | Description | | ------------ | ---------- | ------------------------ | | Channel | 1-16 | MIDI channel | | Message type | CC or Note | ControlChange or NoteOn | | Number | 0-127 | CC number or note number | A CC on channel 1 number 60 and a Note on channel 1 number 60 are treated as two separate controls. ## Mapping behavior Mappings are one-to-one in both directions: * One control maps to at most one action. * One action maps to at most one control. When you move a control that already has a mapping, MIDI Learn returns to the Listening list, selects that mapping row, and briefly shows `already mapped`. Press `Enter` on the selected row to edit that control's assignment. When you pick an action that is already mapped to a different control, MIDI Learn also selects the existing mapping row instead of replacing it. Mappings are persisted in the settings file and survive app restarts. After assigning a trigger action, MIDI Learn preselects the next matching trigger target for the next unmapped control: | Last assigned action | Next preselected action | | -------------------- | ----------------------- | | Pad N trigger | Pad N+1 trigger | | Loop N trigger | Loop N+1 trigger | | Scene N trigger | Scene N+1 trigger | | Pad X Chop N trigger | Pad X Chop N+1 trigger | Pad, loop, scene, and chop indices stop at the final display slot, `0`. Non-trigger actions keep the exact last assigned action as the next preselected action. ## Mappable actions ### Transport | Action | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Play/Stop | Follow the focused row's `Space` behavior. Pads stops pad or preview audio first, Loops starts cued or armed transport unless loops are already playing, and Scenes uses the selected scene's play/cue/stop flow. | | Record/Overdub | Toggle recording or punch into overdub on the currently selected loop slot. | ### Pads | Action | Description | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | Pad 1-0 | Trigger the pad sample and select the channel. If no sample is assigned, the channel is selected but no source-selection modal opens. | | Pad N Chop 1-0 | Trigger a specific chop slice on the pad. Enters chop mode and plays from the chop marker. | Pad slots use display numbering 1-9 then 0 (matching the keyboard number row). ### Loops | Action | Description | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Loop 1-0 Trigger | Same behavior as pressing the slot's number key on the loops row. Empty slots arm, idle stopped slots cue, idle cued slots stop, playing slots queue `STOP+`, and `STOP+` slots stop immediately. | | Loop 1-0 Mute | Toggle mute on the loop slot. If any layers are muted, unmutes all first. | | Loop 1-0 Solo | Toggle solo on the loop slot. If already soloed, un-solos all. | | Loop 1-0 Undo | Undo the most recent loop edit. Note: undo is global, not scoped to the targeted slot. The slot number controls which slot gets UI focus. | | Loop 1-0 Clear | Clear all recorded content from the loop slot. | ### Scenes | Action | Description | | ----------------- | --------------------------------------------------------------------------------------- | | Scene 1-0 Trigger | Activate the scene (same behavior as pressing the slot's number key on the scenes row). | | Scene 1-0 Cue | Cue the scene using the `Space`-style scene behavior. | | Scene Stop | Stop the currently active scene. If a stop is already queued, executes immediately. | ### Mixer | Action | Description | | ---------------- | ------------------------------- | | Channel 1-0 Mute | Toggle mute on a mixer channel. | ### Keypress | Action | Description | | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Keypress | Replay one captured keyboard key through the normal app key handler. Supported keys include printable characters, `Enter`, `Space`, `Tab`, `Backspace`, `Delete`, `Insert`, arrows, `Home`, `End`, `PageUp`, `PageDown`, and function keys `F1` through `F24`. `Esc` is reserved for cancel during capture. Modifier combinations are not supported in this version. | ### PerformFX These actions are available when the PerformFX feature is enabled. | Action | Description | | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Bank A Slot `[1]` through `[9]`, `[0]` | Press and release the fixed PerformFX slot in Bank A. Hold-mode slots stay active while the mapped MIDI control is held. | | Bank B Slot `[1]` through `[9]`, `[0]` | Press and release the fixed PerformFX slot in Bank B. Hold-mode slots stay active while the mapped MIDI control is held. | | FX Library: preset name | Trigger a named built-in or custom PerformFX Library preset directly. Built-in presets use their recommended defaults. Custom presets use their saved division, Quantize Start, Quantize End, Engage mode, Sync, Attack, Release, One Shot Length, Tail, Throw, PreGain, Wet, and effect-specific parameter settings. Hold-mode presets stay active while the mapped MIDI control is held. | | Bank Toggle | Switch between PerformFX banks. | | Kill All FX | Kill all active PerformFX effects. | ## MIDI learn flow phases The learn flow uses these phases and capture states: | Phase | What happens | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Listening | Waiting for a MIDI control movement. Shows existing mappings. | | Assigning | Hierarchical menu for choosing an action. Navigate with `Up`/`Down`/`Enter`/`Esc`. Re-trigger the same MIDI control to select the highlighted row without touching the keyboard. | | Keypress Capture | Inside Assigning, the Keypress category captures the next supported physical key. `Esc` cancels capture and returns to the category menu. | | Editing Behavior | After a CC leaf action is picked for a Gate-eligible target (Loop slot, Channel Mute, Transport, Scene slot, PerformFX slot, PerformFX FX Library preset), choose Trigger or Gate, threshold, and invert. `Enter` saves, `Esc` returns to Assigning. One-shot CC targets (Pad, Cue, Kill All, etc.), Note triggers, and Keypress mappings skip this step and commit directly with the default behavior. Press `B` on any existing mapping in the Listening list to edit its behavior later. | ## Trigger behavior Each mapping carries a Behavior that decides how the control's value drives the action. | Behavior | Fires action | | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Trigger | Once, on the rising edge above `threshold` (or falling edge if inverted). Default for Pad, PadChop, Scene Cue, Scene Stop, Loop Mute/Solo/Undo/Clear, Record/Overdub, Bank Toggle, Kill All, Keypress. | | Gate | Action's "on" variant on rising edge above `threshold`, "off" variant on falling edge. Default for CC mapped to Loop slot (play/stop), Channel Mute (unmute/mute), Transport (play/stop), Scene slot (start/stop), PerformFX slot (press/release), or PerformFX FX Library preset (press/release). | Both behaviors carry a `threshold` (1-127, default 64) and an `inverted` flag (default false). * Note triggers default to `Trigger { threshold: 1 }`. Note On velocity 0 and Note Off are forwarded as value 0, so stateful actions such as PerformFX Hold slots and mapped FX Library presets receive a falling edge. * CC value 0 is forwarded to the app (it is the falling-edge signal for Gate). Gate mappings will not act on a Recording / Armed loop slot to protect takes in progress. * Mappings loaded from configs saved before this version load with `Trigger { threshold: 1 }` so existing projects keep their prior behavior. ## MIDI tab shortcuts ### Mappings sub-view (Listening phase) | Key | Action | | ----------------------- | ---------------------------------------------------------------------- | | `Up` and `Down` | Navigate mapping list | | `Enter` | Edit selected mapping | | `B` | Edit the selected mapping's behavior (Trigger/Gate, threshold, invert) | | `Delete` or `Backspace` | Remove selected mapping | | `Esc` | Leave MIDI tab | ### Mappings sub-view (Assigning phase) | Key | Action | | ----------------------- | --------------------------------------------------------------------- | | `Up` and `Down` | Navigate menu | | `Enter` | Drill into category or confirm action | | Same MIDI control | Drill into the highlighted row or confirm the highlighted leaf action | | `Esc` | Go up one menu level, or return to Listening from the top level | | `Delete` or `Backspace` | Remove this control's mapping and return to Listening | | `Shift+Delete` | Clear all mappings and return to Listening | ### Mappings sub-view (Keypress capture) | Key | Action | | ------------- | -------------------------------------------------- | | Supported key | Assign that keypress to the detected MIDI control | | `Esc` | Cancel key capture and return to the category menu | ### Mappings sub-view (Editing Behavior step) | Key | Action | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Up` and `Down` | Move focus between Mode / Threshold / Invert rows | | `Left` and `Right` | Adjust the focused field (toggle Gate/Trigger on Mode row; ±1 threshold on Threshold row; flip Invert on Invert row). Hold `Shift` for ±10 on Threshold. | | `G` / `T` | Switch directly to Gate / Trigger mode | | `I` | Toggle Invert | | `Enter` | Save the mapping and return to Listening | | `Esc` | Back: return to Assigning (new mapping) or Listening (editing existing) | ### Sub-tab navigation | Key | Action | | ------------------ | --------------------------------------------- | | `Left` and `Right` | Switch between Mappings and Monitor sub-views | ## MIDI transport The settings include a `transport_enabled` toggle. When disabled, transport messages are visible in the monitor but do not trigger transport behavior. ## Monitor coverage The MIDI monitor displays all incoming MIDI events, not just mapping-eligible ones. Visible message types: * Note Off, Note On, Poly Pressure * Control Change, Program Change, Channel Pressure, Pitch Bend * Clock, Start, Stop, Continue * Active Sensing, SysEx, Unknown Clock and Active Sensing generate high message volume and can flood the display. Use monitor filters to suppress them unless diagnosing a sync problem. ## Route allowlist MIDI mappings use two route rules: * **Keypress mappings** replay the captured key through the normal key handler after the MIDI control is resolved. They work anywhere the same keyboard key would work, including the Trim/chop editor and other focused modal or view states. The MIDI Mapping assignment page still blocks mapped-controller actions while it is learning a control. * **Direct app-action mappings** use a conservative allowlist so pad, loop, scene, transport, and mixer actions cannot silently dismiss stateful UI. The direct-action allowlist is: | Route | Direct-action MIDI allowed | Reason | | ---------------- | -------------------------- | --------------------------------------------- | | Pads row | yes | main sampler view | | Loops row | yes | main sampler view | | Scenes row | yes | main sampler view | | Channel Detail | yes | channel overlay — no unsaved state | | Channel Chop | yes | chop overlay — no unsaved state | | Help overlay | yes | read-only; note that pad actions dismiss Help | | All other modals | no | stateful UI could be silently dismissed | | All other views | no | stateful UI could be silently dismissed | New modal or view variants added to the codebase are blocked by default. New `Channel` variants require an explicit allow or block decision at compile time. If a direct app-action mapping does nothing, check whether the current view is on this allowlist. If a keypress mapping does nothing, verify that the same physical key works in the current UI state. See [MIDI And Sync Problems](/troubleshooting/midi-and-sync) for more. ## Current caution The public marketing copy still describes MIDI controller support as emerging. Use this page as the implementation reference, not as a promise of broader DAW-style MIDI coverage. ## Related pages * [MIDI and External Gear](/guides/midi-and-external-gear) — guide to the mapping workflow * [Muting And Soloing](/guides/muting-and-soloing) — explains channel mute versus loop and track mute behavior * [MIDI and Sync Problems](/troubleshooting/midi-and-sync) — troubleshooting * [Keyboard Shortcuts](/reference/keyboard-shortcuts) — full shortcut reference # Modes And States Source: https://docs.sampler.meiji.industries/reference/modes-and-states Understand the tabs, rows, panes, editors, and transient states that change what your keys do. # Modes and states If a shortcut behaves differently than you expected, the answer is usually state. Meiji Sampler is fast because the keyboard is doing different jobs in different contexts. This page explains those contexts. ## Top-level tabs Meiji Sampler has four top-level tabs: | Tab | Purpose | | ---------- | ---------------------------------------------------------- | | `Create` | main sampler workflow: browser, pads, loops, scenes, mixer | | `Perform` | PerformFX live effects, fixed slots, and FX Params | | `MIDI` | MIDI mappings and event monitoring | | `Settings` | project, audio, addons, and general configuration | ## Create tab rows Inside `Create`, the workflow is split into three rows: | Row | Purpose | | ------ | ------------------------------------- | | Pads | play and manage assigned sounds | | Loops | record and edit loop slots | | Scenes | arrange and cue combinations of loops | ## Focus panes Inside `Create`, focus can also move between panes: | Focus pane | Meaning | | ---------- | ------------------------- | | Browser | file/source navigation | | Details | focused inspection panel | | Mixer | channel and level control | The selected row and focused pane combine to determine what a key does. `Space` in the browser previews a sample. `Space` on the scenes row cues a scene. Same key, different state. ## Common state transitions * assigning a sample moves sound from the browser into a playable pad * recording changes a loop slot from empty to active content * entering scene editor changes number keys from triggering scenes to toggling loop membership * entering the mixer makes navigation keys adjust sound-shaping controls instead of browsing files ## Editors and focused task views Meiji Sampler also has short-lived editors and focused task views for things like: * channel detail * chop mode * trim view * sequence editor * scene editor These views are not just visual overlays. They are new input states with their own key behavior. ## Modal states Other transient states include: * help * search * source selection * quantize * bounce/export * splice browse * MIDI learn and mapping flows * PerformFX FX Params/profile editing Settings is not a modal. It is its own top-level tab with a sidebar/content layout. ## Why this matters If the app feels like a shortcut changed behavior unexpectedly, the cause is usually one of these: * you changed tabs * you changed rows * focus moved to a different pane * an editor or focused task view is open * a modal is open ## Fast mental model When you are unsure where you are, ask: 1. Which top-level tab is active? 2. Which row is selected? 3. Which pane or editor has focus? 4. Is a modal open? ## Related pages * [Keyboard Shortcuts](/reference/keyboard-shortcuts) * [Settings Reference](/reference/settings) * [MIDI Implementation](/reference/midi-implementation) * [Troubleshooting](/troubleshooting/index) # Settings Source: https://docs.sampler.meiji.industries/reference/settings Reference for all settings in Meiji Sampler, organized by tab. # Settings Open the Settings tab with `,` or by pressing `Tab` to cycle through tabs. Settings uses a two-pane layout: a **sidebar** listing categories on the left and a **content pane** showing fields on the right. | Tab | What it covers | | ------- | ------------------------------------------------------------------ | | Project | Save, open, and manage projects; view storage paths | | Tempo | Change the effective project playback tempo without changing pitch | | Sources | Browse connected audio sources and view availability details | | Audio | Output device, buffer, sample rate, quantization defaults, MIDI | | DJ | Pitch range default for newly loaded DJ decks | | MIDI | MIDI mapping and MIDI monitor | | Addons | Stem separation and factory sound packs | | General | Tutorial, account, video encoder, version info, factory reset | ## Project category The Project category is selected by default when you open Settings. It gives you inline access to all project operations without leaving the tab. ### Project info When a project has been saved, the tab shows: * **Name** — the current project name, with a yellow dot when unsaved changes exist * **Location** — the file path on disk (home directory shortened to `~`) When no project file exists yet, these fields are hidden and the Save field shows an inline text input for the project name. ### Project actions | Field | What it does | | ------------ | ---------------------------------------------------------------------------------- | | Save Project | Quick-save to the current file, or type a name for first save | | Save As | Save a copy under a new name | | Open Project | Browse recent projects inline with `Up`/`Down`, open with `Enter`, delete with `D` | | New Project | Create a fresh empty project (confirms if unsaved changes exist) | ### Paths The bottom of the Project category shows four directory shortcuts. Press `Enter` on any path to open it in your OS file manager. | Field | Default path | | ---------- | ----------------------------------------------------------------------------------------- | | Projects | `~/Documents/Meiji Sampler/Projects/` | | Recordings | `~/Music/Meiji Sampler/recordings/` (or `~/Meiji Sampler/recordings/` if no Music folder) | | Bounces | `~/Documents/Meiji Sampler/Bounces/` | | Packs | Platform data directory, `Packs/` subfolder | ## Tempo category The Tempo category holds the project playback tempo editor. Meiji Sampler infers the session BPM from the first recorded loop; this category lets you override that effective tempo without changing pitch. | Field | What it does | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Tempo | Change the effective project playback tempo without changing pitch; type a value or use arrows to nudge, tap `[SPACE]` rhythmically for tap tempo; apply with `[ENTER]`, reset with `[R]` or `[DELETE]` while editing | | Range | Choose the eligible first-loop BPM range: `65-135`, `87-175`, `133-300`, or `None`. Out-of-range first-loop detections are doubled or halved into the selected range. | | Metronome | Turn the metronome click on or off. Press `[M]` from the main app to open the same controls in a dedicated dialog with a right-side pulse that expands on accented beats. `[SPACE]` still controls transport from this dialog. | | Count In | Choose when the metronome count-in runs: `OFF`, `REC`, `PLAY`, or `REC + PLAY`. | | Count Beats | Set count-in length from `1 BEAT` to `8 BEATS`. Default: `4 BEATS`. | | Click | Choose when the click plays: `OFF`, `PLAY`, `REC`, or `REC + PLAY`. | | Rate | Choose click subdivision: `1/4`, `1/8`, `1/16`, `1/8T`, or `1/16T`. | | Volume | Set click level from `0%` to `100%`. | | Accent | Turn the downbeat accent on or off. | | First Loop | When project BPM is set before recording, choose the fixed first-loop length: `AUTO`, `1 BAR`, `2 BARS`, `4 BARS`, `8 BARS`, `16 BARS`, `24 BARS`, or `32 BARS`. Fixed lengths stop the first recording automatically at the selected bar boundary; the loop details view shows the full selected length with a moving playhead while recording. Pressing `[ENTER]` early ends the take, keeps the loop at the selected length, and queues overdub as `OVR+` until the next fixed interval. | The Tempo editor requires at least one recorded loop to establish a timing source unless you set BPM manually first. Until then the page shows `Awaiting 1st loop`. Range is available before recording and applies the next time a first loop establishes project tempo. Pressing `[R]` before the first loop opens First Loop Setup, which defaults to Fixed mode at `90.00 BPM`, Quantize `OFF`, `1 BAR` Length, `4 BEATS` Count-in, and click `REC + PLAY`; Fixed mode stops recording automatically at the selected Length, and `[ENTER]` can end the take early without shortening the loop or starting playback before the fixed interval arrives. Select `Mode: AUTO TEMPO` when you want the completed take to define tempo by its ending; Auto keeps Length as `AUTO` while still applying the dialog's Quantize, Count-in, and Click choices, then continues directly into overdub. Press `[ESC]` to cancel without arming. A pad or chop key that starts a record count-in plays immediately. Hits during the final count-in beat are recorded at `0:00`; earlier hits are consumed as unrecorded start-signal updates when REC begins. The metronome click is routed outside bounce, resample, and internal capture paths, so it guides recording without printing into the sampled audio. ## Audio category ### Audio section | Field | Values | Default | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | | Audio Host | `Auto`, `ALSA`, `JACK` (Linux only) | `Auto` | | Output Device | System audio devices, or `None` for system default | `None` | | Stereo Channels | Adjacent stereo channel pairs supported by the output device, such as `Ch 1 & 2` or `Ch 9 & 10` | `Ch 1 & 2` | | Buffer Size | `64`, `128`, `256`, `512`, `1024`, shown with calculated latency such as `256 samples (5.80 ms)` at `44100 Hz` | `256` | | Sample Rate | `44100 Hz`, `48000 Hz`, `88200 Hz`, `96000 Hz` | `44100 Hz` | | Stretch Loops on Load | `ON` / `OFF`. When `ON`, a loaded pad whose effective Loop setting is on automatically receives the best-fit Sync value once a session clock exists. Turning it on also applies Sync to loaded loop pads that are ready. | `ON` | Smaller buffers reduce latency and increase CPU sensitivity. The millisecond value is calculated from the selected buffer size and sample rate. Audio host, output device, Stereo Channels, buffer size, and sample rate changes are saved immediately, then prompt you when you exit Settings to **\[Apply Now]** or keep the current engine running until **\[Next Launch]**. Stretch Loops on Load affects pad loop setup only; it does not restart the audio engine. ### Quantization section | Field | Values | Default | | -------------- | -------------------------- | ------- | | Default Amount | `OFF`, then `5%` to `100%` | `OFF` | | Default Grid | Standard subdivisions | `1/16` | ### MIDI section | Field | Values | Default | | --------- | ---------------------- | ---------- | | Transport | `Enabled` / `Disabled` | `Disabled` | When enabled, Meiji Sampler responds to MIDI transport messages (start, stop, continue). ## DJ category The DJ category stores the pitch-range default for the next track load on either deck, and the DJ output stream's own buffer size. | Field | Values | Default | | ----------- | -------------------------------------------------------------------------------------------------------------- | ------- | | Pitch Range | `±8%`, `±16%`, `±50%` | `±8%` | | Buffer Size | `64`, `128`, `256`, `512`, `1024`, shown with calculated latency such as `128 samples (2.90 ms)` at `44100 Hz` | `128` | Changing Pitch Range does not change the pitch range, pitch, or physical-fader interpretation of either active deck. When you later load a track on deck A or B, that deck adopts the saved default and returns to neutral pitch; the other deck is unchanged. Each active deck keeps its own range. Use `[P]` in DJ Mode or the Pioneer DDJ-REV7 `TEMPO RANGE` button to cycle an active deck's range and save one global default for the next track load on either deck. Buffer Size is independent of `Audio → Buffer Size`. The DJ deck path renders a frame at a time and drains every pending control per frame, so the DJ stream defaults to `128` where the sampler defaults to `256` — about 2.9 ms less control-to-speaker delay at `44100 Hz`. Choose `64` for the tightest deck, or climb to `256` or higher as a crackle fallback. There is no audio engine restart prompt; the size applies the next time DJ audio opens, on re-entering the `DJ` tab or on the next controller hardware attach. `[←]` reverses a value. `[→]` and `[L]` advance it. `[↑/↓]` moves between the two fields. `[H]` returns to the Settings sidebar without changing the value. See [DJ Mode](/guides/dj-mode) and [Keyboard Shortcuts](/reference/keyboard-shortcuts#dj-tab). ## Addons category | Field | Description | | ------------- | -------------------------------------------------------------------------------------------------- | | Stems | Install or remove Demucs for stem separation. Shows `Installed [REMOVE]` or `Available [INSTALL]`. | | Factory Packs | Download or manage factory sound packs. Shows pack count when installed. | ## General category ### Tutorial section | Field | Description | | -------- | ------------------------------------------------------------------------------------------------- | | Progress | Shows completion percentage. Select and press `Enter` to restart the tutorial from the beginning. | ### Account section | Field | Description | | --------- | ------------------------------------------------------------------------------- | | Account | Shows current email when logged in. Press `Enter` to log in or log out. | | Analytics | `Enabled` / `Disabled`. Controls anonymous usage analytics. Default: `Enabled`. | Analytics collects no audio data, no sample content, and no file paths. It can be disabled at any time. ### Video section | Field | Description | | ------- | ----------------------------------------------------- | | Encoder | Shows the detected hardware video encoder. Read-only. | ### About section | Field | Description | | -------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Version | Current app version. Read-only. | | Keyboard | Shows `Extended (Kitty protocol)` or `Standard` depending on terminal support. Read-only. | | Updates | Check for updates or install an available update. On Windows installer builds, available updates open the native WinSparkle dialog. | ### Advanced section | Field | Description | | ------------- | ----------------------------------------------------------------- | | Factory Reset | Resets all settings and state to defaults. Requires confirmation. | Factory reset clears your local configuration and session state. Saved `.meiji` project files on disk are not deleted. ## Navigation Settings has two focus zones: the **sidebar** (category list) and the **content** pane (fields). ### Sidebar | Key | Action | | -------------------------- | ------------------------------------------------------------- | | `Up` / `Down` or `K` / `J` | Switch category | | `Enter` or `Right` or `L` | Enter content pane | | `Esc` | Return to the previous tab (settings are saved automatically) | ### Content pane | Key | Action | | ----------------------------- | -------------------------------------------- | | `Up` / `Down` or `K` / `J` | Move between fields | | `Left` / `Right` or `H` / `L` | Adjust value, or go back from project picker | | `Enter` | Confirm action or open picker | | `Esc` or `H` | Return to sidebar | ## Configuration file path Settings are stored at: * **macOS**: `~/Library/Application Support/Meiji Sampler/config.json` * **Linux**: `~/.config/meiji-sampler/config.json` Related persisted files: * session state: `state.json` * auth state: `auth.json` * stars: `stars.json` * projects: `~/Documents/Meiji Sampler/Projects/*.meiji` ## Related pages * [Keyboard Shortcuts](/reference/keyboard-shortcuts) * [File And Project Management](/guides/file-and-project-management) * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure) * [Modes And States](/reference/modes-and-states) # Storage Paths And Project Structure Source: https://docs.sampler.meiji.industries/reference/storage-paths-and-project-structure Find the main local paths used by Meiji Sampler for state, projects, recordings, and exports. # Storage paths and project structure This page lists the main local paths used by Meiji Sampler. ## macOS paths ### App state and config * session state: `~/Library/Application Support/Meiji Sampler/state.json` * settings: `~/Library/Application Support/Meiji Sampler/config.json` * auth state: `~/Library/Application Support/Meiji Sampler/auth.json` * analytics anonymous id: `~/Library/Application Support/Meiji Sampler/anonymous_id` * update cache: `~/Library/Application Support/Meiji Sampler/update_cache.json` * stars/bookmarks: `~/Library/Application Support/Meiji Sampler/stars.json` * library database: `~/Library/Application Support/Meiji Sampler/library.db` ### Projects * projects directory: `~/Documents/Meiji Sampler/Projects/` * project extension: `.meiji` ### Bounces * bounce output directory: `~/Documents/Meiji Sampler/Bounces/` * DJ master recordings: `DJ Set YYYY-MM-DD HH-MM-SS.wav` in the same directory, with collision suffixes and numbered `Part 2` rollover files when needed * interrupted DJ master recordings: retained `.partial` files in the same directory. These are recovery artifacts, not completed bounces. ### Recordings * recordings directory: `~/Music/Meiji Sampler/recordings/` * Splice licensed downloads: `~/Music/Meiji Sampler/splice/` ### Packs * packs directory: `~/Library/Application Support/Meiji Sampler/Packs/` ### Cache * cache directory: `~/Library/Caches/Meiji Sampler/` ## Linux paths ### App state and config * config directory: `$XDG_CONFIG_HOME/meiji-sampler/` (default `~/.config/meiji-sampler/`) ### Data * data directory: `$XDG_DATA_HOME/meiji-sampler/` (default `~/.local/share/meiji-sampler/`) ### Cache * cache directory: `$XDG_CACHE_HOME/meiji-sampler/` (default `~/.cache/meiji-sampler/`) ### Recordings * recordings directory: `~/Meiji Sampler/recordings/` when no audio directory is available * Splice licensed downloads: `~/Meiji Sampler/splice/` when no audio directory is available ### Packs * packs directory: `$XDG_DATA_HOME/meiji-sampler/Packs/` (default `~/.local/share/meiji-sampler/Packs/`) Project, bounce, and recording paths may resolve into your standard user document and audio directories when available. DJ master recordings use the Bounces directory on every platform. They are stereo IEEE Float32 32-bit WAV files at the active output rate. Both output modes capture the safety-limited post-PerformFX software master. REV7 hardware mode captures the unity-gain sum of both processed deck stems before the physical mixer, excluding physical EQ, faders, crossfader, microphone or auxiliary input, and master processing. See [File Formats](/reference/file-formats#dj-master-recording-output) for the source and format, and [File And Project Problems](/troubleshooting/files-and-projects#recover-a-dj-recording-partial) before recovering a `.partial` file. ## Windows paths ### App state and config * config directory: `%APPDATA%\Meiji Sampler\` ### Data * data directory: `%LOCALAPPDATA%\Meiji Sampler\` (includes the `cache\` subfolder) ### Recordings * recordings directory: `%USERPROFILE%\Music\Meiji Sampler\recordings\` * Splice licensed downloads: `%USERPROFILE%\Music\Meiji Sampler\splice\` ### Packs * packs directory: `%LOCALAPPDATA%\Meiji Sampler\Packs\` ## Project structure A `.meiji` project stores: * format version * project name * created and saved timestamps * app version * flattened session state The session state can include: * pad assignments * mixer values * loops * scenes * overrides for trim, chop, loop mode, and sample-type metadata ## Recovery behavior Persistence writes use backup files and recovery helpers where possible. If a primary file is corrupt, the app may attempt to restore from a `.bak` sibling. ## Uninstalling To fully remove Meiji Sampler, delete the application and then remove the directories listed above for your platform. * On **macOS**, delete `~/Library/Application Support/Meiji Sampler/` and `~/Library/Caches/Meiji Sampler/`. * On **Linux**, delete the config, data, and cache directories. * On **Windows**, delete the `%APPDATA%\Meiji Sampler\` and `%LOCALAPPDATA%\Meiji Sampler\` directories. Packs are stored inside the data directory — deleting it removes them automatically. On macOS and Linux the cache is a separate directory. On Windows the cache folder is nested inside the data directory, so deleting the data path removes both. To free up disk space while keeping your config, delete only the Packs subfolder from the data directory. ## Related pages * [File Formats](/reference/file-formats) * [Settings](/reference/settings) * [FAQ](/reference/faq) * [DJ Mode](/guides/dj-mode#record-a-dj-set) # Supported Audio Formats Source: https://docs.sampler.meiji.industries/reference/supported-audio-formats Quick reference for the sample formats that are safe to browse, preview, assign, and edit. # Supported audio formats The documented sample formats are: * `WAV` * `AIFF` * `AIFF-C` * `MP3` * `AAC` * `M4A` * `FLAC` * `OGG` * `ALAC` * `CAF` ## What this means in practice These are the safe formats for: * browser preview * pad assignment * chop and trim workflows * loop building * pulling audio into a session without guessing whether it will behave correctly ## Important distinction This page is about source sample formats. Meiji Sampler can also write other file types during normal use: * `WAV` for recordings and bounces * `MP4` for visualizer exports when enabled See [File Formats](/reference/file-formats) for the complete list. ## If a file will not load Check: * the file is one of the supported formats * the file is not corrupt * the path is still valid Then move to [File And Project Problems](/troubleshooting/files-and-projects) if needed. # Changelog Archive Source: https://docs.sampler.meiji.industries/release-notes/changelog High-level map of the major Meiji Sampler release families and what changed in each one. # Changelog archive The canonical engineering changelog lives in the repository root at `CHANGELOG.md`. Use this page when you remember the era of a feature or workflow change, but not the exact patch number. ## 0.15.x * projects and dirty-state handling * chop gate mode * Linux audio backend improvements * stronger persistence and recovery behavior * updater and terminal-compatibility fixes ## 0.14.x * smart loop detection * redesigned channel detail view * Linux support and device-selection improvements * export sample-rate correction ## 0.12.x to 0.13.x * visualizer video export * analytics opt-out * hotkey formatting cleanup * factory pack workflow improvements ## 0.8.x to 0.10.x * Splice browser integration * external library detection * recording UX overhaul * signed macOS builds ## How to use this page Start here to identify the right release family, then go to the root `CHANGELOG.md` if you need patch-by-patch detail. If you are upgrading an existing workflow, also read [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes). # Release Notes Source: https://docs.sampler.meiji.industries/release-notes/index Track current release highlights, broader version history, and upgrade notes that affect workflow. # Release Notes Release notes are where product history becomes practical. Use this section to see what changed, whether it affects your workflow, and which docs to read next. ## In this section * [Meiji Sampler 1.0.0](/release-notes/v1-0-0) * [What's New](/release-notes/whats-new) * [Changelog Archive](/release-notes/changelog) * [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes) ## Which page should you read? * [What's New](/release-notes/whats-new) if you want the current release story in plain language * [Meiji Sampler 1.0.0](/release-notes/v1-0-0) if you want the major release overview * [Changelog Archive](/release-notes/changelog) if you are trying to place a feature in the right release family * [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes) if an update changed shortcuts, paths, or workflow assumptions # Upgrade And Migration Notes Source: https://docs.sampler.meiji.industries/release-notes/upgrade-and-migration-notes What to watch for when newer Meiji Sampler versions change storage, terminal behavior, or workflow assumptions. # Upgrade and migration notes This page highlights the upgrades most likely to affect existing users. ## DJ pitch-range migration Saved DJ pitch-range values of `20` migrate automatically to the REV7-native `16`. The supported ranges are `±8%`, `±16%`, and `±50%`. No manual configuration change is required. The saved value is one global default for the next track load on either deck. Active decks keep their current range until their own next track load. See [DJ Mode](/guides/dj-mode) and [Settings](/reference/settings#dj-category). ## Pack management and persisted assets The server migration adds structured redeem copy, creator attribution, accent color, explicit asset ordering, durable management audit events, and retryable storage cleanup jobs. Existing packs and object keys are preserved automatically. No manual data conversion is required. Pack status changes now pass through publish readiness. A pack needs customer copy, artwork, an audio preview, and exactly one primary ZIP before it can become live. Permanent deletion is limited to an unused draft. Archive any pack that has issued cards, entitlements, or customer history. Pack **Description** and **Supporting copy** values are stored as Markdown and safely rendered on customer pages and previews. Existing plain-text copy remains valid Markdown, so no data migration or manual conversion is required. Titles, headlines, labels, prices, and button text remain plain text. Creators and administrators should preview all seven customer states before publishing. Preview pages are read-only and do not affect funnel analytics. ## Turntablism scratch motion and Humanize Twiddle, Prism, the Tear family, and the chirp portion of Joe Cooley now follow constant-speed TTM lines. Existing assignments keep their selected Pattern, Grid, and other saved values, but these strokes may sound steadier in pitch than earlier builds that used eased curves. FX Params adds a Humanize control to every Turntablism assignment. Existing scratch control sets are completed from the preset defaults when opened. Humanize defaults range from `10%` for precise click routines to `30%` for looser hand textures; set it to `0%` for exact authored geometry. Pattern choices are migrated by raw append-only index, so extending the twenty-seven-stroke catalog does not remap older selections. Rate, Gate, and Swing rows now follow the selected Pattern. Hidden values remain saved and return if you switch back. Rate appears only for hand rubs and Transformer, Gate only for Transformer, and Swing for non-Transformer patterns. ## Vim-style navigation key remaps The addition of `h`/`j`/`k`/`l` as arrow key alternatives required remapping several shortcuts that previously used those bare keys: | Context | Old key | New key | Action | | ----------- | ------- | --------- | -------------------------------------- | | Loops row | `h` | `Shift+H` | Shorten loop by half | | Pads row | `j` | `Shift+J` | Toggle pad jump mode | | Perform tab | `k` | `Shift+K` | Kill all active PerformFX | | Browser | `l` | `Shift+L` | Toggle loop mode for the selected file | | Trim view | `l` | `o` | Toggle loop mode | If you have muscle memory for any of these shortcuts, update your habits to the shifted or new key. Arrow keys continue to work exactly as before — the vim keys are purely additive alternatives. Both kitty-protocol terminals (which send `Shift+lowercase`) and legacy terminals (which send uppercase) are supported. **Trim view movement semantics changed:** Previously, bare `h` was fine (small-step) movement and `Shift+H` was coarse. Now bare `h`/`l` are coarse (matching the arrow keys) and `Shift+H`/`Shift+L` are fine. If you relied on `h` for precision trimming, use `Shift+H` instead. ## PerformFX CLAP A/B audition controls removed The PerformFX CLAP A/B audition controls have been removed. The `[SHIFT+A]`, `[SHIFT+B]`, `[SHIFT+N]`, and `[SHIFT+S]` audition/notes/export shortcuts and the "CLAP" FX Library group no longer exist — they drove a non-functional experiment (the candidate lane was never wired to audio). No user data or bindings are affected: no settings ever persisted CLAP references. The unshifted `[b]` bank toggle is unchanged. Effect-quality work now lands directly in the built-in engines. ## PerformFX fixed slots and FX Params The Perform tab now uses ten fixed slots per bank. `[1]` through `[9]` and `[0]` trigger those slots directly when focus is on a fixed slot bank. When focus is in the FX Library, number keys no longer assign Bank A first, assign Bank B second, and then fall through to fixed-slot triggering. The shown preview keys audition the focused library preset. Most presets use `[1]` through `[4]`; DJFX Looper uses `[1]` through `[6]` for `1/2`, `1/4`, `1/8`, `1/16`, `1/32`, and `1/64` grid captures. Press `[A]` to open the Assign dialog, choose Effect, Preset, and FX Slot, then press `[1]` through `[0]` to place the selected variant. `[ENTER]` now opens FX Params for the focused slot or FX Library preset. The old `[E]` shortcut is removed. Use `[DELETE]` or `[BACKSPACE]` on a focused assigned slot to clear it after confirmation. Legacy PerformFX bank arrays are migrated into fixed slots by order when they used letter keys, while numeric legacy keys still map to their matching fixed slots. ## PerformFX timing, release, and tail controls PerformFX slot timing is now split into Quantize Start and Quantize End. Existing saved start quantize settings continue as Quantize Start, while Quantize End defaults to `Off`. Quantize End only applies when One Shot is `Off`; one-shot slots use Length as the total engaged duration and can run up to `20,000 ms`. The active bank row now shows `Quantize Bank: Default` when it is using each slot's saved Quantize Start value. Press `[q]` to force the active bank to Current Grid, Next Grid, Next Bar, or Next 2 Bars without rewriting the individual slot settings. Tail-bearing echo, delay, throw, and reverb presets now expose Tail and default to `Ring Out`, so stopping transport lets the existing tail decay. Other PerformFX types hide Tail and keep the `Cut` behavior. Echo and delay presets also expose Throw for feeding only a selected tempo window into the delay before switching to wet-only repeats. Engage now includes `Always On` for slots that should activate automatically and ignore triggers while assigned. Built-in library presets default to Smart Hold, but saved fixed slots and custom presets keep their explicit saved engagement mode. ## Tempo moved out of Project in Settings The project tempo editor lives in its own **Tempo** category in the Settings sidebar instead of being a row inside **Project**. Open it with `Settings → Tempo`. The behavior is unchanged — type a value, nudge with arrows (hold `Shift` for fine adjustment), tap `Space` for tap tempo, apply with `Enter`, reset with `R` or `Delete` while editing. The page still requires at least one recorded loop to establish a timing source. Before the first loop, pressing `[R]` now opens First Loop Setup instead of arming immediately. The default **Fixed** mode applies a fixed `1 BAR` first-loop Length, auto-stops at that bar boundary, sets `90.00 BPM`, initializes Quantize from Settings with `OFF` as the default, enables a `4 BEATS` count-in, and uses a `REC + PLAY` click. Highlight Tempo to type a BPM directly, or press `[SPACE]` anywhere in the dialog to tap tempo with an audible click, return to Fixed mode, and focus Tempo. Pressing `[ENTER]` during a Fixed take can end recording early, but the loop remains the configured fixed Length and queues as `OVR+` until the next fixed interval so overdub continues as the loop cycles. Switch Mode to **Auto** for free recording where the loop ending defines project tempo; pressing `[ENTER]` to end that first take now continues directly into overdub. `[ESC]` cancels the dialog without arming. If you start an ARMED loop by pressing a pad or chop while record count-in is enabled, that key now plays immediately. Pad and chop hits during the final count-in beat are recorded at `0:00`, so slightly early playing still lands on the loop downbeat. Earlier count-in hits are consumed as unrecorded start-signal updates. ## Settings promoted to a top-level tab Settings is now a dedicated top-level tab instead of a modal overlay. Open it with `,` or `Tab` cycling through Create → Perform → MIDI → Settings. The tab uses a two-pane layout: a **sidebar** listing categories on the left and a **content pane** showing fields on the right. Use `Up`/`Down` in the sidebar to switch categories, `Enter` or `Right` to enter the content pane, and `Esc` or `H` to return to the sidebar. What moved: * Project save, open, and new actions are in the **Project** category (the default). Separate project save/load modals have been replaced by inline controls within Settings. * Audio host, output device, buffer size, sample rate, quantization, and MIDI settings are in the **Audio** category. * Stem separation and factory sounds are in the **Addons** category. * Tutorial, account, analytics, video encoder, version/updates, and factory reset are in the **General** category. Global shortcuts (`Ctrl+S`, `Ctrl+Shift+S`, `Ctrl+O`, `Ctrl+N`) continue to work from anywhere. The `,` shortcut still opens Settings. Settings are saved automatically when leaving the tab. ## F1-F4 navigation shortcuts removed `F1`, `F2`, `F3`, and `F4` no longer jump directly to top-level tabs. Use `Tab` to cycle through available tabs and `,` to open Settings directly. If your PerformFX configuration contains bindings assigned to F-keys, those unsupported bindings are removed automatically on the first launch after upgrade. The cleaned configuration is saved immediately so the migration warning appears only once. ## Linked and copied sample playback Assigning the same local sample to another channel now opens a choice: * `Link` keeps loop, trim, chop, chop-gate, and pattern-end settings shared through the file defaults. * `Copy` snapshots the source channel's playback settings into the target channel so later edits stay independent. * Browser and details preview still edit file-level defaults. * Assigning a different file to a channel resets that channel back to linked behavior for the new sample. See [Per-Channel Playback](/guides/per-channel-playback) for the full guide. ## Time-stretch engine migration The time-stretch engine was replaced with a new formant-preserving spectral stretcher. This is a quality improvement with no workflow changes. What to expect on first launch after updating: * **Legacy stretch cache purged automatically.** Cached `.wav` files from the previous engine (schema versions before v4) are deleted on startup. This is a one-time cleanup. * **First stretch after update takes longer.** Because the cache was cleared, the first time you play a stretched loop it will be re-processed. Subsequent plays use the new cache. * **No action required.** The migration is fully automatic. If you notice any stretch-related issues, see [Audio And Playback Problems](/troubleshooting/audio-and-playback). ## Loop loads can auto-enable Sync Samples that load with Loop: ON now automatically receive the best-fit Sync value when a session clock exists. This is enabled by default at `Settings → Audio → Stretch Loops on Load`. Turn it `OFF` if you prefer to set Sync manually after loading loops. Existing projects keep their saved Sync values. Pads from older project files that already had an active Sync value are treated as auto-assigned so future Loop: ON sample loads can recalculate the best-fit value. Pads that had Loop: ON with Sync set to Off are still eligible for automatic Sync the next time a sample loads while the setting is on. ## Auto-normalized project tempo Projects saved by pre-release builds can contain an auto-normalized tempo override where `bpm_override_is_manual` is `false`. These projects keep their displayed project BPM on load, but playback uses the raw recorded timing until you manually change the project tempo. ## 0.15 project workflow changes If you are coming from older session-only workflows: * explicit `.meiji` project files are now part of the normal save/load flow * dirty-state and overwrite confirmation are more prominent ## Persistence hardening Recent releases improved: * atomic writes * backup recovery * corruption fallback behavior That is good news, but it also means state and project handling now have clearer expectations. Save a real project for anything important. ## macOS path migration The codebase includes migration logic for older macOS path variants, including: * legacy `~/.config/meiji-sampler/` * lowercase `~/Library/Application Support/meiji-sampler/` Current macOS docs should assume: * `~/Library/Application Support/Meiji Sampler/` ## Terminal compatibility Recent releases also improved behavior for older Apple Terminal builds that lack full true-color support. If the UI looked corrupt in older Apple Terminal versions, update first before troubleshooting layout issues in depth. ## Linux audio changes Recent releases added or improved: * JACK backend support * ALSA device handling * Linux release compatibility work If you are upgrading on Linux, re-check your audio host and device settings. # Meiji Sampler 1.0.0 Source: https://docs.sampler.meiji.industries/release-notes/v1-0-0 Meiji Sampler 1.0.0 turns the keyboard-first terminal sampler into a complete production sampler with MIDI, vintage sound, chopping, Splice, and official docs. # Meiji Sampler 1.0.0 Meiji Sampler 1.0.0 is the release where the fast terminal sample workflow becomes a complete production sampler. The core loop is still the same: **Browse -> Assign -> Loop -> Scene -> Mix**. What changed is how far that workflow can now go. You can play Meiji Sampler from a MIDI controller, shape channels with classic sampler character, turn long recordings into playable chops, license Splice sounds through official MCP support, and learn the whole system through the new documentation site. This is a major release for existing users and a cleaner starting point for new users. ## Highlights * **MIDI controller performance**: map external pads, knobs, faders, transport, loops, scenes, mixer mutes, and individual chop slices, with a built-in MIDI Monitor for identifying devices and events. * **Splice support**: browse Splice's growing library of over 2 million royalty-free loops & samples, then license and download with a single keypress. * **Official documentation**: structured Start Here, Learn, Guides, Recipes, Reference, Troubleshooting, and Release Notes pages at [docs.sampler.meiji.industries](https://docs.sampler.meiji.industries). * **Vintage sound engine**: SP-1200 character (refined against a real SP-1200), ASR-10 Boost weight, and rebuilt S950-style Butterworth filtering on every channel. * **Loop sync, stretch, and smarter chopping**: new formant-preserving timestretching engine, transient-aware trim navigation, autochop with safe boundaries, and six new audio formats. * **Meiji Sampler Radio**: three live 24/7 stations — Drums, Originals, and Originals II — usable as in-app sample sources or online at [radio.meiji.industries](https://radio.meiji.industries). * **Production workflow polish**: tabbed Settings with project management, tap tempo, linked pad triggers, choke groups, per-channel playback overrides, vim-style navigation. ## MIDI Controller Performance Meiji Sampler now has a full MIDI mapping workflow. External controllers can behave like a physical performance surface for the terminal sampler, so you can keep the speed of keyboard-first production while playing pads, chops, loops, scenes, transport, and mixer mutes from hardware. The MIDI tab includes a **MIDI Learn flow**, a **built-in MIDI Monitor** for identifying devices and inspecting incoming events in real time, and mapping management. Move a control, choose the action, confirm the mapping, and keep building. You can map: * pad triggers and individual chop slices * loop slot actions, mute, solo, undo, and clear * scene trigger, cue, and stop behavior * mixer channel mute actions * transport play/stop and record/overdub independently MIDI mappings also work while Channel Detail or Chop views are open, which means you can inspect or edit a channel without giving up controller performance. Read next: [MIDI And External Gear](/guides/midi-and-external-gear) and [MIDI Implementation](/reference/midi-implementation). ## Splice Support Sign in with a Splice account and browse Splice's growing library of **over 2 million royalty-free loops & samples** without leaving Meiji Sampler. Open the Splice browser, search with natural-language queries and filters, preview results, then press `Enter` to **license and download a sound with a single keypress** — full quality, straight into a channel. Licensed files are stored locally by Splice sample id with a license sidecar, so the same sound can be loaded again without re-licensing. The Splice browser also received a richer browse experience and better post-download flow. When a licensed sound loads, Meiji Sampler can take you straight into Trim so you can start shaping it immediately. Read next: [Splice Integration](/guides/splice-integration) and [Splice And Network Problems](/troubleshooting/splice-and-network). ## Official Documentation Meiji Sampler now has official documentation at [docs.sampler.meiji.industries](https://docs.sampler.meiji.industries). The docs are built around real user intent rather than a feature dump: * **Start Here** for installation, setup, and first sound * **Learn** for the core Browse → Assign → Loop → Scene → Mix workflow * **Guides** for deeper feature areas * **Recipes** for common production tasks * **Reference** for shortcuts, settings, effects, paths, MIDI, and formats * **Troubleshooting** for audio, files, recording, Splice, MIDI, and performance * **Release Notes** for version-specific changes and upgrade guidance The goal is simple: new users should be able to make sound quickly, learn the full workflow without outside tutorials, and find exact answers when something goes wrong. Read next: [Start Here](/start-here), [Learn](/learn), and [Reference](/reference). ## Vintage Sound Engine 1.0.0 adds a deeper character layer for producers who want classic sampler color without leaving the terminal. ### SP1200 SP1200 is the headline sound feature in this release. Each channel can run through an SP-1200-inspired DSP chain with 12-bit crunch, 26.04 kHz converter behavior, tape-style saturation, and selectable output styles modeled after the original machine's output character. The available SP1200 styles cover raw unfiltered grit (outputs 7 & 8), dynamic VCF behavior for transient snap (1 & 2), darker low-pass output for kicks and bass (3 & 4), and gentler filtering for melodic material (5 & 6). SP1200 sits after pitch in the signal chain so aliasing and quantization respond to pitched content, just like the real hardware. ### ASR-10 Boost ASR-10 Boost adds a per-channel Ensoniq-style weight control with Lo, Mid, and Hi levels. It combines saturation, limiting, and output filtering to push drums, bass, and chops forward without requiring a separate effects chain. ### S950 Filter Improvements The HPF and LPF were rebuilt as S950-style Butterworth filters with the correct steep 36 dB/octave behavior, flatter passband response, smoother cutoff changes, and better PerformFX filter response. The result is cleaner carving when you want precision and stronger vintage filter behavior when you want movement. Read next: [Mixer And Effects](/guides/mixer-and-effects) and [Effects And Parameters](/reference/effects-and-parameters). ## Loop Sync, Stretch, And Chopping Long samples are much easier to turn into playable material, and stretched material now sounds dramatically better. ### New timestretching engine The time-stretch engine has been replaced with a formant-preserving spectral stretcher. Melodic and vocal content survives stretching with their character intact instead of getting smeared by the older engine. Synced chop stretch reuse eliminates redundant computation, and stem playback now applies time-stretching correctly alongside the rest of the channel. ### Intelligent Transient Snap The trim view now snaps the playhead to detected transients with subtle ghost markers, color-coded by frequency band so low hits, midrange attacks, and high-frequency details are easy to scan. Use `Shift+[` and `Shift+]` (or legacy `{` and `}`) to walk between snaps, `b` to filter by band, and `<` and `>` to adjust strictness. Snap targets are refined toward nearby zero crossings to reduce click risk. Press `a` to autochop the first ten accepted markers to `1-9,0`. ### Safer chopping workflow Chops and trim points snap to safe playback boundaries automatically. Confirm-before-replace protects existing autochops. Channel Detail gained sample offset controls and inline sample actions so you can manage assigned audio without leaving context. ### Six new audio formats The decode pipeline now reads MP3, AAC/M4A, FLAC, OGG/Vorbis, ALAC, and CAF in addition to WAV and AIFF. Read next: [Chopping And Slicing](/guides/chopping-and-slicing), [Per-Channel Playback](/guides/per-channel-playback), and [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo). ## Meiji Sampler Radio **Three new Meiji Sampler internet radio stations**, all live 24/7, that double as sample sources inside the app — perfect for inspiration and quick ideation: * **Drums** * **Originals** * **Originals II** Tune in directly from Meiji Sampler as a sound source, or listen anywhere on the web at **[radio.meiji.industries](https://radio.meiji.industries)**. Hear something you like? Sample, chop, and build with it inside the same workflow. ## Workflow Enhancements 1.0.0 also includes a long list of production workflow improvements that make daily use smoother: * **Dedicated Settings tab** with project, audio, addons, and general categories * **Project tempo control** with manual BPM override and tap tempo * **Per-channel playback settings** for linked or copied loop, trim, chop, chop-gate, and scene-end behavior * **Linked pad triggers** for layered sounds from one source trigger * **Choke groups** for hi-hats, mutually exclusive chops, and one-at-a-time sample groups * **Sample Offset** for small timing delays between layered sounds * **Row-aware transport behavior** for pads, loops, and scenes * **Vim-style navigation** with `h`, `j`, `k`, and `l` * **Caps Lock detection** with an in-app warning when keyboard state can affect shortcuts * **Settings source availability** so unavailable sources are easier to understand * **Random colors for loaded audio sources** for easier visual scanning Read next: [Settings](/reference/settings), [File And Project Management](/guides/file-and-project-management), and [Keyboard Shortcuts](/reference/keyboard-shortcuts). ## Recording, Export, And Source Support Recording review now includes peak normalization, so quiet takes can be boosted before you keep them. Bounce export now supports configurable WAV bit depth with 16-bit, 24-bit, and 32-bit float options. Source format support also expanded in the audio engine to include MP3, AAC/M4A, FLAC, OGG/Vorbis, ALAC, and CAF in addition to WAV and AIFF-family files. Read next: [Sampling From Audio Input](/guides/sampling-from-audio-input), [Exporting And Bouncing](/guides/exporting-and-bouncing), and [File Formats](/reference/file-formats). ## Platform And Distribution This release continues the push toward a more complete cross-platform sampler: * Windows Demucs CLI support, including ARM64 bundle work * Windows installer, font, and development build fixes * Linux and Windows development workflow improvements * Lower macOS deployment target to macOS 11.0 * Faster local test workflows and broader automated coverage Read next: [Installation](/start-here/installation), [Terminal Compatibility](/start-here/terminal-compatibility), and [Performance And System Problems](/troubleshooting/performance-and-system). ## Stability And Fixes This release includes many stability fixes across playback, trim, chop, stretch, loops, Splice, settings, and platform builds. Notable areas include: * more reliable loop start timing and playback event delivery * fixed stretched loop edges and synced chop stretch reuse * fixed chop playback with timestretching * better transient marker placement and first-marker autochop behavior * safer trim discard and autochop replacement confirmation * preserved downloaded samples when URL cache entries expire * fixed Windows ARM64 stretch and Demucs build paths * expanded unit and integration test coverage For the full engineering history, see [Changelog Archive](/release-notes/changelog). ## Upgrade Notes Most users can upgrade directly. There are a few workflow changes worth knowing: * Vim-style navigation moved some older single-key shortcuts to shifted alternatives. * Settings is now a top-level tab and project operations live there. * Some PerformFX feature flags were removed, so unsupported F-key bindings are cleaned up automatically. * The stretch cache schema changed. Old cache files are purged automatically and regenerated as needed. * Splice downloads now require signing in with a Splice account and are stored with the rest of Meiji Sampler's local audio assets. Read next: [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes). # What's New Source: https://docs.sampler.meiji.industries/release-notes/whats-new Meiji Sampler release notes and the release archive. # Upcoming fixes * Polished pack management across Admin and Creator Studio: file selectors are now accessible drag-and-drop zones with consistent stacked actions, supporting copy uses compact shared spacing, and all seven read-only customer-state previews sit beside **Overview**, **Experience**, and **Assets** with clear open icons. Customer recovery actions now match the full-width redemption controls, including visibly disabled preview states. * Restored the focused physical Sample Card redemption experience: creators can choose the silver-white, frost-brushed **Minimalist** theme or dark technical **Meiji** theme in Studio Experience, and that saved choice now covers every customer state. The selected palette styles the complete document and remains fixed across device color settings, with versioned assets preventing an older cached stylesheet from hiding a newly selected theme. Public pack and redemption pages present uploaded artwork as a physical card with a graceful fallback, subtle pointer and touch-scroll motion, reduced-motion safeguards, preview/delivery/value details, and post-redemption discovery across the creator and live catalog. Public discovery remains read-only and never exposes downloads, serials, storage keys, card batches, or drafts. See [Sample Cards And Packs](/guides/sample-cards). * DJ mode now has its own output buffer at `Settings → DJ → Buffer Size`, independent of `Settings → Audio → Buffer Size`. It defaults to `128 samples (2.90 ms)` at `44100 Hz` while the sampler stays at `256`, cutting about 2.9 ms from every jog, scratch, and hot cue: the deck path renders a frame at a time and drains every pending control per frame, so the output buffer is the dominant control-to-speaker delay. The default stops at `128` rather than `64` because the deck's windowed-sinc reader costs roughly 2.25× per frame and a 64-frame callback leaves too little headroom on slower machines. `64` remains available for the tightest deck, and `256` or higher remains the crackle escape hatch. There is no restart prompt — the size applies the next time DJ audio opens, on re-entering the `DJ` tab or the next controller hardware attach — and existing configs pick up the new default without editing. See [DJ Mode](/guides/dj-mode#decks), [Settings](/reference/settings#dj-category), and [Audio And Playback Problems](/troubleshooting/audio-and-playback). * Restored the REV7 hardware-output contract after a fallback regression could open the controller as a ten-channel DJ graph. Meiji Sampler now keeps the proven four-channel deck route, tries the controller's current native sample rate before broad advertised-rate fallbacks, and preserves the configured frame buffer. Runtime diagnostics report the actual CPAL stream width and rate. This protects ordinary playback and stopped-motor jog audio from channel-framing and unnecessarily short callback deadlines. * Added contextual PerformFX rows to DJ mode. Every enabled, nonblank bank appears between the deck blocks and dual waveforms, with the same assigned, queued, active, release-pending, releasing, and missing states as the Perform tab. `[↑/↓]` moves focus through Decks, the visible banks, and Library; `[TAB]` remains exclusively reserved for switching application tabs. `[1]`–`[9]`, `[0]` trigger the focused FX bank; Decks focus keeps `[1]`–`[8]` for hot cues, and Library consumes digits. `[A]` or `[B]` always returns focus to the selected deck. See [DJ Mode](/guides/dj-mode#performfx-focus) and [Keyboard Shortcuts](/reference/keyboard-shortcuts#dj-tab). * The Pioneer DDJ-REV7 can now be powered on or off while Meiji Sampler is open. A runtime MIDI connection reports `Pioneer DDJ-REV7 connected — decks are live`; disconnecting reports that keyboard control continues while decks remain on system output. The controller's MIDI controls can arrive before its audio interface or optional high-resolution HID display, so Meiji Sampler keeps the set running and attaches those delayed services when they become available. Restarting is only an escalation after the controller has completed booting and USB, competing DJ software, and a reconnect have been checked. Automated coverage uses virtual CoreMIDI add/remove devices, so this change does not claim physical REV7 boot-timing certification. See [DJ Mode](/guides/dj-mode#pioneer-ddj-rev7-plug--play) and [Audio And Playback Problems](/troubleshooting/audio-and-playback#a-rev7-does-not-appear-after-powering-on). * A delayed REV7 HID endpoint now retries independently from hardware audio. When it appears, both loaded decks replay their complete waveform, position, pitch, range, and BPM state instead of receiving transport updates on a blank platter timeline. * Corrected the REV7 high-resolution waveform and remaining-time software timeline for the reported 96.6-second track, which is intended to prevent the prior stop near `-01:00.4`. Post-fix physical display behavior awaits hardware confirmation. * Restored clean, responsive controller audio in DJ mode. Every controller report now dispatches with its bounded controller snapshot — jog and pitch-fader gestures no longer wait out a 5 ms aggregation window before reaching the deck, removing up to 5 ms of dead time plus its timer jitter from every scratch and pitch move. The anti-warble smoothing moved into the deck, which estimates platter velocity on a fixed 5 ms grid spanning roughly the last 20 ms of reports — a fixed estimation grid keeps the encoder's integer tick counts from beating against the estimate and wobbling the pitch, and a wow-and-flutter regression harness now pins that steadiness against a simulated jittery 1 kHz platter stream. The deck follows the velocity curve continuously instead of teleporting its audible playhead to every report, a direction change flushes the window so reversals turn around immediately, and cue capture still uses the event-time controller position. Bend mode measures the platter against its motor over the same coalesced window, so encoder quantization can no longer masquerade as a hand and flutter the pitch. Hot cues and scratch onset use a sample-rate-derived 1 ms click-safe transition; ordinary play, pause, and release keep their 5 ms transport fade. DJ output honors `Settings → DJ → Buffer Size`, so `64 samples` is available for the lowest latency while `128` (the default) or `256` remain effective crackle fallbacks. Deterministic hardware-path gates cover 64-, 128-, and 256-frame callbacks, with hot-cue level reaching 99% in 43 frames (0.975 ms at 44.1 kHz) after command admission. Letting go of the platter is timed the same way: the scratch release, and the pulse nudge snapping back to zero offset, are now checked every 2 ms instead of once per 33 ms interface frame, so the track comes back under the hand without up to a frame of extra delay. * DJ deck controls now use a bounded real-time command mailbox without silently moving the UI ahead of audio. If a transport, cue, pitch, keylock, nudge, sync, or scratch action cannot be admitted, the deck keeps its prior visible state and reports `not applied — audio queue busy` so the action can be retried. * Added DJ master recording on the DJ tab. Press `[R]` to start or stop the safety-limited post-PerformFX software master, with a persistent red `REC mm:ss` clock and dynamic library-footer command. `[CTRL+R]` still opens input recording. DJ set files are stereo IEEE Float32 32-bit WAVs at the active output rate in Bounces, named `DJ Set YYYY-MM-DD HH-MM-SS.wav`, with collision suffixes and numbered `Part 2` rollover before classic WAV reaches its size limit. Both output modes record the software master. REV7 hardware mode records the unity-gain sum of processed deck stems before the physical mixer, so physical EQ, faders, crossfader, microphone or auxiliary input, and hardware master processing are excluded. Overflow, tap, disk, and finalization failures retain a `.partial` recovery artifact that is never announced or scanned as a completed bounce. See [DJ Mode](/guides/dj-mode#record-a-dj-set), [File Formats](/reference/file-formats#dj-master-recording-output), and [File And Project Problems](/troubleshooting/files-and-projects#recover-a-dj-recording-partial). * DJ pitch ranges cycle per deck as `±8% → ±16% → ±50%`. Use `[P]` for the focused deck or the Pioneer DDJ-REV7 `TEMPO RANGE` button for its owning deck. A change immediately reinterprets only the owning deck's physical tempo fader, then saves one global default for the next track load on either deck. Settings adds a `DJ → Pitch Range` default for later track loads, and persisted `20` values migrate to the REV7-native `16` on disk. On the optional high-resolution jog surface, the platter now receives that owning deck's live tempo-range slot instead of remaining fixed at `±8`, and its BPM uses the same live post-pitch calculation as the TUI. REV7 hardware has confirmed the corrected BPM readout. The controller, TUI, and audio engine now use the same native `±8`, `±16`, and `±50` ranges end to end. See [DJ Mode](/guides/dj-mode), [Keyboard Shortcuts](/reference/keyboard-shortcuts#dj-tab), [Settings](/reference/settings#dj-category), [Audio And Playback Problems](/troubleshooting/audio-and-playback#a-dj-platter-bpm-is-implausible-or-stale), and [MIDI And Sync Problems](/troubleshooting/midi-and-sync#the-rev7-tempo-range-or-fader-feels-wrong). * **DJ mode now detects beatgrids.** Load a bounce that predates beatgrid tagging — or any imported track — and Meiji Sampler analyses its tempo and first beat in the background, writes the grid into the file in Serato's format, and caches it so every later load is instant. `[S]` became a real DVS-style SYNC at the same time: it matches tempo *and* snaps the deck onto the other deck's beat, click-free, instead of leaving the phase to your nudge. Pressing play on a synced deck now enters on the other deck's phase too. Detection leans toward the slower tempo reading — an 85 BPM grid on a 170 BPM track still puts beats on beats — and `[;]` / `[\']` halve or double it in one keypress, with `[,]` / `[.]` shifting the anchor. A tempo the analyser was unsure about is marked `84.0? BPM` so you know to trust your ears. See the [DJ Mode guide](/guides/dj-mode). * Redesigned the `DJ` tab around a horizontal-waveform layout. Both decks' waveforms now run full width in their own deck colors and scroll under a fixed center playhead, with a beat ruler carrying bar numbers on every downbeat and hot cues marked the way chop markers are in the trim view — the cue number running as a colored column down the full height of the deck. A phase-match strip between the two waveforms draws deck A's beats above the line and deck B's below, turning white where they land together — beat-matching becomes something you see rather than count. The deck blocks gained hot-cue chips tinted in each cue's own color, a full-track overview strip with the played portion dimmed, and a `VINYL` badge alongside `SYNC` and `KEYLOCK`. Library BPMs are tinted by how reachable they are from the focused deck — green for a straight match inside the pitch range, amber at half or double time, grey when out of range. New `[Z]` / `[X]` keys zoom the waveform window between 1.5 s and 24 s, and a taller terminal now spends its extra rows on the waveform instead of the track list. See the [DJ Mode guide](/guides/dj-mode). * Standardized Admin and Creator Studio forms on polished Flowbite controls. Pack **Description** and **Supporting copy** fields now provide a rich text toolbar while saving Markdown, and public redemption pages plus every preview that displays pack copy render it safely. **Publish readiness** is now an actionable five-step flow that opens the exact unfinished field. Existing plain-text pack copy continues to work without conversion. See [Sample Cards And Packs](/guides/sample-cards). * Added a shared Flowbite **pack management workspace** for creators and administrators. It covers complete pack CRUD, customer experience copy and accent customization, artwork/audio/ZIP persistence, ordering and primary-file selection, card operations, publish readiness, durable audit history, archive versus guarded deletion, retryable storage cleanup, and read-only previews of all seven customer redemption states. * Removed the Auto Pitch, Vocoder, and Harmony entries from the PerformFX Library. These SP-404MKII vocal input FX were riding placeholder engines that had nothing to do with the vocal processing their names promise; they will return if and when real pitch-tracking and vocoder engines ship. Existing pad assignments referencing them show as `MISSING` and can be reassigned. * Added a high-resolution jog surface for the Pioneer DDJ-REV7, on by default behind `dj.hi_res_jog` in `config.json`. It gives scratch-grade jog resolution — 10,080.7 encoder ticks per platter revolution, streamed up to the device's 1,000 messages-per-second cap, instead of the public surface's coarse direction ticks at 19 to 131 reports a second — and motorized platter drive: playing a deck spins its physical platter and pausing brakes it, with about a second of coast-down. A REV7 therefore scratches at full resolution the first time it is plugged in; the surface is chosen at connect time, so setting `dj.hi_res_jog` to `false` to keep the controller's own idle jog display takes effect on the next replug. Meiji Sampler also attempts to drive that surface's platter waveform and live post-pitch BPM through the cosmetic HID endpoint; if it cannot open, the display may remain blank without affecting control or audio. Physical display behavior is not yet signed off. See the [DJ Mode guide](/guides/dj-mode). * DJ decks now have a silent lead-in ahead of the track, the way a record has groove before the music: wind back past `0:00` and the deck clock counts negative for 1.8 seconds — one full platter revolution at 33⅓ RPM — with the deck silent. That runway is what lets you cue a drop properly. Hold a baby scratch going in the silence while you wait for the "one", then let go: the deck counts in and the track begins at exactly `0:00` every time. Previously the playhead stopped dead at the first sample, so any forward motion played immediately and the only way to cue was to hold the record still and release it. Scratching off the end of a track now runs into silence too, instead of the last sample held flat. See the [DJ Mode guide](/guides/dj-mode). * DJ-mode scratching and fast varispeed playback are now band-limited to studio standards — the deck read adapts to platter speed and filters the frames it traverses through a windowed-sinc kernel, pushing the residual aliasing haze about 50 dB further down than a plain average, so hauling the jog wheel or pitching a deck up stays clean instead of turning harsh and digital. Platter velocity is tracked just as smoothly: each jog update now accelerates the record evenly across the interval it measured, so speeding up glides in pitch instead of climbing in 30-per-second steps. Normal-speed playback is unchanged. * Added a feature-flagged `DJ` tab preview that turns your Bounces folder into a performable library: every bounce appears automatically with its BPM, and loads onto two decks with pitch, nudge, hot cues on `[1]`–`[8]`, tempo SYNC, and keylock. Bounces carry Serato-native BPM, beatgrid, and cue metadata, so the same files open in Serato DJ with everything intact. Pioneer DDJ-REV7 support is plug and play for controls, LED feedback, jog motion, and hardware-mixer audio routing, with deck A on channels 1/2 and deck B on 3/4 so the physical faders, EQ, and crossfader do the mixing. See the [DJ Mode guide](/guides/dj-mode). * Physical sample cards: redeem a card on the web and the pack appears in Your Packs in the app. * Added a Turntablism PerformFX reference with an overview, 20 effect pages, all 101 preview permutations, exact TTM diagrams, and synchronized accessible `ahh.wav` / `fresh.wav` players. * Corrected the Turntablism motion transcriptions so **Twiddle**, **Prism**, the **Tear** family, and the chirp half of **Joe Cooley** use their authored constant-speed lines instead of sine or acceleration curves. Abrupt linear reversals now produce a short phantom micro-stop. FX Params adds **Humanize** (`0%`–`100%`, technique-specific defaults from `10%`–`30%`) to scale bounded cue, travel, and back-pull variation around the exact base curve. Pattern-dependent rows now follow the selected stroke, old saved Pattern indices remain stable as the catalog grows, and older scratch control sets gain the current Gate, Swing, Rate, and Humanize schema when opened. * Added two Turntablism strokes from a turntablist deep-dive — **Prism** (two constant-speed rub cycles phrased as one gesture: each push split in two by a dividing click, the peak reversals muted chirp-style, the pulls riding fully open — 1-2-3 | 1-2-3) and **Bubble** (multiple fingers tapping the playing record in quick succession, a dense run of near-instant pauses over a natural-pitch rub — the watery gurgle) — plus the constant-speed **Forward Tear** (2F-1B) and **Clover Tear** (2F-2B) as Pattern-choice strokes alongside the classic triplet Tear. Record pauses across the tear/tap family use explicit Holds with pop-free phantom edges, and **Pats** became the slow deliberate sibling it really is: a transform-like drag patted to a halt on the quarter notes, defaulting to a 1-bar cycle. Every scratch slot's Pattern choice lists twenty-seven TTM strokes. * Added a Swing knob to every Turntablism scratch slot (`0`–`1` in FX Params). Swing warps pairs of stroke cycles into the pocket — the first stroke of each pair stretches while the second compresses, up to full triplet swing — and because a scratch is a physical record motion, the pitch follows: the stretched stroke reads slower and lower, the compressed one faster and higher, exactly like a swung hand. Straight playback is untouched at `0`; the Transformer keeps its own Swung gate mode instead of the knob. * Redesigned the Transformer as the real closed-fader technique: a very slow half-speed drag (a low growl spanning two divisions) with the fader closed at rest and chopped open on the tempo grid like a hard tremolo. The chops lock to the track's subdivisions — the Rate control picks `8th` or `16th` chops — and a new Gate choice in FX Params selects the rhythm: **Straight** even chops, **Swung** off-beats delayed to triplet swing, or a **Rhythmic** funky 16th figure. Preview buttons carry the Swung, Rhythmic, and 16th-gate variants alongside the division sweeps. * Redesigned the crab scratches as a head-justified family with selectable finger counts, tuned from turntablist field notes. The clicks spring off the thumb in a fixed roll at the head of a constant-speed push — one 1/8 note of the track's tempo, clamped to the playable finger-spring range (\~200–420 ms) — dividing it into evenly-spaced sound onsets with every click re-opening exactly on the next onset, the final sound riding open for the rest of the stroke, and the pull-back heard fully open like a flare. The old Crab preset is now **4-Finger Crab** (four clicks, five sounds — the Q-bert fader bounce), a new **3-Finger Crab** preset joins it (three clicks, four sounds), and **Twiddle** is now the two-finger crab (two clicks, three sounds — the delayed two-click flare) built on the same linear triangle. All three default to a `1/2` division so the roll is followed by an audible ride-out, each crab preset's preview buttons offer the other two finger counts, and the FX Params Pattern choice lists all twenty-seven TTM strokes. * Added nine new Turntablism scratches as first-class library presets, each with its own card in the Turntablism group. Four are faderless techniques shaped by the record hand instead of the crossfader — **Uzi** (a rapid forearm-tension muscle-spasm vibration, the fastest tremolo-like scratch, with a shallow amplitude buzz), **Lazer** (an extreme-fast single-finger fling, a bright rising sweep and return, fader open), **Hydroplane** (a moist finger glide whose stick-slip friction bounces into a bubbly amplitude texture over a slow record), and **Pats** (one-hand phasing — tapping the record to halt its momentum mid-stroke for "clickless clicks", no fader). Five are advanced combos of motion and crossfader — **Boomerang** (a syncopated forward-slice, forward-dice, reverse-slice, reverse-dice run), **Autobahn** (the busiest combo, a six-note compressed micro-grid run with a couple of clicks), **Joe Cooley** (a fast electro scratch alternating a constant-speed chirp with an open swirl), **Twiddle** (a two-finger 2-to-3-click flare), and **Aquaman** (an off-beat undulating texture from asymmetrical off-center flare/orbit clicks). To power the faderless family the scratch engine gained a vinyl-hand amplitude-modulation track that multiplies alongside the phantom click and the crossfader as a third, independent gain. Every scratch slot's Pattern choice in FX Params lists all twenty-seven TTM strokes, and each new preset ships division-sweep and kin-stroke preview buttons like the rest of the group. * Removed the PerformFX CLAP library tab and its non-functional A/B preview cards. The audition lane, scoring/notes, and feedback export never shipped as working features; effect-quality work now lands directly in the built-in engines instead. * Added a Turntablism group to the PerformFX Library: eight real scratch presets — Baby Scratch, Chirp, Flare, Orbit, Crab, Transformer, Stab, and Scribble — built on a new engine that reproduces DJ scratch technique as a record-position curve with a crossfader gate, the exact model of the Turntablist Transcription Methodology (TTM). Each stroke's pitch follows the hand's speed, the record naturally micro-silences at every direction change (the TTM "phantom click"), and the crossfader chops are click-free. The patterns carry their inventors' lineage: the Forward cut (G.W. Theodore, popularised by Grandmaster Flash), the Transformer (DJ Spinbad; Jazzy Jeff and Cash Money), the Flare (DJ Flare, popularised by Q-bert), and the Crab and Orbit (Q-bert). Strokes phase-lock to the grid so cycles land on the beat, and each preset now rubs the exact grid slice engaged — the record is cued to the single division that just played and held fixed there, so one stroke covers one division of material instead of creeping across the following beats. `[1]`–`[5]` preview buttons sweep the stroke rate per preset (Chirp adds Forward and Military pattern buttons; Stab adds Drag), and every scratch slot exposes a Pattern choice in FX Params that can switch to any of the 27 TTM strokes. * Refined the Turntablism scratch engine for more realistic hand feel. Humanize can scale the \~7% faster back-pull, cue drift, and stroke-length drift down to exact geometry. The crossfader cut-in is direction-dependent (a fast \~1 ms open to catch the transient, a slightly slower \~2 ms close to stay click-free), while every read stays locked to the seeded grid slice. Baby, Flare, Orbit, and Twiddle add a `16th Rub` preview button; the Rate choice changes one complete rub per division to two, increasing reversal rate and pitch. * Every tape-stop-backed preset now exposes a Brake Curve control in FX Params, so you can dial the shape of the pitch dive. Low values give a hard, punchy snap; the middle is a constant-torque vinyl brake; high values give a long, lazy reel spin-down. Tape Stop keeps its eased tape curve by default, while Motor Kill, Vinyl Brake, the SP-404MKII Stopper, and the RMX-1000 Vinyl Brake keep the faster vinyl curve — so untouched presets sound exactly as before. Curve edits take effect on the next stop rather than jumping an in-flight brake. * Overdrive, Distortion, WrmSaturator, and Gt Amp Sim are now a real drive family instead of the vinyl simulator they all shared, so each has its own voice. Overdrive is a soft, warm push; Distortion is harder with a tight low end; WrmSaturator spans up to 48 dB of drive with independent ±24 dB EQ LOW/HIGH shelves; Gt Amp Sim runs a two-stage amp voicing with a BASS/MIDDLE/TREBLE stack and a six-way AMP TYPE (JC, TWIN, BG, MATCH, MS, SLDN) — amp-voiced approximations, not circuit models. All four use antiderivative-antialiased shaping so hard drive stays clean instead of aliasing, and each is loudness-matched so engaging it does not jump the level. * Back Spin (SP-404MKII and RMX-1000 Release Back Spin) now wheels the record backward from the current beat instead of playing a forward tape stop. It snapshots the audio that just played and spins it in reverse — accelerating from a standstill up to a fast reverse spin — with SPEED setting how hard the spin is and LENGTH riding the division. The spin-up and terminal stop are click-free. * Cassette Sim is a dedicated worn-cassette engine instead of a flanger reroute. Its wow/flutter now warbles the pitch of the whole signal (rather than a comb-filtering delay mixed against the dry), with TONE, HISS, AGE (0–60 years of high-end loss), DRIVE, WOW FLUT, and a CATCH control for occasional tape-stretch pitch sags. * Tremolo/Pan is now a smooth cyclic LFO tremolo/panner instead of a hard duty-cycle gate. TYPE picks TRE (equal-power amplitude) or PAN (equal-power left/right that preserves the stereo image), WAVE offers TRI/SQR/SIN/SAW1/SAW2/TRP with click-free edges, DEPTH sets the amount, and RATE runs free or tempo-locked with SYNC. * Ring Mod is now a true ring modulator (`input × carrier`) instead of a standalone siren oscillator, so it makes the input metallic and clangorous. FREQUENCY sets the carrier (30 Hz–4 kHz), SENS lets input level push the carrier frequency, POLARITY flips that push, BALANCE mixes dry/wet, and EQ LOW/HIGH shelve the modulated signal (±15 dB). * Slicer now runs a 16-step pattern instead of a plain duty-cycle gate: PATTERN selects one of twelve curated grooves, DEPTH sets how far off-steps are cut, SHUFFLE delays the even steps, and MODE picks LEGATO (adjacent on-steps merge) or SLASH (every step re-attacks). Existing gate presets keep their duty-cycle behavior. * Zan-Zou is now a multi-tap echo: MODE picks 2TAP, 3TAP, or 4TAP, tapping the delay line at successive intervals with alternate taps phase-inverted and each successive tap darker — the short answering-echo texture of the hardware. Every other delay preset stays single-tap. * Downer and To-Gu-Ro are now cyclic speed effects instead of a one-shot tape stop and a flanger. Downer ramps the playback speed down each RATE period then snaps back; To-Gu-Ro undulates the speed sinusoidally like a coiled spring. Both add a resonant tracking filter (FILTER / FLT MOD, RESONANCE) and, for To-Gu-Ro, an AMP MOD that dips the level with the speed; Downer's PITCH ON holds the pitch steady while the filter and level still cycle. Read-position lag is crossfaded back to the live head each cycle so it never drifts. * Crusher and Lo-fi are now real digital degradation instead of a vinyl simulator. Crusher runs a pre-filter, genuine sample-**rate** reduction (higher RATE holds each sample longer for a coarser, more lo-fi sound down to roughly 2 kHz), and a dry/wet BALANCE inside the effect. Lo-fi adds a nine-step LOFI TYPE ladder that pairs progressively lower sample rates with lower bit depths, a TONE tilt, and a post-CUTOFF low-pass. Both replace the old Vinyl Sim reroute that only added saturation and flutter. * The SP-404MKII Equalizer is now a real three-band EQ (low shelf, mid bell, high shelf, ±15 dB per band) instead of a plain low-pass, so it can boost and independently shape lows, mids, and highs. The Isolator and RMX-1000 Cut/Add ports share the same engine with a deep-cut "kill" range, so a band can be removed entirely. * Wah is now a real swept resonant filter instead of a static high-pass — the cutoff wobbles cyclically like a wah-wah pedal. PEAK narrows the band for more quack, MANUAL sets the centre frequency, DEPTH sets the sweep span, RATE sets the cycle (tempo-locked when SYNC is `On`), and FLT TYPE picks a wide LPF or narrow BPF. Super Filter now cyclically sweeps too, with an extremely sharp two-stage slope and LPF/BPF/HPF types — previously both just sat still. Both sweep in log-frequency space, so the sweep is symmetric in octaves above and below the centre. * Chorus and JUNO Chorus are now true dual-line BBD-style choruses instead of flangers. Each channel runs its own modulated delay with no feedback, so there is no stationary comb filtering — the old routing "sounded like a flanger" — and the two channels sweep in anti-phase for a wide stereo image (the way the Roland JUNO-106 inverts one of its two chorus outputs). Chorus exposes DEPTH, RATE (0.33–2.30 s cycle), BALANCE, EQ LOW/HIGH shelves (±15 dB), and a NOISE control for bucket-brigade hiss; JUNO Chorus models the JUNO-106 / JX sections with a five-way MODE (JUNO 1, JUNO 2, JUNO12, JX-1 1, JX-1 2), NOISE, and BALANCE at the hardware's fixed mix. The internal DP4 Lush, Stereo Chorus, and Ensemble Wash presets moved onto the same real chorus engine, so their lush widening survives; Daft Flanger stays a flanger. * Phaser is now a real allpass-cascade phaser instead of a flanger. It sweeps four allpass stages to move notches that are not harmonically spaced (a phaser, not a swept-comb flanger): DEPTH sets the sweep span, MANUAL the centre frequency, RESONANCE the feedback emphasis, RATE the cycle (tempo-locked when SYNC is `On`), and BALANCE the mix. The plain Flanger is unchanged. * Differentiated the SP-404MKII and RMX-1000 hardware-port presets that share an engine. Every delay/echo port now has its own feedback and repeat-brightness voicing (clean Sync Delay, echo-y Ko-Da-Ma, tight dark Zan-Zou, smooth TimeCtrlDly, band-colored BPF/HPF/LPF Echo, rising Spiral Up vs. sinking Spiral Down, washy Cloud Delay), the vinyl/saturation ports (303 vs. 404 VinylSim, WrmSaturator, Cassette Sim, Overdrive, Distortion, Gt Amp Sim) carry distinct character defaults, and SX Reverb, Reverb Up, and Reverb Down get their own sizes and decays — previously all presets sharing an engine sounded identical. * Retriggering an Airwindows-backed reverb or echo preset (Room Verb, Hall Throw, Cathedral, Air Raid Echo, and the other space and delay patches) no longer bleeds the previous trigger's tail under the new attack: the effect is now fully reset on each trigger, so it starts from silence instead of replaying a leftover reverb wash or echo tail. * Improved the internal reverb engine's stereo and tail behavior: each channel now diffuses through its own allpass pair for a wider, more decorrelated stereo image instead of sharing one mono diffusion, the ring-out tail fades smoothly to silence at maximum decay instead of hard-cutting mid-decay, and the comb feedback path is protected against denormal CPU spikes as tails fade out. Retriggering the reverb no longer allocates on the audio thread. * Smoothed the Rhythmic Gate edges: gate open/close transitions now use raised-cosine ramps instead of linear ones, so gating bass-heavy material no longer "ticks" on each edge. Very short gate-open windows fade in and out cleanly instead of clicking, and both stereo channels of a frame now receive the same gate gain so odd (triplet) divisions no longer flip the stereo image. * Engaging Vinyl Sim (and the SP-404MKII vinyl, cassette, and lo-fi character ports built on it) no longer pumps loudness or dips pitch: the saturation stage used to add up to ≈ +7 dB the moment the effect came on even with Drive at zero — it now passes quiet material at unity, with Drive `0` a true clean bypass — and the wow/flutter wobble no longer deepens with the trigger envelope, so the attack ramp no longer bends the program flat on every press. Vinyl hiss is also shaped darker (rolled off \~4 kHz) and mixed in before the high-frequency rolloff, so it sits inside the program like record surface noise instead of floating brightly above it. * Vinyl crackle sounds natural instead of mechanical: every retrigger now produces a fresh click pattern rather than replaying the identical one, clicks keep the same brightness and duration on any audio device sample rate (previously their energy sat at the device Nyquist frequency — nearly inaudible at 96 kHz), and each click's resonant tail rings out instead of freezing mid-ring. This also covers Dusty Vinyl's Crackle control. * Fixed a buzz in SP1200 45RPM mode: the pitch chain restarted its interpolation phase on every audio block, adding a faint block-rate discontinuity buzz on top of the program — the resampler now runs continuously across blocks. SP1200 style changes and retriggers no longer allocate on the audio thread, and pooled SP1200 clones keep the configured device sample rate instead of resetting to 44.1 kHz. * Filter Sweep presets (S950 LPF/HPF gestures) now glide the cutoff with the same 5 ms log-domain smoothing as the mixer filters, removing zipper transients from fast resonant sweeps. * Changing the ASR10 Boost Level while the effect is running no longer clicks: the level switch keeps the saturation state instead of resetting it, matching the mixer-side behavior. * Fixed Echo/Delay timing at low tempos: bar-length echoes (2-bar and 4-bar delays below 120/240 BPM) were silently clamped to a shorter time and landed off-grid — the delay buffer now holds the full 8 seconds so those echoes stay locked to the beat. Repeats also darken as they regenerate, rolling off the highs a little more on each pass like an analog tape delay instead of staying bright and digital, and a DC blocker keeps the feedback loop from drifting. Triplet (odd) delay divisions no longer swap the stereo channels on each repeat, retriggering an echo with the same time now carries the ringing tail through the new trigger instead of cutting it to silence, and changing the delay time fades the old repeats out cleanly. * The Flanger no longer colors the dry signal: engaging it used to gently compress the whole mix even at zero depth, causing a small level step when it turned on — the output limiter now applies only in proportion to the wet amount, so the dry program passes through untouched until you dial the effect in. Its modulated delay tap also uses smoother 4-point interpolation, reducing high-frequency flutter on the sweep. * AutoPan now preserves the stereo image: the panner used to collapse to mono internally, so anti-phase stereo material went silent at full wet — it now applies the equal-power pan gains to the left and right channels directly, keeping mono-and-centered material bit-transparent while widened content survives the sweep. * Motor Kill is now a real deck brake instead of a quick volume duck: triggering it pitch-dives the master to silence over about 200 ms with a constant-torque vinyl curve — like cutting the power on a turntable — and releasing brings the program back through the normal envelope. Its FX Params Target control is gone with the reroute, and its library preview buttons now offer timing variants (`Brake`, `1/4 Brake`, `1/2 Brake`, `Bar Brake`). Digital Blackout keeps the instant hard-mute behavior and its Target control. * Rebuilt Halftime playback quality: the slowed signal now uses the same 4-point interpolation as Tape Stop, so half-speed playback is smooth instead of stair-stepped, loud material no longer overshoots at higher Speed settings, and a speed-tracking low-pass rolls off digital imaging so the slowdown sounds analog. Resync jumps and the phrase wrap now use click-free raised-cosine crossfades, and Beat Repeat's Feedback LPF now genuinely darkens each repeat cycle — every wrap gets progressively warmer, like a tape echo regenerating — instead of filtering the loop only once. Triplet divisions no longer swap the stereo channels on loop wraps, and the Hype Button's duck timing is now identical at 44.1 kHz and 48 kHz with no level pop on rapid re-presses. * Rebuilt Tape Stop and Vinyl Brake so the brake reaches a true terminal stop — the playback rate now falls all the way to zero and dives faster near the end instead of crawling at a floor. Both presets continue seamlessly from the moment you trigger them rather than replaying older audio, roll off highs naturally as they slow so the dive sounds like analog tape or vinyl instead of digital aliasing, and fade the final stop to silence with no click. Tape Stop keeps its eased reel spin-down and longer release; Vinyl Brake uses a constant-torque brake curve that dives more sharply into the stop. * Fixed the first `[SPACE]` press after launch so cued loops start playing as soon as synced audio finishes warming. Previously the pending transport start was dropped a moment after the press, so nothing played until `[SPACE]` was pressed a second time. * Made channels with stem separation ready faster after launch: cached stems now load without re-running audio analysis, and startup logs distinguish loading cached stems from running Demucs, so a cache hit is no longer reported as a new separation. * Replaced the silent FX Library quick-assign with a PerformFX Assign dialog. `[A]` on a focused preset now opens a modal with three `[←/→]` selectors — Effect, Preset, and FX Slot — plus an informational pad list. Effect cycles assignable FX Library effects and opens on the active pad's assigned effect when present; Preset cycles that effect's labeled variants from the `[1]`–`[6]` preview buttons; FX Slot picks `Bank A` or `Bank B`. Move focus between Effect, Preset, FX Slot, and Pad with `[↑/↓]`, and change the focused selector with `[←/→]`; `[←/→]` is a no-op on Pad. Pad keys `[1]`–`[0]` assign the chosen variant to that pad of the selected bank right away — the first pad appears on the `Pad:` row, an empty pad shows `[1] - Empty`, and assigned pads keep their dimmed key visible with the assignment label (`[1] SP1200: Chan1&2`, or `SP1200: Custom` after edited settings). The dialog stays open so you can place several variants in one visit; pressing an occupied pad's key does nothing. `[ENTER]` and `[ESC]` close the dialog. Each assignment shows a status line such as `Assigned "King Tubby" to Bank A pad 3`. * Rebuilt the PerformFX dub siren tone generator around classic siren hardware architecture: band-limited Square and Saw oscillator waveforms join Sine and Triangle, the pitch LFO now offers six shapes (Sine, Square, Ramp Up, Ramp Down, Stepped, Sine+Oct) with analog-style glide between steps, a one-shot pitch Sweep (± semitones over an adjustable Sweep Time up to `10.0 s`) retriggers on every fire, and the output passes a soft-clip tone stage for hardware-style warmth. Classic Dub Siren, Air Raid, and Robot Beep were retuned around the new engine — Air Raid now winds up like a real siren and Robot Beep chatters through a stepped staircase — and four new sirens joined the SP Series group: Bomb Drop, Laser Zap, Two-Tone Horn, and Steppers Siren. * Restored the terminal immediately on quit and shortened telemetry flush waits so closing the app no longer pauses in the alternate screen. * Fixed Windows installer updates so startup checks and Settings → About → Updates use the native WinSparkle dialog with the correct Windows feed. * Redesigned the Perform tab around the shared audio waveform overview, stacked Bank A and Bank B ten-slot rows mapped to `[1]` through `[9]` and `[0]`, a group-colored FX Library with per-preset preview buttons, `[A]` assignment via the Assign dialog without leaving the library, a focused inspector, and FX Params on `[ENTER]`. The first Vintage previews use `[1]` through `[4]` as A/B/C/D variants for SP1200 channel pairs, S950 LPF/HPF cutoff points, and ASR10 Boost levels; DJFX Looper uses `[1]` through `[6]` for `1/2` through `1/64` grid captures. * Split the PerformFX Library into grouped boxes: Vintage, DJ FX, SP Series, Time, Space, RMX Series, Utility, and Custom when present. * Added a Vintage PerformFX Library group for SP1200, S950 LPF, S950 HPF, and ASR10 Boost, including SP1200 filter/45RPM metadata, S950 frequency ranges, and ASR10 Lo/Mid/Hi boost levels in the inspector debug notes. * Added shared PerformFX One Shot, Length, PreGain, and Wet controls plus effect-specific FX Params so every slot can auto-release after a dedicated total engagement duration, show the remaining one-shot time while active, trim or boost the signal before processing, set a dry/wet ceiling or use the preset default, reopen with the saved values, reset with `[R]`, and apply those saved parameters when the slot triggers. Time-based one-shot Length now reaches `20,000 ms`. Gain-heavy presets default to `-6 dB`, color/saturation presets default to `-3 dB`, and Lofi Repeat, S950 LPF/HPF, SP1200, ASR10 Boost, Vinyl Sim, Halftime, dub echo, reverb, gate, flanger, AutoPan, dub siren, duck, and utility slots can save their musical controls. * Fixed one-shot echo and delay slots so completing Length cuts the tail and returns the slot to `READY` instead of lingering in a phantom `RELEASE` state. * Added `Engage: Always On` for PerformFX slots that should stay active automatically; assigned Always On slots activate without waiting for a trigger, ignore trigger/release presses and One Shot auto-release, and stay active until the slot is cleared or changed. * Added `[i]` on PerformFX to show or hide the inspector, keeping the FX Library full-width until detailed focused-slot or library metadata is needed. * Set every built-in PerformFX Library preset's default engagement to Smart Hold. Fixed slots and custom presets still keep any explicitly saved Hold or Toggle setting. * Renamed the FX Params Timing column to Grid. Grid divisions run from `1/64` through `4 Bars`, including `1/16T`, `1/8T`, `1/4T`, and `1/2T`. * Added `Grid` as an Attack and Release value when Sync is `Tempo (beats)`, so envelopes can follow the slot's current Grid value while `[-]` and `[+]` adjust that slot from the Perform tab. * Filter Sweep Up and Filter Sweep Down now default to `Tempo (beats)` with Attack set to `Grid` and Release set to `1/4`. Cap Sweep keeps a `1 Bar` Attack/Release sweep and now uses the internal resonant LPF sweep path instead of a fixed Airwindows filter patch. * DP4 Lush, Daft Flanger, Stereo Chorus, and Ensemble Wash now use internal modulation engines instead of the generic Airwindows insert mapping — DP4 Lush, Stereo Chorus, and Ensemble Wash on the real dual-line chorus engine, Daft Flanger on the flanger. AutoPan now uses an internal equal-power pan engine with editable Rate and Depth, so it moves clearly without a dry-level drop. * Room Verb is now a subtler short-room preset, and Room Verb plus Hall Throw now ring out naturally after transport stop by stopping new input into the reverb while the existing tail drains. * Bright Room and Infinite Space now use the controlled internal reverb engine instead of the older multi-stage Airwindows chains. Bright Room is a more audible short ambience, and Infinite Space uses a lower-gain large wash to avoid clipping. * Gate Filter and Digital Gate now use the internal Current Grid gate engine so they produce reliable rhythmic chops instead of depending on input-threshold Airwindows gate settings. Beat Surge is stronger and no longer defaults to `-6 dB` PreGain, while Block Limiter uses a lower Pound setting with a parallel wet default for a more musical limiter gesture. * Digital Blackout now uses the internal full-kill path so it is an obvious hard mute, Tape Stop now uses a longer release so playback eases back in after the slowdown, and Vinyl Brake defaults to `1/4` with a silent stop floor instead of aliased near-stop playback. * Halftime now captures and wraps the active timing division with a smoothed phrase boundary, and transport stop clears active PerformFX so captured effects do not continue after playback stops. * Added SP-404MKII and RMX-1000 hardware-port presets to PerformFX with the original effect names and editable hardware-style custom parameters. * Rendered live PerformFX gestures into master WAV bounces and visualizer video audio while keeping individual channel stem exports pre-master-FX for clean mix handoff. * Renamed PerformFX Stutter to DJFX Looper, marked it with `★` as the recommended loop-repeat path, kept its default engagement on Smart Hold, and kept its post-trigger capture loop behavior. Lofi Repeat keeps the existing lookback-repeat behavior. * Added PerformFX Current Grid quantize. `[q]` now cycles the active bank's visible Quantize Bank row from Default → Current Grid → Next Grid → Next Bar → Next 2 Bars. DJFX Looper defaults to Current Grid so it can finish the active grid cell live before looping the completed cell from its grid start, and Build Gate and Half Gate default to Current Grid so their gate phase locks to the active cell instead of restarting at the press point. * Renamed per-slot PerformFX quantize to Quantize Start and added Quantize End for manual releases. Quantize End uses the same Off, Current Grid, Next Grid, Next Bar, and Next 2 Bars values, keeps the slot active while the release is waiting, and is hidden when One Shot is on because Length controls one-shot end timing. * Added a Gate Offset FX Param for shifting Build Gate and Half Gate phase while staying locked to the active grid. * Fixed PerformFX grid timing so Current Grid and queued Next Grid triggers use the active loop transport start as the grid origin. * Added an inverted tile flash when a queued PerformFX trigger becomes active, retriggers, or advances into a new loop cycle, plus `QUEUED: 1000ms` countdowns for slots waiting to activate and `ACTIVE: 1000ms` countdowns for active slots waiting for a quantized release. * Fixed MIDI-mapped PerformFX Hold slots so Note button releases and CC falling edges release the effect instead of retriggering it on the next tap, and made PerformFX MIDI Learn slots bank-specific with all Bank A slots listed before Bank B slots. * Added named PerformFX FX Library targets to MIDI Mapping, including custom presets. These trigger the selected library item directly with its current settings instead of requiring a fixed slot assignment. * Fixed PerformFX wet mix routing so delay presets such as Tape Echo use their preset default or slot wet override when triggered, instead of starting as full-wet and briefly dropping the dry signal. * Fixed Airwindows delay dry-through so Tape Echo, Space Echo, Pitch Echo, Four Tap Echo, and Double Delay keep the live dry signal at unity while layering the delayed return. * Added a PerformFX `Tail: Cut / Ring Out` setting for tail-capable presets. Echo, delay, throw, and reverb presets default to `Ring Out`, so stopping transport lets their tails decay instead of hard-cutting them; echo tails now retire once a full delay cycle falls below the inaudible threshold, avoiding unnecessary silent time at the end of bounces. Gates, repeats, brakes, ducking, filters, and utility gestures hide Tail and keep the `Cut` behavior. * Added an echo-only PerformFX `Throw` setting. Set it from `1/64` through `4 Bars` to feed only that tempo window into Dub Echo, Tape Echo, Space Echo, and related delay presets, then let wet-only repeats ring without interrupting the playhead. Manually releasing a thrown echo restores the dry signal and cuts the thrown tail. * Added Active FX Debug Notes for active or queued PerformFX presets, and fixed FX Params preset browsing so deep preset selections stay visible while scrolling. * Fixed the `[M]` shortcut so it opens the metronome controls dialog across terminals that report shifted letters differently. *** # Meiji Sampler v1.2.0 v1.2.0 is a workflow release focused on recording tempo, metronome/count-in control, project browsing, audio setup, and more reliable loop sync. ## At a glance * **1. Recording tempo overhaul.** Fixed BPM recording, metronome, count-in, First Loop Setup, and Project Tempo management now form one clearer first-loop workflow. * **2. Project browsing and audio setup.** The project browser is searchable, supports scrolling through larger libraries, and Audio settings add selectable stereo channels, buffer latency labels, and restart prompts. * **3. Reverb, PerformFX, and loop sync.** Reverb is massively improved, Airwindows-backed PerformFX presets are available, and loop sync is more stable across loading and loop length edits. * **4. Recording, loading, and polish.** Trigger recordings start at the threshold crossing, analysis work is cached, startup waits for the splash before login, and mixer warmup messaging is clearer. *** ## 1. Recording tempo overhaul Meiji Sampler's first-loop workflow has been rebuilt around fixed BPM recording, metronome, count-in, and stronger Project Tempo management. First Loop Setup gives the first take an explicit tempo path instead of making every recording depend on an inferred loop length. The metronome and count-in controls now support more intentional recording starts, including fixed BPM takes and clearer count-in behavior. Project Tempo management has also been tightened so tempo decisions made before the first recording flow into the loop workflow consistently. ## 2. Project browsing and audio setup The project browser is now searchable, no longer limited to a fixed project count, and can scroll through larger project libraries. Audio setup is clearer for multi-output and latency-sensitive setups. You can select stereo channels, see calculated buffer latency beside buffer size, and use an in-app audio engine restart prompt after changing settings that require the engine to restart. ## 3. Reverb, PerformFX, and loop sync The Reverb algorithm has been massively improved, and PerformFX adds Airwindows-backed presets for more immediate performance effects. Loop sync is more reliable across common tempo workflows: first loops can snap to a looped anchor tempo, sample sync stays stable across loop length edits, Loop: ON samples can auto-stretch on load, and Sync warmups debounce stale work. ## 4. Recording, loading, and polish Record In now defaults to Threshold mode, and Trigger recordings start at the threshold crossing so the saved take begins at the intended transient. Transient analysis results are cached, samples avoid unnecessary reprocessing on app load, the login modal waits until the startup splash finishes, and mixer warmup status now communicates the waiting state more clearly. ### Fixes * Fixed neutral pad playback tone. * Fixed loop auto-detection by ignoring files that are too short to produce useful loop candidates. * Fixed MIDI keypress mappings so shifted letters stay distinct from lowercase shortcuts, and `[ESC]` can be captured as a MIDI keypress target. Existing lowercase-stored letter mappings now display their true lowercase label, such as `[m]`, while new shifted mappings display as `[M]`. * Fixed FX Params option rows so `[ENTER]` opens value editing, arrow keys change the selected value, `[R]` resets the current target slot editor to defaults, and `[ESC]` returns to row selection. * Fixed FX Params closing so `[ESC]` saves edited slot values, including Quantize changes, instead of discarding them. * Fixed FX Params from the FX Library so `[ENTER]` targets the last focused fixed slot instead of falling back to slot `[1]`, and preserved legacy letter-key PerformFX assignments when migrating to fixed slots. *** # Meiji Sampler v1.1.0 v1.1.0 is a fast-follow hot off the heels of our huge v1.0.0 update. MIDI in & mapping gets a lot of love. Other important updates involve playback reliability, tempo handling, mute and solo behavior, and trim mode. ## At a glance * **1. MIDI improvements.** MIDI knob & fader support, device automap, new-device prompts, keypress mapping, MIDI transport controls, per-mapping CC behaviour, and a Mapping column in MIDI Monitor reduce setup friction. * **2. Playback reliability.** Synced stretch warmup, overdub playback fixes, loop-mode pad playback, multi-output devices, and empty loop-slot navigation all received targeted fixes. * **3. Tempo, metronome, settings, and loop workflow.** The Tempo Settings page includes first-loop range normalization, metronome count-in/click controls, fixed first-loop lengths when BPM is set, Audio settings show calculated buffer latency, and track solo in the sequence editor now toggles consistently. * **4. Trim, radio capture, and input recording.** Internet Radio captures begin transient analysis as Trim opens, Trigger recordings start at the threshold crossing, and trim playback is guarded against invalid bounds. *** ## 1. MIDI improvements ### MIDI Knob & Fader Support A **Behavior** step appears when you map a CC fader or knob. Pick **Gate** to wire the control to on/off state, or **Trigger** to fire once when the value crosses a threshold. Adjust threshold with `[←/→]`, use `[SHIFT+←/→]` for larger steps, and press `[I]` to invert direction. The Listening list shows each mapping's behavior as a chip in the Trigger column, such as `[GATE@64]` or `[TRIG@64]`. To edit an existing mapping's behavior, highlight it and press `[B]` to jump straight to the Behavior step. Existing mappings keep their pre-1.1.0 behavior so projects load unchanged. New CC mappings get defaults based on the target: loops, channel mute, transport, and scene slots default to **Gate** at threshold 64; pads, cue actions, and keypress targets default to **Trigger**. ### Device automap and setup prompts Meiji Sampler can now prompt you when a new MIDI device appears and guide you into setup instead of making you hunt through Settings. The new device automap flow builds a batch of mappings for common controller layouts from `Settings → MIDI → Devices`, which is useful when you want pads, transport, loops, or scene triggers configured in one pass. See [MIDI And External Gear](/guides/midi-and-external-gear) and [MIDI Implementation Reference](/reference/midi-implementation). ### Conflict handling, monitor details, and keypress mappings When a MIDI Learn control or target is already mapped, Meiji Sampler returns to the Listening list, selects the existing mapping row, and shows `already mapped`. This protects established mappings instead of replacing them from the conflict path. The MIDI Monitor now includes a Mapping column so you can see which incoming events are already assigned. MIDI Learn also keeps properties inline while you assign controls, preserves hotkey styling, and auto-advances through trigger targets for faster pad, loop, and scene setup. Keypress mappings are part of the MIDI action surface in v1.1.0. Map a controller control to a keyboard key and Meiji Sampler routes it through the normal keyboard handler, so it remains context-sensitive like the real key. *** ## 2. Playback reliability ### Synced stretch warmup When a cued loop or scene references sync-stretched audio that is still decoding, loading from cache, or rendering, Meiji Sampler keeps transport cued at `warming synced audio…` and starts once the stretched buffer is ready. This prevents transport from beginning on time while the stretched channel enters late. After you change Loop values in Channel Detail, closing the modal starts warming the channel's stretched audio when a session clock is available. Sync multiplier changes now wait one second before warming, show `Stretching` beside the Sync control once warmup starts, and supersede older warmups when you keep flipping values. Transport still waits if the buffer is cold, but adjusted loops can now finish warming before you press play. Channel Detail now groups Loop, Scene Ends, and Sync under **Loop & Stretch**, so loop behavior and stretch timing live in one place. Sync values also show the effective post-sync BPM when the loaded loop has detected BPM and a session clock exists. Loaded samples with Loop: ON now receive the best-fit Sync value automatically when a session clock exists. This applies to loops detected on load and to samples that already had Loop: ON from file defaults or copied pad settings. Disable it from `Settings → Audio → Stretch Loops on Load`, which defaults to `ON`; turning it back on also applies Sync to loaded loop pads that are ready. ### Loop and overdub reliability v1.1.0 fixes several loop-path edge cases: overdub playback beds start correctly, loop-mode pad playback works in loop slots, looped pad playback behaves on multi-output devices, empty loop-slot navigation no longer panics, and inverted trim bounds no longer panic playback progress. Multichannel interfaces can now route the stereo master with the Stereo Channels setting, such as `Ch 9 & 10`. Scene playback now restarts the metronome clock on the scene downbeat, so the click no longer inherits a stale phase from earlier transport. When exactly one recorded loop is stopped, pressing `[SPACE]` now starts it immediately instead of showing the `Playback needs 1+ cued loop` guidance first. During `OVR`, pressing `[SPACE]` now commits the overdub and stops transport instead of showing first-loop guidance. With multiple stopped loops, Meiji Sampler still asks you to cue or choose the loop before transport starts. Channel mute transitions are also smoothed, reducing clicks when muting or unmuting during playback. Audio output setting changes now offer an in-app audio engine restart when you exit Settings. You can apply host, output device, buffer size, and sample rate changes without relaunching, or defer them until the next launch. *** ## 3. Tempo and loop workflow ### Tempo range normalization Tempo Settings now include a first-loop **Range** selector: `65-135`, `87-175`, `133-300`, or `None`. Out-of-range first-loop detections are doubled or halved into the selected range, which helps keep quantize, synced stretch, and loop timing aligned with your intended BPM. ### Metronome Meiji Sampler now includes a recording-focused metronome tied to the effective project BPM. Use `[M]` to open the metronome controls dialog for count-in mode, click mode, count-in beats, subdivision rate, volume, accent, and fixed first-loop length. In the dialog, use `[←/→]` to change values, `[SPACE]` to control transport without closing the dialog, and `[ENTER]` to accept. A right-side pulse expands on accented beats so the dialog acts as a visual metronome while the click is active. Pressing `[R]` before the first loop now opens **First Loop Setup**. The default **Fixed** mode shows `Mode: FIXED TEMPO`, `Start with a blank loop of fixed tempo & duration`, and `[SPACE] to tap tempo, [ENTER] to record`, records into the selected Length, starts at `90.00 BPM`, initializes Quantize from Settings with `OFF` as the default, enables a `4 BEATS` record count-in, and uses a `REC + PLAY` click. Highlight Tempo to type a BPM directly, or press `[SPACE]` anywhere in the dialog to tap tempo with an audible click, return to Fixed mode, and focus Tempo. During a Fixed take, the loop details view shows the full selected Length with a moving playhead, and pressing `[ENTER]` early ends recording while preserving that Length and queuing overdub as `OVR+` for the next fixed interval. Empty selected loop slots now show `Press [R] to record a Loop` as a persistent toast instead of drawing that prompt inside the loop details panel; active recording shows `Press [ENTER] to save, [ESC] to retry`, and retry returns to the armed pad or count-in prompt. Select **Auto** with the Mode field to see `Record freely, set tempo by ending cleanly`, then press `[ENTER]` to start recording and `[ENTER]` again to end the loop; Auto keeps the flexible elapsed-time details view while still applying the dialog's Quantize, Count-in, and Click choices, then immediately enters overdub. Press `[ESC]` to cancel the dialog without arming. Pad and chop keys that start a record count-in now play immediately. The armed prompt also advertises `[SPACE]` when count-in is available, so you can start the countdown without playing a pad first. While the count-in runs, a centered numeric toast counts down once per beat and stays on screen for that beat's length. Pad or chop hits during the final count-in beat are captured at `0:00`; earlier hits are consumed as unrecorded start-signal updates. When BPM is set before the first recording, the first loop can be constrained to a clean bar length instead of relying only on the initial performance duration. The click is routed outside bounce, resample, and internal capture paths, so it cannot bleed into exported or internally sampled audio. See [Settings Reference](/reference/settings) and [Recording And Loops Troubleshooting](/troubleshooting/recording-and-loops). ### Audio buffer latency labels Settings → Audio now shows the calculated buffer duration beside Buffer Size, such as `256 samples (5.80 ms)` at `44100 Hz`. The value updates with Sample Rate so latency tradeoffs are visible while tuning audio settings. ### Track solo is consistent Track solo in the sequence editor is now a true toggle. Press `[S]` to solo the selected track, then press `[S]` again to un-solo and unmute every track in the loop. This matches channel solo and loop solo. See [Muting And Soloing](/guides/muting-and-soloing). *** ## 4. Trim, radio capture, and input recording ### Trigger recordings start at the threshold crossing Audio input recording in Trigger mode now starts the saved take at the first frame that crosses the threshold. Armed input is still monitored so the trigger can be detected accurately, but audio before the crossing is not written into the recording. See [Sampling From Audio Input](/guides/sampling-from-audio-input). ### Internet Radio captures analyze transients as Trim opens Captured Internet Radio buffers start transient analysis as soon as `[ENTER]` opens Trim. Marker-based snapping and chopping are ready without needing to nudge the playhead first. ### Trim playback safeguards Playback progress is now guarded against inverted trim bounds, so malformed or rapidly edited trim regions do not crash the UI while playback state updates. *** # Meiji Sampler v1.0.0 **The biggest release of Meiji Sampler ever.** 119 changes since v0.16.0, headlined by native MIDI, Splice support, three vintage sampler emulations, an improved timestretching engine, intelligent chopping, three new in-app radio stations, and our first official documentation site. This is also the version that earns the 1.0 badge — **production-ready, fully documented, and stable across macOS, Linux, and Windows** (including Windows ARM64). ## At a glance * **MIDI is here.** Full MIDI Learn covers pads, individual chop slices, loops, scenes, mixer mutes, transport, and one-key Keypress mappings. Mappings keep working inside Channel Detail and Chop views. Built-in MIDI Monitor for identifying devices and events. * **Splice support.** Sign in with your Splice account and browse Splice's growing library of over 2 million royalty-free loops & samples. License and download with a single keypress. * **Three vintage emulations.** SP-1200 Mode (4 styles, refined against a real SP-1200), ASR-10 Boost (3 levels), and rebuilt S950 Butterworth HPF/LPF. * **New timestretching engine + smarter chopping.** Formant-preserving spectral stretch replaces the old engine, plus intelligent spectral transient snap (`Shift+[` / `Shift+]`) color-coded by frequency band. * **Six new audio formats.** MP3, AAC, FLAC, OGG, ALAC, and CAF in addition to WAV/AIFF. * **Meiji Sampler Radio.** Three live 24/7 stations — **Drums**, **Originals**, and **Originals II** — usable as sample sources in-app and online at [radio.meiji.industries](https://radio.meiji.industries). * **Official docs site** at [docs.sampler.meiji.industries](https://docs.sampler.meiji.industries). * **Vim-style navigation** (`h` `j` `k` `l`) everywhere. * **Tap tempo**, **manual project BPM override**, and first-loop snapping from looped anchor pads. * **Linked pad triggers**, **choke groups**, **playback overrides**, and **Sample Offset** for layering and humanization. * **Tabbed Settings** with a dedicated Project management category. * **Optional login** — skip sign-in, skip telemetry. *** ## Tentpoles ### 1. MIDI, Splice, and Documentation The integrations release. Three things you've been asking for, all shipped together. #### Native MIDI mapping The new MIDI tab inside Settings provides a complete mapping workflow over the entire action surface: * **MIDI Learn** — move a control on your device, then navigate a hierarchical menu to assign it to any action * **Built-in MIDI Monitor** — identify devices and inspect incoming events in real time * **Loop actions** — slot triggers, mute, solo, undo, or clear individual slots * **Scene actions** — trigger, cue, or stop scenes * **Mixer actions** — mute individual channels * **Pad chop mapping** — map controls directly to individual chop slices on any pad * **Transport** — play/stop and record/overdub independently * **Keypress mappings**: map a controller control to a normal keyboard key such as `1`, `b`, `r`, `p`, `Space`, or a function key Direct MIDI action mappings keep working when Channel Detail or Chop overlays are open, so you can trigger pads and control transport without leaving these views. Stateful surfaces (Settings, Bounce, Trim, Search, MIDI Learn) still block direct app-action mappings to prevent mapped actions from dismissing work in progress. Keypress mappings follow the normal keyboard handler after the MIDI control is resolved, so they work in focused contexts such as the Trim/chop editor. See [MIDI and External Gear](/guides/midi-and-external-gear) and [MIDI Implementation Reference](/reference/midi-implementation). #### Splice support Sign in with a Splice account directly from the Splice browser and browse Splice's growing library of **over 2 million royalty-free loops & samples** — without leaving Meiji Sampler. * Navigate with filters, natural-language search, and preview * **Automatically license + download sounds with one keypress** — `Enter` licenses and loads the selected result at full quality * Licensed files live on disk by Splice sample id with a license sidecar, next to your recordings for unified file management * Long samples open directly in Trim for fast chopping See [Splice Integration](/guides/splice-integration). #### Official documentation site Meiji Sampler now has a real documentation site at **[docs.sampler.meiji.industries](https://docs.sampler.meiji.industries)** — guides, recipes, troubleshooting, full keyboard shortcut reference, and a release notes archive. Built on Mintlify and updated alongside every release. *** ### 2. Vintage sampler emulation Meiji Sampler now models three pieces of legendary sampling hardware. Stack them per channel for the exact tonal signature you want. #### SP-1200 Mode — four output styles **Incredibly accurate modeling** of the E-mu SP-1200's four hardware output pairs, refined repeatedly against a real SP-1200 for optimal tone matching: * **Unfiltered (7 & 8)** — raw SP-1200 crunch * **Filtered (1 & 2)** — SSM2044 dynamic ladder filter with an 8-bit-stepped cutoff envelope * **Filtered (3 & 4)** — aggressive active low-pass around 9 kHz * **Filtered (5 & 6)** — gentler high-treble low-pass for pads and melodic content All settings run the full SP-1200 DSP chain: 11.07 kHz input anti-alias, tape saturation, 12-bit quantization, and a 26.04 kHz multiplexed DAC + sample-and-hold stage. SP-1200 sits **after pitch** in the signal chain, so aliasing and quantization respond to pitched content just like the real hardware. See [SP1200 Filter](/reference/effects-and-parameters#sp1200-filter). #### ASR-10 Boost — three intensity levels **Accurate emulation of the famous ASR-10 "Boost" mode** — a per-channel signal chain that combines tape-style hysteresis saturation → soft-knee limiting → 18 kHz analog output filter. * **Lo** (+4 dB) — subtle warmth * **Mid** (+8 dB) — classic character * **Hi** (+12 dB) — aggressive Cycle with `Left`/`Right` in Channel Detail (Tone section). See [ASR-10 Boost](/reference/effects-and-parameters#asr-10-boost). #### S950 Butterworth HPF/LPF The HPF and LPF have been **rebuilt from the ground up** using three cascaded biquad sections with the exact Butterworth Q factors from the Akai S950's MF6-50 switched-capacitor chip. The result: a maximally flat passband, a precise -3 dB point at the cutoff, and a steep 36 dB/octave cliff beyond it. Cutoff changes are now smoothed in the log-frequency domain with a 5 ms time constant — no more zipper noise on rapid sweeps. PerformFX uses the same biquad core and now supports proper resonance via Q-factor scaling. PerformFX Talkover Duck and Motor Kill now reduce the master to about 40% volume instead of muting it, making them usable as live transition and talkover moves. #### Airwindows CreamCoat Reverb The per-channel Reverb control now uses Airwindows CreamCoat for general-purpose ambience, room tone, and longer space. The control stays the same in Channel Detail; existing projects keep their saved reverb amount, mapped directly to CreamCoat Wetness. #### Airwindows PerformFX Expansion PerformFX now includes a broad set of selected Airwindows-powered presets for live performance: plate and infinite reverb throws, tape and pitch echoes, vinyl and tape color, DJ isolator color, glitch pitch effects, and Airwindows-colored dub siren throws. Dusty Vinyl now adds event-based vinyl crackle with an editable Crackle control, and Pocket Lofi uses a more audible Pockey2 setting for stronger pocket-sampler character. Existing bindings continue to resolve by preset ID. SP1200, S950-style HPF/LPF behavior, ASR-10 Boost, ducking, pan, width, Motor Kill, and Tape Stop keep their existing engines and controls. Meiji Sampler still does not load arbitrary CLAP, VST, LV2, or AU plugins; these Airwindows effects are compiled into the app as MIT-licensed source. *** ### 3. Loop sync, stretch, and smarter chopping #### New timestretching engine The time-stretch engine has been **completely replaced** with a formant-preserving spectral stretcher. * **Better quality** for melodic and vocal material — formants stay put when you stretch * **Tighter loop sync** — synced chop stretch reuse eliminates redundant computation and removes audible artifacts at loop edges * **Stem playback** now stretches correctly alongside the rest of the channel No workflow or shortcut changes. It just sounds better and syncs tighter. #### Intelligent Transient Snap The trim view can now snap the playhead to useful transient points before you set a trim point or place a chop marker. Inspired by Cool Edit Pro's bracket-key snapping. * **`Shift+[` / `Shift+]`** — previous / next snap point (legacy `{` `}` still work) * **Subtle ghost markers** show possible snap points on the waveform * **ReCycle-style sensitivity** — raise for softer hits, lower for stronger candidates; press `a` to autochop the first ten accepted markers to `1-9,0` * **Color-coded by frequency band** — low hits, midrange attacks, and high-frequency details are easier to scan * **`b`** cycles between All / Lows / Mids / Highs when a sample is crowded * **`<` / `>`** make snapping stricter or more sensitive * Snap targets are refined to nearby zero crossings to reduce click risk * Chops and trim points snap to **safe playback boundaries** automatically See [Chopping And Slicing](/guides/chopping-and-slicing#intelligent-transient-snap). #### Six new audio formats Meiji Sampler now reads **MP3, AAC, FLAC, OGG, ALAC, and CAF** alongside the existing WAV and AIFF support. Drop any of them into the browser, Splice library, or recordings folder. #### Bounce in your bit depth of choice The bounce modal now exports WAV at **16-bit, 24-bit, or 32-bit float**. Default is 24-bit. The setting persists. See [Exporting And Bouncing](/guides/exporting-and-bouncing#wav-bit-depth). #### Recording normalization Press `N` during recording review to toggle peak normalization to -0.1 dB. Compare normalized vs original before keeping the take. *** ### 4. Meiji Sampler Radio **Three new Meiji Sampler internet radio stations** that double as sample sources inside the app — perfect for inspiration and quick ideation: * **Drums** — live 24/7 * **Originals** — live 24/7 * **Originals II** — live 24/7 Tune in directly from Meiji Sampler as a sound source, or listen anywhere on the web at **[radio.meiji.industries](https://radio.meiji.industries)**. Hear something you like? Sample, chop, and build with it inside the same workflow. *** ## Everything else, stack-ranked The full picture beyond the marquee work, ordered by user impact within each section. ### Workflow & navigation 1. **Vim-style navigation (`h` `j` `k` `l`)** everywhere in the app — browser, pads, loops, scenes, mixer, editors, modals, settings. See [migration notes](/release-notes/upgrade-and-migration-notes) for key remaps (e.g. `h`-on-loops moves to `Shift+H`). 2. **Linked & copied sample playback** — assign the same local sample to another channel and choose `Link` (shared loop/trim/chop/pattern-end via file defaults) or `Copy` (snapshot then diverge). 3. **Per-channel playback overrides** — loop mode, trim points, and chop edits now write per-channel overrides instead of mutating shared file defaults. Significant workflow change; see [Per-Channel Playback](/guides/per-channel-playback). 4. **Linked pad triggers** — link a secondary pad to any channel so both fire on every hit. Layer kicks with subs, double snares with claps. Only the source pad is recorded into loops. 5. **Per-channel choke groups** — assign channels to one of 10 choke groups for hi-hat exclusivity or any one-at-a-time variation. 6. **Sample Offset** — delay pad and chop playback from `+0ms` to `+100ms` in `1ms` steps. Humanize quantized parts without moving the recorded events. 7. **Tap tempo + manual project BPM override** — `Settings → Tempo`. Tap, type, nudge with arrows, or choose a first-loop Range (`65-135`, `87-175`, `133-300`, `None`) so double-time and half-time detections normalize automatically. When the first recorded loop starts from a LOOP: ON pad, close timing within 10% snaps to an exact number of that pad's loop cycles. 8. **Tabbed Settings with Project management** — save, save as, open, new, browse recents, delete projects, all inline. Categories: Project / Audio / Addons / General. 9. **Settings as a top-level tab** — open with `,` or via `Tab` cycling (which also reveals Perform when PerformFX is enabled). 10. **SPACE transport guidance** — pressing `Space` on Pads/Loops/Scenes is now row-aware, with toast guidance instead of silent no-ops. Loop slot keys also follow the queued-stop feel of scenes during playback. 11. **Track solo toggles consistently**: press `s` on a selected sequence-editor track to solo it, then press `s` again to un-solo. When a running loop is muted, `m` or `s` on the selected track un-mutes the loop, solos that track, and restarts it immediately. See [Muting And Soloing](/guides/muting-and-soloing). 12. **Hide loops & scenes rows until needed** — cleaner default layout that surfaces UI as you actually use it. 13. **Channel Detail sample actions** — manage assigned samples directly from Channel Detail without leaving context. 14. **Bounce WAV bit depth selection** — 16 / 24 / 32-bit float; persisted. 15. **Recording normalization toggle (`N`)** — peak-normalize takes during review. 16. **Confirm before replacing autochops** — protects existing chop work from being clobbered. 17. **Trim view improvements** — snap playhead to sample edges with up/down, `e` restarts from start point, `o` toggles loop mode (replacing `l`), better playhead visibility, wrapped hotkey hints, smaller `Shift+arrow` step size. 18. **Auto-navigate into single-pack downloads** — one-pack factory downloads jump directly into the new pack. 19. **Random colors for loaded audio sources** — visual variety without fiddling. 20. **Settings source availability page** — see which sample sources are configured at a glance. 21. **Wider Settings pane layout** — more breathing room for dense forms. 22. **Compact hotkey labels** — input device modal and other dense surfaces. 23. **`Tab` for top-level navigation, `,` for Settings** — predictable and one-keypress. 24. **Optional login** — skip sign-in entirely; telemetry is disabled when you do. 25. **Caps Lock detection** — warning callout when caps is on, since the app is heavily case-sensitive. 26. **`Grooves` renamed to `Originals`** — clearer naming for your own loop content. 27. **Replaced `Shift+digit` combos** for better international keyboard layout compatibility. ### New sample content * **DK Presents — Detroit Breaks** sample pack (factory) * **DK Presents — Memphis Breaks** sample pack (factory) ### Audio engine & DSP * **New timestretching engine** — formant-preserving spectral stretcher, better quality for melodic and vocal material * **S950 Butterworth biquad HPF/LPF** with proper resonance support and log-domain cutoff smoothing * **SP-1200 Mode** with full DSP chain (anti-alias, tape sat, 12-bit quantization, 26 kHz S\&H stage) and four output styles, refined against a real SP-1200 * **ASR-10 Boost** with hysteresis saturation, soft-knee limiting, 18 kHz analog output filter, three intensity levels * **Synced chop stretch reuse** — eliminates redundant stretch computation * **Stretch ratio computation deferred** until after decode — prevents stale ratios * **Stretched loop edge** rendering corrected * **Stretching for stem playback** fixed * **Chop playback applies time-stretching** correctly when source is stretched * **MP3 / AAC / FLAC / OGG / ALAC / CAF** decode support added ### Platform & distribution * **macOS deployment target lowered to 11.0** via SwiftTerm upstream fix — broader Mac compatibility * **Stems Addon download validation** now checks the published platform bundle and checksum before install, so missing Demucs artifacts fail with a clear platform/version message instead of a broken archive download. * **Windows ARM64 Demucs bundle** published — native ARM64 stem separation * **Windows demucs CLI builds** added (x64) * **Windows installer fixes** — VM dev build path and font-bundled installers unblocked * **Windows ARM64 ssstretch build** corrected * **Linux + Windows dev environment improvements** for contributors * **Switched remaining CI jobs to Blacksmith runners** for faster builds ### Reliability & fixes * **Trim modal CI SIGSEGV** resolved * **Late transient marker placement** corrected * **First transient detection** in autochop fixed * **Loop start delay on playback** removed * **Loop playback issue** resolved * **Delayed loop-triggered pad offsets** corrected * **Inverted sync speed multipliers** fixed * **Quantize key hint labels** corrected * **MIDI pad + chop trigger conflict** with Channel Detail dialog resolved * **`DEL` no longer exits trim** unintentionally; confirm-discard added for unassigned samples * **`Enter` on stems install prompt** behavior fixed * **Playback event loss** between loop tick and UI tick eliminated * **Pending stretch and stem playback** are now cancelled on stop * **Downloaded sample files preserved** when URL cache evicts entries * **Radio streaming log spam** from blank-source proliferation eliminated * **Radio metadata** corrected for stream identification * **Radio deploy** healthcheck, metadata, and silence-gap fixes * **Idle VU placeholders** now scale by channel gain * **Caps Lock warning** prevents silent input failures * **Skip no-op transient sensitivity steps** * **Windows nonce TTL test** stabilized * **Tutorial copy** corrections ### Internal & contributor improvements * **Mintlify documentation site** — full content authoring infrastructure with local dev tasks * **Documentation authoring skill** + CLAUDE.md acceptance criteria for AI-assisted doc updates * **Cargo target lock contention** across worktrees avoided * **Local test workflows** sped up significantly * **Removed unused feature flags** * **Expanded unit and integration test coverage** across the codebase * **DRY'd channel detail layout rendering** * **Hardcoded analytics event counts removed** to prevent merge conflicts * **Inlined claude-skills**, removed submodule * **Default to git worktrees** for issue branches * **`/merge-and-resolve-conflicts`** and **`/wipe-pr`** developer skills added *** ## Upgrade notes A few breaking-ish changes worth knowing about: * **Vim navigation key remaps** — `h` on the loops row is now `Shift+H` (shorten loop by half), `j` on pads is `Shift+J` (jump mode), `k` in Perform is `Shift+K` (kill all FX), `l` in browser is `Shift+L` (toggle loop mode), and `l` in trim is now `o`. See [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes). * **Per-channel playback overrides** — channel detail and trim view edits now write per-channel overrides instead of mutating shared file defaults. If you relied on file-level edits propagating everywhere, you'll see different behavior. Browser and details preview still edit file defaults. * **F1–F4 navigation removed** — replaced by `Tab` cycling and `,` for Settings. * **`Shift+digit` shortcuts** were replaced for international keyboard compatibility — see the keyboard reference for new bindings. * **Stretch cache schema bumped to v4** — legacy caches are purged automatically on first launch. No manual action. * **Splice login is required** for downloads (Sounds+, Creator, or Creator+). Full details in [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes). *** ## What 1.0 means This release earns the version number. Meiji Sampler now ships: * **Stable across three platforms** — macOS, Linux, Windows (x64 + ARM64) * **Documented** — full guide, recipe, reference, troubleshooting, and migration content at [docs.sampler.meiji.industries](https://docs.sampler.meiji.industries) * **Integrated** — first-class MIDI, first-class Splice * **Sonically opinionated** — three vintage modeling effects covering the most influential samplers in hip-hop and electronic history * **Privacy-respecting** — login is optional, telemetry is disabled when you skip it * **Self-published** — no GitHub access required, downloads at [sampler.meiji.industries](https://sampler.meiji.industries) Pure keyboard. Zero mouse. All terminal. *** ## Read next * [Changelog Archive](/release-notes/changelog) * [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes) * [Keyboard Shortcuts](/reference/keyboard-shortcuts) # Audio Setup Source: https://docs.sampler.meiji.industries/start-here/audio-setup Confirm your audio device I/O settings before you start recording and arranging. # Audio setup Audio setup is the only technical hurdle you should solve before making your first beat. ## Output device Start with the system default output device unless you already know you need something else. In Settings, Meiji Sampler exposes: * audio host * output device * Stereo Channels * buffer size * sample rate * input device * input channel ## Buffer size Meiji Sampler supports these buffer sizes: * `64` * `128` * `256` * `512` * `1024` Recommended starting point: * `64` if you want the lowest possible latency and your machine can handle it * `256` if your machine is reasonably fast and you want tighter response * `512` if you want a safer default If you hear crackles, underruns, or glitching, move up to `512` or `1024`. ## Sample rate Available sample rates: * `44100 Hz` * `48000 Hz` * `88200 Hz` * `96000 Hz` Recommended starting point: * `44100 Hz` for most users * `48000 Hz` if it matches the rest of your setup Higher rates use more CPU. If playback is unstable, increase your buffer size before reaching for a lower sample rate. When you change the audio host, output device, buffer size, or sample rate, Meiji Sampler saves the preference and asks whether to restart the audio engine when you exit Settings. Choose **\[Apply Now]** to use the new settings immediately, or **\[Next Launch]** to keep the current engine running until you reopen the app. ## Linux audio hosts On Linux, the audio host can be: * `Auto` * `ALSA` * `JACK` If `Auto` is unstable, try `ALSA`. If you already run a JACK setup, use `JACK`. ## Input setup If you want to sample external audio or use the recording feature: 1. choose the correct input device in Settings 2. select the input channel or stereo pair you want to record 3. test monitoring before starting a real take For file paths, see [What gets installed](/start-here/installation#what-gets-installed). ## Next step Continue to [Make Some Noise](/start-here/make-some-noise). # Build Your First Beat Source: https://docs.sampler.meiji.industries/start-here/first-beat Walk through how to sample, chop, loop, sequence, and export your first song. ## What you'll build By the end of this page, you will: * load a few sounds onto pads * record 2 loops * organize them in scenes * export that song as WAV ## What to load Start with: * one kick * one snare * one melodic loop to chop ## Steps In the `Create` tab, press `Enter` on track 1, press `p` to open Factory Packs, and load a kick sample. Repeat with a snare on track 2, and a melodic loop on track 3. Press `1`, `2`, `3` to make sure each pad plays the expected sound. On track 3, press `c` to enter chop mode. Press `1`–`9` to place chop markers as the sample plays, then `Esc` to exit. Samples are ready to record. Use `Down` until the loops row (2nd row) is focused. Press `[R]` on the selected loop slot. First Loop Setup opens before the first loop because this take will establish the project tempo. Leave **Fixed** selected for the guided default: `1 BAR` length, `90.00 BPM`, Quantize `OFF`, `4 BEATS` count-in, and `REC + PLAY` click. Highlight Tempo to type a BPM directly, or press `[SPACE]` anywhere in the dialog to tap tempo with an audible click, keep Fixed mode selected, and focus Tempo. Press `[ENTER]` to arm the loop. Press `[ESC]` to cancel if you opened the dialog by mistake. If you press a pad to start the count-in, you hear it immediately and see a centered beat countdown like `4`, `3`, `2`, `1`. Press `[SPACE]` instead when you want the count-in without an initial pad hit. Pad hits during the final count-in beat are recorded at `0:00`; earlier hits are only start-signal updates and stay out of the loop. Play your kick and snare with `1` and `2`. In Fixed mode, the selected Length defines the loop duration on the project BPM, and the loop details view shows that full length with a moving playhead while you record. The take stops automatically at that length, and pressing `[ENTER]` early queues the fixed-duration loop as `OVR+` so overdub starts on the next fixed interval. In Auto mode, the loop details view keeps expanding with elapsed time because the loop ending establishes the BPM. In Fixed mode, wait for the selected Length to complete or press `[ENTER]` early if you are done playing. The loop still repeats at the selected Length, and early commits wait in `OVR+` until the fixed interval arrives so you can keep overdubbing as the loop cycles. In Auto mode, press `[ENTER]` precisely when you want the loop to end; the completed take immediately enters overdub. Your loop should now repeat automatically. Arm the second loop slot for recording with `r`. Focus on track 3 and press `c` to enter chop playback mode. Press `1`, `2`, `3`... to trigger the chop markers you placed earlier and record them into the new loop slot. Press `Down` to focus on the scenes row (3rd row). Hit `Enter` to define the scene, and press `Space` to select the loops you want to play together. Press `Esc` to close the scene details, then `Space` to play those loops together. Press `b` to open the Bounce menu. Press `Enter` to begin rendering your song. Any pads you trigger — or mute with `m` — will be included in the recording. ## What you learned * pads are your playable sound layer * loops capture performances from those pads * session timing becomes meaningful after the first recorded loop ## Where to go next From here, the next steps are: * [Learn](/learn/index) for the full workflow * [Scene](/learn/scene) when you want arrangement instead of a single loop * [Mix](/learn/mix) when you want to shape the sound of each channel # Start Here Source: https://docs.sampler.meiji.industries/start-here/index Install Meiji Sampler, configure your terminal and audio setup, and get to your first beat quickly. # Start Here Get from zero to a working session as fast as possible. ## In this section * [Installation And System Requirements](/start-here/installation) * [Terminal Compatibility And Keyboard Behavior](/start-here/terminal-compatibility) * [Audio Setup](/start-here/audio-setup) * [Make Some Noise](/start-here/make-some-noise) * [Build Your First Beat](/start-here/first-beat) # Installation Source: https://docs.sampler.meiji.industries/start-here/installation Install Meiji Sampler and understand the current platform support before you start. # Installation and system requirements ## Platform support * Meiji Sampler officially supports **macOS**, **Linux**, and **Windows**. * **macOS** is the primary supported platform and is the most stable day to day. * **Windows** and **Linux** are official targets as well; on Linux, stability can still depend on your audio backend and terminal setup. ## macOS install The strongly recommended install method is the DMG from `sampler.meiji.industries`. It bundles a supported terminal with GPU acceleration and great fonts, includes a reliable auto-update mechanism, and is the preferred option for most users. For terminal purists who want to run Meiji Sampler inside their own terminal, use the curl installer instead: ```bash theme={null} curl -fsSL https://sampler.meiji.industries/install.sh | bash ``` ## Linux install Linux is supported, but you should expect more manual setup around audio host, devices, and latency. Use a modern terminal, verify your output device, and be prepared to try a different backend if low-latency playback is unstable. ```bash theme={null} curl -fsSL https://sampler.meiji.industries/install.sh | bash ``` ## Windows install Download the EXE installer from `sampler.meiji.industries`, or install via curl in PowerShell: ```powershell theme={null} curl -fsSL https://sampler.meiji.industries/install.sh | bash ``` ## What gets installed Meiji Sampler stores state and configuration in your user directories. * macOS session state: `~/Library/Application Support/Meiji Sampler/state.json` * macOS settings: `~/Library/Application Support/Meiji Sampler/config.json` * macOS projects: `~/Documents/Meiji Sampler/Projects/` On Linux, state and settings live under `~/.config/meiji-sampler/`. On Windows, state and settings live under `%APPDATA%\Meiji Sampler\`, and projects under `Documents\Meiji Sampler\Projects\`. ## Next step Continue to [Terminal Compatibility](/start-here/terminal-compatibility) or go straight to [Audio Setup](/start-here/audio-setup). # Make Some Noise Source: https://docs.sampler.meiji.industries/start-here/make-some-noise Go from launch to audible playback as quickly as possible. ## What you'll do By the end of this page, you will: * launch Meiji Sampler * browse a sound source * preview a sample * assign it to a pad * trigger it from the keyboard ## Steps The core workflow lives in the `Create` tab. If needed, press `Tab` to switch to it. Use `Up`/`Down` to move, `Enter` or `Right` to open a folder, and `Backspace` or `Left` to go up. Vim users: `j`/`k` to move, `l` to open, `h` to go up. Press `Space` on a selected sound to hear it immediately. Press `1` through `0` to load the selected sound onto a pad. Press `1` through `0` to play the assigned pad. ## If you do not have sounds yet Use one of these approaches: * press `p` to open the packs browser and install factory packs * point Meiji Sampler at your own sample folders * use an existing library such as Splice if your workflow already depends on it * if you have Native Instruments, Ableton, or Logic installed, Meiji Sampler will detect those libraries automatically and make them available to browse ## Check your result You should now be able to: * select a sample * hear preview playback * trigger the same sound from a pad ## Next step Continue to [Build Your First Beat](/start-here/first-beat). # Terminal Compatibility And Keyboard Behavior Source: https://docs.sampler.meiji.industries/start-here/terminal-compatibility Use a terminal and keyboard setup that matches Meiji Sampler's shortcut-heavy workflow. # Terminal compatibility and keyboard behavior Meiji Sampler is designed around physical key presses, fast navigation, and dense shortcut use. Your terminal matters. ## What works best The best experience comes from terminals that support the kitty keyboard protocol: * built-in macOS Terminal app (macOS Tahoe 26 and later — earlier versions do not support the kitty keyboard protocol) * iTerm2 * Kitty * Alacritty * WezTerm * Ghostty These terminals report physical key positions more reliably, which helps combinations like `Shift+number` behave across layouts such as QWERTZ and AZERTY. ## Why this matters Meiji Sampler depends on: * single-key actions * modifier-heavy shortcuts * predictable number-row behavior * responsive key repeat and release If your terminal misreports keys, the app can feel broken even when the sampler itself is working correctly. ## Signs your terminal is a bad fit * `1` through `0` do not behave consistently * arrow keys or `Esc` feel inconsistent in modals * shortcuts work in one layout but not another ## Recommended setup 1. Start with one of the recommended terminals. 2. Use a normal desktop keyboard layout with no OS-level key remaps at first. 3. Verify core shortcuts: * `Tab` to switch between `Create` and `Settings` * `Space` to trigger playback * `?` to open help 4. Only add custom remaps after the default key flow works. ## Vim-style navigation and terminal protocol Meiji Sampler supports `h`/`j`/`k`/`l` as alternatives to arrow keys. How your terminal reports shifted letter keys depends on its keyboard protocol: * **Kitty-protocol terminals** (iTerm2, Kitty, WezTerm, Ghostty, Alacritty, and macOS Terminal on Tahoe 26+) send `Shift+lowercase`, which Meiji Sampler handles correctly. * **Legacy terminals** (macOS Terminal prior to Tahoe 26) send uppercase letters, which also works. Both styles are supported. If a shifted vim key does not behave as expected, try a recommended terminal from the list above. ## If shortcuts misbehave * try a different supported terminal first * disable OS-level remapping tools temporarily * confirm the problem is not isolated to one keyboard layout * review [Audio And Playback Problems](/troubleshooting/audio-and-playback) only after you rule out terminal input issues ## Next step Go to [Audio Setup](/start-here/audio-setup). # Audio And Playback Problems Source: https://docs.sampler.meiji.industries/troubleshooting/audio-and-playback Fix no-sound, crackle, latency, and device-selection problems. # Audio and playback problems ## No audio output Check these in order: 1. the correct output device is selected in Settings 2. the correct Stereo Channels setting is selected if your interface has more than two outputs 3. the system output device itself works outside Meiji Sampler 4. the relevant channel is not muted 5. another channel is not soloed 6. preview playback works from the browser with \[SPACE] If browser preview works but pad playback does not, the issue is usually session state, assignment, or mixer state rather than audio initialization. If a pad plays a different section than expected, check whether a per-channel override is active — see [Per-Channel Playback](/guides/per-channel-playback). ## Crackling or dropouts Usually caused by buffer underruns. Try: * increase buffer size * reduce other audio-app load * wait for background processing such as stems to finish * simplify the active session ## High latency Try: * smaller buffer size * `44100 Hz` sample rate * system default output device * the native macOS app or a better-supported terminal For DJ controller latency, use `Settings → DJ → Buffer Size`, which is separate from `Settings → Audio → Buffer Size` and defaults to `128 samples`. Lower it to `64 samples` for the tightest controller-to-speaker path; the change applies the next time DJ audio opens, so leave and re-enter the `DJ` tab. DJ mode uses that configured size for both system and controller hardware outputs. Every controller report, platter included, dispatches with its input snapshot. The deck then smooths platter velocity across roughly the last 5 ms of reports, which prevents the REV7's encoder quantization from becoming audible pitch warble without delaying the gesture. ## A REV7 does not appear after powering on You can power a DDJ-REV7 on or off while Meiji Sampler is open. When its MIDI controls are ready, the status says `Pioneer DDJ-REV7 connected — decks are live`. The controller can expose MIDI before its four-channel audio interface or optional high-resolution HID display, so controls may work while audio remains on system output and the display is blank. 1. Let the REV7 finish its boot sequence. Meiji Sampler automatically keeps checking for its delayed audio interface and HID display while the controller is connected. 2. Check the USB connection and close other DJ software that could hold the controller. Open `Settings → MIDI Monitor` to confirm that messages are arriving. 3. If the controller is connected but the status still says `DJ audio → system output`, wait up to 20 seconds for the audio interface to appear. Meiji Sampler retries every 250 ms, then opens the four-channel deck route at the REV7's current native sample rate. 4. If the optional high-resolution display remains blank, controls and audio can still work. Its HID endpoint is retried independently from audio; when it appears, loaded decks replay their complete waveform and readout state. 5. If the controller remains invisible after those checks, disconnect and reconnect its USB cable, then power-cycle it. Restart Meiji Sampler only as the final escalation. The runtime add/remove workflow is covered through virtual CoreMIDI devices. That is hardware-independent verification, not physical REV7 boot-timing certification. See [DJ Mode](/guides/dj-mode#pioneer-ddj-rev7-plug--play) for the connection and safe-disconnection workflow. ## Input works poorly If recording or sampling from input is unstable: * re-check input device selection * verify the input channel * confirm another app is not already monopolizing the device ## Time-stretch sounds wrong or takes too long If a stretched loop sounds distorted or artifacts are audible: * **Extreme ratios** (below `0.5x` or above `2.0x`) can produce artifacts on any material. Try a ratio closer to `1.0x` if possible. * **Percussive material** may lose transient sharpness when stretched significantly. Consider layering an unprocessed copy for attack. If time-stretch is unexpectedly slow: * The first stretch after an update regenerates the cache (the old cache is purged automatically when the engine version changes). Subsequent plays are instant. * Very long samples take proportionally longer to process. The stretch runs in a background thread and does not block the UI. * If transport shows `warming synced audio…`, a cued loop or scene is waiting for synced stretched audio before playback starts. This prevents the transport from starting early and playing that channel late. If stretched audio sounds stale or mismatched: * The cache validates against the expected length, channel count, and sample rate. Mismatched entries are regenerated automatically. If you still hear stale audio, clearing the stretch cache directory manually will force a full rebuild on next play. ## Pad stops unexpectedly when another pad plays This is usually a choke group. Channels in the same choke group cut each other off — triggering one stops the others. Check: 1. open Channel Detail (`Enter` on the affected pad) 2. look at the **Choke** control 3. if it shows a group number, other channels in that group will stop this pad when they trigger To fix, change or remove the choke group assignment with `Left` and `Right`. ## A DJ platter BPM is implausible or stale On the optional high-resolution jog surface, Meiji Sampler sends the REV7 platter the deck's current beatgrid BPM after pitch. The active `±8%`, `±16%`, or `±50%` range determines how far the current fader position can move that value. It can change after background beatgrid analysis completes or after a beatgrid edit. Setting `dj.hi_res_jog` to `false` in `config.json` returns the REV7 to the Pioneer surface, which keeps the controller's own idle display. REV7 hardware has confirmed the live post-pitch BPM readout. Software tests additionally pin the outgoing BPM bytes and tempo-range slots. The physical range-indicator refresh still requires controller confirmation. 1. Wait for `analyzing beatgrid…` to finish before judging the readout. 2. If the tempo is exactly half or double what you expect, press `;` or `'` in DJ Mode to correct the grid tempo. 3. If the beats drift while the tempo is plausible, press `,` or `.` to move the beatgrid anchor. 4. Reload the track if analysis or an edit did not refresh the deck state. See [DJ Mode](/guides/dj-mode#pitch-range-and-live-bpm) for how pitch and the grid contribute to the readout. ## A REV7 platter waveform ends before the audio An older build was observed to reset its platter playhead near `-01:00.4` on an approximately 96.6-second track while audio continued. Current builds send waveform uploads and the remaining-time countdown on the same display timeline, which is intended to correct that boundary. The post-fix physical result awaits hardware confirmation. If you reproduce the symptom after updating, reconnect the REV7 so its HID display service reinitializes, then report the result. ## DJ playback or scratching crackles DJ keylock and vinyl manipulation support 44.1, 48, 88.2, and 96 kHz source/output combinations. You do not need to resample a bounce merely because its rate differs from the active output. If playback is clean but platter manipulation crackles: 1. close other realtime audio applications, raise `Settings → DJ → Buffer Size` to `256 samples`, then leave and re-enter the `DJ` tab so the new size takes effect 2. test once with keylock off, then on, and note whether the symptom follows keylock or all vinyl motion 3. temporarily kill PerformFX with `[SHIFT+K]` to distinguish the deck path from an active effect 4. note the source rate, output rate, buffer size, jog mode, keylock state, pitch percentage, and whether hardware output was active A repeatable crackle at a supported rate is not expected behavior. Keep those details with the affected bounce so the callback path can be reproduced without guessing. ## A DJ command says audio queue busy `Deck A: … not applied — audio queue busy` means Meiji Sampler kept the screen and deck audio consistent by rejecting a command that could not enter the bounded real-time mailbox. The rejected action is not silently shown as successful. 1. Release the platter or key that is generating repeated movement, then try the command again. 2. If the message follows a controller reconnect or output-device change, let the DJ output finish rebuilding before retrying. 3. If ordinary single presses reproduce it, note the command, output device, buffer size, and whether hardware output was active. A single transport, cue, pitch, keylock, nudge, sync, or scratch action should normally be admitted immediately. Repeated messages during ordinary use indicate a control-path fault rather than expected latency. If the status instead says `DJ audio source cleanup failed — restart Meiji Sampler`, stop the set and restart the app before continuing. That message reports a source-lifecycle invariant failure, not a recoverable rejected control action. ## DJ master recording is missing hardware mixer controls This is expected when using a REV7 hardware mixer. DJ master recording captures the safety-limited post-PerformFX software master, which is the unity-gain sum of both post-PerformFX deck stems before the physical mixer. The physical EQ, channel faders, crossfader, microphone or auxiliary input, and hardware master processing are excluded. If you need those physical controls in a recording, capture the REV7's physical master externally. For Meiji Sampler's software-master recording workflow and `[R]` shortcut, see [DJ Mode](/guides/dj-mode#record-a-dj-set). For input-device recording, use `[CTRL+R]` instead. ## Linked pad does not fire If a channel has a linked pad configured but the secondary trigger does not sound: 1. confirm the target channel has an assigned sample 2. confirm the link target is not the same channel as the source 3. open Channel Detail and verify the **Link** control shows the expected target The linked pad will not fire if the target channel is empty or if the source pad itself has no sound to play. ## Linux-specific host issues On Linux, if `Auto` is unstable, explicitly try: * `ALSA` * `JACK` if your system is already set up for it ## Related pages * [Audio Setup](/start-here/audio-setup) * [Settings](/reference/settings) * [Effects And Parameters](/reference/effects-and-parameters) * [Time-Stretch A Loop To Tempo](/recipes/time-stretch-a-loop-to-tempo) * [DJ Mode](/guides/dj-mode#record-a-dj-set) # File And Project Problems Source: https://docs.sampler.meiji.industries/troubleshooting/files-and-projects Fix sample-path, save/load, recovery, and uninstall issues. # File and project problems ## A sample will not load Check: * the file still exists at the same path * the format is supported * the path is not from a disconnected external drive or moved directory If the sample lived in a removable drive, network share, or synced folder, verify that location is currently mounted and reachable. ## A project will not save Check: * the projects directory is writable * the target filename is valid * you are not unintentionally colliding with another project name * the disk is not full * the save location has not moved underneath the app Projects default to: * `~/Documents/Meiji Sampler/Projects/` ## A project seems corrupt The project loader attempts backup recovery using `.bak` files when possible. If the primary file fails to parse, the app may still recover the backup version of the same project. If a recovered project opens, save it immediately under a new name before continuing. ## My session changed after restart Remember that there are two different persistence layers: * background session state * explicit `.meiji` project files If a session mattered, save a project rather than relying only on last-open state. Background session recovery is convenient. It is not the same thing as a named project with a known file path. ## Recover a DJ recording partial An overflow, tap failure, disk error, or finalization error can leave `DJ Set ... .partial` in Bounces. Meiji Sampler keeps this file so you can attempt recovery, but it never announces or scans it as a completed bounce. 1. Stop Meiji Sampler and make a copy of the `.partial` file before working on it. 2. Open the copy in an audio editor that can import and rewrite incomplete WAV data. 3. Export the recovered audio under a new `.wav` name. 4. Leave the original `.partial` unchanged until you have verified the new file. Do not simply rename a partial to `.wav`. A failed finalization can leave WAV metadata incomplete even when much of the audio data was written. See [DJ Mode](/guides/dj-mode#record-a-dj-set) for the source captured by DJ master recording and [Storage Paths](/reference/storage-paths-and-project-structure#bounces) for the folder. ## Uninstall cleanup To fully remove Meiji Sampler and all its data: 1. Delete the application itself. 2. Delete the config, data, and cache directories for your platform. See [Storage Paths](/reference/storage-paths-and-project-structure) for the exact paths. If you only want to reclaim disk space without losing settings, delete the Packs subfolder inside the data directory instead of the entire directory. ## Fast rule of thumb If the problem is about something not opening, not saving, or not being where you expected, check the path first. ## Related pages * [File And Project Management](/guides/file-and-project-management) * [Storage Paths And Project Structure](/reference/storage-paths-and-project-structure) * [FAQ](/reference/faq) * [File Formats](/reference/file-formats#dj-master-recording-output) # Troubleshooting Source: https://docs.sampler.meiji.industries/troubleshooting/index Find the symptom closest to your problem and work through the likely fixes. # Troubleshooting When Meiji Sampler feels wrong, start with the symptom that matches what you see or hear. Most issues fall into one of a few buckets: audio setup, recording state, file paths, MIDI routing, or terminal and system behavior. ## Before you go deep Do these quick checks first: * confirm the relevant row, tab, or editor is actually focused * confirm a modal or editor is not open and changing how shortcuts behave * confirm the terminal, audio device, and project path are the ones you think they are ## In this section * [Audio And Playback Problems](/troubleshooting/audio-and-playback) * [Recording And Loop Problems](/troubleshooting/recording-and-loops) * [File And Project Problems](/troubleshooting/files-and-projects) * [Splice And Network Problems](/troubleshooting/splice-and-network) * [MIDI And Sync Problems](/troubleshooting/midi-and-sync) * [Performance And System Problems](/troubleshooting/performance-and-system) ## Still stuck? Use [Error Messages](/reference/error-messages) for exact failure classes, then come back here once you know which subsystem is involved. # MIDI And Sync Problems Source: https://docs.sampler.meiji.industries/troubleshooting/midi-and-sync Troubleshoot MIDI mapping, monitor, transport, and controller connection issues. # MIDI and sync problems ## A controller movement does nothing Check in order: 1. Open Settings with `,`, then open the MIDI page. 2. The Monitor sub-view shows incoming events when you move the control. If not, the device is not connected or not sending on the expected channel. 3. A mapping exists for that control in the Mappings sub-view. 4. The mapping points to the correct action. 5. The current view allows MIDI pass-through (see below). ## MIDI mappings stop working in certain views For direct app-action mappings, this is expected. Pad, loop, scene, transport, and mixer mappings only fire on the main sampler rows (Pads, Loops, Scenes), Channel Detail, Channel Chop, and the Help overlay. They are intentionally blocked in stateful modals and views such as Settings, Bounce, Trim, Search, MIDI Learn, and others to prevent mapped actions from silently dismissing those screens. Keypress mappings are an exception. Once the MIDI control is resolved, the captured key goes through the normal keyboard handler, so it follows the active context. For example, a MIDI pad mapped to `1` can set or trigger marker `1` in the Trim/chop editor. To restore direct-action MIDI response, close the modal or view and return to a main sampler row or channel overlay. See [MIDI Implementation — Route allowlist](/reference/midi-implementation#route-allowlist) for the full list. If the monitor shows events but the mapping does not fire, verify the mapping was saved — the status bar confirms each assignment. ## A mapping I just created is not listed The Mappings sub-view shows a snapshot taken when you entered the tab. If you suspect a display issue, leave the MIDI page with `Esc`, then reopen Settings with `,` and return to MIDI to refresh the snapshot. ## A mapping disappeared after I assigned a new one Mappings are one-to-one. One situation causes automatic removal: * **Same control, new action**: Assigning a control to a different action replaces the old action for that control. If a mapping vanished, that control was edited from the Listening list or reassigned in a separate step. ## I moved a mapped control and saw `already mapped` This means the MIDI control you moved already has a mapping. MIDI Learn returns to the Listening list and selects that mapping row. Press `Enter` on the selected row to edit it, or move a different unmapped control to create a new mapping. ## I selected an action and saw `already mapped` This means the action you selected is already mapped to a different MIDI control. MIDI Learn returns to the Listening list and selects the row for the existing mapping so you can inspect or edit it. ## I accidentally cleared all mappings `Shift+Delete` in the Assigning phase clears every mapping. There is no undo for this operation. You will need to re-create your mappings. ## Transport messages show in the monitor but do not affect playback The `transport_enabled` setting is off. Open Settings (`,`) and enable MIDI transport response. ## The monitor is unreadable or flooding Clock and Active Sensing messages can generate very high volume. Press `f` in the Monitor sub-view to cycle through filters and suppress noise. Treat these message types as noise unless you are specifically diagnosing a sync problem. ## No MIDI devices appear Meiji Sampler uses the system MIDI stack. Check: * The controller is powered on and connected via USB or a MIDI interface. * The device appears in your operating system's MIDI settings (macOS: Audio MIDI Setup). * No other application has exclusive access to the device. ## The REV7 tempo range or fader feels wrong The REV7 `TEMPO RANGE` button changes only its owning deck immediately. It cycles `±8% → ±16% → ±50% → ±8%`, then immediately reinterprets that deck's current physical tempo-fader position. It also saves one global default for the next track load on either deck. The other active deck is unchanged. If the pitch jumps more than expected, check the range shown for the owning deck before moving the fader. Use `[P]` to make the same change from the keyboard. The Settings `DJ → Pitch Range` value is the global default for the next track load on either deck, so changing it does not reset either active deck. On the optional high-resolution jog surface, Meiji Sampler sends the owning deck's active range to the platter by replaying the complete loaded-track display state at the live playhead. It uses the REV7's native `±8`, `±16`, and `±50` values in the TUI and audio-engine fader scaling. The physical range-indicator refresh still requires controller confirmation. If the controller does not respond, reconnect it and confirm incoming messages in the MIDI Monitor. See [DJ Mode](/guides/dj-mode#pioneer-ddj-rev7-plug--play) for the control map. ## Related pages * [MIDI Implementation](/reference/midi-implementation) — control identification, mappable actions, and behavior details * [MIDI and External Gear](/guides/midi-and-external-gear) — mapping workflow guide # Performance And System Problems Source: https://docs.sampler.meiji.industries/troubleshooting/performance-and-system Fix terminal, persistence, update, and system-load issues that affect stability or responsiveness. # Performance and system problems ## The UI feels wrong or shortcuts misbehave Start by checking the terminal. Many apparent app issues are really terminal capability problems, especially when colors look wrong, layout feels broken, or shortcuts behave inconsistently. Go to: * [Terminal Compatibility](/start-here/terminal-compatibility) ## Changes do not persist after restart If settings, MIDI mappings, or PerformFX changes disappear, suspect a config save failure or a directory-permission problem in the app config path. Also verify that you are not confusing background session state with an explicitly saved project. ## PerformFX A/B feedback does not export PerformFX A/B feedback exports to the app data directory under `PerformFX/feedback/`. If `[SHIFT+S]` reports that feedback could not be exported, check that Meiji Sampler can write to its app data directory and that the disk is not full. ## The app became unstable after an update Check: * [What's New](/release-notes/whats-new) * [Upgrade And Migration Notes](/release-notes/upgrade-and-migration-notes) Look specifically for: * persistence changes * path migrations * terminal compatibility fixes * platform-specific regressions ## Windows shows an update, but the updater dialog does not open Install the latest Windows build from `sampler.meiji.industries` once, then use Settings → About → Updates for future updates. Older Windows builds could detect a newer version in Settings while the native WinSparkle feed rejected the same update. Current installer builds use a Windows-specific update feed and open the native updater dialog from the Updates row. ## Background processing feels heavy Features such as stem separation, export, and video generation can increase load. Let long-running tasks finish before judging general UI performance. If the app only feels slow during those operations, the slowdown may be workload-related rather than a general regression. ## Stems Addon download fails Stem separation uses a separate Stems Addon download. If the install fails immediately with an unavailable platform, missing bundle, or checksum message, the published add-on package for your platform is missing or cannot be verified. You can keep using Meiji Sampler without stem separation. Retry after updating to a release that includes a verified add-on bundle for your platform. If the message mentions a network failure instead, check your connection and retry from Settings → Addons. ## Audio is fine, but the interface feels sluggish Check: * whether stem separation, stretching, or export is running in the background * whether the terminal itself is the bottleneck * whether another app is heavily loading CPU, GPU, or disk ## Fastest triage order 1. Check terminal compatibility. 2. Check whether a background task is still running. 3. Check release notes for recent platform-specific changes. 4. Check config and project paths if persistence is involved. ## Related pages * [Release Notes](/release-notes/index) * [Error Messages](/reference/error-messages) * [File And Project Problems](/troubleshooting/files-and-projects) # Recording And Loop Problems Source: https://docs.sampler.meiji.industries/troubleshooting/recording-and-loops Fix issues with arming, recording, overdubbing, loop timing, and loop editing. # Recording and loop problems ## Recording will not start Check: * you are in the `Create` tab * the loops row is focused * the correct slot is selected * your input or playback setup is not in a broken state ## The first loop feels wrong Remember that the first meaningful loop establishes session timing. If that first loop is sloppy or unintended, later loops will inherit the wrong foundation. Best fix: * clear the bad first loop * record the timing source again cleanly * use First Loop Setup in Fixed mode when you want `90.00 BPM`, Quantize `OFF`, a `4 BEATS` count-in, a `REC + PLAY` click, and a loop that keeps the selected Length even if you press `[ENTER]` before the automatic stop; early commits queue as `OVR+` until the fixed interval arrives * if the first beat is blank after a count-in, remember that the final count-in beat advances hits to `0:00`, including slightly early hits near that beat; play there or after REC starts when you want a top-of-loop event * switch First Loop Setup to `Mode: AUTO TEMPO` only when you want the completed take to define the tempo by its ending; Auto keeps Length flexible while still applying the dialog's Quantize, Count-in, and Click choices, then continues directly into overdub ## Overdub made the loop worse Use the smallest rollback possible: * undo the last loop edit * clear the affected track if available * re-record the overdub only ## Loop length feels wrong Check whether the issue is: * bad take timing * wrong loop close point * quantization mismatch * a loop that should have been extended or duplicated instead ## Quantize made it feel stiff Use less correction, or leave more of the original timing intact. Quantization should improve the groove, not erase it. ## The project is playing too fast or too slow Open `Settings → Tempo`, then set the BPM you actually want. This retimes loop playback and synced material while keeping pitch unchanged. If first-loop detection keeps choosing the double-time or half-time BPM, set `Range` before recording the first loop. The default `65-135` range turns a detected `171.45 BPM` first loop into `85.73 BPM`; `None` disables this automatic correction. ## Tempo is unavailable in Settings The project tempo editor requires at least one recorded loop to establish a timing source. Record a loop first, then open `Settings → Tempo`. ## Related pages * [Loop](/learn/loop) * [Overdub And Loop Editing](/guides/overdub-and-loop-editing) * [Quantization And Swing — Project Tempo](/guides/quantization-and-swing#project-tempo) # Splice And Network Problems Source: https://docs.sampler.meiji.industries/troubleshooting/splice-and-network Fix sign-in, search, preview, credit, and download issues for Splice and other network-dependent features. # Splice and network problems ## Splice search asks you to sign in Splice search requires Splice MCP authentication. Open the Splice browser and choose sign in. The browser opens Splice's OAuth page, then returns to Meiji Sampler after authorization. ## Sign-in fails Check: * the browser completed the Splice sign-in page * the callback page says sign-in is complete * the system keychain is available * the network can reach `https://mcp.splice.com` Try signing out from the Splice account row in Settings, then sign in again. ## Search works but downloads fail Downloads require a Splice Sounds+, Creator, or Creator+ subscription. Search and Stacks can work on a free Splice account, but full-quality licensed downloads need a paid Sounds plan. ## Download limit reached Splice limits MCP downloads to 100 downloads per rolling 24 hours. Wait until the window clears, then retry. Re-downloading a sample you already licensed should not use another credit. ## Preview does not play Some MCP results may return links that need to open in a browser rather than inline playback. If Meiji Sampler cannot play the returned preview link, open the sample in Splice and try another result. ## Splice service outage Check [Splice status](https://status.splice.com) if sign-in, search, and downloads all fail while your connection is otherwise working. ## Related pages * [Splice Integration](/guides/splice-integration)