Skip to main content

MAPSS

CI PyPI Python Paper License: MIT

MAPSS (Manifold-based Assessment of Perceptual Source Separation) is an ICLR 2026 metric package for source-separation systems. It reports two complementary frame-level measures in [0, 1], where higher is better:

  • Perceptual Separation (PS): separation of an estimated source from competing references.
  • Perceptual Match (PM): perceptual match between an estimated source and its assigned reference.

The public interface accepts N ordered reference waveforms and the corresponding N ordered system outputs. It supports WAV paths, NumPy arrays, and PyTorch tensors.

Install

MAPSS supports Python 3.10-3.12.

python -m pip install "mapss-measures==1.1.1"

Install the optional plotting command as well:

python -m pip install "mapss-measures[plot]==1.1.1"

The default pretrained backbone is downloaded from Hugging Face on first use. A CUDA GPU is recommended; CPU execution is supported but slower.

Python quick start

from mapss import mapss

references = [
    "reference_source_1.wav",
    "reference_source_2.wav",
]
outputs = [
    "estimated_source_1.wav",
    "estimated_source_2.wav",
]

result = mapss(
    reference=references,
    output=outputs,
    source_names=["source_1", "source_2"],
    model="wav2vec2",
    layer=2,
    alpha=1.0,
    seed=42,
)

print(result.summary)
result.save("mapss_results")

Input contract: output[i] must estimate reference[i]. MAPSS requires at least two sources and does not silently find or change the source assignment.

Inputs are downmixed to mono and resampled to the paper's 16 kHz operating rate. By default, unequal signal durations are rejected; use length_policy="trim" only when shortest-length alignment is intentional.

Command line

The same evaluation can be run without writing a Python script:

python -m mapss \
  --reference reference_1.wav reference_2.wav \
  --output estimate_1.wav estimate_2.wav \
  --source-name source_1 --source-name source_2 \
  --model wav2vec2 --layer 2 --alpha 1.0 --seed 42 \
  --results-dir mapss_results

Windows PowerShell uses the same module command with backtick line continuations:

python -m mapss `
  --reference "C:\data\reference_1.wav" "C:\data\reference_2.wav" `
  --output "C:\data\estimate_1.wav" "C:\data\estimate_2.wav" `
  --model wav2vec2 --layer 2 `
  --results-dir mapss_results

Add more paths to both lists for mixtures with more sources. Keep the two lists the same length and order.

Results and plotting

result.save(...) and --results-dir write:

  • ps_scores.csv: frame timestamps and PS for every source;
  • pm_scores.csv: frame timestamps and PM for every source;
  • confidence.csv: paper-derived error quantities when add_ci=True;
  • summary.csv: convenient per-source means and valid-frame counts.

Plot all sources after installing the plot extra:

python -m mapss.plotting mapss_results

The figure is saved as mapss_results/ps_pm_over_time.png.

Inactive frames are stored as NaN and excluded from convenience means. Do not replace them with zero. The paper's formal PS utterance aggregation is defined in Appendix B.4 and is not a plain frame mean.

Important keyword arguments

Argument Default Meaning
model "wav2vec2" Representation backbone; default is wav2vec 2.0 Large.
layer paper default Layer 2 for the default English configuration.
alpha 1.0 Diffusion-map density normalization in [0, 1].
add_ci True Compute the paper-derived error components.
seed 42 Seed for MAPSS and the distortion bank.
max_gpus all visible Maximum GPUs; set 0 to force CPU.
length_policy "error" Reject unequal lengths; "trim" is explicit opt-in.

Supported representations are wav2vec2, wavlm, hubert, their _base variants, wav2vec2_xlsr, and raw. The raw model is only for fast installation tests, not scientific reporting.

Documentation

Citation

@inproceedings{ivry2026mapss,
  title     = {MAPSS: Manifold-based Assessment of Perceptual Source Separation},
  author    = {Ivry, Amir and Cornell, Samuele and Watanabe, Shinji},
  booktitle = {International Conference on Learning Representations},
  year      = {2026}
}

License

MAPSS is released under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapss_measures-1.1.1.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mapss_measures-1.1.1-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file mapss_measures-1.1.1.tar.gz.

File metadata

  • Download URL: mapss_measures-1.1.1.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mapss_measures-1.1.1.tar.gz
Algorithm Hash digest
SHA256 2d2498e9c6938d74f011040550c0983ad839c3e23cb1cec2a9bc017c0306ab2b
MD5 f9ecb0399421252498f1e90f172b847a
BLAKE2b-256 10269fe7393c7013e79c4891b878211c7b45ba7d519e6f86ef09bb443c380491

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapss_measures-1.1.1.tar.gz:

Publisher: publish.yml on Amir-Ivry/MAPSS-measures

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mapss_measures-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: mapss_measures-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mapss_measures-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e03bb3adc1bce782b126751ff90fcb54649ef1f4cf969fecc4862ab33e589a0e
MD5 b06a243657f1f755f54fa108fa1fb520
BLAKE2b-256 93e8378f617bf1a776653f952cc8e068f985bcdfe7d76027df0a69ac2691c45a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapss_measures-1.1.1-py3-none-any.whl:

Publisher: publish.yml on Amir-Ivry/MAPSS-measures

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.1.2

2 files

This release

1.1.1 This release

2 files

1.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page