CoolFace
Datasetpublic

issai/KazMix-3

KazMix-3 Kazakh three-speaker overlapping-speech dataset for target-speaker ASR (TS-ASR), released with the Persona-ASR project. Given a short enrollment utterance of a target speaker and a 3-speaker mixture, the task is to transcribe only the target speaker, or reject the utterance when the target is absent. This repository ships the mixture manifests and generation scripts, not the audio. Mixtures are derived from the Kazakh Speech Dataset (KSD, OpenSLR 140); download KSD and… See the full description on the dataset page: https://huggingface.co/datasets/issai/KazMix-3.

sourceHugging Facecc-by-4.0updated 10d agoView on Hugging Face
0likes41downloads
Dataset Card

KazMix-3

Kazakh three-speaker overlapping-speech dataset for target-speaker ASR (TS-ASR), released with the Persona-ASR project. Given a short enrollment utterance of a target speaker and a 3-speaker mixture, the task is to transcribe only the target speaker, or reject the utterance when the target is absent.

This repository ships the mixture manifests and generation scripts, not the audio. Mixtures are derived from the Kazakh Speech Dataset (KSD, [OpenSLR 140](https://www.openslr.org/140/)); download KSD and run the scripts to reproduce the audio locally.

Splits

SplitTotalPositive (target present)Negative (target absent)
train_clean_10062,77541,85020,925
val13,5009,0004,500
test13,5009,0004,500

Positive trials contain the enrolled target speaker and carry its transcript; negative trials do not contain the target (the model should emit no target transcript). Speakers are disjoint across splits.

Files

  • train_clean_100_kazakh3mix_lufsfix_posneg.json, val_kazakh3mix_lufsfix_posneg.json, test_clean_kazakh3mix_lufsfix_posneg.json
  • scripts/ — LUFS-uniform 3-speaker mixture generation (rerender_kazakh3mix_lufs_uniform.py) and manifest building.

Manifest fields

FieldDescription
mixture_audio3-speaker mixture (16 kHz)
enrollment_audioTarget-speaker enrollment utterance
transcriptTarget reference transcript (empty for negatives)
speaker_id, target_speaker_id, target_indexTarget identity and its source index in the mixture
sample_type, class, label, is_target_presentPositive/negative trial labels
snr_db, lufs_per_source, clip_scaleMixing SNR and per-source loudness (LUFS-uniform)
s1_path, s2_path, s3_path, source_speaker_ids, clean_source_relSource provenance for regeneration

The full field list is present in each JSON entry.

Mixing protocol

Three-speaker mixtures in the LibriMix clean/max style, loudness-normalized to a uniform LUFS across sources. Each mixture designates one target speaker; the enrollment is a different utterance from that speaker.

Regenerating the audio

KSD audio is not redistributed here. The canonical scripts are in the Persona-ASR repository under data_generation/.

  1. 1.Download KSD (OpenSLR 140) and extract audio2 to audio5.
  2. 2.Point the absolute paths in the manifests at your storage: python data_generation/remap_manifest_paths.py *_lufsfix_posneg.json --from /workspace/LibriMix/storage_dir --to <storage_dir> --out-dir manifests_local
  3. 3.Rebuild the clean source clips the manifests refer to, using kazmix3_clip_to_openslr140.json from this repository, which links every kk_XXXXXXX clip id to its KSD recording: python data_generation/kazmix3/extract_ksd_clips.py --manifests manifests_local/*.json --mapping kazmix3_clip_to_openslr140.json --openslr-root <openslr140_dir> --storage-root <storage_dir>
  4. 4.Re-render the mixtures with the loudness values stored in the manifests: python data_generation/kazmix3/rerender_lufs_uniform.py --use-stored-lufs --in-manifest manifests_local/test_clean_kazakh3mix_lufsfix_posneg.json --out-audio-root <storage_dir>/Kazakh3Mix_lufsfix/wav16k/max/test --out-manifest rendered/test.json

Fidelity. With the original clean clips, step 4 reproduces the released mixtures to within one 16-bit sample value. KazMix-3 was built from a 44.1 kHz copy of KSD, whereas OpenSLR 140 distributes at least part of the corpus at 16 kHz, so clips rebuilt in step 3 are very close to the originals (about 49 dB SNR on a spot check) but not bit-identical. For 755 of the 166,573 clips the OpenSLR filename is ambiguous; the mapping lists their candidate files and step 3 skips them.

License and citation

Manifests and scripts are released under CC BY 4.0; the underlying audio (KSD, OpenSLR 140) retains its own license. Please cite Persona-ASR and KSD.

bibtex
@article{meiramov2026personaasr,
  author  = {Meiramov, Rakhat and Rakhimzhanova, Tomiris and Taibassarov, Adil and Makhataeva, Zhanat and Varol, Huseyin Atakan},
  title   = {Persona-ASR: Bilingual Target-Speaker Speech Recognition for Kazakh--English Overlapping Speech},
  journal = {Machine Learning and Knowledge Extraction},
  year    = {2026},
  volume  = {8},
  number  = {8},
  pages   = {246},
  doi     = {10.3390/make8080246}
}

Funding

This research is funded by the Committee of Science of the Ministry of Science and Higher Education of the Republic of Kazakhstan (Grant No. BR24993001).