BoBERT 路 v14.1
Dense osu!standard beatmap representations from .osu hit-object sequences.
The encoder was pretrained on roughly 500,000 beatmaps; collection-derived adaptation
refines the embeddings for recommendation and similarity search.
Source and architecture 路 Live recommender
Release
- Embeddings: 498,962 beatmaps, 384 dimensions.
- Encoder: 9 layers, 6 heads, 4,096 hit-object limit.
- Index generated: 2026-09-14T15:25:19.001095+00:00.
- Adapter: collection-trained linear projection.
- Export workspace:
a65b9137198c8e64378960a881d66036fd4fbe19.
Download
From the source checkout:
uv run --no-default-groups --group serve fetch-run --repo token03/bobert --revision v14.1
docker compose up --build api
To inspect the model directly:
import torch
from core.model import BobertEncoder
model, stats = BobertEncoder.from_pretrained("model.safetensors", torch.device("cpu"))
model.safetensors contains the encoder, adapter, normalization statistics, and model configuration.
embeddings.parquet contains beatmap IDs, vectors, densities, and embedded pooling/retrieval metadata.
The index records its model's SHA-256 checksum. Keep the two files together for online queries.
data/ contains the metadata and strain catalogs required by the API.
See the source repository for the training pipeline, acknowledgements, limitations and evaluation tools.