diff --git a/tests/scale_pcm.py b/tests/scale_pcm.py index b44fa33e04d42d50ac0311e67ce52d281ab24ba5..9aef914da1db574c84c54c0dc7f7d7097691f0ec 100755 --- a/tests/scale_pcm.py +++ b/tests/scale_pcm.py @@ -3,6 +3,7 @@ import os import sys import argparse +import pathlib THIS_PATH = os.path.join(os.getcwd(), __file__) sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) @@ -10,9 +11,16 @@ sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) import pyaudio3dtools import pyivastest import numpy as np +import concurrent.futures -def scale_pcm(file1, file2, factor = 1.0) -> None: +def scale_folder(folder, factor): + + files = list(folder.glob("*.wav")) + with concurrent.futures.ThreadPoolExecutor() as executor: + executor.map(scale_file, files, files, [factor] * len(files)) + +def scale_file(file1, file2, factor = 1.0) -> None: """ Scale file1 to file2 """ @@ -22,10 +30,9 @@ def scale_pcm(file1, file2, factor = 1.0) -> None: if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument("file1", type=str) - parser.add_argument("file2", type=str) + parser.add_argument("folder", type=pathlib.Path) parser.add_argument("factor", type=float) args = parser.parse_args() - scale_pcm(**vars(args)) + scale_folder(**vars(args)) sys.exit(0)