Skip to main content

Upgrade and migration notes

This page highlights the upgrades most likely to affect existing users.

Sequence speed, resample and ordered songs

HALF/DOUBLE SPEED changes event time independently of HALF/DOUBLE SEQ length commands. A saved independent project clock preserves BPM after reload. Old projects without this field infer the clock from their timing-source sequence. New song order defaults empty for existing projects. Redo history is transient. Resampled audio is an owned recording referenced by its pad and project; keep its resample-* directory with the rest of your recordings when moving projects. [CTRL+SHIFT+R] opens resample while [CTRL+R] retains input recording. Native SONG opens the order editor; use [PAD BANK] for ordinary Scenes.

Master compressor state

Sessions and named projects store dedicated sampler master compression settings. Files without this field load bypassed with 0 dB makeup; new projects use the same default. Live edits remain when the editor closes and save with the project or session. Reload and audio-output restart reset the envelope. See master compressor for ranges, controls, and headroom behavior.

MPC Sample SHIFT controls

SHIFT+pad invokes the printed function in every bank outside Chop. Unsupported functions report unavailable; they do not select their physical pad. Use [DATA] for silent selection. Chop keeps all sixteen SHIFT/ERASE marker-clear actions. REC QUANTIZE defaults Off and commits new hit positions to its grid. It does not preserve the original off-grid recording. Existing takes and Time Correct settings remain intact. Native [SHIFT+14] stages Time Correct until [B3] applies or [B1] cancels; the existing editor’s quantize page keeps live changes. Fader defaults to channel Gain; assignment and record-quantize preferences persist. External MIDI notes, Start/Stop, and program selection are opt-in for each session. See MPC Sample controls for the complete function matrix and engine limits.

Experimental MPC Sample profile

Bank A, B, and C start in selected-slot detail. Press the same bank button again for the sixteen-slot index. [PAD BANK] now opens Scenes directly; [SHIFT+PAD BANK] retains reverse bank cycling. [SAMPLE], [SEQ], and [PAD FX] open Pads, Loops, and Perform directly. Values remain editable in the existing Chop, Mix, sequence, and scene editors. The view choice resets on restart; projects need no conversion. See selected slot details. Before the first loop, [SEQ REC] or an empty B Loops pad now opens First Loop Setup instead of arming immediately. The chosen loop is preserved. Turn [DATA] to select Mode, Tempo, Quantize, Length, Count-in, or Click; use [−] / [+] to adjust. [SHIFT] gives fine tempo steps and [TAP TEMPO] sets a fixed tempo from taps. Press [DATA], [SEQ REC], or [B3] to confirm; [B1] or [STOP] cancels without arming. Startup no longer forces an unset tempo to 120 BPM; the bank header shows AUTO BPM. Setup defaults to FIXED TEMPO, using 90.00 BPM when unset, a 1 BAR Length, 4 BEATS Count-in, and REC + PLAY Click. Set Length to AUTO to finish the take manually while retaining that BPM, or choose AUTO TEMPO to infer tempo from the completed take. Fixed bar lengths finish automatically. Each first take continues into overdub; later loops skip setup once session timing exists. Existing projects and count-in settings need no data conversion. See First Loop Setup. Auto Tempo first loops now wait for the selected Count-in when started with [PLAY] or a sample/chop pad in A Pads. The countdown uses the tempo prepared in setup, defaulting to 90.00 BPM when unset, without fixing project BPM. End the take with [SEQ REC] to infer tempo and continue into overdub. Browse automatically previews highlighted audio, including the first selected sample. Pressing [DATA] opens a folder or assigns a sample like [B3]; [B2] restarts preview playback. On an empty bank A pad, [DATA] opens Browse. [SHIFT+PAD 1], [SHIFT+PAD 4], and [SHIFT+PAD 12] invoke the labeled Full Level, Count-In, and Song shortcuts. [SHIFT+PAD 16] opens Project. Use the bank’s encoder to select those slots without playing them. [SHIFT+−] invokes loop Undo outside note MOVE; shifted [−] / [+] retain fine movement inside MOVE. Redo is unavailable. While chopping, [SHIFT+PAD] clears that marker and takes precedence over the Full Level, Count-In, and Song shortcuts. The source sample remains assigned. SD access via Akai saves Meiji and returns to stock. Open Akai SD Card Access, transfer files, safely eject on the computer, then press Akai [B1]. Run mise run mpc-sample:device -- launch on the paired Mac to resume the saved Meiji session without rebooting. Direct Meiji export remains disabled. The physical power key opens a shutdown confirmation; [B3] commits loop recording and saves the session before shutdown. Keep or close unkept audio-input recordings first. In the Chop editor, holding [PLAY] auditions saved START every 250 ms; [DATA] changes that saved point. Holding a chop pad with [DATA] changes its saved marker in the editor or performance grid. [SHIFT] gives fine steps. These gestures edit the sample’s musical points, including shared points for linked samples; the moving playback cursor does not change them. Release continues the latest audition. Existing projects need no data conversion. See MPC Sample controls. The standalone mpc-sample build stores writable state in Meiji/State on its prepared SD. Preserve that directory when updating Meiji/Runtime, Meiji/Packs, and autorun; do not format the card. Save a project and use [SHIFT+STOP] → Exit to stock before removing the card. Ten-slot projects load in the extended build. Keep a separate copy of projects saved with sixteen-slot scene masks or chop markers: the desktop build rejects those larger arrays instead of discarding their extra slots. Desktop keyboard shortcuts and Perform bank identities are unchanged. See MIDI Implementation.

Multiple MIDI controls per action

The upcoming fix allows multiple MIDI controls to share an action or keyboard key. Existing mappings and settings formats remain compatible; no manual migration is required. Adding a control no longer removes another control assigned to the same action, and duplicate-action mappings survive restart. Older builds still enforce one control per action within each scope, so keep a settings backup before downgrading. Manual MIDI Learn remains global: controllers sending the same channel, message type, and number share one mapping. Device-scoped automap assignments keep their existing precedence. See MIDI Implementation.

Resonator, Hyper-Reso, and SBF

In the upcoming fix, these three PerformFX presets change sound from filter stand-ins to string resonators or a sideband filter bank. Saved slots, custom presets, and legacy key bindings with the old Cutoff/Resonance/Drive control set load the new effect defaults. Those filter values have no equivalent in the new engines. Other slot settings, including timing, Wet, and PreGain, are preserved; edits to the new controls survive later restarts. Audition these assignments before performing. Open FX Params with [ENTER] to choose the new controls. Hyper-Reso Spread changes octave voicing, while Character controls brightness and detuning. Increasing SBF Width narrows the bands. See Effects And Parameters.

Autochop and transient analysis

In the upcoming fix, trim view chooses an initial sensitivity from the audio rather than always starting at 1.0x. Adjustments with [<] and [>] remain active for that trim view. [A] uses those settings, offers a strategy only when candidates exceed bank capacity, and keeps all assigned chops in timeline order. Nearby candidates within 120 ms share one chop. Cached transient analyses are recomputed automatically, including previously empty results. Saved chop markers and source audio are unchanged; replacement still requires confirmation. See Chopping And Slicing.

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 and Settings.

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

In the upcoming fix, existing Pattern Transformer assignments play at the source pitch instead of the previous half-speed growl, move forward then back across the division instead of dragging forward and re-cueing silently, and the cycle repeats once per selected division rather than every two. New Transformer presets default Rate to 16th; saved assignments keep their stored Rate, so an existing 8th assignment still chops at 8th notes and can be switched to 16th in FX Params. The chops now continue through the back stroke, every chop sounds in full, and the back stroke reads the captured slice in reverse. The Gate choice gains a fourth option, 3+Rest, appended after Rhythmic; saved Gate values keep their meaning. Saved controls need no migration. See Transformer. In the upcoming fix, existing Pattern Chirp assignments play eased strokes sweeping the whole grid cell (a fifth higher than the previous two-thirds sweep), held shut through the turn for 45% of the cycle instead of flat-speed strokes cut for 15%. Existing bindings keep their saved division; new Chirp presets default to 1/8 instead of 1/4. Saved controls need no migration. See Chirp. In the upcoming fix, new Bubble presets default to a 1/2 division instead of 1/4; existing bindings keep their saved division. In the upcoming fix, existing Pattern Prism assignments play a 1-2-3 triplet per division instead of one equal push-and-pull hump per division. The saved Motion value, previously ignored for Prism, now selects the figure: Forward (the old default) repeats the push-split cell, Back the pull-split cell, Orbit alternates them; new Prism presets default to Orbit and 1/8. Saved controls need no migration. See Prism. In the upcoming fix, existing Pattern Joe Cooley assignments play a chirp, two scribbles, and a chirp on three consecutive divisions, a three-division cycle, instead of a chirp and swirl within one division. Existing bindings keep their saved division; new Joe Cooley presets default to 1/8 instead of 1/4. The Pattern choice gains Joe Cooley 1+2 and Joe Cooley 2+2, appended after Clover Tear, so saved Pattern indices keep their meaning. Saved controls need no migration. See Joe Cooley. In the upcoming fix, existing Pattern Autobahn assignments play the nine-sound A9 phrase, three triplet sets each spanning one selected division, instead of the previous six-stroke run over two divisions. Existing bindings keep their saved division; new Autobahn presets default to 1/8 instead of 1/4. Saved controls need no migration. See Autobahn. In the upcoming fix, existing Pattern Boomerang assignments play DJ Flare’s Open / Close / Tap figure as a triplet per count (long forward, short back, short forward, then the mirror) instead of the previous four slice/dice rubs. The two-count cycle is unchanged; every stroke is audible, with fader clicks at the moves, the short strokes at natural pitch and the slices an octave up. Saved controls need no migration. See Boomerang. In the upcoming fix, existing Pattern Pats assignments play the source at its natural pitch between pats instead of the previous slow crawl, covering more of the grid cell per stroke, and the push now carries three pats over three quarters of the cycle before a quick return. Existing bindings keep their saved division; new Pats presets default to 1/2 instead of one bar. The saved Motion value, previously ignored for Pats, now takes effect: Forward is the previous direction, Back pats the pull home, Orbit alternates. Saved controls need no migration. See Pats. In the upcoming fix, Pattern Twiddle leaves a short sounding lead-in before its finger roll, so existing assignments have a longer first sound before the cuts. Twiddle and the three- and four-finger Crab patterns also use slightly quicker platter acceleration and deceleration. Forward, Orbit, and Back retain their selected directions, cycle length, and travel; the quicker motion does not move the finger cuts. Saved controls need no migration. See Twiddle. In the upcoming fix, assignments with Pattern Baby or Tear use half-cell travel, so their strokes play at half the previous speed and lower pitch with the same cycle timing. Tear preserves its split-backstroke pause. Saved controls are preserved and no settings migration is needed. Audition existing Baby and Tear assignments before performing; the 16th Rate still doubles the cycle rate at the same travel. See Baby Scratch. Pattern Rhythm also uses half its previous travel and playback speed: quarter-cell normal strokes with proportionally shorter accents. Its five-rub phrase still spans two grid divisions. Saved controls are preserved; audition existing Rhythm assignments before performing. 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: 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 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.

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.

MPC musical routing preferences

MIDI input/output, Thru, transport/program and clock choices now persist. Existing preferences load with all new opt-ins Off and no selected ports. Invalid channel or base-note ranges are rejected at load. ALSA reconnection ignores volatile client numbers but retains endpoint number and refuses duplicate names. Review saved routing before enabling output; same-endpoint feedback is refused. The 50 ms generated MIDI gate does not change existing audio one-shot/loop behavior.

Committed sample edits

Older sessions start with no sample edit history or applied WARP. Existing trim metadata remains nondestructive. New sample edits add managed assets and up to 20 undo entries; keep named projects with their sibling .assets directory. See crop and WARP.

MPC stem cache upgrade

Projects keep their existing Stem selection. Native separation requires the optional verified offline Stems Addon image in the SD package. New completed caches record source content identity and preserve source frame coordinates. Old native caches without that identity are regenerated; completed current caches play without the addon. All restores the original without preprocessing. See standalone stem setup.