Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| import argbind | |
| import audiotools as at | |
| import tqdm | |
| def split_long_audio_file(file: str = None, max_chunk_size_s: int = 60 * 10): | |
| file = Path(file) | |
| output_dir = file.parent / file.stem | |
| output_dir.mkdir() | |
| sig = at.AudioSignal(file) | |
| # split into chunks | |
| for i, sig in tqdm.tqdm( | |
| enumerate( | |
| sig.windows( | |
| window_duration=max_chunk_size_s, | |
| hop_duration=max_chunk_size_s / 2, | |
| preprocess=True, | |
| ) | |
| ) | |
| ): | |
| sig.write(output_dir / f"{i}.wav") | |
| print(f"wrote {len(list(output_dir.glob('*.wav')))} files to {output_dir}") | |
| return output_dir | |
| if __name__ == "__main__": | |
| args = argbind.parse_args() | |
| with argbind.scope(args): | |
| split_long_audio_file() | |