INNER CODE UNIT · Python
split_audio
flashlight/wav2letter · data/ami/utils.py:21
def split_audio(line):
apath, meetid, hset, spk, start, end, transcript = line.strip().split(" ", 6)
key = "_".join([meetid, hset, spk, start, end])
os.makedirs(os.path.join(apath, "segments", meetid), exist_ok=True)
idx = hset[-1]
fn = f"{meetid}.Headset-{idx}.wav"
infile = os.path.join(apath, meetid, fn)
assert os.path.exists(infile), f"{infile} doesn't exist"
new_path = os.path.join(apath, "segments", meetid, key + ".flac")
sox_tfm = sox.Transformer()
sox_tfm.set_output_format(
file_type="flac", encoding="signed-integer", bits=16, rate=16000
)
start = float(start)
end = float(end)
sox_tfm.trim(start, end)
sox_tfm.build(infile, new_path)
sx_dur = sox.file_info.duration(new_path)