wham / vampnet /scripts /utils /remove_quiet_files.py
orrp
Refactoring, linting, switching to pyproject.toml and Docker
9583919
# removes files with loudness below 24db
import shutil
from pathlib import Path
import argbind
import audiotools as at
@argbind.bind(without_prefix=True)
def remove_quiet_files(
src_dir: Path = None,
dest_dir: Path = None,
min_loudness: float = -30,
):
# copy src to dest
dest_dir.mkdir(parents=True, exist_ok=True)
shutil.copytree(src_dir, dest_dir, dirs_exist_ok=True)
audio_files = at.util.find_audio(dest_dir)
for audio_file in audio_files:
sig = at.AudioSignal(audio_file)
if sig.loudness() < min_loudness:
audio_file.unlink()
print(f"removed {audio_file}")
if __name__ == "__main__":
args = argbind.parse_args()
with argbind.scope(args):
remove_quiet_files()