Spaces:
Sleeping
Sleeping
File size: 2,066 Bytes
459dab4 |
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import argparse
import os
from pathlib import Path
import time
from scipy.io import wavfile
from tqdm import tqdm
from project_settings import project_path
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--audio_dir",
default=(project_path / "data/calling/358/wav_2ch").as_posix(),
type=str
)
parser.add_argument(
"--output_dir",
default=(project_path / "data/calling/358/wav_1ch").as_posix(),
type=str
)
args = parser.parse_args()
return args
def main():
args = get_args()
audio_dir = Path(args.audio_dir)
output_dir = Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
finished = set()
for filename in tqdm(list(output_dir.glob("*.wav"))):
splits = filename.stem.split("_")
call_id = splits[3]
finished.add(call_id)
print(f"finished count: {len(finished)}")
for filename in tqdm(list(audio_dir.glob("*.wav"))):
call_id = filename.stem
if call_id in finished:
os.remove(filename.as_posix())
continue
finished.add(call_id)
try:
sample_rate, signal = wavfile.read(filename.as_posix())
except UnboundLocalError as error:
print(f"wavfile read failed. error type: {type(error)}, text: {str(error)}, filename: {filename.as_posix()}")
raise error
if sample_rate != 8000:
raise AssertionError
signal = signal[:, 0]
to_filename = output_dir / f"active_media_r_{call_id}_fi-FI_none.wav"
try:
wavfile.write(
to_filename.as_posix(),
sample_rate,
signal
)
os.remove(filename.as_posix())
except OSError as error:
print(f"wavfile write failed. error type: {type(error)}, text: {str(error)}, filename: {filename.as_posix()}")
raise error
return
if __name__ == "__main__":
main()
|