waxal2026-backup / code /babble_extra.py
Pricile's picture
compactage apres suppression luganda
6eed659
Raw
History Blame Contribute Delete
1.02 kB
#!/usr/bin/env python3
"""Babble lingala et shona depuis les clips TRAIN (moyenne de 4 clips), pour que le
fond sonore ne soit plus un indice de langue lors de l'entrainement du LID robuste."""
import json
import os
import random
import soundfile as sf
random.seed(43)
for lang in ("lin", "sna"):
out = f"/scratch/noise_babble_{lang}"
os.makedirs(out, exist_ok=True)
rows = [json.loads(l) for l in open(f"/scratch/prep/manifests/waxal_{lang}_train.jsonl", encoding="utf-8")]
files = [r["audio"] for r in rows if r["duration"] >= 5.0]
random.shuffle(files)
made = 0
i = 0
while made < 1000 and i + 4 < len(files):
clips = [sf.read(f, dtype="float32")[0] for f in files[i:i + 4]]
i += 4
L = min(len(c) for c in clips)
if L < 16000 * 4:
continue
sf.write(f"{out}/babble_{lang}_{made:05d}.flac", sum(c[:L] for c in clips) / 4.0, 16000)
made += 1
print(f"babble {lang}: {made}", flush=True)
print("BABBLE_EXTRA_DONE", flush=True)