Commit 674bfd1b authored by Jan Kiene's avatar Jan Kiene
Browse files

change result collection

parent 01cda9cb
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ from tkinter import W
import numpy as np
import sys
import re
import pprint

PYAUDIO3DTOOLS_PATH = "./scripts/"
sys.path.append(PYAUDIO3DTOOLS_PATH)
@@ -124,7 +125,10 @@ def main():
        run_cmd_nodelaycmp.extend(["-D=-NO_DELAY_CMP", "-E=-NO_DELAY_CMP"])
        subprocess.call(run_cmd_nodelaycmp)

    get_delay_for_folders(outfolder_delaycmp, outfolder_nodelaycmp)
    delays = get_delay_for_folders(outfolder_delaycmp, outfolder_nodelaycmp)

    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint(delays)


def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str):
@@ -149,7 +153,7 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str):

    assert files_delay_cmp == files_no_delay_cmp

    delays_for_samplerates = dict()
    delays = dict()
    for f in files_delay_cmp:

        f_cmp = folder_path_delay_cmp.joinpath("dec", f)
@@ -158,19 +162,16 @@ def get_delay_for_folders(folder_delay_cmp: str, folder_no_delay_cmp: str):
        s_cmp, fs = audiofile.readfile(f_cmp)
        s_no_cmp, fs = audiofile.readfile(f_no_cmp)

        delay = audioarray.getdelay(s_cmp, s_no_cmp)
        delay = audioarray.getdelay(s_cmp, s_no_cmp) / fs

        match = re.search("b[0-9_]*_[fb|swb|wb|nb]+", f)
        bitrate = match.group()[1:-3].replace("_", ".")
        search_prefix = "delay_test_file_[a-zA-Z]*_"
        op_name = re.sub(search_prefix, "", f).split(".wav")[0]

        if fs not in delays_for_samplerates:
            delays_for_samplerates[fs] = dict()
        delays_for_samplerates[fs][bitrate] = delay
        if delay not in delays:
            delays[delay] = list()
        delays[delay].append(op_name)

    for fs, fs_dict in delays_for_samplerates.items():
        unique_values = np.unique(list(fs_dict.values()))
        unique_values = [v / fs for v in unique_values]
        print(f"Values for {fs}: {unique_values}")
    return delays


if __name__ == "__main__":