CoolFace
Datasetpublic

moonshine-ai/atcosim-speaker-disjoint-splits

ATCOSIM speaker-disjoint splits (metadata only) This dataset contains no audio and no transcripts. It is a split definition: one row per ATCOSIM utterance, giving its speaker, its recording session, its duration, and which half of a speaker-disjoint evaluation it belongs to. The audio and transcriptions are not here because they cannot be redistributed. The ATCOSIM corpus manual §5.2 states that the corpus is "provided free of charge" and "permitted to use ... for research and… See the full description on the dataset page: https://huggingface.co/datasets/moonshine-ai/atcosim-speaker-disjoint-splits.

sourceHugging Faceotherupdated 2mo agoView on Hugging Face
0likes24downloads
Dataset Card

ATCOSIM speaker-disjoint splits (metadata only)

This dataset contains no audio and no transcripts. It is a split definition: one row per ATCOSIM utterance, giving its speaker, its recording session, its duration, and which half of a speaker-disjoint evaluation it belongs to.

The audio and transcriptions are not here because they cannot be redistributed. The ATCOSIM corpus manual §5.2 states that the corpus is "provided free of charge" and "permitted to use ... for research and development, also in a commercial environment", but that redistribution is allowed only "within the own organisation", with distribution rights granted solely to ELRA. Its title page puts it plainly: the corpus is "freely available to the public, except for redistribution to third parties." So we publish the part we created — the split — and point you at the copyright holders for the part we did not.

Why this exists

ATCOSIM's most widely used HuggingFace mirror ships a train/test split that is utterance-random rather than speaker-disjoint. There are only ten speakers, and all four that appear in the scored test split also appear in train. Train an adapter on the train split, score it on the test split, and the model has already heard every voice it is being tested on. Nothing in the corpus or the mirror warns you about this.

It is not a small effect. Adapting Moonshine Streaming Tiny with a rank-8 LoRA adapter on one hour of ATCOSIM audio:

training rowsATCOSIM WER
baseline, no adaptation90.04%
1 h from the published train split (test speakers included)34.43%
1 h speaker-disjoint (this dataset's speaker_disjoint_train)40.83%

So 6.4 WER points of the apparent domain-adaptation win is speaker adaptation. Both numbers are real and useful — a customer who sends audio from the operators who will actually use the system genuinely gets the better one — but only the second is a domain-adaptation result, and only the second is what you should quote when comparing adaptation methods.

Columns

columnmeaning
idATCOSIM utterance id, e.g. atcosim_sm1_01_001_000000_000329
speakerspeaker code parsed from the id (10 total: gf1, gm1, gm2, sm1–sm4, zf1–zf3)
sessionrecording session, <speaker>_<session>
source_splittrain or test, as published by the mirror
duration_sutterance duration in seconds
scoredtrue for the 1,901 utterances the evaluation scores (source_split == test)
speaker_disjoint_traintrue for the 3,858 training utterances whose speaker never appears in the scored split

Totals: 9,539 utterances over 10 speakers.

subsetutteranceshours
scored1,9012.05
speaker_disjoint_train3,8584.27
train rows from scored speakers (excluded)3,7804.12

Using it

Obtain the corpus itself from TU Graz (free, ~2.5 GB ISO) or via ELRA, then join on id. If you already work from the Jzuluaga/atcosim_corpus mirror, the id column matches it exactly.

python
import datasets, pandas as pd

splits = pd.read_csv("hf://datasets/moonshine-ai/atcosim-speaker-disjoint-splits/atcosim_splits.csv")
keep = set(splits.loc[splits.speaker_disjoint_train, "id"])

corpus = datasets.load_dataset("Jzuluaga/atcosim_corpus", split="train")
train = corpus.filter(lambda row: row["id"] in keep)   # 3,858 utts / 4.27 h

The split is also derivable in code without this file, since the speaker is encoded in the id — that is how it was produced, and publishing it here just makes the arms citable and lets you check the counts without downloading 2.4 GB of audio.

Provenance

Generated by scripts/lora/make_split_metadata.py in Moonshine's training repository, which reads only the id and duration columns of the mirror's parquet shards. The adaptation results quoted above are documented in that repository's docs/EXPERIMENTS.md §43.

The split definition and this card may be used freely, with attribution appreciated. They say nothing about your rights to the underlying corpus, which are set by its copyright holders — EUROCONTROL Experimental Centre and Graz University of Technology.

Citing the corpus

bibtex
@inproceedings{hofbauer-etal-2008-atcosim,
    title = "The {ATCOSIM} Corpus of Non-Prompted Clean Air Traffic Control Speech",
    author = "Hofbauer, Konrad and Petrik, Stefan and Hering, Horst",
    booktitle = "Proceedings of the Sixth International Conference on Language
                 Resources and Evaluation (LREC'08)",
    year = "2008",
    address = "Marrakech, Morocco",
    publisher = "European Language Resources Association (ELRA)",
    url = "http://www.lrec-conf.org/proceedings/lrec2008/pdf/545_paper.pdf",
}