Loading ci/delay_measurement_test.py +33 −24 Original line number Diff line number Diff line Loading @@ -5,13 +5,9 @@ # 4 run all modes without delay compenstaion # 5 measure delay for all channels and report/compare to expected delay import subprocess import os import json from tkinter import W import numpy as np import sys import re import pprint import pandas as pd PYAUDIO3DTOOLS_PATH = "./scripts/" sys.path.append(PYAUDIO3DTOOLS_PATH) Loading Loading @@ -39,7 +35,6 @@ OC_TO_NCHANNELS = { "MASA1TC": 1, "MASA2TC": 2, } FORMATS = [ "mono", "stereo", Loading @@ -53,8 +48,6 @@ FORMATS = [ "MASA1TC", "MASA2TC", ] TEST_FILE = "./delay_test_file_{}.pcm" CFG = "ci/delay_test_linux.json" Loading @@ -81,11 +74,8 @@ def get_modes(format: str) -> list: def main(): formats = list(OC_TO_NCHANNELS.keys()) # for testing # TODO: MASA - need metadata for form in FORMATS[:-2]: print(form) # generate test signal test_file = TEST_FILE.format(form) Loading @@ -101,7 +91,6 @@ def main(): subprocess.call(gen_cmd) modes_list = get_modes(form) print(modes_list) # run format outfolder_delaycmp = "out_delay_cmp" Loading @@ -126,9 +115,7 @@ def main(): subprocess.call(run_cmd_nodelaycmp) delays = get_delay_for_folders(outfolder_delaycmp, outfolder_nodelaycmp) pp = pprint.PrettyPrinter(indent=4) pp.pprint(delays) delays.to_csv("delay_test_results.csv") def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): Loading @@ -153,7 +140,15 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): assert files_delay_cmp == files_no_delay_cmp delays = dict() output = { "format": list(), "fs": list(), "bitrate": list(), "bandwidth": list(), "delay": list(), "file": list() } for f in files_delay_cmp: f_cmp = folder_path_delay_cmp.joinpath("dec", f) Loading @@ -164,14 +159,28 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): delay = audioarray.getdelay(s_cmp, s_no_cmp) / fs search_prefix = "delay_test_file_[a-zA-Z]*_" search_prefix = "delay_test_file_(([0-9_]+)|[a-zA-Z0-9]+_)" op_name = re.sub(search_prefix, "", f).split(".wav")[0] if delay not in delays: delays[delay] = list() delays[delay].append(op_name) return delays op_name_split = op_name.split("_b") search_br = "b[0-9]+(_[0-9])*" br = float(re.search(search_br, op_name).group()[1:].replace("_", ".")) bw = "fb" if "_swb_" in op_name: bw = "swb" elif "_wb_" in op_name: bw = "wb" elif "_nb_" in op_name: bw = "nb" output["format"].append(op_name_split[0]) output["fs"].append(fs) output["bitrate"].append(br) output["bandwidth"].append(bw) output["delay"].append(delay) return pd.DataFrame(output) if __name__ == "__main__": Loading Loading
ci/delay_measurement_test.py +33 −24 Original line number Diff line number Diff line Loading @@ -5,13 +5,9 @@ # 4 run all modes without delay compenstaion # 5 measure delay for all channels and report/compare to expected delay import subprocess import os import json from tkinter import W import numpy as np import sys import re import pprint import pandas as pd PYAUDIO3DTOOLS_PATH = "./scripts/" sys.path.append(PYAUDIO3DTOOLS_PATH) Loading Loading @@ -39,7 +35,6 @@ OC_TO_NCHANNELS = { "MASA1TC": 1, "MASA2TC": 2, } FORMATS = [ "mono", "stereo", Loading @@ -53,8 +48,6 @@ FORMATS = [ "MASA1TC", "MASA2TC", ] TEST_FILE = "./delay_test_file_{}.pcm" CFG = "ci/delay_test_linux.json" Loading @@ -81,11 +74,8 @@ def get_modes(format: str) -> list: def main(): formats = list(OC_TO_NCHANNELS.keys()) # for testing # TODO: MASA - need metadata for form in FORMATS[:-2]: print(form) # generate test signal test_file = TEST_FILE.format(form) Loading @@ -101,7 +91,6 @@ def main(): subprocess.call(gen_cmd) modes_list = get_modes(form) print(modes_list) # run format outfolder_delaycmp = "out_delay_cmp" Loading @@ -126,9 +115,7 @@ def main(): subprocess.call(run_cmd_nodelaycmp) delays = get_delay_for_folders(outfolder_delaycmp, outfolder_nodelaycmp) pp = pprint.PrettyPrinter(indent=4) pp.pprint(delays) delays.to_csv("delay_test_results.csv") def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): Loading @@ -153,7 +140,15 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): assert files_delay_cmp == files_no_delay_cmp delays = dict() output = { "format": list(), "fs": list(), "bitrate": list(), "bandwidth": list(), "delay": list(), "file": list() } for f in files_delay_cmp: f_cmp = folder_path_delay_cmp.joinpath("dec", f) Loading @@ -164,14 +159,28 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str): delay = audioarray.getdelay(s_cmp, s_no_cmp) / fs search_prefix = "delay_test_file_[a-zA-Z]*_" search_prefix = "delay_test_file_(([0-9_]+)|[a-zA-Z0-9]+_)" op_name = re.sub(search_prefix, "", f).split(".wav")[0] if delay not in delays: delays[delay] = list() delays[delay].append(op_name) return delays op_name_split = op_name.split("_b") search_br = "b[0-9]+(_[0-9])*" br = float(re.search(search_br, op_name).group()[1:].replace("_", ".")) bw = "fb" if "_swb_" in op_name: bw = "swb" elif "_wb_" in op_name: bw = "wb" elif "_nb_" in op_name: bw = "nb" output["format"].append(op_name_split[0]) output["fs"].append(fs) output["bitrate"].append(br) output["bandwidth"].append(bw) output["delay"].append(delay) return pd.DataFrame(output) if __name__ == "__main__": Loading