Spaces:
Runtime error
Runtime error
| #!/usr/bin/python3 | |
| # -*- coding: utf-8 -*- | |
| import argparse | |
| import librosa | |
| import numpy as np | |
| from pathlib import Path | |
| from fsspec.registry import default | |
| 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/yd").as_posix(), | |
| default=r"C:\Users\tianx\Desktop\sample-audio", | |
| type=str, | |
| ) | |
| parser.add_argument( | |
| "--output_dir", | |
| # default=(project_path / "data/temp_wav").as_posix(), | |
| default=r"C:\Users\tianx\Desktop\sample-audio2", | |
| 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) | |
| max_wave_value = 32768.0 | |
| for filename in tqdm(audio_dir.glob("**/*.wav")): | |
| basename = filename.stem | |
| relative_dir = filename.parent.relative_to(audio_dir) | |
| signal, sample_rate = librosa.load(filename, mono=False, sr=8000) | |
| # print(signal.shape) | |
| # print(signal.dtype) | |
| # exit(0) | |
| if not signal.ndim == 2: | |
| raise AssertionError | |
| signal = signal[0] | |
| signal *= max_wave_value | |
| signal = np.array(signal, dtype=np.int16) | |
| output_filename = output_dir / relative_dir / f"{basename}.wav" | |
| output_filename.parent.mkdir(parents=True, exist_ok=True) | |
| wavfile.write( | |
| output_filename.as_posix(), | |
| 8000, | |
| signal, | |
| ) | |
| return | |
| if __name__ == "__main__": | |
| main() | |