File size: 1,023 Bytes
6eed659
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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)