# Create a sampler bank

> Create keyboard instruments and drum kits in Studio, then export their sounds and mappings as MAS or ZIP banks.

Canonical: https://maru.audio/docs/sampler-banks
Documentation index: https://maru.audio/llms.txt

A sampler bank combines audio files with a configuration that tells the sampler
which sound to play for each note and velocity. It can be a melodic instrument,
a drum kit, or a set containing both. You can build one without writing DSP or a
custom interface: the generic sampler presents a piano keyboard or drum pads
from the mapping, with a view toggle for auditioning.

> **In the Help Center:** [Create a sampler bank](https://maru.audio/help/create-a-sampler-bank.md) for the short version.

Open [Studio](https://maru.audio/studio), choose **New project → Sampler bank**, and describe the
instrument you want. For example:

> Build a soft piano bank from my uploaded notes. Map each recording around its
> root pitch, keep the original files, and make a second positioning with a
> narrower keyboard range. Add a quiet preset for practice.

## Add sounds and shape the mapping

To edit a catalog bank you are playing in the [Maru Sampler](https://maru.audio/modules/sampler),
choose **Edit bank in Studio** in the page menu, then **Open bank in Studio**.
Studio copies the selected bank's samples, mappings and presets into a sampler
bank project. The original catalog bank stays unchanged.
The copy opens an empty chat attached to its project. Studio shows your newest
empty chat in the sidebar so you can return before sending a message or editing
the bank. Older copies remain available in **Creations**. Reopen a copy to
continue its existing chat; **Edit bank in Studio** on the catalog page creates
another copy.

Review any import notes before opening the copy. A bank's custom interface may
not survive editing even when its audio files copy successfully. Keep the
original download when working with a bank that has a custom interface.

Use **Sources** to drop audio, choose files, or import an existing bank. Files
named with their root notes and velocity layers help the filename mapper;
inspect its result before saving. Upload errors and conversion warnings explain
which sounds or features could not be used. Sample count and size limits apply.

The agent can inspect the attached bank and sound inventory, help map those
sounds, adjust zone and group settings, and save supported edits as a revision.
Ask it to read the current configuration before proposing changes. You can also
attach a WAV and ask for silence-separated one-shots, or assemble suitable
sounds through the available sound tools. In **Sources**, describe a sound or
kit, generate a take, preview its clips and choose what to add to the current
bank. The selected sounds become bank sources; review their mappings, audition,
then save. Generation requires a configured provider and storage. The local
development mock returns audible fixture audio for testing this journey; it is
not a real inference model or evidence of generated sound quality.

Use **Mapping** to inspect key and velocity ranges, root pitch, tuning, gain,
loops and group settings. Select a zone to edit its details. Play the result in
**Preview** using the keys or pads. The shared playback bar provides sound,
computer keyboard, MIDI, output and stop controls, as it does for other
instruments. Text fields do not trigger computer keyboard notes.
Supported browsers offer MIDI input through the shared device settings. Keep an eye on load errors and
unsupported-feature notices. Some imported settings can be retained as data
even when the reader cannot reproduce them; the import report identifies
settings the editor cannot retain.

## Positionings and presets

A **positioning** is one mapping of the bank's shared audio pool. Make another
positioning when the notes, velocity splits or drum layout should differ. The
same sample can appear in several positionings without another copy of its
audio being added to the bank export.

A **preset** selects a positioning and stores sound settings, such as level,
attack or release. Create a preset under the positioning it should play. A
different mapping belongs in another positioning, with its own preset if useful.
The **Presets** tab also gives access to the existing bank metadata and artwork
controls.

The stock sampler uses shared instrument parameters across banks. A preset can
store level, transpose and the instrument's attack, decay, sustain and release.
The amplitude envelope applies to every voice; Attack and Release are absolute
times rather than additions to each zone's authored envelope. Per-pad treatments, such as
tuning, trim, pan, filter and reverse, are separate saved settings tied to the
zone they affect. Resetting a treatment restores the bank's authored behavior.
These pad settings are not separate DAW automation parameters. MIDI CC mapping
to a global control is also different from expressive performance. The browser
player supports pitch bend, mod wheel, aftertouch and sustain pedal; independent
per-note MPE expression is not supported. Native builds may differ.

Round-robin takes alternate recordings of the same sound across repeated
strikes. Velocity layers choose recordings by how hard a note is played; choke
groups let one sound stop another, such as a closed hi-hat stopping an open one.
These are sampler settings, not reasons to create another playback engine.
Support for imported selection modes and other advanced settings varies by
runtime; audition and check the reported limitations before distributing a bank.

## Save and inspect

**Save bank** creates a new revision. **Versions** lists those saved revisions;
**Files** shows the bank configuration and selected instrument mapping alongside
the source inventory. A bank contains configuration and audio and uses the
regular sampler module. An expansion can add an optional interface without
adding its own playback engine. Editing and preserving custom bank interfaces
in Studio is still in progress.

If an agent saves while you have unsaved edits, Studio keeps your local work and
reports the newer revision. Reload the latest bank and reapply the changes you
want to retain; a stale save is refused.

In **Info & export**, choose Public or Unlisted link and publish the **current
saved revision**. Saving later edits leaves the public instrument on its
published revision until you update the publication. Unpublish withdraws the
public viewer and its hosted bank files. Public instruments appear in Community
and on the creator's profile; an unlisted instrument opens through its direct
link and stays out of visitor listings. The same published page uses the
generic [Maru Sampler](https://maru.audio/modules/sampler) reader for keys or pads and authored presets.

On an official or published bank page, choose a preset, adjust the sound and
use **Share → Copy URL** to copy a link to those settings on that bank's page.
Shared community sound links name the active publication version. If the owner
replaces that publication, an older version link reports that it is unavailable;
it does not silently play the replacement. Sharing a sound does not save a new
Studio revision or publish your unsaved edits.

## Export and reopen

Open **Info & export → Export bank** and choose **Download MAS** or
**Download ZIP**. Both contain `bank.json`, instrument mapping documents,
presets, referenced artwork and audio. `.mas` packages this content as one Maru
Sampler bank file; ZIP provides the same content as an extractable archive.
MAS uses a versioned container around the ZIP data, not encryption.

These files are content for the [Maru Sampler](https://maru.audio/modules/sampler), not a newly
compiled VST3, AU or CLAP plugin. The native player is a separate release;
see [Maru Sampler](https://maru.audio/help/maru-sampler.md#native-app-and-daw-plug-in)
for current app and plug-in availability.

In **Sources**, use **Import bank ZIP or MAS…** to reopen either Studio export,
or **Import bank folder…** to choose a folder containing
`bank.json`. Compressed ZIPs from other tools need to be extracted first. Imports
copy audio into the destination project, preserve the supported mappings and
report conversion losses. Review the import report and audition the result.
Keep the original download: supported global parameters, per-zone preset
treatments and voice limits can round-trip through Studio, but optional custom
interfaces are not yet retained. Treatments that name missing or invalid zones
are reported rather than attached to another sound. Playing a bank in the
sampler and importing it for editing have different coverage.

Keep the manifest and its relative audio paths together when moving a bank
folder. `bank.json` by itself does not contain the sample bytes. Use a `.mas`
or ZIP export when you need one file containing the complete bank.

Saving, exporting and publishing are separate actions. A private Studio
revision or owner download does not make a bank publicly available. A published
bank offers a public bank archive download only when every sample has explicit
redistribution permission; other published banks can still be played in the
browser. Publicly playable browser audio can be retrieved even when its URL
uses an opaque ID. Downloaded bank archives can be reopened through **Sources**;
an import may not retain the original provenance. Verify each sound's source
and redistribution rights before publishing or sharing a reopened bank.

See [Studio workflow](https://maru.audio/docs/studio-workflow.md) and
[Publishing](https://maru.audio/docs/publishing.md) for the wider authoring and release process.
